diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f80c87ff4058b..0d246e1992d24 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -330,6 +330,7 @@ examples/discover_customization_examples @elastic/kibana-data-discovery x-pack/plugins/discover_enhanced @elastic/kibana-data-discovery x-pack/plugins/discover_log_explorer @elastic/infra-monitoring-ui src/plugins/discover @elastic/kibana-data-discovery +packages/kbn-discover-utils @elastic/kibana-data-discovery packages/kbn-doc-links @elastic/docs packages/kbn-docs-utils @elastic/kibana-operations packages/kbn-dom-drag-drop @elastic/kibana-visualizations @elastic/kibana-data-discovery @@ -483,6 +484,7 @@ x-pack/plugins/maps @elastic/kibana-gis x-pack/packages/maps/vector_tile_utils @elastic/kibana-gis x-pack/packages/ml/agg_utils @elastic/ml-ui x-pack/packages/ml/anomaly_utils @elastic/ml-ui +x-pack/packages/ml/category_validator @elastic/ml-ui x-pack/packages/ml/data_frame_analytics_utils @elastic/ml-ui x-pack/packages/ml/data_grid @elastic/ml-ui x-pack/packages/ml/date_picker @elastic/ml-ui diff --git a/.i18nrc.json b/.i18nrc.json index db0b984b8eb23..cffc81dd6fc48 100644 --- a/.i18nrc.json +++ b/.i18nrc.json @@ -22,6 +22,7 @@ "defaultNavigation": "packages/default-nav", "devTools": "src/plugins/dev_tools", "discover": "src/plugins/discover", + "discover-utils": "packages/kbn-discover-utils", "savedSearch": "src/plugins/saved_search", "embeddableApi": "src/plugins/embeddable", "embeddableExamples": "examples/embeddable_examples", diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 8c6e45948f685..1a90f438108a9 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions'] --- import actionsObj from './actions.devdocs.json'; diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index 659ffa48f82e7..ada27b8dc1103 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index d925a18321c60..4f572f733c3ad 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index a4dcd2b8fba08..be2a6f48fdf33 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.devdocs.json b/api_docs/apm.devdocs.json index da0788b5bd372..fb9e44cb2f915 100644 --- a/api_docs/apm.devdocs.json +++ b/api_docs/apm.devdocs.json @@ -1021,7 +1021,9 @@ "IndicesGetResponse", "; ingestPipelines: ", "IngestGetPipelineResponse", - "; }; apmIndices: Readonly<{ error: string; onboarding: string; span: string; transaction: string; metric: string; }>; apmIndexTemplates: { name: string; isNonStandard: boolean; exists: boolean; }[]; fleetPackageInfo: { isInstalled: boolean; version?: string | undefined; }; kibanaVersion: string; elasticsearchVersion: string; apmEvents: ", + "; }; diagnosticsPrivileges: { index: Record; cluster: Record; hasAllClusterPrivileges: boolean; hasAllIndexPrivileges: boolean; hasAllPrivileges: boolean; }; apmIndices: Readonly<{ error: string; onboarding: string; span: string; transaction: string; metric: string; }>; apmIndexTemplates: { name: string; isNonStandard: boolean; exists: boolean; }[]; fleetPackageInfo: { isInstalled: boolean; version?: string | undefined; }; kibanaVersion: string; elasticsearchVersion: string; apmEvents: ", "ApmEvent", "[]; invalidIndices: ", "IndiciesItem", diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index fdd912e335084..8f217da9e55d1 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index f0fdcc0c4d8b7..eb2d4d4ef301a 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index 2b8d8dd38930d..ac8f23f3c50c6 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'banners'] --- import bannersObj from './banners.devdocs.json'; diff --git a/api_docs/bfetch.mdx b/api_docs/bfetch.mdx index 3c13787afe113..86738a99aafb0 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'bfetch'] --- import bfetchObj from './bfetch.devdocs.json'; diff --git a/api_docs/canvas.mdx b/api_docs/canvas.mdx index f20752ef3ecb5..11b22a54d1f17 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index 998df05731181..ee2a18276a676 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index b224d9d5250d5..443c49426b7c7 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts'] --- import chartsObj from './charts.devdocs.json'; diff --git a/api_docs/cloud.devdocs.json b/api_docs/cloud.devdocs.json index 5309d0888559a..728a017d66d72 100644 --- a/api_docs/cloud.devdocs.json +++ b/api_docs/cloud.devdocs.json @@ -113,6 +113,34 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "cloud", + "id": "def-public.CloudConfigType.users_and_roles_url", + "type": "string", + "tags": [], + "label": "users_and_roles_url", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/cloud/public/plugin.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "cloud", + "id": "def-public.CloudConfigType.performance_url", + "type": "string", + "tags": [], + "label": "performance_url", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/cloud/public/plugin.tsx", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "cloud", "id": "def-public.CloudConfigType.trial_end_date", @@ -309,6 +337,38 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "cloud", + "id": "def-public.CloudStart.performanceUrl", + "type": "string", + "tags": [], + "label": "performanceUrl", + "description": [ + "\nThe full URL to the performance page on Elastic Cloud. Undefined if not running on Cloud." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/cloud/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "cloud", + "id": "def-public.CloudStart.usersAndRolesUrl", + "type": "string", + "tags": [], + "label": "usersAndRolesUrl", + "description": [ + "\nThe full URL to the users and roles page on Elastic Cloud. Undefined if not running on Cloud." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/cloud/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "cloud", "id": "def-public.CloudStart.elasticsearchUrl", diff --git a/api_docs/cloud.mdx b/api_docs/cloud.mdx index 8c7af5f7ddfaa..d0f6a452e82da 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 61 | 0 | 13 | 0 | +| 65 | 0 | 15 | 0 | ## Client diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index 63527f1e10fc6..8f3441022ba9f 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_chat_provider.mdx b/api_docs/cloud_chat_provider.mdx index 1e4be670d2916..3d0c789a01265 100644 --- a/api_docs/cloud_chat_provider.mdx +++ b/api_docs/cloud_chat_provider.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChatProvider title: "cloudChatProvider" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChatProvider plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChatProvider'] --- import cloudChatProviderObj from './cloud_chat_provider.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index af60cd44b1c63..9dbc96b3518e7 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index f49cbd9c5a580..881bc8badc0f3 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index 761b0051c62c0..d2f5f43d117dc 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index caea84b083d56..f67b73c9899f9 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; diff --git a/api_docs/console.mdx b/api_docs/console.mdx index 99f1d94d1f45a..1b9ffe711104e 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index 35253cc69fbea..e0e86aad66660 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index 1793513b2e37b..7da0827ed7c49 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index 9cc5f9e7ed895..07abd99d7c5a0 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index 5c9a505e9c793..10c671a388afb 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard'] --- import dashboardObj from './dashboard.devdocs.json'; diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx index 9086b04d9d596..602b9218130fc 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.devdocs.json b/api_docs/data.devdocs.json index fa7e3933f6883..14d6f75b5e692 100644 --- a/api_docs/data.devdocs.json +++ b/api_docs/data.devdocs.json @@ -28714,6 +28714,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "data", + "id": "def-common.KQL_TELEMETRY_ROUTE_LATEST_VERSION", + "type": "string", + "tags": [], + "label": "KQL_TELEMETRY_ROUTE_LATEST_VERSION", + "description": [], + "signature": [ + "\"1\"" + ], + "path": "src/plugins/data/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "data", "id": "def-common.META_FIELDS", @@ -28746,6 +28761,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "data", + "id": "def-common.SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION", + "type": "string", + "tags": [], + "label": "SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION", + "description": [], + "signature": [ + "\"1\"" + ], + "path": "src/plugins/data/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "data", "id": "def-common.SourceFilter", diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 51db0fa099496..3e834518a99a0 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3291 | 119 | 2571 | 27 | +| 3293 | 119 | 2573 | 27 | ## Client diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index 289d1bf61d346..8e3cea76b037a 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3291 | 119 | 2571 | 27 | +| 3293 | 119 | 2573 | 27 | ## Client diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index bb6fadd343fa0..44efe7178fe91 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3291 | 119 | 2571 | 27 | +| 3293 | 119 | 2573 | 27 | ## Client diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index ea6d8d385d049..2378f9242f723 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewEditor'] --- import dataViewEditorObj from './data_view_editor.devdocs.json'; diff --git a/api_docs/data_view_field_editor.mdx b/api_docs/data_view_field_editor.mdx index bce356484fb58..e57744dea1ee1 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewFieldEditor'] --- import dataViewFieldEditorObj from './data_view_field_editor.devdocs.json'; diff --git a/api_docs/data_view_management.mdx b/api_docs/data_view_management.mdx index 117d88038bfd6..367c7bce9ce0a 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index 41229fb55fd05..be46fc4faef33 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index d66d6c4dbdb1d..45de3c05476fe 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 37523094d7228..69c4821bf492c 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 7a9b1443fda31..e603799b216ae 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 9e591b1549daf..0e216a1428c62 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index eee0640d021d8..3b6b8f68bb8dd 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index f2d2a26a7264e..4049645c02c6a 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover'] --- import discoverObj from './discover.devdocs.json'; diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx index 56b69bf1d9a2a..dbcb3abc963a4 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index 52b7806f5b047..62b9571c2c4f2 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index ab33cb1a07797..450cc28f279e8 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable'] --- import embeddableObj from './embeddable.devdocs.json'; diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx index 0596510265537..65b67c9246732 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddableEnhanced'] --- import embeddableEnhancedObj from './embeddable_enhanced.devdocs.json'; diff --git a/api_docs/encrypted_saved_objects.mdx b/api_docs/encrypted_saved_objects.mdx index 9f5561f33548a..0cda898b7f1b5 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects'] --- import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json'; diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx index 4158c491895b4..3841c4ef23969 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch'] --- import enterpriseSearchObj from './enterprise_search.devdocs.json'; diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx index 04f1634f33317..ae28686178325 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index e57151329db63..f488894f69410 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index 5b497273b875d..a43cd1b9d549d 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.devdocs.json b/api_docs/exploratory_view.devdocs.json index d057f52840ecc..7a3538c920f49 100644 --- a/api_docs/exploratory_view.devdocs.json +++ b/api_docs/exploratory_view.devdocs.json @@ -2337,158 +2337,7 @@ "functions": [], "interfaces": [], "enums": [], - "misc": [ - { - "parentPluginId": "exploratoryView", - "id": "def-common.NETWORK_TIMINGS_FIELDS", - "type": "Array", - "tags": [], - "label": "NETWORK_TIMINGS_FIELDS", - "description": [], - "signature": [ - "string[]" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_BLOCKED_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_BLOCKED_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.blocked\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_CONNECT_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_CONNECT_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.connect\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_DNS_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_DNS_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.dns\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_RECEIVE_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_RECEIVE_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.receive\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_SEND_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_SEND_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.send\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_SSL_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_SSL_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.ssl\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_STEP_DURATION", - "type": "string", - "tags": [], - "label": "SYNTHETICS_STEP_DURATION", - "description": [], - "signature": [ - "\"synthetics.step.duration.us\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_TOTAL_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_TOTAL_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.total\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "exploratoryView", - "id": "def-common.SYNTHETICS_WAIT_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_WAIT_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.wait\"" - ], - "path": "x-pack/plugins/exploratory_view/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ], + "misc": [], "objects": [] } } \ No newline at end of file diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index 8783e3434d0c3..0fed812d38324 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/uptime](https://github.com/orgs/elastic/teams/uptime) for ques | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 141 | 1 | 141 | 14 | +| 131 | 1 | 131 | 14 | ## Client @@ -43,8 +43,3 @@ Contact [@elastic/uptime](https://github.com/orgs/elastic/teams/uptime) for ques ### Consts, variables and types -## Common - -### Consts, variables and types - - diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index d22d022e09945..c4427275986e4 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionError'] --- import expressionErrorObj from './expression_error.devdocs.json'; diff --git a/api_docs/expression_gauge.mdx b/api_docs/expression_gauge.mdx index bee91a7559b85..8fdcf6e663a4a 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionGauge'] --- import expressionGaugeObj from './expression_gauge.devdocs.json'; diff --git a/api_docs/expression_heatmap.mdx b/api_docs/expression_heatmap.mdx index 03d6400c4be8b..37aa281d8cdae 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionHeatmap'] --- import expressionHeatmapObj from './expression_heatmap.devdocs.json'; diff --git a/api_docs/expression_image.mdx b/api_docs/expression_image.mdx index f68a9666d303a..7c0e6b0ddf594 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionImage'] --- import expressionImageObj from './expression_image.devdocs.json'; diff --git a/api_docs/expression_legacy_metric_vis.mdx b/api_docs/expression_legacy_metric_vis.mdx index 95d1ca610a374..5555ce6682b88 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionLegacyMetricVis'] --- import expressionLegacyMetricVisObj from './expression_legacy_metric_vis.devdocs.json'; diff --git a/api_docs/expression_metric.mdx b/api_docs/expression_metric.mdx index 09cb3ccb6bc91..2c5d887d5e1c1 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetric'] --- import expressionMetricObj from './expression_metric.devdocs.json'; diff --git a/api_docs/expression_metric_vis.mdx b/api_docs/expression_metric_vis.mdx index 21b8dd7cdec50..2a3569c945478 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetricVis'] --- import expressionMetricVisObj from './expression_metric_vis.devdocs.json'; diff --git a/api_docs/expression_partition_vis.mdx b/api_docs/expression_partition_vis.mdx index 408df0698486a..85a9c837a4bed 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionPartitionVis'] --- import expressionPartitionVisObj from './expression_partition_vis.devdocs.json'; diff --git a/api_docs/expression_repeat_image.mdx b/api_docs/expression_repeat_image.mdx index 2bef0057ffcc3..6c7c495176c1f 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRepeatImage'] --- import expressionRepeatImageObj from './expression_repeat_image.devdocs.json'; diff --git a/api_docs/expression_reveal_image.mdx b/api_docs/expression_reveal_image.mdx index 2329de646304e..8d6b3a962cf55 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRevealImage'] --- import expressionRevealImageObj from './expression_reveal_image.devdocs.json'; diff --git a/api_docs/expression_shape.mdx b/api_docs/expression_shape.mdx index 22b250781f63a..2e37123589fd0 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionShape'] --- import expressionShapeObj from './expression_shape.devdocs.json'; diff --git a/api_docs/expression_tagcloud.mdx b/api_docs/expression_tagcloud.mdx index 7f04c185002fd..31c013944842c 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionTagcloud'] --- import expressionTagcloudObj from './expression_tagcloud.devdocs.json'; diff --git a/api_docs/expression_x_y.mdx b/api_docs/expression_x_y.mdx index 6bff07599e530..6016041a08372 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionXY'] --- import expressionXYObj from './expression_x_y.devdocs.json'; diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx index fbc3148365c31..b4df812ccdc9f 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions'] --- import expressionsObj from './expressions.devdocs.json'; diff --git a/api_docs/features.mdx b/api_docs/features.mdx index 8b342e20abea2..0593c1f8a4eeb 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'features'] --- import featuresObj from './features.devdocs.json'; diff --git a/api_docs/field_formats.mdx b/api_docs/field_formats.mdx index cb77366a616d7..919205cfd4d06 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldFormats'] --- import fieldFormatsObj from './field_formats.devdocs.json'; diff --git a/api_docs/file_upload.mdx b/api_docs/file_upload.mdx index 10d05b6a4cd37..9a8a3c0e80c22 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.mdx b/api_docs/files.mdx index 212bd12c24882..c58c9c5c289b4 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx index c072ae6854f2b..6bdabc0622c01 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index f67d4425c41e4..3cb1ab3b267b7 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index cc8a9b93fb41e..b0fc7990b8b13 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch'] --- import globalSearchObj from './global_search.devdocs.json'; diff --git a/api_docs/guided_onboarding.mdx b/api_docs/guided_onboarding.mdx index 610233322e04d..ac375b9b7b563 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.mdx b/api_docs/home.mdx index 8cebec5105bd3..52d7efc2b5a6a 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index eff026a2b54a2..a6f8146f69ccd 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'imageEmbeddable'] --- import imageEmbeddableObj from './image_embeddable.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index da0216eed5dbf..f36a21af77540 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexLifecycleManagement'] --- import indexLifecycleManagementObj from './index_lifecycle_management.devdocs.json'; diff --git a/api_docs/index_management.mdx b/api_docs/index_management.mdx index 69106039d28af..04e6c0d440935 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index b7e06ffc3d9dd..70fdae5eb99ec 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index c13c207150017..056dc525c3d2d 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inspector'] --- import inspectorObj from './inspector.devdocs.json'; diff --git a/api_docs/interactive_setup.mdx b/api_docs/interactive_setup.mdx index b702db57d6e3e..88cb516626bc2 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'interactiveSetup'] --- import interactiveSetupObj from './interactive_setup.devdocs.json'; diff --git a/api_docs/kbn_ace.mdx b/api_docs/kbn_ace.mdx index 7fde6a4caa004..f0b1ac8125a69 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index 043a56042376e..bc334555b1aa6 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components'] --- import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json'; diff --git a/api_docs/kbn_aiops_utils.mdx b/api_docs/kbn_aiops_utils.mdx index c6dfbb817f49f..a8036bc389d02 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index 629ee5572d2ae..5dea7058d1b06 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index b8395ea85bf44..e2a04671470b9 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index 5680a6ed98c96..2cf079067fe89 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared'] --- import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index ec411b1b95ef0..1caad7c236b53 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index eb36cc64e22f8..6786a3e20555b 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx index ec57dfd447602..18b7268e94e55 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-browser'] --- import kbnAnalyticsShippersElasticV3BrowserObj from './kbn_analytics_shippers_elastic_v3_browser.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx index d793dda08a557..c9a2222839380 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-common'] --- import kbnAnalyticsShippersElasticV3CommonObj from './kbn_analytics_shippers_elastic_v3_common.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx index 029d06a7b84ba..dc7e5b31fb9aa 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-server'] --- import kbnAnalyticsShippersElasticV3ServerObj from './kbn_analytics_shippers_elastic_v3_server.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_fullstory.mdx b/api_docs/kbn_analytics_shippers_fullstory.mdx index 59fcee3fd623c..7e2586b857bfa 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory'] --- import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_gainsight.mdx b/api_docs/kbn_analytics_shippers_gainsight.mdx index ae927539334ba..906d37cc4500e 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-gainsight'] --- import kbnAnalyticsShippersGainsightObj from './kbn_analytics_shippers_gainsight.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index 0ecd60ae04bc8..87bc8387602f6 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index 2905b80b6ef11..1026efcc593d2 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index 53979608377a1..5a90edfada6c3 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index 43363f2c9a81d..f72eaaf700903 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-utils'] --- import kbnApmUtilsObj from './kbn_apm_utils.devdocs.json'; diff --git a/api_docs/kbn_axe_config.mdx b/api_docs/kbn_axe_config.mdx index 2b0ab911c33ec..465540b7f3777 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index d9c6d2284bf0f..8156daef98565 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index 7685adc6b5e19..64072dab634c0 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx index 5b12090122718..9f0a9795c7ac7 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common'] --- import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index 5110ccf4d7a6d..6068a6ad63dd3 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-icons'] --- import kbnChartIconsObj from './kbn_chart_icons.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx index 0964f4f404d33..0f773fc80a02f 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-core'] --- import kbnCiStatsCoreObj from './kbn_ci_stats_core.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_performance_metrics.mdx b/api_docs/kbn_ci_stats_performance_metrics.mdx index 1404438438f0c..b69c149465069 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-performance-metrics'] --- import kbnCiStatsPerformanceMetricsObj from './kbn_ci_stats_performance_metrics.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_reporter.mdx b/api_docs/kbn_ci_stats_reporter.mdx index a21de03532024..c5648b752c816 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-reporter'] --- import kbnCiStatsReporterObj from './kbn_ci_stats_reporter.devdocs.json'; diff --git a/api_docs/kbn_cli_dev_mode.mdx b/api_docs/kbn_cli_dev_mode.mdx index bc1726adef480..0b039115ab5ba 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index 265fb18174108..28e25fb186ab9 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index 82616ee4153cd..ac686bb313ac9 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index 83c36d3c21e7a..71eaa23720690 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/coloring'] --- import kbnColoringObj from './kbn_coloring.devdocs.json'; diff --git a/api_docs/kbn_config.mdx b/api_docs/kbn_config.mdx index c1915b7043848..bce195827334a 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config'] --- import kbnConfigObj from './kbn_config.devdocs.json'; diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx index 7cd60bf8329ad..4e717a8ce305e 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-mocks'] --- import kbnConfigMocksObj from './kbn_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_config_schema.mdx b/api_docs/kbn_config_schema.mdx index 0c52961366de2..1d3c0aee0c40a 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index 95cf4fd7f4260..91a85af94590e 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index e9326fedc6272..14fba5860b23f 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index 752f6e9e99e4c..6a0637344a325 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.devdocs.json b/api_docs/kbn_content_management_table_list_view_table.devdocs.json index 35d5364d4b7d2..5ec3703c8de0c 100644 --- a/api_docs/kbn_content_management_table_list_view_table.devdocs.json +++ b/api_docs/kbn_content_management_table_list_view_table.devdocs.json @@ -893,7 +893,9 @@ "type": "CompoundType", "tags": [], "label": "refreshListBouncer", - "description": [], + "description": [ + "Flag to force a new fetch of the table items. Whenever it changes, the `findItems()` will be called." + ], "signature": [ "boolean | undefined" ], diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index b87a96861ee91..579f24aafda9a 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 58 | 0 | 41 | 4 | +| 58 | 0 | 40 | 4 | ## Common diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index 5eb46a5a6ebce..e80beec53d1e9 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index 4c982e298a8fb..ad5dddb9228ec 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser'] --- import kbnCoreAnalyticsBrowserObj from './kbn_core_analytics_browser.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_internal.mdx b/api_docs/kbn_core_analytics_browser_internal.mdx index c7c91653aab88..04f87157221ba 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-internal'] --- import kbnCoreAnalyticsBrowserInternalObj from './kbn_core_analytics_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_mocks.mdx b/api_docs/kbn_core_analytics_browser_mocks.mdx index ba18bd9b46ad0..99cf095a6c6d1 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-mocks'] --- import kbnCoreAnalyticsBrowserMocksObj from './kbn_core_analytics_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server.mdx b/api_docs/kbn_core_analytics_server.mdx index b3ab65551a09f..3586e70f705ea 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server'] --- import kbnCoreAnalyticsServerObj from './kbn_core_analytics_server.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_internal.mdx b/api_docs/kbn_core_analytics_server_internal.mdx index 50d056de0d92a..2cc3bafd9e4ac 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-internal'] --- import kbnCoreAnalyticsServerInternalObj from './kbn_core_analytics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_mocks.mdx b/api_docs/kbn_core_analytics_server_mocks.mdx index 889eec8c3a256..c3ec82b5b2282 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks'] --- import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx index 49be1da66eaf1..91c061f39b1d3 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser'] --- import kbnCoreApplicationBrowserObj from './kbn_core_application_browser.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_internal.mdx b/api_docs/kbn_core_application_browser_internal.mdx index 65b8addf9246a..49eb833296c13 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal'] --- import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx index 2ac2337749903..c87544b1e5a25 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-mocks'] --- import kbnCoreApplicationBrowserMocksObj from './kbn_core_application_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_common.mdx b/api_docs/kbn_core_application_common.mdx index 98fcc104bf0b1..dab591510d827 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-common'] --- import kbnCoreApplicationCommonObj from './kbn_core_application_common.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_internal.mdx b/api_docs/kbn_core_apps_browser_internal.mdx index d57d53092ae9d..f2bf45e93338e 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-internal'] --- import kbnCoreAppsBrowserInternalObj from './kbn_core_apps_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_mocks.mdx b/api_docs/kbn_core_apps_browser_mocks.mdx index 5defc55ea76c3..374c3833291f9 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks'] --- import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx index 157b8e5540975..f128321369741 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] --- import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index 10ed09ea0a846..c5314aa382bcd 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-browser-mocks'] --- import kbnCoreBaseBrowserMocksObj from './kbn_core_base_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_base_common.mdx b/api_docs/kbn_core_base_common.mdx index 90c1bb67edd92..51026e0e05b16 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-common'] --- import kbnCoreBaseCommonObj from './kbn_core_base_common.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_internal.mdx b/api_docs/kbn_core_base_server_internal.mdx index 9a18faf457aed..39ebe8aac03dc 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-internal'] --- import kbnCoreBaseServerInternalObj from './kbn_core_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_mocks.mdx b/api_docs/kbn_core_base_server_mocks.mdx index 2da2a0067bb13..4fb83762ba3cf 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks'] --- import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_browser_mocks.mdx b/api_docs/kbn_core_capabilities_browser_mocks.mdx index 2bfc72a54004f..f7bc27dafc2ca 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-browser-mocks'] --- import kbnCoreCapabilitiesBrowserMocksObj from './kbn_core_capabilities_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx index 054c139be0696..7342d6e95c788 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-common'] --- import kbnCoreCapabilitiesCommonObj from './kbn_core_capabilities_common.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server.mdx b/api_docs/kbn_core_capabilities_server.mdx index a6722aba43552..4d659e4665b74 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server'] --- import kbnCoreCapabilitiesServerObj from './kbn_core_capabilities_server.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server_mocks.mdx b/api_docs/kbn_core_capabilities_server_mocks.mdx index fc4891adb3b99..800d9dbf741eb 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser.devdocs.json b/api_docs/kbn_core_chrome_browser.devdocs.json index 125aa8582db52..cdfc29910c83d 100644 --- a/api_docs/kbn_core_chrome_browser.devdocs.json +++ b/api_docs/kbn_core_chrome_browser.devdocs.json @@ -1620,32 +1620,12 @@ "\nOptional function to get the active state. This function is called whenever the location changes." ], "signature": [ - "((location: ", - "Location", - ") => boolean) | undefined" + "GetIsActiveFn", + " | undefined" ], "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/core-chrome-browser", - "id": "def-common.ChromeProjectNavigationNode.getIsActive.$1", - "type": "Object", - "tags": [], - "label": "location", - "description": [], - "signature": [ - "Location", - "" - ], - "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] + "trackAdoption": false }, { "parentPluginId": "@kbn/core-chrome-browser", @@ -2875,6 +2855,29 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/core-chrome-browser", + "id": "def-common.NodeDefinition.cloudLink", + "type": "CompoundType", + "tags": [], + "label": "cloudLink", + "description": [ + "Cloud link id" + ], + "signature": [ + { + "pluginId": "@kbn/core-chrome-browser", + "scope": "common", + "docId": "kibKbnCoreChromeBrowserPluginApi", + "section": "def-common.CloudLinkId", + "text": "CloudLinkId" + }, + " | undefined" + ], + "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/core-chrome-browser", "id": "def-common.NodeDefinition.icon", @@ -2941,32 +2944,12 @@ "\nOptional function to get the active state. This function is called whenever the location changes." ], "signature": [ - "((location: ", - "Location", - ") => boolean) | undefined" + "GetIsActiveFn", + " | undefined" ], "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/core-chrome-browser", - "id": "def-common.NodeDefinition.getIsActive.$1", - "type": "Object", - "tags": [], - "label": "location", - "description": [], - "signature": [ - "Location", - "" - ], - "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] + "trackAdoption": false }, { "parentPluginId": "@kbn/core-chrome-browser", @@ -3237,6 +3220,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/core-chrome-browser", + "id": "def-common.CloudLinkId", + "type": "Type", + "tags": [], + "label": "CloudLinkId", + "description": [], + "signature": [ + "\"userAndRoles\" | \"performance\" | \"billingAndSub\"" + ], + "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-chrome-browser", "id": "def-common.NodeDefinitionWithChildren", diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index d4cf3a68015c8..10008a79b95ff 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 166 | 0 | 67 | 0 | +| 166 | 0 | 66 | 1 | ## Common diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index 287b3d2e8eadc..f1c3a90c34b8d 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser-mocks'] --- import kbnCoreChromeBrowserMocksObj from './kbn_core_chrome_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx index e7e36b928fe0d..537ac4f6b1a12 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser.mdx b/api_docs/kbn_core_custom_branding_browser.mdx index 362d8ea698015..db14a150b3d2c 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser'] --- import kbnCoreCustomBrandingBrowserObj from './kbn_core_custom_branding_browser.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_internal.mdx b/api_docs/kbn_core_custom_branding_browser_internal.mdx index fb6285bf9610d..e7265d4910ef5 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-internal'] --- import kbnCoreCustomBrandingBrowserInternalObj from './kbn_core_custom_branding_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_mocks.mdx b/api_docs/kbn_core_custom_branding_browser_mocks.mdx index c25761e92d6af..3571c20d7261d 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-mocks'] --- import kbnCoreCustomBrandingBrowserMocksObj from './kbn_core_custom_branding_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_common.mdx b/api_docs/kbn_core_custom_branding_common.mdx index 244862eb1a1ce..15fce44f8cce6 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-common'] --- import kbnCoreCustomBrandingCommonObj from './kbn_core_custom_branding_common.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server.mdx b/api_docs/kbn_core_custom_branding_server.mdx index c39f0c851bf75..79ec4330e0bf4 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server'] --- import kbnCoreCustomBrandingServerObj from './kbn_core_custom_branding_server.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_internal.mdx b/api_docs/kbn_core_custom_branding_server_internal.mdx index f7609e27394af..b09f1dd3231af 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal'] --- import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx index 1029c6db08ed1..ab51951b97857 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-mocks'] --- import kbnCoreCustomBrandingServerMocksObj from './kbn_core_custom_branding_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index 6049927f22262..58bae8a8fff1b 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser'] --- import kbnCoreDeprecationsBrowserObj from './kbn_core_deprecations_browser.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_internal.mdx b/api_docs/kbn_core_deprecations_browser_internal.mdx index d93b31ef24ec2..5c9a4aedefc7c 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-internal'] --- import kbnCoreDeprecationsBrowserInternalObj from './kbn_core_deprecations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_mocks.mdx b/api_docs/kbn_core_deprecations_browser_mocks.mdx index 3841e2767bbd7..e1dabd0500030 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-mocks'] --- import kbnCoreDeprecationsBrowserMocksObj from './kbn_core_deprecations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_common.mdx b/api_docs/kbn_core_deprecations_common.mdx index 2534247707e7d..85cc8e949c1e8 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common'] --- import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server.mdx b/api_docs/kbn_core_deprecations_server.mdx index 0b5d33b4e38b5..fddd1839c8ab8 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server'] --- import kbnCoreDeprecationsServerObj from './kbn_core_deprecations_server.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_internal.mdx b/api_docs/kbn_core_deprecations_server_internal.mdx index 29cd6d34a89fd..eb48650f99f8d 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-internal'] --- import kbnCoreDeprecationsServerInternalObj from './kbn_core_deprecations_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_mocks.mdx b/api_docs/kbn_core_deprecations_server_mocks.mdx index 304c0878d2840..d5ff4a3d046c1 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-mocks'] --- import kbnCoreDeprecationsServerMocksObj from './kbn_core_deprecations_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx index cfd7a922c76c4..34a4a13f3207c 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser'] --- import kbnCoreDocLinksBrowserObj from './kbn_core_doc_links_browser.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser_mocks.mdx b/api_docs/kbn_core_doc_links_browser_mocks.mdx index 50ddea93ba6c4..d96a24d13f988 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser-mocks'] --- import kbnCoreDocLinksBrowserMocksObj from './kbn_core_doc_links_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server.mdx b/api_docs/kbn_core_doc_links_server.mdx index de5892045ce14..2774054d87f93 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server'] --- import kbnCoreDocLinksServerObj from './kbn_core_doc_links_server.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server_mocks.mdx b/api_docs/kbn_core_doc_links_server_mocks.mdx index c3703c48f48f8..33f4dc5b614cd 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server-mocks'] --- import kbnCoreDocLinksServerMocksObj from './kbn_core_doc_links_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx index 1101e448ea23d..693708104eb59 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-internal'] --- import kbnCoreElasticsearchClientServerInternalObj from './kbn_core_elasticsearch_client_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx index 67d7fdfa9a586..b491252512a43 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-mocks'] --- import kbnCoreElasticsearchClientServerMocksObj from './kbn_core_elasticsearch_client_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server.mdx b/api_docs/kbn_core_elasticsearch_server.mdx index aeff482f51043..b1de2e5e386b6 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server'] --- import kbnCoreElasticsearchServerObj from './kbn_core_elasticsearch_server.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_internal.mdx b/api_docs/kbn_core_elasticsearch_server_internal.mdx index 866ce99c93f26..fdc5c565f0e48 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-internal'] --- import kbnCoreElasticsearchServerInternalObj from './kbn_core_elasticsearch_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_server_mocks.mdx index b4e5abe39dde2..be6c47413049b 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-mocks'] --- import kbnCoreElasticsearchServerMocksObj from './kbn_core_elasticsearch_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_internal.mdx b/api_docs/kbn_core_environment_server_internal.mdx index ecdbcffc5e773..99c9c4bc25439 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-internal'] --- import kbnCoreEnvironmentServerInternalObj from './kbn_core_environment_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_mocks.mdx b/api_docs/kbn_core_environment_server_mocks.mdx index 98e23de57282a..09cc3fc9da6e1 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-mocks'] --- import kbnCoreEnvironmentServerMocksObj from './kbn_core_environment_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser.mdx b/api_docs/kbn_core_execution_context_browser.mdx index 236d3d6bc556c..6f9c735369bdb 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser'] --- import kbnCoreExecutionContextBrowserObj from './kbn_core_execution_context_browser.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_internal.mdx b/api_docs/kbn_core_execution_context_browser_internal.mdx index 2cd337fd00d93..df23309a2e83d 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-internal'] --- import kbnCoreExecutionContextBrowserInternalObj from './kbn_core_execution_context_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_mocks.mdx b/api_docs/kbn_core_execution_context_browser_mocks.mdx index 22aa0e8058a78..85c0023e5af62 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-mocks'] --- import kbnCoreExecutionContextBrowserMocksObj from './kbn_core_execution_context_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_common.mdx b/api_docs/kbn_core_execution_context_common.mdx index 676bf2765962f..b16998d843dcf 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-common'] --- import kbnCoreExecutionContextCommonObj from './kbn_core_execution_context_common.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server.mdx b/api_docs/kbn_core_execution_context_server.mdx index 3183fa2743eea..ea1e178ceac21 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server'] --- import kbnCoreExecutionContextServerObj from './kbn_core_execution_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_internal.mdx b/api_docs/kbn_core_execution_context_server_internal.mdx index ef3da3d7cf42e..da1c9170e95ad 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-internal'] --- import kbnCoreExecutionContextServerInternalObj from './kbn_core_execution_context_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_mocks.mdx b/api_docs/kbn_core_execution_context_server_mocks.mdx index 79af222096c33..6b269be8a5a18 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-mocks'] --- import kbnCoreExecutionContextServerMocksObj from './kbn_core_execution_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser.mdx b/api_docs/kbn_core_fatal_errors_browser.mdx index a567236822738..f776722107f9c 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser'] --- import kbnCoreFatalErrorsBrowserObj from './kbn_core_fatal_errors_browser.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx index cb5c671766134..af88f1a65267a 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser-mocks'] --- import kbnCoreFatalErrorsBrowserMocksObj from './kbn_core_fatal_errors_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser.mdx b/api_docs/kbn_core_http_browser.mdx index 072accb2cf451..9272843b37648 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser'] --- import kbnCoreHttpBrowserObj from './kbn_core_http_browser.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_internal.mdx b/api_docs/kbn_core_http_browser_internal.mdx index 330b92bb32e1f..075be58a3bd0b 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-internal'] --- import kbnCoreHttpBrowserInternalObj from './kbn_core_http_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_mocks.mdx b/api_docs/kbn_core_http_browser_mocks.mdx index 333e3eb3729b7..f901350d87a19 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-mocks'] --- import kbnCoreHttpBrowserMocksObj from './kbn_core_http_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_common.mdx b/api_docs/kbn_core_http_common.mdx index 1efeee5864ab8..7178b9fd1e71f 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-common'] --- import kbnCoreHttpCommonObj from './kbn_core_http_common.devdocs.json'; diff --git a/api_docs/kbn_core_http_context_server_mocks.mdx b/api_docs/kbn_core_http_context_server_mocks.mdx index 3b43026376e16..38750f75553b4 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks'] --- import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_request_handler_context_server.mdx b/api_docs/kbn_core_http_request_handler_context_server.mdx index 9b3394b0e5782..482e344b43b9c 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-request-handler-context-server'] --- import kbnCoreHttpRequestHandlerContextServerObj from './kbn_core_http_request_handler_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server.mdx b/api_docs/kbn_core_http_resources_server.mdx index d944832ef224c..14cd8be5aec40 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server'] --- import kbnCoreHttpResourcesServerObj from './kbn_core_http_resources_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_internal.mdx b/api_docs/kbn_core_http_resources_server_internal.mdx index 998e3ecb2b596..259302386dd3f 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal'] --- import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx index c0f6a53bac574..d69967e249d37 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-mocks'] --- import kbnCoreHttpResourcesServerMocksObj from './kbn_core_http_resources_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx index fdc1b2a404ebf..a4e3384b8b91a 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-internal'] --- import kbnCoreHttpRouterServerInternalObj from './kbn_core_http_router_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_mocks.mdx b/api_docs/kbn_core_http_router_server_mocks.mdx index 7af8ac3b08302..a60631e084636 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.devdocs.json b/api_docs/kbn_core_http_server.devdocs.json index ec363d8fadb07..8c727a45ff5ce 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -3495,10 +3495,6 @@ "plugin": "actions", "path": "x-pack/plugins/actions/server/routes/legacy/list_action_types.ts" }, - { - "plugin": "data", - "path": "src/plugins/data/server/scripts/route.ts" - }, { "plugin": "share", "path": "src/plugins/share/server/url_service/http/short_urls/register_get_route.ts" @@ -6285,10 +6281,6 @@ "plugin": "contentManagement", "path": "src/plugins/content_management/server/rpc/routes/routes.ts" }, - { - "plugin": "data", - "path": "src/plugins/data/server/kql_telemetry/route.ts" - }, { "plugin": "share", "path": "src/plugins/share/server/url_service/http/short_urls/register_create_route.ts" @@ -13794,6 +13786,10 @@ "plugin": "data", "path": "src/plugins/data/server/query/routes.ts" }, + { + "plugin": "data", + "path": "src/plugins/data/server/scripts/route.ts" + }, { "plugin": "ml", "path": "x-pack/plugins/ml/server/routes/json_schema.ts" @@ -14734,6 +14730,10 @@ "plugin": "data", "path": "src/plugins/data/server/query/routes.ts" }, + { + "plugin": "data", + "path": "src/plugins/data/server/kql_telemetry/route.ts" + }, { "plugin": "aiops", "path": "x-pack/plugins/aiops/server/routes/explain_log_rate_spikes.ts" diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 1b979e3c5b3f2..0f8effa067b51 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server'] --- import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx index 041638721baa8..25aa04eaff241 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal'] --- import kbnCoreHttpServerInternalObj from './kbn_core_http_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx index f90accc6a4d8c..40058b7a80979 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-mocks'] --- import kbnCoreHttpServerMocksObj from './kbn_core_http_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser.mdx b/api_docs/kbn_core_i18n_browser.mdx index 565e92579e9ab..455dc0d99d37b 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser'] --- import kbnCoreI18nBrowserObj from './kbn_core_i18n_browser.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser_mocks.mdx b/api_docs/kbn_core_i18n_browser_mocks.mdx index 10e05b851ac05..179fee99feb3f 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks'] --- import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server.mdx b/api_docs/kbn_core_i18n_server.mdx index 4d72ddc9dfc1e..612ccba7952cf 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server'] --- import kbnCoreI18nServerObj from './kbn_core_i18n_server.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_internal.mdx b/api_docs/kbn_core_i18n_server_internal.mdx index ae00498d2c66f..fc4846bb53cde 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-internal'] --- import kbnCoreI18nServerInternalObj from './kbn_core_i18n_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_mocks.mdx b/api_docs/kbn_core_i18n_server_mocks.mdx index 642e521b35781..a0b73b5bfd52a 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks'] --- import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index b2b6ac1276961..c77f33837c70c 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser-mocks'] --- import kbnCoreInjectedMetadataBrowserMocksObj from './kbn_core_injected_metadata_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_internal.mdx b/api_docs/kbn_core_integrations_browser_internal.mdx index 0c5f836906698..e777e01e103d6 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-internal'] --- import kbnCoreIntegrationsBrowserInternalObj from './kbn_core_integrations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_mocks.mdx b/api_docs/kbn_core_integrations_browser_mocks.mdx index 0b8ac1349d9ed..aaf152e5883f8 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index 34102a2b4b88c..82e416ab0bd9c 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser'] --- import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx index 5567d2de7814b..d3e447b9553c5 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser-mocks'] --- import kbnCoreLifecycleBrowserMocksObj from './kbn_core_lifecycle_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server.mdx b/api_docs/kbn_core_lifecycle_server.mdx index 9ac808641c90c..6ea9ef23734df 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server'] --- import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx index 1470d39bb8f66..293174093a652 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server-mocks'] --- import kbnCoreLifecycleServerMocksObj from './kbn_core_lifecycle_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_browser_mocks.mdx b/api_docs/kbn_core_logging_browser_mocks.mdx index af1eb990925a4..de794f30de91c 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-browser-mocks'] --- import kbnCoreLoggingBrowserMocksObj from './kbn_core_logging_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_common_internal.mdx b/api_docs/kbn_core_logging_common_internal.mdx index 49b2abaf3a4a4..76fb03d1842bd 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-common-internal'] --- import kbnCoreLoggingCommonInternalObj from './kbn_core_logging_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx index ac3270216024e..c502e40c7f5c1 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server'] --- import kbnCoreLoggingServerObj from './kbn_core_logging_server.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_internal.mdx b/api_docs/kbn_core_logging_server_internal.mdx index f202b36b2f6e5..4751a139878fb 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-internal'] --- import kbnCoreLoggingServerInternalObj from './kbn_core_logging_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_mocks.mdx b/api_docs/kbn_core_logging_server_mocks.mdx index 9e79e07dde15a..9ecb77ebc3a15 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-mocks'] --- import kbnCoreLoggingServerMocksObj from './kbn_core_logging_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_internal.mdx b/api_docs/kbn_core_metrics_collectors_server_internal.mdx index dd381017f2dc6..672c9a3278e42 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-internal'] --- import kbnCoreMetricsCollectorsServerInternalObj from './kbn_core_metrics_collectors_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx index 20af81eeb69ab..8478ca8cb3df7 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-mocks'] --- import kbnCoreMetricsCollectorsServerMocksObj from './kbn_core_metrics_collectors_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server.mdx b/api_docs/kbn_core_metrics_server.mdx index 6ea0bbbc392b2..3cfa5fabd9eef 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server'] --- import kbnCoreMetricsServerObj from './kbn_core_metrics_server.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_internal.mdx b/api_docs/kbn_core_metrics_server_internal.mdx index 2ac3390eb76a2..b81cb766e0ed7 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-internal'] --- import kbnCoreMetricsServerInternalObj from './kbn_core_metrics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_mocks.mdx b/api_docs/kbn_core_metrics_server_mocks.mdx index 66173b5ab1888..a4e6510e00a19 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-mocks'] --- import kbnCoreMetricsServerMocksObj from './kbn_core_metrics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_mount_utils_browser.mdx b/api_docs/kbn_core_mount_utils_browser.mdx index ed1add1daaf58..f229c1e153246 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser'] --- import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json'; diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx index 68f50de9f1454..cea583b9c6c68 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server'] --- import kbnCoreNodeServerObj from './kbn_core_node_server.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_internal.mdx b/api_docs/kbn_core_node_server_internal.mdx index 5599d36241dab..ab1446e113a9a 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-internal'] --- import kbnCoreNodeServerInternalObj from './kbn_core_node_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_mocks.mdx b/api_docs/kbn_core_node_server_mocks.mdx index 5e0e6e282eb86..c52e2f589e430 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-mocks'] --- import kbnCoreNodeServerMocksObj from './kbn_core_node_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser.mdx b/api_docs/kbn_core_notifications_browser.mdx index a173bebb190c7..1c30439970f87 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser'] --- import kbnCoreNotificationsBrowserObj from './kbn_core_notifications_browser.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_internal.mdx b/api_docs/kbn_core_notifications_browser_internal.mdx index 1c04b2e3fddba..ee6b293b717c7 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-internal'] --- import kbnCoreNotificationsBrowserInternalObj from './kbn_core_notifications_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_mocks.mdx b/api_docs/kbn_core_notifications_browser_mocks.mdx index c394f139e5e9e..6da79f1485feb 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-mocks'] --- import kbnCoreNotificationsBrowserMocksObj from './kbn_core_notifications_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser.mdx b/api_docs/kbn_core_overlays_browser.mdx index 7cc3ef83e5a47..eaf76c864b9e6 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser'] --- import kbnCoreOverlaysBrowserObj from './kbn_core_overlays_browser.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_internal.mdx b/api_docs/kbn_core_overlays_browser_internal.mdx index 7a71ad8e1cf7e..c79e0fd3a843f 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-internal'] --- import kbnCoreOverlaysBrowserInternalObj from './kbn_core_overlays_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_mocks.mdx b/api_docs/kbn_core_overlays_browser_mocks.mdx index 20caec205a34a..e9ad5a85c2cdf 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks'] --- import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser.mdx b/api_docs/kbn_core_plugins_browser.mdx index c3d9c7f07f523..138e3c150fc0c 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser'] --- import kbnCorePluginsBrowserObj from './kbn_core_plugins_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser_mocks.mdx b/api_docs/kbn_core_plugins_browser_mocks.mdx index ec62a319db3d5..a0b8534e16736 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 750479149fed7..8f9ee37318a4a 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server'] --- import kbnCorePluginsServerObj from './kbn_core_plugins_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server_mocks.mdx b/api_docs/kbn_core_plugins_server_mocks.mdx index 7d49520aa896d..0b67b76991d17 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server-mocks'] --- import kbnCorePluginsServerMocksObj from './kbn_core_plugins_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx index 50717f04ad56b..6f8b86b4177dc 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server'] --- import kbnCorePrebootServerObj from './kbn_core_preboot_server.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server_mocks.mdx b/api_docs/kbn_core_preboot_server_mocks.mdx index 533569ce1c36a..8642b82249e1d 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks'] --- import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_browser_mocks.mdx b/api_docs/kbn_core_rendering_browser_mocks.mdx index 2bc14e07b216c..07b14cb75756e 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-browser-mocks'] --- import kbnCoreRenderingBrowserMocksObj from './kbn_core_rendering_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_internal.mdx b/api_docs/kbn_core_rendering_server_internal.mdx index e4e16364bd9d7..8d6479f158eb0 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-internal'] --- import kbnCoreRenderingServerInternalObj from './kbn_core_rendering_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_mocks.mdx b/api_docs/kbn_core_rendering_server_mocks.mdx index 540371de2e74b..a7101cba744c8 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks'] --- import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx index 40a4cf22ded1e..c14a42184ab49 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index abf9d8b066fef..75576bcc2fa7f 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-browser'] --- import kbnCoreSavedObjectsApiBrowserObj from './kbn_core_saved_objects_api_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index 445570339188b..6d3542992d454 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index c7b362b597c44..963f59efab475 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index 8a2c5301568b9..39eccbb38aefe 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index 4e3975b725d58..6bc6815fd1f55 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks'] --- import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index e49b46e9aeae0..a6f5b2deac45c 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser'] --- import kbnCoreSavedObjectsBrowserObj from './kbn_core_saved_objects_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_internal.mdx b/api_docs/kbn_core_saved_objects_browser_internal.mdx index dff0b99762170..1ff0d64a34a01 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-internal'] --- import kbnCoreSavedObjectsBrowserInternalObj from './kbn_core_saved_objects_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_mocks.mdx b/api_docs/kbn_core_saved_objects_browser_mocks.mdx index 20e4c4a88df88..2a087961fb44f 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index acbf27dd2bee6..a40cc0f537ea6 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common'] --- import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx index 8c955dd881ae4..4c85eedea0370 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-internal'] --- import kbnCoreSavedObjectsImportExportServerInternalObj from './kbn_core_saved_objects_import_export_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx index 03408e52687c9..88a7f5bc1e2bc 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index 5ec61e50855ea..9f2e8cd230a89 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index b3315dacc6801..60a8428e2d669 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 88a78f577891d..5209b2ddaa749 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index 8514a50b4d946..76ce2289c30eb 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-internal'] --- import kbnCoreSavedObjectsServerInternalObj from './kbn_core_saved_objects_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_mocks.mdx b/api_docs/kbn_core_saved_objects_server_mocks.mdx index 63dd9fac0c554..27395d72eb534 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks'] --- import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index c4ee5b42b247b..46c9b5c2e3ac6 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index cc2546ee00b6e..72a1871c96339 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common'] --- import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json'; diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index 3043175953dfd..e1ab911c1fbdd 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index ac3f6cd3cde00..0ddeffbb06610 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server'] --- import kbnCoreStatusServerObj from './kbn_core_status_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_internal.mdx b/api_docs/kbn_core_status_server_internal.mdx index c97ee6c6e3901..046dde8ec85cd 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-internal'] --- import kbnCoreStatusServerInternalObj from './kbn_core_status_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_mocks.mdx b/api_docs/kbn_core_status_server_mocks.mdx index 18101fbdc4c6a..88feaa6d5bee0 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-mocks'] --- import kbnCoreStatusServerMocksObj from './kbn_core_status_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx index 3a56072e09cfd..dfe8a2750f42a 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-deprecations-getters'] --- import kbnCoreTestHelpersDeprecationsGettersObj from './kbn_core_test_helpers_deprecations_getters.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx index 62b15f048f46e..e002f180a6621 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser'] --- import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx index 4de09c81c2467..62cd44943a8f6 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 50658c724fe44..60bbe06d97830 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer'] --- import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index d99e35c6b25d7..b7ae8cb879a8c 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index 4d87680e023e0..2b84287cfd62a 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_internal.mdx b/api_docs/kbn_core_theme_browser_internal.mdx index 65bcf6fa2c6d8..5e2d5d6d4da16 100644 --- a/api_docs/kbn_core_theme_browser_internal.mdx +++ b/api_docs/kbn_core_theme_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-internal title: "@kbn/core-theme-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-internal'] --- import kbnCoreThemeBrowserInternalObj from './kbn_core_theme_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index 51b1e05bae400..4160511de748a 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-mocks'] --- import kbnCoreThemeBrowserMocksObj from './kbn_core_theme_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser.mdx b/api_docs/kbn_core_ui_settings_browser.mdx index 16cd20f3f0c52..48aa890d1f251 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser'] --- import kbnCoreUiSettingsBrowserObj from './kbn_core_ui_settings_browser.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_internal.mdx b/api_docs/kbn_core_ui_settings_browser_internal.mdx index a8de5e5d5fcef..9ef298259847e 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-internal'] --- import kbnCoreUiSettingsBrowserInternalObj from './kbn_core_ui_settings_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_mocks.mdx b/api_docs/kbn_core_ui_settings_browser_mocks.mdx index 5c6ba1704dbfb..b3ff8683276d0 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-mocks'] --- import kbnCoreUiSettingsBrowserMocksObj from './kbn_core_ui_settings_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_common.mdx b/api_docs/kbn_core_ui_settings_common.mdx index ec4c340a14cf6..5754bac84f36a 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common'] --- import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server.mdx b/api_docs/kbn_core_ui_settings_server.mdx index 8175442173cb9..61066c415c5db 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server'] --- import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx index 22fa49b318d90..3557beb014c0e 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-internal'] --- import kbnCoreUiSettingsServerInternalObj from './kbn_core_ui_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_mocks.mdx b/api_docs/kbn_core_ui_settings_server_mocks.mdx index 373b288cc72fa..3717beafe8cfc 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks'] --- import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index 2c59177c7b21d..60885b2979880 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index d96001e8d4eaa..9ee9a4e162e6b 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal'] --- import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx index 0fb8c70cd8d9f..c582d504f27ae 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index 238ae61a501b0..c158a913ad5fe 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index c00c5fbd8cf13..dee69bdfbf0b0 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index 8c31623fabfff..fac7351606210 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index b0a1de5b5af59..f1817d2748f13 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto'] --- import kbnCryptoObj from './kbn_crypto.devdocs.json'; diff --git a/api_docs/kbn_crypto_browser.mdx b/api_docs/kbn_crypto_browser.mdx index 8aec175e147d0..4e3e6408f5378 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index fdfe2b09019e0..50263e3485ffb 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index e56fb02b0c363..09c4f31520d1d 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index 145528d256c47..51ffd7d6ef6fe 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index 73b3d5b61c823..c59b1a5aaa1ff 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index c2c616b165bc5..86db0bd134e5a 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index 503876303ca6b..a06bcd2d66016 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index 5ca3ac071fc5a..032dd494fee18 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index cf455bca54e38..496e12b766576 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index 8cac3543b1027..66d43dbecafc4 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index c72dd47253f74..178aa9ff65159 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index 14eea9458925b..5ab785899229e 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index 31f1489f110be..8afbb4ba9e872 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index 435c434182642..4089fa7214f3f 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index 9a446ec2f4266..2ae0cb5a98526 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-errors'] --- import kbnDevCliErrorsObj from './kbn_dev_cli_errors.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_runner.mdx b/api_docs/kbn_dev_cli_runner.mdx index 108b57349a132..2fe2e5abdd2b6 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-runner'] --- import kbnDevCliRunnerObj from './kbn_dev_cli_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_proc_runner.mdx b/api_docs/kbn_dev_proc_runner.mdx index 17492c16f1e3a..a46aa9747f4bb 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-proc-runner'] --- import kbnDevProcRunnerObj from './kbn_dev_proc_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_utils.mdx b/api_docs/kbn_dev_utils.mdx index 2058fa074df2a..4585f5652f61f 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.devdocs.json b/api_docs/kbn_discover_utils.devdocs.json new file mode 100644 index 0000000000000..c17b301887dad --- /dev/null +++ b/api_docs/kbn_discover_utils.devdocs.json @@ -0,0 +1,229 @@ +{ + "id": "@kbn/discover-utils", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.buildDataTableRecord", + "type": "Function", + "tags": [], + "label": "buildDataTableRecord", + "description": [ + "\nBuild a record for data table, explorer + classic one" + ], + "signature": [ + "(doc: ", + "EsHitRecord", + ", dataView: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | undefined, isAnchor: boolean | undefined) => ", + "DataTableRecord" + ], + "path": "packages/kbn-discover-utils/src/utils/build_data_record.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.buildDataTableRecord.$1", + "type": "Object", + "tags": [], + "label": "doc", + "description": [ + "the document returned from Elasticsearch" + ], + "signature": [ + "EsHitRecord" + ], + "path": "packages/kbn-discover-utils/src/utils/build_data_record.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.buildDataTableRecord.$2", + "type": "Object", + "tags": [], + "label": "dataView", + "description": [ + "this current data view" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | undefined" + ], + "path": "packages/kbn-discover-utils/src/utils/build_data_record.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.buildDataTableRecord.$3", + "type": "CompoundType", + "tags": [], + "label": "isAnchor", + "description": [ + "determines if the given doc is the anchor doc when viewing surrounding documents" + ], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-discover-utils/src/utils/build_data_record.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.buildDataTableRecordList", + "type": "Function", + "tags": [], + "label": "buildDataTableRecordList", + "description": [ + "\nHelper to build multiple DataTableRecords at once, saved a bit of testing code lines" + ], + "signature": [ + "(docs: ", + "EsHitRecord", + "[], dataView: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | undefined) => ", + "DataTableRecord", + "[]" + ], + "path": "packages/kbn-discover-utils/src/utils/build_data_record.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.buildDataTableRecordList.$1", + "type": "Array", + "tags": [], + "label": "docs", + "description": [ + "Array of documents returned from Elasticsearch" + ], + "signature": [ + "EsHitRecord", + "[]" + ], + "path": "packages/kbn-discover-utils/src/utils/build_data_record.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.buildDataTableRecordList.$2", + "type": "Object", + "tags": [], + "label": "dataView", + "description": [ + "this current data view" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | undefined" + ], + "path": "packages/kbn-discover-utils/src/utils/build_data_record.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.getDocId", + "type": "Function", + "tags": [], + "label": "getDocId", + "description": [ + "\nReturning a generated id of a given ES document, since `_id` can be the same\nwhen using different indices and shard routing" + ], + "signature": [ + "(doc: ", + "EsHitRecord", + " & { _routing?: string | undefined; }) => string" + ], + "path": "packages/kbn-discover-utils/src/utils/get_doc_id.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/discover-utils", + "id": "def-common.getDocId.$1", + "type": "CompoundType", + "tags": [], + "label": "doc", + "description": [], + "signature": [ + "EsHitRecord", + " & { _routing?: string | undefined; }" + ], + "path": "packages/kbn-discover-utils/src/utils/get_doc_id.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx new file mode 100644 index 0000000000000..a87c7f2939d28 --- /dev/null +++ b/api_docs/kbn_discover_utils.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnDiscoverUtilsPluginApi +slug: /kibana-dev-docs/api/kbn-discover-utils +title: "@kbn/discover-utils" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/discover-utils plugin +date: 2023-07-19 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] +--- +import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; + + + +Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 9 | 0 | 1 | 2 | + +## Common + +### Functions + + diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 26bdea6148221..8a8edf016d9b5 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/doc-links'] --- import kbnDocLinksObj from './kbn_doc_links.devdocs.json'; diff --git a/api_docs/kbn_docs_utils.mdx b/api_docs/kbn_docs_utils.mdx index 2f53e5ec81609..43e12cd0c5154 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index 3f9fc374ccc2a..bb69015e41284 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index d27e70f7d915c..7c810a7bc4190 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx index 4522207aceb37..51a5dbf79fa22 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index 0939eacafac3f..c45ce4e7ce227 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index c094e420ac63c..5ef4409238675 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 8cd3319d0a144..7cadc3163f303 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es'] --- import kbnEsObj from './kbn_es.devdocs.json'; diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx index 27a3e80c9a301..9863bb8da449b 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-archiver'] --- import kbnEsArchiverObj from './kbn_es_archiver.devdocs.json'; diff --git a/api_docs/kbn_es_errors.mdx b/api_docs/kbn_es_errors.mdx index 917c281115ca9..90f498308e003 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-errors'] --- import kbnEsErrorsObj from './kbn_es_errors.devdocs.json'; diff --git a/api_docs/kbn_es_query.mdx b/api_docs/kbn_es_query.mdx index 0cdc2fffbe4e9..b78f79efc78fd 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 296353fb09f5d..e1a605f04590d 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index a7c8a29fe6e85..bcee188e3341a 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index 6d8621c0d4042..6db1086f130ac 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index 6e1abf87c2821..33453c5108d8d 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 7ae737f48afd0..96a96da5550b0 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index e2fc4a1a0bbd3..120036fb4d448 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index c313524e58a8f..ce5a3651af598 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index e94a78f083db3..a13fa98ed2e20 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index ac124430b754a..9c5f7981295c3 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index 281d4ef2bff0b..130bd31dbd5ea 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 6777af841ba76..6e4cc2a6b3d33 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index d3ddc3033b172..d1d8548c9f5e3 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/handlebars'] --- import kbnHandlebarsObj from './kbn_handlebars.devdocs.json'; diff --git a/api_docs/kbn_hapi_mocks.mdx b/api_docs/kbn_hapi_mocks.mdx index 967114b7c9816..83cbe6359c267 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index 60430aaca7c4d..6f0021af14d3b 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index d8c753198de04..c4823ad78470c 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-card'] --- import kbnHomeSampleDataCardObj from './kbn_home_sample_data_card.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_tab.mdx b/api_docs/kbn_home_sample_data_tab.mdx index 791432038ecce..8ba0eb9ffd861 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-tab'] --- import kbnHomeSampleDataTabObj from './kbn_home_sample_data_tab.devdocs.json'; diff --git a/api_docs/kbn_i18n.mdx b/api_docs/kbn_i18n.mdx index 570c5bba2b302..0db4961d076c8 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n'] --- import kbnI18nObj from './kbn_i18n.devdocs.json'; diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx index 65aad58cf21a5..28baafdd3c43e 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react'] --- import kbnI18nReactObj from './kbn_i18n_react.devdocs.json'; diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx index 715f96af8717f..49d8e08d4f553 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index dcd5f433df565..0add72cd8425b 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 96b2b7ef31dac..7f7766b64d0ef 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index ffb3c34a2d652..c4b89d15e2c2b 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index 241ec3e2d6f12..4b41f88a88dd8 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers'] --- import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json'; diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx index 3575ee5cb37ac..ba1e401cec67f 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx index b1bad1e325707..019ead53df78b 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index 51772e55e29c9..751447c6dbf25 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index 366e245a4a56a..2f38a0f4f2be7 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 6340b91343b08..f87aadde5f901 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging'] --- import kbnLoggingObj from './kbn_logging.devdocs.json'; diff --git a/api_docs/kbn_logging_mocks.mdx b/api_docs/kbn_logging_mocks.mdx index bb793014c1dcd..bb645c3a4a44b 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging-mocks'] --- import kbnLoggingMocksObj from './kbn_logging_mocks.devdocs.json'; diff --git a/api_docs/kbn_managed_vscode_config.mdx b/api_docs/kbn_managed_vscode_config.mdx index a9858be70faa6..5ea5908447c64 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index 5de1208541fd4..2cea418c6e29f 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index 5c388698066b9..867f50f51ca27 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index ea1b02a2bc783..b039e93e8123b 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index 2496b975e6f52..2a9cbfb937d92 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index d21276b86474c..c540f4754dbda 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index 19c1529e9262c..d6402449fd40f 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index 3bfbe00bf1b83..b6686e88dfc13 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index 8c8ffdf5d8671..311f5badd8a03 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index 2850121a538a8..db99ed585f0ad 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index 7a0ae5a8021eb..f6419d0203627 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index 397520d54bec0..8bf3cac94ef89 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index 244ce8df445d3..f42b1bdfb2b06 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] --- import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index fd7c50d37c492..5b90cf59d6c27 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index 594214ff10eae..ca3f26ae333c8 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index 2f80171afd8e7..f320589fff232 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] --- import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx index e700e10c96623..d06aa0b0f6c80 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index 4385e070b3b60..5ea1e073b1ba3 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index abe9adccc2e5d..930a6cfa32be6 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index 6aa3d179c9add..2a072191c41ee 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index 5530d80b160e2..d23e9fc903b76 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index 7250b10841b2a..7f748175e988f 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index dddd29729ded5..b13af24c871d2 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index 3b0518a68b30a..ccc5eea7be1e8 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index ee17a3da0da35..72f9d4692b740 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index b841cd732b752..f9fa01c020997 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index 55356b25c9e94..7cf3ba96b7512 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index df113093293f2..68b3d46c12878 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 8b3799c11488e..3f7ba03c8ef24 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer'] --- import kbnOptimizerObj from './kbn_optimizer.devdocs.json'; diff --git a/api_docs/kbn_optimizer_webpack_helpers.mdx b/api_docs/kbn_optimizer_webpack_helpers.mdx index af8ea5b150bb8..ae9af239e7f17 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers'] --- import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json'; diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx index d4560a8b1dcac..8f1cf3cc5e35c 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 833e5d23f9e63..b6e7200f377ba 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/performance-testing-dataset-extractor'] --- import kbnPerformanceTestingDatasetExtractorObj from './kbn_performance_testing_dataset_extractor.devdocs.json'; diff --git a/api_docs/kbn_plugin_generator.mdx b/api_docs/kbn_plugin_generator.mdx index 640696bc9cd84..23303a1e2709f 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-generator'] --- import kbnPluginGeneratorObj from './kbn_plugin_generator.devdocs.json'; diff --git a/api_docs/kbn_plugin_helpers.mdx b/api_docs/kbn_plugin_helpers.mdx index 5df36dfe851f1..8c398b133af6f 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index aa845874f9163..62eb473bdbd2f 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index e0ba6a9d76140..8b62d12671ee3 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index e34253f96c37f..747e86fd79ebe 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps'] --- import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json'; diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx index 1912f7331e31d..5a230a3b7fd19 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter'] --- import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json'; diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx index 8c120096b3cfc..66f732c947e0a 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] --- import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index 5494ee371ab0e..6062478c9051b 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index 91a64c7e59dcd..f23352c3ff602 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index f6ff4470530e2..1a4e4c1a9cfc1 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index a963fb2c13d00..122c299d91271 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index ab3c2f99ce552..557d9d2f24854 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index 38db827c5bd0c..b87cdc0136ce8 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index e928099455e41..540a9cc860435 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index b44824a27b141..b38c599ba5569 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 33367b8ba6757..efbc7e6072f6e 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index 949f92ae3bbd2..55f7c70c992e1 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index f25f592aff9df..747639df92bd9 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index f84c4ce714003..4a9a63a9e81cf 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index 27b11f2223d80..40392f025cdb5 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index ee63c7a6daffe..77055d694a4a5 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 2ad67989f762e..14558e2cb42c7 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-hook-utils'] --- import kbnSecuritysolutionHookUtilsObj from './kbn_securitysolution_hook_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx index 85484a75160d4..564c9d7b737b1 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-alerting-types'] --- import kbnSecuritysolutionIoTsAlertingTypesObj from './kbn_securitysolution_io_ts_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx index 0ed3a46e1735d..80e8c0b98700f 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-list-types'] --- import kbnSecuritysolutionIoTsListTypesObj from './kbn_securitysolution_io_ts_list_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_types.mdx b/api_docs/kbn_securitysolution_io_ts_types.mdx index 2bb46408669a3..4593b95feb9b2 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-types'] --- import kbnSecuritysolutionIoTsTypesObj from './kbn_securitysolution_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_utils.mdx b/api_docs/kbn_securitysolution_io_ts_utils.mdx index 7df14ad4ebb27..74656668edf13 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-utils'] --- import kbnSecuritysolutionIoTsUtilsObj from './kbn_securitysolution_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_api.mdx b/api_docs/kbn_securitysolution_list_api.mdx index 2d0ed0476a115..e14ecdbbeed13 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api'] --- import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index f01ae49271bee..443ef7c7ca0b7 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-constants'] --- import kbnSecuritysolutionListConstantsObj from './kbn_securitysolution_list_constants.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_hooks.mdx b/api_docs/kbn_securitysolution_list_hooks.mdx index ed46db572a71e..1cdfa22f2f5fe 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-hooks'] --- import kbnSecuritysolutionListHooksObj from './kbn_securitysolution_list_hooks.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx index 2a34031c64414..4f710f1fbc034 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-utils'] --- import kbnSecuritysolutionListUtilsObj from './kbn_securitysolution_list_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_rules.mdx b/api_docs/kbn_securitysolution_rules.mdx index 833e80c0265cc..9b0de5865f31a 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-rules'] --- import kbnSecuritysolutionRulesObj from './kbn_securitysolution_rules.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_t_grid.mdx b/api_docs/kbn_securitysolution_t_grid.mdx index 4bb38c00b4db3..21c090530afc2 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-t-grid'] --- import kbnSecuritysolutionTGridObj from './kbn_securitysolution_t_grid.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_utils.mdx b/api_docs/kbn_securitysolution_utils.mdx index 00024bfe762a0..c8c88c0f3845b 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-utils'] --- import kbnSecuritysolutionUtilsObj from './kbn_securitysolution_utils.devdocs.json'; diff --git a/api_docs/kbn_server_http_tools.mdx b/api_docs/kbn_server_http_tools.mdx index da8ca754e9e14..5eba4051acbdb 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-http-tools'] --- import kbnServerHttpToolsObj from './kbn_server_http_tools.devdocs.json'; diff --git a/api_docs/kbn_server_route_repository.mdx b/api_docs/kbn_server_route_repository.mdx index 9a2bd2caea73b..20e7d5e2bf5c2 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index 4ec8cbac25b21..6423a09bdffc1 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index da7cbbdc7cf36..8dfcc9a116137 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 0b5f344ae9a5f..fbe4bbb6ace05 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index 4e5b3c59bc1eb..eabe74ca60f8c 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index 187d11cc620d2..ad0a2ff72400c 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index c1466cd7b7f1e..16bfb008260e9 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index 2bae77b0afbe3..ca517800a34a7 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen-mocks'] --- import kbnSharedUxButtonExitFullScreenMocksObj from './kbn_shared_ux_button_exit_full_screen_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index e4b8ae20b3844..1226f3f91b566 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-toolbar'] --- import kbnSharedUxButtonToolbarObj from './kbn_shared_ux_button_toolbar.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data.mdx b/api_docs/kbn_shared_ux_card_no_data.mdx index ff2966d2ed8b8..e504622568381 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data'] --- import kbnSharedUxCardNoDataObj from './kbn_shared_ux_card_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx index f0e7cb5fb8809..f290a74ed290f 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.devdocs.json b/api_docs/kbn_shared_ux_chrome_navigation.devdocs.json index fa3d717f2d9a7..fe0dc89f448df 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.devdocs.json +++ b/api_docs/kbn_shared_ux_chrome_navigation.devdocs.json @@ -580,7 +580,7 @@ "tags": [], "label": "defaultIsCollapsed", "description": [ - "\nFlag to indicate if the group is initially collapsed or not.\n\n`false`: the group will be opened event if none of its children nodes matches the current URL.\n\n`true`: the group will be collapsed event if any of its children nodes matches the current URL.\n\n`undefined`: the group will be opened if any of its children nodes matches the current URL." + "\nFlag to indicate if the group is initially collapsed or not.\n\n`undefined`: (Recommended) the group will be opened if any of its children nodes matches the current URL.\n\n`false`: the group will be opened event if none of its children nodes matches the current URL.\n\n`true`: the group will be collapsed event if any of its children nodes matches the current URL." ], "signature": [ "boolean | undefined" @@ -816,6 +816,20 @@ "path": "packages/shared-ux/chrome/navigation/types/index.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NavigationServices.cloudLinks", + "type": "Object", + "tags": [], + "label": "cloudLinks", + "description": [], + "signature": [ + "{ userAndRoles?: { title: string; href: string; } | undefined; performance?: { title: string; href: string; } | undefined; billingAndSub?: { title: string; href: string; } | undefined; }" + ], + "path": "packages/shared-ux/chrome/navigation/types/index.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index a8da7eb218d38..b48dd562eae3b 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 45 | 0 | 36 | 4 | +| 46 | 0 | 37 | 4 | ## Common diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 975c535415e17..23fda248aaa25 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index a89051e651529..94ff64aba798d 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index 5d08a6619e6a5..f4d738e33fad8 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index 45446207d31b7..03232c1ced363 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index c7397985b5bbf..8ab1aeb2b657e 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index 509fffbc03b23..c0135d8573160 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index 08b8a433077d7..b8e63d44c74ae 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index 931eea5f28e80..a8840caf88ae8 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index 1ac4df2987ed9..5ab794c02df0b 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app'] --- import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx index b3061ee1b3f87..248eb5b97cba3 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks'] --- import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx index a3483d05cdcbd..eff190d1cfe68 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown'] --- import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx index 1be5f57bd500f..0024e8bbc8d5f 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks'] --- import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index ae09367ebe927..72a9ef50396cb 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data'] --- import kbnSharedUxPageAnalyticsNoDataObj from './kbn_shared_ux_page_analytics_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx index be61ca25fea4f..97dcb16d65939 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data-mocks'] --- import kbnSharedUxPageAnalyticsNoDataMocksObj from './kbn_shared_ux_page_analytics_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx index 2f47a195f3fa0..4f6db2118bc27 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data'] --- import kbnSharedUxPageKibanaNoDataObj from './kbn_shared_ux_page_kibana_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx index a1aae3ed7b58c..d8162b2defdda 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks'] --- import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx index 3f7b5d597676b..7909f745b7c38 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template'] --- import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx index 94d84c88bc43e..53c3f30f9f897 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks'] --- import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx index 0803eb22adc0a..cc592f60d21ec 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data'] --- import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx index a27af2bbd5e81..0c06966ad0498 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config'] --- import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx index 4c59157c78995..094cfa4584675 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks'] --- import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx index 917a08da1770d..2aea6ff8287d7 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks'] --- import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx index 769be2671c9bb..d435baba9013a 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-solution-nav'] --- import kbnSharedUxPageSolutionNavObj from './kbn_shared_ux_page_solution_nav.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx index 2f763776bb45c..0c72ee4474684 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views'] --- import kbnSharedUxPromptNoDataViewsObj from './kbn_shared_ux_prompt_no_data_views.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx index ee1c69433f5ce..a9a77975c9221 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index 451602b0280b2..b99061ce622fd 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index e55a9e5a87fd7..deb2ca5631c96 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router'] --- import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx index 012225de120a6..f31f259975aba 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks'] --- import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx index 4a0db34a2bcf7..e095cc67eee94 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config'] --- import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx index d43c306da505c..2c0db0cc2c527 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-mock'] --- import kbnSharedUxStorybookMockObj from './kbn_shared_ux_storybook_mock.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_utility.mdx b/api_docs/kbn_shared_ux_utility.mdx index ad470b123cf87..a2637ba531413 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index 8f349ec9bffdb..7277273b4f3af 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index 05c653c1387ac..a8e1477a9e314 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index bd49cd228f030..f3a06b856febe 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/std'] --- import kbnStdObj from './kbn_std.devdocs.json'; diff --git a/api_docs/kbn_stdio_dev_helpers.mdx b/api_docs/kbn_stdio_dev_helpers.mdx index 69dfc7a643350..13ee0ca551130 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/stdio-dev-helpers'] --- import kbnStdioDevHelpersObj from './kbn_stdio_dev_helpers.devdocs.json'; diff --git a/api_docs/kbn_storybook.mdx b/api_docs/kbn_storybook.mdx index 3578cc469364c..00cecb5bcebce 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index 509030762b523..025348ebad88f 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools'] --- import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json'; diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index 9fb40ee693332..ffa91bb6dedda 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index 778190dbcc68c..cdb0f66f0df46 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers'] --- import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx index 9b5cf264dc543..729c70729cbed 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index 6836e37a2b6d0..d09a38a0e7506 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index a37127c1df535..93f3da35cadd8 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index e6ad644efc097..42d11eb87d02c 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] --- import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index 99d8a3be6eafb..7b32af1f63273 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx index 91320501c8c49..3555d781dbd88 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser'] --- import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index c21357cf59ca9..2304a4347ec27 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index 75053d55c6053..2bbc7a8d1cba0 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index 74f9d98fb3c6d..197883280441e 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index 7df4ed3cc75eb..99d3d1f7977fb 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index 661ebd2b29200..f5c4f01b97ad1 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/user-profile-components'] --- import kbnUserProfileComponentsObj from './kbn_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_utility_types.mdx b/api_docs/kbn_utility_types.mdx index f3e6648cf6609..250bdcbc1aa49 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types'] --- import kbnUtilityTypesObj from './kbn_utility_types.devdocs.json'; diff --git a/api_docs/kbn_utility_types_jest.mdx b/api_docs/kbn_utility_types_jest.mdx index 47e6d5f7920a9..3baff7116f642 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types-jest'] --- import kbnUtilityTypesJestObj from './kbn_utility_types_jest.devdocs.json'; diff --git a/api_docs/kbn_utils.mdx b/api_docs/kbn_utils.mdx index c0fcebd583608..2eb842baa20c7 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index 346c1196c961e..aa28233dd93ef 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index a696d5baf5445..d92560bf816f8 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index 574684d60f3b7..37cfe0273feab 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact'] --- import kibanaReactObj from './kibana_react.devdocs.json'; diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx index 8372dee9c1396..4da280259a834 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaUtils'] --- import kibanaUtilsObj from './kibana_utils.devdocs.json'; diff --git a/api_docs/kubernetes_security.mdx b/api_docs/kubernetes_security.mdx index 7e6618b635024..8b7d914082cf6 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 345edf69dfb80..97bf662cf4828 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index 1f99ec42829fc..c8d22fc2d5cd7 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseApiGuard'] --- import licenseApiGuardObj from './license_api_guard.devdocs.json'; diff --git a/api_docs/license_management.mdx b/api_docs/license_management.mdx index da55979194656..3b75a26d04edf 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index a42fc429ffcb2..a9f1dde029188 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 1f421c1bc023b..93fb9052342da 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index 7e3b3fe90a1f9..b818662105c9b 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 7189862b96a19..f45a718fb6f8b 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management'] --- import managementObj from './management.devdocs.json'; diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx index 06b797e993e40..aa246d5ab1eb8 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'maps'] --- import mapsObj from './maps.devdocs.json'; diff --git a/api_docs/maps_ems.mdx b/api_docs/maps_ems.mdx index 20aed9c29a962..252175600b857 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index 3a20255aafcfa..50e73cae9af22 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index 13c810a89e9a7..a8b1c0c970833 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoring'] --- import monitoringObj from './monitoring.devdocs.json'; diff --git a/api_docs/monitoring_collection.mdx b/api_docs/monitoring_collection.mdx index 12dbb8a983ed9..a0e1c0bf758a9 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoringCollection'] --- import monitoringCollectionObj from './monitoring_collection.devdocs.json'; diff --git a/api_docs/navigation.mdx b/api_docs/navigation.mdx index a634607bcadbd..21c06f143890d 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'navigation'] --- import navigationObj from './navigation.devdocs.json'; diff --git a/api_docs/newsfeed.mdx b/api_docs/newsfeed.mdx index b030db681f49a..52ecc85a7512e 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index 6be1d3b6a40b2..32490b761c3d7 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.devdocs.json b/api_docs/observability.devdocs.json index ec1e5f0bbe268..09393b66217b2 100644 --- a/api_docs/observability.devdocs.json +++ b/api_docs/observability.devdocs.json @@ -843,6 +843,60 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "observability", + "id": "def-public.useSummaryTimeRange", + "type": "Function", + "tags": [], + "label": "useSummaryTimeRange", + "description": [], + "signature": [ + "(unifiedSearchDateRange: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.TimeRange", + "text": "TimeRange" + }, + ") => ", + { + "pluginId": "triggersActionsUi", + "scope": "public", + "docId": "kibTriggersActionsUiPluginApi", + "section": "def-public.AlertSummaryTimeRange", + "text": "AlertSummaryTimeRange" + } + ], + "path": "x-pack/plugins/observability/public/hooks/use_summary_time_range.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observability", + "id": "def-public.useSummaryTimeRange.$1", + "type": "Object", + "tags": [], + "label": "unifiedSearchDateRange", + "description": [], + "signature": [ + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.TimeRange", + "text": "TimeRange" + } + ], + "path": "x-pack/plugins/observability/public/hooks/use_summary_time_range.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "observability", "id": "def-public.useTimeBuckets", @@ -7668,7 +7722,7 @@ "label": "config", "description": [], "signature": [ - "{ readonly aiAssistant?: Readonly<{} & { enabled: boolean; feedback: Readonly<{} & { enabled: boolean; url: string; }>; provider: Readonly<{} & { openAI: Readonly<{} & { apiKey: string; model: string; }>; }> | Readonly<{} & { azureOpenAI: Readonly<{} & { apiKey: string; resourceName: string; deploymentId: string; }>; }>; }> | undefined; readonly enabled: boolean; readonly annotations: Readonly<{} & { index: string; enabled: boolean; }>; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; thresholdRule: Readonly<{} & { enabled: boolean; }>; }>; readonly thresholdRule: Readonly<{} & { groupByPageSize: number; }>; readonly compositeSlo: Readonly<{} & { enabled: boolean; }>; }" + "{ readonly aiAssistant?: Readonly<{} & { enabled: boolean; feedback: Readonly<{ url?: string | undefined; } & { enabled: boolean; }>; provider: Readonly<{} & { openAI: Readonly<{} & { apiKey: string; model: string; }>; }> | Readonly<{} & { azureOpenAI: Readonly<{} & { apiKey: string; resourceName: string; deploymentId: string; }>; }>; }> | undefined; readonly enabled: boolean; readonly annotations: Readonly<{} & { index: string; enabled: boolean; }>; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; thresholdRule: Readonly<{} & { enabled: boolean; }>; }>; readonly thresholdRule: Readonly<{} & { groupByPageSize: number; }>; readonly compositeSlo: Readonly<{} & { enabled: boolean; }>; }" ], "path": "x-pack/plugins/observability/server/routes/types.ts", "deprecated": false, @@ -9598,7 +9652,7 @@ "label": "ObservabilityConfig", "description": [], "signature": [ - "{ readonly aiAssistant?: Readonly<{} & { enabled: boolean; feedback: Readonly<{} & { enabled: boolean; url: string; }>; provider: Readonly<{} & { openAI: Readonly<{} & { apiKey: string; model: string; }>; }> | Readonly<{} & { azureOpenAI: Readonly<{} & { apiKey: string; resourceName: string; deploymentId: string; }>; }>; }> | undefined; readonly enabled: boolean; readonly annotations: Readonly<{} & { index: string; enabled: boolean; }>; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; thresholdRule: Readonly<{} & { enabled: boolean; }>; }>; readonly thresholdRule: Readonly<{} & { groupByPageSize: number; }>; readonly compositeSlo: Readonly<{} & { enabled: boolean; }>; }" + "{ readonly aiAssistant?: Readonly<{} & { enabled: boolean; feedback: Readonly<{ url?: string | undefined; } & { enabled: boolean; }>; provider: Readonly<{} & { openAI: Readonly<{} & { apiKey: string; model: string; }>; }> | Readonly<{} & { azureOpenAI: Readonly<{} & { apiKey: string; resourceName: string; deploymentId: string; }>; }>; }> | undefined; readonly enabled: boolean; readonly annotations: Readonly<{} & { index: string; enabled: boolean; }>; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; thresholdRule: Readonly<{} & { enabled: boolean; }>; }>; readonly thresholdRule: Readonly<{} & { groupByPageSize: number; }>; readonly compositeSlo: Readonly<{} & { enabled: boolean; }>; }" ], "path": "x-pack/plugins/observability/server/index.ts", "deprecated": false, @@ -15096,21 +15150,6 @@ "trackAdoption": false, "initialIsOpen": false }, - { - "parentPluginId": "observability", - "id": "def-common.NETWORK_TIMINGS_FIELDS", - "type": "Array", - "tags": [], - "label": "NETWORK_TIMINGS_FIELDS", - "description": [], - "signature": [ - "string[]" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, { "parentPluginId": "observability", "id": "def-common.observabilityAppId", @@ -15216,141 +15255,6 @@ "trackAdoption": false, "initialIsOpen": false }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_BLOCKED_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_BLOCKED_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.blocked\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_CONNECT_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_CONNECT_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.connect\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_DNS_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_DNS_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.dns\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_RECEIVE_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_RECEIVE_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.receive\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_SEND_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_SEND_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.send\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_SSL_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_SSL_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.ssl\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_STEP_DURATION", - "type": "string", - "tags": [], - "label": "SYNTHETICS_STEP_DURATION", - "description": [], - "signature": [ - "\"synthetics.step.duration.us\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_TOTAL_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_TOTAL_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.total\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-common.SYNTHETICS_WAIT_TIMINGS", - "type": "string", - "tags": [], - "label": "SYNTHETICS_WAIT_TIMINGS", - "description": [], - "signature": [ - "\"synthetics.payload.timings.wait\"" - ], - "path": "x-pack/plugins/observability/common/field_names/synthetics.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, { "parentPluginId": "observability", "id": "def-common.syntheticsEditMonitorLocatorID", diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index e3991f30607e3..8c902a2a10759 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/actionable-observability](https://github.com/orgs/elastic/team | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 524 | 45 | 516 | 19 | +| 516 | 45 | 508 | 19 | ## Client diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 3a9e4887551e1..f17b2fde5f541 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.devdocs.json b/api_docs/observability_shared.devdocs.json index 2a32f416393dd..0ac067f093627 100644 --- a/api_docs/observability_shared.devdocs.json +++ b/api_docs/observability_shared.devdocs.json @@ -2811,7 +2811,7 @@ "signature": [ "\"agent\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2826,7 +2826,7 @@ "signature": [ "\"agent.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2841,7 +2841,7 @@ "signature": [ "\"agent.version\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2871,7 +2871,7 @@ "signature": [ "\"client.geo\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2886,7 +2886,7 @@ "signature": [ "\"client.geo.country_iso_code\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2901,7 +2901,7 @@ "signature": [ "\"client.geo.country_name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2916,7 +2916,7 @@ "signature": [ "\"cloud\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2931,7 +2931,7 @@ "signature": [ "\"cloud.availability_zone\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2946,7 +2946,7 @@ "signature": [ "\"cloud.machine.type\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2961,7 +2961,7 @@ "signature": [ "\"cloud.provider\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2976,7 +2976,7 @@ "signature": [ "\"cloud.region\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2991,7 +2991,7 @@ "signature": [ "\"transaction.experience.cls\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3006,7 +3006,7 @@ "signature": [ "\"container.id\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3021,7 +3021,7 @@ "signature": [ "\"destination.address\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3036,7 +3036,7 @@ "signature": [ "\"error.culprit\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3051,7 +3051,7 @@ "signature": [ "\"error.exception.handled\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3066,7 +3066,7 @@ "signature": [ "\"error.exception.message\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3081,7 +3081,7 @@ "signature": [ "\"error.exception.type\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3096,7 +3096,7 @@ "signature": [ "\"error.grouping_key\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3111,7 +3111,7 @@ "signature": [ "\"error.log.level\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3126,7 +3126,7 @@ "signature": [ "\"error.log.message\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3141,7 +3141,7 @@ "signature": [ "\"error.page.url\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3156,7 +3156,7 @@ "signature": [ "\"event.outcome\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3171,7 +3171,7 @@ "signature": [ "\"transaction.marks.agent.firstContentfulPaint\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3186,7 +3186,7 @@ "signature": [ "\"transaction.experience.fid\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3201,7 +3201,7 @@ "signature": [ "\"host\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3216,7 +3216,7 @@ "signature": [ "\"host.hostname\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3231,7 +3231,7 @@ "signature": [ "\"host.os.platform\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3246,7 +3246,7 @@ "signature": [ "\"http.request.method\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3261,7 +3261,7 @@ "signature": [ "\"http.response.status_code\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3276,7 +3276,7 @@ "signature": [ "\"kubernetes\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3291,7 +3291,7 @@ "signature": [ "\"labels.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3306,7 +3306,7 @@ "signature": [ "\"transaction.marks.agent.largestContentfulPaint\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3321,7 +3321,7 @@ "signature": [ "\"system.process.cgroup.memory.mem.limit.bytes\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3336,7 +3336,7 @@ "signature": [ "\"system.process.cgroup.memory.mem.usage.bytes\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3351,7 +3351,7 @@ "signature": [ "\"jvm.gc.count\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3366,7 +3366,7 @@ "signature": [ "\"jvm.gc.time\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3381,7 +3381,7 @@ "signature": [ "\"jvm.memory.heap.committed\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3396,7 +3396,7 @@ "signature": [ "\"jvm.memory.heap.max\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3411,7 +3411,7 @@ "signature": [ "\"jvm.memory.heap.used\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3426,7 +3426,7 @@ "signature": [ "\"jvm.memory.non_heap.committed\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3441,7 +3441,7 @@ "signature": [ "\"jvm.memory.non_heap.max\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3456,7 +3456,7 @@ "signature": [ "\"jvm.memory.non_heap.used\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3471,7 +3471,7 @@ "signature": [ "\"jvm.thread.count\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3486,7 +3486,7 @@ "signature": [ "\"system.process.cpu.total.norm.pct\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3501,7 +3501,7 @@ "signature": [ "\"system.cpu.total.norm.pct\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3516,7 +3516,7 @@ "signature": [ "\"system.cpu.usage\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3531,7 +3531,7 @@ "signature": [ "\"system.memory.actual.free\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3546,7 +3546,7 @@ "signature": [ "\"system.memory.usage\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3561,7 +3561,22 @@ "signature": [ "\"system.memory.total\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.NETWORK_TIMINGS_FIELDS", + "type": "Array", + "tags": [], + "label": "NETWORK_TIMINGS_FIELDS", + "description": [], + "signature": [ + "string[]" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3606,7 +3621,7 @@ "signature": [ "\"observer.hostname\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3621,7 +3636,7 @@ "signature": [ "\"observer.listening\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3636,7 +3651,7 @@ "signature": [ "\"observer.version_major\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3651,7 +3666,7 @@ "signature": [ "\"parent.id\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3666,7 +3681,7 @@ "signature": [ "\"kubernetes.pod.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3681,7 +3696,7 @@ "signature": [ "\"processor.event\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3696,7 +3711,7 @@ "signature": [ "\"profile.alloc_objects.count\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3711,7 +3726,7 @@ "signature": [ "\"profile.alloc_space.bytes\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3726,7 +3741,7 @@ "signature": [ "\"profile.cpu.ns\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3741,7 +3756,7 @@ "signature": [ "\"profile.duration\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3756,7 +3771,7 @@ "signature": [ "\"profile.id\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3771,7 +3786,7 @@ "signature": [ "\"profile.inuse_objects.count\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3786,7 +3801,7 @@ "signature": [ "\"profile.inuse_space.bytes\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3801,7 +3816,7 @@ "signature": [ "\"profile.samples.count\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3816,7 +3831,7 @@ "signature": [ "\"profile.stack\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3831,7 +3846,7 @@ "signature": [ "\"profile.top.id\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3846,7 +3861,7 @@ "signature": [ "\"profile.wall.us\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3861,7 +3876,7 @@ "signature": [ "\"service\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3876,7 +3891,7 @@ "signature": [ "\"service.environment\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3891,7 +3906,7 @@ "signature": [ "\"service.framework.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3906,7 +3921,7 @@ "signature": [ "\"service.framework.version\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3921,7 +3936,7 @@ "signature": [ "\"service.language.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3936,7 +3951,7 @@ "signature": [ "\"service.language.version\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3951,7 +3966,7 @@ "signature": [ "\"service.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3966,7 +3981,7 @@ "signature": [ "\"service.node.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3981,7 +3996,7 @@ "signature": [ "\"service.runtime.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3996,7 +4011,7 @@ "signature": [ "\"service.runtime.version\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4011,7 +4026,7 @@ "signature": [ "\"service.version\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4041,7 +4056,7 @@ "signature": [ "\"span.action\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4056,7 +4071,7 @@ "signature": [ "\"span.destination.service.resource\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4071,7 +4086,7 @@ "signature": [ "\"span.destination.service.response_time.count\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4086,7 +4101,7 @@ "signature": [ "\"span.destination.service.response_time.sum.us\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4101,7 +4116,7 @@ "signature": [ "\"span.duration.us\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4116,7 +4131,7 @@ "signature": [ "\"span.id\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4131,7 +4146,7 @@ "signature": [ "\"span.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4146,7 +4161,7 @@ "signature": [ "\"span.self_time.sum.us\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4161,7 +4176,7 @@ "signature": [ "\"span.subtype\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4176,7 +4191,127 @@ "signature": [ "\"span.type\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.SYNTHETICS_BLOCKED_TIMINGS", + "type": "string", + "tags": [], + "label": "SYNTHETICS_BLOCKED_TIMINGS", + "description": [], + "signature": [ + "\"synthetics.payload.timings.blocked\"" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.SYNTHETICS_CONNECT_TIMINGS", + "type": "string", + "tags": [], + "label": "SYNTHETICS_CONNECT_TIMINGS", + "description": [], + "signature": [ + "\"synthetics.payload.timings.connect\"" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.SYNTHETICS_DNS_TIMINGS", + "type": "string", + "tags": [], + "label": "SYNTHETICS_DNS_TIMINGS", + "description": [], + "signature": [ + "\"synthetics.payload.timings.dns\"" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.SYNTHETICS_RECEIVE_TIMINGS", + "type": "string", + "tags": [], + "label": "SYNTHETICS_RECEIVE_TIMINGS", + "description": [], + "signature": [ + "\"synthetics.payload.timings.receive\"" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.SYNTHETICS_SEND_TIMINGS", + "type": "string", + "tags": [], + "label": "SYNTHETICS_SEND_TIMINGS", + "description": [], + "signature": [ + "\"synthetics.payload.timings.send\"" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.SYNTHETICS_SSL_TIMINGS", + "type": "string", + "tags": [], + "label": "SYNTHETICS_SSL_TIMINGS", + "description": [], + "signature": [ + "\"synthetics.payload.timings.ssl\"" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.SYNTHETICS_TOTAL_TIMINGS", + "type": "string", + "tags": [], + "label": "SYNTHETICS_TOTAL_TIMINGS", + "description": [], + "signature": [ + "\"synthetics.payload.timings.total\"" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-common.SYNTHETICS_WAIT_TIMINGS", + "type": "string", + "tags": [], + "label": "SYNTHETICS_WAIT_TIMINGS", + "description": [], + "signature": [ + "\"synthetics.payload.timings.wait\"" + ], + "path": "x-pack/plugins/observability_shared/common/field_names/synthetics.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4191,7 +4326,7 @@ "signature": [ "\"transaction.experience.tbt\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4206,7 +4341,7 @@ "signature": [ "\"trace.id\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4221,7 +4356,7 @@ "signature": [ "\"transaction.marks.agent.domInteractive\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4236,7 +4371,7 @@ "signature": [ "\"transaction.duration.us\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4251,7 +4386,7 @@ "signature": [ "\"transaction.duration.histogram\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4266,7 +4401,7 @@ "signature": [ "\"transaction.id\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4281,7 +4416,7 @@ "signature": [ "\"transaction.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4296,7 +4431,7 @@ "signature": [ "\"transaction.page.url\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4311,7 +4446,7 @@ "signature": [ "\"transaction.result\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4326,7 +4461,7 @@ "signature": [ "\"transaction.root\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4341,7 +4476,7 @@ "signature": [ "\"transaction.sampled\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4356,7 +4491,7 @@ "signature": [ "\"transaction.marks.agent.timeToFirstByte\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4371,7 +4506,7 @@ "signature": [ "\"transaction.type\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4386,7 +4521,7 @@ "signature": [ "\"url.full\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4401,7 +4536,7 @@ "signature": [ "\"url.full\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4416,7 +4551,7 @@ "signature": [ "\"user_agent.device.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4431,7 +4566,7 @@ "signature": [ "\"user_agent.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4446,7 +4581,7 @@ "signature": [ "\"user_agent.original\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4461,7 +4596,7 @@ "signature": [ "\"user_agent.os.name\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4476,7 +4611,7 @@ "signature": [ "\"user_agent.os.version\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4491,7 +4626,7 @@ "signature": [ "\"user_agent.version\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -4506,7 +4641,7 @@ "signature": [ "\"user.id\"" ], - "path": "x-pack/plugins/observability_shared/common/elasticsearch_fieldnames.ts", + "path": "x-pack/plugins/observability_shared/common/field_names/elasticsearch.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index 78a1f5e81fae7..a763f3cb9fdad 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observ | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 268 | 1 | 267 | 11 | +| 277 | 1 | 276 | 11 | ## Client diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index bedd294382615..1221feac511de 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index e65003ea414ae..7a0dcf531cf84 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -15,13 +15,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Count | Plugins or Packages with a
public API | Number of teams | |--------------|----------|------------------------| -| 646 | 537 | 38 | +| 647 | 538 | 38 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 71459 | 552 | 61221 | 1459 | +| 71466 | 552 | 61216 | 1462 | ## Plugin Directory @@ -38,7 +38,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds Canvas application to Kibana | 9 | 0 | 8 | 3 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | The Case management system in Kibana | 80 | 0 | 65 | 27 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 268 | 16 | 253 | 10 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 61 | 0 | 13 | 0 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 65 | 0 | 15 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | Chat available on Elastic Cloud deployments for quicker assistance. | 3 | 0 | 2 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | This plugin exists as a workaround for using `cloudChat` plugin in plugins which can't have a direct dependency on security plugin. | 5 | 0 | 5 | 0 | | | [@elastic/platform-onboarding](https://github.com/orgs/elastic/teams/platform-onboarding) | Static migration page where self-managed users can see text/copy about migrating to Elastic Cloud | 8 | 1 | 8 | 1 | @@ -56,7 +56,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | Add custom data integrations so they can be displayed in the Fleet integrations app | 271 | 0 | 252 | 1 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds the Dashboard app to Kibana | 100 | 0 | 98 | 9 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 54 | 0 | 51 | 0 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 3291 | 119 | 2571 | 27 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 3293 | 119 | 2573 | 27 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin provides the ability to create data views via a modal flyout inside Kibana apps | 16 | 0 | 7 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Reusable data view field editor across Kibana | 72 | 0 | 33 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Data view management app | 2 | 0 | 2 | 0 | @@ -74,7 +74,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 115 | 3 | 111 | 3 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | The Event Annotation service contains expressions for event annotations | 236 | 30 | 236 | 4 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 116 | 0 | 116 | 11 | -| | [@elastic/uptime](https://github.com/orgs/elastic/teams/uptime) | - | 141 | 1 | 141 | 14 | +| | [@elastic/uptime](https://github.com/orgs/elastic/teams/uptime) | - | 131 | 1 | 131 | 14 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds 'error' renderer to expressions | 17 | 0 | 15 | 2 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Expression Gauge plugin adds a `gauge` renderer and function to the expression plugin. The renderer will display the `gauge` chart. | 59 | 0 | 59 | 2 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Expression Heatmap plugin adds a `heatmap` renderer and function to the expression plugin. The renderer will display the `heatmap` chart. | 112 | 14 | 108 | 2 | @@ -132,9 +132,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 34 | 0 | 34 | 2 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 17 | 0 | 17 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 1 | -| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 524 | 45 | 516 | 19 | +| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 516 | 45 | 508 | 19 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 7 | 0 | 7 | 0 | -| | [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observability-ui) | - | 268 | 1 | 267 | 11 | +| | [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observability-ui) | - | 277 | 1 | 276 | 11 | | | [@elastic/security-defend-workflows](https://github.com/orgs/elastic/teams/security-defend-workflows) | - | 24 | 0 | 24 | 7 | | painlessLab | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Presentation Utility Plugin is a set of common, shared components and toolkits for solutions within the Presentation space, (e.g. Dashboards, Canvas). | 218 | 8 | 164 | 11 | @@ -245,7 +245,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 6 | 0 | 4 | 4 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 14 | 0 | 14 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 9 | 0 | 9 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 58 | 0 | 41 | 4 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 58 | 0 | 40 | 4 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 180 | 1 | 115 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 0 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 7 | 1 | @@ -268,7 +268,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 5 | 0 | 0 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 16 | 0 | 7 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 6 | 0 | 6 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 166 | 0 | 67 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 166 | 0 | 66 | 1 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 3 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 4 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 8 | 0 | 8 | 0 | @@ -423,6 +423,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 101 | 0 | 85 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 15 | 0 | 9 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 27 | 2 | 24 | 0 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 9 | 0 | 1 | 2 | | | [@elastic/docs](https://github.com/orgs/elastic/teams/docs) | - | 72 | 0 | 72 | 2 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 1 | 0 | 1 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 39 | 0 | 26 | 5 | @@ -540,7 +541,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 28 | 0 | 10 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 10 | 0 | 4 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 32 | 0 | 28 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 45 | 0 | 36 | 4 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 46 | 0 | 37 | 4 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 5 | 0 | 4 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 2 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 0 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 53fd34d8451c2..252a60532f36f 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index 7582d5cd6f38b..be6c2d28270f4 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index a7b0e4fea1669..6812d731918b6 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'remoteClusters'] --- import remoteClustersObj from './remote_clusters.devdocs.json'; diff --git a/api_docs/reporting.mdx b/api_docs/reporting.mdx index 270835a793835..4aa763fe1aceb 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; diff --git a/api_docs/reporting_export_types.mdx b/api_docs/reporting_export_types.mdx index 75c235878db3c..c0b9dad12c82b 100644 --- a/api_docs/reporting_export_types.mdx +++ b/api_docs/reporting_export_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reportingExportTypes title: "reportingExportTypes" image: https://source.unsplash.com/400x175/?github description: API docs for the reportingExportTypes plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reportingExportTypes'] --- import reportingExportTypesObj from './reporting_export_types.devdocs.json'; diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index 2268d9e7091c2..bb419e4533d2e 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index 291349a091432..20f692f7fb440 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ruleRegistry'] --- import ruleRegistryObj from './rule_registry.devdocs.json'; diff --git a/api_docs/runtime_fields.mdx b/api_docs/runtime_fields.mdx index 9414250f6d0dc..a3b41731fb328 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index 8ec1300a7736b..0c35c19fad9d5 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index b3c91d5320846..d9f4bae6d823e 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index 54e12718c2a6b..ae06a5168a64b 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsManagement'] --- import savedObjectsManagementObj from './saved_objects_management.devdocs.json'; diff --git a/api_docs/saved_objects_tagging.mdx b/api_docs/saved_objects_tagging.mdx index 90c190899baf1..952d78bbe6070 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging'] --- import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json'; diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx index 77c3cee39bb3c..b9b789482fa71 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index 4f00ab430140b..3ef76b6d5aeed 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index 019e14cd7bed3..7fff1516c20c3 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotMode'] --- import screenshotModeObj from './screenshot_mode.devdocs.json'; diff --git a/api_docs/screenshotting.mdx b/api_docs/screenshotting.mdx index 9c8110a235891..c505e8d00f95c 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/security.mdx b/api_docs/security.mdx index 21ff3e3189c7b..4b486de7358ba 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index a5aaef672275c..5eef98bb1be55 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index 523978a3bfd78..ef5f2b613e4fc 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index e0d660d8399cb..c596c5a847272 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index f1e8138a3fed2..24756acd0c0ef 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index f0637ce888617..0422d60311902 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index 4975a56821982..f4c4a075393cc 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 9a06b39eecc30..857bde3b3b453 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sessionView'] --- import sessionViewObj from './session_view.devdocs.json'; diff --git a/api_docs/share.mdx b/api_docs/share.mdx index 333ba9bc9dc53..b12c0fd472c1a 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index 0730606b38753..02c0949665efc 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'snapshotRestore'] --- import snapshotRestoreObj from './snapshot_restore.devdocs.json'; diff --git a/api_docs/spaces.mdx b/api_docs/spaces.mdx index 97b799d9f9b00..e2a093ce430d2 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'spaces'] --- import spacesObj from './spaces.devdocs.json'; diff --git a/api_docs/stack_alerts.mdx b/api_docs/stack_alerts.mdx index cd7ca829ad628..2fc080772d05c 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index 5c136b97e2b0f..76a19cbfafe4f 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index f5a6b6619aa6d..078e94d313d88 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'taskManager'] --- import taskManagerObj from './task_manager.devdocs.json'; diff --git a/api_docs/telemetry.mdx b/api_docs/telemetry.mdx index fcd2298ee82e9..8048374ba9153 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetry'] --- import telemetryObj from './telemetry.devdocs.json'; diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx index f89c8e1073b7d..317bc7b0a58ea 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionManager'] --- import telemetryCollectionManagerObj from './telemetry_collection_manager.devdocs.json'; diff --git a/api_docs/telemetry_collection_xpack.mdx b/api_docs/telemetry_collection_xpack.mdx index 2428fa33744ad..e82e019d4144e 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionXpack'] --- import telemetryCollectionXpackObj from './telemetry_collection_xpack.devdocs.json'; diff --git a/api_docs/telemetry_management_section.mdx b/api_docs/telemetry_management_section.mdx index 814d0f093cbe3..edf49edbcc5b6 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index 9409362c65377..c81830e0d4cb8 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index ba6fe0c105e29..a5076b01b8410 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index f4e05f445b30a..1f3b79a0089a4 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index 471e4a2de7b18..f3a79a602a29f 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index 2ffa0b4e97bba..49f6d08ff4e02 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index 32c8bb15f7c5d..d2fa822d0557c 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActions'] --- import uiActionsObj from './ui_actions.devdocs.json'; diff --git a/api_docs/ui_actions_enhanced.mdx b/api_docs/ui_actions_enhanced.mdx index 52ffda62e7d90..c0960d339d17f 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index eb85f4942b370..f98dc00df0f64 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index dac429d6ee5eb..605d84640befc 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch'] --- import unifiedSearchObj from './unified_search.devdocs.json'; diff --git a/api_docs/unified_search_autocomplete.mdx b/api_docs/unified_search_autocomplete.mdx index 595c50dddc65a..cc81acc770eeb 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index edb82255bb712..4150053e2d704 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'urlForwarding'] --- import urlForwardingObj from './url_forwarding.devdocs.json'; diff --git a/api_docs/usage_collection.mdx b/api_docs/usage_collection.mdx index 5a54d0b6769ea..d461091aac8ae 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'usageCollection'] --- import usageCollectionObj from './usage_collection.devdocs.json'; diff --git a/api_docs/ux.mdx b/api_docs/ux.mdx index d3e34a9be9929..a695635ccbba7 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ux'] --- import uxObj from './ux.devdocs.json'; diff --git a/api_docs/vis_default_editor.mdx b/api_docs/vis_default_editor.mdx index 47fe8087268e5..ec6e13a43af36 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visDefaultEditor'] --- import visDefaultEditorObj from './vis_default_editor.devdocs.json'; diff --git a/api_docs/vis_type_gauge.mdx b/api_docs/vis_type_gauge.mdx index 6d01fc34d315e..7d41d9ddbeb97 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeGauge'] --- import visTypeGaugeObj from './vis_type_gauge.devdocs.json'; diff --git a/api_docs/vis_type_heatmap.mdx b/api_docs/vis_type_heatmap.mdx index 1ff6e28c7e103..f85f6602ced64 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeHeatmap'] --- import visTypeHeatmapObj from './vis_type_heatmap.devdocs.json'; diff --git a/api_docs/vis_type_pie.mdx b/api_docs/vis_type_pie.mdx index 1ab7fbe1b670a..afc07d11fdf7e 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypePie'] --- import visTypePieObj from './vis_type_pie.devdocs.json'; diff --git a/api_docs/vis_type_table.mdx b/api_docs/vis_type_table.mdx index 74f8092fdcd2f..a8b72e8f090f2 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTable'] --- import visTypeTableObj from './vis_type_table.devdocs.json'; diff --git a/api_docs/vis_type_timelion.mdx b/api_docs/vis_type_timelion.mdx index ea8c1274788cc..789fac46dd7c8 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimelion'] --- import visTypeTimelionObj from './vis_type_timelion.devdocs.json'; diff --git a/api_docs/vis_type_timeseries.mdx b/api_docs/vis_type_timeseries.mdx index 4497030e5b1b1..dfc4b58072eb8 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimeseries'] --- import visTypeTimeseriesObj from './vis_type_timeseries.devdocs.json'; diff --git a/api_docs/vis_type_vega.mdx b/api_docs/vis_type_vega.mdx index 5cbab0bab9298..c52e528c13e39 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVega'] --- import visTypeVegaObj from './vis_type_vega.devdocs.json'; diff --git a/api_docs/vis_type_vislib.mdx b/api_docs/vis_type_vislib.mdx index da66abf77ea8e..b947aa0cef331 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVislib'] --- import visTypeVislibObj from './vis_type_vislib.devdocs.json'; diff --git a/api_docs/vis_type_xy.mdx b/api_docs/vis_type_xy.mdx index 94e0701062924..d863cd8db9388 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualization_ui_components.mdx b/api_docs/visualization_ui_components.mdx index 0537213bd9cdf..e2becbb4eef05 100644 --- a/api_docs/visualization_ui_components.mdx +++ b/api_docs/visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizationUiComponents title: "visualizationUiComponents" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizationUiComponents plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizationUiComponents'] --- import visualizationUiComponentsObj from './visualization_ui_components.devdocs.json'; diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index 72ddb254498f0..b4f83a703b3a3 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2023-07-18 +date: 2023-07-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; diff --git a/config/serverless.es.yml b/config/serverless.es.yml index c8f1e8afa7914..5433ce9be7676 100644 --- a/config/serverless.es.yml +++ b/config/serverless.es.yml @@ -2,8 +2,15 @@ ## Disable APM and Uptime, enable Enterprise Search xpack.apm.enabled: false + +xpack.cloudSecurityPosture.enabled: false +xpack.infra.enabled: false +xpack.observability.enabled: false +xpack.securitySolution.enabled: false +xpack.serverless.observability.enabled: false xpack.uptime.enabled: false enterpriseSearch.enabled: false +monitoring.ui.enabled: false ## Enable the Serverless Search plugin xpack.serverless.search.enabled: true @@ -16,3 +23,6 @@ xpack.serverless.plugin.developer.projectSwitcher.currentType: 'search' # Specify in telemetry the project type telemetry.labels.serverless: search + +# Alerts config +xpack.actions.enabledActionTypes: ['.email', '.index', '.slack', '.jira', '.webhook', '.teams'] diff --git a/docs/api-generated/rules/rule-apis-passthru.asciidoc b/docs/api-generated/rules/rule-apis-passthru.asciidoc index fdcc9bc78bfd5..39213b9d8807b 100644 --- a/docs/api-generated/rules/rule-apis-passthru.asciidoc +++ b/docs/api-generated/rules/rule-apis-passthru.asciidoc @@ -2932,6 +2932,7 @@ Any modifications made to this file will be overwritten.
  • legacyGetAlertingHealth_200_response_alertingFrameworkHealth_readHealth -
  • non_count_criterion - non count criterion
  • notify_when -
  • +
  • params_index_threshold_rule -
  • params_property_apm_anomaly -
  • params_property_apm_error_count -
  • params_property_apm_transaction_duration -
  • @@ -3395,7 +3396,7 @@ Any modifications made to this file will be overwritten.
    enabled (optional)
    Boolean Indicates whether you want to run the rule on an interval basis after it is created.
    name
    String The name of the rule. While this name does not have to be unique, a distinctive name can help you identify a rule.
    notify_when (optional)
    -
    params
    map[String, oas_any_type_not_mapped] The parameters for an index threshold rule.
    +
    params
    rule_type_id
    String The ID of the rule type that you want to call when the rule is scheduled to run.
    Enum:
    .index-threshold
    @@ -4355,6 +4356,32 @@ Any modifications made to this file will be overwritten.
    +
    +

    params_index_threshold_rule - Up

    +
    The parameters for an index threshold rule.
    +
    +
    aggField (optional)
    String The name of the numeric field that is used in the aggregation. This property is required when aggType is avg, max, min or sum.
    +
    aggType (optional)
    String The type of aggregation to perform.
    +
    Enum:
    +
    avg
    count
    max
    min
    sum
    +
    filterKuery (optional)
    String A KQL expression thats limits the scope of alerts.
    +
    groupBy (optional)
    String Indicates whether the aggregation is applied over all documents (all) or split into groups (top) using a grouping field (termField). If grouping is used, an alert will be created for each group when it exceeds the threshold; only the top groups (up to termSize number of groups) are checked.
    +
    Enum:
    +
    all
    top
    +
    index
    array[String] The indices to query.
    +
    termField (optional)
    String This property is required when groupBy is top. The name of the field that is used for grouping the aggregation.
    +
    termSize (optional)
    Integer This property is required when groupBy is top. It specifies the number of groups to check against the threshold and therefore limits the number of alerts on high cardinality fields.
    +
    threshold
    array[Integer] The threshold value that is used with the thresholdComparator. If the thresholdComparator is between or notBetween, you must specify the boundary values.
    +
    thresholdComparator
    String The comparison function for the threshold. For example, "is above", "is above or equals", "is below", "is below or equals", and "is between".
    +
    Enum:
    +
    >
    >=
    <
    <=
    between
    notBetween
    +
    timeField
    String The field that is used to calculate the time window.
    +
    timeWindowSize
    Integer The size of the time window (in timeWindowUnit units), which determines how far back to search for documents. Generally it should be a value higher than the rule check interval to avoid gaps in detection.
    +
    timeWindowUnit
    String The type of units for the time window: seconds, minutes, hours, or days.
    +
    Enum:
    +
    s
    m
    h
    d
    +
    +

    params_property_apm_anomaly - Up

    diff --git a/docs/management/advanced-options.asciidoc b/docs/management/advanced-options.asciidoc index 85d6d940a8793..0974a7cf5caf3 100644 --- a/docs/management/advanced-options.asciidoc +++ b/docs/management/advanced-options.asciidoc @@ -198,7 +198,7 @@ to be displayed). [[timepicker-refreshintervaldefaults]]`timepicker:refreshIntervalDefaults`:: The default refresh interval for the time filter. Example: -`{ "display": "15 seconds", "pause": true, "value": 15000 }`. +`{ "pause": true, "value": 15000 }`. [[timepicker-timedefaults]]`timepicker:timeDefaults`:: The default selection in the time filter. diff --git a/package.json b/package.json index fe7881f13dcdb..6a3f61d15abe0 100644 --- a/package.json +++ b/package.json @@ -372,6 +372,7 @@ "@kbn/discover-enhanced-plugin": "link:x-pack/plugins/discover_enhanced", "@kbn/discover-log-explorer-plugin": "link:x-pack/plugins/discover_log_explorer", "@kbn/discover-plugin": "link:src/plugins/discover", + "@kbn/discover-utils": "link:packages/kbn-discover-utils", "@kbn/doc-links": "link:packages/kbn-doc-links", "@kbn/dom-drag-drop": "link:packages/kbn-dom-drag-drop", "@kbn/ebt-tools": "link:packages/kbn-ebt-tools", @@ -499,6 +500,7 @@ "@kbn/maps-vector-tile-utils": "link:x-pack/packages/maps/vector_tile_utils", "@kbn/ml-agg-utils": "link:x-pack/packages/ml/agg_utils", "@kbn/ml-anomaly-utils": "link:x-pack/packages/ml/anomaly_utils", + "@kbn/ml-category-validator": "link:x-pack/packages/ml/category_validator", "@kbn/ml-data-frame-analytics-utils": "link:x-pack/packages/ml/data_frame_analytics_utils", "@kbn/ml-data-grid": "link:x-pack/packages/ml/data_grid", "@kbn/ml-date-picker": "link:x-pack/packages/ml/date_picker", diff --git a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/home_breadcrumbs.tsx b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/home_breadcrumbs.tsx index d11b614fe2ac2..62bfad1b78090 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/home_breadcrumbs.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/home_breadcrumbs.tsx @@ -20,5 +20,6 @@ export const createHomeBreadcrumb = ({ text: , title: i18n.translate('core.ui.chrome.breadcrumbs.homeLink', { defaultMessage: 'Home' }), href: homeHref, + 'data-test-subj': 'breadcrumb-home', }; }; diff --git a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.test.ts b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.test.ts index 8b7424bf0d019..ef0c33330a57d 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.test.ts +++ b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.test.ts @@ -80,6 +80,7 @@ describe('breadcrumbs', () => { expect(breadcrumbs).toMatchInlineSnapshot(` Array [ Object { + "data-test-subj": "breadcrumb-home", "href": "/", "text": { "title": "Home", }, Object { + "data-test-subj": "breadcrumb-deepLinkId-navItem1", "href": "/foo/item1", "text": "Nav Item 1", }, @@ -117,6 +119,7 @@ describe('breadcrumbs', () => { expect(breadcrumbs).toMatchInlineSnapshot(` Array [ Object { + "data-test-subj": "breadcrumb-home", "href": "/", "text": ({ href: node.deepLink?.url ?? node.href, text: node.title, + 'data-test-subj': classnames({ + [`breadcrumb-deepLinkId-${node.deepLink?.id}`]: !!node.deepLink, + }), }) ); diff --git a/packages/kbn-discover-utils/README.md b/packages/kbn-discover-utils/README.md new file mode 100644 index 0000000000000..17f396f1ec929 --- /dev/null +++ b/packages/kbn-discover-utils/README.md @@ -0,0 +1,4 @@ +# @kbn/discover-utils + +This is the package contains extracting parts of Discover for the usage in other +unified components. This are mainly shared types, utils and mocks. \ No newline at end of file diff --git a/packages/kbn-discover-utils/index.ts b/packages/kbn-discover-utils/index.ts new file mode 100644 index 0000000000000..95cb148929060 --- /dev/null +++ b/packages/kbn-discover-utils/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { getDocId, buildDataTableRecord, buildDataTableRecordList } from './src'; diff --git a/packages/kbn-discover-utils/jest.config.js b/packages/kbn-discover-utils/jest.config.js new file mode 100644 index 0000000000000..d93b26e9943f4 --- /dev/null +++ b/packages/kbn-discover-utils/jest.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../..', + roots: ['/packages/kbn-discover-utils'], +}; diff --git a/packages/kbn-discover-utils/kibana.jsonc b/packages/kbn-discover-utils/kibana.jsonc new file mode 100644 index 0000000000000..bf77a20bdb863 --- /dev/null +++ b/packages/kbn-discover-utils/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/discover-utils", + "owner": "@elastic/kibana-data-discovery" +} diff --git a/packages/kbn-discover-utils/package.json b/packages/kbn-discover-utils/package.json new file mode 100644 index 0000000000000..0a3257d65ec58 --- /dev/null +++ b/packages/kbn-discover-utils/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/discover-utils", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/src/plugins/discover/public/__mocks__/data_view.ts b/packages/kbn-discover-utils/src/__mocks__/data_view.ts similarity index 100% rename from src/plugins/discover/public/__mocks__/data_view.ts rename to packages/kbn-discover-utils/src/__mocks__/data_view.ts diff --git a/src/plugins/discover/public/__mocks__/es_hits.ts b/packages/kbn-discover-utils/src/__mocks__/es_hits.ts similarity index 97% rename from src/plugins/discover/public/__mocks__/es_hits.ts rename to packages/kbn-discover-utils/src/__mocks__/es_hits.ts index b4fa5c019f8dd..a23bb1af0ceaf 100644 --- a/src/plugins/discover/public/__mocks__/es_hits.ts +++ b/packages/kbn-discover-utils/src/__mocks__/es_hits.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -export const esHits = [ +export const esHitsMock = [ { _index: 'i', _id: '1', diff --git a/packages/kbn-discover-utils/src/__mocks__/index.ts b/packages/kbn-discover-utils/src/__mocks__/index.ts new file mode 100644 index 0000000000000..c7e1333e83815 --- /dev/null +++ b/packages/kbn-discover-utils/src/__mocks__/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export * from './data_view'; +export * from './es_hits'; diff --git a/packages/kbn-discover-utils/src/index.ts b/packages/kbn-discover-utils/src/index.ts new file mode 100644 index 0000000000000..a50ff5c59e798 --- /dev/null +++ b/packages/kbn-discover-utils/src/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export * from './utils'; diff --git a/packages/kbn-discover-utils/src/types.ts b/packages/kbn-discover-utils/src/types.ts new file mode 100644 index 0000000000000..0b436339f4db9 --- /dev/null +++ b/packages/kbn-discover-utils/src/types.ts @@ -0,0 +1,35 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { SearchHit } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; + +export interface EsHitRecord extends Omit { + _source?: Record; +} + +/** + * This is the record/row of data provided to our Data Table + */ +export interface DataTableRecord { + /** + * A unique id generated by index, id and routing of a record + */ + id: string; + /** + * The document returned by Elasticsearch for search queries + */ + raw: EsHitRecord; + /** + * A flattened version of the ES doc or data provided by SQL, aggregations ... + */ + flattened: Record; + /** + * Determines that the given doc is the anchor doc when rendering view surrounding docs + */ + isAnchor?: boolean; +} diff --git a/packages/kbn-discover-utils/src/utils/build_data_record.test.ts b/packages/kbn-discover-utils/src/utils/build_data_record.test.ts new file mode 100644 index 0000000000000..ad486aba543a1 --- /dev/null +++ b/packages/kbn-discover-utils/src/utils/build_data_record.test.ts @@ -0,0 +1,34 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { buildDataTableRecord, buildDataTableRecordList } from './build_data_record'; +import { dataViewMock, esHitsMock } from '../__mocks__'; + +describe('Data table record utils', () => { + describe('buildDataTableRecord', () => { + test('should return a DataTableRecord', () => { + const result = buildDataTableRecord(esHitsMock[0], dataViewMock, false); + expect(result).toHaveProperty('id', 'i::1::'); + expect(result).toHaveProperty('raw', esHitsMock[0]); + expect(result).toHaveProperty('flattened'); + expect(result).toHaveProperty('isAnchor', false); + }); + }); + + describe('buildDataTableRecordList', () => { + test('should return a list of DataTableRecord', () => { + const result = buildDataTableRecordList(esHitsMock, dataViewMock); + result.forEach((doc) => { + expect(doc).toHaveProperty('id'); + expect(doc).toHaveProperty('raw'); + expect(doc).toHaveProperty('flattened'); + expect(doc).toHaveProperty('isAnchor'); + }); + }); + }); +}); diff --git a/src/plugins/discover/public/utils/build_data_record.ts b/packages/kbn-discover-utils/src/utils/build_data_record.ts similarity index 92% rename from src/plugins/discover/public/utils/build_data_record.ts rename to packages/kbn-discover-utils/src/utils/build_data_record.ts index 2691fddfb66a9..43adf7b9c8b66 100644 --- a/src/plugins/discover/public/utils/build_data_record.ts +++ b/packages/kbn-discover-utils/src/utils/build_data_record.ts @@ -6,10 +6,10 @@ * Side Public License, v 1. */ -import { DataView } from '@kbn/data-views-plugin/common'; -import { flattenHit } from '@kbn/data-plugin/common'; -import { getDocId } from './get_doc_id'; +import type { DataView } from '@kbn/data-views-plugin/common'; +import { flattenHit } from '@kbn/data-service'; import type { DataTableRecord, EsHitRecord } from '../types'; +import { getDocId } from './get_doc_id'; /** * Build a record for data table, explorer + classic one diff --git a/packages/kbn-discover-utils/src/utils/get_doc_id.test.ts b/packages/kbn-discover-utils/src/utils/get_doc_id.test.ts new file mode 100644 index 0000000000000..d0eb2b027671a --- /dev/null +++ b/packages/kbn-discover-utils/src/utils/get_doc_id.test.ts @@ -0,0 +1,17 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { esHitsMock } from '../__mocks__'; +import { getDocId } from './get_doc_id'; + +describe('getDocId', () => { + test('should return unique ID', () => { + const result = getDocId(esHitsMock[0]); + expect(result).toMatchInlineSnapshot(`"i::1::"`); + }); +}); diff --git a/src/plugins/discover/public/utils/get_doc_id.tsx b/packages/kbn-discover-utils/src/utils/get_doc_id.ts similarity index 100% rename from src/plugins/discover/public/utils/get_doc_id.tsx rename to packages/kbn-discover-utils/src/utils/get_doc_id.ts diff --git a/packages/kbn-discover-utils/src/utils/index.ts b/packages/kbn-discover-utils/src/utils/index.ts new file mode 100644 index 0000000000000..fe2ef094c3477 --- /dev/null +++ b/packages/kbn-discover-utils/src/utils/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export * from './build_data_record'; +export * from './get_doc_id'; diff --git a/packages/kbn-discover-utils/tsconfig.json b/packages/kbn-discover-utils/tsconfig.json new file mode 100644 index 0000000000000..2796ebd054d6b --- /dev/null +++ b/packages/kbn-discover-utils/tsconfig.json @@ -0,0 +1,22 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node", + "react" + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/data-views-plugin", + "@kbn/data-service", + ] +} diff --git a/packages/kbn-discover-utils/types.ts b/packages/kbn-discover-utils/types.ts new file mode 100644 index 0000000000000..41101bba14887 --- /dev/null +++ b/packages/kbn-discover-utils/types.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export type { DataTableRecord, EsHitRecord } from './src/types'; diff --git a/packages/shared-ux/chrome/navigation/src/ui/components/navigation.test.tsx b/packages/shared-ux/chrome/navigation/src/ui/components/navigation.test.tsx index fce8f41734014..b804f65e31d6c 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/components/navigation.test.tsx +++ b/packages/shared-ux/chrome/navigation/src/ui/components/navigation.test.tsx @@ -58,16 +58,16 @@ describe('', () => { jest.advanceTimersByTime(SET_NAVIGATION_DELAY); }); - expect(await findByTestId('nav-item-group1.item1')).toBeVisible(); - expect(await findByTestId('nav-item-group1.item2')).toBeVisible(); - expect(await findByTestId('nav-item-group1.group1A')).toBeVisible(); - expect(await findByTestId('nav-item-group1.group1A.item1')).toBeVisible(); - expect(await findByTestId('nav-item-group1.group1A.group1A_1')).toBeVisible(); + expect(await findByTestId(/nav-item-group1.item1/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.item2/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A\s/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A.item1/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A.group1A_1/)).toBeVisible(); // Click the last group to expand and show the last depth - (await findByTestId('nav-item-group1.group1A.group1A_1')).click(); + (await findByTestId(/nav-item-group1.group1A.group1A_1/)).click(); - expect(await findByTestId('nav-item-group1.group1A.group1A_1.item1')).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A.group1A_1.item1/)).toBeVisible(); expect(onProjectNavigationChange).toHaveBeenCalled(); const lastCall = @@ -266,8 +266,8 @@ describe('', () => { jest.advanceTimersByTime(SET_NAVIGATION_DELAY); }); - expect(await findByTestId('nav-item-root.group1.item1')).toBeVisible(); - expect(await findByTestId('nav-item-root.group1.item1')).toBeVisible(); + expect(await findByTestId(/nav-item-root.group1.item1/)).toBeVisible(); + expect(await findByTestId(/nav-item-root.group1.item1/)).toBeVisible(); expect(onProjectNavigationChange).toHaveBeenCalled(); const lastCall = @@ -342,8 +342,8 @@ describe('', () => { jest.advanceTimersByTime(SET_NAVIGATION_DELAY); }); - expect(queryByTestId('nav-group-root.group1')).toBeNull(); - expect(queryByTestId('nav-item-root.group2.item1')).toBeVisible(); + expect(queryByTestId(/nav-group-root.group1/)).toBeNull(); + expect(queryByTestId(/nav-item-root.group2.item1/)).toBeVisible(); expect(onProjectNavigationChange).toHaveBeenCalled(); const lastCall = @@ -649,10 +649,10 @@ describe('', () => { ); - expect(await findByTestId('nav-item-group1.item1')).toHaveClass( + expect(await findByTestId(/nav-item-group1.item1/)).toHaveClass( 'euiSideNavItemButton-isSelected' ); - expect(await findByTestId('nav-item-group1.item2')).not.toHaveClass( + expect(await findByTestId(/nav-item-group1.item2/)).not.toHaveClass( 'euiSideNavItemButton-isSelected' ); @@ -673,10 +673,10 @@ describe('', () => { ]); }); - expect(await findByTestId('nav-item-group1.item1')).not.toHaveClass( + expect(await findByTestId(/nav-item-group1.item1/)).not.toHaveClass( 'euiSideNavItemButton-isSelected' ); - expect(await findByTestId('nav-item-group1.item2')).toHaveClass( + expect(await findByTestId(/nav-item-group1.item2/)).toHaveClass( 'euiSideNavItemButton-isSelected' ); }); @@ -730,7 +730,7 @@ describe('', () => { jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - expect(await findByTestId('nav-item-group1.item1')).toHaveClass( + expect(await findByTestId(/nav-item-group1.item1/)).toHaveClass( 'euiSideNavItemButton-isSelected' ); }); @@ -752,17 +752,17 @@ describe('', () => { ); - expect(await findByTestId('nav-item-group1.cloudLink1')).toBeVisible(); - expect(await findByTestId('nav-item-group1.cloudLink2')).toBeVisible(); - expect(await findByTestId('nav-item-group1.cloudLink3')).toBeVisible(); + expect(await findByTestId(/nav-item-group1.cloudLink1/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.cloudLink2/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.cloudLink3/)).toBeVisible(); - expect(await (await findByTestId('nav-item-group1.cloudLink1')).textContent).toBe( + expect(await (await findByTestId(/nav-item-group1.cloudLink1/)).textContent).toBe( 'Mock Users & RolesExternal link' ); - expect(await (await findByTestId('nav-item-group1.cloudLink2')).textContent).toBe( + expect(await (await findByTestId(/nav-item-group1.cloudLink2/)).textContent).toBe( 'Mock PerformanceExternal link' ); - expect(await (await findByTestId('nav-item-group1.cloudLink3')).textContent).toBe( + expect(await (await findByTestId(/nav-item-group1.cloudLink3/)).textContent).toBe( 'Mock Billing & SubscriptionsExternal link' ); }); diff --git a/packages/shared-ux/chrome/navigation/src/ui/components/navigation_section_ui.tsx b/packages/shared-ux/chrome/navigation/src/ui/components/navigation_section_ui.tsx index 6aba392c626f9..5926d72fa65c5 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/components/navigation_section_ui.tsx +++ b/packages/shared-ux/chrome/navigation/src/ui/components/navigation_section_ui.tsx @@ -15,6 +15,7 @@ import { EuiSideNavItemType, EuiText, } from '@elastic/eui'; +import classnames from 'classnames'; import type { BasePathService, NavigateToUrlFn } from '../../../types/internal'; import { navigationStyles as styles } from '../../styles'; import { useNavigation as useServices } from '../../services'; @@ -31,7 +32,12 @@ const navigationNodeToEuiItem = ( const href = item.deepLink?.url ?? item.href; const id = item.path ? item.path.join('.') : item.id; const isExternal = Boolean(href) && isAbsoluteLink(href!); - const dataTestSubj = `nav-item-${id}`; + const isSelected = item.children && item.children.length > 0 ? false : item.isActive; + const dataTestSubj = classnames(`nav-item`, `nav-item-${id}`, { + [`nav-item-deepLinkId-${item.deepLink?.id}`]: !!item.deepLink, + [`nav-item-id-${item.id}`]: item.id, + [`nav-item-isActive`]: isSelected, + }); const getRenderItem = (): RenderItem | undefined => { if (!isExternal || item.renderItem) { @@ -47,8 +53,6 @@ const navigationNodeToEuiItem = ( ); }; - const isSelected = item.children && item.children.length > 0 ? false : item.isActive; - return { id, name: item.title, diff --git a/packages/shared-ux/chrome/navigation/src/ui/default_navigation.test.tsx b/packages/shared-ux/chrome/navigation/src/ui/default_navigation.test.tsx index ad6f2caf16c0c..dea2a5ffbabf7 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/default_navigation.test.tsx +++ b/packages/shared-ux/chrome/navigation/src/ui/default_navigation.test.tsx @@ -90,16 +90,16 @@ describe('', () => { jest.advanceTimersByTime(SET_NAVIGATION_DELAY); }); - expect(await findByTestId('nav-item-group1.item1')).toBeVisible(); - expect(await findByTestId('nav-item-group1.item2')).toBeVisible(); - expect(await findByTestId('nav-item-group1.group1A')).toBeVisible(); - expect(await findByTestId('nav-item-group1.group1A.item1')).toBeVisible(); - expect(await findByTestId('nav-item-group1.group1A.group1A_1')).toBeVisible(); + expect(await findByTestId(/nav-item-group1.item1/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.item2/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A\s/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A.item1/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A.group1A_1/)).toBeVisible(); // Click the last group to expand and show the last depth - (await findByTestId('nav-item-group1.group1A.group1A_1')).click(); + (await findByTestId(/nav-item-group1.group1A.group1A_1/)).click(); - expect(await findByTestId('nav-item-group1.group1A.group1A_1.item1')).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A.group1A_1.item1/)).toBeVisible(); expect(onProjectNavigationChange).toHaveBeenCalled(); const lastCall = @@ -556,10 +556,10 @@ describe('', () => { jest.advanceTimersByTime(SET_NAVIGATION_DELAY); }); - expect(await findByTestId('nav-item-group1.item1')).toHaveClass( + expect(await findByTestId(/nav-item-group1.item1/)).toHaveClass( 'euiSideNavItemButton-isSelected' ); - expect(await findByTestId('nav-item-group1.item2')).not.toHaveClass( + expect(await findByTestId(/nav-item-group1.item2/)).not.toHaveClass( 'euiSideNavItemButton-isSelected' ); }); @@ -619,7 +619,7 @@ describe('', () => { jest.advanceTimersByTime(SET_NAVIGATION_DELAY); }); - expect(await findByTestId('nav-item-group1.item1')).toHaveClass( + expect(await findByTestId(/nav-item-group1.item1/)).toHaveClass( 'euiSideNavItemButton-isSelected' ); }); @@ -705,7 +705,7 @@ describe('', () => { expect( await ( await findByTestId( - 'nav-item-project_settings_project_nav.settings.cloudLinkUserAndRoles' + /nav-item-project_settings_project_nav.settings.cloudLinkUserAndRoles/ ) ).textContent ).toBe('Mock Users & RolesExternal link'); @@ -713,14 +713,14 @@ describe('', () => { expect( await ( await findByTestId( - 'nav-item-project_settings_project_nav.settings.cloudLinkPerformance' + /nav-item-project_settings_project_nav.settings.cloudLinkPerformance/ ) ).textContent ).toBe('Mock PerformanceExternal link'); expect( await ( - await findByTestId('nav-item-project_settings_project_nav.settings.cloudLinkBilling') + await findByTestId(/nav-item-project_settings_project_nav.settings.cloudLinkBilling/) ).textContent ).toBe('Mock Billing & SubscriptionsExternal link'); }); diff --git a/src/plugins/data/common/constants.ts b/src/plugins/data/common/constants.ts index c84edc8ba9719..57f6521466460 100644 --- a/src/plugins/data/common/constants.ts +++ b/src/plugins/data/common/constants.ts @@ -14,3 +14,6 @@ export const KIBANA_USER_QUERY_LANGUAGE_KEY = 'kibana.userQueryLanguage'; export type ValueSuggestionsMethod = 'terms_enum' | 'terms_agg'; export const SAVED_QUERY_BASE_URL = '/internal/saved_query'; + +export const KQL_TELEMETRY_ROUTE_LATEST_VERSION = '1'; +export const SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION = '1'; diff --git a/src/plugins/data/common/index.ts b/src/plugins/data/common/index.ts index 38e4d802cd838..0d2fce23109f0 100644 --- a/src/plugins/data/common/index.ts +++ b/src/plugins/data/common/index.ts @@ -9,7 +9,13 @@ // TODO: https://github.com/elastic/kibana/issues/109904 /* eslint-disable @kbn/eslint/no_export_all */ -export { DEFAULT_QUERY_LANGUAGE, KIBANA_USER_QUERY_LANGUAGE_KEY, UI_SETTINGS } from './constants'; +export { + DEFAULT_QUERY_LANGUAGE, + KIBANA_USER_QUERY_LANGUAGE_KEY, + KQL_TELEMETRY_ROUTE_LATEST_VERSION, + SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION, + UI_SETTINGS, +} from './constants'; export type { ValueSuggestionsMethod } from './constants'; export { DatatableUtilitiesService } from './datatable_utilities'; export { getEsQueryConfig } from './es_query'; diff --git a/src/plugins/data/server/kql_telemetry/route.ts b/src/plugins/data/server/kql_telemetry/route.ts index 9e1f497ce53e2..4d99d469bd097 100644 --- a/src/plugins/data/server/kql_telemetry/route.ts +++ b/src/plugins/data/server/kql_telemetry/route.ts @@ -8,47 +8,64 @@ import { StartServicesAccessor, IRouter, Logger } from '@kbn/core/server'; import { schema } from '@kbn/config-schema'; +import { KQL_TELEMETRY_ROUTE_LATEST_VERSION } from '../../common/constants'; export function registerKqlTelemetryRoute( router: IRouter, getStartServices: StartServicesAccessor, logger: Logger ) { - router.post( - { - path: '/api/kibana/kql_opt_in_stats', - validate: { - body: schema.object({ - opt_in: schema.boolean(), - }), + router.versioned + .post({ + path: '/internal/kql_opt_in_stats', + access: 'internal', + }) + .addVersion( + { + version: KQL_TELEMETRY_ROUTE_LATEST_VERSION, + validate: { + request: { + body: schema.object({ + opt_in: schema.boolean(), + }), + }, + response: { + '200': { + body: schema.object({ + success: schema.boolean(), + }), + }, + }, + }, }, - }, - async (context, request, response) => { - const [{ savedObjects }] = await getStartServices(); - const internalRepository = savedObjects.createInternalRepository(); + async (context, request, response) => { + const [{ savedObjects }] = await getStartServices(); + const internalRepository = savedObjects.createInternalRepository(); - const { - body: { opt_in: optIn }, - } = request; + const { + body: { opt_in: optIn }, + } = request; - const counterName = optIn ? 'optInCount' : 'optOutCount'; + const counterName = optIn ? 'optInCount' : 'optOutCount'; - try { - await internalRepository.incrementCounter('kql-telemetry', 'kql-telemetry', [counterName]); - } catch (error) { - logger.warn(`Unable to increment counter: ${error}`); - return response.customError({ - statusCode: error.status, - body: { - message: 'Something went wrong', - attributes: { - success: false, + try { + await internalRepository.incrementCounter('kql-telemetry', 'kql-telemetry', [ + counterName, + ]); + } catch (error) { + logger.warn(`Unable to increment counter: ${error}`); + return response.customError({ + statusCode: error.status, + body: { + message: 'Something went wrong', + attributes: { + success: false, + }, }, - }, - }); - } + }); + } - return response.ok({ body: { success: true } }); - } - ); + return response.ok({ body: { success: true } }); + } + ); } diff --git a/src/plugins/data/server/scripts/route.ts b/src/plugins/data/server/scripts/route.ts index 2427bd91d967d..6b57280753d78 100644 --- a/src/plugins/data/server/scripts/route.ts +++ b/src/plugins/data/server/scripts/route.ts @@ -7,14 +7,30 @@ */ import { IRouter } from '@kbn/core/server'; +import { schema } from '@kbn/config-schema'; +import { SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION } from '../../common/constants'; export function registerScriptsRoute(router: IRouter) { - router.get( - { path: '/api/kibana/scripts/languages', validate: false }, - async (context, request, response) => { - return response.ok({ - body: ['painless', 'expression'], - }); - } - ); + router.versioned + .get({ + path: '/internal/scripts/languages', + access: 'internal', + }) + .addVersion( + { + version: SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION, + validate: { + response: { + '200': { + body: schema.arrayOf(schema.string()), + }, + }, + }, + }, + async (context, request, response) => { + return response.ok({ + body: ['painless', 'expression'], + }); + } + ); } diff --git a/src/plugins/data_view_management/public/scripting_languages/index.ts b/src/plugins/data_view_management/public/scripting_languages/index.ts index 58be2a520e5fb..ea22010351108 100644 --- a/src/plugins/data_view_management/public/scripting_languages/index.ts +++ b/src/plugins/data_view_management/public/scripting_languages/index.ts @@ -8,6 +8,7 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { i18n } from '@kbn/i18n'; import { HttpStart, NotificationsStart } from '@kbn/core/public'; +import { SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION } from '@kbn/data-plugin/common'; export function getSupportedScriptingLanguages(): estypes.ScriptLanguage[] { return ['painless']; @@ -21,12 +22,16 @@ export const getEnabledScriptingLanguages = ( http: HttpStart, toasts: NotificationsStart['toasts'] ) => - http.get('/api/kibana/scripts/languages').catch(() => { - toasts.addDanger( - i18n.translate('indexPatternManagement.scriptingLanguages.errorFetchingToastDescription', { - defaultMessage: 'Error getting available scripting languages from Elasticsearch', - }) - ); + http + .get('/internal/scripts/languages', { + version: SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION, + }) + .catch(() => { + toasts.addDanger( + i18n.translate('indexPatternManagement.scriptingLanguages.errorFetchingToastDescription', { + defaultMessage: 'Error getting available scripting languages from Elasticsearch', + }) + ); - return [] as estypes.ScriptLanguage[]; - }); + return [] as estypes.ScriptLanguage[]; + }); diff --git a/src/plugins/discover/public/__fixtures__/real_hits.ts b/src/plugins/discover/public/__fixtures__/real_hits.ts index 96d084a977bd4..0500564a3666e 100644 --- a/src/plugins/discover/public/__fixtures__/real_hits.ts +++ b/src/plugins/discover/public/__fixtures__/real_hits.ts @@ -7,8 +7,8 @@ */ import type { DataView } from '@kbn/data-views-plugin/common'; import { cloneDeep } from 'lodash'; -import { buildDataTableRecord } from '../utils/build_data_record'; -import type { EsHitRecord } from '../types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; /* Extensions: gif: 5 diff --git a/src/plugins/discover/public/__mocks__/data_view_complex.ts b/src/plugins/discover/public/__mocks__/data_view_complex.ts index 6953c044391ae..03161a0df4e3f 100644 --- a/src/plugins/discover/public/__mocks__/data_view_complex.ts +++ b/src/plugins/discover/public/__mocks__/data_view_complex.ts @@ -7,7 +7,7 @@ */ import { DataView } from '@kbn/data-views-plugin/public'; -import { buildDataViewMock } from './data_view'; +import { buildDataViewMock } from '@kbn/discover-utils/src/__mocks__'; const fields = [ { diff --git a/src/plugins/discover/public/__mocks__/data_view_with_timefield.ts b/src/plugins/discover/public/__mocks__/data_view_with_timefield.ts index a481c648aad20..374b6b23f837b 100644 --- a/src/plugins/discover/public/__mocks__/data_view_with_timefield.ts +++ b/src/plugins/discover/public/__mocks__/data_view_with_timefield.ts @@ -7,7 +7,7 @@ */ import { DataView } from '@kbn/data-views-plugin/public'; -import { buildDataViewMock } from './data_view'; +import { buildDataViewMock } from '@kbn/discover-utils/src/__mocks__'; const fields = [ { diff --git a/src/plugins/discover/public/__mocks__/data_views.ts b/src/plugins/discover/public/__mocks__/data_views.ts index a9e5a880e9196..67849ada01ec2 100644 --- a/src/plugins/discover/public/__mocks__/data_views.ts +++ b/src/plugins/discover/public/__mocks__/data_views.ts @@ -7,7 +7,7 @@ */ import { DataViewsContract } from '@kbn/data-views-plugin/public'; -import { dataViewMock } from './data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { dataViewComplexMock } from './data_view_complex'; import { dataViewWithTimefieldMock } from './data_view_with_timefield'; diff --git a/src/plugins/discover/public/__mocks__/grid_context.ts b/src/plugins/discover/public/__mocks__/grid_context.ts index 97f8e1ac62d45..8949945c2b0d8 100644 --- a/src/plugins/discover/public/__mocks__/grid_context.ts +++ b/src/plugins/discover/public/__mocks__/grid_context.ts @@ -7,15 +7,14 @@ */ import type { DataView } from '@kbn/data-views-plugin/public'; -import { dataViewMock } from './data_view'; +import { dataViewMock, esHitsMock } from '@kbn/discover-utils/src/__mocks__'; import { dataViewComplexMock } from './data_view_complex'; -import { esHits } from './es_hits'; import { esHitsComplex } from './es_hits_complex'; import { discoverServiceMock } from './services'; import { GridContext } from '../components/discover_grid/discover_grid_context'; import { convertValueToString } from '../utils/convert_value_to_string'; -import { buildDataTableRecord } from '../utils/build_data_record'; -import { EsHitRecord } from '../types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; const buildGridContext = (dataView: DataView, rows: EsHitRecord[]): GridContext => { const usedRows = rows.map((row) => { @@ -43,6 +42,6 @@ const buildGridContext = (dataView: DataView, rows: EsHitRecord[]): GridContext }; }; -export const discoverGridContextMock = buildGridContext(dataViewMock, esHits); +export const discoverGridContextMock = buildGridContext(dataViewMock, esHitsMock); export const discoverGridContextComplexMock = buildGridContext(dataViewComplexMock, esHitsComplex); diff --git a/src/plugins/discover/public/__mocks__/saved_search.ts b/src/plugins/discover/public/__mocks__/saved_search.ts index c18c320063240..c6751b2990bc4 100644 --- a/src/plugins/discover/public/__mocks__/saved_search.ts +++ b/src/plugins/discover/public/__mocks__/saved_search.ts @@ -8,7 +8,7 @@ import { SavedSearch } from '@kbn/saved-search-plugin/public'; import { createSearchSourceMock } from '@kbn/data-plugin/public/mocks'; -import { dataViewMock } from './data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { dataViewWithTimefieldMock } from './data_view_with_timefield'; import { dataViewAdHoc } from './data_view_complex'; diff --git a/src/plugins/discover/public/application/context/__mocks__/use_context_app_fetch.tsx b/src/plugins/discover/public/application/context/__mocks__/use_context_app_fetch.tsx index a5c402b39e44a..cbbf0062df0f1 100644 --- a/src/plugins/discover/public/application/context/__mocks__/use_context_app_fetch.tsx +++ b/src/plugins/discover/public/application/context/__mocks__/use_context_app_fetch.tsx @@ -6,8 +6,8 @@ * Side Public License, v 1. */ -import { dataViewMock } from '../../../__mocks__/data_view'; -import { buildDataTableRecord } from '../../../utils/build_data_record'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; +import { buildDataTableRecord } from '@kbn/discover-utils'; export const mockAnchorHit = buildDataTableRecord( { diff --git a/src/plugins/discover/public/application/context/context_app.test.tsx b/src/plugins/discover/public/application/context/context_app.test.tsx index c4c2f54cb75d9..c3f87b0117250 100644 --- a/src/plugins/discover/public/application/context/context_app.test.tsx +++ b/src/plugins/discover/public/application/context/context_app.test.tsx @@ -12,7 +12,7 @@ import { mountWithIntl } from '@kbn/test-jest-helpers'; import { createFilterManagerMock } from '@kbn/data-plugin/public/query/filter_manager/filter_manager.mock'; import { mockTopNavMenu } from './__mocks__/top_nav_menu'; import { ContextAppContent } from './context_app_content'; -import { dataViewMock } from '../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { ContextApp } from './context_app'; import { DiscoverServices } from '../../build_services'; import { dataViewsMock } from '../../__mocks__/data_views'; diff --git a/src/plugins/discover/public/application/context/context_app_content.test.tsx b/src/plugins/discover/public/application/context/context_app_content.test.tsx index c4c22fc472bd4..f7ce2235333d4 100644 --- a/src/plugins/discover/public/application/context/context_app_content.test.tsx +++ b/src/plugins/discover/public/application/context/context_app_content.test.tsx @@ -14,12 +14,12 @@ import { GetStateReturn } from './services/context_state'; import { SortDirection } from '@kbn/data-plugin/public'; import { ContextAppContent, ContextAppContentProps } from './context_app_content'; import { LoadingStatus } from './services/context_query_state'; -import { dataViewMock } from '../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { discoverServiceMock } from '../../__mocks__/services'; import { DiscoverGrid } from '../../components/discover_grid/discover_grid'; import { DocTableWrapper } from '../../components/doc_table/doc_table_wrapper'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { buildDataTableRecord } from '../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; import { act } from 'react-dom/test-utils'; describe('ContextAppContent test', () => { diff --git a/src/plugins/discover/public/application/context/context_app_content.tsx b/src/plugins/discover/public/application/context/context_app_content.tsx index 62c3a0e1ca863..595a3239763cd 100644 --- a/src/plugins/discover/public/application/context/context_app_content.tsx +++ b/src/plugins/discover/public/application/context/context_app_content.tsx @@ -13,6 +13,7 @@ import type { DataView } from '@kbn/data-views-plugin/public'; import { SortDirection } from '@kbn/data-plugin/public'; import type { SortOrder } from '@kbn/saved-search-plugin/public'; import { CellActionsProvider } from '@kbn/cell-actions'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { CONTEXT_STEP_SETTING, DOC_HIDE_TIME_COLUMN_SETTING } from '../../../common'; import { LoadingStatus } from './services/context_query_state'; import { ActionBar } from './components/action_bar/action_bar'; @@ -23,7 +24,6 @@ import { SurrDocType } from './services/context'; import { MAX_CONTEXT_SIZE, MIN_CONTEXT_SIZE } from './services/constants'; import { DocTableContext } from '../../components/doc_table/doc_table_context'; import { useDiscoverServices } from '../../hooks/use_discover_services'; -import type { DataTableRecord } from '../../types'; import { DiscoverGridFlyout } from '../../components/discover_grid/discover_grid_flyout'; import { DocViewer } from '../../services/doc_views/components/doc_viewer'; diff --git a/src/plugins/discover/public/application/context/hooks/use_context_app_fetch.tsx b/src/plugins/discover/public/application/context/hooks/use_context_app_fetch.tsx index 75ea1d1a56130..ef4dfc62a6c0b 100644 --- a/src/plugins/discover/public/application/context/hooks/use_context_app_fetch.tsx +++ b/src/plugins/discover/public/application/context/hooks/use_context_app_fetch.tsx @@ -10,6 +10,7 @@ import { i18n } from '@kbn/i18n'; import { MarkdownSimple, toMountPoint, wrapWithTheme } from '@kbn/kibana-react-plugin/public'; import type { DataView } from '@kbn/data-views-plugin/public'; import { SortDirection } from '@kbn/data-plugin/public'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { CONTEXT_TIE_BREAKER_FIELDS_SETTING } from '../../../../common'; import { fetchAnchor } from '../services/anchor'; import { fetchSurroundingDocs, SurrDocType } from '../services/context'; @@ -22,7 +23,6 @@ import { import { AppState } from '../services/context_state'; import { getFirstSortableField } from '../utils/sorting'; import { useDiscoverServices } from '../../../hooks/use_discover_services'; -import type { DataTableRecord } from '../../../types'; const createError = (statusKey: string, reason: FailureReason, error?: Error) => ({ [statusKey]: { value: LoadingStatus.FAILED, error, reason }, diff --git a/src/plugins/discover/public/application/context/services/_stubs.ts b/src/plugins/discover/public/application/context/services/_stubs.ts index f2375372829bc..acdd07c779d5f 100644 --- a/src/plugins/discover/public/application/context/services/_stubs.ts +++ b/src/plugins/discover/public/application/context/services/_stubs.ts @@ -11,7 +11,7 @@ import moment from 'moment'; import { of } from 'rxjs'; import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { IKibanaSearchResponse } from '@kbn/data-plugin/common'; -import { EsHitRecord } from '../../../types'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; type SortHit = { [key in string]: number; // timeField name diff --git a/src/plugins/discover/public/application/context/services/anchor.test.ts b/src/plugins/discover/public/application/context/services/anchor.test.ts index 11aaa3a46883b..a20b2d454bcdd 100644 --- a/src/plugins/discover/public/application/context/services/anchor.test.ts +++ b/src/plugins/discover/public/application/context/services/anchor.test.ts @@ -9,7 +9,7 @@ import { DataView } from '@kbn/data-views-plugin/public'; import { SortDirection } from '@kbn/data-plugin/public'; import { createSearchSourceStub } from './_stubs'; import { fetchAnchor, updateSearchSource } from './anchor'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { savedSearchMock } from '../../../__mocks__/saved_search'; describe('context app', function () { diff --git a/src/plugins/discover/public/application/context/services/anchor.ts b/src/plugins/discover/public/application/context/services/anchor.ts index 51781e2c2992d..dce35fea93282 100644 --- a/src/plugins/discover/public/application/context/services/anchor.ts +++ b/src/plugins/discover/public/application/context/services/anchor.ts @@ -9,8 +9,8 @@ import { lastValueFrom } from 'rxjs'; import { i18n } from '@kbn/i18n'; import { ISearchSource, EsQuerySortValue } from '@kbn/data-plugin/public'; import { DataView } from '@kbn/data-views-plugin/public'; -import { DataTableRecord, EsHitRecord } from '../../../types'; -import { buildDataTableRecord } from '../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { DataTableRecord, EsHitRecord } from '@kbn/discover-utils/types'; export async function fetchAnchor( anchorId: string, diff --git a/src/plugins/discover/public/application/context/services/context.predecessors.test.ts b/src/plugins/discover/public/application/context/services/context.predecessors.test.ts index 626ba7b10af3d..cf06344eace72 100644 --- a/src/plugins/discover/public/application/context/services/context.predecessors.test.ts +++ b/src/plugins/discover/public/application/context/services/context.predecessors.test.ts @@ -14,8 +14,8 @@ import { Query } from '@kbn/es-query'; import { createContextSearchSourceStub } from './_stubs'; import { fetchSurroundingDocs, SurrDocType } from './context'; import { DataPublicPluginStart } from '@kbn/data-plugin/public'; -import { DataTableRecord, EsHitRecord } from '../../../types'; -import { buildDataTableRecord, buildDataTableRecordList } from '../../../utils/build_data_record'; +import type { DataTableRecord, EsHitRecord } from '@kbn/discover-utils/types'; +import { buildDataTableRecord, buildDataTableRecordList } from '@kbn/discover-utils'; const MS_PER_DAY = 24 * 60 * 60 * 1000; const ANCHOR_TIMESTAMP = new Date(MS_PER_DAY).toJSON(); diff --git a/src/plugins/discover/public/application/context/services/context.successors.test.ts b/src/plugins/discover/public/application/context/services/context.successors.test.ts index 6bdadb4a93871..049d9efa2abf7 100644 --- a/src/plugins/discover/public/application/context/services/context.successors.test.ts +++ b/src/plugins/discover/public/application/context/services/context.successors.test.ts @@ -14,8 +14,8 @@ import { createContextSearchSourceStub } from './_stubs'; import { DataPublicPluginStart } from '@kbn/data-plugin/public'; import { Query } from '@kbn/es-query'; import { fetchSurroundingDocs, SurrDocType } from './context'; -import { DataTableRecord } from '../../../types'; -import { buildDataTableRecord, buildDataTableRecordList } from '../../../utils/build_data_record'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; +import { buildDataTableRecord, buildDataTableRecordList } from '@kbn/discover-utils'; const MS_PER_DAY = 24 * 60 * 60 * 1000; const ANCHOR_TIMESTAMP = new Date(MS_PER_DAY).toJSON(); diff --git a/src/plugins/discover/public/application/context/services/context.test.ts b/src/plugins/discover/public/application/context/services/context.test.ts index 4c929a6b4fed6..762364e8aa8a0 100644 --- a/src/plugins/discover/public/application/context/services/context.test.ts +++ b/src/plugins/discover/public/application/context/services/context.test.ts @@ -7,7 +7,7 @@ */ import { updateSearchSource } from './context'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { createSearchSourceMock } from '@kbn/data-plugin/public/mocks'; describe('context api', function () { diff --git a/src/plugins/discover/public/application/context/services/context.ts b/src/plugins/discover/public/application/context/services/context.ts index fc221200a5344..ce448d68f38ef 100644 --- a/src/plugins/discover/public/application/context/services/context.ts +++ b/src/plugins/discover/public/application/context/services/context.ts @@ -8,13 +8,13 @@ import type { Filter } from '@kbn/es-query'; import { DataView } from '@kbn/data-views-plugin/public'; import { DataPublicPluginStart, ISearchSource } from '@kbn/data-plugin/public'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { reverseSortDir, SortDirection } from '../utils/sorting'; import { convertIsoToMillis, extractNanos } from '../utils/date_conversion'; import { fetchHitsInInterval } from '../utils/fetch_hits_in_interval'; import { generateIntervals } from '../utils/generate_intervals'; import { getEsQuerySearchAfter } from '../utils/get_es_query_search_after'; import { getEsQuerySort } from '../utils/get_es_query_sort'; -import { DataTableRecord } from '../../../types'; export enum SurrDocType { SUCCESSORS = 'successors', diff --git a/src/plugins/discover/public/application/context/services/context_query_state.ts b/src/plugins/discover/public/application/context/services/context_query_state.ts index 611c7666b52fb..a640c99e71e15 100644 --- a/src/plugins/discover/public/application/context/services/context_query_state.ts +++ b/src/plugins/discover/public/application/context/services/context_query_state.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { DataTableRecord } from '../../../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; export interface ContextFetchState { /** diff --git a/src/plugins/discover/public/application/context/services/context_state.test.ts b/src/plugins/discover/public/application/context/services/context_state.test.ts index ae1916158f85e..5a0a1aacbde57 100644 --- a/src/plugins/discover/public/application/context/services/context_state.test.ts +++ b/src/plugins/discover/public/application/context/services/context_state.test.ts @@ -14,7 +14,7 @@ import { FilterManager } from '@kbn/data-plugin/public'; import { coreMock } from '@kbn/core/public/mocks'; import { SEARCH_FIELDS_FROM_SOURCE } from '../../../../common'; import { discoverServiceMock } from '../../../__mocks__/services'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; discoverServiceMock.data.query.filterManager.getAppFilters = jest.fn(() => []); discoverServiceMock.data.query.filterManager.getGlobalFilters = jest.fn(() => []); diff --git a/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts b/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts index a04ae0e1e5836..115d501eed135 100644 --- a/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts +++ b/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts @@ -8,10 +8,10 @@ import { lastValueFrom } from 'rxjs'; import { ISearchSource, EsQuerySortValue, SortDirection } from '@kbn/data-plugin/public'; import { EsQuerySearchAfter } from '@kbn/data-plugin/common'; -import { buildDataTableRecord } from '../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { convertTimeValueToIso } from './date_conversion'; import { IntervalValue } from './generate_intervals'; -import type { DataTableRecord } from '../../../types'; interface RangeQuery { format: string; diff --git a/src/plugins/discover/public/application/context/utils/get_es_query_search_after.ts b/src/plugins/discover/public/application/context/utils/get_es_query_search_after.ts index bfec54c61e856..51e2be09c054f 100644 --- a/src/plugins/discover/public/application/context/utils/get_es_query_search_after.ts +++ b/src/plugins/discover/public/application/context/utils/get_es_query_search_after.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ import type { EsQuerySearchAfter } from '@kbn/data-plugin/common'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { SurrDocType } from '../services/context'; -import type { DataTableRecord } from '../../../types'; /** * Get the searchAfter query value for elasticsearch diff --git a/src/plugins/discover/public/application/doc/components/doc.test.tsx b/src/plugins/discover/public/application/doc/components/doc.test.tsx index 1a808bb05db7f..c9dfdc3b595c0 100644 --- a/src/plugins/discover/public/application/doc/components/doc.test.tsx +++ b/src/plugins/discover/public/application/doc/components/doc.test.tsx @@ -14,7 +14,7 @@ import { ReactWrapper } from 'enzyme'; import { findTestSubject } from '@elastic/eui/lib/test'; import { Doc, DocProps } from './doc'; import { SEARCH_FIELDS_FROM_SOURCE as mockSearchFieldsFromSource } from '../../../../common'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; const mockSearchApi = jest.fn(); diff --git a/src/plugins/discover/public/application/doc/components/doc.tsx b/src/plugins/discover/public/application/doc/components/doc.tsx index ac04439ffbac6..527ba4377f078 100644 --- a/src/plugins/discover/public/application/doc/components/doc.tsx +++ b/src/plugins/discover/public/application/doc/components/doc.tsx @@ -11,12 +11,12 @@ import { FormattedMessage } from '@kbn/i18n-react'; import { EuiCallOut, EuiLink, EuiLoadingSpinner, EuiPage, EuiPageBody } from '@elastic/eui'; import type { DataView } from '@kbn/data-views-plugin/public'; import { i18n } from '@kbn/i18n'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { getRootBreadcrumbs } from '../../../utils/breadcrumbs'; import { DocViewer } from '../../../services/doc_views/components/doc_viewer'; import { ElasticRequestState } from '../types'; import { useEsDocSearch } from '../../../hooks/use_es_doc_search'; import { useDiscoverServices } from '../../../hooks/use_discover_services'; -import type { DataTableRecord } from '../../../types'; export interface DocProps { /** diff --git a/src/plugins/discover/public/application/main/components/layout/__stories__/get_layout_props.ts b/src/plugins/discover/public/application/main/components/layout/__stories__/get_layout_props.ts index dfc1b001b42db..8d95db014fdc8 100644 --- a/src/plugins/discover/public/application/main/components/layout/__stories__/get_layout_props.ts +++ b/src/plugins/discover/public/application/main/components/layout/__stories__/get_layout_props.ts @@ -13,6 +13,8 @@ import { RequestAdapter } from '@kbn/inspector-plugin/common'; import { action } from '@storybook/addon-actions'; import { createHashHistory } from 'history'; import { SavedSearch } from '@kbn/saved-search-plugin/public'; +import { buildDataTableRecordList } from '@kbn/discover-utils'; +import { esHitsMock } from '@kbn/discover-utils/src/__mocks__'; import { FetchStatus } from '../../../../types'; import { AvailableFields$, @@ -21,8 +23,6 @@ import { DataTotalHits$, RecordRawType, } from '../../../services/discover_data_state_container'; -import { buildDataTableRecordList } from '../../../../../utils/build_data_record'; -import { esHits } from '../../../../../__mocks__/es_hits'; import { DiscoverLayoutProps } from '../discover_layout'; import { DiscoverStateContainer, @@ -38,7 +38,7 @@ const documentObservables = { documents$: new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: buildDataTableRecordList(esHits), + result: buildDataTableRecordList(esHitsMock), }) as DataDocuments$, availableFields$: new BehaviorSubject({ @@ -48,7 +48,7 @@ const documentObservables = { totalHits$: new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: Number(esHits.length), + result: Number(esHitsMock.length), }) as DataTotalHits$, fetch$: new Observable(), }; @@ -62,7 +62,7 @@ const plainRecordObservables = { documents$: new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: buildDataTableRecordList(esHits), + result: buildDataTableRecordList(esHitsMock), recordRawType: RecordRawType.PLAIN, }) as DataDocuments$, diff --git a/src/plugins/discover/public/application/main/components/layout/discover_documents.test.tsx b/src/plugins/discover/public/application/main/components/layout/discover_documents.test.tsx index 39fa270a8c9b7..fdbd153122cd1 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_documents.test.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_documents.test.tsx @@ -11,15 +11,14 @@ import { act } from 'react-dom/test-utils'; import { BehaviorSubject } from 'rxjs'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import { setHeaderActionMenuMounter } from '../../../../kibana_services'; -import { esHits } from '../../../../__mocks__/es_hits'; import { DataDocuments$ } from '../../services/discover_data_state_container'; import { discoverServiceMock } from '../../../../__mocks__/services'; import { FetchStatus } from '../../../types'; import { DiscoverDocuments, onResize } from './discover_documents'; -import { dataViewMock } from '../../../../__mocks__/data_view'; +import { dataViewMock, esHitsMock } from '@kbn/discover-utils/src/__mocks__'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { buildDataTableRecord } from '../../../../utils/build_data_record'; -import { EsHitRecord } from '../../../../types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; import { DiscoverMainProvider } from '../../services/discover_state_provider'; import { getDiscoverStateMock } from '../../../../__mocks__/discover_state.mock'; import { DiscoverAppState } from '../../services/discover_app_state_container'; @@ -68,13 +67,13 @@ describe('Discover documents layout', () => { }); test('render complete when loading but documents were already fetched', async () => { - const component = await mountComponent(FetchStatus.LOADING, esHits); + const component = await mountComponent(FetchStatus.LOADING, esHitsMock); expect(component.find('.dscDocuments__loading').exists()).toBeFalsy(); expect(component.find('.dscTable').exists()).toBeTruthy(); }); test('render complete', async () => { - const component = await mountComponent(FetchStatus.COMPLETE, esHits); + const component = await mountComponent(FetchStatus.COMPLETE, esHitsMock); expect(component.find('.dscDocuments__loading').exists()).toBeFalsy(); expect(component.find('.dscTable').exists()).toBeTruthy(); }); diff --git a/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx b/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx index d702848105f40..6e72857ef2aca 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx @@ -19,6 +19,7 @@ import { css } from '@emotion/react'; import { DataView } from '@kbn/data-views-plugin/public'; import { SortOrder } from '@kbn/saved-search-plugin/public'; import { CellActionsProvider } from '@kbn/cell-actions'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { useInternalStateSelector } from '../../services/discover_internal_state_container'; import { useAppStateSelector } from '../../services/discover_app_state_container'; import { useDiscoverServices } from '../../../../hooks/use_discover_services'; @@ -40,7 +41,6 @@ import { DocTableInfinite } from '../../../../components/doc_table/doc_table_inf import { DocumentExplorerCallout } from '../document_explorer_callout'; import { DocumentExplorerUpdateCallout } from '../document_explorer_callout/document_explorer_update_callout'; import { DiscoverTourProvider } from '../../../../components/discover_tour'; -import { DataTableRecord } from '../../../../types'; import { getRawRecordType } from '../../utils/get_raw_record_type'; import { DiscoverGridFlyout } from '../../../../components/discover_grid/discover_grid_flyout'; import { DocViewer } from '../../../../services/doc_views/components/doc_viewer'; diff --git a/src/plugins/discover/public/application/main/components/layout/discover_histogram_layout.test.tsx b/src/plugins/discover/public/application/main/components/layout/discover_histogram_layout.test.tsx index 829bde038f15a..48c9a3306dd12 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_histogram_layout.test.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_histogram_layout.test.tsx @@ -9,8 +9,7 @@ import React from 'react'; import { BehaviorSubject, of } from 'rxjs'; import { mountWithIntl } from '@kbn/test-jest-helpers'; -import { esHits } from '../../../../__mocks__/es_hits'; -import { dataViewMock } from '../../../../__mocks__/data_view'; +import { dataViewMock, esHitsMock } from '@kbn/discover-utils/src/__mocks__'; import { savedSearchMock } from '../../../../__mocks__/saved_search'; import { AvailableFields$, @@ -23,7 +22,7 @@ import { discoverServiceMock } from '../../../../__mocks__/services'; import { FetchStatus } from '../../../types'; import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { buildDataTableRecord } from '../../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; import { DiscoverHistogramLayout, DiscoverHistogramLayoutProps } from './discover_histogram_layout'; import { SavedSearch, VIEW_MODE } from '@kbn/saved-search-plugin/public'; import { CoreTheme } from '@kbn/core/public'; @@ -88,7 +87,7 @@ const mountComponent = async ({ const documents$ = new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: esHits.map((esHit) => buildDataTableRecord(esHit, dataViewMock)), + result: esHitsMock.map((esHit) => buildDataTableRecord(esHit, dataViewMock)), }) as DataDocuments$; const availableFields$ = new BehaviorSubject({ @@ -98,7 +97,7 @@ const mountComponent = async ({ const totalHits$ = new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: Number(esHits.length), + result: Number(esHitsMock.length), }) as DataTotalHits$; const savedSearchData$ = { diff --git a/src/plugins/discover/public/application/main/components/layout/discover_layout.test.tsx b/src/plugins/discover/public/application/main/components/layout/discover_layout.test.tsx index 68c8b7ba0b318..b9ea55a8ba382 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_layout.test.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_layout.test.tsx @@ -13,8 +13,7 @@ import { mountWithIntl } from '@kbn/test-jest-helpers'; import type { Query, AggregateQuery } from '@kbn/es-query'; import { setHeaderActionMenuMounter } from '../../../../kibana_services'; import { DiscoverLayout, SIDEBAR_CLOSED_KEY } from './discover_layout'; -import { esHits } from '../../../../__mocks__/es_hits'; -import { dataViewMock } from '../../../../__mocks__/data_view'; +import { dataViewMock, esHitsMock } from '@kbn/discover-utils/src/__mocks__'; import { savedSearchMock } from '../../../../__mocks__/saved_search'; import { createSearchSourceMock, @@ -35,7 +34,7 @@ import { RequestAdapter } from '@kbn/inspector-plugin/common'; import { LocalStorageMock } from '../../../../__mocks__/local_storage_mock'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { DiscoverServices } from '../../../../build_services'; -import { buildDataTableRecord } from '../../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; import { getDiscoverStateMock } from '../../../../__mocks__/discover_state.mock'; import { createSearchSessionMock } from '../../../../__mocks__/search_session'; import { getSessionServiceMock } from '@kbn/data-plugin/public/search/session/mocks'; @@ -83,7 +82,7 @@ async function mountComponent( const documents$ = new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: esHits.map((esHit) => buildDataTableRecord(esHit, dataView)), + result: esHitsMock.map((esHit) => buildDataTableRecord(esHit, dataView)), }) as DataDocuments$; const availableFields$ = new BehaviorSubject({ @@ -93,7 +92,7 @@ async function mountComponent( const totalHits$ = new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: Number(esHits.length), + result: Number(esHitsMock.length), }) as DataTotalHits$; stateContainer.dataState.data$ = { diff --git a/src/plugins/discover/public/application/main/components/layout/discover_main_content.test.tsx b/src/plugins/discover/public/application/main/components/layout/discover_main_content.test.tsx index 1ca0e6124006a..81b774a0aff0d 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_main_content.test.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_main_content.test.tsx @@ -10,8 +10,7 @@ import React from 'react'; import { BehaviorSubject, of } from 'rxjs'; import { act } from 'react-dom/test-utils'; import { mountWithIntl } from '@kbn/test-jest-helpers'; -import { esHits } from '../../../../__mocks__/es_hits'; -import { dataViewMock } from '../../../../__mocks__/data_view'; +import { dataViewMock, esHitsMock } from '@kbn/discover-utils/src/__mocks__'; import { AvailableFields$, DataDocuments$, @@ -23,7 +22,7 @@ import { createDiscoverServicesMock } from '../../../../__mocks__/services'; import { FetchStatus } from '../../../types'; import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { buildDataTableRecord } from '../../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; import { DiscoverMainContent, DiscoverMainContentProps } from './discover_main_content'; import { SavedSearch, VIEW_MODE } from '@kbn/saved-search-plugin/public'; import { CoreTheme } from '@kbn/core/public'; @@ -69,7 +68,7 @@ const mountComponent = async ({ const documents$ = new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: esHits.map((esHit) => buildDataTableRecord(esHit, dataViewMock)), + result: esHitsMock.map((esHit) => buildDataTableRecord(esHit, dataViewMock)), }) as DataDocuments$; const availableFields$ = new BehaviorSubject({ @@ -79,7 +78,7 @@ const mountComponent = async ({ const totalHits$ = new BehaviorSubject({ fetchStatus: FetchStatus.COMPLETE, - result: Number(esHits.length), + result: Number(esHitsMock.length), }) as DataTotalHits$; const savedSearchData$ = { diff --git a/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.test.tsx b/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.test.tsx index a7c4006281291..6be8266691089 100644 --- a/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.test.tsx +++ b/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.test.tsx @@ -33,8 +33,8 @@ import * as ExistingFieldsServiceApi from '@kbn/unified-field-list/src/services/ import { resetExistingFieldsCache } from '@kbn/unified-field-list/src/hooks/use_existing_fields'; import { createDiscoverServicesMock } from '../../../../__mocks__/services'; import type { AggregateQuery, Query } from '@kbn/es-query'; -import { buildDataTableRecord } from '../../../../utils/build_data_record'; -import { type DataTableRecord } from '../../../../types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import type { DiscoverCustomizationId } from '../../../../customizations/customization_service'; import type { SearchBarCustomization } from '../../../../customizations'; diff --git a/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx b/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx index 19e2798b348e4..ada23ff7f8f55 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx @@ -8,7 +8,7 @@ import React, { ReactElement } from 'react'; import { mountWithIntl } from '@kbn/test-jest-helpers'; -import { dataViewMock } from '../../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { DiscoverTopNav, DiscoverTopNavProps } from './discover_topnav'; import { TopNavMenu, TopNavMenuData } from '@kbn/navigation-plugin/public'; import { Query } from '@kbn/es-query'; diff --git a/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.test.ts b/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.test.ts index 321d23ca98f5c..44cf4c503be30 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.test.ts +++ b/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.test.ts @@ -7,7 +7,7 @@ */ import { getTopNavLinks } from './get_top_nav_links'; -import { dataViewMock } from '../../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { DiscoverServices } from '../../../../build_services'; import { DiscoverStateContainer } from '../../services/discover_state'; diff --git a/src/plugins/discover/public/application/main/components/top_nav/on_save_search.test.tsx b/src/plugins/discover/public/application/main/components/top_nav/on_save_search.test.tsx index ec031be5f583d..5506010528e05 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/on_save_search.test.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/on_save_search.test.tsx @@ -9,7 +9,7 @@ import * as savedObjectsPlugin from '@kbn/saved-objects-plugin/public'; jest.mock('@kbn/saved-objects-plugin/public'); import type { DataView } from '@kbn/data-views-plugin/common'; -import { dataViewMock } from '../../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { dataViewWithTimefieldMock } from '../../../../__mocks__/data_view_with_timefield'; import { onSaveSearch } from './on_save_search'; import { savedSearchMock } from '../../../../__mocks__/saved_search'; diff --git a/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.test.tsx b/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.test.tsx index 7a434a4673fa1..60290869f3a05 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.test.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.test.tsx @@ -13,7 +13,7 @@ import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { AlertsPopover } from './open_alerts_popover'; import { discoverServiceMock } from '../../../../__mocks__/services'; import { dataViewWithTimefieldMock } from '../../../../__mocks__/data_view_with_timefield'; -import { dataViewMock } from '../../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { getDiscoverStateMock } from '../../../../__mocks__/discover_state.mock'; const Context = ({ children }: { children: ReactNode }) => <>{children}; diff --git a/src/plugins/discover/public/application/main/discover_main_app.test.tsx b/src/plugins/discover/public/application/main/discover_main_app.test.tsx index d4efea85f8d3b..170f38e6fda30 100644 --- a/src/plugins/discover/public/application/main/discover_main_app.test.tsx +++ b/src/plugins/discover/public/application/main/discover_main_app.test.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { act } from 'react-dom/test-utils'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import { DataViewListItem } from '@kbn/data-views-plugin/public'; -import { dataViewMock } from '../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { DiscoverMainApp } from './discover_main_app'; import { DiscoverTopNav } from './components/top_nav/discover_topnav'; import { setHeaderActionMenuMounter, setUrlTracker } from '../../kibana_services'; diff --git a/src/plugins/discover/public/application/main/hooks/use_inspector.test.ts b/src/plugins/discover/public/application/main/hooks/use_inspector.test.ts index 57e94aa7a0db1..0667bc4d2ce54 100644 --- a/src/plugins/discover/public/application/main/hooks/use_inspector.test.ts +++ b/src/plugins/discover/public/application/main/hooks/use_inspector.test.ts @@ -13,7 +13,7 @@ import { Adapters, RequestAdapter } from '@kbn/inspector-plugin/common'; import { OverlayRef } from '@kbn/core/public'; import { AggregateRequestAdapter } from '../utils/aggregate_request_adapter'; import { getDiscoverStateMock } from '../../../__mocks__/discover_state.mock'; -import { DataTableRecord } from '../../../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; describe('test useInspector', () => { test('inspector open function is executed, expanded doc is closed', async () => { diff --git a/src/plugins/discover/public/application/main/hooks/use_test_based_query_language.test.tsx b/src/plugins/discover/public/application/main/hooks/use_test_based_query_language.test.tsx index 878b22de26218..125d47c087640 100644 --- a/src/plugins/discover/public/application/main/hooks/use_test_based_query_language.test.tsx +++ b/src/plugins/discover/public/application/main/hooks/use_test_based_query_language.test.tsx @@ -13,9 +13,9 @@ import { discoverServiceMock } from '../../../__mocks__/services'; import { useTextBasedQueryLanguage } from './use_text_based_query_language'; import { FetchStatus } from '../../types'; import { RecordRawType } from '../services/discover_data_state_container'; -import { DataTableRecord } from '../../../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { AggregateQuery, Query } from '@kbn/es-query'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { DataViewListItem } from '@kbn/data-views-plugin/common'; import { savedSearchMock } from '../../../__mocks__/saved_search'; import { getDiscoverStateMock } from '../../../__mocks__/discover_state.mock'; diff --git a/src/plugins/discover/public/application/main/services/discover_data_state_container.ts b/src/plugins/discover/public/application/main/services/discover_data_state_container.ts index 1645745f79b6f..1e45a6f81b0d7 100644 --- a/src/plugins/discover/public/application/main/services/discover_data_state_container.ts +++ b/src/plugins/discover/public/application/main/services/discover_data_state_container.ts @@ -14,6 +14,7 @@ import { AggregateQuery, Query } from '@kbn/es-query'; import type { SearchResponse } from '@elastic/elasticsearch/lib/api/types'; import { DataView } from '@kbn/data-views-plugin/common'; import { reportPerformanceMetricEvent } from '@kbn/ebt-tools'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { getDataViewByTextBasedQueryLang } from '../utils/get_data_view_by_text_based_query_lang'; import { isTextBasedQuery } from '../utils/is_text_based_query'; import { getRawRecordType } from '../utils/get_raw_record_type'; @@ -26,7 +27,6 @@ import { validateTimeRange } from '../utils/validate_time_range'; import { fetchAll } from '../utils/fetch_all'; import { sendResetMsg } from '../hooks/use_saved_search_messages'; import { getFetch$ } from '../utils/get_fetch_observable'; -import { DataTableRecord } from '../../../types'; export interface SavedSearchData { main$: DataMain$; diff --git a/src/plugins/discover/public/application/main/services/discover_internal_state_container.ts b/src/plugins/discover/public/application/main/services/discover_internal_state_container.ts index e93a33ca6496b..6ef73f1ad7ac5 100644 --- a/src/plugins/discover/public/application/main/services/discover_internal_state_container.ts +++ b/src/plugins/discover/public/application/main/services/discover_internal_state_container.ts @@ -12,7 +12,7 @@ import { ReduxLikeStateContainer, } from '@kbn/kibana-utils-plugin/common'; import { DataView, DataViewListItem } from '@kbn/data-views-plugin/common'; -import { DataTableRecord } from '../../../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; export interface InternalState { dataView: DataView | undefined; diff --git a/src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts b/src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts index fe575f9c6dfc8..3ce4c969bbd3f 100644 --- a/src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts +++ b/src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts @@ -10,7 +10,7 @@ import { getSavedSearchContainer, isEqualSavedSearch } from './discover_saved_se import type { SavedSearch } from '@kbn/saved-search-plugin/public'; import { discoverServiceMock } from '../../../__mocks__/services'; import { savedSearchMock, savedSearchMockWithTimeField } from '../../../__mocks__/saved_search'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { dataViewComplexMock } from '../../../__mocks__/data_view_complex'; import { getDiscoverGlobalStateContainer } from './discover_global_state_container'; import { createKbnUrlStateStorage } from '@kbn/kibana-utils-plugin/public'; diff --git a/src/plugins/discover/public/application/main/services/discover_state.test.ts b/src/plugins/discover/public/application/main/services/discover_state.test.ts index 2db6248e12d1a..a824fcfc08e21 100644 --- a/src/plugins/discover/public/application/main/services/discover_state.test.ts +++ b/src/plugins/discover/public/application/main/services/discover_state.test.ts @@ -21,7 +21,7 @@ import { savedSearchMockWithTimeFieldNew, } from '../../../__mocks__/saved_search'; import { discoverServiceMock } from '../../../__mocks__/services'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { DiscoverAppStateContainer } from './discover_app_state_container'; import { waitFor } from '@testing-library/react'; import { FetchStatus } from '../../types'; diff --git a/src/plugins/discover/public/application/main/utils/calc_field_counts.test.ts b/src/plugins/discover/public/application/main/utils/calc_field_counts.test.ts index 0aace63eb7754..c1740cf3a4fd4 100644 --- a/src/plugins/discover/public/application/main/utils/calc_field_counts.test.ts +++ b/src/plugins/discover/public/application/main/utils/calc_field_counts.test.ts @@ -7,7 +7,7 @@ */ import { calcFieldCounts } from './calc_field_counts'; -import { buildDataTableRecord } from '../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; describe('calcFieldCounts', () => { test('returns valid field count data', async () => { diff --git a/src/plugins/discover/public/application/main/utils/calc_field_counts.ts b/src/plugins/discover/public/application/main/utils/calc_field_counts.ts index 2fd089816f9fb..8f4fe80762795 100644 --- a/src/plugins/discover/public/application/main/utils/calc_field_counts.ts +++ b/src/plugins/discover/public/application/main/utils/calc_field_counts.ts @@ -5,7 +5,7 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -import { DataTableRecord } from '../../../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; /** * This function is calculating stats of the available fields, for usage in sidebar and sharing diff --git a/src/plugins/discover/public/application/main/utils/fetch_all.test.ts b/src/plugins/discover/public/application/main/utils/fetch_all.test.ts index df3c05a5ce2e1..465720f2dca3f 100644 --- a/src/plugins/discover/public/application/main/utils/fetch_all.test.ts +++ b/src/plugins/discover/public/application/main/utils/fetch_all.test.ts @@ -23,8 +23,8 @@ import { } from '../services/discover_data_state_container'; import { fetchDocuments } from './fetch_documents'; import { fetchSql } from './fetch_sql'; -import { buildDataTableRecord } from '../../../utils/build_data_record'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; jest.mock('./fetch_documents', () => ({ fetchDocuments: jest.fn().mockResolvedValue([]), })); diff --git a/src/plugins/discover/public/application/main/utils/fetch_documents.test.ts b/src/plugins/discover/public/application/main/utils/fetch_documents.test.ts index 22415aa782194..e8ae34aacd917 100644 --- a/src/plugins/discover/public/application/main/utils/fetch_documents.test.ts +++ b/src/plugins/discover/public/application/main/utils/fetch_documents.test.ts @@ -13,9 +13,9 @@ import { discoverServiceMock } from '../../../__mocks__/services'; import { IKibanaSearchResponse } from '@kbn/data-plugin/public'; import { SearchResponse } from '@elastic/elasticsearch/lib/api/types'; import { FetchDeps } from './fetch_all'; -import type { EsHitRecord } from '../../../types'; -import { buildDataTableRecord } from '../../../utils/build_data_record'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; const getDeps = () => ({ diff --git a/src/plugins/discover/public/application/main/utils/fetch_documents.ts b/src/plugins/discover/public/application/main/utils/fetch_documents.ts index db092cb449057..97a0661f40ded 100644 --- a/src/plugins/discover/public/application/main/utils/fetch_documents.ts +++ b/src/plugins/discover/public/application/main/utils/fetch_documents.ts @@ -9,8 +9,9 @@ import { i18n } from '@kbn/i18n'; import { filter, map } from 'rxjs/operators'; import { lastValueFrom } from 'rxjs'; import { isCompleteResponse, ISearchSource } from '@kbn/data-plugin/public'; -import type { RecordsFetchResponse, EsHitRecord } from '../../../types'; -import { buildDataTableRecordList } from '../../../utils/build_data_record'; +import { buildDataTableRecordList } from '@kbn/discover-utils'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; +import type { RecordsFetchResponse } from '../../../types'; import { SAMPLE_SIZE_SETTING } from '../../../../common'; import { FetchDeps } from './fetch_all'; diff --git a/src/plugins/discover/public/application/main/utils/fetch_sql.ts b/src/plugins/discover/public/application/main/utils/fetch_sql.ts index 60a0831e0d6c9..73c716e8f9351 100644 --- a/src/plugins/discover/public/application/main/utils/fetch_sql.ts +++ b/src/plugins/discover/public/application/main/utils/fetch_sql.ts @@ -14,7 +14,8 @@ import type { ExpressionsStart } from '@kbn/expressions-plugin/public'; import type { Datatable } from '@kbn/expressions-plugin/public'; import type { DataView } from '@kbn/data-views-plugin/common'; import { textBasedQueryStateToAstWithValidation } from '@kbn/data-plugin/common'; -import type { RecordsFetchResponse, DataTableRecord } from '../../../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; +import { RecordsFetchResponse } from '../../../types'; interface SQLErrorResponse { error: { diff --git a/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.test.ts b/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.test.ts index 3d12a3421e6c4..0b81061ab68ff 100644 --- a/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.test.ts +++ b/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.test.ts @@ -8,7 +8,7 @@ import { getDataViewByTextBasedQueryLang } from './get_data_view_by_text_based_query_lang'; import { dataViewAdHoc } from '../../../__mocks__/data_view_complex'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { discoverServiceMock } from '../../../__mocks__/services'; describe('getDataViewByTextBasedQueryLang', () => { diff --git a/src/plugins/discover/public/application/main/utils/get_state_defaults.test.ts b/src/plugins/discover/public/application/main/utils/get_state_defaults.test.ts index a994adc340f21..103520c71998b 100644 --- a/src/plugins/discover/public/application/main/utils/get_state_defaults.test.ts +++ b/src/plugins/discover/public/application/main/utils/get_state_defaults.test.ts @@ -11,7 +11,7 @@ import { createSearchSourceMock } from '@kbn/data-plugin/public/mocks'; import { VIEW_MODE } from '@kbn/saved-search-plugin/common'; import { dataViewWithTimefieldMock } from '../../../__mocks__/data_view_with_timefield'; import { savedSearchMock, savedSearchMockWithSQL } from '../../../__mocks__/saved_search'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { discoverServiceMock } from '../../../__mocks__/services'; describe('getStateDefaults', () => { diff --git a/src/plugins/discover/public/application/main/utils/resolve_data_view.test.ts b/src/plugins/discover/public/application/main/utils/resolve_data_view.test.ts index 10e1780d233b8..e321dc51ba3ab 100644 --- a/src/plugins/discover/public/application/main/utils/resolve_data_view.test.ts +++ b/src/plugins/discover/public/application/main/utils/resolve_data_view.test.ts @@ -7,7 +7,7 @@ */ import { loadDataView } from './resolve_data_view'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { discoverServiceMock as services } from '../../../__mocks__/services'; describe('Resolve data view tests', () => { diff --git a/src/plugins/discover/public/application/main/utils/update_search_source.test.ts b/src/plugins/discover/public/application/main/utils/update_search_source.test.ts index cc09732161890..a46cc1dec484a 100644 --- a/src/plugins/discover/public/application/main/utils/update_search_source.test.ts +++ b/src/plugins/discover/public/application/main/utils/update_search_source.test.ts @@ -8,7 +8,7 @@ import { updateVolatileSearchSource } from './update_search_source'; import { createSearchSourceMock } from '@kbn/data-plugin/common/search/search_source/mocks'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import type { SortOrder } from '@kbn/saved-search-plugin/public'; import { discoverServiceMock } from '../../../__mocks__/services'; import { IUiSettingsClient } from '@kbn/core-ui-settings-browser'; diff --git a/src/plugins/discover/public/components/discover_grid/build_edit_field_button.test.tsx b/src/plugins/discover/public/components/discover_grid/build_edit_field_button.test.tsx index dc85179906384..c78918976e88d 100644 --- a/src/plugins/discover/public/components/discover_grid/build_edit_field_button.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/build_edit_field_button.test.tsx @@ -10,7 +10,7 @@ import { EuiListGroupItem, EuiListGroupItemProps } from '@elastic/eui'; import { DataView, DataViewField } from '@kbn/data-views-plugin/common'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import React from 'react'; -import { buildDataViewMock } from '../../__mocks__/data_view'; +import { buildDataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { discoverServiceMock } from '../../__mocks__/services'; import { buildEditFieldButton } from './build_edit_field_button'; diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid.test.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid.test.tsx index 76694ad53ec17..78b42f7ef4133 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid.test.tsx @@ -10,15 +10,13 @@ import { ReactWrapper } from 'enzyme'; import { EuiCopy } from '@elastic/eui'; import { act } from 'react-dom/test-utils'; import { findTestSubject } from '@elastic/eui/lib/test'; -import { esHits } from '../../__mocks__/es_hits'; -import { buildDataViewMock, deepMockedFields } from '../../__mocks__/data_view'; +import { buildDataViewMock, deepMockedFields, esHitsMock } from '@kbn/discover-utils/src/__mocks__'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import { DiscoverGrid, DiscoverGridProps } from './discover_grid'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { discoverServiceMock } from '../../__mocks__/services'; -import { buildDataTableRecord } from '../../utils/build_data_record'; -import { getDocId } from '../../utils/get_doc_id'; -import { EsHitRecord } from '../../types'; +import { buildDataTableRecord, getDocId } from '@kbn/discover-utils'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; const mockUseDataGridColumnsCellActions = jest.fn((prop: unknown) => []); jest.mock('@kbn/cell-actions', () => ({ @@ -48,7 +46,7 @@ function getProps() { onResize: jest.fn(), onSetColumns: jest.fn(), onSort: jest.fn(), - rows: esHits.map((hit) => buildDataTableRecord(hit, dataViewMock)), + rows: esHitsMock.map((hit) => buildDataTableRecord(hit, dataViewMock)), sampleSize: 30, searchDescription: '', searchTitle: '', @@ -122,17 +120,17 @@ describe('DiscoverGrid', () => { }); test('Allows selection/deselection of multiple documents', async () => { - await toggleDocSelection(component, esHits[0]); + await toggleDocSelection(component, esHitsMock[0]); expect(getSelectedDocNr(component)).toBe(1); - await toggleDocSelection(component, esHits[1]); + await toggleDocSelection(component, esHitsMock[1]); expect(getSelectedDocNr(component)).toBe(2); - await toggleDocSelection(component, esHits[1]); + await toggleDocSelection(component, esHitsMock[1]); expect(getSelectedDocNr(component)).toBe(1); }); test('deselection of all selected documents', async () => { - await toggleDocSelection(component, esHits[0]); - await toggleDocSelection(component, esHits[1]); + await toggleDocSelection(component, esHitsMock[0]); + await toggleDocSelection(component, esHitsMock[1]); expect(getSelectedDocNr(component)).toBe(2); findTestSubject(component, 'dscGridSelectionBtn').simulate('click'); findTestSubject(component, 'dscGridClearSelectedDocuments').simulate('click'); @@ -140,8 +138,8 @@ describe('DiscoverGrid', () => { }); test('showing only selected documents and undo selection', async () => { - await toggleDocSelection(component, esHits[0]); - await toggleDocSelection(component, esHits[1]); + await toggleDocSelection(component, esHitsMock[0]); + await toggleDocSelection(component, esHitsMock[1]); expect(getSelectedDocNr(component)).toBe(2); findTestSubject(component, 'dscGridSelectionBtn').simulate('click'); findTestSubject(component, 'dscGridShowSelectedDocuments').simulate('click'); @@ -153,8 +151,8 @@ describe('DiscoverGrid', () => { }); test('showing selected documents, underlying data changes, all documents are displayed, selection is gone', async () => { - await toggleDocSelection(component, esHits[0]); - await toggleDocSelection(component, esHits[1]); + await toggleDocSelection(component, esHitsMock[0]); + await toggleDocSelection(component, esHitsMock[1]); expect(getSelectedDocNr(component)).toBe(2); findTestSubject(component, 'dscGridSelectionBtn').simulate('click'); findTestSubject(component, 'dscGridShowSelectedDocuments').simulate('click'); @@ -179,18 +177,18 @@ describe('DiscoverGrid', () => { }); test('showing only selected documents and remove filter deselecting each doc manually', async () => { - await toggleDocSelection(component, esHits[0]); + await toggleDocSelection(component, esHitsMock[0]); findTestSubject(component, 'dscGridSelectionBtn').simulate('click'); findTestSubject(component, 'dscGridShowSelectedDocuments').simulate('click'); expect(getDisplayedDocNr(component)).toBe(1); - await toggleDocSelection(component, esHits[0]); + await toggleDocSelection(component, esHitsMock[0]); expect(getDisplayedDocNr(component)).toBe(5); - await toggleDocSelection(component, esHits[0]); + await toggleDocSelection(component, esHitsMock[0]); expect(getDisplayedDocNr(component)).toBe(5); }); test('copying selected documents to clipboard', async () => { - await toggleDocSelection(component, esHits[0]); + await toggleDocSelection(component, esHitsMock[0]); findTestSubject(component, 'dscGridSelectionBtn').simulate('click'); expect(component.find(EuiCopy).prop('textToCopy')).toMatchInlineSnapshot( `"[{\\"_index\\":\\"i\\",\\"_id\\":\\"1\\",\\"_score\\":1,\\"_type\\":\\"_doc\\",\\"_source\\":{\\"date\\":\\"2020-20-01T12:12:12.123\\",\\"message\\":\\"test1\\",\\"bytes\\":20}}]"` diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid.tsx index e05f4c9d704fa..4922f8db3fe8f 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid.tsx @@ -35,6 +35,7 @@ import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; import type { ToastsStart, IUiSettingsClient, HttpStart, CoreStart } from '@kbn/core/public'; import { DataViewFieldEditorStart } from '@kbn/data-view-field-editor-plugin/public'; import { Serializable } from '@kbn/utility-types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { DocViewFilterFn } from '../../services/doc_views/doc_views_types'; import { getSchemaDetectors } from './discover_grid_schema'; import { DiscoverGridFlyout } from './discover_grid_flyout'; @@ -55,7 +56,7 @@ import { } from '../../../common'; import { DiscoverGridDocumentToolbarBtn } from './discover_grid_document_selection'; import { getShouldShowFieldHandler } from '../../utils/get_should_show_field_handler'; -import type { DataTableRecord, ValueToStringConverter } from '../../types'; +import type { ValueToStringConverter } from '../../types'; import { useRowHeightsOptions } from '../../hooks/use_row_heights_options'; import { convertValueToString } from '../../utils/convert_value_to_string'; import { getRowsPerPageOptions, getDefaultRowsPerPage } from '../../utils/rows_per_page'; diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_columns.test.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_columns.test.tsx index ea22d8b130835..cea7f6c3505c9 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_columns.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_columns.test.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { dataViewMock } from '../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { getEuiGridColumns, getVisibleColumns } from './discover_grid_columns'; import { dataViewWithTimefieldMock } from '../../__mocks__/data_view_with_timefield'; import { discoverGridContextMock } from '../../__mocks__/grid_context'; @@ -40,99 +40,99 @@ describe('Discover grid columns', function () { onFilter: () => {}, }); expect(actual).toMatchInlineSnapshot(` - Array [ - Object { - "actions": Object { - "additional": Array [ - Object { - "data-test-subj": "gridCopyColumnNameToClipBoardButton", - "iconProps": Object { - "size": "m", + Array [ + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", + }, + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", + }, + ], + "showHide": false, + "showMoveLeft": false, + "showMoveRight": false, + }, + "cellActions": Array [ + [Function], + [Function], + [Function], + ], + "displayAsText": "extension", + "id": "extension", + "isSortable": false, + "schema": "string", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - Object { - "data-test-subj": "gridCopyColumnValuesToClipBoardButton", - "iconProps": Object { - "size": "m", - }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - ], - "showHide": false, - "showMoveLeft": false, - "showMoveRight": false, - }, - "cellActions": Array [ - [Function], - [Function], - [Function], - ], - "displayAsText": "extension", - "id": "extension", - "isSortable": false, - "schema": "string", - }, - Object { - "actions": Object { - "additional": Array [ - Object { - "data-test-subj": "gridCopyColumnNameToClipBoardButton", - "iconProps": Object { - "size": "m", - }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - Object { - "data-test-subj": "gridCopyColumnValuesToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", + }, + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", + }, + ], + "showHide": false, + "showMoveLeft": false, + "showMoveRight": false, + }, + "cellActions": Array [ + [Function], + ], + "displayAsText": "message", + "id": "message", + "isSortable": false, + "schema": "string", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - ], - "showHide": false, - "showMoveLeft": false, - "showMoveRight": false, - }, - "cellActions": Array [ - [Function], - ], - "displayAsText": "message", - "id": "message", - "isSortable": false, - "schema": "string", - }, - ] - `); + ] + `); }); it('returns eui grid columns with time column', async () => { @@ -154,170 +154,170 @@ describe('Discover grid columns', function () { onFilter: () => {}, }); expect(actual).toMatchInlineSnapshot(` - Array [ - Object { - "actions": Object { - "additional": Array [ - Object { - "data-test-subj": "gridCopyColumnNameToClipBoardButton", - "iconProps": Object { - "size": "m", + Array [ + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - Object { - "data-test-subj": "gridCopyColumnValuesToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, + ], + "showHide": false, + "showMoveLeft": true, + "showMoveRight": true, + }, + "cellActions": Array [ + [Function], + [Function], + [Function], ], - "showHide": false, - "showMoveLeft": true, - "showMoveRight": true, - }, - "cellActions": Array [ - [Function], - [Function], - [Function], - ], - "display":
    - - - timestamp - - - - -
    , - "displayAsText": "timestamp", - "id": "timestamp", - "initialWidth": 210, - "isSortable": true, - "schema": "datetime", - }, - Object { - "actions": Object { - "additional": Array [ - Object { - "data-test-subj": "gridCopyColumnNameToClipBoardButton", - "iconProps": Object { - "size": "m", + + + timestamp + + + + +
    , + "displayAsText": "timestamp", + "id": "timestamp", + "initialWidth": 210, + "isSortable": true, + "schema": "datetime", + }, + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - Object { - "data-test-subj": "gridCopyColumnValuesToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", + ], + "showHide": Object { + "iconType": "cross", + "label": "Remove column", }, - ], - "showHide": Object { - "iconType": "cross", - "label": "Remove column", + "showMoveLeft": true, + "showMoveRight": true, }, - "showMoveLeft": true, - "showMoveRight": true, + "cellActions": Array [ + [Function], + [Function], + [Function], + ], + "displayAsText": "extension", + "id": "extension", + "isSortable": false, + "schema": "string", }, - "cellActions": Array [ - [Function], - [Function], - [Function], - ], - "displayAsText": "extension", - "id": "extension", - "isSortable": false, - "schema": "string", - }, - Object { - "actions": Object { - "additional": Array [ - Object { - "data-test-subj": "gridCopyColumnNameToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - Object { - "data-test-subj": "gridCopyColumnValuesToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", + ], + "showHide": Object { + "iconType": "cross", + "label": "Remove column", }, - ], - "showHide": Object { - "iconType": "cross", - "label": "Remove column", + "showMoveLeft": true, + "showMoveRight": true, }, - "showMoveLeft": true, - "showMoveRight": true, + "cellActions": Array [ + [Function], + ], + "displayAsText": "message", + "id": "message", + "isSortable": false, + "schema": "string", }, - "cellActions": Array [ - [Function], - ], - "displayAsText": "message", - "id": "message", - "isSortable": false, - "schema": "string", - }, - ] - `); + ] + `); }); it('returns eui grid with in memory sorting', async () => { @@ -339,170 +339,170 @@ describe('Discover grid columns', function () { onFilter: () => {}, }); expect(actual).toMatchInlineSnapshot(` - Array [ - Object { - "actions": Object { - "additional": Array [ - Object { - "data-test-subj": "gridCopyColumnNameToClipBoardButton", - "iconProps": Object { - "size": "m", + Array [ + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - Object { - "data-test-subj": "gridCopyColumnValuesToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, + ], + "showHide": false, + "showMoveLeft": true, + "showMoveRight": true, + }, + "cellActions": Array [ + [Function], + [Function], + [Function], ], - "showHide": false, - "showMoveLeft": true, - "showMoveRight": true, - }, - "cellActions": Array [ - [Function], - [Function], - [Function], - ], - "display":
    - - - timestamp - - - - -
    , - "displayAsText": "timestamp", - "id": "timestamp", - "initialWidth": 210, - "isSortable": true, - "schema": "datetime", - }, - Object { - "actions": Object { - "additional": Array [ - Object { - "data-test-subj": "gridCopyColumnNameToClipBoardButton", - "iconProps": Object { - "size": "m", + + + timestamp + + + + + , + "displayAsText": "timestamp", + "id": "timestamp", + "initialWidth": 210, + "isSortable": true, + "schema": "datetime", + }, + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - Object { - "data-test-subj": "gridCopyColumnValuesToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", + ], + "showHide": Object { + "iconType": "cross", + "label": "Remove column", }, - ], - "showHide": Object { - "iconType": "cross", - "label": "Remove column", + "showMoveLeft": true, + "showMoveRight": true, }, - "showMoveLeft": true, - "showMoveRight": true, + "cellActions": Array [ + [Function], + [Function], + [Function], + ], + "displayAsText": "extension", + "id": "extension", + "isSortable": true, + "schema": "string", }, - "cellActions": Array [ - [Function], - [Function], - [Function], - ], - "displayAsText": "extension", - "id": "extension", - "isSortable": true, - "schema": "string", - }, - Object { - "actions": Object { - "additional": Array [ - Object { - "data-test-subj": "gridCopyColumnNameToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", - }, - Object { - "data-test-subj": "gridCopyColumnValuesToClipBoardButton", - "iconProps": Object { - "size": "m", + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", }, - "iconType": "copyClipboard", - "label": , - "onClick": [Function], - "size": "xs", + ], + "showHide": Object { + "iconType": "cross", + "label": "Remove column", }, - ], - "showHide": Object { - "iconType": "cross", - "label": "Remove column", + "showMoveLeft": true, + "showMoveRight": true, }, - "showMoveLeft": true, - "showMoveRight": true, + "cellActions": Array [ + [Function], + ], + "displayAsText": "message", + "id": "message", + "isSortable": true, + "schema": "string", }, - "cellActions": Array [ - [Function], - ], - "displayAsText": "message", - "id": "message", - "isSortable": true, - "schema": "string", - }, - ] - `); + ] + `); }); }); diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_context.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_context.tsx index d17c20b858b5d..8ec4689a00178 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_context.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_context.tsx @@ -8,8 +8,9 @@ import React from 'react'; import type { DataView } from '@kbn/data-views-plugin/public'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import type { DocViewFilterFn } from '../../services/doc_views/doc_views_types'; -import type { DataTableRecord, ValueToStringConverter } from '../../types'; +import type { ValueToStringConverter } from '../../types'; export interface GridContext { expanded?: DataTableRecord | undefined; diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_document_selection.test.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_document_selection.test.tsx index 96bc9082d9e0f..7fda5b74ce550 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_document_selection.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_document_selection.test.tsx @@ -11,7 +11,7 @@ import { findTestSubject } from '@elastic/eui/lib/test'; import { DiscoverGridDocumentToolbarBtn, SelectButton } from './discover_grid_document_selection'; import { discoverGridContextMock } from '../../__mocks__/grid_context'; import { DiscoverGridContext } from './discover_grid_context'; -import { getDocId } from '../../utils/get_doc_id'; +import { getDocId } from '@kbn/discover-utils'; describe('document selection', () => { describe('getDocId', () => { diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_document_selection.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_document_selection.tsx index c17ff66ac0806..f14ec323f8ca2 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_document_selection.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_document_selection.tsx @@ -19,8 +19,8 @@ import { import { FormattedMessage } from '@kbn/i18n-react'; import { euiDarkVars as themeDark, euiLightVars as themeLight } from '@kbn/ui-theme'; import { i18n } from '@kbn/i18n'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { DiscoverGridContext } from './discover_grid_context'; -import type { DataTableRecord } from '../../types'; export const SelectButton = ({ rowIndex, setCellProps }: EuiDataGridCellValueElementProps) => { const { selectedDocs, expanded, rows, isDarkMode, setSelectedDocs } = diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.test.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.test.tsx index 22ed742dd3f94..e42fae3eacd3b 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.test.tsx @@ -11,17 +11,16 @@ import { findTestSubject } from '@elastic/eui/lib/test'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import type { Query, AggregateQuery } from '@kbn/es-query'; import { DiscoverGridFlyout, DiscoverGridFlyoutProps } from './discover_grid_flyout'; -import { esHits } from '../../__mocks__/es_hits'; import { createFilterManagerMock } from '@kbn/data-plugin/public/query/filter_manager/filter_manager.mock'; -import { dataViewMock } from '../../__mocks__/data_view'; +import { dataViewMock, esHitsMock } from '@kbn/discover-utils/src/__mocks__'; import { DiscoverServices } from '../../build_services'; import { DocViewsRegistry } from '../../services/doc_views/doc_views_registry'; import { setDocViewsRegistry } from '../../kibana_services'; import { dataViewWithTimefieldMock } from '../../__mocks__/data_view_with_timefield'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import type { DataView } from '@kbn/data-views-plugin/public'; -import type { DataTableRecord, EsHitRecord } from '../../types'; -import { buildDataTableRecord } from '../../utils/build_data_record'; +import type { DataTableRecord, EsHitRecord } from '@kbn/discover-utils/types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; import { act } from 'react-dom/test-utils'; import { ReactWrapper } from 'enzyme'; @@ -63,7 +62,7 @@ describe('Discover flyout', function () { } as unknown as DiscoverServices; const hit = buildDataTableRecord( - hitIndex ? esHits[hitIndex] : (esHits[0] as EsHitRecord), + hitIndex ? esHitsMock[hitIndex] : (esHitsMock[0] as EsHitRecord), dataViewMock ); @@ -73,7 +72,9 @@ describe('Discover flyout', function () { hit, hits: hits || - esHits.map((entry: EsHitRecord) => buildDataTableRecord(entry, dataView || dataViewMock)), + esHitsMock.map((entry: EsHitRecord) => + buildDataTableRecord(entry, dataView || dataViewMock) + ), query, onAddColumn: jest.fn(), onClose, @@ -166,14 +167,14 @@ describe('Discover flyout', function () { it('doesnt allow you to navigate to the next doc, if expanded doc is the last', async () => { // scenario: you've expanded a doc, and in the next request differed docs where fetched - const { component, props } = await mountComponent({ hitIndex: esHits.length - 1 }); + const { component, props } = await mountComponent({ hitIndex: esHitsMock.length - 1 }); findTestSubject(component, 'pagination-button-next').simulate('click'); expect(props.setExpandedDoc).toHaveBeenCalledTimes(0); }); it('allows you to navigate to the previous doc, if expanded doc is the last', async () => { // scenario: you've expanded a doc, and in the next request differed docs where fetched - const { component, props } = await mountComponent({ hitIndex: esHits.length - 1 }); + const { component, props } = await mountComponent({ hitIndex: esHitsMock.length - 1 }); findTestSubject(component, 'pagination-button-previous').simulate('click'); expect(props.setExpandedDoc).toHaveBeenCalledTimes(1); expect(props.setExpandedDoc.mock.calls[0][0].raw._id).toBe('4'); diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.tsx index b2ff52600793f..f277ad47200ff 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.tsx @@ -26,12 +26,12 @@ import { keys, } from '@elastic/eui'; import type { Filter, Query, AggregateQuery } from '@kbn/es-query'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { DocViewer } from '../../services/doc_views/components/doc_viewer/doc_viewer'; import { DocViewFilterFn } from '../../services/doc_views/doc_views_types'; import { useNavigationProps } from '../../hooks/use_navigation_props'; import { useDiscoverServices } from '../../hooks/use_discover_services'; import { isTextBasedQuery } from '../../application/main/utils/is_text_based_query'; -import type { DataTableRecord } from '../../types'; export interface DiscoverGridFlyoutProps { savedSearchId?: string; diff --git a/src/plugins/discover/public/components/discover_grid/get_render_cell_value.test.tsx b/src/plugins/discover/public/components/discover_grid/get_render_cell_value.test.tsx index 192a8c80f4ed1..229c730ea9dbd 100644 --- a/src/plugins/discover/public/components/discover_grid/get_render_cell_value.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/get_render_cell_value.test.tsx @@ -12,10 +12,10 @@ import { shallow } from 'enzyme'; import { findTestSubject } from '@elastic/eui/lib/test'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import { getRenderCellValueFn } from './get_render_cell_value'; -import { dataViewMock } from '../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { buildDataTableRecord } from '../../utils/build_data_record'; -import { EsHitRecord } from '../../types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; const mockServices = { settings: { diff --git a/src/plugins/discover/public/components/discover_grid/get_render_cell_value.tsx b/src/plugins/discover/public/components/discover_grid/get_render_cell_value.tsx index bfea84e45dd6b..4478ee868ee3a 100644 --- a/src/plugins/discover/public/components/discover_grid/get_render_cell_value.tsx +++ b/src/plugins/discover/public/components/discover_grid/get_render_cell_value.tsx @@ -21,12 +21,12 @@ import { EuiFlexItem, } from '@elastic/eui'; import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; +import type { DataTableRecord, EsHitRecord } from '@kbn/discover-utils/types'; import { DiscoverGridContext } from './discover_grid_context'; import { JsonCodeEditor } from '../json_code_editor/json_code_editor'; import { defaultMonacoEditorWidth } from './constants'; import { formatFieldValue } from '../../utils/format_value'; import { formatHit } from '../../utils/format_hit'; -import { DataTableRecord, EsHitRecord } from '../../types'; import { useDiscoverServices } from '../../hooks/use_discover_services'; import { MAX_DOC_FIELDS_DISPLAYED } from '../../../common'; import { type ShouldShowFieldInTableHandler } from '../../utils/get_should_show_field_handler'; diff --git a/src/plugins/discover/public/components/doc_table/actions/columns.test.ts b/src/plugins/discover/public/components/doc_table/actions/columns.test.ts index cf7d681f39c26..c95ff0d8d7252 100644 --- a/src/plugins/discover/public/components/doc_table/actions/columns.test.ts +++ b/src/plugins/discover/public/components/doc_table/actions/columns.test.ts @@ -8,7 +8,7 @@ import { getStateColumnActions } from './columns'; import { configMock } from '../../../__mocks__/config'; -import { dataViewMock } from '../../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { dataViewsMock } from '../../../__mocks__/data_views'; import { Capabilities } from '@kbn/core/types'; import { DiscoverAppState } from '../../../application/main/services/discover_app_state_container'; diff --git a/src/plugins/discover/public/components/doc_table/components/table_row.test.tsx b/src/plugins/discover/public/components/doc_table/components/table_row.test.tsx index d6a94a5e766f0..b82166494538c 100644 --- a/src/plugins/discover/public/components/doc_table/components/table_row.test.tsx +++ b/src/plugins/discover/public/components/doc_table/components/table_row.test.tsx @@ -18,8 +18,8 @@ import { discoverServiceMock } from '../../../__mocks__/services'; import { DocViewer } from '../../../services/doc_views/components/doc_viewer'; import { DOC_HIDE_TIME_COLUMN_SETTING, MAX_DOC_FIELDS_DISPLAYED } from '../../../../common'; -import { buildDataTableRecord } from '../../../utils/build_data_record'; -import { EsHitRecord } from '../../../types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; jest.mock('../utils/row_formatter', () => { const originalModule = jest.requireActual('../utils/row_formatter'); diff --git a/src/plugins/discover/public/components/doc_table/components/table_row.tsx b/src/plugins/discover/public/components/doc_table/components/table_row.tsx index fe1dd59e825b5..5c42130e39647 100644 --- a/src/plugins/discover/public/components/doc_table/components/table_row.tsx +++ b/src/plugins/discover/public/components/doc_table/components/table_row.tsx @@ -12,12 +12,12 @@ import { i18n } from '@kbn/i18n'; import { EuiButtonEmpty, EuiIcon } from '@elastic/eui'; import { DataView } from '@kbn/data-views-plugin/public'; import { Filter } from '@kbn/es-query'; +import type { DataTableRecord, EsHitRecord } from '@kbn/discover-utils/types'; import { formatFieldValue } from '../../../utils/format_value'; import { DocViewRenderProps } from '../../../services/doc_views/doc_views_types'; import { TableCell } from './table_row/table_cell'; import { formatRow, formatTopLevelObject } from '../utils/row_formatter'; import { DocViewFilterFn } from '../../../services/doc_views/doc_views_types'; -import { DataTableRecord, EsHitRecord } from '../../../types'; import { TableRowDetails } from './table_row_details'; import { useDiscoverServices } from '../../../hooks/use_discover_services'; import { DOC_HIDE_TIME_COLUMN_SETTING, MAX_DOC_FIELDS_DISPLAYED } from '../../../../common'; diff --git a/src/plugins/discover/public/components/doc_table/doc_table_wrapper.test.tsx b/src/plugins/discover/public/components/doc_table/doc_table_wrapper.test.tsx index a111476fce9f5..2f05c0c2b357d 100644 --- a/src/plugins/discover/public/components/doc_table/doc_table_wrapper.test.tsx +++ b/src/plugins/discover/public/components/doc_table/doc_table_wrapper.test.tsx @@ -9,12 +9,12 @@ import React from 'react'; import { EuiIcon, EuiLoadingSpinner } from '@elastic/eui'; import { findTestSubject, mountWithIntl } from '@kbn/test-jest-helpers'; -import { dataViewMock } from '../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { DocTableWrapper, DocTableWrapperProps } from './doc_table_wrapper'; import { discoverServiceMock } from '../../__mocks__/services'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { buildDataTableRecord } from '../../utils/build_data_record'; -import { EsHitRecord } from '../../types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { EsHitRecord } from '@kbn/discover-utils/types'; import { DocViewer } from '../../services/doc_views/components/doc_viewer'; describe('Doc table component', () => { diff --git a/src/plugins/discover/public/components/doc_table/doc_table_wrapper.tsx b/src/plugins/discover/public/components/doc_table/doc_table_wrapper.tsx index b824a70ceb862..bc4a2768028ee 100644 --- a/src/plugins/discover/public/components/doc_table/doc_table_wrapper.tsx +++ b/src/plugins/discover/public/components/doc_table/doc_table_wrapper.tsx @@ -12,13 +12,13 @@ import type { DataView, DataViewField } from '@kbn/data-views-plugin/public'; import type { SortOrder } from '@kbn/saved-search-plugin/public'; import { FormattedMessage } from '@kbn/i18n-react'; import { Filter } from '@kbn/es-query'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { TableHeader } from './components/table_header/table_header'; import { SHOW_MULTIFIELDS } from '../../../common'; import { TableRow } from './components/table_row'; import { DocViewFilterFn, DocViewRenderProps } from '../../services/doc_views/doc_views_types'; import { getShouldShowFieldHandler } from '../../utils/get_should_show_field_handler'; import { useDiscoverServices } from '../../hooks/use_discover_services'; -import type { DataTableRecord } from '../../types'; export interface DocTableProps { /** diff --git a/src/plugins/discover/public/components/doc_table/utils/row_formatter.test.ts b/src/plugins/discover/public/components/doc_table/utils/row_formatter.test.ts index 51698ebb03f32..e1ff381ae7b29 100644 --- a/src/plugins/discover/public/components/doc_table/utils/row_formatter.test.ts +++ b/src/plugins/discover/public/components/doc_table/utils/row_formatter.test.ts @@ -12,7 +12,7 @@ import { DataView } from '@kbn/data-views-plugin/public'; import { fieldFormatsMock } from '@kbn/field-formats-plugin/common/mocks'; import { DiscoverServices } from '../../../build_services'; import { stubbedSavedObjectIndexPattern } from '@kbn/data-plugin/common/stubs'; -import { buildDataTableRecord } from '../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; describe('Row formatter', () => { let services: DiscoverServices; diff --git a/src/plugins/discover/public/components/doc_table/utils/row_formatter.tsx b/src/plugins/discover/public/components/doc_table/utils/row_formatter.tsx index 8efbd895aa159..6131c4e3204fc 100644 --- a/src/plugins/discover/public/components/doc_table/utils/row_formatter.tsx +++ b/src/plugins/discover/public/components/doc_table/utils/row_formatter.tsx @@ -9,8 +9,8 @@ import React, { Fragment } from 'react'; import type { DataView } from '@kbn/data-views-plugin/public'; import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { formatHit } from '../../../utils/format_hit'; -import type { DataTableRecord } from '../../../types'; import './row_formatter.scss'; import { type ShouldShowFieldInTableHandler } from '../../../utils/get_should_show_field_handler'; diff --git a/src/plugins/discover/public/embeddable/saved_search_embeddable.test.ts b/src/plugins/discover/public/embeddable/saved_search_embeddable.test.ts index dd66cf80eb8b5..6f27a11e149ed 100644 --- a/src/plugins/discover/public/embeddable/saved_search_embeddable.test.ts +++ b/src/plugins/discover/public/embeddable/saved_search_embeddable.test.ts @@ -22,7 +22,7 @@ import { SHOW_FIELD_STATISTICS } from '../../common'; import { IUiSettingsClient } from '@kbn/core-ui-settings-browser'; import { SavedSearchEmbeddableComponent } from './saved_search_embeddable_component'; import { VIEW_MODE } from '../../common/constants'; -import { buildDataViewMock, deepMockedFields } from '../__mocks__/data_view'; +import { buildDataViewMock, deepMockedFields } from '@kbn/discover-utils/src/__mocks__'; let discoverComponent: ReactWrapper; diff --git a/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx b/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx index e0d80e05bc969..5f1a145eba243 100644 --- a/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx +++ b/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx @@ -36,10 +36,10 @@ import { KibanaContextProvider, KibanaThemeProvider } from '@kbn/kibana-react-pl import { SavedSearch } from '@kbn/saved-search-plugin/public'; import { METRIC_TYPE } from '@kbn/analytics'; import { CellActionsProvider } from '@kbn/cell-actions'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { DataTableRecord, EsHitRecord } from '@kbn/discover-utils/types'; import { VIEW_MODE } from '../../common/constants'; import { getSortForEmbeddable, SortPair } from '../utils/sorting'; -import { buildDataTableRecord } from '../utils/build_data_record'; -import { DataTableRecord, EsHitRecord } from '../types'; import { ISearchEmbeddable, SearchInput, SearchOutput } from './types'; import { SEARCH_EMBEDDABLE_TYPE, SEARCH_EMBEDDABLE_CELL_ACTIONS_TRIGGER_ID } from './constants'; import { DiscoverServices } from '../build_services'; diff --git a/src/plugins/discover/public/embeddable/saved_search_grid.tsx b/src/plugins/discover/public/embeddable/saved_search_grid.tsx index 8428d6a488fbc..075a3ca930235 100644 --- a/src/plugins/discover/public/embeddable/saved_search_grid.tsx +++ b/src/plugins/discover/public/embeddable/saved_search_grid.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ import React, { useState, memo } from 'react'; -import { DataTableRecord } from '../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { DiscoverGrid, DiscoverGridProps } from '../components/discover_grid/discover_grid'; import './saved_search_grid.scss'; import { DiscoverGridFlyout } from '../components/discover_grid/discover_grid_flyout'; diff --git a/src/plugins/discover/public/embeddable/search_embeddable_factory.test.ts b/src/plugins/discover/public/embeddable/search_embeddable_factory.test.ts index 09d851e329767..54a2dad5607a7 100644 --- a/src/plugins/discover/public/embeddable/search_embeddable_factory.test.ts +++ b/src/plugins/discover/public/embeddable/search_embeddable_factory.test.ts @@ -9,7 +9,7 @@ import { discoverServiceMock } from '../__mocks__/services'; import { SearchEmbeddableFactory, type StartServices } from './search_embeddable_factory'; import { createSearchSourceMock } from '@kbn/data-plugin/public/mocks'; -import { dataViewMock } from '../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { ErrorEmbeddable } from '@kbn/embeddable-plugin/public'; jest.mock('@kbn/embeddable-plugin/public', () => { diff --git a/src/plugins/discover/public/embeddable/utils/update_search_source.test.ts b/src/plugins/discover/public/embeddable/utils/update_search_source.test.ts index 779fcfffde778..a93aff8af091d 100644 --- a/src/plugins/discover/public/embeddable/utils/update_search_source.test.ts +++ b/src/plugins/discover/public/embeddable/utils/update_search_source.test.ts @@ -7,7 +7,7 @@ */ import { createSearchSourceMock } from '@kbn/data-plugin/common/search/search_source/mocks'; import { updateSearchSource } from './update_search_source'; -import { dataViewMock } from '../../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import type { SortOrder } from '@kbn/saved-search-plugin/public'; describe('updateSearchSource', () => { diff --git a/src/plugins/discover/public/hooks/use_data_grid_columns.test.tsx b/src/plugins/discover/public/hooks/use_data_grid_columns.test.tsx index 80e861ea99c42..4a1874ec8e940 100644 --- a/src/plugins/discover/public/hooks/use_data_grid_columns.test.tsx +++ b/src/plugins/discover/public/hooks/use_data_grid_columns.test.tsx @@ -8,7 +8,7 @@ import { renderHook } from '@testing-library/react-hooks'; import { useColumns } from './use_data_grid_columns'; -import { dataViewMock } from '../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { configMock } from '../__mocks__/config'; import { dataViewsMock } from '../__mocks__/data_views'; import { Capabilities } from '@kbn/core/types'; diff --git a/src/plugins/discover/public/hooks/use_es_doc_search.test.tsx b/src/plugins/discover/public/hooks/use_es_doc_search.test.tsx index f095ae8bc3a24..60f2eed7acdca 100644 --- a/src/plugins/discover/public/hooks/use_es_doc_search.test.tsx +++ b/src/plugins/discover/public/hooks/use_es_doc_search.test.tsx @@ -15,7 +15,7 @@ import { ElasticRequestState } from '../application/doc/types'; import { SEARCH_FIELDS_FROM_SOURCE as mockSearchFieldsFromSource } from '../../common'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import React from 'react'; -import { buildDataTableRecord } from '../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; const index = 'test-index'; const mockSearchResult = new Subject(); diff --git a/src/plugins/discover/public/hooks/use_es_doc_search.ts b/src/plugins/discover/public/hooks/use_es_doc_search.ts index d4d810a2f24e4..c78ee2cd0041f 100644 --- a/src/plugins/discover/public/hooks/use_es_doc_search.ts +++ b/src/plugins/discover/public/hooks/use_es_doc_search.ts @@ -11,8 +11,8 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { lastValueFrom } from 'rxjs'; import { DataView } from '@kbn/data-views-plugin/public'; import { reportPerformanceMetricEvent } from '@kbn/ebt-tools'; -import { buildDataTableRecord } from '../utils/build_data_record'; -import { DataTableRecord } from '../types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { DocProps } from '../application/doc/components/doc'; import { ElasticRequestState } from '../application/doc/types'; import { SEARCH_FIELDS_FROM_SOURCE } from '../../common'; diff --git a/src/plugins/discover/public/services/doc_views/components/doc_viewer/doc_viewer.test.tsx b/src/plugins/discover/public/services/doc_views/components/doc_viewer/doc_viewer.test.tsx index 41d483cb667c8..c7c659c6f84d8 100644 --- a/src/plugins/discover/public/services/doc_views/components/doc_viewer/doc_viewer.test.tsx +++ b/src/plugins/discover/public/services/doc_views/components/doc_viewer/doc_viewer.test.tsx @@ -12,7 +12,7 @@ import { DocViewer } from './doc_viewer'; import { findTestSubject } from '@elastic/eui/lib/test'; import { getDocViewsRegistry } from '../../../../kibana_services'; import { DocViewRenderProps } from '../../doc_views_types'; -import { buildDataTableRecord } from '../../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; jest.mock('../../../../kibana_services', () => { // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/src/plugins/discover/public/services/doc_views/components/doc_viewer/doc_viewer_tab.test.tsx b/src/plugins/discover/public/services/doc_views/components/doc_viewer/doc_viewer_tab.test.tsx index 3702bcd1b1669..f48487aa5d5d7 100644 --- a/src/plugins/discover/public/services/doc_views/components/doc_viewer/doc_viewer_tab.test.tsx +++ b/src/plugins/discover/public/services/doc_views/components/doc_viewer/doc_viewer_tab.test.tsx @@ -9,8 +9,8 @@ import React from 'react'; import { shallow } from 'enzyme'; import { DocViewerTab } from './doc_viewer_tab'; -import { dataViewMock } from '../../../../__mocks__/data_view'; -import { buildDataTableRecord } from '../../../../utils/build_data_record'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; +import { buildDataTableRecord } from '@kbn/discover-utils'; describe('DocViewerTab', () => { test('changing columns triggers an update', () => { diff --git a/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.test.tsx b/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.test.tsx index c76392924e15a..03853ba6b8d9e 100644 --- a/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.test.tsx +++ b/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.test.tsx @@ -15,7 +15,7 @@ import * as useUiSettingHook from '@kbn/kibana-react-plugin/public/ui_settings/u import { EuiButton, EuiEmptyPrompt, EuiLoadingSpinner } from '@elastic/eui'; import { JsonCodeEditorCommon } from '../../../../components/json_code_editor/json_code_editor_common'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { buildDataTableRecord } from '../../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; import { of } from 'rxjs'; const mockDataView = { diff --git a/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.tsx b/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.tsx index 7a28934dab424..4ea6a0ff1ace8 100644 --- a/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.tsx +++ b/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.tsx @@ -13,10 +13,10 @@ import { monaco } from '@kbn/monaco'; import { EuiButton, EuiEmptyPrompt, EuiLoadingSpinner, EuiSpacer, EuiText } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { DataView } from '@kbn/data-views-plugin/public'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { useDiscoverServices } from '../../../../hooks/use_discover_services'; import { JSONCodeEditorCommonMemoized } from '../../../../components/json_code_editor/json_code_editor_common'; import { DOC_TABLE_LEGACY, SEARCH_FIELDS_FROM_SOURCE } from '../../../../../common'; -import type { DataTableRecord } from '../../../../types'; import { useEsDocSearch } from '../../../../hooks/use_es_doc_search'; import { ElasticRequestState } from '../../../../application/doc/types'; import { getHeight } from './get_height'; diff --git a/src/plugins/discover/public/services/doc_views/components/doc_viewer_table/legacy/table.test.tsx b/src/plugins/discover/public/services/doc_views/components/doc_viewer_table/legacy/table.test.tsx index 30792619f58c2..45dbe65ba8f81 100644 --- a/src/plugins/discover/public/services/doc_views/components/doc_viewer_table/legacy/table.test.tsx +++ b/src/plugins/discover/public/services/doc_views/components/doc_viewer_table/legacy/table.test.tsx @@ -14,7 +14,7 @@ import { DataView } from '@kbn/data-views-plugin/public'; import { DocViewRenderProps } from '../../../doc_views_types'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { DiscoverServices } from '../../../../../build_services'; -import { buildDataTableRecord } from '../../../../../utils/build_data_record'; +import { buildDataTableRecord } from '@kbn/discover-utils'; const services = { uiSettings: { diff --git a/src/plugins/discover/public/services/doc_views/doc_views_registry.ts b/src/plugins/discover/public/services/doc_views/doc_views_registry.ts index d6bf89c5fef70..9b6f9d2490d80 100644 --- a/src/plugins/discover/public/services/doc_views/doc_views_registry.ts +++ b/src/plugins/discover/public/services/doc_views/doc_views_registry.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { DocView, DocViewInput, DocViewInputFn } from './doc_views_types'; -import { DataTableRecord } from '../../types'; export class DocViewsRegistry { private docViews: DocView[] = []; diff --git a/src/plugins/discover/public/services/doc_views/doc_views_types.ts b/src/plugins/discover/public/services/doc_views/doc_views_types.ts index c91285e144b38..ca6678620f29a 100644 --- a/src/plugins/discover/public/services/doc_views/doc_views_types.ts +++ b/src/plugins/discover/public/services/doc_views/doc_views_types.ts @@ -8,7 +8,7 @@ import { DataView, DataViewField } from '@kbn/data-views-plugin/public'; import type { AggregateQuery, Query } from '@kbn/es-query'; -import { DataTableRecord } from '../../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { IgnoredReason } from '../../utils/get_ignored_reason'; export interface FieldMapping { diff --git a/src/plugins/discover/public/types.ts b/src/plugins/discover/public/types.ts index a0fe48fcc574b..6f3faba1aa2a4 100644 --- a/src/plugins/discover/public/types.ts +++ b/src/plugins/discover/public/types.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ -import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { type DatatableColumn } from '@kbn/expressions-plugin/common'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; export type ValueToStringConverter = ( rowIndex: number, @@ -15,31 +15,6 @@ export type ValueToStringConverter = ( options?: { compatibleWithCSV?: boolean } ) => { formattedString: string; withFormula: boolean }; -export interface EsHitRecord extends Omit { - _source?: Record; -} -/** - * This is the record/row of data provided to our Data Table - */ -export interface DataTableRecord { - /** - * A unique id generated by index, id and routing of a record - */ - id: string; - /** - * The document returned by Elasticsearch for search queries - */ - raw: EsHitRecord; - /** - * A flattened version of the ES doc or data provided by SQL, aggregations ... - */ - flattened: Record; - /** - * Determines that the given doc is the anchor doc when rendering view surrounding docs - */ - isAnchor?: boolean; -} - export interface RecordsFetchResponse { records: DataTableRecord[]; textBasedQueryColumns?: DatatableColumn[]; diff --git a/src/plugins/discover/public/utils/columns.test.ts b/src/plugins/discover/public/utils/columns.test.ts index 4ad021e89ed0b..5ef7d8fea450f 100644 --- a/src/plugins/discover/public/utils/columns.test.ts +++ b/src/plugins/discover/public/utils/columns.test.ts @@ -8,7 +8,7 @@ import { getDisplayedColumns } from './columns'; import { dataViewWithTimefieldMock } from '../__mocks__/data_view_with_timefield'; -import { dataViewMock } from '../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; describe('getDisplayedColumns', () => { test('returns default columns given a data view without timefield', async () => { diff --git a/src/plugins/discover/public/utils/convert_value_to_string.ts b/src/plugins/discover/public/utils/convert_value_to_string.ts index f310ba35bf1c0..2a082a88047af 100644 --- a/src/plugins/discover/public/utils/convert_value_to_string.ts +++ b/src/plugins/discover/public/utils/convert_value_to_string.ts @@ -9,8 +9,8 @@ import { DataView } from '@kbn/data-views-plugin/public'; import { cellHasFormulas, createEscapeValue } from '@kbn/data-plugin/common'; import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { formatFieldValue } from './format_value'; -import { DataTableRecord } from '../types'; interface ConvertedResult { formattedString: string; diff --git a/src/plugins/discover/public/utils/format_hit.test.ts b/src/plugins/discover/public/utils/format_hit.test.ts index 244c312903e21..bccd80eedcd0f 100644 --- a/src/plugins/discover/public/utils/format_hit.test.ts +++ b/src/plugins/discover/public/utils/format_hit.test.ts @@ -6,11 +6,11 @@ * Side Public License, v 1. */ -import { dataViewMock as dataViewMock } from '../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { formatHit } from './format_hit'; import { discoverServiceMock } from '../__mocks__/services'; -import { DataTableRecord, EsHitRecord } from '../types'; -import { buildDataTableRecord } from './build_data_record'; +import type { DataTableRecord, EsHitRecord } from '@kbn/discover-utils/types'; +import { buildDataTableRecord } from '@kbn/discover-utils'; describe('formatHit', () => { let row: DataTableRecord; diff --git a/src/plugins/discover/public/utils/format_hit.ts b/src/plugins/discover/public/utils/format_hit.ts index 4b4537d5cfc98..c60ac43b4293e 100644 --- a/src/plugins/discover/public/utils/format_hit.ts +++ b/src/plugins/discover/public/utils/format_hit.ts @@ -10,7 +10,7 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { i18n } from '@kbn/i18n'; import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; import { DataView } from '@kbn/data-views-plugin/public'; -import { DataTableRecord } from '../types'; +import type { DataTableRecord } from '@kbn/discover-utils/types'; import { formatFieldValue } from './format_value'; import { type ShouldShowFieldInTableHandler } from './get_should_show_field_handler'; diff --git a/src/plugins/discover/public/utils/format_value.test.ts b/src/plugins/discover/public/utils/format_value.test.ts index 3b139feb08c4e..d70f5f505b42a 100644 --- a/src/plugins/discover/public/utils/format_value.test.ts +++ b/src/plugins/discover/public/utils/format_value.test.ts @@ -8,7 +8,7 @@ import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; import type { FieldFormat } from '@kbn/field-formats-plugin/common'; -import { dataViewMock } from '../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { formatFieldValue } from './format_value'; const services = { diff --git a/src/plugins/discover/public/utils/get_field_capabilities.test.ts b/src/plugins/discover/public/utils/get_field_capabilities.test.ts index c613b8045db1c..f839e98210d80 100644 --- a/src/plugins/discover/public/utils/get_field_capabilities.test.ts +++ b/src/plugins/discover/public/utils/get_field_capabilities.test.ts @@ -7,7 +7,7 @@ */ import { DataViewField } from '@kbn/data-views-plugin/common'; -import { buildDataViewMock } from '../__mocks__/data_view'; +import { buildDataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { getFieldCapabilities } from './get_field_capabilities'; import { DataView } from '@kbn/data-views-plugin/public'; diff --git a/src/plugins/discover/public/utils/get_sharing_data.test.ts b/src/plugins/discover/public/utils/get_sharing_data.test.ts index ef707d70d9515..75d3204dfab5c 100644 --- a/src/plugins/discover/public/utils/get_sharing_data.test.ts +++ b/src/plugins/discover/public/utils/get_sharing_data.test.ts @@ -16,7 +16,7 @@ import { SORT_DEFAULT_ORDER_SETTING, SEARCH_FIELDS_FROM_SOURCE, } from '../../common'; -import { dataViewMock } from '../__mocks__/data_view'; +import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { getSharingData, showPublicUrlSwitch } from './get_sharing_data'; describe('getSharingData', () => { diff --git a/src/plugins/discover/tsconfig.json b/src/plugins/discover/tsconfig.json index 7bc42a8aeacd7..3b2903f686079 100644 --- a/src/plugins/discover/tsconfig.json +++ b/src/plugins/discover/tsconfig.json @@ -55,6 +55,7 @@ "@kbn/unified-field-list", "@kbn/core-saved-objects-api-server", "@kbn/cell-actions", + "@kbn/discover-utils", ], "exclude": [ "target/**/*", diff --git a/src/plugins/guided_onboarding/public/components/guide_panel.test.tsx b/src/plugins/guided_onboarding/public/components/guide_panel.test.tsx index 42440cd2587b2..04c6547fc8d9b 100644 --- a/src/plugins/guided_onboarding/public/components/guide_panel.test.tsx +++ b/src/plugins/guided_onboarding/public/components/guide_panel.test.tsx @@ -8,6 +8,8 @@ import { act } from 'react-dom/test-utils'; import React from 'react'; +import { BehaviorSubject } from 'rxjs'; +import { CoreTheme } from '@kbn/core/public'; import { applicationServiceMock } from '@kbn/core-application-browser-mocks'; import { notificationServiceMock } from '@kbn/core-notifications-browser-mocks'; @@ -31,15 +33,10 @@ import { mockPluginStateInProgress, } from '../services/api.mocks'; import { GuidePanel } from './guide_panel'; -import { IUiSettingsClient } from '@kbn/core/public'; const applicationMock = applicationServiceMock.createStartContract(); const notificationsMock = notificationServiceMock.createStartContract(); -const uiSettingsMock = { - get: jest.fn(), -} as unknown as IUiSettingsClient; - const mockGetResponse = (path: string, pluginState: PluginState) => { if (path === `${API_BASE_PATH}/configs/${testGuideId}`) { return Promise.resolve({ @@ -60,13 +57,14 @@ const setupComponentWithPluginStateMock = async ( }; const setupGuidePanelComponent = async (api: GuidedOnboardingApi) => { + const coreTheme$ = new BehaviorSubject({ darkMode: true }); let testBed: TestBed; const GuidePanelComponent = () => ( ); await act(async () => { diff --git a/src/plugins/guided_onboarding/public/components/guide_panel.tsx b/src/plugins/guided_onboarding/public/components/guide_panel.tsx index a87b006eb55eb..ca866056c9f7c 100644 --- a/src/plugins/guided_onboarding/public/components/guide_panel.tsx +++ b/src/plugins/guided_onboarding/public/components/guide_panel.tsx @@ -7,11 +7,14 @@ */ import React, { useState, useEffect, useCallback } from 'react'; +import useObservable from 'react-use/lib/useObservable'; +import type { Observable } from 'rxjs'; + import { useEuiTheme } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { ApplicationStart, NotificationsStart, IUiSettingsClient } from '@kbn/core/public'; +import { ApplicationStart, CoreTheme, NotificationsStart } from '@kbn/core/public'; import type { GuideState, GuideStep as GuideStepStatus } from '@kbn/guided-onboarding'; import type { GuideId, GuideConfig, StepConfig } from '@kbn/guided-onboarding'; @@ -30,7 +33,7 @@ interface GuidePanelProps { api: GuidedOnboardingApi; application: ApplicationStart; notifications: NotificationsStart; - uiSettings: IUiSettingsClient; + theme$: Observable; } const getProgress = (state?: GuideState): number => { @@ -45,7 +48,7 @@ const getProgress = (state?: GuideState): number => { return 0; }; -export const GuidePanel = ({ api, application, notifications, uiSettings }: GuidePanelProps) => { +export const GuidePanel = ({ api, application, notifications, theme$ }: GuidePanelProps) => { const euiThemeContext = useEuiTheme(); const euiTheme = euiThemeContext.euiTheme; const [isGuideOpen, setIsGuideOpen] = useState(false); @@ -53,8 +56,8 @@ export const GuidePanel = ({ api, application, notifications, uiSettings }: Guid const [pluginState, setPluginState] = useState(undefined); const [guideConfig, setGuideConfig] = useState(undefined); const [isLoading, setIsLoading] = useState(false); + const { darkMode: isDarkTheme } = useObservable(theme$, { darkMode: false }); - const isDarkTheme = uiSettings.get('theme:darkMode'); const styles = getGuidePanelStyles({ euiThemeContext, isDarkTheme }); const toggleGuide = () => { diff --git a/src/plugins/guided_onboarding/public/plugin.tsx b/src/plugins/guided_onboarding/public/plugin.tsx index 8f37552ae53de..b91056b0041e1 100755 --- a/src/plugins/guided_onboarding/public/plugin.tsx +++ b/src/plugins/guided_onboarding/public/plugin.tsx @@ -17,7 +17,6 @@ import { CoreTheme, ApplicationStart, NotificationsStart, - IUiSettingsClient, } from '@kbn/core/public'; import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; @@ -43,7 +42,7 @@ export class GuidedOnboardingPlugin core: CoreStart, { cloud }: AppPluginStartDependencies ): GuidedOnboardingPluginStart { - const { chrome, http, theme, application, notifications, uiSettings } = core; + const { chrome, http, theme, application, notifications } = core; // Guided onboarding UI is only available on cloud and if the access to the Kibana feature is granted const isEnabled = !!(cloud?.isCloudEnabled && application.capabilities[PLUGIN_FEATURE].enabled); @@ -60,7 +59,6 @@ export class GuidedOnboardingPlugin api: apiService, application, notifications, - uiSettings, }), }); } @@ -79,14 +77,12 @@ export class GuidedOnboardingPlugin api, application, notifications, - uiSettings, }: { targetDomElement: HTMLElement; theme$: Rx.Observable; api: ApiService; application: ApplicationStart; notifications: NotificationsStart; - uiSettings: IUiSettingsClient; }) { ReactDOM.render( @@ -95,7 +91,7 @@ export class GuidedOnboardingPlugin api={api} application={application} notifications={notifications} - uiSettings={uiSettings} + theme$={theme$} /> , diff --git a/src/plugins/unified_search/public/query_string_input/query_bar_menu_panels.tsx b/src/plugins/unified_search/public/query_string_input/query_bar_menu_panels.tsx index 4479be2c9281b..b55377d618b3d 100644 --- a/src/plugins/unified_search/public/query_string_input/query_bar_menu_panels.tsx +++ b/src/plugins/unified_search/public/query_string_input/query_bar_menu_panels.tsx @@ -28,7 +28,11 @@ import { import { i18n } from '@kbn/i18n'; import { METRIC_TYPE } from '@kbn/analytics'; import { useKibana } from '@kbn/kibana-react-plugin/public'; -import { KIBANA_USER_QUERY_LANGUAGE_KEY, UI_SETTINGS } from '@kbn/data-plugin/common'; +import { + KIBANA_USER_QUERY_LANGUAGE_KEY, + KQL_TELEMETRY_ROUTE_LATEST_VERSION, + UI_SETTINGS, +} from '@kbn/data-plugin/common'; import type { SavedQueryService, SavedQuery } from '@kbn/data-plugin/public'; import type { IUnifiedSearchPluginServices } from '../types'; import { fromUser } from './from_user'; @@ -297,7 +301,8 @@ export function QueryBarMenuPanels({ }; const onSelectLanguage = (lang: string) => { - http.post('/api/kibana/kql_opt_in_stats', { + http.post('/internal/kql_opt_in_stats', { + version: KQL_TELEMETRY_ROUTE_LATEST_VERSION, body: JSON.stringify({ opt_in: lang === 'kuery' }), }); diff --git a/src/plugins/unified_search/public/query_string_input/query_string_input.tsx b/src/plugins/unified_search/public/query_string_input/query_string_input.tsx index 6e337de578fbe..386b5c4aa0bd0 100644 --- a/src/plugins/unified_search/public/query_string_input/query_string_input.tsx +++ b/src/plugins/unified_search/public/query_string_input/query_string_input.tsx @@ -32,7 +32,11 @@ import type { Query } from '@kbn/es-query'; import { DataPublicPluginStart, getQueryLog } from '@kbn/data-plugin/public'; import { type DataView, DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public'; import type { PersistedLog } from '@kbn/data-plugin/public'; -import { getFieldSubtypeNested, KIBANA_USER_QUERY_LANGUAGE_KEY } from '@kbn/data-plugin/common'; +import { + getFieldSubtypeNested, + KIBANA_USER_QUERY_LANGUAGE_KEY, + KQL_TELEMETRY_ROUTE_LATEST_VERSION, +} from '@kbn/data-plugin/common'; import { toMountPoint } from '@kbn/kibana-react-plugin/public'; import type { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; import type { UsageCollectionStart } from '@kbn/usage-collection-plugin/public'; @@ -592,7 +596,8 @@ export default class QueryStringInputUI extends PureComponent { await supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: true }) .expect(200); @@ -48,8 +51,9 @@ export default function ({ getService }: FtrProviderContext) { it('should increment the opt *out* counter in the .kibana_analytics/kql-telemetry document', async () => { await supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: false }) .expect(200); @@ -66,8 +70,9 @@ export default function ({ getService }: FtrProviderContext) { it('should report success when opt *in* is incremented successfully', () => { return supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: true }) .expect('Content-Type', /json/) .expect(200) @@ -78,8 +83,9 @@ export default function ({ getService }: FtrProviderContext) { it('should report success when opt *out* is incremented successfully', () => { return supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: false }) .expect('Content-Type', /json/) .expect(200) @@ -91,28 +97,33 @@ export default function ({ getService }: FtrProviderContext) { it('should only accept literal boolean values for the opt_in POST body param', function () { return Promise.all([ supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: 'notabool' }) .expect(400), supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: 0 }) .expect(400), supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: null }) .expect(400), supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: undefined }) .expect(400), supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({}) .expect(400), ]); diff --git a/test/api_integration/apis/scripts/languages.js b/test/api_integration/apis/scripts/languages.js index f37569aa4011c..78db98445bbb5 100644 --- a/test/api_integration/apis/scripts/languages.js +++ b/test/api_integration/apis/scripts/languages.js @@ -8,13 +8,17 @@ import expect from '@kbn/expect'; +import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common'; +import { SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION } from '@kbn/data-plugin/common/constants'; + export default function ({ getService }) { const supertest = getService('supertest'); describe('Script Languages API', function getLanguages() { it('should return 200 with an array of languages', () => supertest - .get('/api/kibana/scripts/languages') + .get('/internal/scripts/languages') + .set(ELASTIC_HTTP_VERSION_HEADER, SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION) .expect(200) .then((response) => { expect(response.body).to.be.an('array'); @@ -23,7 +27,8 @@ export default function ({ getService }) { // eslint-disable-next-line jest/no-disabled-tests it.skip('should only return langs enabled for inline scripting', () => supertest - .get('/api/kibana/scripts/languages') + .get('/internal/scripts/languages') + .set(ELASTIC_HTTP_VERSION_HEADER, SCRIPT_LANGUAGES_ROUTE_LATEST_VERSION) .expect(200) .then((response) => { expect(response.body).to.contain('expression'); diff --git a/test/functional/apps/management/_files.ts b/test/functional/apps/management/_files.ts index deebdb18f374b..6a9a2c2597f5f 100644 --- a/test/functional/apps/management/_files.ts +++ b/test/functional/apps/management/_files.ts @@ -6,12 +6,12 @@ * Side Public License, v 1. */ -import expect from '@kbn/expect'; import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getPageObjects, getService }: FtrProviderContext) { const PageObjects = getPageObjects(['common', 'filesManagement']); const testSubjects = getService('testSubjects'); + const retry = getService('retry'); describe('Files management', () => { before(async () => { @@ -21,9 +21,10 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it(`should render an empty prompt`, async () => { await testSubjects.existOrFail('filesManagementApp'); - const pageText = await (await testSubjects.find('filesManagementApp')).getVisibleText(); - - expect(pageText).to.contain('No files found'); + await retry.waitFor('Render empty files prompt', async () => { + const pageText = await (await testSubjects.find('filesManagementApp')).getVisibleText(); + return pageText.includes('No files found'); + }); }); }); } diff --git a/tsconfig.base.json b/tsconfig.base.json index d65e5ad3cb72d..d184f337e5248 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -654,6 +654,8 @@ "@kbn/discover-log-explorer-plugin/*": ["x-pack/plugins/discover_log_explorer/*"], "@kbn/discover-plugin": ["src/plugins/discover"], "@kbn/discover-plugin/*": ["src/plugins/discover/*"], + "@kbn/discover-utils": ["packages/kbn-discover-utils"], + "@kbn/discover-utils/*": ["packages/kbn-discover-utils/*"], "@kbn/doc-links": ["packages/kbn-doc-links"], "@kbn/doc-links/*": ["packages/kbn-doc-links/*"], "@kbn/docs-utils": ["packages/kbn-docs-utils"], @@ -960,6 +962,8 @@ "@kbn/ml-agg-utils/*": ["x-pack/packages/ml/agg_utils/*"], "@kbn/ml-anomaly-utils": ["x-pack/packages/ml/anomaly_utils"], "@kbn/ml-anomaly-utils/*": ["x-pack/packages/ml/anomaly_utils/*"], + "@kbn/ml-category-validator": ["x-pack/packages/ml/category_validator"], + "@kbn/ml-category-validator/*": ["x-pack/packages/ml/category_validator/*"], "@kbn/ml-data-frame-analytics-utils": ["x-pack/packages/ml/data_frame_analytics_utils"], "@kbn/ml-data-frame-analytics-utils/*": ["x-pack/packages/ml/data_frame_analytics_utils/*"], "@kbn/ml-data-grid": ["x-pack/packages/ml/data_grid"], diff --git a/x-pack/.i18nrc.json b/x-pack/.i18nrc.json index 6fbc0f935b940..31d72d2aaab3e 100644 --- a/x-pack/.i18nrc.json +++ b/x-pack/.i18nrc.json @@ -54,6 +54,7 @@ "packages/ml/data_grid", "packages/ml/date_picker", "packages/ml/trained_models_utils", + "packages/ml/category_validator", "plugins/ml" ], "xpack.monitoring": ["plugins/monitoring"], diff --git a/x-pack/examples/exploratory_view_example/public/app.tsx b/x-pack/examples/exploratory_view_example/public/app.tsx index b38c777eb400e..627452375d63d 100644 --- a/x-pack/examples/exploratory_view_example/public/app.tsx +++ b/x-pack/examples/exploratory_view_example/public/app.tsx @@ -12,8 +12,7 @@ import { EuiFlexItem, EuiPage, EuiPageBody, - EuiPageContent_Deprecated as EuiPageContent, - EuiPageContentBody_Deprecated as EuiPageContentBody, + EuiPageSection, EuiPageHeader, EuiPageHeaderSection, EuiTitle, @@ -63,27 +62,25 @@ export const App = (props: { - - -

    - This app embeds an Observability Exploratory view as embeddable component. Make sure - you have data in heartbeat-* index within last 5 days for this demo to work. -

    - - - - Edit in exploratory view (new tab) - - - - -
    -
    + +

    + This app embeds an Observability Exploratory view as embeddable component. Make sure you + have data in heartbeat-* index within last 5 days for this demo to work. +

    + + + + Edit in exploratory view (new tab) + + + + +
    ); diff --git a/x-pack/packages/ml/category_validator/README.md b/x-pack/packages/ml/category_validator/README.md new file mode 100644 index 0000000000000..712f260721601 --- /dev/null +++ b/x-pack/packages/ml/category_validator/README.md @@ -0,0 +1,3 @@ +# @kbn/ml-category-validator + +Provides functions for validating data to see whether it is suitable for categorization diff --git a/x-pack/plugins/ml/common/constants/categorization_job.ts b/x-pack/packages/ml/category_validator/common/constants/categorization.ts similarity index 55% rename from x-pack/plugins/ml/common/constants/categorization_job.ts rename to x-pack/packages/ml/category_validator/common/constants/categorization.ts index 7436f884071a0..4bd5ab6710f9f 100644 --- a/x-pack/plugins/ml/common/constants/categorization_job.ts +++ b/x-pack/packages/ml/category_validator/common/constants/categorization.ts @@ -6,76 +6,136 @@ */ import { i18n } from '@kbn/i18n'; -import { VALIDATION_RESULT } from '../types/categories'; -export const NUMBER_OF_CATEGORY_EXAMPLES = 5; +/** + * The number of category examples to use for analysis. + */ export const CATEGORY_EXAMPLES_SAMPLE_SIZE = 1000; + +/** + * The warning limit for category examples. If the category examples validation falls below this limit, a warning is triggered. + */ export const CATEGORY_EXAMPLES_WARNING_LIMIT = 0.75; + +/** + * The error limit for category examples. If the category examples validation falls below this limit, an error is triggered. + */ export const CATEGORY_EXAMPLES_ERROR_LIMIT = 0.02; +/** + * The valid token count for category examples. + */ export const VALID_TOKEN_COUNT = 3; + +/** + * The limit for the median line length of category examples. + */ export const MEDIAN_LINE_LENGTH_LIMIT = 400; + +/** + * The limit for the percentage of null values in category examples. + */ export const NULL_COUNT_PERCENT_LIMIT = 0.75; +/** + * Enum representing the validation status of category examples. + */ export enum CATEGORY_EXAMPLES_VALIDATION_STATUS { VALID = 'valid', PARTIALLY_VALID = 'partially_valid', INVALID = 'invalid', } +/** + * Enum representing the validation results for field examples. + */ +export enum VALIDATION_RESULT { + NO_EXAMPLES, + FAILED_TO_TOKENIZE, + TOO_MANY_TOKENS, + TOKEN_COUNT, + MEDIAN_LINE_LENGTH, + NULL_VALUES, + INSUFFICIENT_PRIVILEGES, +} + +/** + * Description for each validation result. + */ export const VALIDATION_CHECK_DESCRIPTION = { + /** + * Examples were successfully loaded. + */ [VALIDATION_RESULT.NO_EXAMPLES]: i18n.translate( 'xpack.ml.models.jobService.categorization.messages.validNoDataFound', { - defaultMessage: 'Examples were successfully loaded.', + defaultMessage: 'Examples were successfully loaded.', } - ), + ) as string, + /** + * The loaded examples were tokenized successfully. + */ [VALIDATION_RESULT.FAILED_TO_TOKENIZE]: i18n.translate( 'xpack.ml.models.jobService.categorization.messages.validFailureToGetTokens', { - defaultMessage: 'The examples loaded were tokenized successfully.', + defaultMessage: 'The loaded examples were tokenized successfully.', } - ), + ) as string, + /** + * More than {tokenCount} tokens per example were found in over {percentage}% of the loaded examples. + */ [VALIDATION_RESULT.TOKEN_COUNT]: i18n.translate( 'xpack.ml.models.jobService.categorization.messages.validTokenLength', { defaultMessage: - 'More than {tokenCount} tokens per example were found in over {percentage}% of the examples loaded.', + 'More than {tokenCount} tokens per example were found in over {percentage}% of the loaded examples.', values: { percentage: Math.floor(CATEGORY_EXAMPLES_WARNING_LIMIT * 100), tokenCount: VALID_TOKEN_COUNT, }, } - ), + ) as string, + /** + * The median line length of the loaded examples was less than {medianCharCount} characters. + */ [VALIDATION_RESULT.MEDIAN_LINE_LENGTH]: i18n.translate( 'xpack.ml.models.jobService.categorization.messages.validMedianLineLength', { defaultMessage: - 'The median line length of the examples loaded was less than {medianCharCount} characters.', + 'The median line length of the loaded examples was less than {medianCharCount} characters.', values: { medianCharCount: MEDIAN_LINE_LENGTH_LIMIT, }, } - ), + ) as string, + /** + * Less than {percentage}% of the loaded examples were null. + */ [VALIDATION_RESULT.NULL_VALUES]: i18n.translate( 'xpack.ml.models.jobService.categorization.messages.validNullValues', { - defaultMessage: 'Less than {percentage}% of the examples loaded were null.', + defaultMessage: 'Less than {percentage}% of the loaded examples were null.', values: { percentage: Math.floor(100 - NULL_COUNT_PERCENT_LIMIT * 100), }, } - ), + ) as string, + /** + * Less than 10000 tokens were found in total in the loaded examples. + */ [VALIDATION_RESULT.TOO_MANY_TOKENS]: i18n.translate( 'xpack.ml.models.jobService.categorization.messages.validTooManyTokens', { - defaultMessage: 'Less than 10000 tokens were found in total in the examples loaded.', + defaultMessage: 'Less than 10000 tokens were found in total in the loaded examples.', } - ), + ) as string, + /** + * The user has sufficient privileges to perform the checks. + */ [VALIDATION_RESULT.INSUFFICIENT_PRIVILEGES]: i18n.translate( 'xpack.ml.models.jobService.categorization.messages.validUserPrivileges', { defaultMessage: 'The user has sufficient privileges to perform the checks.', } - ), + ) as string, }; diff --git a/x-pack/packages/ml/category_validator/common/types/categories.ts b/x-pack/packages/ml/category_validator/common/types/categories.ts new file mode 100644 index 0000000000000..b54f34a6b2086 --- /dev/null +++ b/x-pack/packages/ml/category_validator/common/types/categories.ts @@ -0,0 +1,81 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; + +import { + CATEGORY_EXAMPLES_VALIDATION_STATUS, + VALIDATION_RESULT, +} from '../constants/categorization'; + +/** + * Token + */ +export interface Token { + /** + * The token string. + */ + token: string; + /** + * The starting offset of the token. + */ + start_offset: number; + /** + * The ending offset of the token. + */ + end_offset: number; + /** + * The type of the token. + */ + type: string; + /** + * The position of the token. + */ + position: number; +} + +/** + * Categorization analyzer with additional properties. + */ +export type CategorizationAnalyzer = estypes.MlCategorizationAnalyzerDefinition & { + /** + * The analyzer used for categorization. + */ + analyzer?: string; +}; + +/** + * Field example for a category. + */ +export interface CategoryFieldExample { + /** + * The text of the field example. + */ + text: string; + /** + * The tokens extracted from the field example. + */ + tokens: Token[]; +} + +/** + * Result of a field example check. + */ +export interface FieldExampleCheck { + /** + * The ID of the validation result. + */ + id: VALIDATION_RESULT; + /** + * The validation status of the field example. + */ + valid: CATEGORY_EXAMPLES_VALIDATION_STATUS; + /** + * The message associated with the validation result. + */ + message: string; +} diff --git a/x-pack/packages/ml/category_validator/index.ts b/x-pack/packages/ml/category_validator/index.ts new file mode 100644 index 0000000000000..e235ea204ed04 --- /dev/null +++ b/x-pack/packages/ml/category_validator/index.ts @@ -0,0 +1,25 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { categorizationExamplesProvider } from './src/examples'; +export type { + CategorizationAnalyzer, + CategoryFieldExample, + FieldExampleCheck, + Token, +} from './common/types/categories'; +export { + CATEGORY_EXAMPLES_ERROR_LIMIT, + CATEGORY_EXAMPLES_SAMPLE_SIZE, + CATEGORY_EXAMPLES_VALIDATION_STATUS, + CATEGORY_EXAMPLES_WARNING_LIMIT, + MEDIAN_LINE_LENGTH_LIMIT, + NULL_COUNT_PERCENT_LIMIT, + VALID_TOKEN_COUNT, + VALIDATION_CHECK_DESCRIPTION, + VALIDATION_RESULT, +} from './common/constants/categorization'; diff --git a/x-pack/plugins/cases/common/api/connectors/index.ts b/x-pack/packages/ml/category_validator/jest.config.js similarity index 51% rename from x-pack/plugins/cases/common/api/connectors/index.ts rename to x-pack/packages/ml/category_validator/jest.config.js index 33bb10cbcac1b..16140d5a9b1f7 100644 --- a/x-pack/plugins/cases/common/api/connectors/index.ts +++ b/x-pack/packages/ml/category_validator/jest.config.js @@ -5,11 +5,8 @@ * 2.0. */ -export * from './jira'; -export * from './servicenow_itsm'; -export * from './servicenow_sir'; -export * from './resilient'; -export * from './mappings'; -export * from './swimlane'; -export * from './get_connectors'; -export * from './connector'; +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../../../..', + roots: ['/x-pack/packages/ml/category_validator'], +}; diff --git a/x-pack/packages/ml/category_validator/kibana.jsonc b/x-pack/packages/ml/category_validator/kibana.jsonc new file mode 100644 index 0000000000000..de1fea187f3c8 --- /dev/null +++ b/x-pack/packages/ml/category_validator/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/ml-category-validator", + "owner": "@elastic/ml-ui" +} diff --git a/x-pack/packages/ml/category_validator/package.json b/x-pack/packages/ml/category_validator/package.json new file mode 100644 index 0000000000000..2466a5fdc6b7d --- /dev/null +++ b/x-pack/packages/ml/category_validator/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/ml-category-validator", + "private": true, + "version": "1.0.0", + "license": "Elastic License 2.0" +} diff --git a/x-pack/plugins/ml/server/models/job_service/new_job/categorization/examples.ts b/x-pack/packages/ml/category_validator/src/examples.ts similarity index 83% rename from x-pack/plugins/ml/server/models/job_service/new_job/categorization/examples.ts rename to x-pack/packages/ml/category_validator/src/examples.ts index f529b94da5e84..7971e825d3fa5 100644 --- a/x-pack/plugins/ml/server/models/job_service/new_job/categorization/examples.ts +++ b/x-pack/packages/ml/category_validator/src/examples.ts @@ -7,29 +7,53 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import { IScopedClusterClient } from '@kbn/core/server'; import { chunk } from 'lodash'; +import type { IScopedClusterClient } from '@kbn/core/server'; import type { RuntimeMappings } from '@kbn/ml-runtime-field-utils'; -import { CATEGORY_EXAMPLES_SAMPLE_SIZE } from '../../../../../common/constants/categorization_job'; -import { +import { CATEGORY_EXAMPLES_SAMPLE_SIZE } from '../common/constants/categorization'; +import type { Token, CategorizationAnalyzer, CategoryFieldExample, -} from '../../../../../common/types/categories'; -import { IndicesOptions } from '../../../../../common/types/anomaly_detection_jobs'; +} from '../common/types/categories'; import { ValidationResults } from './validation_results'; +/** + * The size of each chunk for processing examples. + * + */ const CHUNK_SIZE = 100; -export function categorizationExamplesProvider({ - asCurrentUser, - asInternalUser, -}: IScopedClusterClient) { +/** + * Provides methods for checking whether categories can be + * produced from a field. + * + * @export + * @param client - IScopedClusterClient + */ +export function categorizationExamplesProvider(client: IScopedClusterClient) { + const { asCurrentUser, asInternalUser } = client; const validationResults = new ValidationResults(); + /** + * Retrieves the tokens for the provided examples and analyzer. + * + * @async + * @param {string} indexPatternTitle + * @param {estypes.QueryDslQueryContainer} query + * @param {number} size + * @param {string} categorizationFieldName + * @param {(string | undefined)} timeField + * @param {number} start + * @param {number} end + * @param {CategorizationAnalyzer} analyzer + * @param {(RuntimeMappings | undefined)} runtimeMappings + * @param {(estypes.IndicesOptions | undefined)} indicesOptions + * @returns {Promise<{ examples: CategoryFieldExample[]; error?: Error }>} + */ async function categorizationExamples( indexPatternTitle: string, - query: any, + query: estypes.QueryDslQueryContainer, size: number, categorizationFieldName: string, timeField: string | undefined, @@ -37,8 +61,8 @@ export function categorizationExamplesProvider({ end: number, analyzer: CategorizationAnalyzer, runtimeMappings: RuntimeMappings | undefined, - indicesOptions: IndicesOptions | undefined - ): Promise<{ examples: CategoryFieldExample[]; error?: any }> { + indicesOptions: estypes.IndicesOptions | undefined + ): Promise<{ examples: CategoryFieldExample[]; error?: Error }> { if (timeField !== undefined) { const range = { range: { @@ -178,7 +202,7 @@ export function categorizationExamplesProvider({ async function validateCategoryExamples( indexPatternTitle: string, - query: any, + query: estypes.QueryDslQueryContainer, size: number, categorizationFieldName: string, timeField: string | undefined, @@ -186,7 +210,7 @@ export function categorizationExamplesProvider({ end: number, analyzer: CategorizationAnalyzer, runtimeMappings: RuntimeMappings | undefined, - indicesOptions: IndicesOptions | undefined + indicesOptions: estypes.IndicesOptions | undefined ) { const resp = await categorizationExamples( indexPatternTitle, diff --git a/x-pack/packages/ml/category_validator/src/util.ts b/x-pack/packages/ml/category_validator/src/util.ts new file mode 100644 index 0000000000000..8bcbc38e065ab --- /dev/null +++ b/x-pack/packages/ml/category_validator/src/util.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export function getMedianStringLength(strings: string[]) { + const sortedStringLengths = strings.map((s) => s.length).sort((a, b) => a - b); + return sortedStringLengths[Math.floor(sortedStringLengths.length / 2)] || 0; +} diff --git a/x-pack/plugins/ml/server/models/job_service/new_job/categorization/validation_results.ts b/x-pack/packages/ml/category_validator/src/validation_results.ts similarity index 96% rename from x-pack/plugins/ml/server/models/job_service/new_job/categorization/validation_results.ts rename to x-pack/packages/ml/category_validator/src/validation_results.ts index a5617f1fc7b65..3d6ab9623a869 100644 --- a/x-pack/plugins/ml/server/models/job_service/new_job/categorization/validation_results.ts +++ b/x-pack/packages/ml/category_validator/src/validation_results.ts @@ -13,13 +13,10 @@ import { CATEGORY_EXAMPLES_VALIDATION_STATUS, CATEGORY_EXAMPLES_ERROR_LIMIT, CATEGORY_EXAMPLES_WARNING_LIMIT, -} from '../../../../../common/constants/categorization_job'; -import { - FieldExampleCheck, - CategoryFieldExample, VALIDATION_RESULT, -} from '../../../../../common/types/categories'; -import { getMedianStringLength } from '../../../../../common/util/string_utils'; +} from '../common/constants/categorization'; +import type { FieldExampleCheck, CategoryFieldExample } from '../common/types/categories'; +import { getMedianStringLength } from './util'; export class ValidationResults { private _results: FieldExampleCheck[] = []; diff --git a/x-pack/packages/ml/category_validator/tsconfig.json b/x-pack/packages/ml/category_validator/tsconfig.json new file mode 100644 index 0000000000000..51c0faec5b5c0 --- /dev/null +++ b/x-pack/packages/ml/category_validator/tsconfig.json @@ -0,0 +1,21 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/i18n", + "@kbn/core", + "@kbn/ml-runtime-field-utils", + ] +} diff --git a/x-pack/plugins/alerting/docs/openapi/bundled.json b/x-pack/plugins/alerting/docs/openapi/bundled.json index 1131daa58f3c0..1ccd3badae642 100644 --- a/x-pack/plugins/alerting/docs/openapi/bundled.json +++ b/x-pack/plugins/alerting/docs/openapi/bundled.json @@ -3378,6 +3378,105 @@ } } }, + "params_index_threshold_rule": { + "type": "object", + "description": "The parameters for an index threshold rule.", + "required": [ + "index", + "threshold", + "thresholdComparator", + "timeField", + "timeWindowSize", + "timeWindowUnit" + ], + "properties": { + "aggField": { + "description": "The name of the numeric field that is used in the aggregation. This property is required when `aggType` is `avg`, `max`, `min` or `sum`.\n", + "type": "string" + }, + "aggType": { + "description": "The type of aggregation to perform.", + "type": "string", + "enum": [ + "avg", + "count", + "max", + "min", + "sum" + ], + "default": "count" + }, + "filterKuery": { + "description": "A KQL expression thats limits the scope of alerts.", + "type": "string" + }, + "groupBy": { + "description": "Indicates whether the aggregation is applied over all documents (`all`) or split into groups (`top`) using a grouping field (`termField`). If grouping is used, an alert will be created for each group when it exceeds the threshold; only the top groups (up to `termSize` number of groups) are checked.\n", + "type": "string", + "enum": [ + "all", + "top" + ], + "default": "all" + }, + "index": { + "description": "The indices to query.", + "type": "array", + "items": { + "type": "string" + } + }, + "termField": { + "description": "This property is required when `groupBy` is `top`. The name of the field that is used for grouping the aggregation.\n", + "type": "string" + }, + "termSize": { + "description": "This property is required when `groupBy` is `top`. It specifies the number of groups to check against the threshold and therefore limits the number of alerts on high cardinality fields.\n", + "type": "integer" + }, + "threshold": { + "description": "The threshold value that is used with the `thresholdComparator`. If the `thresholdComparator` is `between` or `notBetween`, you must specify the boundary values.\n", + "type": "array", + "items": { + "type": "integer" + }, + "example": 4000 + }, + "thresholdComparator": { + "description": "The comparison function for the threshold. For example, \"is above\", \"is above or equals\", \"is below\", \"is below or equals\", and \"is between\".", + "type": "string", + "enum": [ + ">", + ">=", + "<", + "<=", + "between", + "notBetween" + ], + "example": ">" + }, + "timeField": { + "description": "The field that is used to calculate the time window.", + "type": "string" + }, + "timeWindowSize": { + "description": "The size of the time window (in `timeWindowUnit` units), which determines how far back to search for documents. Generally it should be a value higher than the rule check interval to avoid gaps in detection.\n", + "type": "integer", + "example": 5 + }, + "timeWindowUnit": { + "description": "The type of units for the time window: seconds, minutes, hours, or days.\n", + "type": "string", + "enum": [ + "s", + "m", + "h", + "d" + ], + "example": "m" + } + } + }, "create_index_threshold_rule_request": { "title": "Create index threshold rule request", "description": "A rule that runs an Elasticsearch query, aggregates field values from documents, compares them to threshold values, and schedules actions to run when the thresholds are met.", @@ -3406,9 +3505,7 @@ "$ref": "#/components/schemas/notify_when" }, "params": { - "type": "object", - "description": "The parameters for an index threshold rule.", - "additionalProperties": true + "$ref": "#/components/schemas/params_index_threshold_rule" }, "rule_type_id": { "type": "string", diff --git a/x-pack/plugins/alerting/docs/openapi/bundled.yaml b/x-pack/plugins/alerting/docs/openapi/bundled.yaml index 18b92843bd09f..d97845f0a1d2f 100644 --- a/x-pack/plugins/alerting/docs/openapi/bundled.yaml +++ b/x-pack/plugins/alerting/docs/openapi/bundled.yaml @@ -2224,6 +2224,91 @@ components: $ref: '#/components/schemas/tags' throttle: $ref: '#/components/schemas/throttle' + params_index_threshold_rule: + type: object + description: The parameters for an index threshold rule. + required: + - index + - threshold + - thresholdComparator + - timeField + - timeWindowSize + - timeWindowUnit + properties: + aggField: + description: | + The name of the numeric field that is used in the aggregation. This property is required when `aggType` is `avg`, `max`, `min` or `sum`. + type: string + aggType: + description: The type of aggregation to perform. + type: string + enum: + - avg + - count + - max + - min + - sum + default: count + filterKuery: + description: A KQL expression thats limits the scope of alerts. + type: string + groupBy: + description: | + Indicates whether the aggregation is applied over all documents (`all`) or split into groups (`top`) using a grouping field (`termField`). If grouping is used, an alert will be created for each group when it exceeds the threshold; only the top groups (up to `termSize` number of groups) are checked. + type: string + enum: + - all + - top + default: all + index: + description: The indices to query. + type: array + items: + type: string + termField: + description: | + This property is required when `groupBy` is `top`. The name of the field that is used for grouping the aggregation. + type: string + termSize: + description: | + This property is required when `groupBy` is `top`. It specifies the number of groups to check against the threshold and therefore limits the number of alerts on high cardinality fields. + type: integer + threshold: + description: | + The threshold value that is used with the `thresholdComparator`. If the `thresholdComparator` is `between` or `notBetween`, you must specify the boundary values. + type: array + items: + type: integer + example: 4000 + thresholdComparator: + description: The comparison function for the threshold. For example, "is above", "is above or equals", "is below", "is below or equals", and "is between". + type: string + enum: + - '>' + - '>=' + - < + - <= + - between + - notBetween + example: '>' + timeField: + description: The field that is used to calculate the time window. + type: string + timeWindowSize: + description: | + The size of the time window (in `timeWindowUnit` units), which determines how far back to search for documents. Generally it should be a value higher than the rule check interval to avoid gaps in detection. + type: integer + example: 5 + timeWindowUnit: + description: | + The type of units for the time window: seconds, minutes, hours, or days. + type: string + enum: + - s + - m + - h + - d + example: m create_index_threshold_rule_request: title: Create index threshold rule request description: A rule that runs an Elasticsearch query, aggregates field values from documents, compares them to threshold values, and schedules actions to run when the thresholds are met. @@ -2246,9 +2331,7 @@ components: notify_when: $ref: '#/components/schemas/notify_when' params: - type: object - description: The parameters for an index threshold rule. - additionalProperties: true + $ref: '#/components/schemas/params_index_threshold_rule' rule_type_id: type: string description: The ID of the rule type that you want to call when the rule is scheduled to run. diff --git a/x-pack/plugins/alerting/docs/openapi/components/schemas/create_index_threshold_rule_request.yaml b/x-pack/plugins/alerting/docs/openapi/components/schemas/create_index_threshold_rule_request.yaml index 4ac87e901beb6..d97f2c0f78e5c 100644 --- a/x-pack/plugins/alerting/docs/openapi/components/schemas/create_index_threshold_rule_request.yaml +++ b/x-pack/plugins/alerting/docs/openapi/components/schemas/create_index_threshold_rule_request.yaml @@ -20,10 +20,7 @@ properties: notify_when: $ref: 'notify_when.yaml' params: - type: object - description: The parameters for an index threshold rule. - # TO-DO: Add the parameter details for this rule. - additionalProperties: true + $ref: 'params_index_threshold_rule.yaml' rule_type_id: type: string description: The ID of the rule type that you want to call when the rule is scheduled to run. diff --git a/x-pack/plugins/alerting/docs/openapi/components/schemas/params_index_threshold_rule.yaml b/x-pack/plugins/alerting/docs/openapi/components/schemas/params_index_threshold_rule.yaml new file mode 100644 index 0000000000000..39988043be72a --- /dev/null +++ b/x-pack/plugins/alerting/docs/openapi/components/schemas/params_index_threshold_rule.yaml @@ -0,0 +1,90 @@ +type: object +description: The parameters for an index threshold rule. +required: + - index + - threshold + - thresholdComparator + - timeField + - timeWindowSize + - timeWindowUnit +properties: + aggField: + description: > + The name of the numeric field that is used in the aggregation. + This property is required when `aggType` is `avg`, `max`, `min` or `sum`. + type: string + aggType: + description: The type of aggregation to perform. + type: string + enum: + - avg + - count + - max + - min + - sum + default: count + filterKuery: + description: A KQL expression thats limits the scope of alerts. + type: string + groupBy: + description: > + Indicates whether the aggregation is applied over all documents (`all`) or split into groups (`top`) using a grouping field (`termField`). + If grouping is used, an alert will be created for each group when it exceeds the threshold; only the top groups (up to `termSize` number of groups) are checked. + type: string + enum: + - all + - top + default: all + index: + description: The indices to query. + type: array + items: + type: string + termField: + description: > + This property is required when `groupBy` is `top`. + The name of the field that is used for grouping the aggregation. + type: string + termSize: + description: > + This property is required when `groupBy` is `top`. + It specifies the number of groups to check against the threshold and therefore limits the number of alerts on high cardinality fields. + type: integer + threshold: + description: > + The threshold value that is used with the `thresholdComparator`. + If the `thresholdComparator` is `between` or `notBetween`, you must specify the boundary values. + type: array + items: + type: integer + example: 4000 + thresholdComparator: + description: The comparison function for the threshold. For example, "is above", "is above or equals", "is below", "is below or equals", and "is between". + type: string + enum: + - ">" + - ">=" + - "<" + - "<=" + - between + - notBetween + example: ">" + timeField: + description: The field that is used to calculate the time window. + type: string + timeWindowSize: + description: > + The size of the time window (in `timeWindowUnit` units), which determines how far back to search for documents. + Generally it should be a value higher than the rule check interval to avoid gaps in detection. + type: integer + example: 5 + timeWindowUnit: + description: > + The type of units for the time window: seconds, minutes, hours, or days. + type: string + enum: + - s + - m + - h + - d + example: "m" \ No newline at end of file diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/diagnostics/apm-diagnostics-8.8.0-1687436214804.json b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/diagnostics/apm-diagnostics-8.8.0-1687436214804.json index f39600c247e20..460da7f7d374c 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/diagnostics/apm-diagnostics-8.8.0-1687436214804.json +++ b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/diagnostics/apm-diagnostics-8.8.0-1687436214804.json @@ -1,13 +1,46 @@ { "created_at": "2023-06-22T12:16:54.010Z", + "diagnosticsPrivileges": { + "index": { + "apm-*": { + "read": true + }, + "logs-apm*": { + "read": true + }, + "metrics-apm*": { + "read": true + }, + "remote_cluster:apm-*": { + "read": true + }, + "remote_cluster:logs-apm*": { + "read": true + }, + "remote_cluster:metrics-apm*": { + "read": true + }, + "remote_cluster:traces-apm*": { + "read": true + }, + "traces-apm*": { + "read": true + } + }, + "cluster": { + "read_pipeline": true, + "manage_index_templates": true, + "monitor": true + }, + "hasAllPrivileges": true + }, "elasticsearchVersion": "8.8.0", "esResponses": { "fieldCaps": { "fields": { "service.name": { "keyword": { - "type": "keyword", - "metadata_field": false, + "type": "keyword", "metadata_field": false, "searchable": true, "aggregatable": true } diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/diagnostics/diagnostics.cy.ts b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/diagnostics/diagnostics.cy.ts index 4b8da46571c03..938e6dd67c16f 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/diagnostics/diagnostics.cy.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/e2e/power_user/diagnostics/diagnostics.cy.ts @@ -6,119 +6,162 @@ */ describe('Diagnostics', () => { - describe('when no data is loaded', () => { + describe('when logging in as superuser', () => { beforeEach(() => { - cy.loginAs({ username: 'elastic', password: 'changeme' }); + cy.loginAsSuperUser(); }); - it('can display summary tab', () => { - cy.visitKibana('/app/apm/diagnostics'); - - // integration package - cy.get('[data-test-subj="integrationPackageStatus_Badge"]').should( - 'have.text', - 'OK' - ); - - // data stream - cy.get('[data-test-subj="dataStreamsStatus_Badge"]').should( - 'have.text', - 'OK' - ); - - // Index template - cy.get('[data-test-subj="indexTemplatesStatus_Badge"]').should( - 'have.text', - 'OK' - ); - - // Index template - cy.get('[data-test-subj="fieldMappingStatus_Badge"]').should( - 'have.text', - 'OK' - ); - }); - }); - - describe('when importing a file', () => { - beforeEach(() => { - cy.loginAs({ username: 'elastic', password: 'changeme' }); - cy.visitKibana('/app/apm/diagnostics/import-export'); - cy.get('#file-picker').selectFile( - './cypress/e2e/power_user/diagnostics/apm-diagnostics-8.8.0-1687436214804.json' - ); - }); - - it('shows the remove button', () => { - cy.get('[data-test-subj="apmImportCardRemoveReportButton"]').should( - 'exist' - ); + describe('when no data is loaded', () => { + it('can display summary tab for superuser', () => { + cy.visitKibana('/app/apm/diagnostics'); + + // integration package + cy.get('[data-test-subj="integrationPackageStatus_Badge"]').should( + 'have.text', + 'OK' + ); + + // data stream + cy.get('[data-test-subj="dataStreamsStatus_Badge"]').should( + 'have.text', + 'OK' + ); + + // Index template + cy.get('[data-test-subj="indexTemplatesStatus_Badge"]').should( + 'have.text', + 'OK' + ); + + // Index template + cy.get('[data-test-subj="fieldMappingStatus_Badge"]').should( + 'have.text', + 'OK' + ); + }); }); - it('can display summary tab', () => { - cy.get('[data-test-subj="summary-tab"]').click(); - - // integration package - cy.get('[data-test-subj="integrationPackageStatus_Badge"]').should( - 'have.text', - 'OK' - ); - - cy.get('[data-test-subj="integrationPackageStatus_Content"]').should( - 'have.text', - 'APM integration (8.8.0)' - ); - - // data stream - cy.get('[data-test-subj="dataStreamsStatus_Badge"]').should( - 'have.text', - 'OK' - ); - - // Index template - cy.get('[data-test-subj="indexTemplatesStatus_Badge"]').should( - 'have.text', - 'OK' - ); - - // Index template - cy.get('[data-test-subj="fieldMappingStatus_Badge"]').should( - 'have.text', - 'Warning' - ); + describe('when importing a file', () => { + it('shows the remove button', () => { + importBundle(); + cy.get('[data-test-subj="apmImportCardRemoveReportButton"]').should( + 'exist' + ); + clearBundle(); + cy.get('[data-test-subj="apmImportCardRemoveReportButton"]').should( + 'not.exist' + ); + }); + + it('can display summary tab', () => { + importBundle(); + cy.get('[data-test-subj="summary-tab"]').click(); + + // integration package + cy.get('[data-test-subj="integrationPackageStatus_Badge"]').should( + 'have.text', + 'OK' + ); + + cy.get('[data-test-subj="integrationPackageStatus_Content"]').should( + 'have.text', + 'APM integration (8.8.0)' + ); + + // data stream + cy.get('[data-test-subj="dataStreamsStatus_Badge"]').should( + 'have.text', + 'OK' + ); + + // Index template + cy.get('[data-test-subj="indexTemplatesStatus_Badge"]').should( + 'have.text', + 'OK' + ); + + // Index template + cy.get('[data-test-subj="fieldMappingStatus_Badge"]').should( + 'have.text', + 'Warning' + ); + }); + + it('can display index template tab', () => { + importBundle(); + cy.get('[data-test-subj="index-templates-tab"]').click(); + cy.get('.euiTableRow').should('have.length', 19); + }); + + it('can display data streams tab', () => { + importBundle(); + cy.get('[data-test-subj="data-streams-tab"]').click(); + cy.get('.euiTableRow').should('have.length', 8); + }); + + it('can display indices tab', () => { + importBundle(); + cy.get('[data-test-subj="indices-tab"]').click(); + + cy.get('[data-test-subj="indicedWithProblems"] .euiTableRow').should( + 'have.length', + 138 + ); + + cy.get('[data-test-subj="indicedWithoutProblems"] .euiTableRow').should( + 'have.length', + 27 + ); + }); }); + }); - it('can display index template tab', () => { - cy.get('[data-test-subj="index-templates-tab"]').click(); - cy.get('.euiTableRow').should('have.length', 19); + describe('when logging in as "viewer" user', () => { + beforeEach(() => { + cy.loginAsViewerUser(); }); - it('can display data streams tab', () => { - cy.get('[data-test-subj="data-streams-tab"]').click(); - cy.get('.euiTableRow').should('have.length', 8); - }); + describe('when no data is loaded', () => { + it('displays a warning on "summary" tab about missing privileges ', () => { + cy.visitKibana('/app/apm/diagnostics'); - it('can display indices tab', () => { - cy.get('[data-test-subj="indices-tab"]').click(); + cy.get('.euiPanel > .euiText').should( + 'contain.text', + 'Not all features are available due to missing privileges.' + ); + }); - cy.get('[data-test-subj="indicedWithProblems"] .euiTableRow').should( - 'have.length', - 138 - ); + it('hides the tabs that require cluster privileges', () => { + cy.visitKibana('/app/apm/diagnostics'); - cy.get('[data-test-subj="indicedWithoutProblems"] .euiTableRow').should( - 'have.length', - 27 - ); + const tabs = ['Summary', 'Documents', 'Import/Export']; + cy.get( + '[data-test-subj="apmDiagnosticsTemplate"] .euiTabs .euiTab' + ).each((tab, i) => cy.wrap(tab).should('have.text', tabs[i])); + }); }); - it('can display documents tab', () => { - cy.get('[data-test-subj="documents-tab"]').click(); + describe('when importing a file', () => { + it('displays documents tab for the imported bundle', () => { + importBundle(); + cy.get('[data-test-subj="documents-tab"]').click(); - cy.get('[data-test-subj="documents-table"] .euiTableRow').should( - 'have.length', - 10 - ); + cy.get('[data-test-subj="documents-table"] .euiTableRow').should( + 'have.length', + 10 + ); + }); }); }); }); + +function importBundle() { + cy.visitKibana('/app/apm/diagnostics/import-export'); + cy.get('#file-picker').selectFile( + './cypress/e2e/power_user/diagnostics/apm-diagnostics-8.8.0-1687436214804.json' + ); +} + +function clearBundle() { + cy.get('[data-test-subj="apmTemplateDescriptionClearBundleButton"]').click(); +} diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/support/commands.ts b/x-pack/plugins/apm/ftr_e2e/cypress/support/commands.ts index c0b9f84797f87..e520dc5f92579 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/support/commands.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/support/commands.ts @@ -11,6 +11,10 @@ import moment from 'moment'; import { AXE_CONFIG, AXE_OPTIONS } from '@kbn/axe-config'; import { ApmUsername } from '../../../server/test_helpers/create_apm_users/authentication'; +Cypress.Commands.add('loginAsSuperUser', () => { + return cy.loginAs({ username: 'elastic', password: 'changeme' }); +}); + Cypress.Commands.add('loginAsViewerUser', () => { return cy.loginAs({ username: ApmUsername.viewerUser, password: 'changeme' }); }); diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/support/types.d.ts b/x-pack/plugins/apm/ftr_e2e/cypress/support/types.d.ts index b4c1ef54ceb9b..fe9ac641c1ce0 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/support/types.d.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/support/types.d.ts @@ -7,6 +7,7 @@ declare namespace Cypress { interface Chainable { + loginAsSuperUser(): Cypress.Chainable>; loginAsViewerUser(): Cypress.Chainable>; loginAsEditorUser(): Cypress.Chainable>; loginAsMonitorUser(): Cypress.Chainable>; diff --git a/x-pack/plugins/apm/public/components/app/diagnostics/import_export_tab.tsx b/x-pack/plugins/apm/public/components/app/diagnostics/import_export_tab.tsx index 797f3fbcd5078..191c755213741 100644 --- a/x-pack/plugins/apm/public/components/app/diagnostics/import_export_tab.tsx +++ b/x-pack/plugins/apm/public/components/app/diagnostics/import_export_tab.tsx @@ -18,9 +18,9 @@ import { } from '@elastic/eui'; import { APIReturnType } from '../../../services/rest/create_call_apm_api'; import { useDiagnosticsContext } from './context/use_diagnostics'; -import { getIndexTemplateStatus } from './summary_tab/index_templates_status'; -import { getIndicesTabStatus } from './summary_tab/indicies_status'; -import { getDataStreamTabStatus } from './summary_tab/data_streams_status'; +import { getIsIndexTemplateOk } from './summary_tab/index_templates_status'; +import { getIsIndicesTabOk } from './summary_tab/indicies_status'; +import { getIsDataStreamTabOk } from './summary_tab/data_streams_status'; type DiagnosticsBundle = APIReturnType<'GET /internal/apm/diagnostics'>; @@ -82,7 +82,12 @@ function ExportCard() { function ImportCard() { const { setImportedDiagnosticsBundle, isImported } = useDiagnosticsContext(); - const [importError, setImportError] = useState(false); + const [importStatus, setImportStatus] = useState<{ + isValid: boolean; + errorMessage?: string; + }>({ + isValid: true, + }); return ( } @@ -104,10 +109,11 @@ function ImportCard() { ) : ( <> - {importError && ( + {!importStatus.isValid && ( <> - The uploaded file could not be parsed + The uploaded file could not be parsed:{' '} + {importStatus.errorMessage} @@ -117,7 +123,7 @@ function ImportCard() { id="file-picker" multiple onChange={(_files) => { - setImportError(false); + setImportStatus({ isValid: true }); if (_files && _files.length > 0) { const file = Array.from(_files)[0]; @@ -129,13 +135,14 @@ function ImportCard() { evt?.target?.result ) as DiagnosticsBundle; - if (isBundleValid(diagnosticsBundle)) { - setImportedDiagnosticsBundle(diagnosticsBundle); - } else { - setImportError(true); - } + validateBundle(diagnosticsBundle); + setImportedDiagnosticsBundle(diagnosticsBundle); } catch (e) { - setImportError(true); + setImportStatus({ + isValid: false, + errorMessage: e.message, + }); + console.error( `Could not parse file ${file.name}. ${e.message}` ); @@ -154,13 +161,13 @@ function ImportCard() { ); } -function isBundleValid(diagnosticsBundle: DiagnosticsBundle) { +function validateBundle(diagnosticsBundle: DiagnosticsBundle) { try { - getIndexTemplateStatus(diagnosticsBundle); - getIndicesTabStatus(diagnosticsBundle); - getDataStreamTabStatus(diagnosticsBundle); - return true; + getIsIndexTemplateOk(diagnosticsBundle); + getIsIndicesTabOk(diagnosticsBundle); + getIsDataStreamTabOk(diagnosticsBundle); } catch (e) { - return false; + console.error('Error parsing uploaded bundle', e); + throw e; } } diff --git a/x-pack/plugins/apm/public/components/app/diagnostics/index.tsx b/x-pack/plugins/apm/public/components/app/diagnostics/index.tsx index 62b93ccddab36..be1ecf398ab03 100644 --- a/x-pack/plugins/apm/public/components/app/diagnostics/index.tsx +++ b/x-pack/plugins/apm/public/components/app/diagnostics/index.tsx @@ -5,30 +5,37 @@ * 2.0. */ -import { i18n } from '@kbn/i18n'; import { Outlet } from '@kbn/typed-react-router-config'; import React from 'react'; import * as t from 'io-ts'; -import { EuiButton, EuiCallOut, EuiIcon } from '@elastic/eui'; +import { + EuiButton, + EuiCallOut, + EuiIcon, + EuiLoadingLogo, + EuiEmptyPrompt, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; import { useApmParams } from '../../../hooks/use_apm_params'; import { useApmRouter } from '../../../hooks/use_apm_router'; import { useApmRoutePath } from '../../../hooks/use_apm_route_path'; -import { DiagnosticsSummary } from './summary_tab'; +import { DiagnosticsSummary, getIsCrossCluster } from './summary_tab'; import { ApmMainTemplate } from '../../routing/templates/apm_main_template'; import { DiagnosticsIndexTemplates } from './index_templates_tab'; import { DiagnosticsIndices } from './indices_tab'; import { DiagnosticsDataStreams } from './data_stream_tab'; import { DiagnosticsIndexPatternSettings, - getIndexPatternTabStatus, + getIsIndexPatternTabOk, } from './index_pattern_settings_tab'; import { DiagnosticsImportExport } from './import_export_tab'; import { DiagnosticsContextProvider } from './context/diagnostics_context'; import { useDiagnosticsContext } from './context/use_diagnostics'; -import { getIndexTemplateStatus } from './summary_tab/index_templates_status'; -import { getDataStreamTabStatus } from './summary_tab/data_streams_status'; -import { getIndicesTabStatus } from './summary_tab/indicies_status'; +import { getIsIndexTemplateOk } from './summary_tab/index_templates_status'; +import { getIsDataStreamTabOk } from './summary_tab/data_streams_status'; +import { getIsIndicesTabOk } from './summary_tab/indicies_status'; import { DiagnosticsApmDocuments } from './apm_documents_tab'; +import { isPending } from '../../../hooks/use_fetcher'; const params = t.type({ query: t.intersection([ @@ -90,11 +97,110 @@ export const diagnosticsRoute = { function DiagnosticsTemplate({ children }: { children: React.ReactChild }) { const routePath = useApmRoutePath(); const router = useApmRouter(); - const { diagnosticsBundle } = useDiagnosticsContext(); + const { diagnosticsBundle, status } = useDiagnosticsContext(); const { query } = useApmParams('/diagnostics/*'); + const isCrossCluster = getIsCrossCluster(diagnosticsBundle); + const isLoading = isPending(status); + + if (isLoading) { + return ( + } + title={ +

    + {i18n.translate('xpack.apm.diagnostics.loading', { + defaultMessage: 'Loading diagnostics', + })} +

    + } + /> + ); + } + + const hasAllClusterPrivileges = + diagnosticsBundle?.diagnosticsPrivileges.hasAllClusterPrivileges ?? true; + + const tabs = [ + { + 'data-test-subj': 'summary-tab', + href: router.link('/diagnostics', { query }), + label: i18n.translate('xpack.apm.diagnostics.tab.summary', { + defaultMessage: 'Summary', + }), + isSelected: routePath === '/diagnostics', + }, + { + 'data-test-subj': 'index-pattern-tab', + prepend: !getIsIndexPatternTabOk(diagnosticsBundle) && ( + + ), + href: router.link('/diagnostics/index-pattern-settings', { query }), + label: i18n.translate( + 'xpack.apm.diagnostics.tab.index_pattern_settings', + { + defaultMessage: 'Index pattern settings', + } + ), + isSelected: routePath === '/diagnostics/index-pattern-settings', + isHidden: isCrossCluster || !hasAllClusterPrivileges, + }, + { + 'data-test-subj': 'index-templates-tab', + prepend: !getIsIndexTemplateOk(diagnosticsBundle) && ( + + ), + href: router.link('/diagnostics/index-templates', { query }), + label: i18n.translate('xpack.apm.diagnostics.tab.index_templates', { + defaultMessage: 'Index templates', + }), + isSelected: routePath === '/diagnostics/index-templates', + isHidden: isCrossCluster || !hasAllClusterPrivileges, + }, + { + 'data-test-subj': 'data-streams-tab', + prepend: !getIsDataStreamTabOk(diagnosticsBundle) && ( + + ), + href: router.link('/diagnostics/data-streams', { query }), + label: i18n.translate('xpack.apm.diagnostics.tab.datastreams', { + defaultMessage: 'Data streams', + }), + isSelected: routePath === '/diagnostics/data-streams', + isHidden: isCrossCluster || !hasAllClusterPrivileges, + }, + { + 'data-test-subj': 'indices-tab', + prepend: !getIsIndicesTabOk(diagnosticsBundle) && ( + + ), + href: router.link('/diagnostics/indices', { query }), + label: i18n.translate('xpack.apm.diagnostics.tab.indices', { + defaultMessage: 'Indices', + }), + isSelected: routePath === '/diagnostics/indices', + isHidden: isCrossCluster || !hasAllClusterPrivileges, + }, + { + 'data-test-subj': 'documents-tab', + href: router.link('/diagnostics/documents', { query }), + label: i18n.translate('xpack.apm.diagnostics.tab.apmEvents', { + defaultMessage: 'Documents', + }), + isSelected: routePath === '/diagnostics/documents', + }, + { + 'data-test-subj': 'import-export-tab', + href: router.link('/diagnostics/import-export', { query }), + label: i18n.translate('xpack.apm.diagnostics.tab.import_export', { + defaultMessage: 'Import/Export', + }), + isSelected: routePath === '/diagnostics/import-export', + }, + ].filter((tab) => !tab.isHidden); return ( ], description: , - tabs: [ - { - 'data-test-subj': 'summary-tab', - href: router.link('/diagnostics', { query }), - label: i18n.translate('xpack.apm.diagnostics.tab.summary', { - defaultMessage: 'Summary', - }), - isSelected: routePath === '/diagnostics', - }, - { - 'data-test-subj': 'index-pattern-tab', - prepend: !getIndexPatternTabStatus(diagnosticsBundle) && ( - - ), - href: router.link('/diagnostics/index-pattern-settings', { query }), - label: i18n.translate( - 'xpack.apm.diagnostics.tab.index_pattern_settings', - { - defaultMessage: 'Index pattern settings', - } - ), - isSelected: routePath === '/diagnostics/index-pattern-settings', - }, - { - 'data-test-subj': 'index-templates-tab', - prepend: !getIndexTemplateStatus(diagnosticsBundle) && ( - - ), - href: router.link('/diagnostics/index-templates', { query }), - label: i18n.translate('xpack.apm.diagnostics.tab.index_templates', { - defaultMessage: 'Index templates', - }), - isSelected: routePath === '/diagnostics/index-templates', - }, - { - 'data-test-subj': 'data-streams-tab', - prepend: !getDataStreamTabStatus(diagnosticsBundle) && ( - - ), - href: router.link('/diagnostics/data-streams', { query }), - label: i18n.translate('xpack.apm.diagnostics.tab.datastreams', { - defaultMessage: 'Data streams', - }), - isSelected: routePath === '/diagnostics/data-streams', - }, - { - 'data-test-subj': 'indices-tab', - prepend: !getIndicesTabStatus(diagnosticsBundle) && ( - - ), - href: router.link('/diagnostics/indices', { query }), - label: i18n.translate('xpack.apm.diagnostics.tab.indices', { - defaultMessage: 'Indices', - }), - isSelected: routePath === '/diagnostics/indices', - }, - { - 'data-test-subj': 'documents-tab', - href: router.link('/diagnostics/documents', { query }), - label: i18n.translate('xpack.apm.diagnostics.tab.apmEvents', { - defaultMessage: 'Documents', - }), - isSelected: routePath === '/diagnostics/documents', - }, - { - 'data-test-subj': 'import-export-tab', - href: router.link('/diagnostics/import-export', { query }), - label: i18n.translate('xpack.apm.diagnostics.tab.import_export', { - defaultMessage: 'Import/Export', - }), - isSelected: routePath === '/diagnostics/import-export', - }, - ], + tabs, }} > {children} @@ -184,13 +218,20 @@ function DiagnosticsTemplate({ children }: { children: React.ReactChild }) { } function TemplateDescription() { - const { isImported } = useDiagnosticsContext(); + const { isImported, setImportedDiagnosticsBundle } = useDiagnosticsContext(); if (isImported) { return ( + > + setImportedDiagnosticsBundle(undefined)} + > + Clear bundle + + ); } diff --git a/x-pack/plugins/apm/public/components/app/diagnostics/index_pattern_settings_tab.tsx b/x-pack/plugins/apm/public/components/app/diagnostics/index_pattern_settings_tab.tsx index 8d97a04316851..61a5d0a054833 100644 --- a/x-pack/plugins/apm/public/components/app/diagnostics/index_pattern_settings_tab.tsx +++ b/x-pack/plugins/apm/public/components/app/diagnostics/index_pattern_settings_tab.tsx @@ -102,9 +102,7 @@ export function DiagnosticsIndexPatternSettings() { ); } -export function getIndexPatternTabStatus( - diagnosticsBundle?: DiagnosticsBundle -) { +export function getIsIndexPatternTabOk(diagnosticsBundle?: DiagnosticsBundle) { if (!diagnosticsBundle) { return true; } diff --git a/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/data_streams_status.tsx b/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/data_streams_status.tsx index 60add5d3aebde..3cec9f37601fb 100644 --- a/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/data_streams_status.tsx +++ b/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/data_streams_status.tsx @@ -22,12 +22,12 @@ export function DataStreamsStatus() { const router = useApmRouter(); const { query } = useApmParams('/diagnostics/*'); const isLoading = status === FETCH_STATUS.LOADING; - const tabStatus = getDataStreamTabStatus(diagnosticsBundle); + const isOk = getIsDataStreamTabOk(diagnosticsBundle); return ( Data streams @@ -41,9 +41,9 @@ export function DataStreamsStatus() { ); } -export function getDataStreamTabStatus(diagnosticsBundle?: DiagnosticsBundle) { +export function getIsDataStreamTabOk(diagnosticsBundle?: DiagnosticsBundle) { if (!diagnosticsBundle) { - return false; + return true; } return diagnosticsBundle.dataStreams.every((ds) => { diff --git a/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/index.tsx b/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/index.tsx index d4aeadd9223a7..467416225e764 100644 --- a/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/index.tsx +++ b/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/index.tsx @@ -6,27 +6,41 @@ */ import React from 'react'; -import { EuiFlexGroup, EuiCallOut } from '@elastic/eui'; +import { + EuiFlexGroup, + EuiCallOut, + EuiDescriptionList, + EuiSpacer, +} from '@elastic/eui'; + +import { APIReturnType } from '../../../../services/rest/create_call_apm_api'; import { ApmIntegrationPackageStatus } from './apm_integration_package_status'; import { IndexTemplatesStatus } from './index_templates_status'; import { FieldMappingStatus } from './indicies_status'; import { DataStreamsStatus } from './data_streams_status'; import { useDiagnosticsContext } from '../context/use_diagnostics'; +type DiagnosticsBundle = APIReturnType<'GET /internal/apm/diagnostics'>; + export function DiagnosticsSummary() { const { diagnosticsBundle } = useDiagnosticsContext(); + const isCrossCluster = getIsCrossCluster(diagnosticsBundle); + const hasAllPrivileges = + diagnosticsBundle?.diagnosticsPrivileges.hasAllPrivileges ?? true; - const isCrossCluster = Object.values( - diagnosticsBundle?.apmIndices ?? {} - ).some((indicies) => indicies.includes(':')); - - if (isCrossCluster) { + if (isCrossCluster || !hasAllPrivileges) { return ( - - The APM index settings is targetting remote clusters. Please note: this - is not currently supported by the Diagnostics Tool and functionality - will therefore be limited. - + <> + {isCrossCluster && ( + <> + + + + )} + {diagnosticsBundle && !hasAllPrivileges && ( + + )} + ); } @@ -39,3 +53,68 @@ export function DiagnosticsSummary() { ); } + +function CrossClusterSearchCallout() { + return ( + + The APM index settings is targetting remote clusters. Please note that + this is not currently supported by the Diagnostics Tool and functionality + will therefore be limited. + + ); +} + +function PrivilegesCallout({ + diagnosticsBundle, +}: { + diagnosticsBundle: DiagnosticsBundle; +}) { + const missingClusterPrivileges = Object.entries( + diagnosticsBundle.diagnosticsPrivileges.cluster + ) + .filter(([privilegeName, hasPrivilege]) => !hasPrivilege) + .map(([privilegeName]) => privilegeName); + + const missingIndexPrivileges = Object.entries( + diagnosticsBundle.diagnosticsPrivileges.index + ) + .filter(([indexName, privObject]) => !privObject.read) + .map(([indexName, privObject]) => indexName); + + return ( + <> + + Not all features are available due to missing privileges. +
    +
    + 0 + ? [ + { + title: 'Missing cluster privileges', + description: missingClusterPrivileges.join(', '), + }, + ] + : []), + + ...(missingIndexPrivileges.length > 0 + ? [ + { + title: 'Missing index privileges', + description: missingIndexPrivileges.join(', '), + }, + ] + : []), + ]} + /> +
    + + ); +} + +export function getIsCrossCluster(diagnosticsBundle?: DiagnosticsBundle) { + return Object.values(diagnosticsBundle?.apmIndices ?? {}).some((indicies) => + indicies.includes(':') + ); +} diff --git a/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/index_templates_status.tsx b/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/index_templates_status.tsx index 94fda44bf955c..be7624e083039 100644 --- a/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/index_templates_status.tsx +++ b/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/index_templates_status.tsx @@ -20,7 +20,7 @@ export function IndexTemplatesStatus() { const { query } = useApmParams('/diagnostics/*'); const { diagnosticsBundle, status } = useDiagnosticsContext(); const isLoading = status === FETCH_STATUS.LOADING; - const tabStatus = getIndexTemplateStatus(diagnosticsBundle); + const tabStatus = getIsIndexTemplateOk(diagnosticsBundle); return ( isNonStandard ); const isEveryExpectedApmIndexTemplateInstalled = - diagnosticsBundle?.apmIndexTemplates.every( + diagnosticsBundle.apmIndexTemplates.every( ({ exists, isNonStandard }) => isNonStandard || exists ); diff --git a/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/indicies_status.tsx b/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/indicies_status.tsx index 84c4958e23847..419c7797595aa 100644 --- a/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/indicies_status.tsx +++ b/x-pack/plugins/apm/public/components/app/diagnostics/summary_tab/indicies_status.tsx @@ -21,7 +21,7 @@ export function FieldMappingStatus() { const { query } = useApmParams('/diagnostics/*'); const { diagnosticsBundle, status } = useDiagnosticsContext(); const isLoading = status === FETCH_STATUS.LOADING; - const isOk = getIndicesTabStatus(diagnosticsBundle); + const isOk = getIsIndicesTabOk(diagnosticsBundle); return ( getSimulatedIndexTemplateForIndexPattern({ indexPattern, esClient }) ) - ); - } catch (e) { - console.error(e); - return []; - } + ) + ); } async function getSimulatedIndexTemplateForIndexPattern({ @@ -95,3 +93,23 @@ function getIsNonStandardIndexTemplate(templateName: string) { return isNonStandard; } + +async function handleInvalidIndexTemplateException(promise: Promise) { + try { + return await promise; + } catch (error) { + if ( + error instanceof errors.ResponseError && + error.meta.statusCode === 400 && + // @ts-expect-error + error.meta.body.error.type === 'invalid_index_template_exception' + ) { + console.error( + `Suppressed exception caused by cross cluster search: ${error.message}}` + ); + return []; + } + + throw error; + } +} diff --git a/x-pack/plugins/apm/server/routes/diagnostics/bundle/get_indices_states.ts b/x-pack/plugins/apm/server/routes/diagnostics/bundle/get_indices_states.ts index e348074360736..4aeaee5db5349 100644 --- a/x-pack/plugins/apm/server/routes/diagnostics/bundle/get_indices_states.ts +++ b/x-pack/plugins/apm/server/routes/diagnostics/bundle/get_indices_states.ts @@ -5,29 +5,33 @@ * 2.0. */ -import { - FieldCapsResponse, - IndicesGetResponse, - IngestGetPipelineResponse, -} from '@elastic/elasticsearch/lib/api/types'; +import { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import { ApmIndicesConfig } from '@kbn/observability-plugin/common/typings'; import { SERVICE_NAME } from '../../../../common/es_fields/apm'; import { getApmIndexTemplateNames } from '../helpers/get_apm_index_template_names'; +import { getFieldCaps } from './get_field_caps'; +import { getIndicesAndIngestPipelines } from './get_indices'; -export function getIndicesStates({ - indices, - fieldCaps, - ingestPipelines, +export async function getIndicesStates({ + esClient, + apmIndices, }: { - indices: IndicesGetResponse; - fieldCaps: FieldCapsResponse; - ingestPipelines: IngestGetPipelineResponse; + esClient: ElasticsearchClient; + apmIndices: ApmIndicesConfig; }) { + const { indices, ingestPipelines } = await getIndicesAndIngestPipelines({ + esClient, + apmIndices, + }); + const indicesWithPipelineId = Object.entries(indices).map(([key, value]) => ({ index: key, dataStream: value.data_stream, pipelineId: value.settings?.index?.default_pipeline, })); + const fieldCaps = await getFieldCaps({ esClient, apmIndices }); + const invalidFieldMappings = Object.values( fieldCaps.fields[SERVICE_NAME] ?? {} ).filter(({ type }): boolean => type !== 'keyword'); @@ -72,7 +76,7 @@ export function getIndicesStates({ const invalidIndices = items.filter((item) => !item.isValid); const validIndices = items.filter((item) => item.isValid); - return { invalidIndices, validIndices }; + return { invalidIndices, validIndices, indices, ingestPipelines, fieldCaps }; } export function validateIngestPipelineName( diff --git a/x-pack/plugins/apm/server/routes/diagnostics/get_diagnostics_bundle.ts b/x-pack/plugins/apm/server/routes/diagnostics/get_diagnostics_bundle.ts index 51a71167c4ec7..a3b28aeba9dd8 100644 --- a/x-pack/plugins/apm/server/routes/diagnostics/get_diagnostics_bundle.ts +++ b/x-pack/plugins/apm/server/routes/diagnostics/get_diagnostics_bundle.ts @@ -12,11 +12,11 @@ import { getNonDataStreamIndices } from './bundle/get_non_data_stream_indices'; import { getElasticsearchVersion } from './get_elasticsearch_version'; import { getIndexTemplatesByIndexPattern } from './bundle/get_index_templates_by_index_pattern'; import { getExistingApmIndexTemplates } from './bundle/get_existing_index_templates'; -import { getFieldCaps } from './bundle/get_field_caps'; -import { getIndicesAndIngestPipelines } from './bundle/get_indices'; import { getIndicesStates } from './bundle/get_indices_states'; import { getApmEvents } from './bundle/get_apm_events'; import { getApmIndexTemplates } from './helpers/get_apm_index_template_names'; +import { handle403Exception } from './helpers/handle_403_exception'; +import { getDiagnosticsPrivileges } from './helpers/get_diagnostic_privileges'; const DEFEAULT_START = Date.now() - 60 * 5 * 1000; // 5 minutes const DEFAULT_END = Date.now(); @@ -34,45 +34,73 @@ export async function getDiagnosticsBundle({ end: number | undefined; kuery: string | undefined; }) { - const { indices, ingestPipelines } = await getIndicesAndIngestPipelines({ + const diagnosticsPrivileges = await getDiagnosticsPrivileges({ esClient, apmIndices, }); - const indexTemplatesByIndexPattern = await getIndexTemplatesByIndexPattern({ - esClient, - apmIndices, - }); + const indexTemplatesByIndexPattern = await handle403Exception( + getIndexTemplatesByIndexPattern({ + esClient, + apmIndices, + }), + [] + ); - const existingIndexTemplates = await getExistingApmIndexTemplates({ - esClient, - }); + const existingIndexTemplates = await handle403Exception( + getExistingApmIndexTemplates({ + esClient, + }), + [] + ); - const fieldCaps = await getFieldCaps({ esClient, apmIndices }); - const dataStreams = await getDataStreams({ esClient, apmIndices }); - const nonDataStreamIndices = await getNonDataStreamIndices({ - esClient, - apmIndices, - }); + const dataStreams = await handle403Exception( + getDataStreams({ esClient, apmIndices }), + [] + ); + const nonDataStreamIndices = await handle403Exception( + getNonDataStreamIndices({ + esClient, + apmIndices, + }), + [] + ); - const { invalidIndices, validIndices } = getIndicesStates({ - fieldCaps, - indices, - ingestPipelines, - }); + const { invalidIndices, validIndices, indices, ingestPipelines, fieldCaps } = + await handle403Exception( + getIndicesStates({ + esClient, + apmIndices, + }), + { + invalidIndices: [], + validIndices: [], + indices: [], + ingestPipelines: [], + fieldCaps: {}, + } + ); - const apmEvents = await getApmEvents({ - esClient, - apmIndices, - start, - end, - kuery, - }); + const apmEvents = await handle403Exception( + getApmEvents({ + esClient, + apmIndices, + start, + end, + kuery, + }), + [] + ); + const elasticsearchVersion = await handle403Exception( + getElasticsearchVersion(esClient), + 'N/A' + ); return { created_at: new Date().toISOString(), + diagnosticsPrivileges, apmIndices, - elasticsearchVersion: await getElasticsearchVersion(esClient), + elasticsearchVersion, esResponses: { fieldCaps, indices, diff --git a/x-pack/plugins/apm/server/routes/diagnostics/get_fleet_package_info.ts b/x-pack/plugins/apm/server/routes/diagnostics/get_fleet_package_info.ts index 54021727e7355..15d0dcb76a101 100644 --- a/x-pack/plugins/apm/server/routes/diagnostics/get_fleet_package_info.ts +++ b/x-pack/plugins/apm/server/routes/diagnostics/get_fleet_package_info.ts @@ -5,16 +5,29 @@ * 2.0. */ +import { FleetUnauthorizedError } from '@kbn/fleet-plugin/server/errors'; import { APMRouteHandlerResources } from '../typings'; export async function getFleetPackageInfo(resources: APMRouteHandlerResources) { const fleetPluginStart = await resources.plugins.fleet?.start(); - const packageInfo = await fleetPluginStart?.packageService - .asScoped(resources.request) - .getInstallation('apm'); - return { - isInstalled: packageInfo?.install_status === 'installed', - version: packageInfo?.version, - }; + try { + const packageInfo = await fleetPluginStart?.packageService + .asScoped(resources.request) + .getInstallation('apm'); + + return { + isInstalled: packageInfo?.install_status === 'installed', + version: packageInfo?.version, + }; + } catch (e) { + if (e instanceof FleetUnauthorizedError) { + console.error('Insufficient permissions to access fleet package info'); + return { + isInstalled: false, + version: 'N/A', + }; + } + throw e; + } } diff --git a/x-pack/plugins/apm/server/routes/diagnostics/helpers/get_diagnostic_privileges.ts b/x-pack/plugins/apm/server/routes/diagnostics/helpers/get_diagnostic_privileges.ts new file mode 100644 index 0000000000000..9531d3dfde3a6 --- /dev/null +++ b/x-pack/plugins/apm/server/routes/diagnostics/helpers/get_diagnostic_privileges.ts @@ -0,0 +1,56 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import { ApmIndicesConfig } from '../../settings/apm_indices/get_apm_indices'; +import { getApmIndexPatterns } from '../bundle/get_indices'; + +export async function getDiagnosticsPrivileges({ + esClient, + apmIndices, +}: { + esClient: ElasticsearchClient; + apmIndices: ApmIndicesConfig; +}) { + const indexPatterns = getApmIndexPatterns([ + apmIndices.error, + apmIndices.metric, + apmIndices.span, + apmIndices.transaction, + ]); + + const clusterPrivileges = [ + 'manage_index_templates', + 'monitor', + 'read_pipeline', + ]; + const { index, cluster } = await esClient.security.hasPrivileges({ + body: { + index: [ + { + names: indexPatterns, + privileges: ['read'], + }, + ], + cluster: clusterPrivileges, + }, + }); + + const hasAllIndexPrivileges = Object.values(index).every((indexPrivs) => + Object.values(indexPrivs).every((priv) => priv) + ); + + const hasAllClusterPrivileges = Object.values(cluster).every((priv) => priv); + + return { + index, + cluster, + hasAllIndexPrivileges, + hasAllClusterPrivileges, + hasAllPrivileges: hasAllIndexPrivileges && hasAllClusterPrivileges, + }; +} diff --git a/x-pack/plugins/apm/server/routes/diagnostics/helpers/handle_403_exception.ts b/x-pack/plugins/apm/server/routes/diagnostics/helpers/handle_403_exception.ts new file mode 100644 index 0000000000000..f201137643716 --- /dev/null +++ b/x-pack/plugins/apm/server/routes/diagnostics/helpers/handle_403_exception.ts @@ -0,0 +1,30 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { errors } from '@elastic/elasticsearch'; + +export async function handle403Exception( + promise: Promise, + defaultValue: unknown +) { + try { + return await promise; + } catch (error) { + if ( + error instanceof errors.ResponseError && + error.meta.statusCode === 403 + ) { + console.error(`Suppressed insufficient access error: ${error.message}}`); + return defaultValue as T; + } + + console.error( + `Unhandled error: ${error.message} ${JSON.stringify(error)}}` + ); + + throw error; + } +} diff --git a/x-pack/plugins/apm/server/routes/diagnostics/route.ts b/x-pack/plugins/apm/server/routes/diagnostics/route.ts index f4698a913db58..3cde05ada9111 100644 --- a/x-pack/plugins/apm/server/routes/diagnostics/route.ts +++ b/x-pack/plugins/apm/server/routes/diagnostics/route.ts @@ -11,6 +11,7 @@ import { IndicesGetIndexTemplateIndexTemplateItem, IndicesGetResponse, IngestGetPipelineResponse, + SecurityHasPrivilegesPrivileges, } from '@elastic/elasticsearch/lib/api/types'; import * as t from 'io-ts'; import { isoToEpochRt } from '@kbn/io-ts-utils'; @@ -56,6 +57,13 @@ const getDiagnosticsRoute = createApmServerRoute({ indices: IndicesGetResponse; ingestPipelines: IngestGetPipelineResponse; }; + diagnosticsPrivileges: { + index: Record; + cluster: Record; + hasAllClusterPrivileges: boolean; + hasAllIndexPrivileges: boolean; + hasAllPrivileges: boolean; + }; apmIndices: ApmIndicesConfig; apmIndexTemplates: Array<{ name: string; diff --git a/x-pack/plugins/cases/common/api/cases/case.test.ts b/x-pack/plugins/cases/common/api/cases/case.test.ts index 06a3484ce97ad..7188e3661d91d 100644 --- a/x-pack/plugins/cases/common/api/cases/case.test.ts +++ b/x-pack/plugins/cases/common/api/cases/case.test.ts @@ -6,7 +6,7 @@ */ import { PathReporter } from 'io-ts/lib/PathReporter'; -import { ConnectorTypes } from '../connectors'; +import { ConnectorTypes } from '../../types/domain/connector/v1'; import { RelatedCaseInfoRt, SettingsRt, diff --git a/x-pack/plugins/cases/common/api/cases/case.ts b/x-pack/plugins/cases/common/api/cases/case.ts index 5deab7f5ca0e3..1dccd6e581a5b 100644 --- a/x-pack/plugins/cases/common/api/cases/case.ts +++ b/x-pack/plugins/cases/common/api/cases/case.ts @@ -10,7 +10,6 @@ import * as rt from 'io-ts'; import { UserRt } from '../user'; import { CommentRt } from './comment'; import { CasesStatusResponseRt, CaseStatusRt } from './status'; -import { CaseConnectorRt } from '../connectors/connector'; import { CaseAssigneesRt } from './assignee'; import { limitedArraySchema, @@ -32,6 +31,7 @@ import { MAX_BULK_GET_CASES, MAX_CASES_PER_PAGE, } from '../../constants'; +import { CaseConnectorRt } from '../../types/domain/connector/v1'; export const AttachmentTotalsRt = rt.strict({ alerts: rt.number, diff --git a/x-pack/plugins/cases/common/api/connectors/get_connectors.test.ts b/x-pack/plugins/cases/common/api/connectors/get_connectors.test.ts deleted file mode 100644 index 9f8838a7a8230..0000000000000 --- a/x-pack/plugins/cases/common/api/connectors/get_connectors.test.ts +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { GetCaseConnectorsResponseRt } from './get_connectors'; - -describe('GetCaseConnectorsResponseRt', () => { - const externalService = { - connector_id: 'servicenow-1', - connector_name: 'My SN connector', - external_id: 'external_id', - external_title: 'external title', - external_url: 'basicPush.com', - pushed_at: '2023-01-17T09:46:29.813Z', - pushed_by: { - full_name: 'Leslie Knope', - username: 'lknope', - email: 'leslie.knope@elastic.co', - }, - }; - const defaultReq = { - 'servicenow-1': { - id: 'servicenow-1', - name: 'My SN connector', - type: '.servicenow', - fields: null, - push: { - needsToBePushed: false, - hasBeenPushed: true, - details: { - oldestUserActionPushDate: '2023-01-17T09:46:29.813Z', - latestUserActionPushDate: '2023-01-17T09:46:29.813Z', - externalService, - }, - }, - }, - }; - - it('has expected attributes in request', () => { - const query = GetCaseConnectorsResponseRt.decode(defaultReq); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultReq, - }); - }); - - it('removes foo:bar attributes from request', () => { - const query = GetCaseConnectorsResponseRt.decode({ - 'servicenow-1': { ...defaultReq['servicenow-1'], externalService, foo: 'bar' }, - }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultReq, - }); - }); - - it('removes foo:bar attributes from externalService object', () => { - const query = GetCaseConnectorsResponseRt.decode({ - 'servicenow-1': { - ...defaultReq['servicenow-1'], - externalService: { ...externalService, foo: 'bar' }, - }, - }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultReq, - }); - }); - - it('removes foo:bar attributes from push object', () => { - const query = GetCaseConnectorsResponseRt.decode({ - 'servicenow-1': { - ...defaultReq['servicenow-1'], - push: { ...defaultReq['servicenow-1'].push, foo: 'bar' }, - }, - }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultReq, - }); - }); -}); diff --git a/x-pack/plugins/cases/common/api/connectors/jira.test.ts b/x-pack/plugins/cases/common/api/connectors/jira.test.ts deleted file mode 100644 index 0350e7ce2bcb1..0000000000000 --- a/x-pack/plugins/cases/common/api/connectors/jira.test.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { JiraFieldsRT } from './jira'; - -describe('JiraFieldsRT', () => { - const defaultRequest = { - issueType: 'bug', - priority: 'high', - parent: '2', - }; - - it('has expected attributes in request', () => { - const query = JiraFieldsRT.decode(defaultRequest); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultRequest, - }); - }); - - it('removes foo:bar attributes from request', () => { - const query = JiraFieldsRT.decode({ - ...defaultRequest, - foo: 'bar', - }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultRequest, - }); - }); -}); diff --git a/x-pack/plugins/cases/common/api/connectors/jira.ts b/x-pack/plugins/cases/common/api/connectors/jira.ts deleted file mode 100644 index 49ddc6fcdea5c..0000000000000 --- a/x-pack/plugins/cases/common/api/connectors/jira.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import * as rt from 'io-ts'; - -export const JiraFieldsRT = rt.strict({ - issueType: rt.union([rt.string, rt.null]), - priority: rt.union([rt.string, rt.null]), - parent: rt.union([rt.string, rt.null]), -}); - -export type JiraFieldsType = rt.TypeOf; diff --git a/x-pack/plugins/cases/common/api/connectors/mappings.test.ts b/x-pack/plugins/cases/common/api/connectors/mappings.test.ts deleted file mode 100644 index 1fc457bddc7bc..0000000000000 --- a/x-pack/plugins/cases/common/api/connectors/mappings.test.ts +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { ConnectorMappingsAttributesPartialRt } from '../../../server/common/types/connector_mappings'; -import { decodeOrThrow } from '../runtime_types'; -import { ConnectorMappingsAttributesRt, ConnectorMappingsRt } from './mappings'; - -describe('mappings', () => { - const mappings = [ - { - action_type: 'overwrite', - source: 'title', - target: 'unknown', - }, - { - action_type: 'append', - source: 'description', - target: 'not_mapped', - }, - ]; - - const attributes = { - mappings: [ - { - action_type: 'overwrite', - source: 'title', - target: 'unknown', - }, - { - action_type: 'append', - source: 'description', - target: 'not_mapped', - }, - ], - owner: 'cases', - }; - - describe('ConnectorMappingsRt', () => { - it('has expected attributes in request', () => { - const query = ConnectorMappingsRt.decode(mappings); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: mappings, - }); - }); - - it('removes foo:bar attributes from mappings', () => { - const query = ConnectorMappingsRt.decode([ - { ...mappings[0] }, - { - action_type: 'append', - source: 'description', - target: 'not_mapped', - foo: 'bar', - }, - ]); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: mappings, - }); - }); - }); - - describe('ConnectorMappingsAttributesRt', () => { - it('has expected attributes in request', () => { - const query = ConnectorMappingsAttributesRt.decode(attributes); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: attributes, - }); - }); - - it('removes foo:bar attributes from request', () => { - const query = ConnectorMappingsAttributesRt.decode({ ...attributes, foo: 'bar' }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: attributes, - }); - }); - - it('removes foo:bar attributes from mappings', () => { - const query = ConnectorMappingsAttributesRt.decode({ - ...attributes, - mappings: [{ ...attributes.mappings[0], foo: 'bar' }], - }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: { ...attributes, mappings: [{ ...attributes.mappings[0] }] }, - }); - }); - }); - - describe('ConnectorMappingsAttributesPartialRt', () => { - it('strips excess fields from the object', () => { - const res = decodeOrThrow(ConnectorMappingsAttributesPartialRt)({ - bananas: 'yes', - owner: 'hi', - }); - expect(res).toMatchObject({ - owner: 'hi', - }); - }); - - it('does not throw when the object is empty', () => { - expect(() => decodeOrThrow(ConnectorMappingsAttributesPartialRt)({})).not.toThrow(); - }); - }); -}); diff --git a/x-pack/plugins/cases/common/api/connectors/mappings.ts b/x-pack/plugins/cases/common/api/connectors/mappings.ts deleted file mode 100644 index d5a3110e414ab..0000000000000 --- a/x-pack/plugins/cases/common/api/connectors/mappings.ts +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import * as rt from 'io-ts'; - -const ActionTypeRt = rt.union([ - rt.literal('append'), - rt.literal('nothing'), - rt.literal('overwrite'), -]); - -const CaseFieldRt = rt.union([ - rt.literal('title'), - rt.literal('description'), - rt.literal('comments'), - rt.literal('tags'), -]); - -const ThirdPartyFieldRt = rt.union([rt.string, rt.literal('not_mapped')]); - -export type ActionType = rt.TypeOf; -export type CaseField = rt.TypeOf; -export type ThirdPartyField = rt.TypeOf; - -const ConnectorMappingRt = rt.strict({ - action_type: ActionTypeRt, - source: CaseFieldRt, - target: ThirdPartyFieldRt, -}); - -export const ConnectorMappingsRt = rt.array(ConnectorMappingRt); - -export const ConnectorMappingsAttributesRt = rt.strict({ - mappings: ConnectorMappingsRt, - owner: rt.string, -}); - -export type ConnectorMappingsAttributes = rt.TypeOf; -export type ConnectorMappings = rt.TypeOf; - -export const ConnectorMappingResponseRt = rt.strict({ - id: rt.string, - version: rt.string, - mappings: ConnectorMappingsRt, -}); - -export type ConnectorMappingResponse = rt.TypeOf; diff --git a/x-pack/plugins/cases/common/api/connectors/resilient.test.ts b/x-pack/plugins/cases/common/api/connectors/resilient.test.ts deleted file mode 100644 index 31643bcba5749..0000000000000 --- a/x-pack/plugins/cases/common/api/connectors/resilient.test.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { ResilientFieldsRT } from './resilient'; - -describe('ResilientFieldsRT', () => { - const defaultRequest = { - severityCode: '6', - incidentTypes: ['19'], - }; - - it('has expected attributes in request', () => { - const query = ResilientFieldsRT.decode(defaultRequest); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultRequest, - }); - }); - - it('removes foo:bar attributes from request', () => { - const query = ResilientFieldsRT.decode({ - ...defaultRequest, - foo: 'bar', - }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultRequest, - }); - }); -}); diff --git a/x-pack/plugins/cases/common/api/connectors/resilient.ts b/x-pack/plugins/cases/common/api/connectors/resilient.ts deleted file mode 100644 index a5bf69a5ed567..0000000000000 --- a/x-pack/plugins/cases/common/api/connectors/resilient.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import * as rt from 'io-ts'; - -export const ResilientFieldsRT = rt.strict({ - incidentTypes: rt.union([rt.array(rt.string), rt.null]), - severityCode: rt.union([rt.string, rt.null]), -}); - -export type ResilientFieldsType = rt.TypeOf; diff --git a/x-pack/plugins/cases/common/api/connectors/servicenow_itsm.test.ts b/x-pack/plugins/cases/common/api/connectors/servicenow_itsm.test.ts deleted file mode 100644 index ca9c4122547b7..0000000000000 --- a/x-pack/plugins/cases/common/api/connectors/servicenow_itsm.test.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { ServiceNowITSMFieldsRT } from './servicenow_itsm'; - -describe('ServiceNowITSMFieldsRT', () => { - const defaultReq = { - severity: '2', - urgency: '2', - impact: '2', - category: 'software', - subcategory: 'os', - }; - - it('has expected attributes in request', () => { - const query = ServiceNowITSMFieldsRT.decode(defaultReq); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultReq, - }); - }); - - it('removes foo:bar attributes from request', () => { - const query = ServiceNowITSMFieldsRT.decode({ ...defaultReq, foo: 'bar' }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultReq, - }); - }); -}); diff --git a/x-pack/plugins/cases/common/api/connectors/servicenow_itsm.ts b/x-pack/plugins/cases/common/api/connectors/servicenow_itsm.ts deleted file mode 100644 index 1f56fac694d57..0000000000000 --- a/x-pack/plugins/cases/common/api/connectors/servicenow_itsm.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import * as rt from 'io-ts'; - -export const ServiceNowITSMFieldsRT = rt.strict({ - impact: rt.union([rt.string, rt.null]), - severity: rt.union([rt.string, rt.null]), - urgency: rt.union([rt.string, rt.null]), - category: rt.union([rt.string, rt.null]), - subcategory: rt.union([rt.string, rt.null]), -}); - -export type ServiceNowITSMFieldsType = rt.TypeOf; diff --git a/x-pack/plugins/cases/common/api/connectors/servicenow_sir.test.ts b/x-pack/plugins/cases/common/api/connectors/servicenow_sir.test.ts deleted file mode 100644 index 24df0bac78f97..0000000000000 --- a/x-pack/plugins/cases/common/api/connectors/servicenow_sir.test.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { ServiceNowSIRFieldsRT } from './servicenow_sir'; - -describe('ServiceNowSIRFieldsRT', () => { - const defaultReq = { - destIp: true, - sourceIp: true, - malwareHash: true, - malwareUrl: true, - priority: '1', - category: 'Denial of Service', - subcategory: '26', - }; - - it('has expected attributes in request', () => { - const query = ServiceNowSIRFieldsRT.decode(defaultReq); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultReq, - }); - }); - - it('removes foo:bar attributes from request', () => { - const query = ServiceNowSIRFieldsRT.decode({ ...defaultReq, foo: 'bar' }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: defaultReq, - }); - }); -}); diff --git a/x-pack/plugins/cases/common/api/connectors/servicenow_sir.ts b/x-pack/plugins/cases/common/api/connectors/servicenow_sir.ts deleted file mode 100644 index afa2d3fd544da..0000000000000 --- a/x-pack/plugins/cases/common/api/connectors/servicenow_sir.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import * as rt from 'io-ts'; - -export const ServiceNowSIRFieldsRT = rt.strict({ - category: rt.union([rt.string, rt.null]), - destIp: rt.union([rt.boolean, rt.null]), - malwareHash: rt.union([rt.boolean, rt.null]), - malwareUrl: rt.union([rt.boolean, rt.null]), - priority: rt.union([rt.string, rt.null]), - sourceIp: rt.union([rt.boolean, rt.null]), - subcategory: rt.union([rt.string, rt.null]), -}); - -export type ServiceNowSIRFieldsType = rt.TypeOf; diff --git a/x-pack/plugins/cases/common/api/connectors/swimlane.test.ts b/x-pack/plugins/cases/common/api/connectors/swimlane.test.ts deleted file mode 100644 index d7632f65f7780..0000000000000 --- a/x-pack/plugins/cases/common/api/connectors/swimlane.test.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { SwimlaneFieldsRT } from './swimlane'; - -describe('SwimlaneFieldsRT', () => { - it('has expected attributes in request', () => { - const query = SwimlaneFieldsRT.decode({ caseId: 'basic-case-id' }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: { caseId: 'basic-case-id' }, - }); - }); - - it('removes foo:bar attributes from request', () => { - const query = SwimlaneFieldsRT.decode({ caseId: 'basic-case-id', foo: 'bar' }); - - expect(query).toStrictEqual({ - _tag: 'Right', - right: { caseId: 'basic-case-id' }, - }); - }); -}); diff --git a/x-pack/plugins/cases/common/api/connectors/swimlane.ts b/x-pack/plugins/cases/common/api/connectors/swimlane.ts deleted file mode 100644 index 9d4df1b492e71..0000000000000 --- a/x-pack/plugins/cases/common/api/connectors/swimlane.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import * as rt from 'io-ts'; - -export const SwimlaneFieldsRT = rt.strict({ - caseId: rt.union([rt.string, rt.null]), -}); - -export enum SwimlaneConnectorType { - All = 'all', - Alerts = 'alerts', - Cases = 'cases', -} - -export type SwimlaneFieldsType = rt.TypeOf; diff --git a/x-pack/plugins/cases/common/api/index.ts b/x-pack/plugins/cases/common/api/index.ts index 09f5317b79788..440b8d988d8d7 100644 --- a/x-pack/plugins/cases/common/api/index.ts +++ b/x-pack/plugins/cases/common/api/index.ts @@ -6,7 +6,6 @@ */ export * from './cases'; -export * from './connectors'; export * from './helpers'; export * from './runtime_types'; export * from './saved_object'; diff --git a/x-pack/plugins/cases/common/constants/index.ts b/x-pack/plugins/cases/common/constants/index.ts index 33c0f14a81501..dcaf2bb0e6460 100644 --- a/x-pack/plugins/cases/common/constants/index.ts +++ b/x-pack/plugins/cases/common/constants/index.ts @@ -192,3 +192,9 @@ export const LOCAL_STORAGE_KEYS = { casesQueryParams: 'cases.list.queryParams', casesFilterOptions: 'cases.list.filterOptions', }; + +/** + * Connectors + */ + +export const NONE_CONNECTOR_ID: string = 'none'; diff --git a/x-pack/plugins/cases/common/index.ts b/x-pack/plugins/cases/common/index.ts index 8b335346373a0..2f376163a3834 100644 --- a/x-pack/plugins/cases/common/index.ts +++ b/x-pack/plugins/cases/common/index.ts @@ -40,13 +40,14 @@ export { LENS_ATTACHMENT_TYPE, } from './constants'; +export { ConnectorTypes } from './types/domain'; + export { - CommentType, - CaseStatuses, - CaseSeverity, - ConnectorTypes, getCasesFromAlertsUrl, throwErrors, + CaseStatuses, + CaseSeverity, + CommentType, ExternalReferenceStorageType, } from './api'; export { StatusAll } from './ui/types'; diff --git a/x-pack/plugins/cases/common/types/api/configure/v1.test.ts b/x-pack/plugins/cases/common/types/api/configure/v1.test.ts index 213706c73cceb..d5756a606d43b 100644 --- a/x-pack/plugins/cases/common/types/api/configure/v1.test.ts +++ b/x-pack/plugins/cases/common/types/api/configure/v1.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { ConnectorTypes } from '../../../api'; +import { ConnectorTypes } from '../../domain/connector/v1'; import { CaseConfigureRequestParamsRt, ConfigurationPatchRequestRt, diff --git a/x-pack/plugins/cases/common/types/api/connector/latest.ts b/x-pack/plugins/cases/common/types/api/connector/latest.ts new file mode 100644 index 0000000000000..25300c97a6d2e --- /dev/null +++ b/x-pack/plugins/cases/common/types/api/connector/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './v1'; diff --git a/x-pack/plugins/cases/common/types/api/connector/v1.test.ts b/x-pack/plugins/cases/common/types/api/connector/v1.test.ts new file mode 100644 index 0000000000000..187f77fa8ee98 --- /dev/null +++ b/x-pack/plugins/cases/common/types/api/connector/v1.test.ts @@ -0,0 +1,203 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + ConnectorMappingResponseRt, + FindActionConnectorResponseRt, + GetCaseConnectorsResponseRt, +} from './v1'; + +describe('FindActionConnectorResponseRt', () => { + const response = [ + { + id: 'test', + actionTypeId: '.test', + name: 'My connector', + isDeprecated: false, + isPreconfigured: false, + referencedByCount: 0, + config: { foo: 'bar' }, + isMissingSecrets: false, + isSystemAction: false, + }, + { + id: 'test-2', + actionTypeId: '.test', + name: 'My connector 2', + isDeprecated: false, + isPreconfigured: false, + isSystemAction: false, + referencedByCount: 0, + }, + ]; + + it('has expected attributes in request', () => { + const query = FindActionConnectorResponseRt.decode(response); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: response, + }); + }); + + it('removes foo:bar attributes from request', () => { + const query = FindActionConnectorResponseRt.decode([ + { + ...response[0], + foo: 'bar', + }, + ]); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: [response[0]], + }); + }); +}); + +describe('GetCaseConnectorsResponseRt', () => { + const externalService = { + connector_id: 'servicenow-1', + connector_name: 'My SN connector', + external_id: 'external_id', + external_title: 'external title', + external_url: 'basicPush.com', + pushed_at: '2023-01-17T09:46:29.813Z', + pushed_by: { + full_name: 'Leslie Knope', + username: 'lknope', + email: 'leslie.knope@elastic.co', + }, + }; + const defaultReq = { + 'servicenow-1': { + id: 'servicenow-1', + name: 'My SN connector', + type: '.servicenow', + fields: null, + push: { + needsToBePushed: false, + hasBeenPushed: true, + details: { + oldestUserActionPushDate: '2023-01-17T09:46:29.813Z', + latestUserActionPushDate: '2023-01-17T09:46:29.813Z', + externalService, + }, + }, + }, + }; + + it('has expected attributes in request', () => { + const query = GetCaseConnectorsResponseRt.decode(defaultReq); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: defaultReq, + }); + }); + + it('removes foo:bar attributes from request', () => { + const query = GetCaseConnectorsResponseRt.decode({ + 'servicenow-1': { ...defaultReq['servicenow-1'], externalService, foo: 'bar' }, + }); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: defaultReq, + }); + }); + + it('removes foo:bar attributes from externalService object', () => { + const query = GetCaseConnectorsResponseRt.decode({ + 'servicenow-1': { + ...defaultReq['servicenow-1'], + externalService: { ...externalService, foo: 'bar' }, + }, + }); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: defaultReq, + }); + }); + + it('removes foo:bar attributes from push object', () => { + const query = GetCaseConnectorsResponseRt.decode({ + 'servicenow-1': { + ...defaultReq['servicenow-1'], + push: { ...defaultReq['servicenow-1'].push, foo: 'bar' }, + }, + }); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: defaultReq, + }); + }); +}); + +describe('ConnectorMappingResponseRt', () => { + const mappings = [ + { + action_type: 'overwrite', + source: 'title', + target: 'unknown', + }, + { + action_type: 'append', + source: 'description', + target: 'not_mapped', + }, + ]; + + describe('ConnectorMappingResponseRt', () => { + it('has expected attributes in response', () => { + const query = ConnectorMappingResponseRt.decode({ id: 'test', version: 'test', mappings }); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: { id: 'test', version: 'test', mappings }, + }); + }); + + it('removes foo:bar attributes from the response', () => { + const query = ConnectorMappingResponseRt.decode({ + id: 'test', + version: 'test', + mappings: [ + { ...mappings[0] }, + { + action_type: 'append', + source: 'description', + target: 'not_mapped', + foo: 'bar', + }, + ], + foo: 'bar', + }); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: { id: 'test', version: 'test', mappings }, + }); + }); + + it('removes foo:bar attributes from the mappings', () => { + const query = ConnectorMappingResponseRt.decode({ + id: 'test', + version: 'test', + mappings, + foo: 'bar', + }); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: { id: 'test', version: 'test', mappings }, + }); + }); + }); +}); diff --git a/x-pack/plugins/cases/common/api/connectors/get_connectors.ts b/x-pack/plugins/cases/common/types/api/connector/v1.ts similarity index 55% rename from x-pack/plugins/cases/common/api/connectors/get_connectors.ts rename to x-pack/plugins/cases/common/types/api/connector/v1.ts index 748ad59de2649..bfbab672660ce 100644 --- a/x-pack/plugins/cases/common/api/connectors/get_connectors.ts +++ b/x-pack/plugins/cases/common/types/api/connector/v1.ts @@ -6,8 +6,23 @@ */ import * as rt from 'io-ts'; -import { CaseConnectorRt } from './connector'; -import { CaseExternalServiceBasicRt } from '../cases'; +import { CaseExternalServiceBasicRt } from '../../../api'; +import { CaseConnectorRt, ConnectorMappingsRt } from '../../domain/connector/v1'; + +const ActionConnectorResultRt = rt.intersection([ + rt.strict({ + id: rt.string, + actionTypeId: rt.string, + name: rt.string, + isDeprecated: rt.boolean, + isPreconfigured: rt.boolean, + isSystemAction: rt.boolean, + referencedByCount: rt.number, + }), + rt.exact(rt.partial({ config: rt.record(rt.string, rt.unknown), isMissingSecrets: rt.boolean })), +]); + +export const FindActionConnectorResponseRt = rt.array(ActionConnectorResultRt); const PushDetailsRt = rt.strict({ latestUserActionPushDate: rt.string, @@ -37,5 +52,12 @@ export const GetCaseConnectorsResponseRt = rt.record( ]) ); +export const ConnectorMappingResponseRt = rt.strict({ + id: rt.string, + version: rt.string, + mappings: ConnectorMappingsRt, +}); + +export type ConnectorMappingResponse = rt.TypeOf; export type GetCaseConnectorsResponse = rt.TypeOf; export type GetCaseConnectorsPushDetails = rt.TypeOf; diff --git a/x-pack/plugins/cases/common/types/api/index.ts b/x-pack/plugins/cases/common/types/api/index.ts index 3e00d0f5346f8..2e504bbd84b4c 100644 --- a/x-pack/plugins/cases/common/types/api/index.ts +++ b/x-pack/plugins/cases/common/types/api/index.ts @@ -8,7 +8,9 @@ // Latest export * from './configure/latest'; export * from './user_action/latest'; +export * from './connector/latest'; // V1 export * as configureApiV1 from './configure/v1'; export * as userActionApiV1 from './user_action/v1'; +export * as connectorApiV1 from './connector/v1'; diff --git a/x-pack/plugins/cases/common/types/domain/configure/v1.test.ts b/x-pack/plugins/cases/common/types/domain/configure/v1.test.ts index f27db54b784f5..70b181ef004e6 100644 --- a/x-pack/plugins/cases/common/types/domain/configure/v1.test.ts +++ b/x-pack/plugins/cases/common/types/domain/configure/v1.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { ConnectorTypes } from '../../../api'; +import { ConnectorTypes } from '../connector/v1'; import { ConfigurationAttributesRt, ConfigurationRt } from './v1'; describe('configure', () => { diff --git a/x-pack/plugins/cases/common/types/domain/configure/v1.ts b/x-pack/plugins/cases/common/types/domain/configure/v1.ts index 080d971026afc..a93480e282c42 100644 --- a/x-pack/plugins/cases/common/types/domain/configure/v1.ts +++ b/x-pack/plugins/cases/common/types/domain/configure/v1.ts @@ -6,7 +6,8 @@ */ import * as rt from 'io-ts'; -import { CaseConnectorRt, UserRt, ConnectorMappingsRt } from '../../../api'; +import { UserRt } from '../../../api'; +import { CaseConnectorRt, ConnectorMappingsRt } from '../connector/v1'; const ClosureTypeRt = rt.union([rt.literal('close-by-user'), rt.literal('close-by-pushing')]); diff --git a/x-pack/plugins/cases/common/types/domain/connector/latest.ts b/x-pack/plugins/cases/common/types/domain/connector/latest.ts new file mode 100644 index 0000000000000..25300c97a6d2e --- /dev/null +++ b/x-pack/plugins/cases/common/types/domain/connector/latest.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './v1'; diff --git a/x-pack/plugins/cases/common/api/connectors/connector.test.ts b/x-pack/plugins/cases/common/types/domain/connector/v1.test.ts similarity index 62% rename from x-pack/plugins/cases/common/api/connectors/connector.test.ts rename to x-pack/plugins/cases/common/types/domain/connector/v1.test.ts index 39640b1607024..45bdbecffa823 100644 --- a/x-pack/plugins/cases/common/api/connectors/connector.test.ts +++ b/x-pack/plugins/cases/common/types/domain/connector/v1.test.ts @@ -10,8 +10,9 @@ import { CaseUserActionConnectorRt, CaseConnectorRt, ConnectorTypes, - FindActionConnectorResponseRt, -} from './connector'; + ConnectorMappingsAttributesRt, + ConnectorMappingsRt, +} from './v1'; describe('Connector', () => { describe('ConnectorTypeFieldsRt', () => { @@ -149,50 +150,93 @@ describe('Connector', () => { }); }); - describe('FindActionConnectorResponseRt', () => { - const response = [ + describe('mappings', () => { + const mappings = [ { - id: 'test', - actionTypeId: '.test', - name: 'My connector', - isDeprecated: false, - isPreconfigured: false, - referencedByCount: 0, - config: { foo: 'bar' }, - isMissingSecrets: false, - isSystemAction: false, + action_type: 'overwrite', + source: 'title', + target: 'unknown', }, { - id: 'test-2', - actionTypeId: '.test', - name: 'My connector 2', - isDeprecated: false, - isPreconfigured: false, - isSystemAction: false, - referencedByCount: 0, + action_type: 'append', + source: 'description', + target: 'not_mapped', }, ]; - it('has expected attributes in request', () => { - const query = FindActionConnectorResponseRt.decode(response); + const attributes = { + mappings: [ + { + action_type: 'overwrite', + source: 'title', + target: 'unknown', + }, + { + action_type: 'append', + source: 'description', + target: 'not_mapped', + }, + ], + owner: 'cases', + }; - expect(query).toStrictEqual({ - _tag: 'Right', - right: response, + describe('ConnectorMappingsRt', () => { + it('has expected attributes in request', () => { + const query = ConnectorMappingsRt.decode(mappings); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: mappings, + }); + }); + + it('removes foo:bar attributes from mappings', () => { + const query = ConnectorMappingsRt.decode([ + { ...mappings[0] }, + { + action_type: 'append', + source: 'description', + target: 'not_mapped', + foo: 'bar', + }, + ]); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: mappings, + }); }); }); - it('removes foo:bar attributes from request', () => { - const query = FindActionConnectorResponseRt.decode([ - { - ...response[0], - foo: 'bar', - }, - ]); + describe('ConnectorMappingsAttributesRt', () => { + it('has expected attributes in request', () => { + const query = ConnectorMappingsAttributesRt.decode(attributes); - expect(query).toStrictEqual({ - _tag: 'Right', - right: [response[0]], + expect(query).toStrictEqual({ + _tag: 'Right', + right: attributes, + }); + }); + + it('removes foo:bar attributes from request', () => { + const query = ConnectorMappingsAttributesRt.decode({ ...attributes, foo: 'bar' }); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: attributes, + }); + }); + + it('removes foo:bar attributes from mappings', () => { + const query = ConnectorMappingsAttributesRt.decode({ + ...attributes, + mappings: [{ ...attributes.mappings[0], foo: 'bar' }], + }); + + expect(query).toStrictEqual({ + _tag: 'Right', + right: { ...attributes, mappings: [{ ...attributes.mappings[0] }] }, + }); }); }); }); diff --git a/x-pack/plugins/cases/common/api/connectors/connector.ts b/x-pack/plugins/cases/common/types/domain/connector/v1.ts similarity index 51% rename from x-pack/plugins/cases/common/api/connectors/connector.ts rename to x-pack/plugins/cases/common/types/domain/connector/v1.ts index ebdc1d5db9bb6..a690abcab9784 100644 --- a/x-pack/plugins/cases/common/api/connectors/connector.ts +++ b/x-pack/plugins/cases/common/types/domain/connector/v1.ts @@ -7,16 +7,11 @@ import * as rt from 'io-ts'; -import type { ActionType } from '@kbn/actions-plugin/common'; +import type { ActionType as ConnectorActionType } from '@kbn/actions-plugin/common'; import type { ActionResult } from '@kbn/actions-plugin/server/types'; -import { JiraFieldsRT } from './jira'; -import { ResilientFieldsRT } from './resilient'; -import { ServiceNowITSMFieldsRT } from './servicenow_itsm'; -import { ServiceNowSIRFieldsRT } from './servicenow_sir'; -import { SwimlaneFieldsRT } from './swimlane'; export type ActionConnector = ActionResult; -export type ActionTypeConnector = ActionType; +export type ActionTypeConnector = ConnectorActionType; export enum ConnectorTypes { casesWebhook = '.cases-webhook', @@ -33,38 +28,105 @@ const ConnectorCasesWebhookTypeFieldsRt = rt.strict({ fields: rt.null, }); +/** + * Jira + */ + +export const JiraFieldsRt = rt.strict({ + issueType: rt.union([rt.string, rt.null]), + priority: rt.union([rt.string, rt.null]), + parent: rt.union([rt.string, rt.null]), +}); + +export type JiraFieldsType = rt.TypeOf; + const ConnectorJiraTypeFieldsRt = rt.strict({ type: rt.literal(ConnectorTypes.jira), - fields: rt.union([JiraFieldsRT, rt.null]), + fields: rt.union([JiraFieldsRt, rt.null]), }); +/** + * Resilient + */ + +export const ResilientFieldsRt = rt.strict({ + incidentTypes: rt.union([rt.array(rt.string), rt.null]), + severityCode: rt.union([rt.string, rt.null]), +}); + +export type ResilientFieldsType = rt.TypeOf; + const ConnectorResilientTypeFieldsRt = rt.strict({ type: rt.literal(ConnectorTypes.resilient), - fields: rt.union([ResilientFieldsRT, rt.null]), + fields: rt.union([ResilientFieldsRt, rt.null]), }); +/** + * ServiceNow + */ + +export const ServiceNowITSMFieldsRt = rt.strict({ + impact: rt.union([rt.string, rt.null]), + severity: rt.union([rt.string, rt.null]), + urgency: rt.union([rt.string, rt.null]), + category: rt.union([rt.string, rt.null]), + subcategory: rt.union([rt.string, rt.null]), +}); + +export type ServiceNowITSMFieldsType = rt.TypeOf; + const ConnectorServiceNowITSMTypeFieldsRt = rt.strict({ type: rt.literal(ConnectorTypes.serviceNowITSM), - fields: rt.union([ServiceNowITSMFieldsRT, rt.null]), + fields: rt.union([ServiceNowITSMFieldsRt, rt.null]), }); -const ConnectorSwimlaneTypeFieldsRt = rt.strict({ - type: rt.literal(ConnectorTypes.swimlane), - fields: rt.union([SwimlaneFieldsRT, rt.null]), +export const ServiceNowSIRFieldsRt = rt.strict({ + category: rt.union([rt.string, rt.null]), + destIp: rt.union([rt.boolean, rt.null]), + malwareHash: rt.union([rt.boolean, rt.null]), + malwareUrl: rt.union([rt.boolean, rt.null]), + priority: rt.union([rt.string, rt.null]), + sourceIp: rt.union([rt.boolean, rt.null]), + subcategory: rt.union([rt.string, rt.null]), }); +export type ServiceNowSIRFieldsType = rt.TypeOf; + const ConnectorServiceNowSIRTypeFieldsRt = rt.strict({ type: rt.literal(ConnectorTypes.serviceNowSIR), - fields: rt.union([ServiceNowSIRFieldsRT, rt.null]), + fields: rt.union([ServiceNowSIRFieldsRt, rt.null]), +}); + +/** + * Swimlane + */ + +export const SwimlaneFieldsRt = rt.strict({ + caseId: rt.union([rt.string, rt.null]), }); +export enum SwimlaneConnectorType { + All = 'all', + Alerts = 'alerts', + Cases = 'cases', +} + +export type SwimlaneFieldsType = rt.TypeOf; + +const ConnectorSwimlaneTypeFieldsRt = rt.strict({ + type: rt.literal(ConnectorTypes.swimlane), + fields: rt.union([SwimlaneFieldsRt, rt.null]), +}); + +/** + * None connector + */ + const ConnectorNoneTypeFieldsRt = rt.strict({ type: rt.literal(ConnectorTypes.none), fields: rt.null, }); -export const NONE_CONNECTOR_ID: string = 'none'; - export const ConnectorTypeFieldsRt = rt.union([ ConnectorCasesWebhookTypeFieldsRt, ConnectorJiraTypeFieldsRt, @@ -95,21 +157,43 @@ export const CaseConnectorRt = rt.intersection([ CaseUserActionConnectorRt, ]); -const ActionConnectorResultRt = rt.intersection([ - rt.strict({ - id: rt.string, - actionTypeId: rt.string, - name: rt.string, - isDeprecated: rt.boolean, - isPreconfigured: rt.boolean, - isSystemAction: rt.boolean, - referencedByCount: rt.number, - }), - rt.exact(rt.partial({ config: rt.record(rt.string, rt.unknown), isMissingSecrets: rt.boolean })), +/** + * Mappings + */ + +const ConnectorMappingActionTypeRt = rt.union([ + rt.literal('append'), + rt.literal('nothing'), + rt.literal('overwrite'), +]); + +const ConnectorMappingSourceRt = rt.union([ + rt.literal('title'), + rt.literal('description'), + rt.literal('comments'), + rt.literal('tags'), ]); -export const FindActionConnectorResponseRt = rt.array(ActionConnectorResultRt); +const ConnectorMappingTargetRt = rt.union([rt.string, rt.literal('not_mapped')]); + +const ConnectorMappingRt = rt.strict({ + action_type: ConnectorMappingActionTypeRt, + source: ConnectorMappingSourceRt, + target: ConnectorMappingTargetRt, +}); + +export const ConnectorMappingsRt = rt.array(ConnectorMappingRt); + +export const ConnectorMappingsAttributesRt = rt.strict({ + mappings: ConnectorMappingsRt, + owner: rt.string, +}); +export type ConnectorMappingsAttributes = rt.TypeOf; +export type ConnectorMappings = rt.TypeOf; +export type ConnectorMappingActionType = rt.TypeOf; +export type ConnectorMappingSource = rt.TypeOf; +export type ConnectorMappingTarget = rt.TypeOf; export type CaseUserActionConnector = rt.TypeOf; export type CaseConnector = rt.TypeOf; export type ConnectorTypeFields = rt.TypeOf; diff --git a/x-pack/plugins/cases/common/types/domain/index.ts b/x-pack/plugins/cases/common/types/domain/index.ts index 6b4e58822da6d..b8832d3c7db14 100644 --- a/x-pack/plugins/cases/common/types/domain/index.ts +++ b/x-pack/plugins/cases/common/types/domain/index.ts @@ -8,7 +8,9 @@ // Latest export * from './configure/latest'; export * from './user_action/latest'; +export * from './connector/latest'; // V1 export * as configureDomainV1 from './configure/v1'; export * as userActionDomainV1 from './user_action/v1'; +export * as connectorDomainV1 from './connector/v1'; diff --git a/x-pack/plugins/cases/common/types/domain/user_action/connector/v1.test.ts b/x-pack/plugins/cases/common/types/domain/user_action/connector/v1.test.ts index 74512282c6ce1..714eafec4ec1e 100644 --- a/x-pack/plugins/cases/common/types/domain/user_action/connector/v1.test.ts +++ b/x-pack/plugins/cases/common/types/domain/user_action/connector/v1.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { ConnectorTypes } from '../../../../api'; +import { ConnectorTypes } from '../../connector/v1'; import { ConnectorUserActionPayloadWithoutConnectorIdRt } from './v1'; describe('Connector', () => { diff --git a/x-pack/plugins/cases/common/types/domain/user_action/connector/v1.ts b/x-pack/plugins/cases/common/types/domain/user_action/connector/v1.ts index 919c72a9f3973..61c6e78f1f5ae 100644 --- a/x-pack/plugins/cases/common/types/domain/user_action/connector/v1.ts +++ b/x-pack/plugins/cases/common/types/domain/user_action/connector/v1.ts @@ -6,7 +6,7 @@ */ import * as rt from 'io-ts'; -import { CaseConnectorRt, CaseUserActionConnectorRt } from '../../../../api'; +import { CaseUserActionConnectorRt, CaseConnectorRt } from '../../connector/v1'; import { UserActionTypes } from '../action/v1'; export const ConnectorUserActionPayloadWithoutConnectorIdRt = rt.strict({ diff --git a/x-pack/plugins/cases/common/types/domain/user_action/create_case/v1.test.ts b/x-pack/plugins/cases/common/types/domain/user_action/create_case/v1.test.ts index 179c5f0f22eb7..17e4777d18afa 100644 --- a/x-pack/plugins/cases/common/types/domain/user_action/create_case/v1.test.ts +++ b/x-pack/plugins/cases/common/types/domain/user_action/create_case/v1.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { ConnectorTypes } from '../../../../api'; +import { ConnectorTypes } from '../../connector/v1'; import { UserActionTypes } from '../action/v1'; import { CreateCaseUserActionRt, CreateCaseUserActionWithoutConnectorIdRt } from './v1'; diff --git a/x-pack/plugins/cases/common/ui/types.ts b/x-pack/plugins/cases/common/ui/types.ts index d855e968bf17f..e0cadcc12b6d0 100644 --- a/x-pack/plugins/cases/common/ui/types.ts +++ b/x-pack/plugins/cases/common/ui/types.ts @@ -16,7 +16,6 @@ import type { CasePatchRequest, CaseStatuses, User, - ActionConnector, SingleCaseMetricsResponse, Comment, Case as CaseSnakeCase, @@ -27,14 +26,14 @@ import type { CaseSeverity, CommentResponseExternalReferenceType, CommentResponseTypePersistableState, - GetCaseConnectorsResponse, GetCaseUsersResponse, } from '../api'; import type { PUSH_CASES_CAPABILITY } from '../constants'; import type { SnakeToCamelCase } from '../types'; -import type { UserAction } from '../types/domain'; +import type { ActionConnector, UserAction } from '../types/domain'; import type { CaseUserActionStatsResponse, + GetCaseConnectorsResponse, UserActionFindRequestTypes, UserActionFindResponse, } from '../types/api'; diff --git a/x-pack/plugins/cases/public/common/mock/connectors.ts b/x-pack/plugins/cases/public/common/mock/connectors.ts index f1ba88deedd14..2d61f024302bd 100644 --- a/x-pack/plugins/cases/public/common/mock/connectors.ts +++ b/x-pack/plugins/cases/public/common/mock/connectors.ts @@ -6,7 +6,7 @@ */ import { set } from '@kbn/safer-lodash-set'; -import type { ActionConnector, ActionTypeConnector } from '../../../common/api'; +import type { ActionConnector, ActionTypeConnector } from '../../../common/types/domain'; import { basicPush } from '../../containers/mock'; import type { CaseConnectors } from '../../containers/types'; diff --git a/x-pack/plugins/cases/public/components/all_cases/use_cases_columns.tsx b/x-pack/plugins/cases/public/components/all_cases/use_cases_columns.tsx index d5d8493e13ecf..25698abe5da69 100644 --- a/x-pack/plugins/cases/public/components/all_cases/use_cases_columns.tsx +++ b/x-pack/plugins/cases/public/components/all_cases/use_cases_columns.tsx @@ -26,8 +26,8 @@ import { Status } from '@kbn/cases-components/src/status/status'; import type { UserProfileWithAvatar } from '@kbn/user-profile-components'; import { euiStyled } from '@kbn/kibana-react-plugin/common'; +import type { ActionConnector } from '../../../common/types/domain'; import type { CaseUI } from '../../../common/ui/types'; -import type { ActionConnector } from '../../../common/api'; import { CaseStatuses, CaseSeverity } from '../../../common/api'; import { OWNER_INFO } from '../../../common/constants'; import { getEmptyTagValue } from '../empty_value'; diff --git a/x-pack/plugins/cases/public/components/case_view/components/case_view_activity.test.tsx b/x-pack/plugins/cases/public/components/case_view/components/case_view_activity.test.tsx index 89f66abaf3f94..b0e82a9e81ef5 100644 --- a/x-pack/plugins/cases/public/components/case_view/components/case_view_activity.test.tsx +++ b/x-pack/plugins/cases/public/components/case_view/components/case_view_activity.test.tsx @@ -19,7 +19,6 @@ import { import type { AppMockRenderer } from '../../../common/mock'; import { createAppMockRenderer, noUpdateCasesPermissions } from '../../../common/mock'; import { CaseViewActivity } from './case_view_activity'; -import { ConnectorTypes } from '../../../../common/api/connectors'; import type { CaseUI } from '../../../../common'; import { CASE_VIEW_PAGE_TABS } from '../../../../common/types'; import type { CaseViewProps } from '../types'; @@ -37,7 +36,7 @@ import { useGetCaseUserActionsStats } from '../../../containers/use_get_case_use import { useInfiniteFindCaseUserActions } from '../../../containers/use_infinite_find_case_user_actions'; import { useOnUpdateField } from '../use_on_update_field'; import { useCasesFeatures } from '../../../common/use_cases_features'; -import { UserActionTypes } from '../../../../common/types/domain'; +import { ConnectorTypes, UserActionTypes } from '../../../../common/types/domain'; jest.mock('../../../containers/use_infinite_find_case_user_actions'); jest.mock('../../../containers/use_find_case_user_actions'); diff --git a/x-pack/plugins/cases/public/components/case_view/mocks.ts b/x-pack/plugins/cases/public/components/case_view/mocks.ts index 9f7705f6a53bd..f6764ae133401 100644 --- a/x-pack/plugins/cases/public/components/case_view/mocks.ts +++ b/x-pack/plugins/cases/public/components/case_view/mocks.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import { alertComment, basicCase, diff --git a/x-pack/plugins/cases/public/components/case_view/use_on_update_field.ts b/x-pack/plugins/cases/public/components/case_view/use_on_update_field.ts index a123ccea5f3f3..ee9cd2b563b4b 100644 --- a/x-pack/plugins/cases/public/components/case_view/use_on_update_field.ts +++ b/x-pack/plugins/cases/public/components/case_view/use_on_update_field.ts @@ -8,7 +8,7 @@ import { useCallback, useState } from 'react'; import deepEqual from 'fast-deep-equal'; -import type { CaseConnector } from '../../../common/api'; +import type { CaseConnector } from '../../../common/types/domain'; import type { CaseAttributes } from '../../../common/api/cases/case'; import type { CaseStatuses } from '../../../common/api/cases/status'; import type { CaseUI, UpdateByKey, UpdateKey } from '../../containers/types'; diff --git a/x-pack/plugins/cases/public/components/configure_cases/__mock__/index.tsx b/x-pack/plugins/cases/public/components/configure_cases/__mock__/index.tsx index 5ffdf69e47a41..28267d407cb3f 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/__mock__/index.tsx +++ b/x-pack/plugins/cases/public/components/configure_cases/__mock__/index.tsx @@ -5,8 +5,8 @@ * 2.0. */ -import type { ActionTypeConnector } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { ActionTypeConnector } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import type { ActionConnector } from '../../../containers/configure/types'; import type { ReturnUseCaseConfigure } from '../../../containers/configure/use_configure'; import { connectorsMock, actionTypesMock } from '../../../common/mock/connectors'; diff --git a/x-pack/plugins/cases/public/components/configure_cases/connectors.test.tsx b/x-pack/plugins/cases/public/components/configure_cases/connectors.test.tsx index 19ac7d0b667c1..c77340b4f37ac 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/connectors.test.tsx +++ b/x-pack/plugins/cases/public/components/configure_cases/connectors.test.tsx @@ -16,7 +16,7 @@ import type { AppMockRenderer } from '../../common/mock'; import { createAppMockRenderer, TestProviders } from '../../common/mock'; import { ConnectorsDropdown } from './connectors_dropdown'; import { connectors, actionTypes } from './__mock__'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; describe('Connectors', () => { let wrapper: ReactWrapper; diff --git a/x-pack/plugins/cases/public/components/configure_cases/connectors.tsx b/x-pack/plugins/cases/public/components/configure_cases/connectors.tsx index 3ce055bd50a30..0b51323f3ffd8 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/connectors.tsx +++ b/x-pack/plugins/cases/public/components/configure_cases/connectors.tsx @@ -22,8 +22,8 @@ import * as i18n from './translations'; import type { ActionConnector, CaseConnectorMapping } from '../../containers/configure/types'; import { Mapping } from './mapping'; -import type { ActionTypeConnector } from '../../../common/api'; -import { ConnectorTypes } from '../../../common/api'; +import type { ActionTypeConnector } from '../../../common/types/domain'; +import { ConnectorTypes } from '../../../common/types/domain'; import { DeprecatedCallout } from '../connectors/deprecated_callout'; import { isDeprecatedConnector } from '../utils'; import { useApplicationCapabilities } from '../../common/lib/kibana'; diff --git a/x-pack/plugins/cases/public/components/configure_cases/field_mapping_row_static.tsx b/x-pack/plugins/cases/public/components/configure_cases/field_mapping_row_static.tsx index 84fea6aebc498..8f15e580e83d5 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/field_mapping_row_static.tsx +++ b/x-pack/plugins/cases/public/components/configure_cases/field_mapping_row_static.tsx @@ -9,13 +9,17 @@ import React, { useMemo } from 'react'; import { EuiCode, EuiFlexItem, EuiFlexGroup, EuiIcon, EuiLoadingSpinner } from '@elastic/eui'; import { capitalize } from 'lodash/fp'; -import type { CaseField, ActionType, ThirdPartyField } from '../../containers/configure/types'; +import type { + ConnectorMappingSource, + ConnectorMappingActionType, + ConnectorMappingTarget, +} from '../../containers/configure/types'; export interface RowProps { isLoading: boolean; - casesField: CaseField; - selectedActionType: ActionType; - selectedThirdParty: ThirdPartyField; + casesField: ConnectorMappingSource; + selectedActionType: ConnectorMappingActionType; + selectedThirdParty: ConnectorMappingTarget; } const FieldMappingRowComponent: React.FC = ({ diff --git a/x-pack/plugins/cases/public/components/configure_cases/index.test.tsx b/x-pack/plugins/cases/public/components/configure_cases/index.test.tsx index bad53d324da3c..5272eaebad512 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/index.test.tsx +++ b/x-pack/plugins/cases/public/components/configure_cases/index.test.tsx @@ -25,7 +25,7 @@ import { useConnectorsResponse, useActionTypesResponse, } from './__mock__'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import { actionTypeRegistryMock } from '@kbn/triggers-actions-ui-plugin/public/application/action_type_registry.mock'; import { useGetActionTypes } from '../../containers/configure/use_action_types'; import { useGetSupportedActionConnectors } from '../../containers/configure/use_get_supported_action_connectors'; diff --git a/x-pack/plugins/cases/public/components/configure_cases/mapping.test.tsx b/x-pack/plugins/cases/public/components/configure_cases/mapping.test.tsx index b97602beda906..413499010cdb2 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/mapping.test.tsx +++ b/x-pack/plugins/cases/public/components/configure_cases/mapping.test.tsx @@ -12,7 +12,7 @@ import { TestProviders } from '../../common/mock'; import type { MappingProps } from './mapping'; import { Mapping } from './mapping'; import { mappings } from './__mock__'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; describe('Mapping', () => { const props: MappingProps = { diff --git a/x-pack/plugins/cases/public/components/configure_cases/mapping.tsx b/x-pack/plugins/cases/public/components/configure_cases/mapping.tsx index 0338e33a5f3c9..52ed6fd21a5a3 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/mapping.tsx +++ b/x-pack/plugins/cases/public/components/configure_cases/mapping.tsx @@ -10,7 +10,7 @@ import React, { useMemo } from 'react'; import { EuiFlexGroup, EuiFlexItem, EuiText, EuiTextColor } from '@elastic/eui'; import type { TextColor } from '@elastic/eui/src/components/text/text_color'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import * as i18n from './translations'; import { FieldMapping } from './field_mapping'; diff --git a/x-pack/plugins/cases/public/components/configure_cases/utils.ts b/x-pack/plugins/cases/public/components/configure_cases/utils.ts index a4dfc0442c6d9..2177ea7af81d9 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/utils.ts +++ b/x-pack/plugins/cases/public/components/configure_cases/utils.ts @@ -5,20 +5,20 @@ * 2.0. */ -import type { ConnectorTypeFields } from '../../../common/api'; -import { ConnectorTypes } from '../../../common/api'; +import type { ConnectorTypeFields } from '../../../common/types/domain'; +import { ConnectorTypes } from '../../../common/types/domain'; import type { - CaseField, - ActionType, - ThirdPartyField, + ConnectorMappingSource, + ConnectorMappingActionType, + ConnectorMappingTarget, CaseConnector, CaseConnectorMapping, } from '../../containers/configure/types'; import type { CaseActionConnector } from '../types'; export const setActionTypeToMapping = ( - caseField: CaseField, - newActionType: ActionType, + caseField: ConnectorMappingSource, + newActionType: ConnectorMappingActionType, mapping: CaseConnectorMapping[] ): CaseConnectorMapping[] => { const findItemIndex = mapping.findIndex((item) => item.source === caseField); @@ -35,8 +35,8 @@ export const setActionTypeToMapping = ( }; export const setThirdPartyToMapping = ( - caseField: CaseField, - newThirdPartyField: ThirdPartyField, + caseField: ConnectorMappingSource, + newThirdPartyField: ConnectorMappingTarget, mapping: CaseConnectorMapping[] ): CaseConnectorMapping[] => mapping.map((item) => { diff --git a/x-pack/plugins/cases/public/components/connector_selector/form.tsx b/x-pack/plugins/cases/public/components/connector_selector/form.tsx index d4e668f3633b2..72169c798379f 100644 --- a/x-pack/plugins/cases/public/components/connector_selector/form.tsx +++ b/x-pack/plugins/cases/public/components/connector_selector/form.tsx @@ -12,8 +12,8 @@ import styled from 'styled-components'; import type { FieldHook } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { getFieldValidityAndErrorMessage } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; +import type { ActionConnector } from '../../../common/types/domain'; import { ConnectorsDropdown } from '../configure_cases/connectors_dropdown'; -import type { ActionConnector } from '../../../common/api'; interface ConnectorSelectorProps { connectors: ActionConnector[]; diff --git a/x-pack/plugins/cases/public/components/connectors/card.test.tsx b/x-pack/plugins/cases/public/components/connectors/card.test.tsx index 2bc9635d26f6b..cdc658a29a404 100644 --- a/x-pack/plugins/cases/public/components/connectors/card.test.tsx +++ b/x-pack/plugins/cases/public/components/connectors/card.test.tsx @@ -8,7 +8,7 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import { ConnectorCard } from './card'; import { createQueryWithMarkup } from '../../common/test_utils'; diff --git a/x-pack/plugins/cases/public/components/connectors/card.tsx b/x-pack/plugins/cases/public/components/connectors/card.tsx index fc7b550ac6496..47ca384d175e6 100644 --- a/x-pack/plugins/cases/public/components/connectors/card.tsx +++ b/x-pack/plugins/cases/public/components/connectors/card.tsx @@ -8,7 +8,7 @@ import React, { memo } from 'react'; import { EuiFlexGroup, EuiFlexItem, EuiIcon, EuiSkeletonText, EuiText } from '@elastic/eui'; -import type { ConnectorTypes } from '../../../common/api'; +import type { ConnectorTypes } from '../../../common/types/domain'; import { useKibana } from '../../common/lib/kibana'; import { getConnectorIcon } from '../utils'; diff --git a/x-pack/plugins/cases/public/components/connectors/cases_webhook/case_fields_preview.tsx b/x-pack/plugins/cases/public/components/connectors/cases_webhook/case_fields_preview.tsx index 1ba9bf7666630..32cfed3b2a1c3 100644 --- a/x-pack/plugins/cases/public/components/connectors/cases_webhook/case_fields_preview.tsx +++ b/x-pack/plugins/cases/public/components/connectors/cases_webhook/case_fields_preview.tsx @@ -8,7 +8,7 @@ import React from 'react'; import { EuiCallOut, EuiSpacer } from '@elastic/eui'; -import { ConnectorTypes } from '../../../../common/api'; +import { ConnectorTypes } from '../../../../common/types/domain'; import type { ConnectorFieldsPreviewProps } from '../types'; import { ConnectorCard } from '../card'; import * as i18n from './translations'; diff --git a/x-pack/plugins/cases/public/components/connectors/cases_webhook/index.ts b/x-pack/plugins/cases/public/components/connectors/cases_webhook/index.ts index 4f50b8ddf7a97..7cb3f8b4bce63 100644 --- a/x-pack/plugins/cases/public/components/connectors/cases_webhook/index.ts +++ b/x-pack/plugins/cases/public/components/connectors/cases_webhook/index.ts @@ -8,7 +8,7 @@ import { lazy } from 'react'; import type { CaseConnector } from '../types'; -import { ConnectorTypes } from '../../../../common/api'; +import { ConnectorTypes } from '../../../../common/types/domain'; export const getCaseConnector = (): CaseConnector => { return { diff --git a/x-pack/plugins/cases/public/components/connectors/fields_preview_form.tsx b/x-pack/plugins/cases/public/components/connectors/fields_preview_form.tsx index 2554c72bce8a4..0405a567d834d 100644 --- a/x-pack/plugins/cases/public/components/connectors/fields_preview_form.tsx +++ b/x-pack/plugins/cases/public/components/connectors/fields_preview_form.tsx @@ -8,7 +8,7 @@ import React, { memo, Suspense } from 'react'; import { EuiFlexGroup, EuiFlexItem, EuiLoadingSpinner } from '@elastic/eui'; -import type { ConnectorTypeFields } from '../../../common/api'; +import type { ConnectorTypeFields } from '../../../common/types/domain'; import type { CaseActionConnector } from '../types'; import { getCaseConnectors } from '.'; diff --git a/x-pack/plugins/cases/public/components/connectors/index.ts b/x-pack/plugins/cases/public/components/connectors/index.ts index 9e23f6d16f677..b3ba36f75d65c 100644 --- a/x-pack/plugins/cases/public/components/connectors/index.ts +++ b/x-pack/plugins/cases/public/components/connectors/index.ts @@ -18,7 +18,7 @@ import type { ServiceNowSIRFieldsType, ResilientFieldsType, SwimlaneFieldsType, -} from '../../../common/api'; +} from '../../../common/types/domain'; export * from './types'; diff --git a/x-pack/plugins/cases/public/components/connectors/jira/case_fields.tsx b/x-pack/plugins/cases/public/components/connectors/jira/case_fields.tsx index fb7155cfdbd86..57772c0b177b7 100644 --- a/x-pack/plugins/cases/public/components/connectors/jira/case_fields.tsx +++ b/x-pack/plugins/cases/public/components/connectors/jira/case_fields.tsx @@ -13,8 +13,8 @@ import { UseField, useFormData } from '@kbn/es-ui-shared-plugin/static/forms/hoo import { fieldValidators } from '@kbn/es-ui-shared-plugin/static/forms/helpers'; import { isEmpty } from 'lodash'; +import type { JiraFieldsType } from '../../../../common/types/domain'; import * as i18n from './translations'; -import type { JiraFieldsType } from '../../../../common/api'; import { useKibana } from '../../../common/lib/kibana'; import type { ConnectorFieldsProps } from '../types'; import { useGetIssueTypes } from './use_get_issue_types'; diff --git a/x-pack/plugins/cases/public/components/connectors/jira/case_fields_preview.tsx b/x-pack/plugins/cases/public/components/connectors/jira/case_fields_preview.tsx index 97c3ff10c8b9e..1daa8632e8d2d 100644 --- a/x-pack/plugins/cases/public/components/connectors/jira/case_fields_preview.tsx +++ b/x-pack/plugins/cases/public/components/connectors/jira/case_fields_preview.tsx @@ -8,8 +8,8 @@ import React, { useMemo } from 'react'; import * as i18n from './translations'; -import type { JiraFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { JiraFieldsType } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import { useKibana } from '../../../common/lib/kibana'; import type { ConnectorFieldsPreviewProps } from '../types'; import { useGetIssueTypes } from './use_get_issue_types'; diff --git a/x-pack/plugins/cases/public/components/connectors/jira/index.ts b/x-pack/plugins/cases/public/components/connectors/jira/index.ts index 740b23aac376d..28d5a49fa5ff1 100644 --- a/x-pack/plugins/cases/public/components/connectors/jira/index.ts +++ b/x-pack/plugins/cases/public/components/connectors/jira/index.ts @@ -8,8 +8,8 @@ import { lazy } from 'react'; import type { CaseConnector } from '../types'; -import type { JiraFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { JiraFieldsType } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import * as i18n from './translations'; export * from './types'; diff --git a/x-pack/plugins/cases/public/components/connectors/jira/search_issues.tsx b/x-pack/plugins/cases/public/components/connectors/jira/search_issues.tsx index b6e642a76cc40..27df975ac5864 100644 --- a/x-pack/plugins/cases/public/components/connectors/jira/search_issues.tsx +++ b/x-pack/plugins/cases/public/components/connectors/jira/search_issues.tsx @@ -14,7 +14,7 @@ import { UseField, } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { useKibana } from '../../../common/lib/kibana'; -import type { ActionConnector } from '../../../../common/api'; +import type { ActionConnector } from '../../../../common/types/domain'; import { useGetIssues } from './use_get_issues'; import * as i18n from './translations'; diff --git a/x-pack/plugins/cases/public/components/connectors/jira/use_get_fields_by_issue_type.tsx b/x-pack/plugins/cases/public/components/connectors/jira/use_get_fields_by_issue_type.tsx index 53923b12f5a46..c41c110ef64a5 100644 --- a/x-pack/plugins/cases/public/components/connectors/jira/use_get_fields_by_issue_type.tsx +++ b/x-pack/plugins/cases/public/components/connectors/jira/use_get_fields_by_issue_type.tsx @@ -11,7 +11,7 @@ import type { ActionTypeExecutorResult } from '@kbn/actions-plugin/common'; import { isEmpty } from 'lodash'; import type { ServerError } from '../../../types'; import { useCasesToast } from '../../../common/use_cases_toast'; -import type { ActionConnector } from '../../../../common/api'; +import type { ActionConnector } from '../../../../common/types/domain'; import { getFieldsByIssueType } from './api'; import type { Fields } from './types'; import * as i18n from './translations'; diff --git a/x-pack/plugins/cases/public/components/connectors/jira/use_get_issue_types.tsx b/x-pack/plugins/cases/public/components/connectors/jira/use_get_issue_types.tsx index 9f4363599e8a9..274805cda79c4 100644 --- a/x-pack/plugins/cases/public/components/connectors/jira/use_get_issue_types.tsx +++ b/x-pack/plugins/cases/public/components/connectors/jira/use_get_issue_types.tsx @@ -10,7 +10,7 @@ import type { HttpSetup } from '@kbn/core/public'; import type { ActionTypeExecutorResult } from '@kbn/actions-plugin/common'; import { useCasesToast } from '../../../common/use_cases_toast'; import type { ServerError } from '../../../types'; -import type { ActionConnector } from '../../../../common/api'; +import type { ActionConnector } from '../../../../common/types/domain'; import { connectorsQueriesKeys } from '../constants'; import { getIssueTypes } from './api'; import type { IssueTypes } from './types'; diff --git a/x-pack/plugins/cases/public/components/connectors/jira/use_get_issues.tsx b/x-pack/plugins/cases/public/components/connectors/jira/use_get_issues.tsx index 27f19166e5d45..037fcc6bb8d8e 100644 --- a/x-pack/plugins/cases/public/components/connectors/jira/use_get_issues.tsx +++ b/x-pack/plugins/cases/public/components/connectors/jira/use_get_issues.tsx @@ -11,7 +11,7 @@ import type { HttpSetup } from '@kbn/core/public'; import type { ActionTypeExecutorResult } from '@kbn/actions-plugin/common'; import { useQuery } from '@tanstack/react-query'; import { isEmpty } from 'lodash'; -import type { ActionConnector } from '../../../../common/api'; +import type { ActionConnector } from '../../../../common/types/domain'; import { getIssues } from './api'; import type { Issues } from './types'; import * as i18n from './translations'; diff --git a/x-pack/plugins/cases/public/components/connectors/mock.ts b/x-pack/plugins/cases/public/components/connectors/mock.ts index c66f11ebacff7..b7271d40043d3 100644 --- a/x-pack/plugins/cases/public/components/connectors/mock.ts +++ b/x-pack/plugins/cases/public/components/connectors/mock.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { SwimlaneConnectorType } from '../../../common/api'; +import { SwimlaneConnectorType } from '../../../common/types/domain'; export const connector = { id: '123', diff --git a/x-pack/plugins/cases/public/components/connectors/resilient/case_fields_preview.tsx b/x-pack/plugins/cases/public/components/connectors/resilient/case_fields_preview.tsx index 28ab9f350d759..7edfef3e303f0 100644 --- a/x-pack/plugins/cases/public/components/connectors/resilient/case_fields_preview.tsx +++ b/x-pack/plugins/cases/public/components/connectors/resilient/case_fields_preview.tsx @@ -13,8 +13,8 @@ import { useGetIncidentTypes } from './use_get_incident_types'; import { useGetSeverity } from './use_get_severity'; import * as i18n from './translations'; -import type { ResilientFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { ResilientFieldsType } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import { ConnectorCard } from '../card'; const ResilientFieldsComponent: React.FunctionComponent< diff --git a/x-pack/plugins/cases/public/components/connectors/resilient/index.ts b/x-pack/plugins/cases/public/components/connectors/resilient/index.ts index 1da988b5aefad..87745d82d22fb 100644 --- a/x-pack/plugins/cases/public/components/connectors/resilient/index.ts +++ b/x-pack/plugins/cases/public/components/connectors/resilient/index.ts @@ -8,8 +8,8 @@ import { lazy } from 'react'; import type { CaseConnector } from '../types'; -import type { ResilientFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { ResilientFieldsType } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import * as i18n from './translations'; export * from './types'; diff --git a/x-pack/plugins/cases/public/components/connectors/resilient/use_get_incident_types.tsx b/x-pack/plugins/cases/public/components/connectors/resilient/use_get_incident_types.tsx index 211226da79492..44d687af02d79 100644 --- a/x-pack/plugins/cases/public/components/connectors/resilient/use_get_incident_types.tsx +++ b/x-pack/plugins/cases/public/components/connectors/resilient/use_get_incident_types.tsx @@ -10,7 +10,7 @@ import type { HttpSetup } from '@kbn/core/public'; import type { ActionTypeExecutorResult } from '@kbn/actions-plugin/common'; import { useCasesToast } from '../../../common/use_cases_toast'; import type { ServerError } from '../../../types'; -import type { ActionConnector } from '../../../../common/api'; +import type { ActionConnector } from '../../../../common/types/domain'; import { connectorsQueriesKeys } from '../constants'; import { getIncidentTypes } from './api'; import * as i18n from './translations'; diff --git a/x-pack/plugins/cases/public/components/connectors/resilient/use_get_severity.tsx b/x-pack/plugins/cases/public/components/connectors/resilient/use_get_severity.tsx index ebb04a1c37964..6909cf5b8f4a9 100644 --- a/x-pack/plugins/cases/public/components/connectors/resilient/use_get_severity.tsx +++ b/x-pack/plugins/cases/public/components/connectors/resilient/use_get_severity.tsx @@ -10,7 +10,7 @@ import type { HttpSetup } from '@kbn/core/public'; import type { ActionTypeExecutorResult } from '@kbn/actions-plugin/common'; import { useCasesToast } from '../../../common/use_cases_toast'; import type { ServerError } from '../../../types'; -import type { ActionConnector } from '../../../../common/api'; +import type { ActionConnector } from '../../../../common/types/domain'; import { connectorsQueriesKeys } from '../constants'; import { getSeverity } from './api'; import * as i18n from './translations'; diff --git a/x-pack/plugins/cases/public/components/connectors/servicenow/index.ts b/x-pack/plugins/cases/public/components/connectors/servicenow/index.ts index 86f20819c90c8..285a06be1eba5 100644 --- a/x-pack/plugins/cases/public/components/connectors/servicenow/index.ts +++ b/x-pack/plugins/cases/public/components/connectors/servicenow/index.ts @@ -8,8 +8,11 @@ import { lazy } from 'react'; import type { CaseConnector } from '../types'; -import type { ServiceNowITSMFieldsType, ServiceNowSIRFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { + ServiceNowITSMFieldsType, + ServiceNowSIRFieldsType, +} from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import * as i18n from './translations'; export const getServiceNowITSMCaseConnector = (): CaseConnector => ({ diff --git a/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_itsm_case_fields.tsx b/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_itsm_case_fields.tsx index 3eb97e46bec6c..7d6981fda05e4 100644 --- a/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_itsm_case_fields.tsx +++ b/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_itsm_case_fields.tsx @@ -13,10 +13,10 @@ import { useFormData, } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { SelectField } from '@kbn/es-ui-shared-plugin/static/forms/components'; +import type { ServiceNowITSMFieldsType } from '../../../../common/types/domain'; import * as i18n from './translations'; import type { ConnectorFieldsProps } from '../types'; -import type { ServiceNowITSMFieldsType } from '../../../../common/api'; import { useKibana } from '../../../common/lib/kibana'; import { useGetChoices } from './use_get_choices'; import type { Fields } from './types'; diff --git a/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_itsm_case_fields_preview.tsx b/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_itsm_case_fields_preview.tsx index 8979fa442b051..c88960b15f94f 100644 --- a/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_itsm_case_fields_preview.tsx +++ b/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_itsm_case_fields_preview.tsx @@ -10,8 +10,8 @@ import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import * as i18n from './translations'; import type { ConnectorFieldsPreviewProps } from '../types'; -import type { ServiceNowITSMFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { ServiceNowITSMFieldsType } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import { useKibana } from '../../../common/lib/kibana'; import { ConnectorCard } from '../card'; import { useGetChoices } from './use_get_choices'; diff --git a/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_sir_case_fields.tsx b/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_sir_case_fields.tsx index 4216030988a8d..e07fcc204c9da 100644 --- a/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_sir_case_fields.tsx +++ b/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_sir_case_fields.tsx @@ -14,7 +14,7 @@ import { useFormData, } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { CheckBoxField, SelectField } from '@kbn/es-ui-shared-plugin/static/forms/components'; -import type { ServiceNowSIRFieldsType } from '../../../../common/api'; +import type { ServiceNowSIRFieldsType } from '../../../../common/types/domain'; import { useKibana } from '../../../common/lib/kibana'; import type { ConnectorFieldsProps } from '../types'; import { useGetChoices } from './use_get_choices'; diff --git a/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_sir_case_fields_preview.tsx b/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_sir_case_fields_preview.tsx index d2ff78205fb8b..e89bff6251718 100644 --- a/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_sir_case_fields_preview.tsx +++ b/x-pack/plugins/cases/public/components/connectors/servicenow/servicenow_sir_case_fields_preview.tsx @@ -8,8 +8,8 @@ import React, { useMemo } from 'react'; import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; -import type { ServiceNowSIRFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { ServiceNowSIRFieldsType } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import { useKibana } from '../../../common/lib/kibana'; import type { ConnectorFieldsPreviewProps } from '../types'; import { ConnectorCard } from '../card'; diff --git a/x-pack/plugins/cases/public/components/connectors/servicenow/use_get_choices.test.tsx b/x-pack/plugins/cases/public/components/connectors/servicenow/use_get_choices.test.tsx index 06141f14dbeb8..0368783f602c5 100644 --- a/x-pack/plugins/cases/public/components/connectors/servicenow/use_get_choices.test.tsx +++ b/x-pack/plugins/cases/public/components/connectors/servicenow/use_get_choices.test.tsx @@ -8,7 +8,7 @@ import { renderHook } from '@testing-library/react-hooks'; import { useKibana, useToasts } from '../../../common/lib/kibana'; -import type { ActionConnector } from '../../../../common/api'; +import type { ActionConnector } from '../../../../common/types/domain'; import { useGetChoices } from './use_get_choices'; import type { AppMockRenderer } from '../../../common/mock'; import { createAppMockRenderer } from '../../../common/mock'; diff --git a/x-pack/plugins/cases/public/components/connectors/servicenow/use_get_choices.tsx b/x-pack/plugins/cases/public/components/connectors/servicenow/use_get_choices.tsx index 4e43cd0475187..55927aec80270 100644 --- a/x-pack/plugins/cases/public/components/connectors/servicenow/use_get_choices.tsx +++ b/x-pack/plugins/cases/public/components/connectors/servicenow/use_get_choices.tsx @@ -10,7 +10,7 @@ import type { HttpSetup } from '@kbn/core/public'; import type { ActionTypeExecutorResult } from '@kbn/actions-plugin/common'; import { useCasesToast } from '../../../common/use_cases_toast'; import type { ServerError } from '../../../types'; -import type { ActionConnector } from '../../../../common/api'; +import type { ActionConnector } from '../../../../common/types/domain'; import { connectorsQueriesKeys } from '../constants'; import { getChoices } from './api'; import type { Choice } from './types'; diff --git a/x-pack/plugins/cases/public/components/connectors/swimlane/case_fields.test.tsx b/x-pack/plugins/cases/public/components/connectors/swimlane/case_fields.test.tsx index 07864bef78c8d..e7a02e5d11998 100644 --- a/x-pack/plugins/cases/public/components/connectors/swimlane/case_fields.test.tsx +++ b/x-pack/plugins/cases/public/components/connectors/swimlane/case_fields.test.tsx @@ -8,11 +8,11 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; -import { SwimlaneConnectorType } from '../../../../common/api'; import Fields from './case_fields'; import * as i18n from './translations'; import { swimlaneConnector as connector } from '../mock'; import { MockFormWrapperComponent } from '../test_utils'; +import { SwimlaneConnectorType } from '../../../../common/types/domain'; const fields = { caseId: '123', diff --git a/x-pack/plugins/cases/public/components/connectors/swimlane/case_fields_preview.tsx b/x-pack/plugins/cases/public/components/connectors/swimlane/case_fields_preview.tsx index b33d85daa779c..29ae2d2d8e7fb 100644 --- a/x-pack/plugins/cases/public/components/connectors/swimlane/case_fields_preview.tsx +++ b/x-pack/plugins/cases/public/components/connectors/swimlane/case_fields_preview.tsx @@ -9,8 +9,8 @@ import React, { useMemo } from 'react'; import { EuiCallOut } from '@elastic/eui'; import * as i18n from './translations'; -import type { SwimlaneFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { SwimlaneFieldsType } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import type { ConnectorFieldsPreviewProps } from '../types'; import { ConnectorCard } from '../card'; import { connectorValidator } from './validator'; diff --git a/x-pack/plugins/cases/public/components/connectors/swimlane/index.ts b/x-pack/plugins/cases/public/components/connectors/swimlane/index.ts index 7092fa731ef8f..4949ebd96b584 100644 --- a/x-pack/plugins/cases/public/components/connectors/swimlane/index.ts +++ b/x-pack/plugins/cases/public/components/connectors/swimlane/index.ts @@ -8,8 +8,8 @@ import { lazy } from 'react'; import type { CaseConnector } from '../types'; -import type { SwimlaneFieldsType } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import type { SwimlaneFieldsType } from '../../../../common/types/domain'; +import { ConnectorTypes } from '../../../../common/types/domain'; import * as i18n from './translations'; export const getCaseConnector = (): CaseConnector => { diff --git a/x-pack/plugins/cases/public/components/connectors/swimlane/validator.test.ts b/x-pack/plugins/cases/public/components/connectors/swimlane/validator.test.ts index a179091282991..5c9ab7b75ef3d 100644 --- a/x-pack/plugins/cases/public/components/connectors/swimlane/validator.test.ts +++ b/x-pack/plugins/cases/public/components/connectors/swimlane/validator.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { SwimlaneConnectorType } from '../../../../common/api'; +import { SwimlaneConnectorType } from '../../../../common/types/domain'; import { swimlaneConnector as connector } from '../mock'; import { isAnyRequiredFieldNotSet, connectorValidator } from './validator'; diff --git a/x-pack/plugins/cases/public/components/connectors/swimlane/validator.ts b/x-pack/plugins/cases/public/components/connectors/swimlane/validator.ts index eddac63223de8..b284627326ed2 100644 --- a/x-pack/plugins/cases/public/components/connectors/swimlane/validator.ts +++ b/x-pack/plugins/cases/public/components/connectors/swimlane/validator.ts @@ -6,7 +6,7 @@ */ import type { ValidationConfig } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; -import { SwimlaneConnectorType } from '../../../../common/api'; +import { SwimlaneConnectorType } from '../../../../common/types/domain'; import type { CaseActionConnector } from '../../types'; const casesRequiredFields = [ diff --git a/x-pack/plugins/cases/public/components/connectors/types.ts b/x-pack/plugins/cases/public/components/connectors/types.ts index 1bab580b2c505..a4870fd0748f0 100644 --- a/x-pack/plugins/cases/public/components/connectors/types.ts +++ b/x-pack/plugins/cases/public/components/connectors/types.ts @@ -8,21 +8,10 @@ import type { IconType } from '@elastic/eui'; import type React from 'react'; -import type { - ActionType as ThirdPartySupportedActions, - CaseField, - ConnectorTypeFields, -} from '../../../common/api'; +import type { ConnectorTypeFields } from '../../../common/types/domain'; import type { CaseActionConnector } from '../types'; -export type { ThirdPartyField as AllThirdPartyFields } from '../../../common/api'; - -export interface ThirdPartyField { - label: string; - validSourceFields: CaseField[]; - defaultSourceField: CaseField; - defaultActionType: ThirdPartySupportedActions; -} +export type { ConnectorMappingTarget } from '../../../common/types/domain'; export interface ConnectorConfiguration { name: string; diff --git a/x-pack/plugins/cases/public/components/create/connector.tsx b/x-pack/plugins/cases/public/components/create/connector.tsx index 96f5198ddb401..58bf659b68cf5 100644 --- a/x-pack/plugins/cases/public/components/create/connector.tsx +++ b/x-pack/plugins/cases/public/components/create/connector.tsx @@ -10,7 +10,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiText } from '@elastic/eui'; import type { FieldConfig } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { UseField, useFormData } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; -import type { ActionConnector } from '../../../common/api'; +import type { ActionConnector } from '../../../common/types/domain'; import { ConnectorSelector } from '../connector_selector/form'; import { ConnectorFieldsForm } from '../connectors/fields_form'; import { schema } from './schema'; diff --git a/x-pack/plugins/cases/public/components/create/form.test.tsx b/x-pack/plugins/cases/public/components/create/form.test.tsx index 3c53a384275c5..627b5ccd2e7b4 100644 --- a/x-pack/plugins/cases/public/components/create/form.test.tsx +++ b/x-pack/plugins/cases/public/components/create/form.test.tsx @@ -11,7 +11,7 @@ import { act, render, within, fireEvent } from '@testing-library/react'; import { waitFor } from '@testing-library/dom'; import { licensingMock } from '@kbn/licensing-plugin/public/mocks'; -import { NONE_CONNECTOR_ID } from '../../../common/api'; +import { NONE_CONNECTOR_ID } from '../../../common/constants'; import type { FormHook } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { useForm, Form } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { connectorsMock } from '../../containers/mock'; diff --git a/x-pack/plugins/cases/public/components/create/form.tsx b/x-pack/plugins/cases/public/components/create/form.tsx index 71df6b97a8bdd..ff305196e2975 100644 --- a/x-pack/plugins/cases/public/components/create/form.tsx +++ b/x-pack/plugins/cases/public/components/create/form.tsx @@ -17,13 +17,14 @@ import styled, { css } from 'styled-components'; import { useFormContext } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; +import type { ActionConnector } from '../../../common/types/domain'; import { Title } from './title'; import { Description, fieldName as descriptionFieldName } from './description'; import { Tags } from './tags'; import { Connector } from './connector'; import * as i18n from './translations'; import { SyncAlertsToggle } from './sync_alerts_toggle'; -import type { ActionConnector, CasePostRequest } from '../../../common/api'; +import type { CasePostRequest } from '../../../common/api'; import type { CaseUI } from '../../containers/types'; import type { CasesTimelineIntegration } from '../timeline_context'; import { CasesTimelineIntegrationProvider } from '../timeline_context'; diff --git a/x-pack/plugins/cases/public/components/create/form_context.test.tsx b/x-pack/plugins/cases/public/components/create/form_context.test.tsx index 17bacdf683c4e..048d41241e29e 100644 --- a/x-pack/plugins/cases/public/components/create/form_context.test.tsx +++ b/x-pack/plugins/cases/public/components/create/form_context.test.tsx @@ -10,7 +10,7 @@ import type { Screen } from '@testing-library/react'; import { waitFor, within, screen, act } from '@testing-library/react'; import { waitForEuiPopoverOpen } from '@elastic/eui/lib/test/rtl'; -import { CaseSeverity, CommentType, ConnectorTypes } from '../../../common/api'; +import { CaseSeverity, CommentType } from '../../../common/api'; import { useKibana } from '../../common/lib/kibana'; import type { AppMockRenderer } from '../../common/mock'; import { createAppMockRenderer } from '../../common/mock'; @@ -48,6 +48,7 @@ import { userProfiles } from '../../containers/user_profiles/api.mock'; import { useLicense } from '../../common/use_license'; import { useGetCategories } from '../../containers/use_get_categories'; import { categories } from '../../containers/mock'; +import { ConnectorTypes } from '../../../common/types/domain'; jest.mock('../../containers/use_post_case'); jest.mock('../../containers/use_create_attachments'); diff --git a/x-pack/plugins/cases/public/components/create/form_context.tsx b/x-pack/plugins/cases/public/components/create/form_context.tsx index b77d3be7b581e..e86e6a8bca0ad 100644 --- a/x-pack/plugins/cases/public/components/create/form_context.tsx +++ b/x-pack/plugins/cases/public/components/create/form_context.tsx @@ -7,6 +7,7 @@ import React, { useCallback, useMemo } from 'react'; import { Form, useForm } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; +import { NONE_CONNECTOR_ID } from '../../../common/constants'; import type { FormProps } from './schema'; import { schema } from './schema'; import { getNoneConnector, normalizeActionConnector } from '../configure_cases/utils'; @@ -15,7 +16,7 @@ import { usePostPushToService } from '../../containers/use_post_push_to_service' import type { CaseUI } from '../../containers/types'; import type { CasePostRequest } from '../../../common/api'; -import { CaseSeverity, NONE_CONNECTOR_ID } from '../../../common/api'; +import { CaseSeverity } from '../../../common/api'; import type { UseCreateAttachments } from '../../containers/use_create_attachments'; import { useCreateAttachments } from '../../containers/use_create_attachments'; import { useCasesContext } from '../cases_context/use_cases_context'; diff --git a/x-pack/plugins/cases/public/components/create/mock.ts b/x-pack/plugins/cases/public/components/create/mock.ts index ea3c6e83f4e6d..784eebd277e86 100644 --- a/x-pack/plugins/cases/public/components/create/mock.ts +++ b/x-pack/plugins/cases/public/components/create/mock.ts @@ -5,8 +5,9 @@ * 2.0. */ +import { ConnectorTypes } from '../../../common/types/domain'; import type { CasePostRequest } from '../../../common/api'; -import { CaseSeverity, ConnectorTypes } from '../../../common/api'; +import { CaseSeverity } from '../../../common/api'; import { SECURITY_SOLUTION_OWNER } from '../../../common/constants'; import { choices } from '../connectors/mock'; diff --git a/x-pack/plugins/cases/public/components/create/schema.tsx b/x-pack/plugins/cases/public/components/create/schema.tsx index 2b4cd14aabc65..86dfa8bc06b90 100644 --- a/x-pack/plugins/cases/public/components/create/schema.tsx +++ b/x-pack/plugins/cases/public/components/create/schema.tsx @@ -8,7 +8,8 @@ import type { FormSchema } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { FIELD_TYPES, VALIDATION_TYPES } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { fieldValidators } from '@kbn/es-ui-shared-plugin/static/forms/helpers'; -import type { CasePostRequest, ConnectorTypeFields } from '../../../common/api'; +import type { ConnectorTypeFields } from '../../../common/types/domain'; +import type { CasePostRequest } from '../../../common/api'; import { MAX_TITLE_LENGTH, MAX_DESCRIPTION_LENGTH, diff --git a/x-pack/plugins/cases/public/components/edit_connector/connectors_form.tsx b/x-pack/plugins/cases/public/components/edit_connector/connectors_form.tsx index e28d2908689e6..2cbe8c185061b 100644 --- a/x-pack/plugins/cases/public/components/edit_connector/connectors_form.tsx +++ b/x-pack/plugins/cases/public/components/edit_connector/connectors_form.tsx @@ -14,9 +14,8 @@ import { } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import React, { useCallback, useMemo } from 'react'; import { EuiButton, EuiButtonEmpty, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; +import { NONE_CONNECTOR_ID } from '../../../common/constants'; import type { CaseConnectors, CaseUI } from '../../../common/ui/types'; -import type { CaseConnector, ConnectorTypeFields } from '../../../common/api'; -import { NONE_CONNECTOR_ID } from '../../../common/api'; import { ConnectorFieldsForm } from '../connectors/fields_form'; import type { CaseActionConnector } from '../types'; import { @@ -29,6 +28,7 @@ import { import { ConnectorSelector } from '../connector_selector/form'; import { getNoneConnector, normalizeActionConnector } from '../configure_cases/utils'; import * as i18n from './translations'; +import type { ConnectorTypeFields, CaseConnector } from '../../../common/types/domain'; interface Props { caseData: CaseUI; diff --git a/x-pack/plugins/cases/public/components/edit_connector/index.tsx b/x-pack/plugins/cases/public/components/edit_connector/index.tsx index 875e2ce6ffe23..ee819af75b400 100644 --- a/x-pack/plugins/cases/public/components/edit_connector/index.tsx +++ b/x-pack/plugins/cases/public/components/edit_connector/index.tsx @@ -12,7 +12,7 @@ import { EuiText, EuiHorizontalRule, EuiFlexGroup, EuiFlexItem, EuiButtonIcon } import { isEmpty } from 'lodash/fp'; import type { CaseUI, CaseConnectors } from '../../../common/ui/types'; -import type { ActionConnector, CaseConnector } from '../../../common/api'; +import type { ActionConnector, CaseConnector } from '../../../common/types/domain'; import * as i18n from './translations'; import { getConnectorById } from '../utils'; import { usePushToService } from '../use_push_to_service'; diff --git a/x-pack/plugins/cases/public/components/use_push_to_service/index.test.tsx b/x-pack/plugins/cases/public/components/use_push_to_service/index.test.tsx index 17a535be3d987..3d430cceaacc6 100644 --- a/x-pack/plugins/cases/public/components/use_push_to_service/index.test.tsx +++ b/x-pack/plugins/cases/public/components/use_push_to_service/index.test.tsx @@ -12,8 +12,9 @@ import '../../common/mock/match_media'; import type { ReturnUsePushToService, UsePushToService } from '.'; import { usePushToService } from '.'; import { noPushCasesPermissions, readCasesPermissions, TestProviders } from '../../common/mock'; -import type { CaseConnector } from '../../../common/api'; -import { CaseStatuses, ConnectorTypes } from '../../../common/api'; +import type { CaseConnector } from '../../../common/types/domain'; +import { ConnectorTypes } from '../../../common/types/domain'; +import { CaseStatuses } from '../../../common/api'; import { usePostPushToService } from '../../containers/use_post_push_to_service'; import { actionLicenses } from '../../containers/mock'; import { CLOSED_CASE_PUSH_ERROR_ID } from './callout/types'; diff --git a/x-pack/plugins/cases/public/components/use_push_to_service/index.tsx b/x-pack/plugins/cases/public/components/use_push_to_service/index.tsx index 3b751b46220f5..db28ae31ecdbe 100644 --- a/x-pack/plugins/cases/public/components/use_push_to_service/index.tsx +++ b/x-pack/plugins/cases/public/components/use_push_to_service/index.tsx @@ -15,7 +15,7 @@ import { getDeletedConnectorError, getCaseClosedInfo, } from './helpers'; -import type { CaseConnector } from '../../../common/api'; +import type { CaseConnector } from '../../../common/types/domain'; import { CaseStatuses } from '../../../common/api'; import type { ErrorMessage } from './callout/types'; import { useRefreshCaseViewPage } from '../case_view/use_on_refresh_case_view_page'; diff --git a/x-pack/plugins/cases/public/components/user_actions/connector.test.tsx b/x-pack/plugins/cases/public/components/user_actions/connector.test.tsx index 5134d6addc64b..db2994013f690 100644 --- a/x-pack/plugins/cases/public/components/user_actions/connector.test.tsx +++ b/x-pack/plugins/cases/public/components/user_actions/connector.test.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { EuiCommentList } from '@elastic/eui'; import { render, screen } from '@testing-library/react'; -import { NONE_CONNECTOR_ID } from '../../../common/api'; +import { NONE_CONNECTOR_ID } from '../../../common/constants'; import { getUserAction, getJiraConnector } from '../../containers/mock'; import { TestProviders } from '../../common/mock'; import { createConnectorUserActionBuilder } from './connector'; diff --git a/x-pack/plugins/cases/public/components/user_actions/connector.tsx b/x-pack/plugins/cases/public/components/user_actions/connector.tsx index d3f727a7a16c5..7fb550d58a781 100644 --- a/x-pack/plugins/cases/public/components/user_actions/connector.tsx +++ b/x-pack/plugins/cases/public/components/user_actions/connector.tsx @@ -7,7 +7,7 @@ import type { SnakeToCamelCase } from '../../../common/types'; import type { ConnectorUserAction } from '../../../common/types/domain'; -import { NONE_CONNECTOR_ID } from '../../../common/api'; +import { NONE_CONNECTOR_ID } from '../../../common/constants'; import type { UserActionBuilder } from './types'; import { createCommonUpdateUserActionBuilder } from './common'; import * as i18n from './translations'; diff --git a/x-pack/plugins/cases/public/components/user_actions/pushed.test.tsx b/x-pack/plugins/cases/public/components/user_actions/pushed.test.tsx index 5b014f095477a..c6e72e91b3fc8 100644 --- a/x-pack/plugins/cases/public/components/user_actions/pushed.test.tsx +++ b/x-pack/plugins/cases/public/components/user_actions/pushed.test.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { EuiCommentList } from '@elastic/eui'; import { render, screen } from '@testing-library/react'; -import { NONE_CONNECTOR_ID } from '../../../common/api'; +import { NONE_CONNECTOR_ID } from '../../../common/constants'; import { getUserAction } from '../../containers/mock'; import { TestProviders } from '../../common/mock'; import { createPushedUserActionBuilder } from './pushed'; diff --git a/x-pack/plugins/cases/public/components/utils.ts b/x-pack/plugins/cases/public/components/utils.ts index ff1775b54a603..bf964f065a436 100644 --- a/x-pack/plugins/cases/public/components/utils.ts +++ b/x-pack/plugins/cases/public/components/utils.ts @@ -10,8 +10,8 @@ import type { FieldConfig, ValidationConfig, } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; -import type { ConnectorTypeFields } from '../../common/api'; -import { ConnectorTypes } from '../../common/api'; +import type { ConnectorTypeFields } from '../../common/types/domain'; +import { ConnectorTypes } from '../../common/types/domain'; import type { CasesPluginStart } from '../types'; import { connectorValidator as swimlaneConnectorValidator } from './connectors/swimlane/validator'; import type { CaseActionConnector } from './types'; diff --git a/x-pack/plugins/cases/public/containers/api.test.tsx b/x-pack/plugins/cases/public/containers/api.test.tsx index 7e085eb0b6293..b93b403e79a3a 100644 --- a/x-pack/plugins/cases/public/containers/api.test.tsx +++ b/x-pack/plugins/cases/public/containers/api.test.tsx @@ -9,7 +9,7 @@ import { httpServiceMock } from '@kbn/core/public/mocks'; import { BASE_RAC_ALERTS_API_PATH } from '@kbn/rule-registry-plugin/common'; import { KibanaServices } from '../common/lib/kibana'; -import { ConnectorTypes, CommentType, CaseStatuses, CaseSeverity } from '../../common/api'; +import { CommentType, CaseStatuses, CaseSeverity } from '../../common/api'; import { CASES_INTERNAL_URL, CASES_URL, @@ -73,6 +73,7 @@ import { getCaseConnectorsMockResponse } from '../common/mock/connectors'; import { set } from '@kbn/safer-lodash-set'; import { cloneDeep, omit } from 'lodash'; import type { CaseUserActionTypeWithAll } from './types'; +import { ConnectorTypes } from '../../common/types/domain'; const abortCtrl = new AbortController(); const mockKibanaServices = KibanaServices.get as jest.Mock; diff --git a/x-pack/plugins/cases/public/containers/api.ts b/x-pack/plugins/cases/public/containers/api.ts index e129c77dc9ae1..2a4a92f0eaa8a 100644 --- a/x-pack/plugins/cases/public/containers/api.ts +++ b/x-pack/plugins/cases/public/containers/api.ts @@ -7,7 +7,11 @@ import type { ValidFeatureId } from '@kbn/rule-data-utils'; import { BASE_RAC_ALERTS_API_PATH } from '@kbn/rule-registry-plugin/common/constants'; -import type { CaseUserActionStatsResponse, UserActionFindResponse } from '../../common/types/api'; +import type { + CaseUserActionStatsResponse, + GetCaseConnectorsResponse, + UserActionFindResponse, +} from '../../common/types/api'; import type { CaseConnectors, CaseUpdateRequest, @@ -30,7 +34,6 @@ import type { User, SingleCaseMetricsResponse, CasesFindResponse, - GetCaseConnectorsResponse, Case, Cases, } from '../../common/api'; diff --git a/x-pack/plugins/cases/public/containers/configure/__mocks__/api.ts b/x-pack/plugins/cases/public/containers/configure/__mocks__/api.ts index 3737b26cf11c1..bac2713c75135 100644 --- a/x-pack/plugins/cases/public/containers/configure/__mocks__/api.ts +++ b/x-pack/plugins/cases/public/containers/configure/__mocks__/api.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { ActionConnector, ActionTypeConnector } from '../../../../common/api'; +import type { ActionConnector, ActionTypeConnector } from '../../../../common/types/domain'; import type { ApiProps } from '../../types'; import type { CaseConfigure } from '../types'; diff --git a/x-pack/plugins/cases/public/containers/configure/api.test.ts b/x-pack/plugins/cases/public/containers/configure/api.test.ts index 9099f908a7871..844a23ab17f2b 100644 --- a/x-pack/plugins/cases/public/containers/configure/api.test.ts +++ b/x-pack/plugins/cases/public/containers/configure/api.test.ts @@ -17,7 +17,7 @@ import { caseConfigurationResposeMock, caseConfigurationCamelCaseResponseMock, } from './mock'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import { SECURITY_SOLUTION_OWNER } from '../../../common/constants'; import { KibanaServices } from '../../common/lib/kibana'; import { actionTypesMock, connectorsMock } from '../../common/mock/connectors'; diff --git a/x-pack/plugins/cases/public/containers/configure/api.ts b/x-pack/plugins/cases/public/containers/configure/api.ts index 7ca6481a417cf..f1d86cb090234 100644 --- a/x-pack/plugins/cases/public/containers/configure/api.ts +++ b/x-pack/plugins/cases/public/containers/configure/api.ts @@ -8,9 +8,13 @@ import { isEmpty } from 'lodash/fp'; import { CasesConnectorFeatureId } from '@kbn/actions-plugin/common'; import type { ConfigurationPatchRequest, ConfigurationRequest } from '../../../common/types/api'; -import type { Configuration, Configurations } from '../../../common/types/domain'; +import type { + ActionConnector, + ActionTypeConnector, + Configuration, + Configurations, +} from '../../../common/types/domain'; import { getAllConnectorTypesUrl } from '../../../common/utils/connectors_api'; -import type { ActionConnector, ActionTypeConnector } from '../../../common/api'; import { getCaseConfigurationDetailsUrl } from '../../../common/api'; import { CASE_CONFIGURE_CONNECTORS_URL, CASE_CONFIGURE_URL } from '../../../common/constants'; import { KibanaServices } from '../../common/lib/kibana'; diff --git a/x-pack/plugins/cases/public/containers/configure/mock.ts b/x-pack/plugins/cases/public/containers/configure/mock.ts index 51bdb2117f4de..b01b6196a78b3 100644 --- a/x-pack/plugins/cases/public/containers/configure/mock.ts +++ b/x-pack/plugins/cases/public/containers/configure/mock.ts @@ -7,7 +7,7 @@ import type { ConfigurationRequest } from '../../../common/types/api'; import type { Configuration } from '../../../common/types/domain'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import { SECURITY_SOLUTION_OWNER } from '../../../common/constants'; import type { CaseConfigure, CaseConnectorMapping } from './types'; diff --git a/x-pack/plugins/cases/public/containers/configure/types.ts b/x-pack/plugins/cases/public/containers/configure/types.ts index ca0a6d14bea91..4c9b7368d5bd0 100644 --- a/x-pack/plugins/cases/public/containers/configure/types.ts +++ b/x-pack/plugins/cases/public/containers/configure/types.ts @@ -5,30 +5,31 @@ * 2.0. */ -import type { ClosureType, ConfigurationAttributes } from '../../../common/types/domain'; -import type { CaseUser } from '../types'; import type { + ClosureType, + ConfigurationAttributes, ActionConnector, ActionTypeConnector, - ActionType, CaseConnector, - CaseField, - ThirdPartyField, -} from '../../../common/api'; + ConnectorMappingTarget, + ConnectorMappingSource, + ConnectorMappingActionType, +} from '../../../common/types/domain'; +import type { CaseUser } from '../types'; export type { ActionConnector, ActionTypeConnector, - ActionType, CaseConnector, - CaseField, + ConnectorMappingActionType, + ConnectorMappingSource, + ConnectorMappingTarget, ClosureType, - ThirdPartyField, }; export interface CaseConnectorMapping { - actionType: ActionType; - source: CaseField; + actionType: ConnectorMappingActionType; + source: ConnectorMappingSource; target: string; } diff --git a/x-pack/plugins/cases/public/containers/configure/use_configure.test.tsx b/x-pack/plugins/cases/public/containers/configure/use_configure.test.tsx index ddea0187f7948..8919c829585cf 100644 --- a/x-pack/plugins/cases/public/containers/configure/use_configure.test.tsx +++ b/x-pack/plugins/cases/public/containers/configure/use_configure.test.tsx @@ -11,7 +11,7 @@ import type { ReturnUseCaseConfigure, ConnectorConfiguration } from './use_confi import { initialState, useCaseConfigure } from './use_configure'; import { mappings, caseConfigurationCamelCaseResponseMock } from './mock'; import * as api from './api'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import { TestProviders } from '../../common/mock'; const mockErrorToast = jest.fn(); diff --git a/x-pack/plugins/cases/public/containers/configure/use_configure.tsx b/x-pack/plugins/cases/public/containers/configure/use_configure.tsx index 53c63eccc6ae5..12168b1b9c5c5 100644 --- a/x-pack/plugins/cases/public/containers/configure/use_configure.tsx +++ b/x-pack/plugins/cases/public/containers/configure/use_configure.tsx @@ -6,11 +6,11 @@ */ import { useEffect, useCallback, useReducer, useRef } from 'react'; +import { ConnectorTypes } from '../../../common/types/domain'; import { getCaseConfigure, patchCaseConfigure, postCaseConfigure } from './api'; import * as i18n from './translations'; import type { ClosureType, CaseConfigure, CaseConnector, CaseConnectorMapping } from './types'; -import { ConnectorTypes } from '../../../common/api'; import { useToasts } from '../../common/lib/kibana'; import { useCasesContext } from '../../components/cases_context/use_cases_context'; diff --git a/x-pack/plugins/cases/public/containers/mock.ts b/x-pack/plugins/cases/public/containers/mock.ts index c0f219e21c499..7a50d4e9cd125 100644 --- a/x-pack/plugins/cases/public/containers/mock.ts +++ b/x-pack/plugins/cases/public/containers/mock.ts @@ -12,8 +12,9 @@ import type { UserAction, UserActions, UserActionType, + CaseConnector, } from '../../common/types/domain'; -import { UserActionActions, UserActionTypes } from '../../common/types/domain'; +import { UserActionActions, UserActionTypes, ConnectorTypes } from '../../common/types/domain'; import type { ActionLicense, CaseUI, CasesStatus, UserActionUI, CommentUI } from './types'; import type { @@ -31,7 +32,6 @@ import type { CasesUI, } from '../../common/ui/types'; import type { - CaseConnector, Case, CasesFindResponse, Cases, @@ -41,7 +41,6 @@ import type { import { CaseStatuses, CommentType, - ConnectorTypes, CaseSeverity, ExternalReferenceStorageType, } from '../../common/api'; diff --git a/x-pack/plugins/cases/public/containers/use_get_action_license.tsx b/x-pack/plugins/cases/public/containers/use_get_action_license.tsx index 0e76aeac93ae0..e61f03e1a1493 100644 --- a/x-pack/plugins/cases/public/containers/use_get_action_license.tsx +++ b/x-pack/plugins/cases/public/containers/use_get_action_license.tsx @@ -9,7 +9,7 @@ import { useQuery } from '@tanstack/react-query'; import { useToasts } from '../common/lib/kibana'; import { getActionLicense } from './api'; import * as i18n from './translations'; -import { ConnectorTypes } from '../../common/api'; +import { ConnectorTypes } from '../../common/types/domain'; import { casesQueriesKeys } from './constants'; import type { ServerError } from '../types'; diff --git a/x-pack/plugins/cases/public/containers/use_post_case.test.tsx b/x-pack/plugins/cases/public/containers/use_post_case.test.tsx index 08bf45af63beb..58a878b32e578 100644 --- a/x-pack/plugins/cases/public/containers/use_post_case.test.tsx +++ b/x-pack/plugins/cases/public/containers/use_post_case.test.tsx @@ -7,7 +7,7 @@ import { renderHook, act } from '@testing-library/react-hooks'; import * as api from './api'; -import { ConnectorTypes } from '../../common/api'; +import { ConnectorTypes } from '../../common/types/domain'; import { SECURITY_SOLUTION_OWNER } from '../../common/constants'; import { useToasts } from '../common/lib/kibana'; import type { AppMockRenderer } from '../common/mock'; diff --git a/x-pack/plugins/cases/public/containers/use_post_push_to_service.test.tsx b/x-pack/plugins/cases/public/containers/use_post_push_to_service.test.tsx index 6b7c1b6ac6064..1d802b3737c96 100644 --- a/x-pack/plugins/cases/public/containers/use_post_push_to_service.test.tsx +++ b/x-pack/plugins/cases/public/containers/use_post_push_to_service.test.tsx @@ -10,8 +10,8 @@ import { useToasts } from '../common/lib/kibana'; import { usePostPushToService } from './use_post_push_to_service'; import { pushedCase } from './mock'; import * as api from './api'; -import type { CaseConnector } from '../../common/api'; -import { ConnectorTypes } from '../../common/api'; +import type { CaseConnector } from '../../common/types/domain'; +import { ConnectorTypes } from '../../common/types/domain'; import { createAppMockRenderer } from '../common/mock'; import type { AppMockRenderer } from '../common/mock'; import { casesQueriesKeys } from './constants'; diff --git a/x-pack/plugins/cases/public/containers/use_post_push_to_service.tsx b/x-pack/plugins/cases/public/containers/use_post_push_to_service.tsx index fd65324aa79dd..3441bb4926daa 100644 --- a/x-pack/plugins/cases/public/containers/use_post_push_to_service.tsx +++ b/x-pack/plugins/cases/public/containers/use_post_push_to_service.tsx @@ -6,8 +6,8 @@ */ import { useMutation } from '@tanstack/react-query'; -import type { CaseConnector } from '../../common/api'; +import type { CaseConnector } from '../../common/types/domain'; import { pushCase } from './api'; import * as i18n from './translations'; import { useCasesToast } from '../common/use_cases_toast'; diff --git a/x-pack/plugins/cases/server/client/cases/create.test.ts b/x-pack/plugins/cases/server/client/cases/create.test.ts index 7c57f85336ea9..650d98d5a8fcf 100644 --- a/x-pack/plugins/cases/server/client/cases/create.test.ts +++ b/x-pack/plugins/cases/server/client/cases/create.test.ts @@ -12,7 +12,8 @@ import { MAX_TITLE_LENGTH, } from '../../../common/constants'; import { SECURITY_SOLUTION_OWNER } from '../../../common'; -import { CaseSeverity, ConnectorTypes } from '../../../common/api'; +import { CaseSeverity } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import { mockCases } from '../../mocks'; import { createCasesClientMockArgs } from '../mocks'; import { create } from './create'; diff --git a/x-pack/plugins/cases/server/client/cases/mock.ts b/x-pack/plugins/cases/server/client/cases/mock.ts index 2fa2b0bcbe0c1..bee726524061a 100644 --- a/x-pack/plugins/cases/server/client/cases/mock.ts +++ b/x-pack/plugins/cases/server/client/cases/mock.ts @@ -6,9 +6,9 @@ */ import type { CaseUserActionsDeprecatedResponse } from '../../../common/types/api'; -import { UserActionActions } from '../../../common/types/domain'; +import { ConnectorTypes, UserActionActions } from '../../../common/types/domain'; import type { Comment, CommentResponseAlertsType } from '../../../common/api'; -import { CommentType, ConnectorTypes, ExternalReferenceStorageType } from '../../../common/api'; +import { CommentType, ExternalReferenceStorageType } from '../../../common/api'; import { SECURITY_SOLUTION_OWNER } from '../../../common/constants'; export const updateUser = { diff --git a/x-pack/plugins/cases/server/client/cases/push.ts b/x-pack/plugins/cases/server/client/cases/push.ts index eef26da9553e7..c8924275d90e3 100644 --- a/x-pack/plugins/cases/server/client/cases/push.ts +++ b/x-pack/plugins/cases/server/client/cases/push.ts @@ -12,10 +12,9 @@ import type { SavedObjectsFindResponse } from '@kbn/core/server'; import type { UserProfile } from '@kbn/security-plugin/common'; import type { SecurityPluginStart } from '@kbn/security-plugin/server'; import { asSavedObjectExecutionSource } from '@kbn/actions-plugin/server'; -import type { ConfigurationAttributes } from '../../../common/types/domain'; +import type { ActionConnector, ConfigurationAttributes } from '../../../common/types/domain'; import { UserActionTypes } from '../../../common/types/domain'; import type { - ActionConnector, Case, ExternalServiceResponse, CommentRequestAlertType, diff --git a/x-pack/plugins/cases/server/client/cases/utils.ts b/x-pack/plugins/cases/server/client/cases/utils.ts index 727c257e2e733..efc715b9cff24 100644 --- a/x-pack/plugins/cases/server/client/cases/utils.ts +++ b/x-pack/plugins/cases/server/client/cases/utils.ts @@ -10,21 +10,23 @@ import type { UserProfile } from '@kbn/security-plugin/common'; import type { IBasePath } from '@kbn/core-http-browser'; import type { SecurityPluginStart } from '@kbn/security-plugin/server'; import type { UserProfileWithAvatar } from '@kbn/user-profile-components'; +import type { + ActionConnector, + ConnectorMappingSource, + ConnectorMappings, + ConnectorMappingTarget, +} from '../../../common/types/domain'; import { UserActionTypes } from '../../../common/types/domain'; import type { CaseUserActionsDeprecatedResponse } from '../../../common/types/api'; import { CASE_VIEW_PAGE_TABS } from '../../../common/types'; import { isPushedUserAction } from '../../../common/utils/user_actions'; import type { - ActionConnector, CaseFullExternalService, Case, Comment, User, CaseAttributes, CaseAssignees, - CaseField, - ThirdPartyField, - ConnectorMappings, } from '../../../common/api'; import { CommentType, CaseStatuses } from '../../../common/api'; import type { CasesClientGetAlertsResponse } from '../alerts/types'; @@ -211,13 +213,13 @@ export const createIncident = async ({ }; export const mapCaseFieldsToExternalSystemFields = ( - caseFields: Record, unknown>, + caseFields: Record, unknown>, mapping: ConnectorMappings -): Record => { - const mappedCaseFields: Record = {}; +): Record => { + const mappedCaseFields: Record = {}; for (const caseFieldKey of Object.keys(caseFields) as Array< - Exclude + Exclude >) { const mapDefinition = mapping.find( (mappingEntry) => mappingEntry.source === caseFieldKey && mappingEntry.target !== 'not_mapped' diff --git a/x-pack/plugins/cases/server/client/configure/client.ts b/x-pack/plugins/cases/server/client/configure/client.ts index bc23221497371..94a51256467e6 100644 --- a/x-pack/plugins/cases/server/client/configure/client.ts +++ b/x-pack/plugins/cases/server/client/configure/client.ts @@ -17,19 +17,21 @@ import type { Configuration, ConfigurationAttributes, Configurations, + ConnectorMappings, } from '../../../common/types/domain'; import type { ConfigurationPatchRequest, ConfigurationRequest, + ConnectorMappingResponse, GetConfigurationFindRequest, } from '../../../common/types/api'; import { ConfigurationPatchRequestRt, ConfigurationRequestRt, GetConfigurationFindRequestRt, + FindActionConnectorResponseRt, } from '../../../common/types/api'; -import type { ConnectorMappings, ConnectorMappingResponse } from '../../../common/api'; -import { FindActionConnectorResponseRt, decodeWithExcessOrThrow } from '../../../common/api'; +import { decodeWithExcessOrThrow } from '../../../common/api'; import { MAX_CONCURRENT_SEARCHES, MAX_SUPPORTED_CONNECTORS_RETURNED, diff --git a/x-pack/plugins/cases/server/client/configure/create_mappings.ts b/x-pack/plugins/cases/server/client/configure/create_mappings.ts index db8390751d3d7..82be0cfa1c361 100644 --- a/x-pack/plugins/cases/server/client/configure/create_mappings.ts +++ b/x-pack/plugins/cases/server/client/configure/create_mappings.ts @@ -6,8 +6,9 @@ */ import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; -import type { ConnectorMappingResponse } from '../../../common/api'; -import { decodeOrThrow, ConnectorMappingResponseRt } from '../../../common/api'; +import type { ConnectorMappingResponse } from '../../../common/types/api'; +import { ConnectorMappingResponseRt } from '../../../common/types/api'; +import { decodeOrThrow } from '../../../common/api'; import { createCaseError } from '../../common/error'; import type { CasesClientArgs } from '..'; import type { CreateMappingsArgs } from './types'; diff --git a/x-pack/plugins/cases/server/client/configure/get_mappings.ts b/x-pack/plugins/cases/server/client/configure/get_mappings.ts index 5ef7953d86a31..5dd4380403bf5 100644 --- a/x-pack/plugins/cases/server/client/configure/get_mappings.ts +++ b/x-pack/plugins/cases/server/client/configure/get_mappings.ts @@ -6,8 +6,9 @@ */ import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; -import type { ConnectorMappingResponse } from '../../../common/api'; -import { decodeOrThrow, ConnectorMappingResponseRt } from '../../../common/api'; +import type { ConnectorMappingResponse } from '../../../common/types/api'; +import { ConnectorMappingResponseRt } from '../../../common/types/api'; +import { decodeOrThrow } from '../../../common/api'; import { createCaseError } from '../../common/error'; import type { CasesClientArgs } from '..'; import type { MappingsArgs } from './types'; diff --git a/x-pack/plugins/cases/server/client/configure/types.ts b/x-pack/plugins/cases/server/client/configure/types.ts index 4885ae0720ead..12e31a8a6687c 100644 --- a/x-pack/plugins/cases/server/client/configure/types.ts +++ b/x-pack/plugins/cases/server/client/configure/types.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { CaseConnector } from '../../../common/api'; +import type { CaseConnector } from '../../../common/types/domain'; import type { IndexRefresh } from '../../services/types'; export interface MappingsArgs { diff --git a/x-pack/plugins/cases/server/client/configure/update_mappings.ts b/x-pack/plugins/cases/server/client/configure/update_mappings.ts index d1b300c99a908..ac9b609a9f291 100644 --- a/x-pack/plugins/cases/server/client/configure/update_mappings.ts +++ b/x-pack/plugins/cases/server/client/configure/update_mappings.ts @@ -6,8 +6,9 @@ */ import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; -import type { ConnectorMappingResponse } from '../../../common/api'; -import { ConnectorMappingResponseRt, decodeOrThrow } from '../../../common/api'; +import type { ConnectorMappingResponse } from '../../../common/types/api'; +import { ConnectorMappingResponseRt } from '../../../common/types/api'; +import { decodeOrThrow } from '../../../common/api'; import { createCaseError } from '../../common/error'; import type { CasesClientArgs } from '..'; import type { UpdateMappingsArgs } from './types'; diff --git a/x-pack/plugins/cases/server/client/user_actions/client.ts b/x-pack/plugins/cases/server/client/user_actions/client.ts index b4601da906691..0f3c26545ce9f 100644 --- a/x-pack/plugins/cases/server/client/user_actions/client.ts +++ b/x-pack/plugins/cases/server/client/user_actions/client.ts @@ -8,9 +8,10 @@ import type { CaseUserActionsDeprecatedResponse, CaseUserActionStatsResponse, + GetCaseConnectorsResponse, UserActionFindResponse, } from '../../../common/types/api'; -import type { GetCaseConnectorsResponse, GetCaseUsersResponse } from '../../../common/api'; +import type { GetCaseUsersResponse } from '../../../common/api'; import type { CasesClientArgs } from '../types'; import { get } from './get'; import { getConnectors } from './connectors'; diff --git a/x-pack/plugins/cases/server/client/user_actions/connectors.ts b/x-pack/plugins/cases/server/client/user_actions/connectors.ts index fc00095b1de7a..f1716bc4ca396 100644 --- a/x-pack/plugins/cases/server/client/user_actions/connectors.ts +++ b/x-pack/plugins/cases/server/client/user_actions/connectors.ts @@ -11,12 +11,12 @@ import type { PublicMethodsOf } from '@kbn/utility-types'; import type { ActionResult, ActionsClient } from '@kbn/actions-plugin/server'; import type { SavedObject } from '@kbn/core-saved-objects-common/src/server_types'; import type { - GetCaseConnectorsResponse, - CaseConnector, - CaseExternalServiceBasic, GetCaseConnectorsPushDetails, -} from '../../../common/api'; -import { decodeOrThrow, GetCaseConnectorsResponseRt } from '../../../common/api'; + GetCaseConnectorsResponse, +} from '../../../common/types/api'; +import { GetCaseConnectorsResponseRt } from '../../../common/types/api'; +import type { CaseExternalServiceBasic } from '../../../common/api'; +import { decodeOrThrow } from '../../../common/api'; import { isConnectorUserAction, isCreateCaseUserAction, @@ -29,7 +29,7 @@ import { Operations } from '../../authorization'; import type { GetConnectorsRequest } from './types'; import type { CaseConnectorActivity } from '../../services/user_actions/types'; import type { CaseUserActionService } from '../../services'; -import type { UserActionAttributes } from '../../../common/types/domain'; +import type { CaseConnector, UserActionAttributes } from '../../../common/types/domain'; export const getConnectors = async ( { caseId }: GetConnectorsRequest, diff --git a/x-pack/plugins/cases/server/common/types/connector_mappings.ts b/x-pack/plugins/cases/server/common/types/connector_mappings.ts index 81e413782152e..bb6590bd52ec6 100644 --- a/x-pack/plugins/cases/server/common/types/connector_mappings.ts +++ b/x-pack/plugins/cases/server/common/types/connector_mappings.ts @@ -7,8 +7,8 @@ import * as rt from 'io-ts'; import type { SavedObject } from '@kbn/core/server'; -import type { ConnectorMappingsAttributes } from '../../../common/api'; -import { ConnectorMappingsAttributesRt } from '../../../common/api'; +import type { ConnectorMappingsAttributes } from '../../../common/types/domain'; +import { ConnectorMappingsAttributesRt } from '../../../common/types/domain'; export interface ConnectorMappingsPersistedAttributes { mappings: Array<{ diff --git a/x-pack/plugins/cases/server/common/utils.test.ts b/x-pack/plugins/cases/server/common/utils.test.ts index b2c40f1f611b7..1c42d75be05d1 100644 --- a/x-pack/plugins/cases/server/common/utils.test.ts +++ b/x-pack/plugins/cases/server/common/utils.test.ts @@ -9,13 +9,12 @@ import type { SavedObject, SavedObjectsFindResponse } from '@kbn/core/server'; import { makeLensEmbeddableFactory } from '@kbn/lens-plugin/server/embeddable/make_lens_embeddable_factory'; import { OWNER_INFO, SECURITY_SOLUTION_OWNER } from '../../common/constants'; import type { - CaseConnector, Case, CommentAttributes, CommentRequest, CommentRequestUserType, } from '../../common/api'; -import { CaseSeverity, CommentType, ConnectorTypes } from '../../common/api'; +import { CaseSeverity, CommentType } from '../../common/api'; import { flattenCaseSavedObject, transformNewComment, @@ -39,6 +38,8 @@ import { newCase } from '../routes/api/__mocks__/request_responses'; import { CASE_VIEW_PAGE_TABS } from '../../common/types'; import { mockCases, mockCaseComments } from '../mocks'; import { createAlertAttachment, createUserAttachment } from '../services/attachments/test_utils'; +import type { CaseConnector } from '../../common/types/domain'; +import { ConnectorTypes } from '../../common/types/domain'; interface CommentReference { ids: string[]; diff --git a/x-pack/plugins/cases/server/common/utils.ts b/x-pack/plugins/cases/server/common/utils.ts index 7b8164133f5a3..78a4ffeb7593f 100644 --- a/x-pack/plugins/cases/server/common/utils.ts +++ b/x-pack/plugins/cases/server/common/utils.ts @@ -15,6 +15,7 @@ import type { import { flatMap, uniqWith, xorWith } from 'lodash'; import type { LensServerPluginSetup } from '@kbn/lens-plugin/server'; import { addSpaceIdToPath } from '@kbn/spaces-plugin/common'; +import { ConnectorTypes } from '../../common/types/domain'; import { isValidOwner } from '../../common/utils/owner'; import { CASE_VIEW_COMMENT_PATH, @@ -43,7 +44,6 @@ import { CaseSeverity, CaseStatuses, CommentType, - ConnectorTypes, ExternalReferenceSORt, FileAttachmentMetadataRt, } from '../../common/api'; diff --git a/x-pack/plugins/cases/server/connectors/factory.ts b/x-pack/plugins/cases/server/connectors/factory.ts index 2f2287e288c54..8cded028be264 100644 --- a/x-pack/plugins/cases/server/connectors/factory.ts +++ b/x-pack/plugins/cases/server/connectors/factory.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { ConnectorTypes } from '../../common/api'; +import { ConnectorTypes } from '../../common/types/domain'; import type { ICasesConnector, CasesConnectorsMap } from './types'; import { getCaseConnector as getJiraCaseConnector } from './jira'; import { getCaseConnector as getResilientCaseConnector } from './resilient'; diff --git a/x-pack/plugins/cases/server/connectors/jira/format.ts b/x-pack/plugins/cases/server/connectors/jira/format.ts index 47584b4ec2bba..abcc57b93d497 100644 --- a/x-pack/plugins/cases/server/connectors/jira/format.ts +++ b/x-pack/plugins/cases/server/connectors/jira/format.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { ConnectorJiraTypeFields } from '../../../common/api'; +import type { ConnectorJiraTypeFields } from '../../../common/types/domain'; import type { Format } from './types'; export const format: Format = (theCase, alerts) => { diff --git a/x-pack/plugins/cases/server/connectors/jira/types.ts b/x-pack/plugins/cases/server/connectors/jira/types.ts index 95e9cf3059f14..b7d5407ca76cd 100644 --- a/x-pack/plugins/cases/server/connectors/jira/types.ts +++ b/x-pack/plugins/cases/server/connectors/jira/types.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { JiraFieldsType } from '../../../common/api'; +import type { JiraFieldsType } from '../../../common/types/domain'; import type { ICasesConnector } from '../types'; interface ExternalServiceFormatterParams extends JiraFieldsType { diff --git a/x-pack/plugins/cases/server/connectors/resilient/format.ts b/x-pack/plugins/cases/server/connectors/resilient/format.ts index 5cbec6b89dc23..c3bbf302455c9 100644 --- a/x-pack/plugins/cases/server/connectors/resilient/format.ts +++ b/x-pack/plugins/cases/server/connectors/resilient/format.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { ConnectorResilientTypeFields } from '../../../common/api'; +import type { ConnectorResilientTypeFields } from '../../../common/types/domain'; import type { Format } from './types'; export const format: Format = (theCase, alerts) => { diff --git a/x-pack/plugins/cases/server/connectors/resilient/types.ts b/x-pack/plugins/cases/server/connectors/resilient/types.ts index d3b64f8e139e6..5300c775d40ca 100644 --- a/x-pack/plugins/cases/server/connectors/resilient/types.ts +++ b/x-pack/plugins/cases/server/connectors/resilient/types.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { ResilientFieldsType } from '../../../common/api'; +import type { ResilientFieldsType } from '../../../common/types/domain'; import type { ICasesConnector } from '../types'; export type ResilientCaseConnector = ICasesConnector; diff --git a/x-pack/plugins/cases/server/connectors/servicenow/itsm_format.ts b/x-pack/plugins/cases/server/connectors/servicenow/itsm_format.ts index cedbf81c71467..2063bd49e1eff 100644 --- a/x-pack/plugins/cases/server/connectors/servicenow/itsm_format.ts +++ b/x-pack/plugins/cases/server/connectors/servicenow/itsm_format.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { ConnectorServiceNowITSMTypeFields } from '../../../common/api'; +import type { ConnectorServiceNowITSMTypeFields } from '../../../common/types/domain'; import type { ServiceNowITSMFormat } from './types'; export const format: ServiceNowITSMFormat = (theCase, alerts) => { diff --git a/x-pack/plugins/cases/server/connectors/servicenow/sir_format.ts b/x-pack/plugins/cases/server/connectors/servicenow/sir_format.ts index 8b686be473f6e..810a9a11d0e54 100644 --- a/x-pack/plugins/cases/server/connectors/servicenow/sir_format.ts +++ b/x-pack/plugins/cases/server/connectors/servicenow/sir_format.ts @@ -5,7 +5,7 @@ * 2.0. */ import { get } from 'lodash/fp'; -import type { ConnectorServiceNowSIRTypeFields } from '../../../common/api'; +import type { ConnectorServiceNowSIRTypeFields } from '../../../common/types/domain'; import type { ServiceNowSIRFormat, SirFieldKey, AlertFieldMappingAndValues } from './types'; export const format: ServiceNowSIRFormat = (theCase, alerts) => { diff --git a/x-pack/plugins/cases/server/connectors/servicenow/types.ts b/x-pack/plugins/cases/server/connectors/servicenow/types.ts index 90fb336da7bac..7e0c0330c2dea 100644 --- a/x-pack/plugins/cases/server/connectors/servicenow/types.ts +++ b/x-pack/plugins/cases/server/connectors/servicenow/types.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { ServiceNowITSMFieldsType } from '../../../common/api'; +import type { ServiceNowITSMFieldsType } from '../../../common/types/domain'; import type { ICasesConnector } from '../types'; interface CorrelationValues { diff --git a/x-pack/plugins/cases/server/connectors/swimlane/format.ts b/x-pack/plugins/cases/server/connectors/swimlane/format.ts index ae8d7023f8f86..3863eb9f72bd5 100644 --- a/x-pack/plugins/cases/server/connectors/swimlane/format.ts +++ b/x-pack/plugins/cases/server/connectors/swimlane/format.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { ConnectorSwimlaneTypeFields } from '../../../common/api'; +import type { ConnectorSwimlaneTypeFields } from '../../../common/types/domain'; import type { Format } from './types'; export const format: Format = (theCase) => { diff --git a/x-pack/plugins/cases/server/connectors/swimlane/types.ts b/x-pack/plugins/cases/server/connectors/swimlane/types.ts index 6d5788538fd11..e30753d4a3017 100644 --- a/x-pack/plugins/cases/server/connectors/swimlane/types.ts +++ b/x-pack/plugins/cases/server/connectors/swimlane/types.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { SwimlaneFieldsType } from '../../../common/api'; +import type { SwimlaneFieldsType } from '../../../common/types/domain'; import type { ICasesConnector } from '../types'; export type SwimlaneCaseConnector = ICasesConnector; diff --git a/x-pack/plugins/cases/server/connectors/types.ts b/x-pack/plugins/cases/server/connectors/types.ts index ec8837554c4ac..28fb18787d9d3 100644 --- a/x-pack/plugins/cases/server/connectors/types.ts +++ b/x-pack/plugins/cases/server/connectors/types.ts @@ -6,7 +6,8 @@ */ import type { Logger } from '@kbn/core/server'; -import type { Case, ConnectorMappings } from '../../common/api'; +import type { ConnectorMappings } from '../../common/types/domain'; +import type { Case } from '../../common/api'; import type { CasesClientGetAlertsResponse } from '../client/alerts/types'; import type { CasesClientFactory } from '../client/factory'; import type { RegisterActionType } from '../types'; diff --git a/x-pack/plugins/cases/server/mocks.ts b/x-pack/plugins/cases/server/mocks.ts index ddbd9bfedd7bd..04fd000c4df33 100644 --- a/x-pack/plugins/cases/server/mocks.ts +++ b/x-pack/plugins/cases/server/mocks.ts @@ -12,15 +12,14 @@ import type { CommentRequestActionsType, CommentRequestAlertType, CommentRequestUserType, - ConnectorMappings, } from '../common/api'; -import { CaseSeverity, CaseStatuses, CommentType, ConnectorTypes } from '../common/api'; +import { CaseSeverity, CaseStatuses, CommentType } from '../common/api'; import { SECURITY_SOLUTION_OWNER } from '../common/constants'; import type { CasesStart } from './types'; import { createCasesClientMock } from './client/mocks'; import type { CaseSavedObjectTransformed } from './common/types/case'; -import type { UserActionAttributes } from '../common/types/domain'; -import { UserActionActions, UserActionTypes } from '../common/types/domain'; +import type { ConnectorMappings, UserActionAttributes } from '../common/types/domain'; +import { UserActionActions, UserActionTypes, ConnectorTypes } from '../common/types/domain'; const lensPersistableState = { attributes: { diff --git a/x-pack/plugins/cases/server/routes/api/__mocks__/request_responses.ts b/x-pack/plugins/cases/server/routes/api/__mocks__/request_responses.ts index 95724981c26fe..f709e9779f439 100644 --- a/x-pack/plugins/cases/server/routes/api/__mocks__/request_responses.ts +++ b/x-pack/plugins/cases/server/routes/api/__mocks__/request_responses.ts @@ -6,7 +6,7 @@ */ import type { CasePostRequest } from '../../../../common/api'; -import { ConnectorTypes } from '../../../../common/api'; +import { ConnectorTypes } from '../../../../common/types/domain'; import { SECURITY_SOLUTION_OWNER } from '../../../../common/constants'; export const newCase: CasePostRequest = { diff --git a/x-pack/plugins/cases/server/routes/api/internal/get_connectors.ts b/x-pack/plugins/cases/server/routes/api/internal/get_connectors.ts index ac48e17461fad..bc5e2d701eb0f 100644 --- a/x-pack/plugins/cases/server/routes/api/internal/get_connectors.ts +++ b/x-pack/plugins/cases/server/routes/api/internal/get_connectors.ts @@ -9,6 +9,7 @@ import { schema } from '@kbn/config-schema'; import { INTERNAL_CONNECTORS_URL } from '../../../../common/constants'; import { createCaseError } from '../../../common/error'; import { createCasesRoute } from '../create_cases_route'; +import type { connectorApiV1 } from '../../../../common/types/api'; export const getConnectorsRoute = createCasesRoute({ method: 'get', @@ -24,8 +25,11 @@ export const getConnectorsRoute = createCasesRoute({ const casesClient = await casesContext.getCasesClient(); const caseId = request.params.case_id; + const res: connectorApiV1.GetCaseConnectorsResponse = + await casesClient.userActions.getConnectors({ caseId }); + return response.ok({ - body: await casesClient.userActions.getConnectors({ caseId }), + body: res, }); } catch (error) { throw createCaseError({ diff --git a/x-pack/plugins/cases/server/saved_object_types/migrations/cases.test.ts b/x-pack/plugins/cases/server/saved_object_types/migrations/cases.test.ts index bb6c5f1130bda..7fb3730a60bef 100644 --- a/x-pack/plugins/cases/server/saved_object_types/migrations/cases.test.ts +++ b/x-pack/plugins/cases/server/saved_object_types/migrations/cases.test.ts @@ -5,10 +5,11 @@ * 2.0. */ +import { ConnectorTypes } from '../../../common/types/domain'; import type { SavedObjectSanitizedDoc, SavedObjectUnsanitizedDoc } from '@kbn/core/server'; import type { CaseAttributes, CaseFullExternalService } from '../../../common/api'; -import { CaseSeverity, CaseStatuses, ConnectorTypes, NONE_CONNECTOR_ID } from '../../../common/api'; -import { CASE_SAVED_OBJECT } from '../../../common/constants'; +import { CaseSeverity, CaseStatuses } from '../../../common/api'; +import { CASE_SAVED_OBJECT, NONE_CONNECTOR_ID } from '../../../common/constants'; import { CasePersistedSeverity, CasePersistedStatus } from '../../common/types/case'; import { getNoneCaseConnector } from '../../common/utils'; import type { ESCaseConnectorWithId } from '../../services/test_utils'; diff --git a/x-pack/plugins/cases/server/saved_object_types/migrations/cases.ts b/x-pack/plugins/cases/server/saved_object_types/migrations/cases.ts index 6b78ab04d90ed..cc8532f6a35be 100644 --- a/x-pack/plugins/cases/server/saved_object_types/migrations/cases.ts +++ b/x-pack/plugins/cases/server/saved_object_types/migrations/cases.ts @@ -9,10 +9,11 @@ import { cloneDeep, unset, flow } from 'lodash'; import type { SavedObjectUnsanitizedDoc, SavedObjectSanitizedDoc } from '@kbn/core/server'; +import { ConnectorTypes } from '../../../common/types/domain'; import type { SanitizedCaseOwner } from '.'; import { addOwnerToSO } from '.'; import type { CaseAttributes } from '../../../common/api'; -import { CaseSeverity, ConnectorTypes } from '../../../common/api'; +import { CaseSeverity } from '../../../common/api'; import { CONNECTOR_ID_REFERENCE_NAME, diff --git a/x-pack/plugins/cases/server/saved_object_types/migrations/configuration.test.ts b/x-pack/plugins/cases/server/saved_object_types/migrations/configuration.test.ts index a5285817b2688..224cad922ada3 100644 --- a/x-pack/plugins/cases/server/saved_object_types/migrations/configuration.test.ts +++ b/x-pack/plugins/cases/server/saved_object_types/migrations/configuration.test.ts @@ -7,7 +7,7 @@ import type { SavedObjectSanitizedDoc, SavedObjectUnsanitizedDoc } from '@kbn/core/server'; import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import { CASE_CONFIGURE_SAVED_OBJECT, SECURITY_SOLUTION_OWNER } from '../../../common/constants'; import { CONNECTOR_ID_REFERENCE_NAME } from '../../common/constants'; import { getNoneCaseConnector } from '../../common/utils'; diff --git a/x-pack/plugins/cases/server/saved_object_types/migrations/configuration.ts b/x-pack/plugins/cases/server/saved_object_types/migrations/configuration.ts index b758d7ca0e7d3..1c6982e64921f 100644 --- a/x-pack/plugins/cases/server/saved_object_types/migrations/configuration.ts +++ b/x-pack/plugins/cases/server/saved_object_types/migrations/configuration.ts @@ -8,7 +8,7 @@ /* eslint-disable @typescript-eslint/naming-convention */ import type { SavedObjectUnsanitizedDoc, SavedObjectSanitizedDoc } from '@kbn/core/server'; -import { ConnectorTypes } from '../../../common/api'; +import { ConnectorTypes } from '../../../common/types/domain'; import type { SanitizedCaseOwner } from '.'; import { addOwnerToSO } from '.'; import { CONNECTOR_ID_REFERENCE_NAME } from '../../common/constants'; diff --git a/x-pack/plugins/cases/server/saved_object_types/migrations/user_actions/connector_id.ts b/x-pack/plugins/cases/server/saved_object_types/migrations/user_actions/connector_id.ts index b553d76da7f21..852aaa75e0b82 100644 --- a/x-pack/plugins/cases/server/saved_object_types/migrations/user_actions/connector_id.ts +++ b/x-pack/plugins/cases/server/saved_object_types/migrations/user_actions/connector_id.ts @@ -16,12 +16,10 @@ import type { SavedObjectUnsanitizedDoc, } from '@kbn/core/server'; import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; -import type { CaseAttributes, CaseConnector } from '../../../../common/api'; -import { - CaseConnectorRt, - CaseExternalServiceBasicRt, - NONE_CONNECTOR_ID, -} from '../../../../common/api'; +import type { CaseConnector } from '../../../../common/types/domain'; +import { CaseConnectorRt } from '../../../../common/types/domain'; +import type { CaseAttributes } from '../../../../common/api'; +import { CaseExternalServiceBasicRt } from '../../../../common/api'; import { CONNECTOR_ID_REFERENCE_NAME, PUSH_CONNECTOR_ID_REFERENCE_NAME, @@ -30,6 +28,7 @@ import { getNoneCaseConnector } from '../../../common/utils'; import type { UserActionVersion800 } from './types'; import { logError } from '../utils'; import { USER_ACTION_OLD_ID_REF_NAME, USER_ACTION_OLD_PUSH_ID_REF_NAME } from './constants'; +import { NONE_CONNECTOR_ID } from '../../../../common/constants'; export function isCreateConnector(action?: string, actionFields?: string[]): boolean { return action === 'create' && actionFields != null && actionFields.includes('connector'); diff --git a/x-pack/plugins/cases/server/saved_object_types/migrations/user_actions/index.ts b/x-pack/plugins/cases/server/saved_object_types/migrations/user_actions/index.ts index a22e880bdee85..9755827f890d8 100644 --- a/x-pack/plugins/cases/server/saved_object_types/migrations/user_actions/index.ts +++ b/x-pack/plugins/cases/server/saved_object_types/migrations/user_actions/index.ts @@ -13,7 +13,7 @@ import type { SavedObjectMigrationMap, } from '@kbn/core/server'; -import { ConnectorTypes } from '../../../../common/api'; +import { ConnectorTypes } from '../../../../common/types/domain'; import type { PersistableStateAttachmentTypeRegistry } from '../../../attachment_framework/persistable_state_registry'; import type { SanitizedCaseOwner } from '..'; import { addOwnerToSO } from '..'; diff --git a/x-pack/plugins/cases/server/services/cases/index.test.ts b/x-pack/plugins/cases/server/services/cases/index.test.ts index 43eeb3c46230e..37fc356a15bf5 100644 --- a/x-pack/plugins/cases/server/services/cases/index.test.ts +++ b/x-pack/plugins/cases/server/services/cases/index.test.ts @@ -14,7 +14,7 @@ */ import { omit, unset } from 'lodash'; -import type { CaseAttributes, CaseConnector, CaseFullExternalService } from '../../../common/api'; +import type { CaseAttributes, CaseFullExternalService } from '../../../common/api'; import { CaseSeverity, CaseStatuses } from '../../../common/api'; import { CASE_SAVED_OBJECT, SECURITY_SOLUTION_OWNER } from '../../../common/constants'; import { savedObjectsClientMock } from '@kbn/core/server/mocks'; @@ -50,6 +50,7 @@ import { CasePersistedStatus, CaseTransformedAttributesRt, } from '../../common/types/case'; +import type { CaseConnector } from '../../../common/types/domain'; const createUpdateSOResponse = ({ connector, diff --git a/x-pack/plugins/cases/server/services/cases/transform.test.ts b/x-pack/plugins/cases/server/services/cases/transform.test.ts index 6a80d9d0c190c..7e34e5f584550 100644 --- a/x-pack/plugins/cases/server/services/cases/transform.test.ts +++ b/x-pack/plugins/cases/server/services/cases/transform.test.ts @@ -19,13 +19,14 @@ import { transformUpdateResponseToExternalModel, } from './transform'; import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; -import { CaseSeverity, CaseStatuses, ConnectorTypes } from '../../../common/api'; +import { CaseSeverity, CaseStatuses } from '../../../common/api'; import { CONNECTOR_ID_REFERENCE_NAME, PUSH_CONNECTOR_ID_REFERENCE_NAME, } from '../../common/constants'; import { getNoneCaseConnector } from '../../common/utils'; import { CasePersistedSeverity, CasePersistedStatus } from '../../common/types/case'; +import { ConnectorTypes } from '../../../common/types/domain'; describe('case transforms', () => { describe('transformUpdateResponseToExternalModel', () => { diff --git a/x-pack/plugins/cases/server/services/cases/transform.ts b/x-pack/plugins/cases/server/services/cases/transform.ts index b931f57cd4a38..93ba92f8397fa 100644 --- a/x-pack/plugins/cases/server/services/cases/transform.ts +++ b/x-pack/plugins/cases/server/services/cases/transform.ts @@ -14,6 +14,7 @@ import type { SavedObjectsUpdateResponse, } from '@kbn/core/server'; import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; +import { NONE_CONNECTOR_ID } from '../../../common/constants'; import { CONNECTOR_ID_REFERENCE_NAME, PUSH_CONNECTOR_ID_REFERENCE_NAME, @@ -23,7 +24,7 @@ import { STATUS_EXTERNAL_TO_ESMODEL, } from '../../common/constants'; import type { CaseFullExternalService } from '../../../common/api'; -import { CaseSeverity, CaseStatuses, NONE_CONNECTOR_ID } from '../../../common/api'; +import { CaseSeverity, CaseStatuses } from '../../../common/api'; import { findConnectorIdReference, transformFieldsToESModel, diff --git a/x-pack/plugins/cases/server/services/configure/index.test.ts b/x-pack/plugins/cases/server/services/configure/index.test.ts index ce9c3f68a604f..8de0815613b2e 100644 --- a/x-pack/plugins/cases/server/services/configure/index.test.ts +++ b/x-pack/plugins/cases/server/services/configure/index.test.ts @@ -5,8 +5,8 @@ * 2.0. */ -import type { CaseConnector } from '../../../common/api'; -import { ConnectorTypes } from '../../../common/api'; +import type { CaseConnector, ConfigurationAttributes } from '../../../common/types/domain'; +import { ConnectorTypes } from '../../../common/types/domain'; import { CASE_CONFIGURE_SAVED_OBJECT, SECURITY_SOLUTION_OWNER } from '../../../common/constants'; import { savedObjectsClientMock } from '@kbn/core/server/mocks'; import type { @@ -27,7 +27,6 @@ import { createESJiraConnector, createJiraConnector } from '../test_utils'; import type { ConfigurationPersistedAttributes } from '../../common/types/configure'; import { unset } from 'lodash'; import type { ConfigurationPatchRequest } from '../../../common/types/api'; -import type { ConfigurationAttributes } from '../../../common/types/domain'; const basicConfigFields = { closure_type: 'close-by-pushing' as const, diff --git a/x-pack/plugins/cases/server/services/connector_mappings/types.ts b/x-pack/plugins/cases/server/services/connector_mappings/types.ts index 6e2dd45afea14..02c8d2494c667 100644 --- a/x-pack/plugins/cases/server/services/connector_mappings/types.ts +++ b/x-pack/plugins/cases/server/services/connector_mappings/types.ts @@ -6,8 +6,8 @@ */ import type { SavedObjectReference, SavedObjectsClientContract } from '@kbn/core/server'; +import type { ConnectorMappingsAttributes } from '../../../common/types/domain'; -import type { ConnectorMappingsAttributes } from '../../../common/api'; import type { SavedObjectFindOptionsKueryNode } from '../../common/types'; import type { IndexRefresh } from '../types'; diff --git a/x-pack/plugins/cases/server/services/connector_reference_handler.test.ts b/x-pack/plugins/cases/server/services/connector_reference_handler.test.ts index a435ec25d9569..7c00814b55b2c 100644 --- a/x-pack/plugins/cases/server/services/connector_reference_handler.test.ts +++ b/x-pack/plugins/cases/server/services/connector_reference_handler.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { NONE_CONNECTOR_ID } from '../../common/api'; +import { NONE_CONNECTOR_ID } from '../../common/constants'; import { ConnectorReferenceHandler } from './connector_reference_handler'; describe('ConnectorReferenceHandler', () => { diff --git a/x-pack/plugins/cases/server/services/connector_reference_handler.ts b/x-pack/plugins/cases/server/services/connector_reference_handler.ts index 327dac42b6b70..e040f3e0e7887 100644 --- a/x-pack/plugins/cases/server/services/connector_reference_handler.ts +++ b/x-pack/plugins/cases/server/services/connector_reference_handler.ts @@ -6,7 +6,7 @@ */ import type { SavedObjectReference } from '@kbn/core/server'; -import { NONE_CONNECTOR_ID } from '../../common/api'; +import { NONE_CONNECTOR_ID } from '../../common/constants'; interface Reference { soReference?: SavedObjectReference; diff --git a/x-pack/plugins/cases/server/services/test_utils.ts b/x-pack/plugins/cases/server/services/test_utils.ts index f3b0637693ff7..807880dc9a52c 100644 --- a/x-pack/plugins/cases/server/services/test_utils.ts +++ b/x-pack/plugins/cases/server/services/test_utils.ts @@ -13,15 +13,20 @@ import type { SavedObjectsFindResult, } from '@kbn/core/server'; import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; +import type { CaseConnector } from '../../common/types/domain'; +import { ConnectorTypes } from '../../common/types/domain'; import { CONNECTOR_ID_REFERENCE_NAME, PUSH_CONNECTOR_ID_REFERENCE_NAME } from '../common/constants'; import type { CaseAttributes, - CaseConnector, CaseExternalServiceBasic, CaseFullExternalService, } from '../../common/api'; -import { CaseSeverity, CaseStatuses, ConnectorTypes, NONE_CONNECTOR_ID } from '../../common/api'; -import { CASE_SAVED_OBJECT, SECURITY_SOLUTION_OWNER } from '../../common/constants'; +import { CaseSeverity, CaseStatuses } from '../../common/api'; +import { + CASE_SAVED_OBJECT, + NONE_CONNECTOR_ID, + SECURITY_SOLUTION_OWNER, +} from '../../common/constants'; import { getNoneCaseConnector } from '../common/utils'; import type { ConnectorPersistedFields } from '../common/types/connectors'; import type { CasePersistedAttributes } from '../common/types/case'; diff --git a/x-pack/plugins/cases/server/services/transform.test.ts b/x-pack/plugins/cases/server/services/transform.test.ts index 32bce1cf08231..7b41e2ca47bd1 100644 --- a/x-pack/plugins/cases/server/services/transform.test.ts +++ b/x-pack/plugins/cases/server/services/transform.test.ts @@ -6,7 +6,7 @@ */ import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; -import { ConnectorTypes } from '../../common/api'; +import { ConnectorTypes } from '../../common/types/domain'; import { createESJiraConnector, createJiraConnector } from './test_utils'; import { findConnectorIdReference, diff --git a/x-pack/plugins/cases/server/services/transform.ts b/x-pack/plugins/cases/server/services/transform.ts index fe42254af7dcb..20bdc795be763 100644 --- a/x-pack/plugins/cases/server/services/transform.ts +++ b/x-pack/plugins/cases/server/services/transform.ts @@ -7,7 +7,7 @@ import type { SavedObjectReference } from '@kbn/core/server'; import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; -import type { CaseConnector, ConnectorTypeFields } from '../../common/api'; +import type { CaseConnector, ConnectorTypeFields } from '../../common/types/domain'; import { getNoneCaseConnector } from '../common/utils'; import type { ConnectorPersistedFields, ConnectorPersisted } from '../common/types/connectors'; diff --git a/x-pack/plugins/cases/server/services/user_actions/abstract_builder.ts b/x-pack/plugins/cases/server/services/user_actions/abstract_builder.ts index e44bfb8971533..337d810691f89 100644 --- a/x-pack/plugins/cases/server/services/user_actions/abstract_builder.ts +++ b/x-pack/plugins/cases/server/services/user_actions/abstract_builder.ts @@ -7,16 +7,20 @@ import type { SavedObjectReference } from '@kbn/core/server'; import { ACTION_SAVED_OBJECT_TYPE } from '@kbn/actions-plugin/server'; +import type { CaseConnector } from '../../../common/types/domain'; import { UserActionTypes } from '../../../common/types/domain'; -import { CASE_COMMENT_SAVED_OBJECT, CASE_SAVED_OBJECT } from '../../../common/constants'; +import { + CASE_COMMENT_SAVED_OBJECT, + CASE_SAVED_OBJECT, + NONE_CONNECTOR_ID, +} from '../../../common/constants'; import { CASE_REF_NAME, COMMENT_REF_NAME, CONNECTOR_ID_REFERENCE_NAME, PUSH_CONNECTOR_ID_REFERENCE_NAME, } from '../../common/constants'; -import type { CaseConnector, CaseExternalServiceBasic, User } from '../../../common/api'; -import { NONE_CONNECTOR_ID } from '../../../common/api'; +import type { CaseExternalServiceBasic, User } from '../../../common/api'; import type { BuilderDeps, BuilderParameters, diff --git a/x-pack/plugins/cases/server/services/user_actions/builder_factory.test.ts b/x-pack/plugins/cases/server/services/user_actions/builder_factory.test.ts index e7fa7a2971913..896299c29146b 100644 --- a/x-pack/plugins/cases/server/services/user_actions/builder_factory.test.ts +++ b/x-pack/plugins/cases/server/services/user_actions/builder_factory.test.ts @@ -5,9 +5,9 @@ * 2.0. */ -import { UserActionActions, UserActionTypes } from '../../../common/types/domain'; +import { ConnectorTypes, UserActionActions, UserActionTypes } from '../../../common/types/domain'; import { SECURITY_SOLUTION_OWNER } from '../../../common'; -import { CaseSeverity, CaseStatuses, CommentType, ConnectorTypes } from '../../../common/api'; +import { CaseSeverity, CaseStatuses, CommentType } from '../../../common/api'; import { externalReferenceAttachmentES, externalReferenceAttachmentSO, diff --git a/x-pack/plugins/cases/server/services/user_actions/mocks.ts b/x-pack/plugins/cases/server/services/user_actions/mocks.ts index 60ea2a5f4a6fd..7d85cc1fbf946 100644 --- a/x-pack/plugins/cases/server/services/user_actions/mocks.ts +++ b/x-pack/plugins/cases/server/services/user_actions/mocks.ts @@ -7,8 +7,9 @@ import { CASE_SAVED_OBJECT } from '../../../common/constants'; import { SECURITY_SOLUTION_OWNER } from '../../../common'; +import { ConnectorTypes } from '../../../common/types/domain'; import type { CasePostRequest } from '../../../common/api'; -import { CaseSeverity, CaseStatuses, ConnectorTypes } from '../../../common/api'; +import { CaseSeverity, CaseStatuses } from '../../../common/api'; import { createCaseSavedObjectResponse } from '../test_utils'; import { transformSavedObjectToExternalModel } from '../cases/transform'; import { alertComment, comment } from '../../mocks'; diff --git a/x-pack/plugins/cases/server/services/user_actions/transform.ts b/x-pack/plugins/cases/server/services/user_actions/transform.ts index 4000aeb9cc998..83bb1ca1e38c3 100644 --- a/x-pack/plugins/cases/server/services/user_actions/transform.ts +++ b/x-pack/plugins/cases/server/services/user_actions/transform.ts @@ -15,8 +15,11 @@ import { isCreateCaseUserAction, isCommentUserAction, } from '../../../common/utils/user_actions'; -import { NONE_CONNECTOR_ID } from '../../../common/api'; -import { CASE_SAVED_OBJECT, CASE_COMMENT_SAVED_OBJECT } from '../../../common/constants'; +import { + CASE_SAVED_OBJECT, + CASE_COMMENT_SAVED_OBJECT, + NONE_CONNECTOR_ID, +} from '../../../common/constants'; import { CASE_REF_NAME, COMMENT_REF_NAME, diff --git a/x-pack/plugins/discover_log_explorer/common/datasets/models/dataset.ts b/x-pack/plugins/discover_log_explorer/common/datasets/models/dataset.ts index 9db74da31543f..68119fb6015b1 100644 --- a/x-pack/plugins/discover_log_explorer/common/datasets/models/dataset.ts +++ b/x-pack/plugins/discover_log_explorer/common/datasets/models/dataset.ts @@ -11,6 +11,7 @@ import { IndexPattern } from '@kbn/io-ts-utils'; import { DatasetId, DatasetType, IntegrationType } from '../types'; type IntegrationBase = Pick; + interface DatasetDeps extends DatasetType { iconType?: IconType; } @@ -41,6 +42,12 @@ export class Dataset { : this.title; } + getDatasetWildcard(): IndexPattern { + const [type, dataset, _namespace] = this.name.split('-'); + + return `${type}-${dataset}-*` as IndexPattern; + } + toDataviewSpec(): DataViewSpec { // Invert the property because the API returns the index pattern as `name` and a readable name as `title` return { @@ -68,4 +75,15 @@ export class Dataset { iconType: 'editorChecklist', }); } + + public static createWildcardDatasetsFrom(datasets: Dataset[]) { + // Gather unique list of wildcards + const wildcards = datasets.reduce( + (list, dataset) => list.add(dataset.getDatasetWildcard()), + new Set() + ); + + // Create new datasets for the retrieved wildcards + return Array.from(wildcards).map((wildcard) => Dataset.create({ name: wildcard })); + } } diff --git a/x-pack/plugins/discover_log_explorer/public/state_machines/datasets/src/state_machine.ts b/x-pack/plugins/discover_log_explorer/public/state_machines/datasets/src/state_machine.ts index f12bba3414ef3..005f41b18beaf 100644 --- a/x-pack/plugins/discover_log_explorer/public/state_machines/datasets/src/state_machine.ts +++ b/x-pack/plugins/discover_log_explorer/public/state_machines/datasets/src/state_machine.ts @@ -7,6 +7,7 @@ import { isEmpty, isError, omitBy } from 'lodash'; import { assign, createMachine } from 'xstate'; +import { Dataset } from '../../../../common/datasets'; import { IDatasetsClient } from '../../../services/datasets'; import { DEFAULT_CONTEXT } from './defaults'; import type { @@ -39,7 +40,7 @@ export const createPureDatasetsStateMachine = ( src: 'loadDatasets', onDone: { target: 'loaded', - actions: ['storeInCache', 'storeDatasets', 'storeSearch'], + actions: ['storeInCache', 'aggregateAndStoreDatasets', 'storeSearch'], }, onError: 'loadingFailed', }, @@ -77,8 +78,10 @@ export const createPureDatasetsStateMachine = ( // Store search from search event ...('search' in event && { search: event.search }), })), - storeDatasets: assign((_context, event) => - 'data' in event && !isError(event.data) ? { datasets: event.data.items } : {} + aggregateAndStoreDatasets: assign((_context, event) => + 'data' in event && !isError(event.data) + ? { datasets: Dataset.createWildcardDatasetsFrom(event.data.items) } + : {} ), storeInCache: (context, event) => { if ('data' in event && !isError(event.data)) { diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/lock_light.svg b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/lock_light.svg deleted file mode 100644 index 2a93dbdde2efe..0000000000000 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/lock_light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/product_selector.test.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/product_selector.test.tsx index fb19ce8ae7ed2..1e4ec5ef456a0 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/product_selector.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/product_selector.test.tsx @@ -11,9 +11,9 @@ import React from 'react'; import { shallow } from 'enzyme'; -import { EuiEmptyPrompt } from '@elastic/eui'; - import { WORKPLACE_SEARCH_PLUGIN } from '../../../../../common/constants'; +import { AddContentEmptyPrompt } from '../../../shared/add_content_empty_prompt'; +import { ErrorStateCallout } from '../../../shared/error_state'; import { ProductCard } from '../product_card'; import { SetupGuideCta } from '../setup_guide'; @@ -51,6 +51,40 @@ describe('ProductSelector', () => { ); }); + it('does not render connection error callout without an error', () => { + setMockValues({ config: { canDeployEntSearch: true, host: 'localhost' } }); + const wrapper = shallow(); + + expect(wrapper.find(ErrorStateCallout)).toHaveLength(0); + }); + + it('does render connection error callout with an error', () => { + setMockValues({ + config: { canDeployEntSearch: true, host: 'localhost' }, + errorConnectingMessage: '502 Bad Gateway', + }); + const wrapper = shallow(); + + expect(wrapper.find(ErrorStateCallout)).toHaveLength(1); + }); + + it('renders add content', () => { + setMockValues({ config: { canDeployEntSearch: true, host: 'localhost' } }); + const wrapper = shallow(); + + expect(wrapper.find(AddContentEmptyPrompt)).toHaveLength(1); + }); + + it('does not render add content when theres a connection error', () => { + setMockValues({ + config: { canDeployEntSearch: true, host: 'localhost' }, + errorConnectingMessage: '502 Bad Gateway', + }); + const wrapper = shallow(); + + expect(wrapper.find(AddContentEmptyPrompt)).toHaveLength(0); + }); + describe('access checks when host is set', () => { beforeEach(() => { setMockValues({ config: { canDeployEntSearch: true, host: 'localhost' } }); @@ -82,11 +116,11 @@ describe('ProductSelector', () => { expect(wrapper.find('[data-test-subj="productCard-elasticsearch"]')).toHaveLength(1); }); - it('renders empty prompt and no cards or license callout if the user does not have access', () => { + it('renders elasticsearch card if the user does not have access app search & workplace search', () => { const wrapper = shallow(); - expect(wrapper.find(EuiEmptyPrompt)).toHaveLength(1); - expect(wrapper.find(ProductCard)).toHaveLength(0); + expect(wrapper.find(ProductCard)).toHaveLength(1); + expect(wrapper.find('[data-test-subj="productCard-elasticsearch"]')).toHaveLength(1); }); }); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/product_selector.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/product_selector.tsx index d1a205a4ddf72..bda23bbc0ac35 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/product_selector.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/components/product_selector/product_selector.tsx @@ -9,16 +9,7 @@ import React from 'react'; import { useValues } from 'kea'; -import { - EuiButton, - EuiEmptyPrompt, - EuiFlexGroup, - EuiFlexItem, - EuiImage, - EuiLink, - EuiSpacer, - EuiTitle, -} from '@elastic/eui'; +import { EuiFlexGroup, EuiFlexItem, EuiSpacer, EuiTitle } from '@elastic/eui'; import { Chat } from '@kbn/cloud-chat-plugin/public'; import { i18n } from '@kbn/i18n'; @@ -29,6 +20,8 @@ import { } from '../../../../../common/constants'; import { AddContentEmptyPrompt } from '../../../shared/add_content_empty_prompt'; import { docLinks } from '../../../shared/doc_links'; +import { ErrorStateCallout } from '../../../shared/error_state'; +import { HttpLogic } from '../../../shared/http'; import { KibanaLogic } from '../../../shared/kibana'; import { SetSearchChrome as SetPageChrome } from '../../../shared/kibana_chrome'; import { SendEnterpriseSearchTelemetry as SendTelemetry } from '../../../shared/telemetry'; @@ -38,8 +31,6 @@ import { ProductCard } from '../product_card'; import { SetupGuideCta } from '../setup_guide'; import { TrialCallout } from '../trial_callout'; -import illustration from './lock_light.svg'; - interface ProductSelectorProps { access: { hasAppSearchAccess?: boolean; @@ -54,32 +45,53 @@ export const ProductSelector: React.FC = ({ }) => { const { hasAppSearchAccess, hasWorkplaceSearchAccess } = access; const { config } = useValues(KibanaLogic); + const { errorConnectingMessage } = useValues(HttpLogic); + + const showErrorConnecting = !!(config.host && errorConnectingMessage); + // The create index flow does not work without ent-search, when content is updated + // to no longer rely on ent-search we can always show the Add Content component + const showAddContent = config.host && !errorConnectingMessage; // If Enterprise Search hasn't been set up yet, show all products. Otherwise, only show products the user has access to const shouldShowAppSearchCard = (!config.host && config.canDeployEntSearch) || hasAppSearchAccess; const shouldShowWorkplaceSearchCard = (!config.host && config.canDeployEntSearch) || hasWorkplaceSearchAccess; - // If Enterprise Search has been set up and the user does not have access to either product, show a message saying they - // need to contact an administrator to get access to one of the products. - const shouldShowEnterpriseSearchCards = - shouldShowAppSearchCard || shouldShowWorkplaceSearchCard || !config.canDeployEntSearch; - const WORKPLACE_SEARCH_URL = isWorkplaceSearchAdmin ? WORKPLACE_SEARCH_PLUGIN.URL : WORKPLACE_SEARCH_PLUGIN.NON_ADMIN_URL; - const productCards = ( - <> - - + return ( + + + + + {showAddContent && ( + <> + + + + )} + {showErrorConnecting && ( + <> + + + + )}

    @@ -305,72 +317,6 @@ export const ProductSelector: React.FC = ({ )} - - ); - - const insufficientAccessMessage = ( - } - title={ -

    - {i18n.translate('xpack.enterpriseSearch.overview.insufficientPermissionsTitle', { - defaultMessage: 'Insufficient permissions', - })} -

    - } - layout="horizontal" - color="plain" - body={ - <> -

    - {i18n.translate('xpack.enterpriseSearch.overview.insufficientPermissionsBody', { - defaultMessage: - 'You don’t have access to view this page. If you feel this may be an error, please contact your administrator.', - })} -

    - - } - actions={ - - {i18n.translate('xpack.enterpriseSearch.overview.insufficientPermissionsButtonLabel', { - defaultMessage: 'Go to the Kibana dashboard', - })} - - } - footer={ - <> - - - {i18n.translate('xpack.enterpriseSearch.overview.insufficientPermissionsFooterBody', { - defaultMessage: 'Go to the Kibana dashboard', - })} - - {' '} - - {i18n.translate( - 'xpack.enterpriseSearch.overview.insufficientPermissionsFooterLinkLabel', - { - defaultMessage: 'Read documentation', - } - )} - - - } - /> - ); - return ( - - - - - {shouldShowEnterpriseSearchCards ? productCards : insufficientAccessMessage} ); diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.test.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.test.tsx index 50bec925e1ce8..6742de0816f81 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.test.tsx @@ -12,9 +12,7 @@ import React from 'react'; import { shallow } from 'enzyme'; import { VersionMismatchPage } from '../shared/version_mismatch'; -import { rerender } from '../test_helpers'; -import { ErrorConnecting } from './components/error_connecting'; import { ProductSelector } from './components/product_selector'; import { SetupGuide } from './components/setup_guide'; @@ -32,29 +30,6 @@ describe('EnterpriseSearchOverview', () => { expect(wrapper.find(ProductSelector)).toHaveLength(1); }); - it('renders the error connecting prompt only if host is configured', () => { - setMockValues({ - errorConnectingMessage: '502 Bad Gateway', - config: { host: 'localhost' }, - }); - const wrapper = shallow(); - - expect(wrapper.find(VersionMismatchPage)).toHaveLength(0); - const errorConnecting = wrapper.find(ErrorConnecting); - expect(errorConnecting).toHaveLength(1); - expect(wrapper.find(ProductSelector)).toHaveLength(0); - - setMockValues({ - errorConnectingMessage: '502 Bad Gateway', - config: { host: '' }, - }); - rerender(wrapper); - - expect(wrapper.find(VersionMismatchPage)).toHaveLength(0); - expect(wrapper.find(ErrorConnecting)).toHaveLength(0); - expect(wrapper.find(ProductSelector)).toHaveLength(1); - }); - it('renders the version error message if versions mismatch and the host is configured', () => { setMockValues({ errorConnectingMessage: '', @@ -65,7 +40,6 @@ describe('EnterpriseSearchOverview', () => { ); expect(wrapper.find(VersionMismatchPage)).toHaveLength(1); - expect(wrapper.find(ErrorConnecting)).toHaveLength(0); expect(wrapper.find(ProductSelector)).toHaveLength(0); }); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.tsx index 6fd4646e09923..5b8e595d6e88e 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.tsx @@ -13,11 +13,9 @@ import { Routes, Route } from '@kbn/shared-ux-router'; import { isVersionMismatch } from '../../../common/is_version_mismatch'; import { InitialAppData } from '../../../common/types'; -import { HttpLogic } from '../shared/http'; import { KibanaLogic } from '../shared/kibana'; import { VersionMismatchPage } from '../shared/version_mismatch'; -import { ErrorConnecting } from './components/error_connecting'; import { ProductSelector } from './components/product_selector'; import { SetupGuide } from './components/setup_guide'; import { ROOT_PATH, SETUP_GUIDE_PATH } from './routes'; @@ -28,10 +26,8 @@ export const EnterpriseSearchOverview: React.FC = ({ enterpriseSearchVersion, kibanaVersion, }) => { - const { errorConnectingMessage } = useValues(HttpLogic); const { config } = useValues(KibanaLogic); - const showErrorConnecting = !!(config.host && errorConnectingMessage); const incompatibleVersions = !!( config.host && isVersionMismatch(enterpriseSearchVersion, kibanaVersion) ); @@ -45,8 +41,6 @@ export const EnterpriseSearchOverview: React.FC = ({ kibanaVersion={kibanaVersion} /> ); - } else if (showErrorConnecting) { - return ; } return ; diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/error_state/error_state_prompt.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/error_state/error_state_prompt.tsx index 43ed4c1e01533..2776b5292e756 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/error_state/error_state_prompt.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/error_state/error_state_prompt.tsx @@ -9,7 +9,7 @@ import React, { useEffect } from 'react'; import { useValues } from 'kea'; -import { EuiEmptyPrompt, EuiCode, EuiLink, EuiCodeBlock } from '@elastic/eui'; +import { EuiEmptyPrompt, EuiCode, EuiLink, EuiCodeBlock, EuiCallOut } from '@elastic/eui'; import { CloudSetup } from '@kbn/cloud-plugin/public'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -27,9 +27,7 @@ import './error_state_prompt.scss'; const WORKPLACE_SEARCH_PERSONAL_DASHBOARD_PATH = '/p/'; export const ErrorStatePrompt: React.FC = () => { - const { errorConnectingMessage } = useValues(HttpLogic); - const { config, cloud, setChromeIsVisible, history } = useValues(KibanaLogic); - const isCloudEnabled = cloud.isCloudEnabled; + const { setChromeIsVisible, history } = useValues(KibanaLogic); const isWorkplaceSearchPersonalDashboardRoute = history.location.pathname.includes( WORKPLACE_SEARCH_PERSONAL_DASHBOARD_PATH ); @@ -55,25 +53,7 @@ export const ErrorStatePrompt: React.FC = () => {

    } titleSize="l" - body={ - <> -

    - - {config.host} - - ), - }} - /> -

    - {errorConnectingMessage} - {isCloudEnabled ? cloudError(cloud) : nonCloudError()} - - } + body={} actions={[ { ); }; +export const ErrorStateCallout: React.FC = () => { + return ( + + + + + + + ); +}; + +const ErrorBody: React.FC = () => { + const { errorConnectingMessage } = useValues(HttpLogic); + const { config, cloud } = useValues(KibanaLogic); + const isCloudEnabled = cloud.isCloudEnabled; + return ( + <> +

    + + {config.host} + + ), + }} + /> +

    + {errorConnectingMessage} + {isCloudEnabled ? cloudError(cloud) : nonCloudError()} + + ); +}; + const cloudError = (cloud: Partial) => { const deploymentUrl = cloud?.deploymentUrl; return ( diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/error_state/index.ts b/x-pack/plugins/enterprise_search/public/applications/shared/error_state/index.ts index 5f7ded8fa5190..b8e1783dbe901 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/error_state/index.ts +++ b/x-pack/plugins/enterprise_search/public/applications/shared/error_state/index.ts @@ -5,4 +5,4 @@ * 2.0. */ -export { ErrorStatePrompt } from './error_state_prompt'; +export { ErrorStatePrompt, ErrorStateCallout } from './error_state_prompt'; diff --git a/x-pack/plugins/fleet/common/constants/output.ts b/x-pack/plugins/fleet/common/constants/output.ts index 6822a98d946e9..b23fbc3cc2c2a 100644 --- a/x-pack/plugins/fleet/common/constants/output.ts +++ b/x-pack/plugins/fleet/common/constants/output.ts @@ -15,6 +15,22 @@ export const outputType = { Kafka: 'kafka', } as const; +export const DEFAULT_OUTPUT_ID = 'fleet-default-output'; + +export const DEFAULT_OUTPUT: NewOutput = { + name: 'default', + is_default: true, + is_default_monitoring: true, + type: outputType.Elasticsearch, + hosts: [''], +}; + +export const LICENCE_FOR_PER_POLICY_OUTPUT = 'platinum'; + +/** + * Kafka constants + */ + export const kafkaCompressionType = { None: 'none', Snappy: 'snappy', @@ -58,14 +74,40 @@ export const kafkaAcknowledgeReliabilityLevel = { DoNotWait: 'Do not wait', } as const; -export const DEFAULT_OUTPUT_ID = 'fleet-default-output'; - -export const DEFAULT_OUTPUT: NewOutput = { - name: 'default', - is_default: true, - is_default_monitoring: true, - type: outputType.Elasticsearch, - hosts: [''], -}; - -export const LICENCE_FOR_PER_POLICY_OUTPUT = 'platinum'; +export const kafkaSupportedVersions = [ + '0.8.2.0', + '0.8.2.1', + '0.8.2.2', + '0.9.0.0', + '0.9.0.1', + '0.10.0.0', + '0.10.0.1', + '0.10.1.0', + '0.10.1.1', + '0.10.2.0', + '0.10.2.1', + '0.10.2.2', + '0.11.0.0', + '0.11.0.1', + '0.11.0.2', + '0.11.0.3', + '1.0.0', + '1.0.1', + '1.0.2', + '1.1.0', + '1.1.1', + '2.0.0', + '2.0.1', + '2.1.0', + '2.1.1', + '2.2.0', + '2.2.1', + '2.2.2', + '2.3.0', + '2.3.1', + '2.4.0', + '2.4.1', + '2.5.0', + '2.5.1', + '2.6.0', +]; diff --git a/x-pack/plugins/fleet/common/experimental_features.ts b/x-pack/plugins/fleet/common/experimental_features.ts index 626bb4ab7f9cd..af8bbbc74790b 100644 --- a/x-pack/plugins/fleet/common/experimental_features.ts +++ b/x-pack/plugins/fleet/common/experimental_features.ts @@ -22,6 +22,7 @@ export const allowedExperimentalValues = Object.freeze({ showExperimentalShipperOptions: false, agentTamperProtectionEnabled: false, secretsStorage: false, + kafkaOutput: true, }); type ExperimentalConfigKeys = Array; diff --git a/x-pack/plugins/fleet/common/types/rest_spec/output.ts b/x-pack/plugins/fleet/common/types/rest_spec/output.ts index 56b6298b8025d..2de6be2b47458 100644 --- a/x-pack/plugins/fleet/common/types/rest_spec/output.ts +++ b/x-pack/plugins/fleet/common/types/rest_spec/output.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { Output } from '../models'; +import type { NewOutput, Output } from '../models'; import type { ListResult } from './common'; @@ -27,65 +27,11 @@ export interface PutOutputRequest { params: { outputId: string; }; - body: { - type?: 'elasticsearch' | 'logstash'; - name?: string; - hosts?: string[]; - ca_sha256?: string; - ca_trusted_fingerprint?: string; - config_yaml?: string; - is_default?: boolean; - is_default_monitoring?: boolean; - ssl?: { - certificate_authorities?: string[]; - certificate?: string; - key?: string; - }; - shipper?: { - disk_queue_enabled?: boolean; - disk_queue_path?: string; - disk_queue_max_size?: number; - disk_queue_encryption_enabled?: boolean; - disk_queue_compression_enabled?: boolean; - compression_level?: number; - loadbalance?: boolean; - mem_queue_events?: number; - queue_flush_timeout?: number; - max_batch_bytes?: number; - }; - }; + body: NewOutput; } export interface PostOutputRequest { - body: { - id?: string; - type: 'elasticsearch' | 'logstash'; - name: string; - hosts?: string[]; - ca_sha256?: string; - ca_trusted_fingerprint?: string; - is_default?: boolean; - is_default_monitoring?: boolean; - config_yaml?: string; - ssl?: { - certificate_authorities?: string[]; - certificate?: string; - key?: string; - }; - proxy_id?: string | null; - shipper?: { - disk_queue_enabled?: boolean; - disk_queue_path?: string; - disk_queue_max_size?: number; - disk_queue_encryption_enabled?: boolean; - disk_queue_compression_enabled?: boolean; - compression_level?: number; - loadbalance?: boolean; - mem_queue_events?: number; - queue_flush_timeout?: number; - max_batch_bytes?: number; - }; - }; + body: NewOutput; } export interface PutOutputResponse { diff --git a/x-pack/plugins/fleet/cypress/e2e/fleet_settings_outputs.cy.ts b/x-pack/plugins/fleet/cypress/e2e/fleet_settings_outputs.cy.ts new file mode 100644 index 0000000000000..45ff5257fc7c2 --- /dev/null +++ b/x-pack/plugins/fleet/cypress/e2e/fleet_settings_outputs.cy.ts @@ -0,0 +1,364 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { allowedExperimentalValues } from '../../common/experimental_features'; + +import { ExperimentalFeaturesService } from '../../public/services'; + +import { + getSpecificSelectorId, + SETTINGS_CONFIRM_MODAL_BTN, + SETTINGS_OUTPUTS, + SETTINGS_OUTPUTS_KAFKA, + SETTINGS_SAVE_BTN, +} from '../screens/fleet'; +import { + cleanupOutput, + fillInKafkaOutputForm, + interceptOutputId, + kafkaOutputBody, + kafkaOutputFormValues, + loadESOutput, + loadKafkaOutput, + loadLogstashOutput, + resetKafkaOutputForm, + selectKafkaOutput, + shouldDisplayError, + validateOutputTypeChangeToKafka, + validateSavedKafkaOutputForm, +} from '../screens/fleet_outputs'; + +import { login } from '../tasks/login'; + +import { visit } from '../tasks/common'; + +describe('Outputs', () => { + beforeEach(() => { + login(); + }); + + describe('Kafka', () => { + ExperimentalFeaturesService.init(allowedExperimentalValues); + + const { kafkaOutput: isKafkaOutputEnabled } = ExperimentalFeaturesService.get(); + + // TODO: Remove IF statement once Kafka is GA + if (!isKafkaOutputEnabled) { + it('is not available', () => { + visit('/app/fleet/settings'); + }); + } else { + describe('Form validation', () => { + it('renders all form fields', () => { + selectKafkaOutput(); + + cy.getBySel(SETTINGS_OUTPUTS.NAME_INPUT); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.VERSION_SELECT); + cy.get('[placeholder="Specify host"'); + cy.getBySel(SETTINGS_OUTPUTS.ADD_HOST_ROW_BTN); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_SELECT).within(() => { + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_USERNAME_PASSWORD_OPTION); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_SSL_OPTION); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_KERBEROS_OPTION); + }); + + // Verify user/pass fields + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_USERNAME_INPUT); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_PASSWORD_INPUT); + + // Verify SSL fields + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_SSL_OPTION).click(); + cy.get('[placeholder="Specify certificate authority"]'); + cy.get('[placeholder="Specify ssl certificate"]'); + cy.get('[placeholder="Specify certificate key"]'); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_USERNAME_PASSWORD_OPTION).click(); + + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_SASL_SELECT).within(() => { + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_SASL_PLAIN_OPTION); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_SASL_SCRAM_256_OPTION); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_SASL_SCRAM_512_OPTION); + }); + + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.PARTITIONING_PANEL).within(() => { + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.PARTITIONING_SELECT); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.PARTITIONING_RANDOM_OPTION); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.PARTITIONING_HASH_OPTION); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.PARTITIONING_ROUND_ROBIN_OPTION); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.PARTITIONING_EVENTS_INPUT); + }); + + // Verify Round Robin fields + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.PARTITIONING_RANDOM_OPTION).click(); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.PARTITIONING_EVENTS_INPUT); + + // Verify Hash fields + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.PARTITIONING_HASH_OPTION).click(); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.PARTITIONING_HASH_INPUT); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.PARTITIONING_RANDOM_OPTION).click(); + + // Topics + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_PANEL).within(() => { + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_DEFAULT_TOPIC_INPUT); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_ADD_ROW_BUTTON); + }); + + // Verify one topic processor fields + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_ADD_ROW_BUTTON).click(); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_TOPIC_INPUT); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_CONDITION_INPUT); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_WHEN_INPUT); + + // Verify additional topic processor fields + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_ADD_ROW_BUTTON).click(); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_TOPIC_INPUT); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_CONDITION_INPUT); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_WHEN_INPUT); + cy.getBySel(getSpecificSelectorId(SETTINGS_OUTPUTS_KAFKA.TOPICS_TOPIC_INPUT, 1)); + cy.getBySel(getSpecificSelectorId(SETTINGS_OUTPUTS_KAFKA.TOPICS_CONDITION_INPUT, 1)); + cy.getBySel(getSpecificSelectorId(SETTINGS_OUTPUTS_KAFKA.TOPICS_WHEN_INPUT, 1)); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_DRAG_HANDLE_ICON); + + // Verify remove topic processors + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_REMOVE_ROW_BUTTON).click(); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_REMOVE_ROW_BUTTON).click(); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_TOPIC_INPUT).should('not.exist'); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_CONDITION_INPUT).should('not.exist'); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_WHEN_INPUT).should('not.exist'); + + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.HEADERS_PANEL).within(() => { + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.HEADERS_KEY_INPUT); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.HEADERS_VALUE_INPUT); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.HEADERS_ADD_ROW_BUTTON).should('be.disabled'); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.HEADERS_REMOVE_ROW_BUTTON).should('be.disabled'); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.HEADERS_CLIENT_ID_INPUT); + }); + + // Verify add header + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.HEADERS_KEY_INPUT).type('key'); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.HEADERS_VALUE_INPUT).type('value'); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.HEADERS_ADD_ROW_BUTTON).should('be.enabled'); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.HEADERS_REMOVE_ROW_BUTTON).should('be.disabled'); + + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.HEADERS_ADD_ROW_BUTTON).click(); + cy.getBySel(getSpecificSelectorId(SETTINGS_OUTPUTS_KAFKA.HEADERS_KEY_INPUT, 1)); + cy.getBySel(getSpecificSelectorId(SETTINGS_OUTPUTS_KAFKA.HEADERS_VALUE_INPUT, 1)); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.HEADERS_ADD_ROW_BUTTON).should('be.enabled'); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.HEADERS_REMOVE_ROW_BUTTON).should('be.enabled'); + + // Verify remove header + cy.getBySel( + getSpecificSelectorId(SETTINGS_OUTPUTS_KAFKA.HEADERS_REMOVE_ROW_BUTTON, 1) + ).click(); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.HEADERS_ADD_ROW_BUTTON).should('be.enabled'); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.HEADERS_REMOVE_ROW_BUTTON).should('be.disabled'); + + // Compression + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.COMPRESSION_CODEC_INPUT).should('not.exist'); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.COMPRESSION_SWITCH).click(); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.COMPRESSION_LEVEL_INPUT).should('not.exist'); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.COMPRESSION_CODEC_INPUT).select('gzip'); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.COMPRESSION_LEVEL_INPUT).should('exist'); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.COMPRESSION_LEVEL_INPUT).select('1'); + + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.BROKER_PANEL).within(() => { + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.BROKER_ACK_RELIABILITY_SELECT); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.BROKER_CHANNEL_BUFFER_SIZE_SELECT); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.BROKER_TIMEOUT_SELECT); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.BROKER_REACHABILITY_TIMEOUT_SELECT); + }); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.KEY_INPUT); + }); + + it('displays proper error messages', () => { + selectKafkaOutput(); + cy.getBySel(SETTINGS_SAVE_BTN).click(); + + cy.contains('Name is required'); + cy.contains('URL is required'); + cy.contains('Username is required'); + cy.contains('Password is required'); + cy.contains('Default topic is required'); + shouldDisplayError(SETTINGS_OUTPUTS.NAME_INPUT); + shouldDisplayError(SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_USERNAME_INPUT); + shouldDisplayError(SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_PASSWORD_INPUT); + shouldDisplayError(SETTINGS_OUTPUTS_KAFKA.TOPICS_DEFAULT_TOPIC_INPUT); + }); + }); + + // Test buttons presence before accessing output directly via url and delete via api + describe('Output operations', () => { + let kafkaOutputId: string; + + before(() => { + loadKafkaOutput().then((data) => { + kafkaOutputId = data.item.id; + }); + }); + + it('opens edit modal', () => { + visit('/app/fleet/settings'); + cy.get(`a[href="/app/fleet/settings/outputs/${kafkaOutputId}"]`) + .parents('tr') + .within(() => { + cy.contains(kafkaOutputBody.name); + cy.contains(kafkaOutputBody.type); + cy.contains(kafkaOutputBody.hosts[0]); + cy.getBySel('editOutputBtn').click(); + cy.url().should('include', `/app/fleet/settings/outputs/${kafkaOutputId}`); + }); + }); + it('delete output', () => { + visit('/app/fleet/settings'); + cy.get(`a[href="/app/fleet/settings/outputs/${kafkaOutputId}"]`) + .parents('tr') + .within(() => { + cy.get('[title="Delete"]').click(); + }); + cy.getBySel(SETTINGS_CONFIRM_MODAL_BTN).click(); + cy.get(`a[href="app/fleet/settings/outputs/${kafkaOutputId}"]`).should('not.exist'); + }); + }); + + describe('Form submit', () => { + let kafkaOutputId: string; + + before(() => { + interceptOutputId((id) => { + kafkaOutputId = id; + }); + }); + + after(() => { + cleanupOutput(kafkaOutputId); + }); + + it('saves the output', () => { + selectKafkaOutput(); + + fillInKafkaOutputForm(); + + cy.intercept('POST', '**/api/fleet/outputs').as('saveOutput'); + + cy.getBySel(SETTINGS_SAVE_BTN).click(); + + cy.wait('@saveOutput').then((interception) => { + const responseBody = interception.response?.body; + cy.visit(`/app/fleet/settings/outputs/${responseBody?.item?.id}`); + }); + + validateSavedKafkaOutputForm(); + }); + }); + + describe('Form edit', () => { + let kafkaOutputId: string; + + before(() => { + loadKafkaOutput().then((data) => { + kafkaOutputId = data.item.id; + }); + }); + after(() => { + cleanupOutput(kafkaOutputId); + }); + + it('edits the output', () => { + visit(`/app/fleet/settings/outputs/${kafkaOutputId}`); + + resetKafkaOutputForm(); + + fillInKafkaOutputForm(); + + cy.getBySel(SETTINGS_SAVE_BTN).click(); + cy.getBySel(SETTINGS_CONFIRM_MODAL_BTN).click(); + visit(`/app/fleet/settings/outputs/${kafkaOutputId}`); + + validateSavedKafkaOutputForm(); + }); + }); + + describe('Form output type change', () => { + let kafkaOutputToESId: string; + let kafkaOutputToLogstashId: string; + let logstashOutputToKafkaId: string; + let esOutputToKafkaId: string; + + before(() => { + loadKafkaOutput().then((data) => { + kafkaOutputToESId = data.item.id; + }); + loadKafkaOutput().then((data) => { + kafkaOutputToLogstashId = data.item.id; + }); + loadESOutput().then((data) => { + esOutputToKafkaId = data.item.id; + }); + loadLogstashOutput().then((data) => { + logstashOutputToKafkaId = data.item.id; + }); + }); + after(() => { + cleanupOutput(kafkaOutputToESId); + cleanupOutput(kafkaOutputToLogstashId); + cleanupOutput(logstashOutputToKafkaId); + cleanupOutput(esOutputToKafkaId); + }); + it('changes output type from es to kafka', () => { + validateOutputTypeChangeToKafka(esOutputToKafkaId); + }); + + it('changes output type from logstash to kafka', () => { + validateOutputTypeChangeToKafka(logstashOutputToKafkaId); + }); + + it('changes output type from kafka to es', () => { + visit(`/app/fleet/settings/outputs/${kafkaOutputToESId}`); + cy.getBySel(SETTINGS_OUTPUTS.TYPE_INPUT).select('elasticsearch'); + cy.getBySel(kafkaOutputFormValues.name.selector).clear().type('kafka_to_es'); + + cy.intercept('PUT', '**/api/fleet/outputs/**').as('saveOutput'); + + cy.getBySel(SETTINGS_SAVE_BTN).click(); + cy.getBySel(SETTINGS_CONFIRM_MODAL_BTN).click(); + + // wait for the save request to finish to avoid race condition + cy.wait('@saveOutput').then(() => { + visit(`/app/fleet/settings/outputs/${kafkaOutputToESId}`); + }); + + cy.getBySel(SETTINGS_OUTPUTS.TYPE_INPUT).should('have.value', 'elasticsearch'); + cy.getBySel(kafkaOutputFormValues.name.selector).should('have.value', 'kafka_to_es'); + }); + + it('changes output type from kafka to logstash', () => { + visit(`/app/fleet/settings/outputs/${kafkaOutputToLogstashId}`); + cy.getBySel(SETTINGS_OUTPUTS.TYPE_INPUT).select('logstash'); + cy.getBySel(kafkaOutputFormValues.name.selector).clear().type('kafka_to_logstash'); + cy.get('[placeholder="Specify host"').clear().type('localhost:5000'); + cy.get('[placeholder="Specify ssl certificate"]').clear().type('SSL CERTIFICATE'); + cy.get('[placeholder="Specify certificate key"]').clear().type('SSL KEY'); + + cy.intercept('PUT', '**/api/fleet/outputs/**').as('saveOutput'); + + cy.getBySel(SETTINGS_SAVE_BTN).click(); + cy.getBySel(SETTINGS_CONFIRM_MODAL_BTN).click(); + + // wait for the save request to finish to avoid race condition + cy.wait('@saveOutput').then(() => { + visit(`/app/fleet/settings/outputs/${kafkaOutputToLogstashId}`); + }); + + cy.getBySel(SETTINGS_OUTPUTS.TYPE_INPUT).should('have.value', 'logstash'); + cy.getBySel(kafkaOutputFormValues.name.selector).should( + 'have.value', + 'kafka_to_logstash' + ); + }); + }); + } + }); +}); diff --git a/x-pack/plugins/fleet/cypress/screens/fleet.ts b/x-pack/plugins/fleet/cypress/screens/fleet.ts index 99c5828183495..b21dfa7c4e66c 100644 --- a/x-pack/plugins/fleet/cypress/screens/fleet.ts +++ b/x-pack/plugins/fleet/cypress/screens/fleet.ts @@ -64,6 +64,7 @@ export const UNINSTALL_TOKENS = { export const SETTINGS_FLEET_SERVER_HOST_HEADING = 'fleetServerHostHeader'; export const SETTINGS_SAVE_BTN = 'saveApplySettingsBtn'; +export const SETTINGS_CONFIRM_MODAL_BTN = 'confirmModalConfirmButton'; export const AGENT_POLICY_SYSTEM_MONITORING_CHECKBOX = 'agentPolicyFormSystemMonitoringCheckbox'; export const INSTALL_INTEGRATIONS_ADVANCE_OPTIONS_BTN = 'AgentPolicyAdvancedOptions.AccordionBtn'; @@ -119,6 +120,62 @@ export const SETTINGS_OUTPUTS = { ADD_BTN: 'addOutputBtn', NAME_INPUT: 'settingsOutputsFlyout.nameInput', TYPE_INPUT: 'settingsOutputsFlyout.typeInput', + ADD_HOST_ROW_BTN: 'fleetServerHosts.multiRowInput.addRowButton', +}; + +export const getSpecificSelectorId = (selector: string, id: number) => { + const lastChar = selector.charAt(selector.length - 1); + + if (!isNaN(Number(lastChar))) { + return selector.slice(0, selector.length - 1) + id; + } + + return selector; +}; + +export const SETTINGS_OUTPUTS_KAFKA = { + VERSION_SELECT: 'settingsOutputsFlyout.kafkaVersionInput', + AUTHENTICATION_SELECT: 'settingsOutputsFlyout.kafkaAuthenticationRadioInput', + AUTHENTICATION_USERNAME_PASSWORD_OPTION: 'kafkaAuthenticationUsernamePasswordRadioButton', + AUTHENTICATION_SSL_OPTION: 'kafkaAuthenticationSSLRadioButton', + AUTHENTICATION_KERBEROS_OPTION: 'kafkaAuthenticationKerberosRadioButton', + AUTHENTICATION_USERNAME_INPUT: 'settingsOutputsFlyout.kafkaUsernameInput', + AUTHENTICATION_PASSWORD_INPUT: 'settingsOutputsFlyout.kafkaPasswordInput', + AUTHENTICATION_SASL_SELECT: 'settingsOutputsFlyout.kafkaSaslInput', + AUTHENTICATION_SASL_PLAIN_OPTION: 'kafkaSaslPlainRadioButton', + AUTHENTICATION_SASL_SCRAM_256_OPTION: 'kafkaSaslScramSha256RadioButton', + AUTHENTICATION_SASL_SCRAM_512_OPTION: 'kafkaSaslScramSha512RadioButton', + PARTITIONING_PANEL: 'settingsOutputsFlyout.kafkaPartitionPanel', + PARTITIONING_SELECT: 'settingsOutputsFlyout.kafkaPartitioningRadioInput', + PARTITIONING_RANDOM_OPTION: 'kafkaPartitionRandomRadioButton', + PARTITIONING_HASH_OPTION: 'kafkaPartitionHashRadioButton', + PARTITIONING_ROUND_ROBIN_OPTION: 'kafkaPartitionRoundRobinRadioButton', + PARTITIONING_EVENTS_INPUT: 'settingsOutputsFlyout.kafkaPartitionTypeRandomInput', + PARTITIONING_HASH_INPUT: 'settingsOutputsFlyout.kafkaPartitionTypeHashInput', + TOPICS_PANEL: 'settingsOutputsFlyout.kafkaTopicsPanel', + TOPICS_DEFAULT_TOPIC_INPUT: 'settingsOutputsFlyout.kafkaDefaultTopicInput', + TOPICS_ADD_ROW_BUTTON: 'fleetServerHosts.kafkaTopicsInput.addRowButton', + TOPICS_DRAG_HANDLE_ICON: 'settingsOutputsFlyout.kafkaTopicsProcessorDragHandle0', + TOPICS_WHEN_INPUT: 'settingsOutputsFlyout.kafkaTopicsProcessorWhenInput0', + TOPICS_CONDITION_INPUT: 'settingsOutputsFlyout.kafkaTopicsProcessorConditionInput0', + TOPICS_TOPIC_INPUT: 'settingsOutputsFlyout.kafkaTopicsProcessorTopicInput0', + TOPICS_REMOVE_ROW_BUTTON: 'settingsOutputsFlyout.kafkaTopicsProcessorDeleteButton0', + HEADERS_PANEL: 'settingsOutputsFlyout.kafkaHeadersPanel', + HEADERS_KEY_INPUT: 'settingsOutputsFlyout.kafkaHeadersKeyInput0', + HEADERS_VALUE_INPUT: 'settingsOutputsFlyout.kafkaHeadersValueInput0', + HEADERS_ADD_ROW_BUTTON: 'kafkaHeaders.multiRowInput.addRowButton', + HEADERS_REMOVE_ROW_BUTTON: 'settingsOutputsFlyout.kafkaHeadersDeleteButton0', + HEADERS_CLIENT_ID_INPUT: 'settingsOutputsFlyout.kafkaClientIdInput', + COMPRESSION_PANEL: 'settingsOutputsFlyout.kafkaCompressionPanel', + COMPRESSION_SWITCH: 'settingsOutputsFlyout.kafkaCompressionSwitch', + COMPRESSION_CODEC_INPUT: 'settingsOutputsFlyout.kafkaCompressionCodecInput', + COMPRESSION_LEVEL_INPUT: 'settingsOutputsFlyout.kafkaCompressionLevelInput', + BROKER_PANEL: 'settingsOutputsFlyout.kafkaBrokerSettingsPanel', + BROKER_TIMEOUT_SELECT: 'settingsOutputsFlyout.kafkaBrokerTimeoutInput', + BROKER_REACHABILITY_TIMEOUT_SELECT: 'settingsOutputsFlyout.kafkaBrokerReachabilityTimeoutInput', + BROKER_CHANNEL_BUFFER_SIZE_SELECT: 'settingsOutputsFlyout.kafkaBrokerChannelBufferSizeInput', + BROKER_ACK_RELIABILITY_SELECT: 'settingsOutputsFlyout.kafkaBrokerAckReliabilityInputLabel', + KEY_INPUT: 'settingsOutputsFlyout.kafkaKeyInput', }; export const SETTINGS_FLEET_SERVER_HOSTS = { diff --git a/x-pack/plugins/fleet/cypress/screens/fleet_outputs.ts b/x-pack/plugins/fleet/cypress/screens/fleet_outputs.ts new file mode 100644 index 0000000000000..c5f7a852197c1 --- /dev/null +++ b/x-pack/plugins/fleet/cypress/screens/fleet_outputs.ts @@ -0,0 +1,300 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { request } from '@kbn/osquery-plugin/cypress/tasks/common'; + +import { visit } from '../tasks/common'; + +import { + getSpecificSelectorId, + SETTINGS_CONFIRM_MODAL_BTN, + SETTINGS_OUTPUTS, + SETTINGS_OUTPUTS_KAFKA, + SETTINGS_SAVE_BTN, +} from './fleet'; + +export const selectKafkaOutput = () => { + visit('/app/fleet/settings'); + cy.getBySel(SETTINGS_OUTPUTS.ADD_BTN).click(); + cy.getBySel(SETTINGS_OUTPUTS.TYPE_INPUT).select('kafka'); +}; + +export const shouldDisplayError = (handler: string) => { + cy.getBySel(handler).should('have.attr', 'aria-invalid', 'true'); +}; + +export const interceptOutputId = (cb: (caseId: string) => void) => { + cy.intercept('POST', '**/api/fleet/outputs', (req) => { + req.continue((res) => { + cb(res.body.item.id); + return res.send(res.body); + }); + }); +}; + +export const cleanupOutput = (outputId: string) => { + cy.request({ + method: 'DELETE', + url: `/api/fleet/outputs/${outputId}`, + headers: { 'kbn-xsrf': 'xx' }, + }); +}; + +const loadOutput = (body: Record) => + request<{ item: { id: string } }>({ + method: 'POST', + body, + url: `/api/fleet/outputs`, + headers: { 'kbn-xsrf': 'xx' }, + }).then((response) => response.body); + +export const kafkaOutputBody = { + name: 'kafka_test1', + type: 'kafka', + is_default: false, + hosts: ['https://example.com'], + topics: [{ topic: 'test' }], + auth_type: 'user_pass', + username: 'kafka', + password: 'kafka', +}; + +export const loadKafkaOutput = () => loadOutput(kafkaOutputBody); + +export const loadESOutput = () => + loadOutput({ + name: 'es', + type: 'elasticsearch', + is_default: false, + is_default_monitoring: false, + hosts: ['https://bla.co'], + }); + +export const loadLogstashOutput = () => + loadOutput({ + name: 'ls', + type: 'logstash', + is_default: false, + is_default_monitoring: false, + hosts: ['bla.co'], + }); + +export const kafkaOutputFormValues = { + name: { + selector: SETTINGS_OUTPUTS.NAME_INPUT, + value: 'kafka test', + }, + username: { + selector: SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_USERNAME_INPUT, + value: 'test_username', + }, + password: { + selector: SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_PASSWORD_INPUT, + value: 'test_password', + }, + hash: { + selector: SETTINGS_OUTPUTS_KAFKA.PARTITIONING_HASH_INPUT, + value: 'testHash', + }, + defaultTopic: { + selector: SETTINGS_OUTPUTS_KAFKA.TOPICS_DEFAULT_TOPIC_INPUT, + value: 'testDefaultTopic', + }, + firstTopic: { + selector: SETTINGS_OUTPUTS_KAFKA.TOPICS_TOPIC_INPUT, + value: 'testTopic1', + }, + firstTopicCondition: { + selector: SETTINGS_OUTPUTS_KAFKA.TOPICS_CONDITION_INPUT, + value: 'testCondition', + }, + firstTopicWhen: { + selector: SETTINGS_OUTPUTS_KAFKA.TOPICS_WHEN_INPUT, + value: 'equals', + }, + secondTopic: { + selector: getSpecificSelectorId(SETTINGS_OUTPUTS_KAFKA.TOPICS_TOPIC_INPUT, 1), + value: 'testTopic1', + }, + secondTopicCondition: { + selector: getSpecificSelectorId(SETTINGS_OUTPUTS_KAFKA.TOPICS_CONDITION_INPUT, 1), + value: 'testCondition1', + }, + secondTopicWhen: { + selector: getSpecificSelectorId(SETTINGS_OUTPUTS_KAFKA.TOPICS_WHEN_INPUT, 1), + value: 'contains', + }, + firstHeaderKey: { + selector: SETTINGS_OUTPUTS_KAFKA.HEADERS_KEY_INPUT, + value: 'testKey', + }, + firstHeaderValue: { + selector: SETTINGS_OUTPUTS_KAFKA.HEADERS_VALUE_INPUT, + value: 'testValue', + }, + secondHeaderKey: { + selector: getSpecificSelectorId(SETTINGS_OUTPUTS_KAFKA.HEADERS_KEY_INPUT, 1), + value: 'testKey1', + }, + secondHeaderValue: { + selector: getSpecificSelectorId(SETTINGS_OUTPUTS_KAFKA.HEADERS_VALUE_INPUT, 1), + value: 'testValue1', + }, + compressionCoded: { + selector: SETTINGS_OUTPUTS_KAFKA.COMPRESSION_CODEC_INPUT, + value: 'gzip', + }, + compressionLevel: { + selector: SETTINGS_OUTPUTS_KAFKA.COMPRESSION_LEVEL_INPUT, + value: '1', + }, + brokerAckReliability: { + selector: SETTINGS_OUTPUTS_KAFKA.BROKER_ACK_RELIABILITY_SELECT, + value: 'Do not wait', + }, + brokerChannelBufferSize: { + selector: SETTINGS_OUTPUTS_KAFKA.BROKER_CHANNEL_BUFFER_SIZE_SELECT, + value: '512', + }, + brokerTimeout: { + selector: SETTINGS_OUTPUTS_KAFKA.BROKER_TIMEOUT_SELECT, + value: '10', + }, + brokerReachabilityTimeout: { + selector: SETTINGS_OUTPUTS_KAFKA.BROKER_REACHABILITY_TIMEOUT_SELECT, + value: '20', + }, + key: { + selector: SETTINGS_OUTPUTS_KAFKA.KEY_INPUT, + value: 'testKey', + }, +}; + +export const resetKafkaOutputForm = () => { + cy.getBySel(kafkaOutputFormValues.name.selector).clear(); + cy.get('[placeholder="Specify host"').clear(); + cy.getBySel(kafkaOutputFormValues.username.selector).clear(); + cy.getBySel(kafkaOutputFormValues.password.selector).clear(); + cy.getBySel(kafkaOutputFormValues.defaultTopic.selector).clear(); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.COMPRESSION_SWITCH).click(); +}; + +export const fillInKafkaOutputForm = () => { + cy.getBySel(kafkaOutputFormValues.name.selector).type(kafkaOutputFormValues.name.value); + cy.get('[placeholder="Specify host"').clear().type('http://localhost:5000'); + cy.getBySel(kafkaOutputFormValues.username.selector).type(kafkaOutputFormValues.username.value); + cy.getBySel(kafkaOutputFormValues.password.selector).type(kafkaOutputFormValues.password.value); + + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_SASL_SCRAM_256_OPTION).click(); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.PARTITIONING_HASH_OPTION).click(); + + cy.getBySel(kafkaOutputFormValues.hash.selector).type(kafkaOutputFormValues.hash.value); + cy.getBySel(kafkaOutputFormValues.defaultTopic.selector).type( + kafkaOutputFormValues.defaultTopic.value + ); + + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_ADD_ROW_BUTTON).click(); + + cy.getBySel(kafkaOutputFormValues.firstTopic.selector).type( + kafkaOutputFormValues.firstTopic.value + ); + cy.getBySel(kafkaOutputFormValues.firstTopicCondition.selector).type( + kafkaOutputFormValues.firstTopicCondition.value + ); + cy.getBySel(kafkaOutputFormValues.firstTopicWhen.selector).select( + kafkaOutputFormValues.firstTopicWhen.value + ); + + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.TOPICS_ADD_ROW_BUTTON).click(); + + cy.getBySel(kafkaOutputFormValues.secondTopic.selector).type( + kafkaOutputFormValues.secondTopic.value + ); + cy.getBySel(kafkaOutputFormValues.secondTopicCondition.selector).type( + kafkaOutputFormValues.secondTopicCondition.value + ); + cy.getBySel(kafkaOutputFormValues.secondTopicWhen.selector).select( + kafkaOutputFormValues.secondTopicWhen.value + ); + + cy.getBySel(kafkaOutputFormValues.firstHeaderKey.selector).type( + kafkaOutputFormValues.firstHeaderKey.value + ); + cy.getBySel(kafkaOutputFormValues.firstHeaderValue.selector).type( + kafkaOutputFormValues.firstHeaderValue.value + ); + + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.HEADERS_ADD_ROW_BUTTON).click(); + + cy.getBySel(kafkaOutputFormValues.secondHeaderKey.selector).type( + kafkaOutputFormValues.secondHeaderKey.value + ); + cy.getBySel(kafkaOutputFormValues.secondHeaderValue.selector).type( + kafkaOutputFormValues.secondHeaderValue.value + ); + + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.COMPRESSION_SWITCH).click(); + + cy.getBySel(kafkaOutputFormValues.compressionCoded.selector).select( + kafkaOutputFormValues.compressionCoded.value + ); + cy.getBySel(kafkaOutputFormValues.compressionLevel.selector).select( + kafkaOutputFormValues.compressionLevel.value + ); + + cy.getBySel(kafkaOutputFormValues.brokerAckReliability.selector).select( + kafkaOutputFormValues.brokerAckReliability.value + ); + cy.getBySel(kafkaOutputFormValues.brokerChannelBufferSize.selector).select( + kafkaOutputFormValues.brokerChannelBufferSize.value + ); + cy.getBySel(kafkaOutputFormValues.brokerTimeout.selector).select( + kafkaOutputFormValues.brokerTimeout.value + ); + cy.getBySel(kafkaOutputFormValues.brokerReachabilityTimeout.selector).select( + kafkaOutputFormValues.brokerReachabilityTimeout.value + ); + cy.getBySel(kafkaOutputFormValues.key.selector).type(kafkaOutputFormValues.key.value); +}; + +export const validateSavedKafkaOutputForm = () => { + Object.keys(kafkaOutputFormValues).forEach((key: string) => { + const { selector, value } = kafkaOutputFormValues[key as keyof typeof kafkaOutputFormValues]; + cy.getBySel(selector).should('have.value', value); + }); + + cy.getBySel(SETTINGS_OUTPUTS.TYPE_INPUT).should('have.value', 'kafka'); + + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.AUTHENTICATION_SASL_SCRAM_256_OPTION) + .find('input') + .should('be.checked'); + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.PARTITIONING_HASH_OPTION).find('input').should('be.checked'); + + cy.getBySel(SETTINGS_OUTPUTS_KAFKA.COMPRESSION_SWITCH).should( + 'have.attr', + 'aria-checked', + 'true' + ); +}; + +export const validateOutputTypeChangeToKafka = (outputId: string) => { + visit(`/app/fleet/settings/outputs/${outputId}`); + cy.getBySel(kafkaOutputFormValues.name.selector).clear(); + cy.getBySel(SETTINGS_OUTPUTS.TYPE_INPUT).select('kafka'); + fillInKafkaOutputForm(); + cy.intercept('PUT', '**/api/fleet/outputs/**').as('saveOutput'); + + cy.getBySel(SETTINGS_SAVE_BTN).click(); + cy.getBySel(SETTINGS_CONFIRM_MODAL_BTN).click(); + + // wait for the save request to finish to avoid race condition + cy.wait('@saveOutput').then(() => { + visit(`/app/fleet/settings/outputs/${outputId}`); + }); + + validateSavedKafkaOutputForm(); +}; diff --git a/x-pack/plugins/fleet/cypress/tasks/common.ts b/x-pack/plugins/fleet/cypress/tasks/common.ts new file mode 100644 index 0000000000000..dffeb93fd914d --- /dev/null +++ b/x-pack/plugins/fleet/cypress/tasks/common.ts @@ -0,0 +1,80 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { encode } from '@kbn/rison'; + +import type { ROLES } from './privileges'; + +import { getUrlWithRoute } from './login'; + +const LOADING_INDICATOR = '[data-test-subj="globalLoadingIndicator"]'; +const LOADING_INDICATOR_HIDDEN = '[data-test-subj="globalLoadingIndicator-hidden"]'; + +/** + * For all the new features tours we show in the app, this method disables them + * by setting their configs in the local storage. It prevents the tours from appearing + * on the page during test runs and covering other UI elements. + * @param window - browser's window object + */ + +const NEW_FEATURES_TOUR_STORAGE_KEYS = { + RULE_MANAGEMENT_PAGE: 'securitySolution.rulesManagementPage.newFeaturesTour.v8.9', +}; + +const disableNewFeaturesTours = (window: Window) => { + const tourStorageKeys = Object.values(NEW_FEATURES_TOUR_STORAGE_KEYS); + const tourConfig = { + isTourActive: false, + }; + + tourStorageKeys.forEach((key) => { + window.localStorage.setItem(key, JSON.stringify(tourConfig)); + }); +}; + +export const waitForPageToBeLoaded = () => { + cy.get(LOADING_INDICATOR_HIDDEN).should('exist'); + cy.get(LOADING_INDICATOR).should('not.exist'); +}; + +export const visit = (url: string, options: Partial = {}, role?: ROLES) => { + const timerangeConfig = { + from: 1547914976217, + fromStr: '2019-01-19T16:22:56.217Z', + kind: 'relative', + to: 1579537385745, + toStr: 'now', + }; + + const timerange = encode({ + global: { + linkTo: ['timeline'], + timerange: timerangeConfig, + }, + timeline: { + linkTo: ['global'], + timerange: timerangeConfig, + }, + }); + + cy.visit(role ? getUrlWithRoute(role, url) : url, { + ...options, + qs: { + ...options.qs, + timerange, + }, + onBeforeLoad: (win) => { + options.onBeforeLoad?.(win); + + disableNewFeaturesTours(win); + }, + onLoad: (win) => { + options.onLoad?.(win); + }, + }); + waitForPageToBeLoaded(); +}; diff --git a/x-pack/plugins/fleet/cypress/tsconfig.json b/x-pack/plugins/fleet/cypress/tsconfig.json index d79de0f455b6b..c1aa789f67c58 100644 --- a/x-pack/plugins/fleet/cypress/tsconfig.json +++ b/x-pack/plugins/fleet/cypress/tsconfig.json @@ -26,6 +26,8 @@ { "path": "../tsconfig.json", "force": true - } + }, + "@kbn/rison", + "@kbn/osquery-plugin/cypress" ] } diff --git a/x-pack/plugins/fleet/public/applications/fleet/app.tsx b/x-pack/plugins/fleet/public/applications/fleet/app.tsx index 72167b27c819d..d7b8172e70c3e 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/app.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/app.tsx @@ -255,7 +255,8 @@ export const FleetAppContext: React.FC<{ theme$, fleetStatus, }) => { - const isDarkMode = useObservable(startServices.uiSettings.get$('theme:darkMode')); + const darkModeObservable = useObservable(startServices.theme.theme$); + const isDarkMode = darkModeObservable && darkModeObservable.darkMode; return ( diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/step_select_agent_policy.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/step_select_agent_policy.test.tsx index 1b267f7eee695..a9054beaf196c 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/step_select_agent_policy.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/step_select_agent_policy.test.tsx @@ -59,7 +59,7 @@ describe('step select agent policy', () => { }); test('should not select agent policy by default if multiple exists', async () => { - useGetAgentPoliciesMock.mockReturnValueOnce({ + useGetAgentPoliciesMock.mockReturnValue({ data: { items: [ { id: 'policy-1', name: 'Policy 1' }, diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/index.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/index.test.tsx index 8a1877d507fae..d577a1643ac0c 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/index.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/index.test.tsx @@ -35,6 +35,38 @@ function renderFlyout(output?: Output) { return { utils }; } + +const logstashInputsLabels = [ + 'Client SSL certificate key', + 'Client SSL certificate', + 'Server SSL certificate authorities (optional)', +]; + +const kafkaInputsLabels = [ + 'Username', + 'Password', + 'SASL Mechanism', + 'Partitioning strategy', + 'Number of events', + 'Default topic', + 'Key', + 'Value', + 'Broker timeout', + 'Broker reachability timeout', + 'Channel buffer size', + 'ACK Reliability', + 'Key (optional)', +]; + +const kafkaSectionsLabels = [ + 'Authentication', + 'Partitioning', + 'Topics', + 'Headers', + 'Compression', + 'Broker settings', +]; + describe('EditOutputFlyout', () => { it('should render the flyout if there is not output provided', async () => { renderFlyout(); @@ -52,10 +84,20 @@ describe('EditOutputFlyout', () => { expect( utils.queryByLabelText('Elasticsearch CA trusted fingerprint (optional)') ).not.toBeNull(); + // Does not show logstash SSL inputs - expect(utils.queryByLabelText('Client SSL certificate key')).toBeNull(); - expect(utils.queryByLabelText('Client SSL certificate')).toBeNull(); - expect(utils.queryByLabelText('Server SSL certificate authorities (optional)')).toBeNull(); + logstashInputsLabels.forEach((label) => { + expect(utils.queryByLabelText(label)).toBeNull(); + }); + + // Does not show kafka inputs nor sections + kafkaInputsLabels.forEach((label) => { + expect(utils.queryByLabelText(label)).toBeNull(); + }); + + kafkaSectionsLabels.forEach((label) => { + expect(utils.queryByText(label)).toBeNull(); + }); }); it('should render the flyout if the output provided is a logstash output', async () => { @@ -68,9 +110,42 @@ describe('EditOutputFlyout', () => { }); // Show logstash SSL inputs - expect(utils.queryByLabelText('Client SSL certificate key')).not.toBeNull(); - expect(utils.queryByLabelText('Client SSL certificate')).not.toBeNull(); - expect(utils.queryByLabelText('Server SSL certificate authorities (optional)')).not.toBeNull(); + logstashInputsLabels.forEach((label) => { + expect(utils.queryByLabelText(label)).not.toBeNull(); + }); + + // Does not show kafka inputs nor sections + kafkaInputsLabels.forEach((label) => { + expect(utils.queryByLabelText(label)).toBeNull(); + }); + + kafkaSectionsLabels.forEach((label) => { + expect(utils.queryByText(label)).toBeNull(); + }); + }); + + it('should render the flyout if the output provided is a kafka output', async () => { + const { utils } = renderFlyout({ + type: 'kafka', + name: 'kafka output', + id: 'output123', + is_default: false, + is_default_monitoring: false, + }); + + // Show kafka inputs + kafkaInputsLabels.forEach((label) => { + expect(utils.queryByLabelText(label)).not.toBeNull(); + }); + + kafkaSectionsLabels.forEach((label) => { + expect(utils.queryByText(label)).not.toBeNull(); + }); + + // Does not show logstash inputs + logstashInputsLabels.forEach((label) => { + expect(utils.queryByLabelText(label)).toBeNull(); + }); }); it('should show a callout in the flyout if the selected output is logstash and no encrypted key is set', async () => { diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/index.tsx index e9f09a4c8b8e1..3f2055e999914 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/index.tsx @@ -27,15 +27,25 @@ import { EuiSpacer, EuiLink, EuiComboBox, + EuiBetaBadge, + useEuiTheme, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; +import { css } from '@emotion/react/dist/emotion-react.cjs'; + +import { ExperimentalFeaturesService } from '../../../../../../services'; + +import { outputType } from '../../../../../../../common/constants'; + import { MultiRowInput } from '../multi_row_input'; import type { Output, FleetProxy } from '../../../../types'; import { FLYOUT_MAX_WIDTH } from '../../constants'; import { LogstashInstructions } from '../logstash_instructions'; import { useBreadcrumbs, useStartServices } from '../../../../hooks'; +import { OutputFormKafkaSection } from './output_form_kafka'; + import { YamlCodeEditorWithPlaceholder } from './yaml_code_editor_with_placeholder'; import { useOutputForm } from './use_output_form'; import { EncryptionKeyRequiredCallout } from './encryption_key_required_callout'; @@ -47,11 +57,6 @@ export interface EditOutputFlyoutProps { proxies: FleetProxy[]; } -const OUTPUT_TYPE_OPTIONS = [ - { value: 'elasticsearch', text: 'Elasticsearch' }, - { value: 'logstash', text: 'Logstash' }, -]; - export const EditOutputFlyout: React.FunctionComponent = ({ onClose, output, @@ -61,17 +66,188 @@ export const EditOutputFlyout: React.FunctionComponent = const form = useOutputForm(onClose, output); const inputs = form.inputs; const { docLinks } = useStartServices(); + const { euiTheme } = useEuiTheme(); const proxiesOptions = useMemo( () => proxies.map((proxy) => ({ value: proxy.id, label: proxy.name })), [proxies] ); - const isLogstashOutput = inputs.typeInput.value === 'logstash'; - const isESOutput = inputs.typeInput.value === 'elasticsearch'; + const isESOutput = inputs.typeInput.value === outputType.Elasticsearch; + const { kafkaOutput: isKafkaOutputEnabled } = ExperimentalFeaturesService.get(); + + const OUTPUT_TYPE_OPTIONS = [ + { value: outputType.Elasticsearch, text: 'Elasticsearch' }, + { value: outputType.Logstash, text: 'Logstash' }, + ...(isKafkaOutputEnabled ? [{ value: outputType.Kafka, text: 'Kafka' }] : []), + ]; + + const renderLogstashSection = () => { + return ( + <> + {!form.hasEncryptedSavedObjectConfigured && ( + <> + + + + )} + + + + + + + ), + }} + /> + } + label={i18n.translate('xpack.fleet.settings.editOutputFlyout.logstashHostsInputLabel', { + defaultMessage: 'Logstash hosts', + })} + {...inputs.logstashHostsInput.props} + /> + + + } + {...inputs.sslCertificateInput.formRowProps} + > + + + + } + {...inputs.sslKeyInput.formRowProps} + > + + + + ); + }; + + const renderElasticsearchSection = () => { + return ( + <> + + + } + {...inputs.caTrustedFingerprintInput.formRowProps} + > + + + + ); + }; + + const renderKafkaSection = () => { + if (isKafkaOutputEnabled) { + return ; + } + return null; + }; - const showLogstashNeedEncryptedSavedObjectCallout = - isLogstashOutput && !form.hasEncryptedSavedObjectConfigured; + const renderOutputTypeSection = (type: string) => { + switch (type) { + case outputType.Logstash: + return renderLogstashSection(); + case outputType.Kafka: + return renderKafkaSection(); + case outputType.Elasticsearch: + default: + return renderElasticsearchSection(); + } + }; return ( @@ -139,10 +315,26 @@ export const EditOutputFlyout: React.FunctionComponent = + <> + + {inputs.typeInput.value === outputType.Kafka && ( + + )} + } > <> @@ -178,159 +370,9 @@ export const EditOutputFlyout: React.FunctionComponent = )} - {showLogstashNeedEncryptedSavedObjectCallout && ( - <> - - - - )} - {isLogstashOutput && ( - <> - - - - - )} - {isESOutput && ( - - )} - {isLogstashOutput && ( - - - - ), - }} - /> - } - label={i18n.translate( - 'xpack.fleet.settings.editOutputFlyout.logstashHostsInputLabel', - { - defaultMessage: 'Logstash hosts', - } - )} - {...inputs.logstashHostsInput.props} - /> - )} - {isESOutput && ( - - } - {...inputs.caTrustedFingerprintInput.formRowProps} - > - - - )} - {isLogstashOutput && ( - - )} - {isLogstashOutput && ( - - } - {...inputs.sslCertificateInput.formRowProps} - > - - - )} - {isLogstashOutput && ( - - } - {...inputs.sslKeyInput.formRowProps} - > - - - )} + + {renderOutputTypeSection(inputs.typeInput.value)} + = (props) => { + const { inputs } = props; + + const { docLinks } = useStartServices(); + + const kafkaVersionOptions = useMemo( + () => + kafkaSupportedVersions.map((version) => ({ + text: version, + label: version, + })), + [] + ); + + return ( + <> + + } + > + + + + + + + ), + }} + /> + } + label={i18n.translate('xpack.fleet.settings.editOutputFlyout.kafkaHostsInputLabel', { + defaultMessage: 'Hosts', + })} + {...inputs.kafkaHostsInput.props} + /> + + + + + + + + + + + + + + + + + + + + + + } + helpText={ + + } + > + + + + ); +}; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_authentication.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_authentication.tsx new file mode 100644 index 0000000000000..271f3fe144aca --- /dev/null +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_authentication.tsx @@ -0,0 +1,225 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; + +import { i18n } from '@kbn/i18n'; +import { + EuiFieldText, + EuiFormRow, + EuiPanel, + EuiRadioGroup, + EuiSpacer, + EuiTextArea, + EuiTitle, +} from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; + +import { MultiRowInput } from '../multi_row_input'; +import { kafkaAuthType, kafkaSaslMechanism } from '../../../../../../../common/constants'; + +import type { OutputFormInputsType } from './use_output_form'; + +const kafkaSaslOptions = [ + { + id: kafkaSaslMechanism.Plain, + label: 'Plain', + 'data-test-subj': 'kafkaSaslPlainRadioButton', + }, + { + id: kafkaSaslMechanism.ScramSha256, + label: 'SCRAM-SHA-256', + 'data-test-subj': 'kafkaSaslScramSha256RadioButton', + }, + { + id: kafkaSaslMechanism.ScramSha512, + label: 'SCRAM-SHA-512', + 'data-test-subj': 'kafkaSaslScramSha512RadioButton', + }, +]; + +const kafkaAuthenticationsOptions = [ + { + id: kafkaAuthType.Userpass, + label: 'Username / Password', + 'data-test-subj': 'kafkaAuthenticationUsernamePasswordRadioButton', + }, + { + id: kafkaAuthType.Ssl, + label: 'SSL', + 'data-test-subj': 'kafkaAuthenticationSSLRadioButton', + }, + { + id: kafkaAuthType.Kerberos, + label: 'Kerberos', + 'data-test-subj': 'kafkaAuthenticationKerberosRadioButton', + }, +]; + +export const OutputFormKafkaAuthentication: React.FunctionComponent<{ + inputs: OutputFormInputsType; +}> = (props) => { + const { inputs } = props; + + const renderAuthentication = () => { + switch (inputs.kafkaAuthMethodInput.value) { + case kafkaAuthType.Ssl: + return ( + <> + + + } + {...inputs.kafkaSslCertificateInput.formRowProps} + > + + + + } + {...inputs.kafkaSslKeyInput.formRowProps} + > + + + + ); + case kafkaAuthType.Kerberos: + return null; + default: + case kafkaAuthType.Userpass: + return ( + <> + + } + {...inputs.kafkaAuthUsernameInput.formRowProps} + > + + + + } + {...inputs.kafkaAuthPasswordInput.formRowProps} + > + + + + } + > + + + + ); + } + }; + + return ( + + +

    + +

    +
    + + + + + {renderAuthentication()} +
    + ); +}; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_broker.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_broker.tsx new file mode 100644 index 0000000000000..f6b0477c81515 --- /dev/null +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_broker.tsx @@ -0,0 +1,160 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { EuiFormRow, EuiPanel, EuiSelect, EuiSpacer, EuiTitle } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; +import React, { useMemo } from 'react'; + +import { kafkaAcknowledgeReliabilityLevel } from '../../../../../../../common/constants'; + +import type { OutputFormInputsType } from './use_output_form'; + +export const OutputFormKafkaBroker: React.FunctionComponent<{ inputs: OutputFormInputsType }> = ( + props +) => { + const { inputs } = props; + + const kafkaBrokerTimeoutOptions = useMemo( + () => + Array.from({ length: 6 }, (_, i) => (i + 1) * 10).map((timeout) => ({ + text: timeout, + label: `${timeout} seconds`, + })), + [] + ); + + const kafkaBrokerChannelBufferSizeOptions = useMemo( + () => + Array.from({ length: 4 }, (_, i) => Math.pow(2, i + 7)).map((buffer) => ({ + text: buffer, + label: `${buffer}`, + })), + [] + ); + const kafkaBrokerAckReliabilityOptions = useMemo( + () => + ( + Object.keys(kafkaAcknowledgeReliabilityLevel) as Array< + keyof typeof kafkaAcknowledgeReliabilityLevel + > + ).map((key) => { + return { + text: kafkaAcknowledgeReliabilityLevel[key], + label: kafkaAcknowledgeReliabilityLevel[key], + }; + }), + [] + ); + + return ( + + +

    + +

    +
    + + + } + helpText={ + + } + > + + + + } + helpText={ + + } + > + + + + } + helpText={ + + } + > + + + + } + helpText={ + + } + > + + +
    + ); +}; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_compression.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_compression.tsx new file mode 100644 index 0000000000000..704fdfa893603 --- /dev/null +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_compression.tsx @@ -0,0 +1,127 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { EuiFormRow, EuiPanel, EuiSelect, EuiSpacer, EuiSwitch, EuiTitle } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; + +import React, { useMemo } from 'react'; + +import { kafkaCompressionType } from '../../../../../../../common/constants'; + +import type { OutputFormInputsType } from './use_output_form'; + +export const OutputFormKafkaCompression: React.FunctionComponent<{ + inputs: OutputFormInputsType; +}> = (props) => { + const { inputs } = props; + + const kafkaCompressionTypeOptions = useMemo( + () => + (Object.keys(kafkaCompressionType) as Array).map( + (key) => ({ + text: kafkaCompressionType[key], + label: kafkaCompressionType[key], + }) + ), + [] + ); + + const kafkaCompressionLevelOptions = useMemo( + () => + Array.from({ length: 9 }, (_, i) => i + 1).map((level) => ({ + text: level, + label: level.toString(), + })), + [] + ); + + const renderCompression = () => { + if (!inputs.kafkaCompressionInput.value) { + return null; + } + + return ( + <> + + + + } + > + + + + {inputs.kafkaCompressionCodecInput.value === kafkaCompressionType.Gzip && ( + + } + > + + + )} + + ); + }; + + return ( + + +

    + +

    +
    + + { + if (!e.target.checked) { + // Reset compression codec, if compression is disabled. In Api there is no compression state, only codec and level. + inputs.kafkaCompressionCodecInput.setValue(kafkaCompressionType.None); + } + inputs.kafkaCompressionInput.setValue(e.target.checked); + }} + label={ + + } + /> + {renderCompression()} +
    + ); +}; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_headers.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_headers.tsx new file mode 100644 index 0000000000000..3f605463a65bc --- /dev/null +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_headers.tsx @@ -0,0 +1,210 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + EuiButtonEmpty, + EuiButtonIcon, + EuiFieldText, + EuiFlexGroup, + EuiFlexItem, + EuiFormErrorText, + EuiFormRow, + EuiPanel, + EuiSpacer, + EuiTitle, +} from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; +import React, { useCallback, useMemo, useState } from 'react'; + +import { i18n } from '@kbn/i18n'; + +import type { OutputFormInputsType } from './use_output_form'; + +export const OutputFormKafkaHeaders: React.FunctionComponent<{ inputs: OutputFormInputsType }> = ( + props +) => { + const { inputs } = props; + const { + props: { onChange }, + value: keyValuePairs, + formRowProps: { error: errors }, + } = inputs.kafkaHeadersInput; + + const [autoFocus, setAutoFocus] = useState(false); + + const handleKeyValuePairChange = useCallback( + (index: number, field: 'key' | 'value', value: string) => { + const updatedPairs = [...keyValuePairs]; + updatedPairs[index][field] = value; + onChange(updatedPairs); + }, + [keyValuePairs, onChange] + ); + + const addKeyValuePair = useCallback(() => { + setAutoFocus(true); + const updatedPairs = [...keyValuePairs, { key: '', value: '' }]; + onChange(updatedPairs); + }, [keyValuePairs, onChange]); + + const deleteKeyValuePair = useCallback( + (index: number) => { + const updatedPairs = keyValuePairs.filter((_, i) => i !== index); + onChange(updatedPairs); + }, + [keyValuePairs, onChange] + ); + + const deleteButtonDisabled = keyValuePairs.length === 1; + const addKeyValuePairButtonDisabled = + keyValuePairs.length === 1 && (keyValuePairs[0].key === '' || keyValuePairs[0].value === ''); + + const displayErrors = (errorMessages?: string[]) => { + return errorMessages?.length + ? errorMessages.map((item, idx) => {item}) + : null; + }; + + const matchErrorsByIndex = useMemo( + () => (index: number, errorType: 'key' | 'value') => { + const headersErrors = errors as + | Array<{ + message: string; + index: number; + hasKeyError: boolean; + hasValueError: boolean; + }> + | undefined; + return headersErrors + ?.filter( + (error) => + error.index === index && (errorType === 'key' ? error.hasKeyError : error.hasValueError) + ) + .map((error) => error.message); + }, + [errors] + ); + + const globalErrors = useMemo(() => { + return errors && errors.filter((err) => err.index === undefined).map(({ message }) => message); + }, [errors]); + + return ( + + +

    + +

    +
    + + {keyValuePairs.map((pair, index) => { + const keyErrors = matchErrorsByIndex(index, 'key'); + const valueErrors = matchErrorsByIndex(index, 'value'); + return ( + <> + {index > 0 && } + + + + } + error={displayErrors(keyErrors)} + isInvalid={(keyErrors?.length ?? 0) > 0} + > + handleKeyValuePairChange(index, 'key', e.target.value)} + autoFocus={autoFocus} + /> + + + + + + } + error={displayErrors(valueErrors)} + isInvalid={(valueErrors?.length ?? 0) > 0} + > + handleKeyValuePairChange(index, 'value', e.target.value)} + /> + + + + + deleteKeyValuePair(index)} + iconType="cross" + disabled={deleteButtonDisabled} + aria-label={i18n.translate('xpack.fleet.kafkaHeadersInput.deleteButton', { + defaultMessage: 'Delete row', + })} + /> + + + + ); + })} + {displayErrors(globalErrors)} + + + + + + + + } + > + + +
    + ); +}; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_partitioning.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_partitioning.tsx new file mode 100644 index 0000000000000..c2695660aa52a --- /dev/null +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_partitioning.tsx @@ -0,0 +1,151 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + EuiFieldText, + EuiFormRow, + EuiPanel, + EuiRadioGroup, + EuiSpacer, + EuiTitle, +} from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; +import React from 'react'; + +import { kafkaPartitionType } from '../../../../../../../common/constants'; + +import type { OutputFormInputsType } from './use_output_form'; + +const kafkaPartitioningOptions = [ + { + id: kafkaPartitionType.Random, + label: 'Random', + 'data-test-subj': 'kafkaPartitionRandomRadioButton', + }, + { + id: kafkaPartitionType.RoundRobin, + label: 'Round robin', + 'data-test-subj': 'kafkaPartitionRoundRobinRadioButton', + }, + { + id: kafkaPartitionType.Hash, + label: 'Hash', + 'data-test-subj': 'kafkaPartitionHashRadioButton', + }, +]; + +export const OutputFormKafkaPartitioning: React.FunctionComponent<{ + inputs: OutputFormInputsType; +}> = (props) => { + const { inputs } = props; + + const renderPartitioning = () => { + switch (inputs.kafkaPartitionTypeInput.value) { + case kafkaPartitionType.Random: + return ( + + } + > + + + ); + case kafkaPartitionType.RoundRobin: + return ( + + } + > + + + ); + case kafkaPartitionType.Hash: + default: + return ( + + } + helpText={ + + } + > + <> + + + + ); + } + }; + + return ( + + +

    + +

    +
    + + + } + > + + + {renderPartitioning()} +
    + ); +}; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_topics.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_topics.tsx new file mode 100644 index 0000000000000..e8f6fa5c60c0b --- /dev/null +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_topics.tsx @@ -0,0 +1,396 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + EuiButtonEmpty, + EuiButtonIcon, + EuiDragDropContext, + euiDragDropReorder, + EuiDraggable, + EuiDroppable, + EuiFieldText, + EuiFlexGroup, + EuiFlexItem, + EuiFormErrorText, + EuiFormRow, + EuiIcon, + EuiPanel, + EuiSelect, + EuiSpacer, + EuiTitle, +} from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; +import React, { useCallback, useMemo, useState } from 'react'; + +import { i18n } from '@kbn/i18n'; + +import styled, { useTheme } from 'styled-components'; + +import type { EuiTheme } from '@kbn/kibana-react-plugin/common'; + +import type { KafkaTopicWhenType, ValueOf } from '../../../../../../../common/types'; + +import { kafkaTopicWhenType } from '../../../../../../../common/constants'; + +import type { OutputFormInputsType } from './use_output_form'; + +export const OutputFormKafkaTopics: React.FunctionComponent<{ inputs: OutputFormInputsType }> = ( + props +) => { + const { inputs } = props; + const { + props: { onChange, id }, + value: topics, + formRowProps: { error: errors }, + } = inputs.kafkaTopicsInput; + const theme = useTheme() as EuiTheme; + + const [autoFocus, setAutoFocus] = useState(false); + + const indexedErrors = useMemo(() => { + if (!errors) { + return []; + } + return errors.reduce((acc, err) => { + if (err.index === undefined) { + return acc; + } + + if (!acc[err.index]) { + acc[err.index] = []; + } + + acc[err.index].push(err.message); + + return acc; + }, []); + }, [errors]); + + const handleTopicProcessorChange = useCallback( + (index: number, field: 'topic' | 'condition' | 'type', value: string) => { + const updatedPairs = [...topics]; + if (field === 'topic') { + updatedPairs[index].topic = value; + } else { + updatedPairs[index].when = { + ...(updatedPairs[index].when || {}), + ...((field === 'condition' ? { condition: value } : {}) as { condition?: string }), + ...((field === 'type' ? { type: value } : {}) as { type?: ValueOf }), + }; + } + onChange(updatedPairs); + }, + [topics, onChange] + ); + + const addTopicProcessor = useCallback(() => { + setAutoFocus(true); + const updatedTopics = [...topics, { topic: '', when: { type: kafkaTopicWhenType.Contains } }]; + onChange(updatedTopics); + }, [topics, onChange]); + + const deleteTopicProcessor = useCallback( + (index: number) => { + const updatedTopics = topics.filter((_, i) => i !== index); + indexedErrors.splice(index, 1); + onChange(updatedTopics); + }, + [topics, indexedErrors, onChange] + ); + + const displayErrors = (errorMessages?: string[]) => { + return errorMessages?.length + ? errorMessages.map((item, idx) => {item}) + : null; + }; + + const globalErrors = useMemo(() => { + return errors && errors.filter((err) => err.index === undefined).map(({ message }) => message); + }, [errors]); + + const kafkaTopicWhenTypes = useMemo( + () => + (Object.keys(kafkaTopicWhenType) as Array).map((type) => ({ + text: kafkaTopicWhenType[type], + label: type, + })), + [] + ); + + const DraggableDiv = styled.div` + margin: ${(styledProps) => styledProps.theme.eui.euiSizeS}; + `; + + const onDragEndHandler = useCallback( + ({ source, destination }) => { + if (source && destination) { + const items = euiDragDropReorder(topics, source.index, destination.index); + const sourceErrors = indexedErrors[source.index]; + indexedErrors.splice(source.index, 1); + indexedErrors.splice(destination.index, 0, sourceErrors); + onChange(items); + } + }, + [topics, indexedErrors, onChange] + ); + + return ( + + +

    + +

    +
    + + + } + {...inputs.kafkaDefaultTopicInput.formRowProps} + > + + + + {topics.length > 0 && ( + + } + > + {topics.length > 1 ? ( + + + {topics.map((topic, index) => { + const topicErrors = indexedErrors[index]; + return ( + + + {(provided, state) => ( + <> + + + + + + + + + + + + handleTopicProcessorChange(index, 'type', e.target.value) + } + /> + + + + + + handleTopicProcessorChange(index, 'condition', e.target.value) + } + /> + + + + + deleteTopicProcessor(index)} + iconType="cross" + aria-label={i18n.translate( + 'xpack.fleet.multiRowInput.deleteButton', + { + defaultMessage: 'Delete row', + } + )} + /> + + + 0} + > + 0} + onChange={(e) => + handleTopicProcessorChange(index, 'topic', e.target.value) + } + /> + + + + + )} + + + ); + })} + + + ) : ( + <> + {topics.map((topic, index) => { + const topicErrors = indexedErrors[index]; + return ( + <> + + + + + + + handleTopicProcessorChange(index, 'type', e.target.value) + } + /> + + + + + + handleTopicProcessorChange(index, 'condition', e.target.value) + } + /> + + + + + deleteTopicProcessor(index)} + iconType="cross" + aria-label={i18n.translate('xpack.fleet.multiRowInput.deleteButton', { + defaultMessage: 'Delete row', + })} + /> + + + 0} + > + 0} + autoFocus={autoFocus} + prepend="Topic" + value={topic.topic} + onChange={(e) => + handleTopicProcessorChange(index, 'topic', e.target.value) + } + /> + + + + + ); + })} + + )} + + )} + {displayErrors(globalErrors)} + + + + + + +
    + ); +}; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_validators.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_validators.test.tsx index 6b806fe1f20bd..04b07ac9c8b4a 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_validators.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_validators.test.tsx @@ -10,6 +10,7 @@ import { validateLogstashHosts, validateYamlConfig, validateCATrustedFingerPrint, + validateKafkaHeaders, } from './output_form_validators'; describe('Output form validation', () => { @@ -123,4 +124,82 @@ describe('Output form validation', () => { ]); }); }); + + describe('kafka fields', () => { + it('should work with a valid headers', () => { + const validHeaders = [ + { key: 'key', value: 'same_value' }, + { key: 'different_key', value: 'same_value' }, + { key: '1', value: '2' }, + { key: '_', value: '!' }, + ]; + validHeaders.forEach((header) => { + expect(validateKafkaHeaders([header])).toBeUndefined(); + }); + + expect(validateKafkaHeaders(validHeaders)).toBeUndefined(); + }); + + it('should return an error with invalid headers', () => { + const emptyValue = validateKafkaHeaders([{ key: 'test', value: '' }]); + expect(emptyValue?.length).toEqual(1); + expect(emptyValue).toEqual([ + { + hasKeyError: false, + hasValueError: true, + index: 0, + message: 'Missing value for key "test"', + }, + ]); + + const emptyKey = validateKafkaHeaders([{ key: '', value: 'test' }]); + expect(emptyKey?.length).toEqual(1); + expect(emptyKey).toEqual([ + { + hasKeyError: true, + hasValueError: false, + index: 0, + message: 'Missing key for value "test"', + }, + ]); + + const duplicatedKey = validateKafkaHeaders([ + { key: 'test', value: 'test2' }, + { key: 'test', value: 'test2' }, + ]); + + expect(duplicatedKey?.length).toEqual(1); + expect(duplicatedKey).toEqual([ + { + hasKeyError: true, + hasValueError: false, + index: 1, + message: 'Duplicate key "test"', + }, + ]); + + const lastInvalid = validateKafkaHeaders([ + { key: 'test', value: 'test2' }, + { key: 'test2', value: 'test' }, + { key: 'test', value: 'one' }, + { key: 'test3', value: '' }, + ]); + + expect(lastInvalid?.length).toEqual(2); + expect(lastInvalid).toEqual([ + { + hasKeyError: true, + hasValueError: false, + index: 2, + message: 'Duplicate key "test"', + }, + { + hasKeyError: false, + hasValueError: true, + index: 3, + message: 'Missing value for key "test3"', + }, + ]); + }); + }); }); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_validators.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_validators.tsx index 870b1f74b9bca..8d658e545a854 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_validators.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_validators.tsx @@ -150,6 +150,26 @@ export function validateName(value: string) { } } +export function validateKafkaUsername(value: string) { + if (!value || value === '') { + return [ + i18n.translate('xpack.fleet.settings.outputForm.kafkaUsernameIsRequired', { + defaultMessage: 'Username is required', + }), + ]; + } +} + +export function validateKafkaPassword(value: string) { + if (!value || value === '') { + return [ + i18n.translate('xpack.fleet.settings.outputForm.kafkaPasswordIsRequired', { + defaultMessage: 'Password is required', + }), + ]; + } +} + export function validateCATrustedFingerPrint(value: string) { if (value !== '' && !value.match(/^[a-zA-Z0-9]+$/)) { return [ @@ -180,3 +200,95 @@ export function validateSSLKey(value: string) { ]; } } + +export function validateKafkaDefaultTopic(value: string) { + if (!value || value === '') { + return [ + i18n.translate('xpack.fleet.settings.outputForm.kafkaDefaultTopicRequiredMessage', { + defaultMessage: 'Default topic is required', + }), + ]; + } +} + +export function validateKafkaTopics( + topics: Array<{ + topic: string; + }> +) { + const errors: Array<{ + message: string; + index: number; + }> = []; + + topics.forEach((topic, index) => { + if (!topic.topic || topic.topic === '') { + errors.push({ + message: i18n.translate('xpack.fleet.settings.outputForm.kafkaTopicRequiredMessage', { + defaultMessage: 'Topic is required', + }), + index, + }); + } + }); + if (errors.length) { + return errors; + } +} + +export function validateKafkaHeaders(pairs: Array<{ key: string; value: string }>) { + const errors: Array<{ + message: string; + index: number; + hasKeyError: boolean; + hasValueError: boolean; + }> = []; + + const existingKeys: Set = new Set(); + + pairs.forEach((pair, index) => { + const { key, value } = pair; + + const hasKey = !!key; + const hasValue = !!value; + + if (hasKey && !hasValue) { + errors.push({ + message: i18n.translate('xpack.fleet.settings.outputForm.kafkaHeadersMissingKeyError', { + defaultMessage: 'Missing value for key "{key}"', + values: { key }, + }), + index, + hasKeyError: false, + hasValueError: true, + }); + } else if (!hasKey && hasValue) { + errors.push({ + message: i18n.translate('xpack.fleet.settings.outputForm.kafkaHeadersMissingValueError', { + defaultMessage: 'Missing key for value "{value}"', + values: { value }, + }), + index, + hasKeyError: true, + hasValueError: false, + }); + } else if (hasKey && hasValue) { + if (existingKeys.has(key)) { + errors.push({ + message: i18n.translate('xpack.fleet.settings.outputForm.kafkaHeadersDuplicateKeyError', { + defaultMessage: 'Duplicate key "{key}"', + values: { key }, + }), + index, + hasKeyError: true, + hasValueError: false, + }); + } else { + existingKeys.add(key); + } + } + }); + if (errors.length) { + return errors; + } +} diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/use_output_form.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/use_output_form.tsx index 9ad2f36905903..dbd1b4b0c7a30 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/use_output_form.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/use_output_form.tsx @@ -10,6 +10,22 @@ import { useCallback, useState } from 'react'; import { i18n } from '@kbn/i18n'; import { safeLoad } from 'js-yaml'; +import type { + KafkaOutput, + NewElasticsearchOutput, + NewLogstashOutput, + NewOutput, +} from '../../../../../../../common/types/models'; + +import { + kafkaAcknowledgeReliabilityLevel, + kafkaAuthType, + kafkaCompressionType, + kafkaPartitionType, + kafkaSaslMechanism, + outputType, +} from '../../../../../../../common/constants'; + import { sendPostOutput, useComboInput, @@ -18,10 +34,13 @@ import { useSelectInput, useSwitchInput, useStartServices, - sendPutOutput, useFleetStatus, + useRadioInput, + sendPutOutput, + useKeyValueInput, + useTopicsInput, } from '../../../../hooks'; -import type { Output, PostOutputRequest } from '../../../../types'; +import type { Output } from '../../../../types'; import { useConfirmModal } from '../../hooks/use_confirm_modal'; import { ExperimentalFeaturesService } from '../../../../services'; @@ -33,6 +52,11 @@ import { validateCATrustedFingerPrint, validateSSLCertificate, validateSSLKey, + validateKafkaUsername, + validateKafkaPassword, + validateKafkaHeaders, + validateKafkaDefaultTopic, + validateKafkaTopics, } from './output_form_validators'; import { confirmUpdate } from './confirm_update'; @@ -61,6 +85,31 @@ export interface OutputFormInputsType { memQueueEvents: ReturnType; queueFlushTimeout: ReturnType; maxBatchBytes: ReturnType; + kafkaHostsInput: ReturnType; + kafkaVersionInput: ReturnType; + kafkaAuthMethodInput: ReturnType; + kafkaSaslMechanismInput: ReturnType; + kafkaAuthUsernameInput: ReturnType; + kafkaAuthPasswordInput: ReturnType; + kafkaPartitionTypeInput: ReturnType; + kafkaPartitionTypeRandomInput: ReturnType; + kafkaPartitionTypeHashInput: ReturnType; + kafkaPartitionTypeRoundRobinInput: ReturnType; + kafkaHeadersInput: ReturnType; + kafkaClientIdInput: ReturnType; + kafkaDefaultTopicInput: ReturnType; + kafkaTopicsInput: ReturnType; + kafkaCompressionInput: ReturnType; + kafkaCompressionLevelInput: ReturnType; + kafkaCompressionCodecInput: ReturnType; + kafkaBrokerTimeoutInput: ReturnType; + kafkaBrokerReachabilityTimeoutInput: ReturnType; + kafkaBrokerChannelBufferSizeInput: ReturnType; + kafkaBrokerAckReliabilityInput: ReturnType; + kafkaKeyInput: ReturnType; + kafkaSslCertificateInput: ReturnType; + kafkaSslKeyInput: ReturnType; + kafkaSslCertificateAuthoritiesInput: ReturnType; } export function useOutputForm(onSucess: () => void, output?: Output) { @@ -80,7 +129,7 @@ export function useOutputForm(onSucess: () => void, output?: Output) { const isPreconfigured = output?.is_preconfigured ?? false; const allowEdit = output?.allow_edit ?? []; - function isDisabled(field: keyof Output) { + function isDisabled(field: keyof Output | keyof KafkaOutput) { if (!isPreconfigured) { return false; } @@ -197,7 +246,168 @@ export function useOutputForm(onSucess: () => void, output?: Output) { const proxyIdInput = useInput(output?.proxy_id ?? '', () => undefined, isDisabled('proxy_id')); - const isLogstash = typeInput.value === 'logstash'; + /** + * Kafka inputs + */ + + const kafkaOutput = output as KafkaOutput; + + const extractDefaultKafkaTopic = (topics?: Array<{ topic: string }>): string => { + if (!topics || topics.length === 0) { + return ''; + } + + const lastTopic = topics[topics.length - 1].topic; + return lastTopic || ''; + }; + + const extractKafkaTopics = (topics?: Array<{ topic: string }>) => { + if (!topics || topics.length <= 1) { + return []; + } + + return topics.slice(0, -1); + }; + + const kafkaVersionInput = useInput( + kafkaOutput?.version ?? '1.0.0', + undefined, + isDisabled('version') + ); + + const kafkaHostsInput = useComboInput( + 'kafkaHostsComboBox', + output?.hosts ?? [], + validateESHosts, + isDisabled('hosts') + ); + + const kafkaAuthMethodInput = useRadioInput( + kafkaOutput?.auth_type ?? kafkaAuthType.Userpass, + isDisabled('auth_type') + ); + + const kafkaAuthUsernameInput = useInput( + kafkaOutput?.username, + kafkaAuthMethodInput.value === kafkaAuthType.Userpass ? validateKafkaUsername : undefined, + isDisabled('username') + ); + const kafkaAuthPasswordInput = useInput( + kafkaOutput?.password, + kafkaAuthMethodInput.value === kafkaAuthType.Userpass ? validateKafkaPassword : undefined, + isDisabled('password') + ); + + const kafkaSslCertificateAuthoritiesInput = useComboInput( + 'kafkaSslCertificateAuthoritiesComboBox', + kafkaOutput?.ssl?.certificate_authorities ?? [], + undefined, + isSSLEditable + ); + const kafkaSslCertificateInput = useInput( + kafkaOutput?.ssl?.certificate, + kafkaAuthMethodInput.value === kafkaAuthType.Ssl ? validateSSLCertificate : undefined, + isSSLEditable + ); + const kafkaSslKeyInput = useInput( + kafkaOutput?.ssl?.key, + kafkaAuthMethodInput.value === kafkaAuthType.Ssl ? validateSSLKey : undefined, + isSSLEditable + ); + + const kafkaSaslMechanismInput = useRadioInput( + kafkaOutput?.sasl?.mechanism ?? kafkaSaslMechanism.Plain, + isDisabled('sasl') + ); + + const kafkaPartitionTypeInput = useRadioInput( + kafkaOutput?.partition ?? kafkaPartitionType.Random, + isDisabled('partition') + ); + + const kafkaPartitionTypeRandomInput = useInput( + kafkaOutput?.random?.group_events ? `${kafkaOutput.random.group_events}` : undefined, + undefined, + isDisabled('partition') + ); + const kafkaPartitionTypeHashInput = useInput( + kafkaOutput?.hash?.hash, + undefined, + isDisabled('partition') + ); + const kafkaPartitionTypeRoundRobinInput = useInput( + kafkaOutput?.round_robin?.group_events ? `${kafkaOutput.round_robin.group_events}` : undefined, + undefined, + isDisabled('partition') + ); + + const kafkaDefaultTopicInput = useInput( + extractDefaultKafkaTopic(kafkaOutput?.topics), + validateKafkaDefaultTopic, + isDisabled('topics') + ); + const kafkaTopicsInput = useTopicsInput( + 'kafkaTopicsComboBox', + extractKafkaTopics(kafkaOutput?.topics), + validateKafkaTopics, + isDisabled('topics') + ); + const kafkaHeadersInput = useKeyValueInput( + 'kafkaHeadersComboBox', + kafkaOutput?.headers ?? [{ key: '', value: '' }], + validateKafkaHeaders, + isDisabled('headers') + ); + + const kafkaClientIdInput = useInput( + kafkaOutput?.client_id ?? 'Elastic agent', + undefined, + isDisabled('client_id') + ); + + const kafkaCompressionInput = useSwitchInput( + !!(kafkaOutput?.compression && kafkaOutput.compression !== kafkaCompressionType.None), + isDisabled('compression') + ); + const kafkaCompressionLevelInput = useInput( + `${kafkaOutput?.compression_level ?? 4}`, + undefined, + isDisabled('compression_level') + ); + const kafkaCompressionCodecInput = useInput( + kafkaOutput?.compression ?? kafkaCompressionType.None, + undefined, + isDisabled('compression') + ); + + const kafkaBrokerTimeoutInput = useInput( + `${kafkaOutput?.timeout ?? 30}`, + undefined, + isDisabled('broker_timeout') + ); + + const kafkaBrokerReachabilityTimeoutInput = useInput( + `${kafkaOutput?.broker_timeout ?? 30}`, + undefined, + isDisabled('timeout') + ); + + const kafkaBrokerChannelBufferSizeInput = useInput( + `${kafkaOutput?.broker_buffer_size ?? 256}`, + undefined, + isDisabled('broker_buffer_size') + ); + + const kafkaBrokerAckReliabilityInput = useInput( + kafkaOutput?.broker_ack_reliability ?? kafkaAcknowledgeReliabilityLevel.Commit, + undefined, + isDisabled('broker_ack_reliability') + ); + + const kafkaKeyInput = useInput(kafkaOutput?.key, undefined, isDisabled('key')); + + const isLogstash = typeInput.value === outputType.Logstash; + const isKafka = typeInput.value === outputType.Kafka; const inputs: OutputFormInputsType = { nameInput, @@ -222,6 +432,31 @@ export function useOutputForm(onSucess: () => void, output?: Output) { memQueueEvents, queueFlushTimeout, maxBatchBytes, + kafkaVersionInput, + kafkaHostsInput, + kafkaAuthMethodInput, + kafkaAuthUsernameInput, + kafkaAuthPasswordInput, + kafkaSaslMechanismInput, + kafkaPartitionTypeInput, + kafkaPartitionTypeRandomInput, + kafkaPartitionTypeHashInput, + kafkaPartitionTypeRoundRobinInput, + kafkaHeadersInput, + kafkaClientIdInput, + kafkaCompressionInput, + kafkaCompressionLevelInput, + kafkaCompressionCodecInput, + kafkaBrokerTimeoutInput, + kafkaBrokerReachabilityTimeoutInput, + kafkaBrokerChannelBufferSizeInput, + kafkaBrokerAckReliabilityInput, + kafkaKeyInput, + kafkaSslCertificateAuthoritiesInput, + kafkaSslCertificateInput, + kafkaSslKeyInput, + kafkaDefaultTopicInput, + kafkaTopicsInput, }; const hasChanged = Object.values(inputs).some((input) => input.hasChanged); @@ -229,6 +464,14 @@ export function useOutputForm(onSucess: () => void, output?: Output) { const validate = useCallback(() => { const nameInputValid = nameInput.validate(); const elasticsearchUrlsValid = elasticsearchUrlInput.validate(); + const kafkaHostsValid = kafkaHostsInput.validate(); + const kafkaUsernameValid = kafkaAuthUsernameInput.validate(); + const kafkaPasswordValid = kafkaAuthPasswordInput.validate(); + const kafkaSslCertificateValid = kafkaSslCertificateInput.validate(); + const kafkaSslKeyValid = kafkaSslKeyInput.validate(); + const kafkaDefaultTopicValid = kafkaDefaultTopicInput.validate(); + const kafkaTopicsValid = kafkaTopicsInput.validate(); + const kafkaHeadersValid = kafkaHeadersInput.validate(); const logstashHostsValid = logstashHostsInput.validate(); const additionalYamlConfigValid = additionalYamlConfigInput.validate(); const caTrustedFingerprintValid = caTrustedFingerprintInput.validate(); @@ -245,6 +488,21 @@ export function useOutputForm(onSucess: () => void, output?: Output) { sslCertificateValid && sslKeyValid ); + } + if (isKafka) { + // validate kafka + return ( + nameInputValid && + kafkaHostsValid && + kafkaSslCertificateValid && + kafkaSslKeyValid && + kafkaUsernameValid && + kafkaPasswordValid && + kafkaHeadersValid && + kafkaDefaultTopicValid && + kafkaTopicsValid && + additionalYamlConfigValid + ); } else { // validate ES return ( @@ -258,6 +516,14 @@ export function useOutputForm(onSucess: () => void, output?: Output) { }, [ nameInput, elasticsearchUrlInput, + kafkaHostsInput, + kafkaAuthUsernameInput, + kafkaAuthPasswordInput, + kafkaSslCertificateInput, + kafkaSslKeyInput, + kafkaDefaultTopicInput, + kafkaTopicsInput, + kafkaHeadersInput, logstashHostsInput, additionalYamlConfigInput, caTrustedFingerprintInput, @@ -265,6 +531,7 @@ export function useOutputForm(onSucess: () => void, output?: Output) { sslKeyInput, diskQueuePathInput, isLogstash, + isKafka, ]); const submit = useCallback(async () => { @@ -311,35 +578,132 @@ export function useOutputForm(onSucess: () => void, output?: Output) { } const proxyIdValue = proxyIdInput.value !== '' ? proxyIdInput.value : null; - const data: PostOutputRequest['body'] = isLogstash - ? { - name: nameInput.value, - type: typeInput.value as 'elasticsearch' | 'logstash', - hosts: logstashHostsInput.value, - is_default: defaultOutputInput.value, - is_default_monitoring: defaultMonitoringOutputInput.value, - config_yaml: additionalYamlConfigInput.value, - ssl: { - certificate: sslCertificateInput.value, - key: sslKeyInput.value, - certificate_authorities: sslCertificateAuthoritiesInput.value.filter( - (val) => val !== '' - ), - }, - proxy_id: proxyIdValue, - ...shipperParams, + + const payload: NewOutput = (() => { + const parseIntegerIfStringDefined = (value: string | undefined): number | undefined => { + if (value !== undefined) { + const parsedInt = parseInt(value, 10); // Specify the base as 10 for decimal numbers + if (!isNaN(parsedInt)) { + return parsedInt; + } } - : { - name: nameInput.value, - type: typeInput.value as 'elasticsearch' | 'logstash', - hosts: elasticsearchUrlInput.value, - is_default: defaultOutputInput.value, - is_default_monitoring: defaultMonitoringOutputInput.value, - config_yaml: additionalYamlConfigInput.value, - ca_trusted_fingerprint: caTrustedFingerprintInput.value, - proxy_id: proxyIdValue, - ...shipperParams, - }; + return undefined; + }; + + switch (typeInput.value) { + case outputType.Kafka: + return { + name: nameInput.value, + type: outputType.Kafka, + hosts: kafkaHostsInput.value, + is_default: defaultOutputInput.value, + is_default_monitoring: defaultMonitoringOutputInput.value, + config_yaml: additionalYamlConfigInput.value, + ...(kafkaAuthMethodInput.value === kafkaAuthType.Ssl + ? { + ssl: { + certificate: kafkaSslCertificateInput.value, + key: kafkaSslKeyInput.value, + certificate_authorities: kafkaSslCertificateAuthoritiesInput.value.filter( + (val) => val !== '' + ), + }, + } + : {}), + + proxy_id: proxyIdValue, + + client_id: kafkaClientIdInput.value || undefined, + version: kafkaVersionInput.value, + ...(kafkaKeyInput.value ? { key: kafkaKeyInput.value } : {}), + compression: kafkaCompressionCodecInput.value, + ...(kafkaCompressionCodecInput.value === kafkaCompressionType.Gzip + ? { + compression_level: parseIntegerIfStringDefined( + kafkaCompressionLevelInput.value + ), + } + : {}), + + auth_type: kafkaAuthMethodInput.value, + ...(kafkaAuthUsernameInput.value ? { username: kafkaAuthUsernameInput.value } : {}), + ...(kafkaAuthPasswordInput.value ? { password: kafkaAuthPasswordInput.value } : {}), + ...(kafkaAuthMethodInput.value === kafkaAuthType.Userpass && + kafkaSaslMechanismInput.value + ? { sasl: { mechanism: kafkaSaslMechanismInput.value } } + : {}), + + partition: kafkaPartitionTypeInput.value, + ...(kafkaPartitionTypeRandomInput.value + ? { + random: { + group_events: parseIntegerIfStringDefined( + kafkaPartitionTypeRandomInput.value + ), + }, + } + : {}), + ...(kafkaPartitionTypeRoundRobinInput.value + ? { + round_robin: { + group_events: parseIntegerIfStringDefined( + kafkaPartitionTypeRoundRobinInput.value + ), + }, + } + : {}), + ...(kafkaPartitionTypeHashInput.value + ? { + hash: { + hash: kafkaPartitionTypeHashInput.value, + }, + } + : {}), + topics: [...kafkaTopicsInput.value, { topic: kafkaDefaultTopicInput.value }], + headers: kafkaHeadersInput.value, + timeout: parseIntegerIfStringDefined(kafkaBrokerTimeoutInput.value), + broker_timeout: parseIntegerIfStringDefined( + kafkaBrokerReachabilityTimeoutInput.value + ), + broker_ack_reliability: kafkaBrokerAckReliabilityInput.value, + broker_buffer_size: parseIntegerIfStringDefined( + kafkaBrokerChannelBufferSizeInput.value + ), + ...shipperParams, + } as KafkaOutput; + case outputType.Logstash: + return { + name: nameInput.value, + type: outputType.Logstash, + hosts: logstashHostsInput.value, + is_default: defaultOutputInput.value, + is_default_monitoring: defaultMonitoringOutputInput.value, + config_yaml: additionalYamlConfigInput.value, + ssl: { + certificate: sslCertificateInput.value, + key: sslKeyInput.value, + certificate_authorities: sslCertificateAuthoritiesInput.value.filter( + (val) => val !== '' + ), + }, + proxy_id: proxyIdValue, + ...shipperParams, + } as NewLogstashOutput; + case outputType.Elasticsearch: + default: + return { + name: nameInput.value, + type: outputType.Elasticsearch, + hosts: elasticsearchUrlInput.value, + is_default: defaultOutputInput.value, + is_default_monitoring: defaultMonitoringOutputInput.value, + config_yaml: additionalYamlConfigInput.value, + ca_trusted_fingerprint: caTrustedFingerprintInput.value, + proxy_id: proxyIdValue, + ...shipperParams, + } as NewElasticsearchOutput; + } + })(); if (output) { // Update @@ -348,13 +712,13 @@ export function useOutputForm(onSucess: () => void, output?: Output) { return; } - const res = await sendPutOutput(output.id, data); + const res = await sendPutOutput(output.id, payload); if (res.error) { throw res.error; } } else { // Create - const res = await sendPostOutput(data); + const res = await sendPostOutput(payload); if (res.error) { throw res.error; } @@ -375,18 +739,6 @@ export function useOutputForm(onSucess: () => void, output?: Output) { isShipperDisabled, showExperimentalShipperOptions, proxyIdInput.value, - isLogstash, - nameInput.value, - typeInput.value, - logstashHostsInput.value, - defaultOutputInput.value, - defaultMonitoringOutputInput.value, - additionalYamlConfigInput.value, - sslCertificateInput.value, - sslKeyInput.value, - sslCertificateAuthoritiesInput.value, - elasticsearchUrlInput.value, - caTrustedFingerprintInput.value, output, onSucess, memQueueEvents.value, @@ -399,6 +751,41 @@ export function useOutputForm(onSucess: () => void, output?: Output) { diskQueueCompressionEnabled.value, compressionLevelInput.value, loadBalanceEnabledInput.value, + typeInput.value, + nameInput.value, + kafkaHostsInput.value, + defaultOutputInput.value, + defaultMonitoringOutputInput.value, + additionalYamlConfigInput.value, + kafkaAuthMethodInput.value, + kafkaSslCertificateInput.value, + kafkaSslKeyInput.value, + kafkaSslCertificateAuthoritiesInput.value, + kafkaClientIdInput.value, + kafkaVersionInput.value, + kafkaKeyInput.value, + kafkaCompressionCodecInput.value, + kafkaCompressionLevelInput.value, + kafkaAuthUsernameInput.value, + kafkaAuthPasswordInput.value, + kafkaSaslMechanismInput.value, + kafkaPartitionTypeInput.value, + kafkaPartitionTypeRandomInput.value, + kafkaPartitionTypeRoundRobinInput.value, + kafkaPartitionTypeHashInput.value, + kafkaTopicsInput.value, + kafkaDefaultTopicInput.value, + kafkaHeadersInput.value, + kafkaBrokerTimeoutInput.value, + kafkaBrokerReachabilityTimeoutInput.value, + kafkaBrokerAckReliabilityInput.value, + kafkaBrokerChannelBufferSizeInput.value, + logstashHostsInput.value, + sslCertificateInput.value, + sslKeyInput.value, + sslCertificateAuthoritiesInput.value, + elasticsearchUrlInput.value, + caTrustedFingerprintInput.value, confirm, notifications.toasts, ]); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/outputs_table/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/outputs_table/index.tsx index 32e4f005c963a..464c512ecf8e0 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/outputs_table/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/outputs_table/index.tsx @@ -11,8 +11,6 @@ import { EuiBasicTable, EuiButtonIcon, EuiFlexGroup, EuiFlexItem, EuiIconTip } f import type { EuiBasicTableColumn } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { outputType } from '../../../../../../../common/constants'; - import { useLink } from '../../../../hooks'; import type { Output } from '../../../../types'; @@ -138,7 +136,6 @@ export const OutputsTable: React.FunctionComponent = ({ defaultMessage: 'Edit', })} data-test-subj="editOutputBtn" - isDisabled={output.type === outputType.Kafka} // Kafka output is not supported yet but can be created via api /> diff --git a/x-pack/plugins/fleet/public/hooks/use_input.ts b/x-pack/plugins/fleet/public/hooks/use_input.ts index 8cd6e382b3c81..a48e3075d7a42 100644 --- a/x-pack/plugins/fleet/public/hooks/use_input.ts +++ b/x-pack/plugins/fleet/public/hooks/use_input.ts @@ -9,6 +9,8 @@ import { useState, useCallback, useEffect } from 'react'; import type React from 'react'; import type { EuiSwitchEvent } from '@elastic/eui'; +import type { KafkaTopicWhenType, ValueOf } from '../../common/types'; + export interface FormInput { validate: () => boolean; } @@ -82,6 +84,22 @@ export function useInput( }; } +export function useRadioInput(defaultValue: string, disabled = false) { + const [value, setValue] = useState(defaultValue); + + const onChange = useCallback(setValue, [setValue]); + + return { + props: { + idSelected: value, + onChange, + disabled, + }, + setValue, + value, + }; +} + export function useSwitchInput(defaultValue = false, disabled = false) { const [value, setValue] = useState(defaultValue); const [hasChanged, setHasChanged] = useState(false); @@ -116,13 +134,13 @@ export function useSwitchInput(defaultValue = false, disabled = false) { }; } -export function useComboInput( +function useCustomInput( id: string, - defaultValue: string[] = [], - validate?: (value: string[]) => Array<{ message: string; index?: number }> | undefined, + defaultValue: T, + validate?: (value: T) => Array<{ message: string; index?: number }> | undefined, disabled = false ) { - const [value, setValue] = useState(defaultValue); + const [value, setValue] = useState(defaultValue); const [errors, setErrors] = useState | undefined>(); const [hasChanged, setHasChanged] = useState(false); @@ -130,10 +148,7 @@ export function useComboInput( if (hasChanged) { return; } - if ( - value.length !== defaultValue.length || - value.some((val, idx) => val !== defaultValue[idx]) - ) { + if (JSON.stringify(value) !== JSON.stringify(defaultValue)) { setHasChanged(true); } }, [hasChanged, value, defaultValue]); @@ -152,10 +167,10 @@ export function useComboInput( }, [validate, value]); const onChange = useCallback( - (newValues: string[]) => { - setValue(newValues); + (newValue: T) => { + setValue(newValue); if (errors && validate) { - setErrors(validate(newValues)); + setErrors(validate(newValue)); } }, [validate, errors] @@ -176,7 +191,7 @@ export function useComboInput( }, value, clear: () => { - setValue([]); + setValue(defaultValue); }, setValue, validate: validateCallback, @@ -184,6 +199,50 @@ export function useComboInput( }; } +export function useComboInput( + id: string, + defaultValue: string[] = [], + validate?: (value: string[]) => Array<{ message: string; index?: number }> | undefined, + disabled = false +) { + return useCustomInput(id, defaultValue, validate, disabled); +} + +export function useKeyValueInput( + id: string, + defaultValue: Array<{ key: string; value: string }> = [], + validate?: ( + value: Array<{ key: string; value: string }> + ) => + | Array<{ message: string; index: number; hasKeyError: boolean; hasValueError: boolean }> + | undefined, + disabled = false +) { + return useCustomInput>( + id, + defaultValue, + validate, + disabled + ); +} + +type Topic = Array<{ + topic: string; + when?: { + type?: ValueOf; + condition?: string; + }; +}>; + +export function useTopicsInput( + id: string, + defaultValue: Topic = [], + validate?: (value: Topic) => Array<{ message: string; index: number }> | undefined, + disabled = false +) { + return useCustomInput(id, defaultValue, validate, disabled); +} + export function useNumberInput( defaultValue: number | undefined, validate?: (value: number) => number[] | undefined, diff --git a/x-pack/plugins/fleet/server/collectors/agent_logs_top_errors.test.ts b/x-pack/plugins/fleet/server/collectors/agent_logs_top_errors.test.ts new file mode 100644 index 0000000000000..c0a6f451446c2 --- /dev/null +++ b/x-pack/plugins/fleet/server/collectors/agent_logs_top_errors.test.ts @@ -0,0 +1,84 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; + +import { getAgentLogsTopErrors } from './agent_logs_top_errors'; + +describe('getAgentLogsTopErrors', () => { + it('should return top 3 errors from 100 hits', async () => { + const esClientMock = { + search: jest.fn().mockImplementation((params) => { + if (params.index === 'logs-elastic_agent-*') + return { + hits: { + hits: [ + { + _source: { + message: 'error 2', + }, + }, + { + _source: { + message: 'error 2', + }, + }, + { + _source: { + message: 'error 3', + }, + }, + { + _source: { + message: 'error 3', + }, + }, + { + _source: { + message: 'error 3', + }, + }, + { + _source: { + message: 'error 1', + }, + }, + ], + }, + }; + else + return { + hits: { + hits: [ + { + _source: { + message: 'fleet server error 2', + }, + }, + { + _source: { + message: 'fleet server error 2', + }, + }, + { + _source: { + message: 'fleet server error 1', + }, + }, + ], + }, + }; + }), + } as unknown as ElasticsearchClient; + + const topErrors = await getAgentLogsTopErrors(esClientMock); + expect(topErrors).toEqual({ + agent_logs_top_errors: ['error 3', 'error 2', 'error 1'], + fleet_server_logs_top_errors: ['fleet server error 2', 'fleet server error 1'], + }); + }); +}); diff --git a/x-pack/plugins/fleet/server/collectors/agent_logs_top_errors.ts b/x-pack/plugins/fleet/server/collectors/agent_logs_top_errors.ts index 562a217c2bd19..34a279ffc6f7e 100644 --- a/x-pack/plugins/fleet/server/collectors/agent_logs_top_errors.ts +++ b/x-pack/plugins/fleet/server/collectors/agent_logs_top_errors.ts @@ -7,6 +7,10 @@ import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import { sortBy } from 'lodash'; + +import { DATA_TIERS } from '../../common/constants'; + import { appContextService } from '../services'; export interface AgentLogsData { @@ -29,10 +33,16 @@ export async function getAgentLogsTopErrors( const queryTopMessages = (index: string) => esClient.search({ index, - size: 0, + size: 100, + _source: ['message'], query: { bool: { filter: [ + { + terms: { + _tier: DATA_TIERS, + }, + }, { term: { 'log.level': 'error', @@ -48,35 +58,32 @@ export async function getAgentLogsTopErrors( ], }, }, - aggs: { - message_sample: { - sampler: { - shard_size: 200, - }, - aggs: { - categories: { - categorize_text: { - field: 'message', - size: 10, - }, - }, - }, - }, - }, }); - const transformBuckets = (resp: any) => - ((resp?.aggregations?.message_sample as any)?.categories?.buckets ?? []) + const getTopErrors = (resp: any) => { + const counts = (resp?.hits.hits ?? []).reduce((acc: any, curr: any) => { + if (!acc[curr._source.message]) { + acc[curr._source.message] = 0; + } + acc[curr._source.message]++; + return acc; + }, {}); + const top3 = sortBy( + Object.entries(counts).map(([key, value]) => ({ key, value })), + 'value' + ) .slice(0, 3) - .map((bucket: any) => bucket.key); + .reverse(); + return top3.map(({ key, value }) => key); + }; const agentResponse = await queryTopMessages('logs-elastic_agent-*'); const fleetServerResponse = await queryTopMessages('logs-elastic_agent.fleet_server-*'); return { - agent_logs_top_errors: transformBuckets(agentResponse), - fleet_server_logs_top_errors: transformBuckets(fleetServerResponse), + agent_logs_top_errors: getTopErrors(agentResponse), + fleet_server_logs_top_errors: getTopErrors(fleetServerResponse), }; } catch (error) { if (error.statusCode === 404) { diff --git a/x-pack/plugins/fleet/server/collectors/register.ts b/x-pack/plugins/fleet/server/collectors/register.ts index 901a049df8d73..c9922f78b70ce 100644 --- a/x-pack/plugins/fleet/server/collectors/register.ts +++ b/x-pack/plugins/fleet/server/collectors/register.ts @@ -21,6 +21,7 @@ import type { FleetServerUsage } from './fleet_server_collector'; import { getAgentPoliciesUsage } from './agent_policies'; import type { AgentPanicLogsData } from './agent_logs_panics'; import { getPanicLogsLastHour } from './agent_logs_panics'; +import { getAgentLogsTopErrors } from './agent_logs_top_errors'; export interface Usage { agents_enabled: boolean; @@ -64,8 +65,7 @@ export const fetchFleetUsage = async ( fleet_server_config: await getFleetServerConfig(soClient), agent_policies: await getAgentPoliciesUsage(soClient), ...(await getPanicLogsLastHour(esClient)), - // TODO removed top errors telemetry as it causes this issue: https://github.com/elastic/kibana/issues/148976 - // ...(await getAgentLogsTopErrors(esClient)), + ...(await getAgentLogsTopErrors(esClient)), }; return usage; }; diff --git a/x-pack/plugins/fleet/server/integration_tests/fleet_usage_telemetry.test.ts b/x-pack/plugins/fleet/server/integration_tests/fleet_usage_telemetry.test.ts index e95a6fce722a0..0589f567b971f 100644 --- a/x-pack/plugins/fleet/server/integration_tests/fleet_usage_telemetry.test.ts +++ b/x-pack/plugins/fleet/server/integration_tests/fleet_usage_telemetry.test.ts @@ -400,8 +400,12 @@ describe('fleet usage telemetry', () => { message: 'stderr panic some other panic', }, ], - // agent_logs_top_errors: ['stderr panic close of closed channel'], - // fleet_server_logs_top_errors: ['failed to unenroll offline agents'], + agent_logs_top_errors: [ + 'stderr panic some other panic', + 'stderr panic close of closed channel', + 'this should not be included in metrics', + ], + fleet_server_logs_top_errors: ['failed to unenroll offline agents'], }) ); }); diff --git a/x-pack/plugins/fleet/server/saved_objects/index.ts b/x-pack/plugins/fleet/server/saved_objects/index.ts index 6bdd53194f102..9ef02f826f8ad 100644 --- a/x-pack/plugins/fleet/server/saved_objects/index.ts +++ b/x-pack/plugins/fleet/server/saved_objects/index.ts @@ -487,7 +487,10 @@ export function registerEncryptedSavedObjects( ) { encryptedSavedObjects.registerType({ type: OUTPUT_SAVED_OBJECT_TYPE, - attributesToEncrypt: new Set([{ key: 'ssl', dangerouslyExposeValue: true }]), + attributesToEncrypt: new Set([ + { key: 'ssl', dangerouslyExposeValue: true }, + { key: 'password', dangerouslyExposeValue: true }, + ]), attributesToExcludeFromAAD: new Set([ 'output_id', 'name', diff --git a/x-pack/plugins/fleet/server/services/output.test.ts b/x-pack/plugins/fleet/server/services/output.test.ts index 5ecd3a4a29a40..31efb22834cdb 100644 --- a/x-pack/plugins/fleet/server/services/output.test.ts +++ b/x-pack/plugins/fleet/server/services/output.test.ts @@ -449,7 +449,26 @@ describe('Output Service', () => { }, { id: 'output-test' } ) - ).rejects.toThrow(`Logstash output needs encrypted saved object api key to be set`); + ).rejects.toThrow(`logstash output needs encrypted saved object api key to be set`); + }); + + it('should throw if encryptedSavedObject is not configured, kafka', async () => { + const soClient = getMockedSoClient({}); + + await expect( + outputService.create( + soClient, + esClientMock, + { + is_default: false, + is_default_monitoring: false, + name: 'Test', + type: 'kafka', + topics: [{ topic: 'test' }], + }, + { id: 'output-test' } + ) + ).rejects.toThrow(`kafka output needs encrypted saved object api key to be set`); }); it('should work if encryptedSavedObject is configured', async () => { diff --git a/x-pack/plugins/fleet/server/services/output.ts b/x-pack/plugins/fleet/server/services/output.ts index ec5f63cbe3566..d95771eb48238 100644 --- a/x-pack/plugins/fleet/server/services/output.ts +++ b/x-pack/plugins/fleet/server/services/output.ts @@ -410,11 +410,11 @@ class OutputService { const data: OutputSOAttributes = { ...omit(output, 'ssl') }; const defaultDataOutputId = await this.getDefaultDataOutputId(soClient); - if (output.type === outputType.Logstash) { + if (output.type === outputType.Logstash || output.type === outputType.Kafka) { await validateLogstashOutputNotUsedInAPMPolicy(soClient, undefined, data.is_default); if (!appContextService.getEncryptedSavedObjectsSetup()?.canEncrypt) { throw new FleetEncryptedSavedObjectEncryptionKeyRequired( - 'Logstash output needs encrypted saved object api key to be set' + `${output.type} output needs encrypted saved object api key to be set` ); } } diff --git a/x-pack/plugins/fleet/server/services/telemetry/fleet_usages_schema.ts b/x-pack/plugins/fleet/server/services/telemetry/fleet_usages_schema.ts index faf963798768b..f1172786c0b2b 100644 --- a/x-pack/plugins/fleet/server/services/telemetry/fleet_usages_schema.ts +++ b/x-pack/plugins/fleet/server/services/telemetry/fleet_usages_schema.ts @@ -247,4 +247,18 @@ export const fleetUsagesSchema: RootSchema = { }, }, }, + agent_logs_top_errors: { + type: 'array', + items: { + type: 'text', + _meta: { description: 'Top messages from agent error logs' }, + }, + }, + fleet_server_logs_top_errors: { + type: 'array', + items: { + type: 'text', + _meta: { description: 'Top messages from fleet server error logs' }, + }, + }, }; diff --git a/x-pack/plugins/fleet/server/types/models/output.ts b/x-pack/plugins/fleet/server/types/models/output.ts index 2b9a13b225ce9..b18d2baa25103 100644 --- a/x-pack/plugins/fleet/server/types/models/output.ts +++ b/x-pack/plugins/fleet/server/types/models/output.ts @@ -150,11 +150,12 @@ export const KafkaSchema = { schema.literal(kafkaCompressionType.Gzip), schema.literal(kafkaCompressionType.Snappy), schema.literal(kafkaCompressionType.Lz4), + schema.literal(kafkaCompressionType.None), ]) ), compression_level: schema.conditional( schema.siblingRef('compression'), - schema.string(), + schema.string({ validate: (val) => (val === kafkaCompressionType.Gzip ? undefined : 'never') }), schema.number(), schema.never() ), diff --git a/x-pack/plugins/infra/common/plugin_config_types.ts b/x-pack/plugins/infra/common/plugin_config_types.ts index 2c3a3bd2efeb7..52803a09ae499 100644 --- a/x-pack/plugins/infra/common/plugin_config_types.ts +++ b/x-pack/plugins/infra/common/plugin_config_types.ts @@ -14,6 +14,7 @@ export interface InfraConfig { group_by_page_size: number; }; }; + enabled: boolean; inventory: { compositeSize: number; }; diff --git a/x-pack/plugins/infra/public/alerting/inventory/components/alert_flyout.tsx b/x-pack/plugins/infra/public/alerting/inventory/components/alert_flyout.tsx index b57cf4c68ce1c..0c9dfb731df86 100644 --- a/x-pack/plugins/infra/public/alerting/inventory/components/alert_flyout.tsx +++ b/x-pack/plugins/infra/public/alerting/inventory/components/alert_flyout.tsx @@ -25,7 +25,7 @@ export const AlertFlyout = ({ options, nodeType, filter, visible, setVisible }: const { triggersActionsUI } = useContext(TriggerActionsContext); const { inventoryPrefill } = useAlertPrefillContext(); - const { customMetrics } = inventoryPrefill; + const { customMetrics = [] } = inventoryPrefill ?? {}; const onCloseFlyout = useCallback(() => setVisible(false), [setVisible]); const AddAlertFlyout = useMemo( () => diff --git a/x-pack/plugins/infra/public/common/alerts/constants.ts b/x-pack/plugins/infra/public/common/alerts/constants.ts new file mode 100644 index 0000000000000..8c71ba66e86e8 --- /dev/null +++ b/x-pack/plugins/infra/public/common/alerts/constants.ts @@ -0,0 +1,57 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; +import { ALERT_STATUS, ALERT_STATUS_ACTIVE, ALERT_STATUS_RECOVERED } from '@kbn/rule-data-utils'; +import type { AlertStatusFilter } from './types'; + +export const ALERT_STATUS_ALL = 'all'; + +export const ALL_ALERTS: AlertStatusFilter = { + status: ALERT_STATUS_ALL, + label: i18n.translate('xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.showAll', { + defaultMessage: 'Show all', + }), +}; + +export const ACTIVE_ALERTS: AlertStatusFilter = { + status: ALERT_STATUS_ACTIVE, + query: { + term: { + [ALERT_STATUS]: { + value: ALERT_STATUS_ACTIVE, + }, + }, + }, + label: i18n.translate('xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.active', { + defaultMessage: 'Active', + }), +}; + +export const RECOVERED_ALERTS: AlertStatusFilter = { + status: ALERT_STATUS_RECOVERED, + query: { + term: { + [ALERT_STATUS]: { + value: ALERT_STATUS_RECOVERED, + }, + }, + }, + label: i18n.translate('xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.recovered', { + defaultMessage: 'Recovered', + }), +}; + +export const ALERT_STATUS_QUERY = { + [ACTIVE_ALERTS.status]: ACTIVE_ALERTS.query, + [RECOVERED_ALERTS.status]: RECOVERED_ALERTS.query, +}; + +export const ALERTS_DOC_HREF = + 'https://www.elastic.co/guide/en/observability/current/create-alerts.html'; + +export const ALERTS_PATH = '/app/observability/alerts'; diff --git a/x-pack/plugins/infra/public/common/alerts/create_alerts_es_query.ts b/x-pack/plugins/infra/public/common/alerts/create_alerts_es_query.ts new file mode 100644 index 0000000000000..3fddf57a23695 --- /dev/null +++ b/x-pack/plugins/infra/public/common/alerts/create_alerts_es_query.ts @@ -0,0 +1,41 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { getTime } from '@kbn/data-plugin/common'; +import { ALERT_TIME_RANGE } from '@kbn/rule-data-utils'; +import { buildEsQuery, Filter, type TimeRange } from '@kbn/es-query'; +import type { AlertStatus } from '@kbn/observability-plugin/common/typings'; +import { ALERT_STATUS_QUERY } from './constants'; +import { buildCombinedHostsFilter } from '../../utils/filters/build'; +import type { AlertsEsQuery } from './types'; + +export const createAlertsEsQuery = ({ + dateRange, + hostNodeNames, + status, +}: { + dateRange: TimeRange; + hostNodeNames: string[]; + status?: AlertStatus; +}): AlertsEsQuery => { + const alertStatusFilter = createAlertStatusFilter(status); + + const dateFilter = createDateFilter(dateRange); + const hostsFilter = buildCombinedHostsFilter({ + field: 'host.name', + values: hostNodeNames, + }); + + const filters = [alertStatusFilter, dateFilter, hostsFilter].filter(Boolean) as Filter[]; + + return buildEsQuery(undefined, [], filters); +}; + +const createDateFilter = (date: TimeRange) => + getTime(undefined, date, { fieldName: ALERT_TIME_RANGE }); + +const createAlertStatusFilter = (status: AlertStatus = 'all'): Filter | null => + ALERT_STATUS_QUERY[status] ? { query: ALERT_STATUS_QUERY[status], meta: {} } : null; diff --git a/x-pack/plugins/infra/public/common/alerts/types.ts b/x-pack/plugins/infra/public/common/alerts/types.ts new file mode 100644 index 0000000000000..435b0c17fe61d --- /dev/null +++ b/x-pack/plugins/infra/public/common/alerts/types.ts @@ -0,0 +1,18 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { BoolQuery, Filter } from '@kbn/es-query'; +import type { AlertStatus } from '@kbn/observability-plugin/common/typings'; +export interface AlertStatusFilter { + status: AlertStatus; + query?: Filter['query']; + label: string; +} + +export interface AlertsEsQuery { + bool: BoolQuery; +} diff --git a/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/alerts.ts b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/alerts.ts new file mode 100644 index 0000000000000..1fbe684a37ab9 --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/alerts.ts @@ -0,0 +1,41 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +const summaryResponse = { + activeAlertCount: 3, + recoveredAlertCount: 3, + activeAlerts: [ + { + key_as_string: '1689172920000', + key: 1689172920000, + doc_count: 3, + }, + { + key_as_string: '1689172980000', + key: 1689172980000, + doc_count: 3, + }, + ], + recoveredAlerts: [ + { + key_as_string: '2023-07-12T14:42:00.000Z', + key: 1689172920000, + doc_count: 3, + }, + { + key_as_string: '2023-07-12T14:43:00.000Z', + key: 1689172980000, + doc_count: 3, + }, + ], +}; + +export const alertsSummaryHttpResponse = { + default: () => Promise.resolve({ ...summaryResponse }), +}; + +export type AlertsSummaryHttpMocks = keyof typeof alertsSummaryHttpResponse; diff --git a/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/index.ts b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/index.ts index b194bb9e02ac0..051fdb73a9e95 100644 --- a/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/index.ts +++ b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/fixtures/index.ts @@ -11,6 +11,7 @@ export { processesChartHttpResponse, type ProcessesHttpMocks, } from './processes'; +export { alertsSummaryHttpResponse, type AlertsSummaryHttpMocks } from './alerts'; export { anomaliesHttpResponse, type AnomaliesHttpMocks } from './anomalies'; export { snapshotAPItHttpResponse, type SnapshotAPIHttpMocks } from './snapshot_api'; export { getLogEntries } from './log_entries'; diff --git a/x-pack/plugins/infra/public/components/asset_details/__stories__/context/http.ts b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/http.ts index a8d72239aa7d7..3d9e13bf52667 100644 --- a/x-pack/plugins/infra/public/components/asset_details/__stories__/context/http.ts +++ b/x-pack/plugins/infra/public/components/asset_details/__stories__/context/http.ts @@ -9,11 +9,13 @@ import type { HttpStart, HttpHandler } from '@kbn/core/public'; import type { Parameters } from '@storybook/react'; import { INFA_ML_GET_METRICS_HOSTS_ANOMALIES_PATH } from '../../../../../common/http_api/infra_ml'; import { + alertsSummaryHttpResponse, anomaliesHttpResponse, metadataHttpResponse, processesChartHttpResponse, processesHttpResponse, snapshotAPItHttpResponse, + type AlertsSummaryHttpMocks, type AnomaliesHttpMocks, type MetadataResponseMocks, type ProcessesHttpMocks, @@ -43,6 +45,14 @@ export const getHttp = (params: Parameters): HttpStart => { return Promise.resolve({}); } }) as HttpHandler, + post: (async (path: string) => { + switch (path) { + case '/internal/rac/alerts/_alert_summary': + return alertsSummaryHttpResponse[params.mock as AlertsSummaryHttpMocks](); + default: + return Promise.resolve({}); + } + }) as HttpHandler, } as unknown as HttpStart; return http; diff --git a/x-pack/plugins/infra/public/components/asset_details/__stories__/decorator.tsx b/x-pack/plugins/infra/public/components/asset_details/__stories__/decorator.tsx index 4a4eaa740230f..542bdc33d7431 100644 --- a/x-pack/plugins/infra/public/components/asset_details/__stories__/decorator.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/__stories__/decorator.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React from 'react'; +import React, { JSXElementConstructor, ReactElement } from 'react'; import { I18nProvider } from '@kbn/i18n-react'; import { KibanaContextProvider, @@ -18,6 +18,9 @@ import { useParameter } from '@storybook/addons'; import type { DeepPartial } from 'utility-types'; import type { LocatorPublic } from '@kbn/share-plugin/public'; import type { IKibanaSearchRequest, ISearchOptions } from '@kbn/data-plugin/public'; +import { AlertSummaryWidget } from '@kbn/triggers-actions-ui-plugin/public/application/sections/alert_summary_widget/alert_summary_widget'; +import type { Theme } from '@elastic/charts/dist/utils/themes/theme'; +import type { AlertSummaryWidgetProps } from '@kbn/triggers-actions-ui-plugin/public/application/sections/alert_summary_widget'; import type { PluginKibanaContextValue } from '../../../hooks/use_kibana'; import { SourceProvider } from '../../../containers/metrics_source'; import { getHttp } from './context/http'; @@ -66,6 +69,20 @@ export const DecorateWithKibanaContext: DecoratorFn = (story) => { return Promise.resolve([]); }, }, + uiSettings: { + get: () => ({ key: 'mock', defaultOverride: undefined } as any), + }, + triggersActionsUi: { + getAlertSummaryWidget: AlertSummaryWidget as ( + props: AlertSummaryWidgetProps + ) => ReactElement>, + }, + charts: { + theme: { + useChartsTheme: () => ({} as Theme), + useChartsBaseTheme: () => ({} as Theme), + }, + }, settings: { client: { get$: (key: string) => of(getSettings(key)), diff --git a/x-pack/plugins/infra/public/components/asset_details/components/alerts_tooltip_content.tsx b/x-pack/plugins/infra/public/components/asset_details/components/alerts_tooltip_content.tsx new file mode 100644 index 0000000000000..3ad149ce6c78f --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/components/alerts_tooltip_content.tsx @@ -0,0 +1,52 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { EuiText, EuiLink } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { ALERTS_DOC_HREF } from '../../../common/alerts/constants'; +import { LinkToAlertsHomePage } from '../links/link_to_alerts_page'; + +export const AlertsTooltipContent = React.memo(() => { + const onClick = (e: React.MouseEvent) => { + e.stopPropagation(); + }; + + return ( + +

    + , + }} + /> +

    +

    + + + + ), + }} + /> +

    +
    + ); +}); diff --git a/x-pack/plugins/infra/public/components/asset_details/links/link_to_alerts.tsx b/x-pack/plugins/infra/public/components/asset_details/links/link_to_alerts.tsx index 17f3f7a30d861..47d7075cb60dc 100644 --- a/x-pack/plugins/infra/public/components/asset_details/links/link_to_alerts.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/links/link_to_alerts.tsx @@ -8,11 +8,11 @@ import React from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; import { EuiButtonEmpty } from '@elastic/eui'; -export interface LinkToAlertsRule { +export interface LinkToAlertsRuleProps { onClick?: () => void; } -export const LinkToAlertsRule = ({ onClick }: LinkToAlertsRule) => { +export const LinkToAlertsRule = ({ onClick }: LinkToAlertsRuleProps) => { return ( { iconType="bell" > ); diff --git a/x-pack/plugins/infra/public/components/asset_details/links/link_to_alerts_page.tsx b/x-pack/plugins/infra/public/components/asset_details/links/link_to_alerts_page.tsx new file mode 100644 index 0000000000000..ce8c0bf08e657 --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/links/link_to_alerts_page.tsx @@ -0,0 +1,70 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React from 'react'; +import { encode } from '@kbn/rison'; +import { RedirectAppLinks } from '@kbn/shared-ux-link-redirect-app'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { EuiButtonEmpty, EuiLink } from '@elastic/eui'; +import type { TimeRange } from '@kbn/es-query'; +import { ALERTS_PATH } from '../../../common/alerts/constants'; +import { useKibanaContextForPlugin } from '../../../hooks/use_kibana'; + +export interface LinkToAlertsPageProps { + nodeName: string; + queryField: string; + dateRange: TimeRange; +} + +export const LinkToAlertsPage = ({ nodeName, queryField, dateRange }: LinkToAlertsPageProps) => { + const { services } = useKibanaContextForPlugin(); + const { http } = services; + + const linkToAlertsPage = http.basePath.prepend( + `${ALERTS_PATH}?_a=${encode({ + kuery: `${queryField}:"${nodeName}"`, + rangeFrom: dateRange.from, + rangeTo: dateRange.to, + status: 'all', + })}` + ); + + return ( + + + + + + ); +}; + +export const LinkToAlertsHomePage = () => { + const { services } = useKibanaContextForPlugin(); + const { http } = services; + + const linkToAlertsPage = http.basePath.prepend(ALERTS_PATH); + + return ( + + + + + + ); +}; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/alerts.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/alerts.tsx new file mode 100644 index 0000000000000..87ebaae1f5f20 --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/alerts.tsx @@ -0,0 +1,143 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React, { useMemo } from 'react'; + +import { EuiFlexGroup, EuiFlexItem, EuiTitle, EuiPopover, EuiIcon, EuiSpacer } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { useSummaryTimeRange } from '@kbn/observability-plugin/public'; +import type { TimeRange } from '@kbn/es-query'; +import type { AlertsEsQuery } from '../../../../common/alerts/types'; +import { AlertsTooltipContent } from '../../components/alerts_tooltip_content'; +import type { InventoryItemType } from '../../../../../common/inventory_models/types'; +import { findInventoryFields } from '../../../../../common/inventory_models'; +import { createAlertsEsQuery } from '../../../../common/alerts/create_alerts_es_query'; +import { infraAlertFeatureIds } from '../../../../pages/metrics/hosts/components/tabs/config'; + +import { useKibanaContextForPlugin } from '../../../../hooks/use_kibana'; +import { LinkToAlertsRule } from '../../links/link_to_alerts'; +import { LinkToAlertsPage } from '../../links/link_to_alerts_page'; +import { AlertFlyout } from '../../../../alerting/inventory/components/alert_flyout'; +import { useBoolean } from '../../../../hooks/use_boolean'; +import { ALERT_STATUS_ALL } from '../../../../common/alerts/constants'; + +export const AlertsSummaryContent = ({ + nodeName, + nodeType, + dateRange, +}: { + nodeName: string; + nodeType: InventoryItemType; + dateRange: TimeRange; +}) => { + const [isAlertFlyoutVisible, { toggle: toggleAlertFlyout }] = useBoolean(false); + + const alertsEsQueryByStatus = useMemo( + () => + createAlertsEsQuery({ + dateRange, + hostNodeNames: [nodeName], + status: ALERT_STATUS_ALL, + }), + [nodeName, dateRange] + ); + + return ( + <> + + + + + + + + + + + + + + + + ); +}; + +interface MemoAlertSummaryWidgetProps { + alertsQuery: AlertsEsQuery; + dateRange: TimeRange; +} + +const MemoAlertSummaryWidget = React.memo( + ({ alertsQuery, dateRange }: MemoAlertSummaryWidgetProps) => { + const { services } = useKibanaContextForPlugin(); + + const summaryTimeRange = useSummaryTimeRange(dateRange); + + const { charts, triggersActionsUi } = services; + const { getAlertSummaryWidget: AlertSummaryWidget } = triggersActionsUi; + + const chartProps = { + theme: charts.theme.useChartsTheme(), + baseTheme: charts.theme.useChartsBaseTheme(), + }; + + return ( + + ); + } +); + +const AlertsSectionTitle = () => { + const [isPopoverOpen, { off: closePopover, toggle: togglePopover }] = useBoolean(false); + + return ( + + + +
    + +
    +
    +
    + + + } + isOpen={isPopoverOpen} + closePopover={closePopover} + repositionOnScroll + anchorPosition="upCenter" + > + + + +
    + ); +}; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metadata_summary.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metadata_summary.tsx index 1ab7cd8fb5361..c8be7c111e603 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metadata_summary.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metadata_summary.tsx @@ -12,12 +12,16 @@ import { EuiFlexItem, EuiDescriptionList, EuiDescriptionListDescription, + EuiIcon, + EuiLink, EuiLoadingSpinner, + EuiPopover, } from '@elastic/eui'; import { css } from '@emotion/react'; import { i18n } from '@kbn/i18n'; import React from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; +import { useBoolean } from '../../../../hooks/use_boolean'; import type { InfraMetadata } from '../../../../../common/http_api'; import { NOT_AVAILABLE_LABEL } from '../../translations'; import { useTabSwitcherContext } from '../../hooks/use_tab_switcher'; @@ -42,6 +46,8 @@ const metadataData = (metadataInfo: InfraMetadata['info']) => [ { field: 'hostIp', value: metadataInfo?.host?.ip, + tooltipLinkLabel: 'host.ip', + tooltipLink: 'https://www.elastic.co/guide/en/ecs/current/ecs-host.html#field-host-ip', }, { field: 'hostOsVersion', @@ -55,6 +61,7 @@ interface MetadataSummaryProps { } export const MetadataSummary = ({ metadata, metadataLoading }: MetadataSummaryProps) => { + const [isPopoverOpen, { off: closePopover, toggle: togglePopover }] = useBoolean(false); const { showTab } = useTabSwitcherContext(); const onClick = () => { @@ -62,46 +69,81 @@ export const MetadataSummary = ({ metadata, metadataLoading }: MetadataSummaryPr }; return ( - <> - - - {metadataData(metadata?.info).map((metadataValue) => ( - - - - {columnTitles[metadataValue.field as MetadataFields]} - - - {metadataLoading ? ( - - ) : ( - - )} - - - - ))} - - - - - - + + + {metadataData(metadata?.info).map((metadataValue) => ( + + + + + + {columnTitles[metadataValue.field as MetadataFields]} + + + {metadataValue.tooltipLink && ( + + } + isOpen={isPopoverOpen} + closePopover={closePopover} + repositionOnScroll + anchorPosition="upCenter" + > + + {metadataValue.tooltipLinkLabel} + + ), + }} + /> + + )} + + + + + {metadataLoading ? ( + + ) : ( + + )} + + + + ))} - + + + + + + ); }; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/overview.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/overview.tsx index c86d9814ef62e..e85a2c65fe2a9 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/overview.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/overview.tsx @@ -7,7 +7,7 @@ import React from 'react'; import { i18n } from '@kbn/i18n'; -import { EuiCallOut, EuiFlexGroup, EuiFlexItem, EuiLink, EuiHorizontalRule } from '@elastic/eui'; +import { EuiCallOut, EuiFlexGroup, EuiFlexItem, EuiHorizontalRule, EuiLink } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import type { TimeRange } from '@kbn/es-query'; import type { DataView } from '@kbn/data-views-plugin/public'; @@ -17,6 +17,7 @@ import { findInventoryModel } from '../../../../../common/inventory_models'; import { useMetadata } from '../../hooks/use_metadata'; import { useSourceContext } from '../../../../containers/metrics_source'; import { MetadataSummary } from './metadata_summary'; +import { AlertsSummaryContent } from './alerts'; import { KPIGrid } from './kpis/kpi_grid'; import { MetricsGrid } from './metrics/metrics_grid'; import { toTimestampRange } from '../../utils'; @@ -92,6 +93,10 @@ export const Overview = ({ )} + + + + void; diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/alerts/alerts_tab_content.tsx b/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/alerts/alerts_tab_content.tsx index 53e19d73fb4a8..9913f11b20cc9 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/alerts/alerts_tab_content.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/alerts/alerts_tab_content.tsx @@ -4,29 +4,18 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import React, { useMemo } from 'react'; +import React from 'react'; import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; -import { - calculateTimeRangeBucketSize, - getAlertSummaryTimeRange, - useTimeBuckets, -} from '@kbn/observability-plugin/public'; import { AlertConsumers } from '@kbn/rule-data-utils'; -import { TimeRange } from '@kbn/es-query'; -import { BrushEndListener, XYBrushEvent } from '@elastic/charts'; +import { BrushEndListener, type XYBrushEvent } from '@elastic/charts'; +import { useSummaryTimeRange } from '@kbn/observability-plugin/public'; +import type { AlertsEsQuery } from '../../../../../../common/alerts/types'; import { useKibanaContextForPlugin } from '../../../../../../hooks/use_kibana'; import { HeightRetainer } from '../../../../../../components/height_retainer'; import { useUnifiedSearchContext } from '../../../hooks/use_unified_search'; - -import { - ALERTS_PER_PAGE, - ALERTS_TABLE_ID, - DEFAULT_DATE_FORMAT, - DEFAULT_INTERVAL, - infraAlertFeatureIds, -} from '../config'; -import { AlertsEsQuery, useAlertsQuery } from '../../../hooks/use_alerts_query'; +import { useAlertsQuery } from '../../../hooks/use_alerts_query'; import AlertsStatusFilter from './alerts_status_filter'; +import { ALERTS_PER_PAGE, ALERTS_TABLE_ID, infraAlertFeatureIds } from '../config'; import { HostsState, HostsStateUpdater } from '../../../hooks/use_unified_search_url_state'; export const AlertsTabContent = () => { @@ -120,18 +109,3 @@ const MemoAlertSummaryWidget = React.memo( ); } ); - -const useSummaryTimeRange = (unifiedSearchDateRange: TimeRange) => { - const timeBuckets = useTimeBuckets(); - - const bucketSize = useMemo( - () => calculateTimeRangeBucketSize(unifiedSearchDateRange, timeBuckets), - [unifiedSearchDateRange, timeBuckets] - ); - - return getAlertSummaryTimeRange( - unifiedSearchDateRange, - bucketSize?.intervalString || DEFAULT_INTERVAL, - bucketSize?.dateFormat || DEFAULT_DATE_FORMAT - ); -}; diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/config.ts b/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/config.ts index 28ba329e6a264..cf4374cae94fa 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/config.ts +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/config.ts @@ -13,6 +13,3 @@ export const ALERTS_TABLE_ID = 'xpack.infra.hosts.alerts.table'; export const INFRA_ALERT_FEATURE_ID = 'infrastructure'; export const infraAlertFeatureIds: ValidFeatureId[] = [AlertConsumers.INFRASTRUCTURE]; - -export const DEFAULT_INTERVAL = '60s'; -export const DEFAULT_DATE_FORMAT = 'YYYY-MM-DD HH:mm'; diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/constants.ts b/x-pack/plugins/infra/public/pages/metrics/hosts/constants.ts index ca39287f27044..e8f3d2714127e 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/constants.ts +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/constants.ts @@ -5,11 +5,8 @@ * 2.0. */ -import { i18n } from '@kbn/i18n'; -import { ALERT_STATUS, ALERT_STATUS_ACTIVE, ALERT_STATUS_RECOVERED } from '@kbn/rule-data-utils'; -import { AlertStatusFilter, HostLimitOptions } from './types'; +import { HostLimitOptions } from './types'; -export const ALERT_STATUS_ALL = 'all'; export const TIMESTAMP_FIELD = '@timestamp'; export const DATA_VIEW_PREFIX = 'infra_metrics'; @@ -21,45 +18,5 @@ export const LOCAL_STORAGE_PAGE_SIZE_KEY = 'hostsView:pageSizeSelection'; export const KPI_CHART_MIN_HEIGHT = 150; export const METRIC_CHART_MIN_HEIGHT = 300; -export const ALL_ALERTS: AlertStatusFilter = { - status: ALERT_STATUS_ALL, - label: i18n.translate('xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.showAll', { - defaultMessage: 'Show all', - }), -}; - -export const ACTIVE_ALERTS: AlertStatusFilter = { - status: ALERT_STATUS_ACTIVE, - query: { - term: { - [ALERT_STATUS]: { - value: ALERT_STATUS_ACTIVE, - }, - }, - }, - label: i18n.translate('xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.active', { - defaultMessage: 'Active', - }), -}; - -export const RECOVERED_ALERTS: AlertStatusFilter = { - status: ALERT_STATUS_RECOVERED, - query: { - term: { - [ALERT_STATUS]: { - value: ALERT_STATUS_RECOVERED, - }, - }, - }, - label: i18n.translate('xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.recovered', { - defaultMessage: 'Recovered', - }), -}; - -export const ALERT_STATUS_QUERY = { - [ACTIVE_ALERTS.status]: ACTIVE_ALERTS.query, - [RECOVERED_ALERTS.status]: RECOVERED_ALERTS.query, -}; - export const HOST_LIMIT_OPTIONS = [10, 20, 50, 100, 500] as const; export const HOST_METRICS_DOC_HREF = 'https://ela.st/docs-infra-host-metrics'; diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_alerts_query.ts b/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_alerts_query.ts index 46ef8c62d3ed7..2cb557e902efc 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_alerts_query.ts +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_alerts_query.ts @@ -6,20 +6,10 @@ */ import { useCallback, useMemo, useState } from 'react'; import createContainer from 'constate'; -import { getTime } from '@kbn/data-plugin/common'; -import { ALERT_TIME_RANGE } from '@kbn/rule-data-utils'; -import { BoolQuery, buildEsQuery, Filter } from '@kbn/es-query'; -import { InfraAssetMetricsItem } from '../../../../../common/http_api'; +import type { AlertStatus } from '@kbn/observability-plugin/common/typings'; +import { createAlertsEsQuery } from '../../../../common/alerts/create_alerts_es_query'; import { useUnifiedSearchContext } from './use_unified_search'; -import { HostsState } from './use_unified_search_url_state'; import { useHostsViewContext } from './use_hosts_view'; -import { AlertStatus } from '../types'; -import { ALERT_STATUS_QUERY } from '../constants'; -import { buildCombinedHostsFilter } from '../../../../utils/filters/build'; - -export interface AlertsEsQuery { - bool: BoolQuery; -} export const useAlertsQueryImpl = () => { const { hostNodes } = useHostsViewContext(); @@ -28,10 +18,12 @@ export const useAlertsQueryImpl = () => { const [alertStatus, setAlertStatus] = useState('all'); + const hostNodeNames = useMemo(() => hostNodes.map((n) => n.name), [hostNodes]); + const getAlertsEsQuery = useCallback( (status?: AlertStatus) => - createAlertsEsQuery({ dateRange: searchCriteria.dateRange, hostNodes, status }), - [hostNodes, searchCriteria.dateRange] + createAlertsEsQuery({ dateRange: searchCriteria.dateRange, hostNodeNames, status }), + [hostNodeNames, searchCriteria.dateRange] ); // Regenerate the query when status change even if is not used. @@ -53,34 +45,3 @@ export const useAlertsQueryImpl = () => { export const AlertsQueryContainer = createContainer(useAlertsQueryImpl); export const [AlertsQueryProvider, useAlertsQuery] = AlertsQueryContainer; - -/** - * Helpers - */ -const createAlertsEsQuery = ({ - dateRange, - hostNodes, - status, -}: { - dateRange: HostsState['dateRange']; - hostNodes: InfraAssetMetricsItem[]; - status?: AlertStatus; -}): AlertsEsQuery => { - const alertStatusFilter = createAlertStatusFilter(status); - - const dateFilter = createDateFilter(dateRange); - const hostsFilter = buildCombinedHostsFilter({ - field: 'host.name', - values: hostNodes.map((p) => p.name), - }); - - const filters = [alertStatusFilter, dateFilter, hostsFilter].filter(Boolean) as Filter[]; - - return buildEsQuery(undefined, [], filters); -}; - -const createDateFilter = (date: HostsState['dateRange']) => - getTime(undefined, date, { fieldName: ALERT_TIME_RANGE }); - -const createAlertStatusFilter = (status: AlertStatus = 'all'): Filter | null => - ALERT_STATUS_QUERY[status] ? { query: ALERT_STATUS_QUERY[status], meta: {} } : null; diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/types.ts b/x-pack/plugins/infra/public/pages/metrics/hosts/types.ts index 080b47f54d4da..6d6b6214e00bd 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/types.ts +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/types.ts @@ -4,20 +4,6 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ - -import { Filter } from '@kbn/es-query'; -import { ALERT_STATUS_ACTIVE, ALERT_STATUS_RECOVERED } from '@kbn/rule-data-utils'; -import { ALERT_STATUS_ALL, HOST_LIMIT_OPTIONS } from './constants'; - -export type AlertStatus = - | typeof ALERT_STATUS_ACTIVE - | typeof ALERT_STATUS_RECOVERED - | typeof ALERT_STATUS_ALL; - -export interface AlertStatusFilter { - status: AlertStatus; - query?: Filter['query']; - label: string; -} +import { HOST_LIMIT_OPTIONS } from './constants'; export type HostLimitOptions = typeof HOST_LIMIT_OPTIONS[number]; diff --git a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts index 0f3559be27c68..1a72feeba0913 100644 --- a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts +++ b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts @@ -1901,6 +1901,7 @@ const createMockStaticConfiguration = (sources: any): InfraConfig => ({ logs: { app_target: 'logs-ui', }, + enabled: true, sources, }); diff --git a/x-pack/plugins/infra/server/lib/sources/sources.test.ts b/x-pack/plugins/infra/server/lib/sources/sources.test.ts index a8d78d1ba09f1..9f7d5e9bd1be1 100644 --- a/x-pack/plugins/infra/server/lib/sources/sources.test.ts +++ b/x-pack/plugins/infra/server/lib/sources/sources.test.ts @@ -125,6 +125,7 @@ const createMockStaticConfiguration = (sources: any): InfraConfig => ({ app_target: 'logs-ui', }, sources, + enabled: true, }); const createRequestContext = (savedObject?: SavedObject) => { diff --git a/x-pack/plugins/infra/server/plugin.ts b/x-pack/plugins/infra/server/plugin.ts index 07bafb4781e70..3655a65f706d3 100644 --- a/x-pack/plugins/infra/server/plugin.ts +++ b/x-pack/plugins/infra/server/plugin.ts @@ -60,6 +60,7 @@ import { mapSourceToLogView } from './utils/map_source_to_log_view'; export const config: PluginConfigDescriptor = { schema: schema.object({ + enabled: schema.boolean({ defaultValue: true }), // Setting variants only allowed in the Serverless offering, otherwise always default `logs-ui` value logs: schema.conditional( schema.contextRef('serverless'), diff --git a/x-pack/plugins/maps/common/content_management/v1/cm_services.ts b/x-pack/plugins/maps/common/content_management/v1/cm_services.ts index 65d2e3082da7d..ba849479776d5 100644 --- a/x-pack/plugins/maps/common/content_management/v1/cm_services.ts +++ b/x-pack/plugins/maps/common/content_management/v1/cm_services.ts @@ -16,7 +16,7 @@ import { const mapAttributesSchema = schema.object( { title: schema.string(), - description: schema.maybe(schema.string()), + description: schema.maybe(schema.nullable(schema.string())), mapStateJSON: schema.maybe(schema.string()), layerListJSON: schema.maybe(schema.string()), uiStateJSON: schema.maybe(schema.string()), diff --git a/x-pack/plugins/maps/public/connected_components/add_layer_panel/index.ts b/x-pack/plugins/maps/public/connected_components/add_layer_panel/index.ts index 2bb6eaeadf156..5df89b9d40d9f 100644 --- a/x-pack/plugins/maps/public/connected_components/add_layer_panel/index.ts +++ b/x-pack/plugins/maps/public/connected_components/add_layer_panel/index.ts @@ -22,14 +22,13 @@ import { } from '../../actions'; import { MapStoreState } from '../../reducers/store'; import { LayerDescriptor } from '../../../common/descriptor_types'; -import { hasPreviewLayers, isLoadingPreviewLayers } from '../../selectors/map_selectors'; +import { hasPreviewLayers } from '../../selectors/map_selectors'; import { DRAW_MODE } from '../../../common/constants'; import { getAutoOpenLayerWizardId } from '../../selectors/ui_selectors'; function mapStateToProps(state: MapStoreState) { return { hasPreviewLayers: hasPreviewLayers(state), - isLoadingPreviewLayers: isLoadingPreviewLayers(state), autoOpenLayerWizardId: getAutoOpenLayerWizardId(state), }; } diff --git a/x-pack/plugins/maps/public/connected_components/add_layer_panel/view.tsx b/x-pack/plugins/maps/public/connected_components/add_layer_panel/view.tsx index 3e327602dc54d..4a870da997b71 100644 --- a/x-pack/plugins/maps/public/connected_components/add_layer_panel/view.tsx +++ b/x-pack/plugins/maps/public/connected_components/add_layer_panel/view.tsx @@ -47,7 +47,6 @@ export interface Props { addPreviewLayers: (layerDescriptors: LayerDescriptor[]) => void; closeFlyout: () => void; hasPreviewLayers: boolean; - isLoadingPreviewLayers: boolean; addLayersAndClose: () => void; addLayersAndContinue: () => void; enableEditMode: () => void; @@ -179,22 +178,17 @@ export class AddLayerPanel extends Component { return null; } - let isDisabled = !this.state.isNextStepBtnEnabled; - let isLoading = this.state.isStepLoading; - if (this.state.currentStep.id === ADD_LAYER_STEP_ID) { - isDisabled = !this.props.hasPreviewLayers; - isLoading = this.props.isLoadingPreviewLayers; - } else { - isDisabled = !this.state.isNextStepBtnEnabled; - isLoading = this.state.isStepLoading; - } + const isDisabled = + this.state.currentStep.id === ADD_LAYER_STEP_ID + ? !this.props.hasPreviewLayers + : !this.state.isNextStepBtnEnabled; const nextButton = ( { {this.state.currentStep.renderSecondaryActionButton({ isDisabled, - isLoading, + isLoading: this.state.isStepLoading, addLayersAndClose: this.props.addLayersAndClose, })} diff --git a/x-pack/plugins/maps/public/selectors/map_selectors.ts b/x-pack/plugins/maps/public/selectors/map_selectors.ts index 4c49ba38eb707..ece75684ce7b9 100644 --- a/x-pack/plugins/maps/public/selectors/map_selectors.ts +++ b/x-pack/plugins/maps/public/selectors/map_selectors.ts @@ -386,16 +386,6 @@ export const hasPreviewLayers = createSelector(getLayerList, (layerList) => { }); }); -export const isLoadingPreviewLayers = createSelector( - getLayerList, - getMapZoom, - (layerList, zoom) => { - return layerList.some((layer) => { - return layer.isPreviewLayer() && layer.isLayerLoading(zoom); - }); - } -); - export const getMapColors = createSelector(getLayerListRaw, (layerList) => layerList .filter((layerDescriptor) => { diff --git a/x-pack/plugins/ml/common/constants/new_job.ts b/x-pack/plugins/ml/common/constants/new_job.ts index 35f9dea4135e0..12aa5393ad6e1 100644 --- a/x-pack/plugins/ml/common/constants/new_job.ts +++ b/x-pack/plugins/ml/common/constants/new_job.ts @@ -33,3 +33,5 @@ export const DEFAULT_RARE_BUCKET_SPAN = '1h'; export const DEFAULT_QUERY_DELAY = '60s'; export const SHARED_RESULTS_INDEX_NAME = 'shared'; + +export const NUMBER_OF_CATEGORY_EXAMPLES = 5; diff --git a/x-pack/plugins/ml/common/types/categories.ts b/x-pack/plugins/ml/common/types/categories.ts index c40b3035a5f81..3b396524207e8 100644 --- a/x-pack/plugins/ml/common/types/categories.ts +++ b/x-pack/plugins/ml/common/types/categories.ts @@ -5,8 +5,6 @@ * 2.0. */ -import { CATEGORY_EXAMPLES_VALIDATION_STATUS } from '../constants/categorization_job'; - export type CategoryId = number; export interface Category { @@ -20,39 +18,3 @@ export interface Category { partition_field_name?: string; // TODO: make non-optional once fields have been added to the results partition_field_value?: string; // TODO: make non-optional once fields have been added to the results } - -export interface Token { - token: string; - start_offset: number; - end_offset: number; - type: string; - position: number; -} - -export interface CategorizationAnalyzer { - char_filter?: any[]; - tokenizer?: string; - filter?: any[]; - analyzer?: string; -} - -export interface CategoryFieldExample { - text: string; - tokens: Token[]; -} - -export enum VALIDATION_RESULT { - NO_EXAMPLES, - FAILED_TO_TOKENIZE, - TOO_MANY_TOKENS, - TOKEN_COUNT, - MEDIAN_LINE_LENGTH, - NULL_VALUES, - INSUFFICIENT_PRIVILEGES, -} - -export interface FieldExampleCheck { - id: VALIDATION_RESULT; - valid: CATEGORY_EXAMPLES_VALIDATION_STATUS; - message: string; -} diff --git a/x-pack/plugins/ml/common/types/ml_server_info.ts b/x-pack/plugins/ml/common/types/ml_server_info.ts index 2886257e35e67..e5141d6f2e78f 100644 --- a/x-pack/plugins/ml/common/types/ml_server_info.ts +++ b/x-pack/plugins/ml/common/types/ml_server_info.ts @@ -5,14 +5,14 @@ * 2.0. */ -import { CategorizationAnalyzer } from './categories'; +import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; export interface MlServerDefaults { anomaly_detectors: { categorization_examples_limit?: number; model_memory_limit?: string; model_snapshot_retention_days?: number; - categorization_analyzer?: CategorizationAnalyzer; + categorization_analyzer?: estypes.MlCategorizationAnalyzerDefinition; }; datafeeds: { scroll_size?: number }; } diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/categorization_job_creator.ts b/x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/categorization_job_creator.ts index 72ff937a8239f..0ed702f80d472 100644 --- a/x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/categorization_job_creator.ts +++ b/x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/categorization_job_creator.ts @@ -14,8 +14,19 @@ import { ML_JOB_AGGREGATION, } from '@kbn/ml-anomaly-utils'; import type { SavedSearch } from '@kbn/saved-search-plugin/public'; +import { + type CategorizationAnalyzer, + type CategoryFieldExample, + type FieldExampleCheck, + VALIDATION_RESULT, + CATEGORY_EXAMPLES_VALIDATION_STATUS, +} from '@kbn/ml-category-validator'; import { JobCreator } from './job_creator'; -import { Job, Datafeed, Detector } from '../../../../../../common/types/anomaly_detection_jobs'; +import type { + Job, + Datafeed, + Detector, +} from '../../../../../../common/types/anomaly_detection_jobs'; import { createBasicDetector } from './util/default_configs'; import { JOB_TYPE, @@ -23,13 +34,7 @@ import { DEFAULT_BUCKET_SPAN, DEFAULT_RARE_BUCKET_SPAN, } from '../../../../../../common/constants/new_job'; -import { CATEGORY_EXAMPLES_VALIDATION_STATUS } from '../../../../../../common/constants/categorization_job'; -import { - CategorizationAnalyzer, - CategoryFieldExample, - FieldExampleCheck, - VALIDATION_RESULT, -} from '../../../../../../common/types/categories'; + import { getRichDetectors } from './util/general'; import { CategorizationExamplesLoader } from '../results_loader'; import { getNewJobDefaults } from '../../../../services/ml_server_info'; diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/common/job_validator/job_validator.ts b/x-pack/plugins/ml/public/application/jobs/new_job/common/job_validator/job_validator.ts index 812bdb0b935b5..da3ad4b1216a5 100644 --- a/x-pack/plugins/ml/public/application/jobs/new_job/common/job_validator/job_validator.ts +++ b/x-pack/plugins/ml/public/application/jobs/new_job/common/job_validator/job_validator.ts @@ -8,6 +8,7 @@ import { ReactElement } from 'react'; import { combineLatest, Observable, ReplaySubject, Subject } from 'rxjs'; import { map, startWith, tap } from 'rxjs/operators'; +import { CATEGORY_EXAMPLES_VALIDATION_STATUS } from '@kbn/ml-category-validator'; import { basicJobValidation, basicDatafeedValidation, @@ -24,7 +25,7 @@ import { JobExistsResult, GroupsExistResult, } from './validators'; -import { CATEGORY_EXAMPLES_VALIDATION_STATUS } from '../../../../../../common/constants/categorization_job'; + import { JOB_TYPE } from '../../../../../../common/constants/new_job'; // delay start of validation to allow the user to make changes diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/common/results_loader/categorization_examples_loader.ts b/x-pack/plugins/ml/public/application/jobs/new_job/common/results_loader/categorization_examples_loader.ts index 7ea7d60706f84..bc7a6edb17a38 100644 --- a/x-pack/plugins/ml/public/application/jobs/new_job/common/results_loader/categorization_examples_loader.ts +++ b/x-pack/plugins/ml/public/application/jobs/new_job/common/results_loader/categorization_examples_loader.ts @@ -6,13 +6,11 @@ */ import type { DataView } from '@kbn/data-views-plugin/public'; -import { IndexPatternTitle } from '../../../../../../common/types/kibana'; +import { CATEGORY_EXAMPLES_VALIDATION_STATUS } from '@kbn/ml-category-validator'; +import { NUMBER_OF_CATEGORY_EXAMPLES } from '../../../../../../common/constants/new_job'; +import type { IndexPatternTitle } from '../../../../../../common/types/kibana'; import { CategorizationJobCreator } from '../job_creator'; import { ml } from '../../../../services/ml_api_service'; -import { - NUMBER_OF_CATEGORY_EXAMPLES, - CATEGORY_EXAMPLES_VALIDATION_STATUS, -} from '../../../../../../common/constants/categorization_job'; export class CategorizationExamplesLoader { private _jobCreator: CategorizationJobCreator; diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_view/examples_valid_callout.tsx b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_view/examples_valid_callout.tsx index 4d22d8c4a5f50..1d30605b4098c 100644 --- a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_view/examples_valid_callout.tsx +++ b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_view/examples_valid_callout.tsx @@ -18,15 +18,14 @@ import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; import { - CategorizationAnalyzer, - FieldExampleCheck, -} from '../../../../../../../../../common/types/categories'; -import { EditCategorizationAnalyzerFlyout } from '../../../common/edit_categorization_analyzer_flyout'; -import { + type CategorizationAnalyzer, + type FieldExampleCheck, + VALIDATION_RESULT, CATEGORY_EXAMPLES_VALIDATION_STATUS, VALIDATION_CHECK_DESCRIPTION, -} from '../../../../../../../../../common/constants/categorization_job'; -import { VALIDATION_RESULT } from '../../../../../../../../../common/types/categories'; +} from '@kbn/ml-category-validator'; + +import { EditCategorizationAnalyzerFlyout } from '../../../common/edit_categorization_analyzer_flyout'; interface Props { validationChecks: FieldExampleCheck[]; @@ -96,9 +95,12 @@ export const ExamplesValidCallout: FC = ({ const AnalyzerUsed: FC<{ categorizationAnalyzer: CategorizationAnalyzer }> = ({ categorizationAnalyzer, }) => { - let analyzer = ''; + let analyzer: string | null = null; - if (categorizationAnalyzer?.tokenizer !== undefined) { + if ( + categorizationAnalyzer?.tokenizer !== undefined && + typeof categorizationAnalyzer.tokenizer === 'string' + ) { analyzer = categorizationAnalyzer.tokenizer; } else if (categorizationAnalyzer?.analyzer !== undefined) { analyzer = categorizationAnalyzer.analyzer; @@ -106,13 +108,15 @@ const AnalyzerUsed: FC<{ categorizationAnalyzer: CategorizationAnalyzer }> = ({ return ( <> -
    - -
    + {analyzer !== null ? ( +
    + +
    + ) : null}
    diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_view/field_examples.tsx b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_view/field_examples.tsx index 01eee1c9cc37b..5b00a81230151 100644 --- a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_view/field_examples.tsx +++ b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_view/field_examples.tsx @@ -8,7 +8,7 @@ import React, { FC } from 'react'; import { i18n } from '@kbn/i18n'; import { EuiBasicTable, EuiCodeBlock } from '@elastic/eui'; -import { CategoryFieldExample } from '../../../../../../../../../common/types/categories'; +import { CategoryFieldExample } from '@kbn/ml-category-validator'; interface Props { fieldExamples: CategoryFieldExample[] | null; diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_view/metric_selection.tsx b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_view/metric_selection.tsx index 1b89262c9e59f..7b0f48087940b 100644 --- a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_view/metric_selection.tsx +++ b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_view/metric_selection.tsx @@ -7,6 +7,11 @@ import React, { FC, useContext, useEffect, useState } from 'react'; import { EuiHorizontalRule } from '@elastic/eui'; +import { + CATEGORY_EXAMPLES_VALIDATION_STATUS, + type CategoryFieldExample, + type FieldExampleCheck, +} from '@kbn/ml-category-validator'; import { getToastNotificationService } from '../../../../../../../services/toast_notification_service'; import { JobCreatorContext } from '../../../job_creator_context'; @@ -18,11 +23,6 @@ import { CategorizationPerPartitionField } from '../categorization_partition_fie import { FieldExamples } from './field_examples'; import { ExamplesValidCallout } from './examples_valid_callout'; import { InvalidCssVersionCallout } from './invalid_ccs_version_valid_callout'; -import { - CategoryFieldExample, - FieldExampleCheck, -} from '../../../../../../../../../common/types/categories'; -import { CATEGORY_EXAMPLES_VALIDATION_STATUS } from '../../../../../../../../../common/constants/categorization_job'; import { LoadingWrapper } from '../../../charts/loading_wrapper'; interface Props { diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_view/top_categories.tsx b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_view/top_categories.tsx index b12b4261a0628..6ce1569794c3d 100644 --- a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_view/top_categories.tsx +++ b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/categorization_view/top_categories.tsx @@ -9,12 +9,12 @@ import React, { FC, useContext, useEffect, useState } from 'react'; import { EuiBasicTable, EuiText } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import { extractErrorProperties } from '@kbn/ml-error-utils'; +import { NUMBER_OF_CATEGORY_EXAMPLES } from '../../../../../../../../../common/constants/new_job'; import { JobCreatorContext } from '../../../job_creator_context'; import { CategorizationJobCreator } from '../../../../../common/job_creator'; import { Results } from '../../../../../common/results_loader'; import { ml } from '../../../../../../../services/ml_api_service'; import { useToastNotificationService } from '../../../../../../../services/toast_notification_service'; -import { NUMBER_OF_CATEGORY_EXAMPLES } from '../../../../../../../../../common/constants/categorization_job'; export const TopCategories: FC = () => { const { displayErrorToast } = useToastNotificationService(); diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/recognize/components/job_settings_form.tsx b/x-pack/plugins/ml/public/application/jobs/new_job/recognize/components/job_settings_form.tsx index dab33eaf74801..71d01ff161aae 100644 --- a/x-pack/plugins/ml/public/application/jobs/new_job/recognize/components/job_settings_form.tsx +++ b/x-pack/plugins/ml/public/application/jobs/new_job/recognize/components/job_settings_form.tsx @@ -154,6 +154,7 @@ export const JobSettingsForm: FC = ({ value={jobPrefix} onChange={({ target: { value } }) => setJobPrefix(value)} isInvalid={!!validationResult.jobPrefix} + data-test-subj="mlJobRecognizerWizardInputJobIdPrefix" />
    @@ -210,6 +211,7 @@ export const JobSettingsForm: FC = ({ /> } paddingSize="l" + data-test-subj="mlJobWizardToggleAdvancedSection" > = ({ /> } > - + = ({ moduleId, existingGroupIds }) => { {jobsAwaitingNodeCount > 0 && } - + diff --git a/x-pack/plugins/ml/public/application/services/ml_api_service/jobs.ts b/x-pack/plugins/ml/public/application/services/ml_api_service/jobs.ts index 98a1246b16586..f84d030654ab2 100644 --- a/x-pack/plugins/ml/public/application/services/ml_api_service/jobs.ts +++ b/x-pack/plugins/ml/public/application/services/ml_api_service/jobs.ts @@ -9,6 +9,12 @@ import { Observable } from 'rxjs'; import { useMemo } from 'react'; import type { AggFieldNamePair } from '@kbn/ml-anomaly-utils'; import type { RuntimeMappings } from '@kbn/ml-runtime-field-utils'; +import { + type CategorizationAnalyzer, + type CategoryFieldExample, + type FieldExampleCheck, + CATEGORY_EXAMPLES_VALIDATION_STATUS, +} from '@kbn/ml-category-validator'; import { HttpService } from '../http_service'; import { useMlKibana } from '../../contexts/kibana'; @@ -25,12 +31,7 @@ import type { JobMessage } from '../../../../common/types/audit_message'; import type { JobAction } from '../../../../common/constants/job_actions'; import type { Group } from '../../../../common/types/groups'; import type { ExistingJobsAndGroups } from '../job_service'; -import type { - CategorizationAnalyzer, - CategoryFieldExample, - FieldExampleCheck, -} from '../../../../common/types/categories'; -import { CATEGORY_EXAMPLES_VALIDATION_STATUS } from '../../../../common/constants/categorization_job'; + import type { Category } from '../../../../common/types/categories'; import type { JobsExistResponse, diff --git a/x-pack/plugins/ml/server/models/job_service/new_job/categorization/index.ts b/x-pack/plugins/ml/server/models/job_service/new_job/categorization/index.ts index c44a66a9ada20..38c35b0e76a2c 100644 --- a/x-pack/plugins/ml/server/models/job_service/new_job/categorization/index.ts +++ b/x-pack/plugins/ml/server/models/job_service/new_job/categorization/index.ts @@ -5,5 +5,4 @@ * 2.0. */ -export { categorizationExamplesProvider } from './examples'; export { topCategoriesProvider } from './top_categories'; diff --git a/x-pack/plugins/ml/server/models/job_service/new_job/categorization/top_categories.ts b/x-pack/plugins/ml/server/models/job_service/new_job/categorization/top_categories.ts index 8d019137f2ff3..339ba87fc423b 100644 --- a/x-pack/plugins/ml/server/models/job_service/new_job/categorization/top_categories.ts +++ b/x-pack/plugins/ml/server/models/job_service/new_job/categorization/top_categories.ts @@ -7,7 +7,7 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import { CategoryId, Category } from '../../../../../common/types/categories'; +import type { CategoryId, Category } from '../../../../../common/types/categories'; import type { MlClient } from '../../../../lib/ml_client'; export function topCategoriesProvider(mlClient: MlClient) { diff --git a/x-pack/plugins/ml/server/models/job_service/new_job/index.ts b/x-pack/plugins/ml/server/models/job_service/new_job/index.ts index 9f51d48cbd2f6..2550510aa6610 100644 --- a/x-pack/plugins/ml/server/models/job_service/new_job/index.ts +++ b/x-pack/plugins/ml/server/models/job_service/new_job/index.ts @@ -6,4 +6,4 @@ */ export { newJobChartsProvider } from './charts'; -export { categorizationExamplesProvider, topCategoriesProvider } from './categorization'; +export { topCategoriesProvider } from './categorization'; diff --git a/x-pack/plugins/ml/server/routes/job_service.ts b/x-pack/plugins/ml/server/routes/job_service.ts index cb8bbebd95d31..c7cdd2276116d 100644 --- a/x-pack/plugins/ml/server/routes/job_service.ts +++ b/x-pack/plugins/ml/server/routes/job_service.ts @@ -7,6 +7,7 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { schema } from '@kbn/config-schema'; +import { categorizationExamplesProvider } from '@kbn/ml-category-validator'; import { ML_INTERNAL_BASE_PATH } from '../../common/constants/app'; import { wrapError } from '../client/error_wrapper'; import type { RouteInitialization } from '../types'; @@ -32,7 +33,6 @@ import { import { jobIdSchema } from './schemas/anomaly_detectors_schema'; import { jobServiceProvider } from '../models/job_service'; -import { categorizationExamplesProvider } from '../models/job_service/new_job'; import { getAuthorizationHeader } from '../lib/request_authorization'; import type { Datafeed, Job } from '../../common/types/anomaly_detection_jobs'; diff --git a/x-pack/plugins/ml/tsconfig.json b/x-pack/plugins/ml/tsconfig.json index 98100a0b9bf0e..441d3814496ba 100644 --- a/x-pack/plugins/ml/tsconfig.json +++ b/x-pack/plugins/ml/tsconfig.json @@ -95,6 +95,7 @@ "@kbn/ml-kibana-theme", "@kbn/ml-runtime-field-utils", "@kbn/ml-date-utils", + "@kbn/ml-category-validator", "@kbn/deeplinks-ml", "@kbn/core-notifications-browser-mocks", "@kbn/unified-field-list", diff --git a/x-pack/plugins/observability/public/hooks/use_summary_time_range.tsx b/x-pack/plugins/observability/public/hooks/use_summary_time_range.tsx new file mode 100644 index 0000000000000..b5edd968f52c8 --- /dev/null +++ b/x-pack/plugins/observability/public/hooks/use_summary_time_range.tsx @@ -0,0 +1,28 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { useMemo } from 'react'; +import type { TimeRange } from '@kbn/es-query'; +import { useUiSetting } from '@kbn/kibana-react-plugin/public'; +import { calculateTimeRangeBucketSize, getAlertSummaryTimeRange, useTimeBuckets } from '..'; +import { DEFAULT_INTERVAL, DEFAULT_DATE_FORMAT } from '../constants'; + +export const useSummaryTimeRange = (unifiedSearchDateRange: TimeRange) => { + const timeBuckets = useTimeBuckets(); + const dateFormat = useUiSetting('dateFormat'); + + const bucketSize = useMemo( + () => calculateTimeRangeBucketSize(unifiedSearchDateRange, timeBuckets), + [unifiedSearchDateRange, timeBuckets] + ); + + return getAlertSummaryTimeRange( + unifiedSearchDateRange, + bucketSize?.intervalString ?? DEFAULT_INTERVAL, + bucketSize?.dateFormat ?? dateFormat ?? DEFAULT_DATE_FORMAT + ); +}; diff --git a/x-pack/plugins/observability/public/index.ts b/x-pack/plugins/observability/public/index.ts index 50b67fc5d0bb0..fabc5914087ff 100644 --- a/x-pack/plugins/observability/public/index.ts +++ b/x-pack/plugins/observability/public/index.ts @@ -70,6 +70,7 @@ export { observabilityFeatureId, observabilityAppId } from '../common'; export { useTimeBuckets } from './hooks/use_time_buckets'; export { createUseRulesLink } from './hooks/create_use_rules_link'; +export { useSummaryTimeRange } from './hooks/use_summary_time_range'; export { getApmTraceUrl } from './utils/get_apm_trace_url'; diff --git a/x-pack/plugins/observability/server/routes/copilot/route.ts b/x-pack/plugins/observability/server/routes/copilot/route.ts index 13606616bdc96..d3e6c0213162c 100644 --- a/x-pack/plugins/observability/server/routes/copilot/route.ts +++ b/x-pack/plugins/observability/server/routes/copilot/route.ts @@ -92,7 +92,11 @@ const trackRoute = createObservabilityServerRoute({ handler: async (resources): Promise => { const { params, config } = resources; - if (!config.aiAssistant?.enabled) { + if ( + !config.aiAssistant?.enabled || + !config.aiAssistant.feedback.enabled || + !config.aiAssistant.feedback.url + ) { throw Boom.notImplemented(); } diff --git a/x-pack/plugins/observability/server/services/openai/config.ts b/x-pack/plugins/observability/server/services/openai/config.ts index 88a9060b71386..a54f61cb9f46f 100644 --- a/x-pack/plugins/observability/server/services/openai/config.ts +++ b/x-pack/plugins/observability/server/services/openai/config.ts @@ -26,9 +26,7 @@ export const observabilityCoPilotConfig = schema.object({ enabled: schema.boolean({ defaultValue: false }), feedback: schema.object({ enabled: schema.boolean({ defaultValue: false }), - url: schema.string({ - defaultValue: `https://0d0uj24psl.execute-api.us-east-1.amazonaws.com/gaifeedback`, - }), + url: schema.maybe(schema.string()), }), provider: schema.oneOf([openAIConfig, azureOpenAIConfig]), }); diff --git a/x-pack/plugins/osquery/server/search_strategy/osquery/index.ts b/x-pack/plugins/osquery/server/search_strategy/osquery/index.ts index 3083e8c191786..bf7220026f59b 100644 --- a/x-pack/plugins/osquery/server/search_strategy/osquery/index.ts +++ b/x-pack/plugins/osquery/server/search_strategy/osquery/index.ts @@ -39,7 +39,20 @@ export const osquerySearchStrategyProvider = ( }) ).pipe( mergeMap((exists) => { - const dsl = queryFactory.buildDsl({ ...request, componentTemplateExists: exists }); + const strictRequest = { + factoryQueryType: request.factoryQueryType, + filterQuery: request.filterQuery, + ...('aggregations' in request ? { aggregations: request.aggregations } : {}), + ...('pagination' in request ? { pagination: request.pagination } : {}), + ...('sort' in request ? { sort: request.sort } : {}), + ...('actionId' in request ? { actionId: request.actionId } : {}), + ...('agentId' in request ? { agentId: request.agentId } : {}), + }; + + const dsl = queryFactory.buildDsl({ + ...strictRequest, + componentTemplateExists: exists, + } as StrategyRequestType); // use internal user for searching .fleet* indices es = dsl.index?.includes('fleet') || dsl.index?.includes('logs-osquery_manager.action') @@ -48,7 +61,7 @@ export const osquerySearchStrategyProvider = ( return es.search( { - ...request, + ...strictRequest, params: dsl, }, options, diff --git a/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_case.ts b/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_case.ts index fffdd11815112..ed7e70e6e5207 100644 --- a/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_case.ts +++ b/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_case.ts @@ -7,9 +7,9 @@ import type { KbnClient } from '@kbn/test'; import type { Case } from '@kbn/cases-plugin/common'; -import { CASES_URL } from '@kbn/cases-plugin/common'; +import { CASES_URL, ConnectorTypes } from '@kbn/cases-plugin/common'; import type { CasePostRequest } from '@kbn/cases-plugin/common/api'; -import { CaseSeverity, ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { CaseSeverity } from '@kbn/cases-plugin/common/api'; import type { AxiosError } from 'axios'; import { EndpointError } from '../errors'; diff --git a/x-pack/plugins/serverless_search/kibana.jsonc b/x-pack/plugins/serverless_search/kibana.jsonc index 99043b16c7ab1..a8c6b8c3b77ee 100644 --- a/x-pack/plugins/serverless_search/kibana.jsonc +++ b/x-pack/plugins/serverless_search/kibana.jsonc @@ -17,7 +17,6 @@ "grokdebugger", "management", "ml", - "observabilityShared", "painlessLab", "searchprofiler", "security", diff --git a/x-pack/plugins/serverless_search/public/layout/nav.tsx b/x-pack/plugins/serverless_search/public/layout/nav.tsx index a8efa012bddc8..4601d40c14366 100644 --- a/x-pack/plugins/serverless_search/public/layout/nav.tsx +++ b/x-pack/plugins/serverless_search/public/layout/nav.tsx @@ -67,7 +67,12 @@ const navigationTree: NavigationTreeDefinition = { ); }, }, - { link: 'observability-overview:alerts' }, + { + link: 'management:triggersActions', + title: i18n.translate('xpack.serverlessSearch.nav.alerts', { + defaultMessage: 'Alerts', + }), + }, ], }, { diff --git a/x-pack/plugins/serverless_search/public/plugin.ts b/x-pack/plugins/serverless_search/public/plugin.ts index fc2c00255ffb1..b4914b710bafa 100644 --- a/x-pack/plugins/serverless_search/public/plugin.ts +++ b/x-pack/plugins/serverless_search/public/plugin.ts @@ -69,11 +69,10 @@ export class ServerlessSearchPlugin public start( core: CoreStart, - { serverless, management, observabilityShared, cloud }: ServerlessSearchPluginStartDependencies + { serverless, management, cloud }: ServerlessSearchPluginStartDependencies ): ServerlessSearchPluginStart { serverless.setProjectHome('/app/elasticsearch'); serverless.setSideNavComponent(createComponent(core, { serverless, cloud })); - observabilityShared.setIsSidebarEnabled(false); management.setupCardsNavigation({ enabled: true, hideLinksTo: [appIds.MAINTENANCE_WINDOWS], diff --git a/x-pack/plugins/serverless_search/public/types.ts b/x-pack/plugins/serverless_search/public/types.ts index 137c12a37e683..5b984289e2bd7 100644 --- a/x-pack/plugins/serverless_search/public/types.ts +++ b/x-pack/plugins/serverless_search/public/types.ts @@ -10,7 +10,6 @@ import { ManagementSetup, ManagementStart } from '@kbn/management-plugin/public' import { SecurityPluginStart } from '@kbn/security-plugin/public'; import { ServerlessPluginSetup, ServerlessPluginStart } from '@kbn/serverless/public'; import { SharePluginStart } from '@kbn/share-plugin/public'; -import { ObservabilitySharedPluginStart } from '@kbn/observability-shared-plugin/public'; // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface ServerlessSearchPluginSetup {} @@ -27,7 +26,6 @@ export interface ServerlessSearchPluginSetupDependencies { export interface ServerlessSearchPluginStartDependencies { cloud: CloudStart; management: ManagementStart; - observabilityShared: ObservabilitySharedPluginStart; security: SecurityPluginStart; serverless: ServerlessPluginStart; share: SharePluginStart; diff --git a/x-pack/plugins/serverless_search/tsconfig.json b/x-pack/plugins/serverless_search/tsconfig.json index af420adfd6140..91a3f465ca4c6 100644 --- a/x-pack/plugins/serverless_search/tsconfig.json +++ b/x-pack/plugins/serverless_search/tsconfig.json @@ -30,6 +30,5 @@ "@kbn/ml-plugin", "@kbn/management-cards-navigation", "@kbn/core-elasticsearch-server", - "@kbn/observability-shared-plugin", ] } diff --git a/x-pack/plugins/stack_alerts/public/rule_types/threshold/expression.tsx b/x-pack/plugins/stack_alerts/public/rule_types/threshold/expression.tsx index 9348c97e98673..be3f1b6f25c99 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/threshold/expression.tsx +++ b/x-pack/plugins/stack_alerts/public/rule_types/threshold/expression.tsx @@ -288,7 +288,7 @@ export const IndexThresholdRuleTypeExpression: React.FunctionComponent< { "name": "group", }, Object { - "description": "The date the alert exceeded the threshold.", + "description": "The date the alert met the threshold conditions.", "name": "date", }, Object { @@ -68,57 +68,57 @@ describe('ruleType', () => { "name": "value", }, Object { - "description": "A string describing the threshold comparator and threshold", + "description": "A string describing the threshold comparator and threshold.", "name": "conditions", }, ], "params": Array [ Object { - "description": "An array of values to use as the threshold; 'between' and 'notBetween' require two values, the others require one.", + "description": "An array of rule threshold values. For between and notBetween thresholds, there are two values.", "name": "threshold", }, Object { - "description": "A comparison function to use to determine if the threshold as been met.", + "description": "The comparison function for the threshold.", "name": "thresholdComparator", }, Object { - "description": "index", + "description": "The indices the rule queries.", "name": "index", }, Object { - "description": "timeField", + "description": "The field that is used to calculate the time window.", "name": "timeField", }, Object { - "description": "aggType", + "description": "The type of aggregation.", "name": "aggType", }, Object { - "description": "aggField", + "description": "The field that is used in the aggregation.", "name": "aggField", }, Object { - "description": "groupBy", + "description": "Indicates whether the aggregation is applied over all documents or split into groups.", "name": "groupBy", }, Object { - "description": "termField", + "description": "The field that is used for grouping the aggregation.", "name": "termField", }, Object { - "description": "filterKuery", + "description": "A KQL expression that limits the scope of alerts.", "name": "filterKuery", }, Object { - "description": "termSize", + "description": "The number of groups that are checked against the threshold.", "name": "termSize", }, Object { - "description": "timeWindowSize", + "description": "The size of the time window, which determines how far back to search for documents.", "name": "timeWindowSize", }, Object { - "description": "timeWindowUnit", + "description": "The type of units for the time window: seconds, minutes, hours, or days.", "name": "timeWindowUnit", }, ], diff --git a/x-pack/plugins/stack_alerts/server/rule_types/index_threshold/rule_type.ts b/x-pack/plugins/stack_alerts/server/rule_types/index_threshold/rule_type.ts index 2acfdfc8d424a..4b9a7e69ac31c 100644 --- a/x-pack/plugins/stack_alerts/server/rule_types/index_threshold/rule_type.ts +++ b/x-pack/plugins/stack_alerts/server/rule_types/index_threshold/rule_type.ts @@ -7,7 +7,6 @@ import { i18n } from '@kbn/i18n'; import { - CoreQueryParamsSchemaProperties, TimeSeriesQuery, TIME_SERIES_BUCKET_SELECTOR_FIELD, } from '@kbn/triggers-actions-ui-plugin/server'; @@ -49,7 +48,7 @@ export function getRuleType( const actionVariableContextDateLabel = i18n.translate( 'xpack.stackAlerts.indexThreshold.actionVariableContextDateLabel', { - defaultMessage: 'The date the alert exceeded the threshold.', + defaultMessage: 'The date the alert met the threshold conditions.', } ); @@ -78,30 +77,93 @@ export function getRuleType( 'xpack.stackAlerts.indexThreshold.actionVariableContextThresholdLabel', { defaultMessage: - "An array of values to use as the threshold; 'between' and 'notBetween' require two values, the others require one.", + 'An array of rule threshold values. For between and notBetween thresholds, there are two values.', } ); const actionVariableContextThresholdComparatorLabel = i18n.translate( 'xpack.stackAlerts.indexThreshold.actionVariableContextThresholdComparatorLabel', { - defaultMessage: 'A comparison function to use to determine if the threshold as been met.', + defaultMessage: 'The comparison function for the threshold.', } ); const actionVariableContextConditionsLabel = i18n.translate( 'xpack.stackAlerts.indexThreshold.actionVariableContextConditionsLabel', { - defaultMessage: 'A string describing the threshold comparator and threshold', + defaultMessage: 'A string describing the threshold comparator and threshold.', } ); - const ruleParamsVariables = Object.keys(CoreQueryParamsSchemaProperties).map( - (propKey: string) => { - return { - name: propKey, - description: propKey, - }; + const actionVariableContextIndexLabel = i18n.translate( + 'xpack.stackAlerts.indexThreshold.actionVariableContextIndexLabel', + { + defaultMessage: 'The indices the rule queries.', + } + ); + + const actionVariableContextTimeFieldLabel = i18n.translate( + 'xpack.stackAlerts.indexThreshold.actionVariableContextTimeFieldLabel', + { + defaultMessage: 'The field that is used to calculate the time window.', + } + ); + + const actionVariableContextAggTypeLabel = i18n.translate( + 'xpack.stackAlerts.indexThreshold.actionVariableContextAggTypeLabel', + { + defaultMessage: 'The type of aggregation.', + } + ); + + const actionVariableContextAggFieldLabel = i18n.translate( + 'xpack.stackAlerts.indexThreshold.actionVariableContextAggFieldLabel', + { + defaultMessage: 'The field that is used in the aggregation.', + } + ); + + const actionVariableContextGroupByLabel = i18n.translate( + 'xpack.stackAlerts.indexThreshold.actionVariableContextGroupByLabel', + { + defaultMessage: + 'Indicates whether the aggregation is applied over all documents or split into groups.', + } + ); + + const actionVariableContextTermFieldLabel = i18n.translate( + 'xpack.stackAlerts.indexThreshold.actionVariableContextTermFieldLabel', + { + defaultMessage: 'The field that is used for grouping the aggregation.', + } + ); + + const actionVariableContextFilterKueryLabel = i18n.translate( + 'xpack.stackAlerts.indexThreshold.actionVariableContextFilterKueryLabel', + { + defaultMessage: 'A KQL expression that limits the scope of alerts.', + } + ); + + const actionVariableContextTermSizeLabel = i18n.translate( + 'xpack.stackAlerts.indexThreshold.actionVariableContextTermSizeLabel', + { + defaultMessage: 'The number of groups that are checked against the threshold.', + } + ); + + const actionVariableContextTimeWindowSizeLabel = i18n.translate( + 'xpack.stackAlerts.indexThreshold.actionVariableContextTimeWindowSizeLabel', + { + defaultMessage: + 'The size of the time window, which determines how far back to search for documents.', + } + ); + + const actionVariableContextTimeWindowUnitLabel = i18n.translate( + 'xpack.stackAlerts.indexThreshold.actionVariableContextTimeWindowUnitLabel', + { + defaultMessage: 'The type of units for the time window: seconds, minutes, hours, or days.', } ); @@ -125,7 +187,16 @@ export function getRuleType( params: [ { name: 'threshold', description: actionVariableContextThresholdLabel }, { name: 'thresholdComparator', description: actionVariableContextThresholdComparatorLabel }, - ...ruleParamsVariables, + { name: 'index', description: actionVariableContextIndexLabel }, + { name: 'timeField', description: actionVariableContextTimeFieldLabel }, + { name: 'aggType', description: actionVariableContextAggTypeLabel }, + { name: 'aggField', description: actionVariableContextAggFieldLabel }, + { name: 'groupBy', description: actionVariableContextGroupByLabel }, + { name: 'termField', description: actionVariableContextTermFieldLabel }, + { name: 'filterKuery', description: actionVariableContextFilterKueryLabel }, + { name: 'termSize', description: actionVariableContextTermSizeLabel }, + { name: 'timeWindowSize', description: actionVariableContextTimeWindowSizeLabel }, + { name: 'timeWindowUnit', description: actionVariableContextTimeWindowUnitLabel }, ], }, minimumLicenseRequired: 'basic', diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/index.ts b/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/index.ts index 36e8c198fe696..3d1841381b619 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/index.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/index.ts @@ -34,7 +34,7 @@ export const getConnectorType = (): SubActionConnectorType Partial = () => { observabilityShared: { navigation: { // @ts-ignore - PageTemplate: EuiPageTemplate, + PageTemplate: KibanaPageTemplate, }, }, exploratoryView: { diff --git a/x-pack/plugins/synthetics/server/synthetics_service/formatters/common.ts b/x-pack/plugins/synthetics/server/synthetics_service/formatters/common.ts index 3a8776dd0cf05..877977d6e18a8 100644 --- a/x-pack/plugins/synthetics/server/synthetics_service/formatters/common.ts +++ b/x-pack/plugins/synthetics/server/synthetics_service/formatters/common.ts @@ -10,10 +10,15 @@ import { ConfigKey } from '../../../common/constants/monitor_management'; export const PARAMS_KEYS_TO_SKIP = [ 'secrets', 'fields', + ConfigKey.PARAMS, + ConfigKey.PROJECT_ID, + ConfigKey.JOURNEY_ID, + ConfigKey.CONFIG_HASH, ConfigKey.MONITOR_QUERY_ID, ConfigKey.LOCATIONS, ConfigKey.TLS_VERSION, ConfigKey.SOURCE_PROJECT_CONTENT, ConfigKey.SOURCE_INLINE, ConfigKey.RESPONSE_JSON_CHECK, + ConfigKey.CUSTOM_HEARTBEAT_ID, ]; diff --git a/x-pack/plugins/synthetics/server/synthetics_service/formatters/formatting_utils.test.ts b/x-pack/plugins/synthetics/server/synthetics_service/formatters/formatting_utils.test.ts index 8c11753b66ab4..2fa915e21d070 100644 --- a/x-pack/plugins/synthetics/server/synthetics_service/formatters/formatting_utils.test.ts +++ b/x-pack/plugins/synthetics/server/synthetics_service/formatters/formatting_utils.test.ts @@ -65,4 +65,81 @@ describe('replaceStringWithParams', () => { expect(result).toEqual('Basic https://elastic.co https://elastic.co/product'); }); + + it('works with $ as part of value', () => { + const result = replaceStringWithParams( + 'Basic $auth', + { homePageUrl1: 'https://elastic.co/product' }, + logger + ); + + expect(result).toEqual('Basic $auth'); + }); + + it('works with ${ as part of value', () => { + const result = replaceStringWithParams( + 'Basic ${auth', + { homePageUrl1: 'https://elastic.co/product' }, + logger + ); + + expect(result).toEqual('Basic ${auth'); + }); + it('works with { as part of value', () => { + const result = replaceStringWithParams( + 'Basic {auth', + { homePageUrl1: 'https://elastic.co/product' }, + logger + ); + + expect(result).toEqual('Basic {auth'); + }); + it('works with {} as part of value', () => { + const result = replaceStringWithParams( + 'Basic {}', + { homePageUrl1: 'https://elastic.co/product' }, + logger + ); + + expect(result).toEqual('Basic {}'); + }); + it('works with {$ as part of value', () => { + const result = replaceStringWithParams( + 'Basic {$', + { homePageUrl1: 'https://elastic.co/product' }, + logger + ); + + expect(result).toEqual('Basic {$'); + }); + + it('works with ${} as part of value', () => { + const result = replaceStringWithParams( + 'Basic ${} value', + { homePageUrl1: 'https://elastic.co/product' }, + logger + ); + + expect(result).toEqual('Basic ${} value'); + }); + + it('works with } ${abc} as part of value', () => { + const result = replaceStringWithParams( + 'Basic } ${homePageUrl1} value', + { homePageUrl1: 'https://elastic.co/product' }, + logger + ); + + expect(result).toEqual('Basic } https://elastic.co/product value'); + }); + + it('works with ${abc} { as part of value', () => { + const result = replaceStringWithParams( + 'Basic ${homePageUrl1} { value', + { homePageUrl1: 'https://elastic.co/product' }, + logger + ); + + expect(result).toEqual('Basic https://elastic.co/product { value'); + }); }); diff --git a/x-pack/plugins/synthetics/server/synthetics_service/formatters/formatting_utils.ts b/x-pack/plugins/synthetics/server/synthetics_service/formatters/formatting_utils.ts index 16d0f6aeecacb..4eb566193e06a 100644 --- a/x-pack/plugins/synthetics/server/synthetics_service/formatters/formatting_utils.ts +++ b/x-pack/plugins/synthetics/server/synthetics_service/formatters/formatting_utils.ts @@ -24,11 +24,18 @@ export const replaceStringWithParams = ( try { if (typeof value !== 'string') { const strValue = JSON.stringify(value); + if (hasNoParams(strValue)) { + return value as string | null; + } + const parsedVars: ParsedVars = variableParser.parse(strValue); const parseValue = replaceVarsWithParams(parsedVars, params); return JSON.parse(parseValue); } + if (hasNoParams(value)) { + return value as string | null; + } const parsedVars: ParsedVars = variableParser.parse(value); @@ -40,6 +47,11 @@ export const replaceStringWithParams = ( return value as string | null; }; +export const hasNoParams = (strVal: string) => { + const shellParamsRegex = /\$\{[a-zA-Z_][a-zA-Z0-9_]*\}/g; + return strVal.match(shellParamsRegex) === null; +}; + export const secondsToCronFormatter: FormatterFn = (fields, key) => { const value = (fields[key] as string) ?? ''; diff --git a/x-pack/plugins/synthetics/tsconfig.json b/x-pack/plugins/synthetics/tsconfig.json index e1f54877ade5c..85727394263a6 100644 --- a/x-pack/plugins/synthetics/tsconfig.json +++ b/x-pack/plugins/synthetics/tsconfig.json @@ -75,6 +75,7 @@ "@kbn/core-http-server", "@kbn/std", "@kbn/core-saved-objects-server-mocks", + "@kbn/shared-ux-page-kibana-template", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 84fb979133350..f2ccfa6f166b5 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -81,7 +81,7 @@ "advancedSettings.field.defaultValueTypeJsonText": "Par défaut : {value}", "advancedSettings.field.deprecationClickAreaLabel": "Cliquez ici pour afficher la documentation de déclassement pour {settingName}.", "advancedSettings.field.resetToDefaultLinkAriaLabel": "Réinitialiser {ariaName} à la valeur par défaut", - "advancedSettings.form.countOfSettingsChanged": "{unsavedCount} {unsavedCount, plural, one {paramètre} many {paramètres} other {paramètres}} non enregistré(s){hiddenCount, plural, =0 {} one {, # masqué} many {, # masqués} other {, # masqués}}", + "advancedSettings.form.countOfSettingsChanged": "{unsavedCount} {unsavedCount, plural, one {paramètre} many {les paramètres d'index suivants déclassés ?} other {paramètres}} non enregistré(s){hiddenCount, plural, =0 {} one {, # masqué} many {, # masqués} other {, # masqués}}", "advancedSettings.form.noSearchResultText": "Aucun paramètre trouvé pour {queryText} {clearSearch}", "advancedSettings.form.searchResultText": "Les termes de la recherche masquent {settingsCount} paramètres {clearSearch}", "advancedSettings.voiceAnnouncement.noSearchResultScreenReaderMessage": "Il {optionLenght, plural, one {y a # option} many {y a # options} other {y a # options}} dans {sectionLenght, plural, one {# section} many {# sections} other {# sections}}", @@ -302,9 +302,11 @@ "console.requestOptionsButtonAriaLabel": "Options de requête", "console.requestTimeElapasedBadgeTooltipContent": "Temps écoulé", "console.sendRequestButtonTooltip": "Cliquer pour envoyer la requête", + "console.settingsPage.accessibilityOverlayLabel": "Superposition d’accessibilité", "console.settingsPage.autocompleteLabel": "Saisie semi-automatique", "console.settingsPage.cancelButtonLabel": "Annuler", "console.settingsPage.dataStreamsLabelText": "Flux de données", + "console.settingsPage.enableAccessibilityOverlayLabel": "Activer la superposition d’accessibilité", "console.settingsPage.enableKeyboardShortcutsLabel": "Activer les raccourcis clavier", "console.settingsPage.fieldsLabelText": "Champs", "console.settingsPage.fontSizeLabel": "Taille de la police", @@ -394,15 +396,17 @@ "contentManagement.tableList.tagFilterPanel.manageAllTagsLinkLabel": "Gérer les balises", "contentManagement.tableList.updatedDateUnknownLabel": "Dernière mise à jour inconnue", "controls.controlGroup.ariaActions.moveControlButtonAction": "Déplacer le contrôle {controlTitle}", + "controls.controlGroup.manageControl.controlTypeSettings.formGroupDescription": "Paramètres personnalisés pour votre contrôle {controlType}.", + "controls.controlGroup.manageControl.controlTypeSettings.formGroupTitle": "Paramètres de {controlType}", "controls.optionsList.controlAndPopover.exists": "{negate, plural, one {Existe} many {Existent} other {Existent}}", "controls.optionsList.errors.dataViewNotFound": "Impossible de localiser la vue de données : {dataViewId}", "controls.optionsList.errors.fieldNotFound": "Impossible de localiser le champ : {fieldName}", "controls.optionsList.popover.ariaLabel": "Fenêtre contextuelle pour le contrôle {fieldName}", - "controls.optionsList.popover.cardinalityLabel": "{totalOptions, number} {totalOptions, plural, one {option} many {options} other {options}}", + "controls.optionsList.popover.cardinalityLabel": "{totalOptions, number} {totalOptions, plural, one {option} many {options disponibles} other {options}}", "controls.optionsList.popover.documentCountScreenReaderText": "Apparaît dans {documentCount, number} {documentCount, plural, one {document} many {documents} other {documents}}", "controls.optionsList.popover.documentCountTooltip": "Cette valeur apparaît dans {documentCount, number} {documentCount, plural, one {document} many {documents} other {documents}}", "controls.optionsList.popover.invalidSelectionsAriaLabel": "{invalidSelectionCount, plural, one {Sélection ignorée} many {Sélections ignorées} other {Sélections ignorées}} pour {fieldName}", - "controls.optionsList.popover.invalidSelectionsLabel": "{selectedOptions} {selectedOptions, plural, one {sélection ignorée} many {sélections ignorées} other {sélections ignorées}}", + "controls.optionsList.popover.invalidSelectionsLabel": "{selectedOptions} {selectedOptions, plural, one {sélection ignorée} many {Sélections ignorées} other {sélections ignorées}}", "controls.optionsList.popover.invalidSelectionsSectionTitle": "{invalidSelectionCount, plural, one {Sélection ignorée} many {Sélections ignorées} other {Sélections ignorées}}", "controls.optionsList.popover.suggestionsAriaLabel": "{optionCount, plural, one {option disponible} many {options disponibles} other {options disponibles}} pour {fieldName}", "controls.rangeSlider.errors.dataViewNotFound": "Impossible de localiser la vue de données : {dataViewId}", @@ -412,19 +416,25 @@ "controls.controlGroup.emptyState.callToAction": "Le filtrage des données s'est amélioré grâce aux contrôles, qui vous permettent d'afficher uniquement les données que vous souhaitez explorer.", "controls.controlGroup.emptyState.dismissButton": "Rejeter", "controls.controlGroup.emptyState.twoLineLoadingTitle": "...", - "controls.controlGroup.floatingActions.editTitle": "Modifier le contrôle", - "controls.controlGroup.floatingActions.removeTitle": "Retirer le contrôle", + "controls.controlGroup.floatingActions.clearTitle": "Effacer", + "controls.controlGroup.floatingActions.editTitle": "Modifier", + "controls.controlGroup.floatingActions.removeTitle": "Supprimer", "controls.controlGroup.manageControl.cancelTitle": "Annuler", - "controls.controlGroup.manageControl.dataSource.controlTypesTitle": "Type de contrôle", "controls.controlGroup.manageControl.createFlyoutTitle": "Créer un contrôle", + "controls.controlGroup.manageControl.dataSource.controlTypesTitle": "Type de contrôle", "controls.controlGroup.manageControl.dataSource.dataViewTitle": "Vue de données", - "controls.controlGroup.manageControl.editFlyoutTitle": "Modifier le contrôle", "controls.controlGroup.manageControl.dataSource.fieldTitle": "Champ", - "controls.controlGroup.manageControl.displaySettings.growSwitchTitle": "Augmenter la largeur en fonction de l'espace disponible", - "controls.controlGroup.manageControl.saveChangesTitle": "Enregistrer et fermer", + "controls.controlGroup.manageControl.dataSource.formGroupDescription": "Sélectionnez la vue de données et le champ pour lesquels vous voulez créer un contrôle.", + "controls.controlGroup.manageControl.dataSource.formGroupTitle": "Source de données", + "controls.controlGroup.manageControl.dataSource.noControlTypeMessage": "Aucun champ sélectionné pour l’instant", "controls.controlGroup.manageControl.dataSource.selectDataViewMessage": "Veuillez sélectionner une vue de données", + "controls.controlGroup.manageControl.displaySettings.formGroupDescription": "Changez la manière dont le contrôle apparaît sur votre tableau de bord.", + "controls.controlGroup.manageControl.displaySettings.formGroupTitle": "Paramètres d'affichage", + "controls.controlGroup.manageControl.displaySettings.growSwitchTitle": "Augmenter la largeur en fonction de l'espace disponible", "controls.controlGroup.manageControl.displaySettings.titleInputTitle": "Étiquette", "controls.controlGroup.manageControl.displaySettings.widthInputTitle": "Largeur minimale", + "controls.controlGroup.manageControl.editFlyoutTitle": "Modifier le contrôle", + "controls.controlGroup.manageControl.saveChangesTitle": "Enregistrer et fermer", "controls.controlGroup.management.addControl": "Ajouter un contrôle", "controls.controlGroup.management.delete": "Supprimer le contrôle", "controls.controlGroup.management.delete.cancel": "Annuler", @@ -470,8 +480,17 @@ "controls.optionsList.control.separator": ", ", "controls.optionsList.description": "Ajoutez un menu pour la sélection de valeurs de champ.", "controls.optionsList.displayName": "Liste des options", + "controls.optionsList.editor.additionalSettingsTitle": "Paramètres supplémentaires", + "controls.optionsList.editor.multiSelectLabel": "Permettre des sélections multiples", + "controls.optionsList.editor.prefixSearchLabel": "Préfixe", + "controls.optionsList.editor.prefixSearchTooltip": "Correspond aux valeurs qui commencent avec la chaîne de recherche donnée.", "controls.optionsList.editor.runPastTimeout": "Ignorer le délai d'expiration pour les résultats", "controls.optionsList.editor.runPastTimeout.tooltip": "Attendre que la liste soit complète pour afficher les résultats. Ce paramètre est utile pour les ensembles de données volumineux, mais le remplissage des résultats peut prendre plus de temps.", + "controls.optionsList.editor.searchOptionsTitle": "Recherche", + "controls.optionsList.editor.selectionOptionsTitle": "Sélections", + "controls.optionsList.editor.singleSelectLabel": "N’autoriser qu’une sélection unique", + "controls.optionsList.editor.wildcardSearchLabel": "Contient", + "controls.optionsList.editor.wildcardSearchTooltip": "Correspond aux valeurs qui contiennent la chaîne de recherche donnée. Les résultats peuvent prendre plus de temps à s'afficher.", "controls.optionsList.popover.allOptionsTitle": "Afficher toutes les options", "controls.optionsList.popover.allowExpensiveQueriesWarning": "Le paramètre de cluster permettant d'autoriser les requêtes lourdes est désactivé, impliquant la désactivation d'autres fonctionnalités.", "controls.optionsList.popover.empty": "Aucune option trouvée", @@ -481,6 +500,7 @@ "controls.optionsList.popover.includeLabel": "Inclure", "controls.optionsList.popover.invalidSelectionScreenReaderText": "Sélection non valide.", "controls.optionsList.popover.loadingMore": "Chargement d'options supplémentaires...", + "controls.optionsList.popover.prefixSearchPlaceholder": "Commence par...", "controls.optionsList.popover.selectedOptionsTitle": "Afficher uniquement les options sélectionnées", "controls.optionsList.popover.selectionsEmpty": "Vous n'avez pas de sélections", "controls.optionsList.popover.sortBy.alphabetical": "Par ordre alphabétique", @@ -491,6 +511,7 @@ "controls.optionsList.popover.sortOrder.asc": "Croissant", "controls.optionsList.popover.sortOrder.desc": "Décroissant", "controls.optionsList.popover.sortTitle": "Trier", + "controls.optionsList.popover.wildcardSearchPlaceholder": "Contient...", "controls.rangeSlider.description": "Ajoutez un contrôle pour la sélection d'une plage de valeurs de champ.", "controls.rangeSlider.displayName": "Curseur de plage", "controls.rangeSlider.popover.noAvailableDataHelpText": "Il n'y a aucune donnée à afficher. Ajustez la plage temporelle et les filtres.", @@ -526,7 +547,7 @@ "core.euiColumnActions.sort": "Trier {schemaLabel}", "core.euiColumnSelector.buttonActivePlural": "{numberOfHiddenFields} colonnes masquées", "core.euiColumnSelector.buttonActiveSingular": "{numberOfHiddenFields} colonne masquée", - "core.euiColumnSorting.buttonActive": "{numberOfSortedFields, plural, one {Champ #} many {# champs triés} other {# champs triés}}", + "core.euiColumnSorting.buttonActive": "{numberOfSortedFields, plural, one {Champ #} many {# champs} other {# champs triés}}", "core.euiColumnSortingDraggable.activeSortLabel": "{display} trie cette grille de données", "core.euiColumnSortingDraggable.removeSortLabel": "Retirer {display} du tri de la grille de données", "core.euiColumnSortingDraggable.toggleLegend": "Sélectionner la méthode de tri pour {display}", @@ -570,20 +591,6 @@ "core.euiPrettyDuration.durationRoundedToWeek": "{prettyDuration} arrondie à la semaine", "core.euiPrettyDuration.durationRoundedToYear": "{prettyDuration} arrondie à l'année", "core.euiPrettyDuration.fallbackDuration": "{displayFrom} à {displayTo}", - "core.euiPrettyDuration.lastDurationDays": "{duration, plural, one {Dernier jour} many {# derniers jours} other {# derniers jours}}", - "core.euiPrettyDuration.lastDurationHours": "{duration, plural, one {Dernière heure} many {# dernières heures} other {# dernières heures}}", - "core.euiPrettyDuration.lastDurationMinutes": "{duration, plural, one {Dernière minute} many {# dernières minutes} other {# dernières minutes}}", - "core.euiPrettyDuration.lastDurationMonths": "{duration, plural, one {Dernier mois} many {# derniers mois} other {# derniers mois}}", - "core.euiPrettyDuration.lastDurationSeconds": "{duration, plural, one {Dernière seconde} many {# dernières secondes} other {# dernières secondes}}", - "core.euiPrettyDuration.lastDurationWeeks": "{duration, plural, one {Dernière semaine} many {# dernières semaines} other {# dernières semaines}}", - "core.euiPrettyDuration.lastDurationYears": "{duration, plural, one {Dernière année} many {# dernières années} other {# dernières années}}", - "core.euiPrettyDuration.nextDurationHours": "{duration, plural, one {Prochaine heure} many {# prochaines heures} other {# prochaines heures}}", - "core.euiPrettyDuration.nextDurationMinutes": "{duration, plural, one {Prochaine minute} many {# prochaines minutes} other {# prochaines minutes}}", - "core.euiPrettyDuration.nextDurationMonths": "{duration, plural, one {Prochain mois} many {# prochains mois} other {# prochains mois}}", - "core.euiPrettyDuration.nextDurationSeconds": "{duration, plural, one {Prochaine seconde} many {# prochaines secondes} other {# prochaines secondes}}", - "core.euiPrettyDuration.nextDurationWeeks": "{duration, plural, one {Prochaine semaine} many {# prochaines semaines} other {# prochaines semaines}}", - "core.euiPrettyDuration.nextDurationYears": "{duration, plural, one {Prochaine année} many {# prochaines années} other {# prochaines années}}", - "core.euiPrettyDuration.nexttDurationDays": "{duration, plural, one {Prochain jour} many {# prochains jours} other {# prochains jours}}", "core.euiPrettyInterval.days": "{interval, plural, one {# jour} many {# jours} other {# jours}}", "core.euiPrettyInterval.daysShorthand": "{interval} j", "core.euiPrettyInterval.hours": "{interval, plural, one {# heure} many {# heures} other {# heures}}", @@ -621,7 +628,7 @@ "core.euiTablePagination.rowsPerPageOption": "{rowsPerPage} lignes", "core.euiTourStepIndicator.ariaLabel": "Étape {number} {status}", "core.euiTreeView.ariaLabel": "{nodeLabel} enfant de {ariaLabel}", - "core.savedObjects.deprecations.unknownTypes.message": "{objectCount, plural, one {# objet} many {# objets} other {# objets}} avec des types inconnus {objectCount, plural, one {a été trouvé} many {ont été trouvés} other {ont été trouvés}} dans les index système Kibana. La mise à niveau avec des types savedObject inconnus n'est plus compatible. Pour assurer la réussite des mises à niveau à l'avenir, réactivez les plug-ins ou supprimez ces documents dans les indices de Kibana", + "core.savedObjects.deprecations.unknownTypes.message": "{objectCount, plural, one {# objet} many {# objets} other {# objets}} avec des types inconnus {objectCount, plural, one {a été trouvé} many {sont introuvables} other {ont été trouvés}} dans les index système Kibana. La mise à niveau avec des types savedObject inconnus n'est plus compatible. Pour assurer la réussite des mises à niveau à l'avenir, réactivez les plug-ins ou supprimez ces documents dans les indices de Kibana", "core.statusPage.loadStatus.serverStatusCodeErrorMessage": "Échec de requête du statut du serveur avec le code de statut {responseStatus}", "core.statusPage.metricsTiles.columns.heapUsedHeader": "Tas utilisé sur {heapTotal}", "core.statusPage.metricsTiles.columns.utilizationHeader": "Utilisation (actif : {active} / inactif : {idle})", @@ -756,6 +763,7 @@ "core.euiFlyout.screenReaderNonModalDialog": "Vous êtes dans une boîte de dialogue non modale. Pour fermer la boîte de dialogue, appuyez sur Échap.", "core.euiForm.addressFormErrors": "Veuillez remédier aux erreurs signalées en surbrillance.", "core.euiFormControlLayoutClearButton.label": "Effacer l'entrée", + "core.euiFormControlLayoutDelimited.delimiterLabel": "à", "core.euiFullscreenSelector.fullscreenButton": "Entrer en mode plein écran", "core.euiFullscreenSelector.fullscreenButtonActive": "Quitter le mode plein écran", "core.euiHeaderLinks.appNavigation": "Menu de l'application", @@ -763,6 +771,10 @@ "core.euiHue.label": "Sélectionner la valeur \"hue\" du mode de couleur HSV", "core.euiImageButton.closeFullScreen": "Appuyez sur Échap ou cliquez pour fermer le mode plein écran de l'image", "core.euiImageButton.openFullScreen": "Cliquez pour ouvrir cette image en mode plein écran", + "core.euiInlineEditForm.activateEditModeDescription": "Cliquez pour modifier cette insertion de texte.", + "core.euiInlineEditForm.cancelButtonAriaLabel": "Annuler votre modification", + "core.euiInlineEditForm.inputKeyboardInstructions": "Appuyez sur Entrée pour enregistrer votre texte modifié. Appuyez sur Échap pour annuler votre modification.", + "core.euiInlineEditForm.saveButtonAriaLabel": "Enregistrer votre modification", "core.euiKeyboardShortcuts.ctrl": "Ctrl", "core.euiKeyboardShortcuts.ctrlEndDescription": "Aller à la dernière cellule de la page actuelle", "core.euiKeyboardShortcuts.ctrlHomeDescription": "Aller à la première cellule de la page actuelle", @@ -854,7 +866,14 @@ "core.euiSelectable.placeholderName": "Options de filtre", "core.euiSelectable.screenReaderInstructions": "Utilisez les flèches vers le haut et vers le bas pour déplacer la mise au point sur les options. Appuyez sur Entrée pour sélectionner. Appuyez sur Échap pour réduire les options.", "core.euiSelectableListItem.checkedOption": "Option cochée.", + "core.euiSelectableListItem.checkOptionInstructions": "Pour cocher cette option, appuyez sur Entrée.", "core.euiSelectableListItem.excludedOption": "Option exclue.", + "core.euiSelectableListItem.excludeOptionInstructions": "Pour exclure cette option, appuyez sur Entrée.", + "core.euiSelectableListItem.mixedOption": "Option mixte (indéterminée).", + "core.euiSelectableListItem.mixedOptionExcludeInstructions": "Pour exclure cette option pour tous, appuyez sur Entrée deux fois.", + "core.euiSelectableListItem.mixedOptionInstructions": "Pour cocher cette option pour tous, appuyez sur Entrée une fois.", + "core.euiSelectableListItem.mixedOptionUncheckInstructions": "Pour décocher cette option pour tous, appuyez sur Entrée deux fois.", + "core.euiSelectableListItem.uncheckOptionInstructions": "Pour décocher cette option, appuyez sur Entrée.", "core.euiSelectableTemplateSitewide.loadingResults": "Chargement des résultats", "core.euiSelectableTemplateSitewide.noResults": "Aucun résultat disponible", "core.euiSelectableTemplateSitewide.onFocusBadgeGoTo": "Atteindre", @@ -1014,6 +1033,8 @@ "core.ui.overlays.banner.attentionTitle": "Attention", "core.ui.overlays.banner.closeButtonLabel": "Fermer", "core.ui.primaryNav.addData": "Ajouter des intégrations", + "core.ui.primaryNav.cloud.linkToDeployments": "Mes déploiements", + "core.ui.primaryNav.goToHome.ariaLabel": "Accéder à la page d’accueil", "core.ui.primaryNav.pinnedLinksAriaLabel": "Liens épinglés", "core.ui.primaryNav.screenReaderLabel": "Principale", "core.ui.primaryNav.toggleNavAriaLabel": "Activer/Désactiver la navigation principale", @@ -1095,6 +1116,8 @@ "customIntegrations.languageClients.sample.readme.install": "Installer le client Sample Language", "customIntegrations.languageClients.sample.readme.intro": "La mise en route avec le client Sample Language requiert l'exécution de quelques étapes.", "customIntegrations.languageClients.sample.readme.title": "Client Sample Elasticsearch", + "customIntegrations.placeholders.EscDescription": "Collectez les données de Confluent Cloud avec Elastic Sink Connector.", + "customIntegrations.placeholders.EscTitle": "Confluent Cloud", "customIntegrations.placeholders.EsfDescription": "Collectez les logs à l'aide de l'application AWS Lambda disponible dans AWS Serverless Application Repository.", "customIntegrations.placeholders.EsfTitle": "AWS Serverless Application Repository", "dashboard.addPanel.newEmbeddableAddedSuccessMessageTitle": "{savedObjectName} a été ajouté", @@ -1164,6 +1187,15 @@ "dashboard.embedUrlParamExtension.query": "Requête", "dashboard.embedUrlParamExtension.timeFilter": "Filtre temporel", "dashboard.embedUrlParamExtension.topMenu": "Menu supérieur", + "dashboard.emptyScreen.addFromLibrary": "Ajouter depuis la bibliothèque", + "dashboard.emptyScreen.createVisualization": "Créer une visualisation", + "dashboard.emptyScreen.editDashboard": "Modifier le tableau de bord", + "dashboard.emptyScreen.editModeSubtitle": "Créez une visualisation de vos données ou ajoutez-en une depuis la bibliothèque Visualize.", + "dashboard.emptyScreen.editModeTitle": "Ce tableau de bord est vide. Remplissons-le.", + "dashboard.emptyScreen.noPermissionsSubtitle": "Des privilèges supplémentaires sont requis pour pouvoir modifier ce tableau de bord.", + "dashboard.emptyScreen.noPermissionsTitle": "Ce tableau de bord est vide.", + "dashboard.emptyScreen.viewModeSubtitle": "Accédez au mode de modification, puis commencez à ajouter vos visualisations.", + "dashboard.emptyScreen.viewModeTitle": "Ajouter des visualisations à votre tableau de bord", "dashboard.factory.displayName": "Tableau de bord", "dashboard.featureCatalogue.dashboardDescription": "Affichez et partagez une collection de visualisations et de recherches enregistrées.", "dashboard.featureCatalogue.dashboardSubtitle": "Analysez des données à l’aide de tableaux de bord.", @@ -1234,7 +1266,7 @@ "dashboard.topNave.saveAsConfigDescription": "Enregistrer en tant que nouveau tableau de bord", "dashboard.topNave.saveButtonAriaLabel": "enregistrer", "dashboard.topNave.saveConfigDescription": "Enregistrer le tableau de bord sans invite de confirmation", - "dashboard.topNave.settingsButtonAriaLabel": "paramètres", + "dashboard.topNave.settingsButtonAriaLabel": "les paramètres d'index suivants déclassés ?", "dashboard.topNave.settingsConfigDescription": "Ouvrir les paramètres du tableau de bord", "dashboard.topNave.shareButtonAriaLabel": "partager", "dashboard.topNave.shareConfigDescription": "Partager le tableau de bord", @@ -1589,6 +1621,7 @@ "data.search.aggs.buckets.significantTerms.includeLabel": "Inclure", "data.search.aggs.buckets.significantTerms.json.help": "Json avancé à inclure lorsque l'agrégation est envoyée vers Elasticsearch", "data.search.aggs.buckets.significantTerms.schema.help": "Schéma à utiliser pour cette agrégation", + "data.search.aggs.buckets.significantTerms.shardSize.help": "Nombre de termes fournis par chaque partition et renvoyés au nœud de coordination", "data.search.aggs.buckets.significantTerms.size.help": "Nombre maximal de compartiments à extraire", "data.search.aggs.buckets.significantTermsTitle": "Termes importants", "data.search.aggs.buckets.significantText.customLabel.help": "Représente une étiquette personnalisée pour cette agrégation", @@ -1968,6 +2001,7 @@ "data.search.functions.dateRange.help": "Créer une plage de dates", "data.search.functions.dateRange.to.help": "Spécifier la date de fin", "data.search.functions.esaggs.aggConfigs.help": "Liste des agrégations configurées avec des fonctions agg_type", + "data.search.functions.esaggs.ignoreGlobalFilters.help": "Ignorer ou utiliser les requêtes globales et les filtres", "data.search.functions.esaggs.index.help": "Vue de données extraite avec indexPatternLoad", "data.search.functions.esaggs.metricsAtAllLevels.help": "Spécifie l’inclusion ou non des colonnes avec indicateurs pour chaque niveau de compartiment.", "data.search.functions.esaggs.partialRows.help": "Détermine s'il faut renvoyer ou non les lignes ne contenant que des données partielles.", @@ -2118,15 +2152,10 @@ "data.sessions.management.flyoutTitle": "Inspecter la session de recherche", "data.triggers.applyFilterDescription": "Lorsque le filtre Kibana est appliqué. Peut être un filtre simple ou un filtre de plage.", "data.triggers.applyFilterTitle": "Appliquer le filtre", - "savedSearch.kibana_context.filters.help": "Spécifier des filtres génériques Kibana", - "savedSearch.kibana_context.help": "Met à jour le contexte général de Kibana.", - "savedSearch.kibana_context.q.help": "Spécifier une recherche en texte libre Kibana", - "savedSearch.kibana_context.savedSearchId.help": "Spécifier l'ID de recherche enregistrée à utiliser pour les requêtes et les filtres", - "savedSearch.kibana_context.timeRange.help": "Spécifier le filtre de plage temporelle Kibana", - "savedSearch.legacyURLConflict.errorMessage": "Cette recherche a la même URL qu'un alias hérité. Désactiver l'alias pour résoudre cette erreur : {json}", "dataViews.deprecations.scriptedFieldsMessage": "Vous avez {numberOfIndexPatternsWithScriptedFields} vues de données ({titlesPreview}…) qui utilisent des champs scriptés. Les champs scriptés sont déclassés et seront supprimés à l'avenir. Utilisez plutôt des champs d'exécution.", "dataViews.fetchFieldErrorTitle": "Erreur lors de l'extraction des champs pour la vue de données {title} (ID : {id})", "dataViews.aliasLabel": "Alias", + "dataViews.contentManagementType": "Vue de données", "dataViews.dataStreamLabel": "Flux de données", "dataViews.deprecations.scriptedFields.manualStepOneMessage": "Accédez à Gestion de la Suite > Kibana > Vues de données.", "dataViews.deprecations.scriptedFields.manualStepTwoMessage": "Mettez à jour les vues de données {numberOfIndexPatternsWithScriptedFields} qui ont des champs scriptés pour qu’elles utilisent des champs d'exécution. Dans la plupart des cas, pour migrer des scripts existants, vous devrez remplacer \"return ;\" par \"emit();\". Vues de données avec au moins un champ scripté : {allTitles}", @@ -2256,7 +2285,7 @@ "discover.contextViewRoute.errorTitle": "Une erreur s'est produite", "discover.controlColumnHeader": "Colonne de commande", "discover.copyToClipboardJSON": "Copier les documents dans le presse-papiers (JSON)", - "discover.discoverBreadcrumbTitle": "Découverte", + "discover.discoverBreadcrumbTitle": "Discover", "discover.discoverDefaultSearchSessionName": "Discover", "discover.discoverDescription": "Explorez vos données de manière interactive en interrogeant et en filtrant des documents bruts.", "discover.discoverError.missingIdParamError": "Aucun ID de document fourni. Revenez à Discover pour sélectionner un autre document.", @@ -2371,6 +2400,7 @@ "discover.grid.flyout.toastColumnRemoved": "La colonne \"{columnName}\" a été supprimée.", "discover.grid.selectDoc": "Sélectionner le document \"{rowNumber}\"", "discover.grid.tableRow.detailHeading": "Document développé", + "discover.grid.tableRow.textBasedDetailHeading": "Ligne développée", "discover.grid.tableRow.viewSingleDocumentLinkTextSimple": "Document unique", "discover.grid.tableRow.viewSurroundingDocumentsHover": "Inspectez des documents qui ont été créés avant et après ce document. Seuls les filtres épinglés restent actifs dans la vue Documents relatifs.", "discover.grid.tableRow.viewSurroundingDocumentsLinkTextSimple": "Documents relatifs", @@ -2520,6 +2550,7 @@ "domDragDrop.dropTargets.swap": "Permuter", "domDragDrop.keyboardInstructions": "Appuyez sur la barre d'espace ou sur Entrée pour commencer à faire glisser. Lors du glissement, utilisez les touches fléchées gauche/droite pour vous déplacer entre les cibles de dépôt. Appuyez à nouveau sur la barre d'espace ou sur Entrée pour terminer.", "domDragDrop.keyboardInstructionsReorder": "Appuyez sur la barre d'espace ou sur Entrée pour commencer à faire glisser. Lors du glissement, utilisez les touches fléchées haut/bas pour réorganiser les éléments dans le groupe et les touches gauche/droite pour choisir les cibles de dépôt à l'extérieur du groupe. Appuyez à nouveau sur la barre d'espace ou sur Entrée pour terminer.", + "embeddableApi.addPanel.savedObjectAddedToContainerSuccessMessageTitle": "{savedObjectName} a été ajouté", "embeddableApi.attributeService.saveToLibraryError": "Une erreur s'est produite lors de l'enregistrement. Erreur : {errorMessage}", "embeddableApi.errors.embeddableFactoryNotFound": "Impossible de charger {type}. Veuillez effectuer une mise à niveau vers la distribution par défaut d'Elasticsearch et de Kibana avec la licence appropriée.", "embeddableApi.panel.editPanel.displayName": "Modifier {value}", @@ -2527,6 +2558,8 @@ "embeddableApi.panel.enhancedDashboardPanelAriaLabel": "Panneau du tableau de bord : {title}", "embeddableApi.panel.optionsMenu.panelOptionsButtonAriaLabelWithIndex": "Options pour le panneau {index}", "embeddableApi.panel.optionsMenu.panelOptionsButtonEnhancedAriaLabel": "Options de panneau pour {title}", + "embeddableApi.addPanel.noMatchingObjectsMessage": "Aucun objet correspondant trouvé.", + "embeddableApi.addPanel.Title": "Ajouter depuis la bibliothèque", "embeddableApi.cellValueTrigger.description": "Les actions apparaissent dans les options de valeur de cellule dans la visualisation", "embeddableApi.cellValueTrigger.title": "Valeur de cellule", "embeddableApi.contextMenuTrigger.description": "Une nouvelle action sera ajoutée au menu contextuel du panneau", @@ -2575,8 +2608,8 @@ "esQuery.kql.errors.literalText": "littéral", "esQuery.kql.errors.valueText": "valeur", "esQuery.kql.errors.whitespaceText": "espace", - "esUi.forms.fieldValidation.indexNameInvalidCharactersError": "Le nom de l'index contient {characterListLength, plural, one {le caractère non valide suivant} many {les caractères non valides suivants} other {les caractères non valides suivants}} : {characterList}.", - "esUi.forms.fieldValidation.indexPatternInvalidCharactersError": "Le modèle d'indexation contient {characterListLength, plural, one {le caractère non valide suivant} many {les caractères non valides suivants} other {les caractères non valides suivants}} {characterList}.", + "esUi.forms.fieldValidation.indexNameInvalidCharactersError": "Le nom de l'index contient {characterListLength, plural, one {le caractère non valide suivant} many {les caractères} other {les caractères non valides suivants}} : {characterList}.", + "esUi.forms.fieldValidation.indexPatternInvalidCharactersError": "Le modèle d'indexation contient {characterListLength, plural, one {le caractère non valide suivant} many {les caractères} other {les caractères non valides suivants}} {characterList}.", "esUi.cronEditor.cronDaily.fieldHour.textAtLabel": "À", "esUi.cronEditor.cronDaily.fieldTimeLabel": "Heure", "esUi.cronEditor.cronDaily.hourSelectLabel": "Heure", @@ -2642,7 +2675,7 @@ "exceptionList-components.exceptions.card.exceptionItem.affectedRules": "Affecte {numRules} {numRules, plural, =1 {règle} one {règles} many {règles} other {règles}}", "exceptionList-components.exceptions.exceptionItem.card.deleteItemButton": "Supprimer l'exception {listType}", "exceptionList-components.exceptions.exceptionItem.card.editItemButton": "Modifier l'exception {listType}", - "exceptionList-components.exceptions.exceptionItem.card.showCommentsLabel": "Afficher {comments, plural, =1 {commentaire} one {le commentaire} many {les commentaires} other {les commentaires}} ({comments})", + "exceptionList-components.exceptions.exceptionItem.card.showCommentsLabel": "Afficher {comments, plural, =1 {commentaire} one {commentaires} many {commentaires} other {les commentaires}} ({comments})", "exceptionList-components.empty.viewer.state.empty_search.body": "Essayez de modifier votre recherche", "exceptionList-components.empty.viewer.state.empty_search.search.title": "Aucun résultat ne correspond à vos critères de recherche.", "exceptionList-components.empty.viewer.state.empty.body": "Aucune exception ne figure dans votre liste. Créez votre première exception.", @@ -2759,6 +2792,7 @@ "expressionPartitionVis.legend.filterOptionsLegend": "{legendDataLabel}, options de filtre", "expressionPartitionVis.negativeValuesFound": "Le graphique {chartType} ne peut pas rendre des valeurs négatives.", "expressionPartitionVis.reusable.function.errors.moreThenNumberBuckets": "Les compartiments de plus de {maxLength} ne sont pas pris en charge.", + "expressionPartitionVis.emptySlice": "(vide)", "expressionPartitionVis.legend.filterForValueButtonAriaLabel": "Filtrer sur la valeur", "expressionPartitionVis.legend.filterOutValueButtonAriaLabel": "Exclure la valeur", "expressionPartitionVis.legend.legendActionsAria": "Actions de légende", @@ -3157,7 +3191,8 @@ "generateCsv.escapedFormulaValues": "Le CSV peut contenir des formules dont les valeurs sont précédées d'un caractère d'échappement", "grouping.eventsTab.unit": "{totalCount, plural, =1 {événement} one {événements} many {événements} other {événements}}", "grouping.groupByPanelTitle": "Sélectionner jusqu'à {groupingLevelsCount} regroupements", - "grouping.total.unit": "{totalCount, plural, =1 {regrouper} one {groupe} many {groupes} other {groupes}}", + "grouping.nullGroup.title": "Le groupe par champ sélectionné, {selectedGroup}, a une valeur manquante de {unit} pour ce groupe.", + "grouping.total.unit": "{totalCount, plural, =1 {regrouper} one {des groupes} many {groupes} other {groupes}}", "grouping.additionalActions.takeAction": "Entreprendre des actions", "grouping.alerts.label": "Regrouper les alertes par", "grouping.customGroupByOptionName": "Champ personnalisé", @@ -3200,15 +3235,18 @@ "guidedOnboarding.quitGuideModal.quitButtonLabel": "Quitter le guide", "guidedOnboardingPackage.gettingStarted.cards.apmObservability.title": "Monitorer les performances de {lineBreak} mon application (APM / traçage)", "guidedOnboardingPackage.gettingStarted.cards.appSearch.title": "Développer une application {lineBreak} au-dessus d'Elasticsearch", - "guidedOnboardingPackage.gettingStarted.cards.cloudSecurity.title": "Sécuriser mes ressources cloud avec {lineBreak} la gestion du niveau de sécurité du cloud (CSPM)", - "guidedOnboardingPackage.gettingStarted.cards.databaseSearch.title": "Rechercher dans les bases de données {lineBreak} et les systèmes d'entreprise", + "guidedOnboardingPackage.gettingStarted.cards.cloudSecurity.title": "Sécuriser mes ressources cloud {lineBreak} grâce à la gestion du niveau de sécurité du cloud (CSPM)", + "guidedOnboardingPackage.gettingStarted.cards.databaseSearch.title": "Rechercher dans les bases de données {lineBreak} et les systèmes d’entreprise", "guidedOnboardingPackage.gettingStarted.cards.hostsSecurity.title": "Sécuriser mes hôtes {lineBreak} avec Endpoint Security", "guidedOnboardingPackage.gettingStarted.cards.progressLabel": "{numberCompleteSteps} étape(s) terminée(s) sur {numberSteps}", "guidedOnboardingPackage.gettingStarted.cards.siemSecurity.title": "Détecter les menaces dans {lineBreak} mes données avec SIEM", "guidedOnboardingPackage.gettingStarted.cards.completeLabel": "Guide terminé", + "guidedOnboardingPackage.gettingStarted.cards.esreSearch.title": "Créer une expérience de recherche sémantique", "guidedOnboardingPackage.gettingStarted.cards.hostsObservability.title": "Monitorer mes indicateurs d'hôte", "guidedOnboardingPackage.gettingStarted.cards.kubernetesObservability.title": "Monitorer les clusters Kubernetes", "guidedOnboardingPackage.gettingStarted.cards.logsObservability.title": "Collecter et analyser mes logs", + "guidedOnboardingPackage.gettingStarted.cards.syntheticsObservability.title": "Créer un moniteur synthétique", + "guidedOnboardingPackage.gettingStarted.cards.vectorSearch.title": "Configurer une recherche vectorielle", "guidedOnboardingPackage.gettingStarted.cards.websiteSearch.title": "Ajouter la recherche à mon site web", "guidedOnboardingPackage.gettingStarted.guideFilter.all.buttonLabel": "Tous", "guidedOnboardingPackage.gettingStarted.guideFilter.observability.buttonLabel": "Observabilité", @@ -3468,8 +3506,8 @@ "home.guidedOnboarding.gettingStarted.errorSectionRefreshButton": "Actualiser", "home.guidedOnboarding.gettingStarted.errorSectionTitle": "Impossible de charger l'état du guide", "home.guidedOnboarding.gettingStarted.loadingIndicator": "Chargement de l'état du guide...", - "home.guidedOnboarding.gettingStarted.skip.buttonLabel": "Je souhaiterais faire autre chose.", - "home.guidedOnboarding.gettingStarted.useCaseSelectionSubtitle": "Sélectionnez une option et nous vous aiderons à démarrer.", + "home.guidedOnboarding.gettingStarted.skip.buttonLabel": "J’aimerais explorer par moi-même.", + "home.guidedOnboarding.gettingStarted.useCaseSelectionSubtitle": "Sélectionnez un guide pour vous aider à tirer le meilleur parti de vos données.", "home.guidedOnboarding.gettingStarted.useCaseSelectionTitle": "Par quoi voulez-vous commencer ?", "home.header.title": "Bienvenue chez vous", "home.letsStartDescription": "Ajoutez des données à votre cluster depuis n’importe quelle source, puis analysez-les et visualisez-les en temps réel. Utilisez nos solutions pour définir des recherches, observer votre écosystème et vous défendre contre les menaces de sécurité.", @@ -4085,9 +4123,9 @@ "indexPatternEditor.status.matchAnyLabel.matchAnyDetail": "Votre modèle d'indexation peut correspondre à {sourceCount, plural, one {# source} many {# sources} other {# sources}}.", "indexPatternEditor.status.notMatchLabel.allIndicesLabel": "{indicesLength, plural, one {# source} many {# sources} other {# sources}}", "indexPatternEditor.status.notMatchLabel.notMatchDetail": "Le modèle d'indexation spécifié ne correspond à aucun flux de données, index ni alias d'index. Vous pouvez faire correspondre {strongIndices}.", - "indexPatternEditor.status.partialMatchLabel.partialMatchDetail": "Votre modèle d'indexation ne correspond à aucun flux de données, index ni alias d'index, mais {strongIndices} {matchedIndicesLength, plural, one {est} many {sont} other {sont}} semblable(s).", + "indexPatternEditor.status.partialMatchLabel.partialMatchDetail": "Votre modèle d'indexation ne correspond à aucun flux de données, index ni alias d'index, mais {strongIndices} {matchedIndicesLength, plural, one {est} many {sont} other {sont du mauvais type}} semblable(s).", "indexPatternEditor.status.partialMatchLabel.strongIndicesLabel": "{matchedIndicesLength, plural, one {source} many {# sources} other {# sources}}", - "indexPatternEditor.status.successLabel.successDetail": "Votre modèle d'indexation peut correspondre à {sourceCount} {sourceCount, plural, one {source} many {sources} other {sources}}.", + "indexPatternEditor.status.successLabel.successDetail": "Votre modèle d'indexation peut correspondre à {sourceCount} {sourceCount, plural, one {source} many {sources organisationnelles} other {sources}}.", "indexPatternEditor.createIndex.noMatch": "Le nom doit correspondre à au moins un flux de données, index ou alias d'index.", "indexPatternEditor.createIndexPattern.stepTime.noTimeFieldOptionLabel": "--- Je ne souhaite pas utiliser le filtre temporel ---", "indexPatternEditor.dataView.unableSaveLabel": "Échec de l'enregistrement de la vue de données.", @@ -4138,10 +4176,11 @@ "indexPatternEditor.status.notMatchLabel.notMatchNoIndicesDetail": "Le modèle d'indexation spécifié ne correspond à aucun flux de données, index ni alias d'index.", "indexPatternEditor.title": "Créer une vue de données", "indexPatternEditor.titleDocsPopover.ariaLabel": "Exemples de modèle d'indexation", - "indexPatternEditor.titleDocsPopover.dontUseSpecialCharactersDescription": "Les espaces et les caractères /?\"<>| ne sont pas autorisés.", + "indexPatternEditor.titleDocsPopover.dontUseSpecialCharactersDescription": "Les espaces et les caractères /?\"<>| ne sont pas autorisés.", "indexPatternEditor.titleDocsPopover.indexPatternDescription": "Un modèle d'indexation est une chaîne que vous utilisez pour une correspondance avec un ou plusieurs flux de données, index ou alias.", "indexPatternEditor.titleDocsPopover.title": "Modèle d'indexation", "indexPatternEditor.titleDocsPopover.useCommasDescription": "Séparez plusieurs sources uniques par une virgule (,).", + "indexPatternEditor.titleDocsPopover.useCrossClusterSearchDescription": "Pour une recherche inter-clusters, commencez par un nom de cluster suivi de deux-points (:).", "indexPatternEditor.titleDocsPopover.useMinusDescription": "Excluez une source en la faisant précéder du signe moins (-).", "indexPatternEditor.titleDocsPopover.useWildcardDescription": "Faites correspondre plusieurs sources avec un caractère générique (*).", "indexPatternEditor.titleEditMode": "Modifier la vue de données", @@ -4302,7 +4341,7 @@ "indexPatternFieldEditor.url.widthLabel": "Largeur", "indexPatternManagement.createDataView.emptyState.createAnywayTxt": "Vous pouvez également {link}", "indexPatternManagement.dataViewTable.deleteButtonLabel": "Supprimer {selectedItems, number} {selectedItems, plural, one {Vue de données} many {Vues de données} other {Vues de données}}", - "indexPatternManagement.dataViewTable.deleteConfirmSummary": "Vous allez supprimer définitivement {count, number} {count, plural, one {vue de données} many {vues de données} other {vues de données}}.", + "indexPatternManagement.dataViewTable.deleteConfirmSummary": "Vous allez supprimer définitivement {count, number} {count, plural, one {vue de données} many {Les vues de données sont introuvables} other {vues de données}}.", "indexPatternManagement.defaultFormatHeader": "Format (Par défaut : {defaultFormat})", "indexPatternManagement.deleteFieldLabel": "Il est impossible de récupérer un champ supprimé.{separator}Voulez-vous vraiment continuer ?", "indexPatternManagement.editDataView.deleteWarning": "La vue de données {dataViewName} va être supprimée. Vous ne pouvez pas annuler cette action.", @@ -4314,7 +4353,7 @@ "indexPatternManagement.editIndexPattern.list.DateHistogramDelaySummary": "retard : {delay},", "indexPatternManagement.editIndexPattern.list.dateHistogramSummary": "{aggName} (intervalle : {interval}, {delay} {time_zone})", "indexPatternManagement.editIndexPattern.list.histogramSummary": "{aggName} (intervalle : {interval})", - "indexPatternManagement.editIndexPattern.mappingConflictLabel": "{conflictFieldsLength, plural, one {Un champ est défini} many {# champs sont définis} other {# champs sont définis}} avec plusieurs types (chaîne, entier, etc.) dans les différents index qui correspondent à ce modèle. Vous pourrez peut-être utiliser ce ou ces champs en conflit dans certaines parties de Kibana, mais ils ne seront pas disponibles pour les fonctions qui nécessitent que Kibana connaisse leur type. Pour corriger ce problème, vous devrez réindexer vos données.", + "indexPatternManagement.editIndexPattern.mappingConflictLabel": "{conflictFieldsLength, plural, one {Un champ est défini} many {# champs} other {# champs sont définis}} avec plusieurs types (chaîne, entier, etc.) dans les différents index qui correspondent à ce modèle. Vous pourrez peut-être utiliser ce ou ces champs en conflit dans certaines parties de Kibana, mais ils ne seront pas disponibles pour les fonctions qui nécessitent que Kibana connaisse leur type. Pour corriger ce problème, vous devrez réindexer vos données.", "indexPatternManagement.editIndexPattern.scripted.deprecationLangLabel.deprecationLangDetail": "Les langages déclassés suivants sont en cours d'utilisation : {deprecatedLangsInUse}. La prise en charge de ces langages sera supprimée dans la prochaine version majeure de Kibana et d'Elasticsearch. Convertissez vos champs scriptés en {link} pour éviter tout problème.", "indexPatternManagement.editIndexPattern.tabs.relationshipsHeader": "Relations ({count})", "indexPatternManagement.mappingConflictLabel.mappingConflictDetail": "{mappingConflict} Vous avez déjà un champ avec le nom {fieldName}. Si vous donnez le même nom à votre champ scripté, vous ne pourrez pas interroger les deux champs en même temps.", @@ -4804,6 +4843,7 @@ "savedObjects.saveModal.cancelButtonLabel": "Annuler", "savedObjects.saveModal.descriptionLabel": "Description", "savedObjects.saveModal.duplicateTitleDescription": "L'enregistrement de \"{title}\" crée un doublon de titre.", + "savedObjects.saveModal.optional": "Facultatif", "savedObjects.saveModal.saveButtonLabel": "Enregistrer", "savedObjects.saveModal.titleLabel": "Titre", "savedObjects.saveModalOrigin.addToOriginLabel": "Ajouter", @@ -4815,7 +4855,7 @@ "savedObjectsManagement.importSummary.errorOutcomeLabel": "{errorMessage}", "savedObjectsManagement.importSummary.headerLabel": "{importCount, plural, one {1 objet a été importé} many {# objets ont été importés} other {# objets ont été importés}}", "savedObjectsManagement.importSummary.overwrittenCountHeader": "{overwrittenCount} écrasé", - "savedObjectsManagement.objectsTable.delete.successNotification": "{count, plural, one {# objet a bien été supprimé.} many {# objets ont bien été supprimés.} other {# objets ont bien été supprimés.}} a bien été supprimé.", + "savedObjectsManagement.objectsTable.delete.successNotification": "{count, plural, one {# objet a bien été supprimé.} many {# objets} other {# objets ont bien été supprimés.}} a bien été supprimé.", "savedObjectsManagement.objectsTable.deleteConfirmModal.cannotDeleteCallout.content": "{objectCount, plural, one {# objet est masqué et ne peut pas être supprimé} many {# objets sont masqués et ne peuvent pas être supprimés} other {# objets sont masqués et ne peuvent pas être supprimés}}. {objectCount, plural, one {Il a été exclu} many {Ils ont été exclus} other {Ils ont été exclus}} du récapitulatif du tableau.", "savedObjectsManagement.objectsTable.deleteConfirmModal.sharedObjectsCallout.title": "{sharedObjectsCount, plural, one {# objet enregistré est partagé} many {# de vos objets enregistrés ont été partagés} other {# de vos objets enregistrés ont été partagés}}", "savedObjectsManagement.objectsTable.deleteSavedObjectsConfirmModal.deleteButtonLabel": "Supprimer {objectsCount, plural, one {# objet} many {# objets} other {# objets}}", @@ -4950,15 +4990,18 @@ "savedObjectsManagement.view.indexPatternDoesNotExistErrorMessage": "La vue de données associée à cet objet n'existe plus.", "savedObjectsManagement.view.savedObjectProblemErrorMessage": "Un problème est survenu avec cet objet enregistré.", "savedObjectsManagement.view.savedSearchDoesNotExistErrorMessage": "La recherche enregistrée associée à cet objet n'existe plus.", + "savedSearch.legacyURLConflict.errorMessage": "Cette recherche a la même URL qu'un alias hérité. Désactiver l'alias pour résoudre cette erreur : {json}", + "savedSearch.contentManagementType": "Recherche enregistrée", "securitySolutionPackages.dataTable.eventsTab.unit": "{totalCount, plural, =1 {alerte} one {alertes} many {alertes} other {alertes}}", "securitySolutionPackages.dataTable.unit": "{totalCount, plural, =1 {alerte} one {alertes} many {alertes} other {alertes}}", "securitySolutionPackages.ecsDataQualityDashboard.allTab.allFieldsTableTitle": "Tous les champs – {indexName}", "securitySolutionPackages.ecsDataQualityDashboard.checkAllErrorCheckingIndexMessage": "Une erreur s'est produite lors de la vérification de l'index {indexName}", "securitySolutionPackages.ecsDataQualityDashboard.checkingLabel": "Vérification de {index}", - "securitySolutionPackages.ecsDataQualityDashboard.coldPatternTooltip": "{indices} {indices, plural, =1 {index} one {index} many {index} other {index}} correspondant au modèle {pattern} {indices, plural, =1 {est} one {est} many {sont} other {sont}} cold. Les index \"cold\" ne sont plus mis à jour et ne sont pas interrogés fréquemment. Les informations doivent toujours être interrogeables, mais il est acceptable que ces requêtes soient plus lentes.", + "securitySolutionPackages.ecsDataQualityDashboard.coldPatternTooltip": "{indices} {indices, plural, =1 {index} one {index système non migrés} many {index} other {index}} correspondant au modèle {pattern} {indices, plural, =1 {est} one {sont} many {sont} other {sont}} cold. Les index \"cold\" ne sont plus mis à jour et ne sont pas interrogés fréquemment. Les informations doivent toujours être interrogeables, mais il est acceptable que ces requêtes soient plus lentes.", "securitySolutionPackages.ecsDataQualityDashboard.createADataQualityCaseForIndexHeaderText": "Créer un cas de qualité des données pour l'index {indexName}", "securitySolutionPackages.ecsDataQualityDashboard.customTab.customFieldsTableTitle": "Champs personnalisés – {indexName}", "securitySolutionPackages.ecsDataQualityDashboard.customTab.ecsComplaintFieldsTableTitle": "Champs de plainte ECS – {indexName}", + "securitySolutionPackages.ecsDataQualityDashboard.dataQualityPromptContextPill": "Qualité des données ({indexName})", "securitySolutionPackages.ecsDataQualityDashboard.emptyErrorPrompt.errorLoadingMappingsBody": "Un problème est survenu lors du chargement des mappings : {error}", "securitySolutionPackages.ecsDataQualityDashboard.emptyErrorPrompt.errorLoadingMetadataTitle": "Les index correspondant au modèle {pattern} ne seront pas vérifiés", "securitySolutionPackages.ecsDataQualityDashboard.emptyErrorPrompt.errorLoadingUnallowedValuesBody": "Un problème est survenu lors du chargement des valeurs non autorisées : {error}", @@ -4966,8 +5009,8 @@ "securitySolutionPackages.ecsDataQualityDashboard.errorLoadingMappingsLabel": "Erreur lors du chargement des mappings pour {patternOrIndexName} : {details}", "securitySolutionPackages.ecsDataQualityDashboard.errorLoadingStatsLabel": "Erreur lors du chargement des statistiques : {details}", "securitySolutionPackages.ecsDataQualityDashboard.errorLoadingUnallowedValuesLabel": "Erreur lors du chargement des valeurs non autorisées pour l'index {indexName} : {details}", - "securitySolutionPackages.ecsDataQualityDashboard.frozenPatternTooltip": "{indices} {indices, plural, =1 {index} one {index} many {index} other {index}} correspondant au modèle {pattern} {indices, plural, =1 {est} one {est} many {sont} other {sont}} frozen. Les index gelés ne sont plus mis à jour et sont rarement interrogés. Les informations doivent toujours être interrogeables, mais il est acceptable que ces requêtes soient extrêmement lentes.", - "securitySolutionPackages.ecsDataQualityDashboard.hotPatternTooltip": "{indices} {indices, plural, =1 {index} one {index} many {index} other {index}} correspondant au modèle {pattern} {indices, plural, =1 {est} one {est} many {sont} other {sont}} hot. Les index \"hot\" sont mis à jour et interrogés de façon active.", + "securitySolutionPackages.ecsDataQualityDashboard.frozenPatternTooltip": "{indices} {indices, plural, =1 {index} one {index système non migrés} many {index} other {index}} correspondant au modèle {pattern} {indices, plural, =1 {est} one {sont} many {sont} other {sont}} frozen. Les index gelés ne sont plus mis à jour et sont rarement interrogés. Les informations doivent toujours être interrogeables, mais il est acceptable que ces requêtes soient extrêmement lentes.", + "securitySolutionPackages.ecsDataQualityDashboard.hotPatternTooltip": "{indices} {indices, plural, =1 {index} one {index système non migrés} many {index} other {index}} correspondant au modèle {pattern} {indices, plural, =1 {est} one {sont} many {sont} other {sont}} hot. Les index \"hot\" sont mis à jour et interrogés de façon active.", "securitySolutionPackages.ecsDataQualityDashboard.incompatibleTab.incompatibleFieldMappingsTableTitle": "Mappings de champ incompatibles – {indexName}", "securitySolutionPackages.ecsDataQualityDashboard.incompatibleTab.incompatibleFieldValuesTableTitle": "Valeurs de champ incompatibles – {indexName}", "securitySolutionPackages.ecsDataQualityDashboard.indexProperties.allCallout": "Tous les mappings relatifs aux champs de cet index, y compris ceux qui sont conformes à la version {version} d'Elastic Common Schema (ECS) et ceux qui ne le sont pas", @@ -4990,8 +5033,8 @@ "securitySolutionPackages.ecsDataQualityDashboard.statLabels.totalCountOfIndicesMatchingPatternToolTip": "Nombre total d'index correspondant au modèle {pattern}", "securitySolutionPackages.ecsDataQualityDashboard.storageTreemap.noDataReasonLabel": "Le champ {stackByField1} n'était présent dans aucun groupe", "securitySolutionPackages.ecsDataQualityDashboard.summaryTable.indexToolTip": "Cet index correspond au nom d'index ou de modèle : {pattern}", - "securitySolutionPackages.ecsDataQualityDashboard.unmanagedPatternTooltip": "{indices} {indices, plural, =1 {index} one {index} many {index} other {index}} correspondant au modèle {pattern} {indices, plural, =1 {est} one {n’est pas géré} many {ne sont pas gérés} other {ne sont pas gérés}} par Index Lifecycle Management (ILM)", - "securitySolutionPackages.ecsDataQualityDashboard.warmPatternTooltip": "{indices} {indices, plural, =1 {index} one {index} many {index} other {index}} correspondant au modèle {pattern} {indices, plural, =1 {est} one {est} many {sont} other {sont}} warm. Les index \"warm\" ne sont plus mis à jour, mais ils sont toujours interrogés.", + "securitySolutionPackages.ecsDataQualityDashboard.unmanagedPatternTooltip": "{indices} {indices, plural, =1 {index} one {index système non migrés} many {index} other {index}} correspondant au modèle {pattern} {indices, plural, =1 {est} one {sont} many {sont} other {ne sont pas gérés}} par Index Lifecycle Management (ILM)", + "securitySolutionPackages.ecsDataQualityDashboard.warmPatternTooltip": "{indices} {indices, plural, =1 {index} one {index système non migrés} many {index} other {index}} correspondant au modèle {pattern} {indices, plural, =1 {est} one {sont} many {sont} other {sont}} warm. Les index \"warm\" ne sont plus mis à jour, mais ils sont toujours interrogés.", "securitySolutionPackages.dataTable.ariaLabel": "Alertes", "securitySolutionPackages.dataTable.columnHeaders.flyout.pane.removeColumnButtonLabel": "Supprimer la colonne", "securitySolutionPackages.dataTable.eventRenderedView.eventSummary.column": "Résumé des événements", @@ -5015,6 +5058,8 @@ "securitySolutionPackages.ecsDataQualityDashboard.compareFieldsTable.searchFieldsPlaceholder": "Rechercher dans les champs", "securitySolutionPackages.ecsDataQualityDashboard.copyToClipboardButton": "Copier dans le presse-papiers", "securitySolutionPackages.ecsDataQualityDashboard.createADataQualityCaseHeaderText": "Créer un cas de qualité des données", + "securitySolutionPackages.ecsDataQualityDashboard.dataQualityPromptContextPillTooltip": "Ajoutez ce rapport de Qualité des données comme contexte", + "securitySolutionPackages.ecsDataQualityDashboard.dataQualitySuggestedUserPrompt": "Expliquez les résultats ci-dessus et donnez des options pour résoudre les incompatibilités.", "securitySolutionPackages.ecsDataQualityDashboard.defaultPanelTitle": "Vérifier les mappings d'index", "securitySolutionPackages.ecsDataQualityDashboard.ecsSummaryDonutChart.chartTitle": "Mappings de champs", "securitySolutionPackages.ecsDataQualityDashboard.ecsSummaryDonutChart.fieldsLabel": "Champs", @@ -5053,6 +5098,7 @@ "securitySolutionPackages.ecsDataQualityDashboard.ilmPhasesEmptyPromptTitle": "Sélectionner une ou plusieurs phases ILM", "securitySolutionPackages.ecsDataQualityDashboard.ilmPhasesEmptyPromptUnmanagedLabel": "non géré", "securitySolutionPackages.ecsDataQualityDashboard.ilmPhasesEmptyPromptWarmLabel": "warm", + "securitySolutionPackages.ecsDataQualityDashboard.incompatibleTab.dataQualityDashboardConversationId": "Tableau de bord de Qualité des données", "securitySolutionPackages.ecsDataQualityDashboard.indexLifecycleManagementPhasesTooltip": "La qualité des données sera vérifiée pour les index comprenant ces phases de gestion du cycle de vie des index (ILM, Index Lifecycle Management)", "securitySolutionPackages.ecsDataQualityDashboard.indexNameLabel": "Nom de l'index", "securitySolutionPackages.ecsDataQualityDashboard.indexProperties.addToNewCaseButton": "Ajouter au nouveau cas", @@ -5177,6 +5223,7 @@ "sharedUXPackages.filePicker.deleteFileQuestion": "Voulez-vous vraiment supprimer \"{fileName}\" ?", "sharedUXPackages.filePicker.selectFilesButtonLable": "Sélectionner {nrOfFiles} fichiers", "sharedUXPackages.fileUpload.fileTooLargeErrorMessage": "Le fichier est trop volumineux. La taille maximale est de {expectedSize, plural, one {# octet} many {# octets} other {# octets}}.", + "sharedUXPackages.fileUpload.mimeTypeNotSupportedErrorMessage": "Le type de fichier mime \"{mimeType}\" n’est pas pris en charge. Les types mime pris en charge sont : {supportedMimeTypes}.", "sharedUXPackages.noDataPage.intro": "Ajoutez vos données pour commencer, ou {link} sur {solution}.", "sharedUXPackages.noDataPage.welcomeTitle": "Bienvenue dans Elastic {solution} !", "sharedUXPackages.solutionNav.mobileTitleText": "{solutionName} {menuText}", @@ -5187,6 +5234,7 @@ "sharedUXPackages.card.noData.noPermission.description": "Cette intégration n'est pas encore activée. Votre administrateur possède les autorisations requises pour l'activer.", "sharedUXPackages.card.noData.noPermission.title": "Contactez votre administrateur", "sharedUXPackages.card.noData.title": "Ajouter Elastic Agent", + "sharedUXPackages.chrome.sideNavigation.recentlyAccessed.title": "Récent", "sharedUXPackages.codeEditor.ariaLabel": "Éditeur de code", "sharedUXPackages.codeEditor.enterKeyLabel": "Entrée", "sharedUXPackages.codeEditor.escapeKeyLabel": "Échap", @@ -5237,8 +5285,9 @@ "sharedUXPackages.userProfileComponents.userProfilesSelectable.searchPlaceholder": "Recherche", "sharedUXPackages.userProfileComponents.userProfilesSelectable.suggestedLabel": "Suggérée", "telemetry.callout.appliesSettingTitle": "Les modifications apportées à ce paramètre s'appliquent dans {allOfKibanaText} et sont enregistrées automatiquement.", + "telemetry.dataManagementDisclaimerPrivacy": "{optInStatus} Ceci nous permet de savoir ce qui intéresse le plus nos utilisateurs, afin d’améliorer nos produits et services. Consultez notre {privacyStatementLink}.", "telemetry.seeExampleOfClusterDataAndEndpointSecuity": "Découvrez des exemples des {clusterData} et {securityData} que nous collectons.", - "telemetry.telemetryConfigAndLinkDescription": "En activant la collecte de données d'utilisation, vous nous aidez à gérer et à améliorer nos produits et nos services. Pour en savoir plus, consultez notre {privacyStatementLink}.", + "telemetry.telemetryConfigAndLinkDescription": "Activer la collecte de données d’utilisation nous permet de savoir ce qui intéresse le plus nos utilisateurs, afin de pouvoir améliorer nos produits et services. Consultez notre {privacyStatementLink}.", "telemetry.callout.appliesSettingTitle.allOfKibanaText": "tout Kibana", "telemetry.callout.clusterStatisticsDescription": "Voici un exemple des statistiques de cluster de base que nous collecterons. Cela comprend le nombre d'index, de partitions et de nœuds. Cela comprend également des statistiques d'utilisation de niveau élevé, comme l'état d'activation du monitoring.", "telemetry.callout.clusterStatisticsTitle": "Statistiques du cluster", @@ -5247,22 +5296,119 @@ "telemetry.callout.errorUnprivilegedUserDescription": "Vous ne disposez pas de l'accès requis pour voir les statistiques non chiffrées du cluster.", "telemetry.callout.errorUnprivilegedUserTitle": "Erreur lors de l'affichage des statistiques du cluster", "telemetry.clusterData": "données du cluster", - "telemetry.dataManagementDisableCollectionLink": "désactivez les données d'utilisation ici.", - "telemetry.dataManagementDisclaimerPrivacyLink": "Déclaration de confidentialité.", - "telemetry.dataManagementEnableCollectionLink": "activez les données d'utilisation ici.", + "telemetry.dataManagementDisableCollectionLink": "Désactivez la collecte de données d’utilisation.", + "telemetry.dataManagementDisclaimerPrivacyLink": "Déclaration de confidentialité", + "telemetry.dataManagementEnableCollectionLink": "Activez la collecte de données d’utilisation.", + "telemetry.disabledStatus": "La collecte de données d’utilisation est désactivée.", + "telemetry.enabledStatus": "La collecte de données d’utilisation est activée.", "telemetry.optInErrorToastText": "Une erreur s'est produite lors de la définition des préférences relatives aux statistiques d'utilisation.", "telemetry.optInErrorToastTitle": "Erreur", "telemetry.optInNoticeSeenErrorTitle": "Erreur", "telemetry.optInNoticeSeenErrorToastText": "Une erreur s'est produite lors du rejet de l'avis.", - "telemetry.optInSuccessOff": "Collecte des données d'utilisation désactivée.", - "telemetry.optInSuccessOn": "Collecte des données d'utilisation activée.", - "telemetry.provideUsageDataAriaName": "Fournir les données d'utilisation", - "telemetry.provideUsageDataTitle": "Fournir les données d'utilisation", + "telemetry.optInSuccessOff": "Ne partage plus l’utilisation avec Elastic.", + "telemetry.optInSuccessOn": "Le partage d’utilisation avec Elastic est activé.", + "telemetry.provideUsageDataAriaName": "Partager l’utilisation avec Elastic", + "telemetry.provideUsageDataTitle": "Partager l’utilisation avec Elastic", "telemetry.readOurUsageDataPrivacyStatementLinkText": "Déclaration de confidentialité", "telemetry.securityData": "données de sécurité", + "telemetry.telemetryConstant": "données télémétriques", "telemetry.telemetryOptedInDismissMessage": "Rejeter", "telemetry.telemetryOptedInNoticeTitle": "Aidez-nous à améliorer la Suite Elastic.", - "telemetry.usageDataTitle": "Données d'utilisation", + "telemetry.usageCollectionConstant": "collecte de données d’utilisation", + "telemetry.usageDataTitle": "Collecte de données d’utilisation", + "textBasedEditor.query.textBasedLanguagesEditor.errorCount": "{count} {count, plural, one {erreur} many {erreurs} other {erreurs}}", + "textBasedEditor.query.textBasedLanguagesEditor.lineCount": "{count} {count, plural, one {ligne} many {lignes} other {lignes}}", + "textBasedEditor.query.textBasedLanguagesEditor.lineNumber": "Ligne {lineNumber}", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.addOperator.markdown": "### Add (+)\n```\nSELECT 1 + 1 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.andOperator.markdown": "### AND\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no > 10000 AND emp_no < 10005 ORDER BY emp_no LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.averageFunction.markdown": "### AVG\nRetourne la moyenne (moyenne arithmétique) des valeurs entrées.\n```\nAVG(numeric_field)\n```\n- champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n```\nSELECT AVG(salary) AS avg FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.between.markdown": "### Between\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no BETWEEN 9990 AND 10003 ORDER BY emp_no\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.comparison.markdown": "### Comparison (<, <=, >, >=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no < 10003 ORDER BY emp_no LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countAllFunction.markdown": "### Count (All)\nRenvoie le nombre total de toutes les valeurs non nulles en entrée. COUNT() et COUNT(ALL ) sont équivalents.\n\n```\nCOUNT(ALL field_name) \n```\n- nom du champ. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n```\nSELECT COUNT(ALL last_name) AS count_all, COUNT(DISTINCT last_name) count_distinct FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countDistinctFunction.markdown": "### Count (Distinct)\nRenvoie le nombre total de valeurs non nulles distinctes dans les valeurs en entrée.\n\n```\nCOUNT(DISTINCT field_name)\n```\n- Entrée : un nom de champ.\n- Sortie : une valeur numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n```\nSELECT COUNT(DISTINCT hire_date) unique_hires, COUNT(hire_date) AS hires FROM emp\n\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countFunction.markdown": "### Count\nRenvoie le nombre total de valeurs en entrée.\n\n\n```\nCOUNT(expression)\n```\n- expression. Nom de champ, caractère générique (*) ou n'importe quelle valeur numérique. Pour COUNT(*) ou COUNT(), toutes les valeurs sont prises en compte, même celles manquantes ou nulles. Pour COUNT(), les valeurs nulles ne sont pas prises en compte.\n```\nSELECT COUNT(*) AS count FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.divideOperator.markdown": "### Divide (/)\n```\nSELECT 6 / 3 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.equality.markdown": "### Equality (=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no = 10000 LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.firstFunction.markdown": "### FIRST / FIRST_VALUE\nRenvoie la première valeur non nulle (si elle existe) de la colonne d'entrée field_name triée selon la colonne ordering_field_name. Si la valeur ordering_field_name n'est pas fournie, seule la colonne field_name est utilisée pour le tri. \n\n```\nFIRST(\n field_name \n [, ordering_field_name])\n```\n- Nom du champ : champ cible de l'agrégation\n- ordering_field_name : champ facultatif utilisé pour le tri.\n\n```\nSELECT gender, FIRST(first_name, birth_date) FROM emp GROUP BY gender ORDER BY gender\n```\n\n- FIRST ne peut pas être utilisé dans une clause HAVING.\n- FIRST ne peut pas être utilisé avec des colonnes de type texte, sauf si le champ est aussi enregistré comme mot-clé.\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.inequality.markdown": "### Inequality (<> or !=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no <> 10000 ORDER BY emp_no LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.inOperator.markdown": "### IN (, , ...)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no IN (10000, 10001, 10002, 999) ORDER BY emp_no LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.kurtosisFunction.markdown": "### KURTOSIS\nQuantifier la forme de la distribution des valeurs en entrée dans le champ field_name.\n\n```\nKURTOSIS(field_name) \n```\n- champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, KURTOSIS(salary) AS k FROM emp\n```\n\n- KURTOSIS ne peut pas être utilisé en plus des fonctions ou des opérateurs scalaires, uniquement sur un champ. \n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.lastFunction.markdown": "### LAST / LAST_VALUE\nInverse de FIRST/FIRST_VALUE. Renvoie la dernière valeur non nulle (si elle existe) de la colonne d'entrée field_name triée par ordre croissant selon la colonne ordering_field_name. Si la valeur ordering_field_name n'est pas fournie, seule la colonne field_name est utilisée pour le tri. \n\n```\nLAST(\n field_name \n [, ordering_field_name])\n```\n- Nom du champ : champ cible de l'agrégation\n- ordering_field_name : champ facultatif utilisé pour le tri.\n```\nSELECT gender, LAST(first_name) FROM emp GROUP BY gender ORDER BY gender\n```\n- LAST ne peut pas être utilisé dans une clause HAVING.\n- LAST ne peut pas être utilisé avec des colonnes de type texte, sauf si le champ est aussi enregistré comme mot-clé.\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.madFunction.markdown": "### MAD\nMesure la variabilité des valeurs d'entrée dans le champ field_name.\n\n```\nMAD(field_name) \n```\n- champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, AVG(salary) AS avg, MAD(salary) AS mad FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.markdown": "## À propos d'Elasticsearch SQL\n\nUtilisez Elasticsearch SQL pour rechercher et agréger les données dans Elasticsearch. Ce langage de requête fournit une recherche full text avec une syntaxe connue. Voici un exemple de requête :\n \n```\nSELECT * FROM library \nORDER BY page_count DESC LIMIT 5\n```\n \nElasticsearch SQL :\n\n- Fournit un jeu complet d'opérateurs et de fonctions intégrés.\n- Suit la terminologie et les conventions SQL.\n- Accepte une commande par ligne. Une commande est une séquence de jetons terminée par la fin du flux d'entrée\n \n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.maxFunction.markdown": "### MAX\nRetourne la valeur maximale de toutes les valeurs en entrée dans le champ field_name.\n\n```\nMAX(field_name) \n```\n- champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MAX(salary) AS max FROM emp\n```\n\n- MAX sur un champ de type texte ou mot-clé est traduit en FIRST/FIRST_VALUE et ne peut donc pas être utilisé dans la clause HAVING.\n\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.minFunction.markdown": "### MIN\nRetourne la valeur minimale de toutes les valeurs en entrée dans le champ field_name.\n\n```\nMIN(field_name) \n```\n- champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min FROM emp\n```\n\n- MIN sur un champ de type texte ou mot-clé est traduit en FIRST/FIRST_VALUE et ne peut donc pas être utilisé dans la clause HAVING.\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.moduloOperator.markdown": "### Modulo or remainder(%)\n```\nSELECT 5 % 2 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.multiplyOperator.markdown": "### Multiply (*)\n```\nSELECT 2 * 3 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.negateOperator.markdown": "### Negate (unary -)\n```\nSELECT - 1 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.notOperator.markdown": "### NOT\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE NOT emp_no = 10000 LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullNotNull.markdown": "### IS NULL/IS NOT NULL\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no IS NOT NULL AND gender IS NULL\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullSafeEquality.markdown": "### Null safe equality:\n```\nSELECT 'elastic' <=> null AS \"equals\"\n\n égal\n---------------\nfaux\n```\n```\nSELECT null <=> null AS \"equals\"\n\n égal\n---------------\nvrai\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.orOperator.markdown": "### OR\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no < 10003 OR emp_no = 10005 ORDER BY emp_no LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileFunction.markdown": "### PERCENTILE\nRetourne le centile n (représenté par le paramètre numeric_exp) des valeurs en entrée dans le champ field_name.\n\n```\nPERCENTILE(\n field_name, \n percentile[, \n method[, \n method_parameter]])\n```\n- field_name : champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n- centile : expression numérique (doit être une constante et ne doit pas être basé sur un champ). Si la valeur est nulle, la fonction renvoie une valeur nulle.\n- method : chaîne littérale facultative pour l'algorithme de centile. Valeurs possibles : tdigest ou hdr. La valeur par défaut est tdigest.\n- method_parameter : numérique littéral facultatif qui configure l'algorithme de centile. Configure la compression pour tdigest ou number_of_significant_value_digits pour hdr. La valeur par défaut est la même que celle de l'algorithme de sauvegarde.\n\n```\nSELECT\n languages,\n PERCENTILE(salary, 97.3, 'tdigest', 100.0) AS \"97.3_TDigest\",\n PERCENTILE(salary, 97.3, 'hdr', 3) AS \"97.3_HDR\"\nFROM emp\nGROUP BY languages\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileRankFunction.markdown": "### PERCENTILE_RANK\nRetourne le rang centile n (représenté par le paramètre numeric_exp) des valeurs en entrée dans le champ field_name.\n\n```\nPERCENTILE_RANK(\n field_name, \n value[, \n method[, \n method_parameter]]) \n```\n- field_name : champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n- centile : expression numérique (doit être une constante et ne doit pas être basé sur un champ). Si la valeur est nulle, la fonction renvoie une valeur nulle.\n- method : chaîne littérale facultative pour l'algorithme de centile. Valeurs possibles : tdigest ou hdr. La valeur par défaut est tdigest.\n- method_parameter : numérique littéral facultatif qui configure l'algorithme de centile. Configure la compression pour tdigest ou number_of_significant_value_digits pour hdr. La valeur par défaut est la même que celle de l'algorithme de sauvegarde.\n\n```\nSELECT\n languages,\n ROUND(PERCENTILE_RANK(salary, 65000, 'tdigest', 100.0), 2) AS \"rank_TDigest\",\n ROUND(PERCENTILE_RANK(salary, 65000, 'hdr', 3), 2) AS \"rank_HDR\"\nFROM emp\nGROUP BY languages\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.skewnessFunction.markdown": "### SKEWNESS\nQuantifier la distribution asymétrique des valeurs en entrée dans le champ field_name.\n\n```\nSKEWNESS(field_name) \n```\n- field_name : champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, SKEWNESS(salary) AS s FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevpopFunction.markdown": "### STDDEV_POP\nRetourne l'écart type de population des valeurs en entrée dans le champ field_name.\n\n```\nSTDDEV_POP(field_name) \n```\n- field_name : champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, STDDEV_POP(salary) AS stddev FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevsampFunction.markdown": "### STDDEV_SAMP\nRetourne l'écart type de l'échantillon des valeurs en entrée dans le champ field_name.\n\n```\nSTDDEV_SAMP(field_name) \n```\n- field_name : champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, STDDEV_SAMP(salary) AS stddev FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.subtractOperator.markdown": "### Subtract (infix -)\n```\nSELECT 1 - 1 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumFunction.markdown": "### SUM\nRetourne la somme des valeurs en entrée dans le champ field_name.\n\n```\nSUM(field_name) \n```\n- champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT SUM(salary) AS sum FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumofsquaresFunction.markdown": "### SUM_OF_SQUARES\nRetourne la somme des carrés des valeurs en entrée dans le champ field_name.\n\n```\nSUM_OF_SQUARES(field_name) \n```\n- field_name : champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, SUM_OF_SQUARES(salary) AS sumsq\n FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.varpopFunction.markdown": "### VAR_POP\nRetourne la variance de population des valeurs en entrée dans le champ field_name.\n\n```\nVAR_POP(field_name) \n```\n- field_name : champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, VAR_POP(salary) AS varpop FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.varsampFunction.markdown": "### VAR_SAMP\nRetourne la variance de l'échantillon de valeurs en entrée dans le champ field_name.\n\n```\nVAR_SAMP(field_name) \n```\n- field_name : champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, VAR_SAMP(salary) AS varsamp FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.aggregateFunctions": "Fonctions agrégées", + "textBasedEditor.query.textBasedLanguagesEditor.aggregateFunctionsDocumentationDescription": "Fonctions permettant de calculer un résultat unique à partir d'un ensemble de valeurs d'entrée. Elasticsearch SQL ne prend en charge les fonctions agrégées que parallèlement au regroupement (implicite ou explicite).", + "textBasedEditor.query.textBasedLanguagesEditor.comparisonOperators": "Opérateurs de comparaison", + "textBasedEditor.query.textBasedLanguagesEditor.comparisonOperatorsDocumentationDescription": "Opérateur booléen pour une comparaison par rapport à une ou plusieurs expressions.", + "textBasedEditor.query.textBasedLanguagesEditor.disableWordWrapLabel": "Désactiver le renvoi à la ligne des mots", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.AddOperator": "Ajouter", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.AndOperator": "AND", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.averageFunction": "Moyenne", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.between": "Entre", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.comparison": "Comparaison", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countAllFunction": "Count (All)", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countDistinctFunction": "Count (Distinct)", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countFunction": "Décompte", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.divideOperator": "Divide", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.equality": "Equality", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.firstFunction": "First / First_value", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.inequality": "Inequality", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.inOperator": "IN", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.kurtosisFunction": "Kurtosis", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.lastFunction": "Last / Last_value", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.madFunction": "Mad", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.maxFunction": "Max.", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.minFunction": "Min.", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.moduloOperator": "Modulo or remainder", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.multiplyOperator": "Multiplier", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.negateOperator": "Negate", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.NotOperator": "NON", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullNotNull": "IS NULL et IS NOT NULL", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullSafeEquality": "Null safe equality (<=>)", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.OrOperator": "OR", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileFunction": "Centile", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileRankFunction": "Rang centile", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.skewnessFunction": "Skewness", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevpopFunction": "STDDEV_POP", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevsampFunction": "STDDEV_SAMP", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.SubtractOperator": "Subtract", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumFunction": "Somme", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumofsquaresFunction": "Sum of squares", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.varpopFunction": "VAR_POP", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.varsampFunction": "VAR_SAMP", + "textBasedEditor.query.textBasedLanguagesEditor.documentationLabel": "Documentation", + "textBasedEditor.query.textBasedLanguagesEditor.EnableWordWrapLabel": "Activer le renvoi à la ligne des mots", + "textBasedEditor.query.textBasedLanguagesEditor.errorsTitle": "Erreurs", + "textBasedEditor.query.textBasedLanguagesEditor.expandTooltip": "Développer l’éditeur de requête", + "textBasedEditor.query.textBasedLanguagesEditor.howItWorks": "Fonctionnement", + "textBasedEditor.query.textBasedLanguagesEditor.logicalOperators": "Opérateurs logiques", + "textBasedEditor.query.textBasedLanguagesEditor.logicalOperatorsDocumentationDescription": "Opérateur booléen permettant d'évaluer une ou deux expressions.", + "textBasedEditor.query.textBasedLanguagesEditor.mathOperators": "Opérateurs mathématiques", + "textBasedEditor.query.textBasedLanguagesEditor.mathOperatorsDocumentationDescription": "Effectuer des opérations mathématiques affectant une ou deux valeurs. Le résultat est une valeur de type numérique.", + "textBasedEditor.query.textBasedLanguagesEditor.MinimizeEditor": "Réduire l'éditeur", + "textBasedEditor.query.textBasedLanguagesEditor.minimizeTooltip": "Réduire l’éditeur de requête", + "textBasedEditor.query.textBasedLanguagesEditor.runQuery": "Exécuter la requête", + "textBasedEditor.query.textBasedLanguagesEditor.timestampDetected": "@timestamp détecté", + "textBasedEditor.query.textBasedLanguagesEditor.timestampNotDetected": "@timestamp non détecté", "timelion.help.functions.aggregate.args.functionHelpText": "L'une des {functions}", "timelion.help.functions.aggregateHelpText": "Crée une ligne statique sur la base du résultat du traitement de tous les points de la série. Fonctions disponibles : {functions}", "timelion.help.functions.common.args.fitHelpText": "Algorithme à utiliser pour adapter les séries à l'intervalle et à la période cible. Disponible : {fitFunctions}", @@ -5615,6 +5761,9 @@ "unifiedFieldList.fieldStats.fieldTimeDistributionLabel": "Répartition du temps", "unifiedFieldList.fieldStats.noFieldDataDescription": "Aucune donnée de champ pour la recherche actuelle.", "unifiedFieldList.fieldStats.notAvailableForThisFieldDescription": "L'analyse n'est pas disponible pour ce champ.", + "unifiedFieldList.fieldStats.numberSummary.maxLabel": "max", + "unifiedFieldList.fieldStats.numberSummary.minLabel": "min", + "unifiedFieldList.fieldStats.numberSummary.summaryTableTitle": "Résumé", "unifiedFieldList.fieldStats.otherDocsLabel": "Autre", "unifiedFieldList.fieldStats.topValuesLabel": "Valeurs les plus élevées", "unifiedFieldList.fieldTypeFilter.clearAllLink": "Tout effacer", @@ -5660,6 +5809,7 @@ "unifiedHistogram.inspectorRequestDescriptionTotalHits": "Cette requête interroge Elasticsearch afin de récupérer le nombre total de résultats.", "unifiedHistogram.lensTitle": "Modifier la visualisation", "unifiedHistogram.resetChartHeight": "Réinitialiser à la hauteur par défaut", + "unifiedHistogram.saveVisualizationButton": "Enregistrer la visualisation", "unifiedHistogram.showChart": "Afficher le graphique", "unifiedHistogram.suggestionSelectorPlaceholder": "Sélectionner la visualisation", "unifiedHistogram.timeIntervals": "Intervalles de temps", @@ -5683,9 +5833,10 @@ "unifiedSearch.query.queryBar.KQLNestedQuerySyntaxInfoText": "Il semblerait que votre requête porte sur un champ imbriqué. Selon le résultat visé, il existe plusieurs façons de construire une syntaxe KQL pour des requêtes imbriquées. Apprenez-en plus dans notre {link}.", "unifiedSearch.query.queryBar.searchInputAriaLabel": "Commencer à taper pour rechercher et filtrer la page {pageType}", "unifiedSearch.query.queryBar.searchInputPlaceholder": "Filtrer vos données à l'aide de la syntaxe {language}", + "unifiedSearch.query.queryBar.textBasedNonTimestampWarning": "La sélection de plage de données pour les requêtes en {language} requiert la présence d’un champ @timestamp dans l’ensemble de données.", "unifiedSearch.search.searchBar.savedQueryPopoverConfirmDeletionTitle": "Supprimer \"{savedQueryName}\" ?", "unifiedSearch.search.searchBar.savedQueryPopoverSaveChangesButtonAriaLabel": "Enregistrer les modifications apportées à {title}", - "unifiedSearch.search.unableToGetSavedQueryToastTitle": "Impossible de charger la requête enregistrée {savedQueryId}", + "unifiedSearch.search.unableToGetSavedQueryToastTitle": "Impossible de charger la requête {savedQueryId}", "unifiedSearch.filter.applyFilterActionTitle": "Appliquer le filtre à la vue en cours", "unifiedSearch.filter.applyFilters.popupHeader": "Sélectionner les filtres à appliquer", "unifiedSearch.filter.applyFiltersPopup.cancelButtonLabel": "Annuler", @@ -5732,6 +5883,7 @@ "unifiedSearch.filter.filterEditor.isOneOfOperatorOptionLabel": "est l'une des options suivantes", "unifiedSearch.filter.filterEditor.isOperatorOptionLabel": "est", "unifiedSearch.filter.filterEditor.queryDslAriaLabel": "Éditeur Query DSL d'Elasticsearch", + "unifiedSearch.filter.filterEditor.queryDslDocsLinkLabel": "En savoir plus sur la syntaxe Query DSL", "unifiedSearch.filter.filterEditor.queryDslLabel": "Query DSL d'Elasticsearch", "unifiedSearch.filter.filterEditor.rangeEndInputPlaceholder": "Fin", "unifiedSearch.filter.filterEditor.rangeInputLabel": "Plage", @@ -5808,6 +5960,7 @@ "unifiedSearch.query.queryBar.searchInputPlaceholderForText": "Filtrer vos données", "unifiedSearch.query.queryBar.syntaxOptionsTitle": "Options de syntaxe", "unifiedSearch.query.queryBar.textBasedLanguagesTechPreviewLabel": "Version d'évaluation technique", + "unifiedSearch.queryBarTopRow.datePicker.disabledLabel": "Tout le temps", "unifiedSearch.queryBarTopRow.submitButton.refresh": "Actualiser la requête", "unifiedSearch.queryBarTopRow.submitButton.run": "Exécuter la requête", "unifiedSearch.queryBarTopRow.submitButton.update": "Nécessite une mise à jour", @@ -5830,97 +5983,6 @@ "unifiedSearch.switchLanguage.buttonText": "Bouton de changement de langue.", "unifiedSearch.triggers.updateFilterReferencesTrigger": "Mettre à jour les références de filtre", "unifiedSearch.triggers.updateFilterReferencesTriggerDescription": "Mettre à jour les références de filtre", - "textBasedEditor.query.textBasedLanguagesEditor.errorCount": "{count} {count, plural, one {erreur} other {erreurs}}", - "textBasedEditor.query.textBasedLanguagesEditor.lineCount": "{count} {count, plural, one {ligne} other {lignes}}", - "textBasedEditor.query.textBasedLanguagesEditor.lineNumber": "Ligne {lineNumber}", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.addOperator.markdown": "### Add (+)\n```\nSELECT 1 + 1 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.andOperator.markdown": "### AND\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no > 10000 AND emp_no < 10005 ORDER BY emp_no LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.averageFunction.markdown": "### AVG\nRetourne la moyenne (moyenne arithmétique) des valeurs entrées.\n```\nAVG(numeric_field)\n```\n- champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n```\nSELECT AVG(salary) AS avg FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.between.markdown": "### Between\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no BETWEEN 9990 AND 10003 ORDER BY emp_no\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.comparison.markdown": "### Comparison (<, <=, >, >=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no < 10003 ORDER BY emp_no LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countAllFunction.markdown": "### Count (All)\nRenvoie le nombre total de toutes les valeurs non nulles en entrée. COUNT() et COUNT(ALL ) sont équivalents.\n\n```\nCOUNT(ALL field_name) \n```\n- nom du champ. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n```\nSELECT COUNT(ALL last_name) AS count_all, COUNT(DISTINCT last_name) count_distinct FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countDistinctFunction.markdown": "### Count (Distinct)\nRenvoie le nombre total de valeurs non nulles distinctes dans les valeurs en entrée.\n\n```\nCOUNT(DISTINCT field_name)\n```\n- Entrée : un nom de champ.\n- Sortie : une valeur numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n```\nSELECT COUNT(DISTINCT hire_date) unique_hires, COUNT(hire_date) AS hires FROM emp\n\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countFunction.markdown": "### Count\nRenvoie le nombre total de valeurs en entrée.\n\n\n```\nCOUNT(expression)\n```\n- expression. Nom de champ, caractère générique (*) ou n'importe quelle valeur numérique. Pour COUNT(*) ou COUNT(), toutes les valeurs sont prises en compte, même celles manquantes ou nulles. Pour COUNT(), les valeurs nulles ne sont pas prises en compte.\n```\nSELECT COUNT(*) AS count FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.divideOperator.markdown": "### Divide (/)\n```\nSELECT 6 / 3 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.equality.markdown": "### Equality (=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no = 10000 LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.firstFunction.markdown": "### FIRST / FIRST_VALUE\nRenvoie la première valeur non nulle (si elle existe) de la colonne d'entrée field_name triée selon la colonne ordering_field_name. Si la valeur ordering_field_name n'est pas fournie, seule la colonne field_name est utilisée pour le tri. \n\n```\nFIRST(\n field_name \n [, ordering_field_name])\n```\n- Nom du champ : champ cible de l'agrégation\n- ordering_field_name : champ facultatif utilisé pour le tri.\n\n```\nSELECT gender, FIRST(first_name, birth_date) FROM emp GROUP BY gender ORDER BY gender\n```\n\n- FIRST ne peut pas être utilisé dans une clause HAVING.\n- FIRST ne peut pas être utilisé avec des colonnes de type texte, sauf si le champ est aussi enregistré comme mot-clé.\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.inequality.markdown": "### Inequality (<> or !=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no <> 10000 ORDER BY emp_no LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.inOperator.markdown": "### IN (, , ...)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no IN (10000, 10001, 10002, 999) ORDER BY emp_no LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.kurtosisFunction.markdown": "### KURTOSIS\nQuantifier la forme de la distribution des valeurs en entrée dans le champ field_name.\n\n```\nKURTOSIS(field_name) \n```\n- champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, KURTOSIS(salary) AS k FROM emp\n```\n\n- KURTOSIS ne peut pas être utilisé en plus des fonctions ou des opérateurs scalaires, uniquement sur un champ. \n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.lastFunction.markdown": "### LAST / LAST_VALUE\nInverse de FIRST/FIRST_VALUE. Renvoie la dernière valeur non nulle (si elle existe) de la colonne d'entrée field_name triée par ordre croissant selon la colonne ordering_field_name. Si la valeur ordering_field_name n'est pas fournie, seule la colonne field_name est utilisée pour le tri. \n\n```\nLAST(\n field_name \n [, ordering_field_name])\n```\n- Nom du champ : champ cible de l'agrégation\n- ordering_field_name : champ facultatif utilisé pour le tri.\n```\nSELECT gender, LAST(first_name) FROM emp GROUP BY gender ORDER BY gender\n```\n- LAST ne peut pas être utilisé dans une clause HAVING.\n- LAST ne peut pas être utilisé avec des colonnes de type texte, sauf si le champ est aussi enregistré comme mot-clé.\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.madFunction.markdown": "### MAD\nMesure la variabilité des valeurs d'entrée dans le champ field_name.\n\n```\nMAD(field_name) \n```\n- champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, AVG(salary) AS avg, MAD(salary) AS mad FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.markdown": "## À propos d'Elasticsearch SQL\n\nUtilisez Elasticsearch SQL pour rechercher et agréger les données dans Elasticsearch. Ce langage de requête fournit une recherche full text avec une syntaxe connue. Voici un exemple de requête :\n \n```\nSELECT * FROM library \nORDER BY page_count DESC LIMIT 5\n```\n \nElasticsearch SQL :\n\n- Fournit un jeu complet d'opérateurs et de fonctions intégrés.\n- Suit la terminologie et les conventions SQL.\n- Accepte une commande par ligne. Une commande est une séquence de jetons terminée par la fin du flux d'entrée\n \n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.maxFunction.markdown": "### MAX\nRetourne la valeur maximale de toutes les valeurs en entrée dans le champ field_name.\n\n```\nMAX(field_name) \n```\n- champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MAX(salary) AS max FROM emp\n```\n\n- MAX sur un champ de type texte ou mot-clé est traduit en FIRST/FIRST_VALUE et ne peut donc pas être utilisé dans la clause HAVING.\n\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.minFunction.markdown": "### MIN\nRetourne la valeur minimale de toutes les valeurs en entrée dans le champ field_name.\n\n```\nMIN(field_name) \n```\n- champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min FROM emp\n```\n\n- MIN sur un champ de type texte ou mot-clé est traduit en FIRST/FIRST_VALUE et ne peut donc pas être utilisé dans la clause HAVING.\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.moduloOperator.markdown": "### Modulo or remainder(%)\n```\nSELECT 5 % 2 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.multiplyOperator.markdown": "### Multiply (*)\n```\nSELECT 2 * 3 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.negateOperator.markdown": "### Negate (unary -)\n```\nSELECT - 1 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.notOperator.markdown": "### NOT\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE NOT emp_no = 10000 LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullNotNull.markdown": "### IS NULL/IS NOT NULL\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no IS NOT NULL AND gender IS NULL\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullSafeEquality.markdown": "### Null safe equality:\n```\nSELECT 'elastic' <=> null AS \"equals\"\n\n égal\n---------------\nfaux\n```\n```\nSELECT null <=> null AS \"equals\"\n\n égal\n---------------\nvrai\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.orOperator.markdown": "### OR\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no < 10003 OR emp_no = 10005 ORDER BY emp_no LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileFunction.markdown": "### PERCENTILE\nRetourne le centile n (représenté par le paramètre numeric_exp) des valeurs en entrée dans le champ field_name.\n\n```\nPERCENTILE(\n field_name, \n percentile[, \n method[, \n method_parameter]])\n```\n- field_name : champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n- centile : expression numérique (doit être une constante et ne doit pas être basé sur un champ). Si la valeur est nulle, la fonction renvoie une valeur nulle.\n- method : chaîne littérale facultative pour l'algorithme de centile. Valeurs possibles : tdigest ou hdr. La valeur par défaut est tdigest.\n- method_parameter : numérique littéral facultatif qui configure l'algorithme de centile. Configure la compression pour tdigest ou number_of_significant_value_digits pour hdr. La valeur par défaut est la même que celle de l'algorithme de sauvegarde.\n\n```\nSELECT\n languages,\n PERCENTILE(salary, 97.3, 'tdigest', 100.0) AS \"97.3_TDigest\",\n PERCENTILE(salary, 97.3, 'hdr', 3) AS \"97.3_HDR\"\nFROM emp\nGROUP BY languages\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileRankFunction.markdown": "### PERCENTILE_RANK\nRetourne le rang centile n (représenté par le paramètre numeric_exp) des valeurs en entrée dans le champ field_name.\n\n```\nPERCENTILE_RANK(\n field_name, \n value[, \n method[, \n method_parameter]]) \n```\n- field_name : champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n- centile : expression numérique (doit être une constante et ne doit pas être basé sur un champ). Si la valeur est nulle, la fonction renvoie une valeur nulle.\n- method : chaîne littérale facultative pour l'algorithme de centile. Valeurs possibles : tdigest ou hdr. La valeur par défaut est tdigest.\n- method_parameter : numérique littéral facultatif qui configure l'algorithme de centile. Configure la compression pour tdigest ou number_of_significant_value_digits pour hdr. La valeur par défaut est la même que celle de l'algorithme de sauvegarde.\n\n```\nSELECT\n languages,\n ROUND(PERCENTILE_RANK(salary, 65000, 'tdigest', 100.0), 2) AS \"rank_TDigest\",\n ROUND(PERCENTILE_RANK(salary, 65000, 'hdr', 3), 2) AS \"rank_HDR\"\nFROM emp\nGROUP BY languages\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.skewnessFunction.markdown": "### SKEWNESS\nQuantifier la distribution asymétrique des valeurs en entrée dans le champ field_name.\n\n```\nSKEWNESS(field_name) \n```\n- field_name : champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, SKEWNESS(salary) AS s FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevpopFunction.markdown": "### STDDEV_POP\nRetourne l'écart type de population des valeurs en entrée dans le champ field_name.\n\n```\nSTDDEV_POP(field_name) \n```\n- field_name : champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, STDDEV_POP(salary) AS stddev FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevsampFunction.markdown": "### STDDEV_SAMP\nRetourne l'écart type de l'échantillon des valeurs en entrée dans le champ field_name.\n\n```\nSTDDEV_SAMP(field_name) \n```\n- field_name : champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, STDDEV_SAMP(salary) AS stddev FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.subtractOperator.markdown": "### Subtract (infix -)\n```\nSELECT 1 - 1 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumFunction.markdown": "### SUM\nRetourne la somme des valeurs en entrée dans le champ field_name.\n\n```\nSUM(field_name) \n```\n- champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT SUM(salary) AS sum FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumofsquaresFunction.markdown": "### SUM_OF_SQUARES\nRetourne la somme des carrés des valeurs en entrée dans le champ field_name.\n\n```\nSUM_OF_SQUARES(field_name) \n```\n- field_name : champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, SUM_OF_SQUARES(salary) AS sumsq\n FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.varpopFunction.markdown": "### VAR_POP\nRetourne la variance de population des valeurs en entrée dans le champ field_name.\n\n```\nVAR_POP(field_name) \n```\n- field_name : champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, VAR_POP(salary) AS varpop FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.varsampFunction.markdown": "### VAR_SAMP\nRetourne la variance de l'échantillon de valeurs en entrée dans le champ field_name.\n\n```\nVAR_SAMP(field_name) \n```\n- field_name : champ numérique. Si ce champ contient uniquement des valeurs nulles, la fonction renvoie zéro. Sinon, la fonction ignore les valeurs nulles dans ce champ.\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, VAR_SAMP(salary) AS varsamp FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.aggregateFunctions": "Fonctions agrégées", - "textBasedEditor.query.textBasedLanguagesEditor.aggregateFunctionsDocumentationDescription": "Fonctions permettant de calculer un résultat unique à partir d'un ensemble de valeurs d'entrée. Elasticsearch SQL ne prend en charge les fonctions agrégées que parallèlement au regroupement (implicite ou explicite).", - "textBasedEditor.query.textBasedLanguagesEditor.comparisonOperators": "Opérateurs de comparaison", - "textBasedEditor.query.textBasedLanguagesEditor.comparisonOperatorsDocumentationDescription": "Opérateur booléen pour une comparaison par rapport à une ou plusieurs expressions.", - "textBasedEditor.query.textBasedLanguagesEditor.disableWordWrapLabel": "Désactiver le renvoi à la ligne des mots", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.AddOperator": "Ajouter", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.AndOperator": "AND", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.averageFunction": "Moyenne", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.between": "Entre", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.comparison": "Comparaison", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countAllFunction": "Count (All)", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countDistinctFunction": "Count (Distinct)", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countFunction": "Décompte", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.divideOperator": "Divide", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.equality": "Equality", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.firstFunction": "First / First_value", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.inequality": "Inequality", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.inOperator": "IN", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.kurtosisFunction": "Kurtosis", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.lastFunction": "Last / Last_value", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.madFunction": "Mad", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.maxFunction": "Max.", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.minFunction": "Min.", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.moduloOperator": "Modulo or remainder", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.multiplyOperator": "Multiplier", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.negateOperator": "Negate", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.NotOperator": "NON", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullNotNull": "IS NULL et IS NOT NULL", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullSafeEquality": "Null safe equality (<=>)", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.OrOperator": "OR", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileFunction": "Centile", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileRankFunction": "Rang centile", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.skewnessFunction": "Skewness", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevpopFunction": "STDDEV_POP", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevsampFunction": "STDDEV_SAMP", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.SubtractOperator": "Subtract", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumFunction": "Somme", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumofsquaresFunction": "Sum of squares", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.varpopFunction": "VAR_POP", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.varsampFunction": "VAR_SAMP", - "textBasedEditor.query.textBasedLanguagesEditor.documentationLabel": "Documentation", - "textBasedEditor.query.textBasedLanguagesEditor.EnableWordWrapLabel": "Activer le renvoi à la ligne des mots", - "textBasedEditor.query.textBasedLanguagesEditor.errorsTitle": "Erreurs", - "textBasedEditor.query.textBasedLanguagesEditor.expandTooltip": "Développer l’éditeur de requête", - "textBasedEditor.query.textBasedLanguagesEditor.howItWorks": "Fonctionnement", - "textBasedEditor.query.textBasedLanguagesEditor.logicalOperators": "Opérateurs logiques", - "textBasedEditor.query.textBasedLanguagesEditor.logicalOperatorsDocumentationDescription": "Opérateur booléen permettant d'évaluer une ou deux expressions.", - "textBasedEditor.query.textBasedLanguagesEditor.mathOperators": "Opérateurs mathématiques", - "textBasedEditor.query.textBasedLanguagesEditor.mathOperatorsDocumentationDescription": "Effectuer des opérations mathématiques affectant une ou deux valeurs. Le résultat est une valeur de type numérique.", - "textBasedEditor.query.textBasedLanguagesEditor.MinimizeEditor": "Réduire l'éditeur", - "textBasedEditor.query.textBasedLanguagesEditor.minimizeTooltip": "Réduire l’éditeur de requête", - "textBasedEditor.query.textBasedLanguagesEditor.runQuery": "Exécuter la requête", "userProfileComponents.userProfilesSelectable.limitReachedMessage": "Vous avez sélectionné la limite maximale de {count, plural, one {# utilisateur} many {# utilisateurs} other {# utilisateurs}}", "userProfileComponents.userProfilesSelectable.selectedStatusMessage": "{count, plural, one {# utilisateur sélectionné} many {# utilisateurs sélectionnés} other {# utilisateurs sélectionnés}}", "userProfileComponents.userProfilesSelectable.clearButtonLabel": "Retirer tous les utilisateurs", @@ -6032,7 +6094,7 @@ "visDefaultEditor.controls.ranges.fromLabel": "De", "visDefaultEditor.controls.ranges.greaterThanOrEqualPrepend": "≥", "visDefaultEditor.controls.ranges.greaterThanOrEqualTooltip": "Supérieur ou égal à", - "visDefaultEditor.controls.ranges.lessThanPrepend": "<", + "visDefaultEditor.controls.ranges.lessThanPrepend": "<", "visDefaultEditor.controls.ranges.lessThanTooltip": "Inférieur à", "visDefaultEditor.controls.ranges.toLabel": "À", "visDefaultEditor.controls.rowsLabel": "Lignes", @@ -6262,8 +6324,8 @@ "visTypeTimeseries.colorRules.greaterThanLabel": "> supérieur à", "visTypeTimeseries.colorRules.greaterThanOrEqualLabel": ">= supérieur ou égal à", "visTypeTimeseries.colorRules.ifMetricIsLabel": "si l'indicateur est", - "visTypeTimeseries.colorRules.lessThanLabel": "< inférieur à", - "visTypeTimeseries.colorRules.lessThanOrEqualLabel": "<= inférieur ou égal à", + "visTypeTimeseries.colorRules.lessThanLabel": "< inférieur à", + "visTypeTimeseries.colorRules.lessThanOrEqualLabel": "<= inférieur ou égal à", "visTypeTimeseries.colorRules.valueAriaLabel": "Valeur", "visTypeTimeseries.cumulativeSum.aggregationLabel": "Agrégation", "visTypeTimeseries.cumulativeSum.metricLabel": "Indicateur", @@ -6905,6 +6967,7 @@ "visualizations.confirmModal.overwriteConfirmationMessage": "Voulez-vous vraiment écraser {title} ?", "visualizations.confirmModal.overwriteTitle": "Écraser {name} ?", "visualizations.confirmModal.saveDuplicateConfirmationMessage": "L'enregistrement de \"{name}\" crée un doublon de titre. Voulez-vous tout de même enregistrer ?", + "visualizations.editVisualization.readOnlyErrorMessage": "Les visualisations {visTypeTitle} sont en lecture seule et ne peuvent pas être ouvertes dans l’éditeur", "visualizations.embeddable.legacyURLConflict.errorMessage": "Cette visualisation a la même URL qu'un alias hérité. Désactiver l'alias pour résoudre cette erreur : {json}", "visualizations.experimentalVisInfoText": "Elle pourra être modifiée ou supprimée totalement dans une prochaine version. Elastic s'efforcera au maximum de corriger tout problème, mais les fonctionnalités en version d'évaluation technique ne sont pas soumises aux accords de niveau de service d'assistance des fonctionnalités officielles en disponibilité générale. Pour apporter des commentaires, veuillez créer une entrée dans {githubLink}.", "visualizations.fallbackDataView.label": "{type} introuvable", @@ -7028,6 +7091,41 @@ "visualizations.visualizeListingBreadcrumbsTitle": "Bibliothèque Visualize", "visualizations.visualizeListingDashboardAppName": "Application Tableau de bord", "visualizations.visualizeListingDeleteErrorTitle": "Erreur lors de la suppression de la visualisation", + "visualizationUiComponents.dimensionButton.editConfig": "Modifier la configuration {label}", + "visualizationUiComponents.dimensionButton.removeColumnLabel": "Retirer la configuration de \"{groupLabel}\"", + "visualizationUiComponents.dimensionButtonIcon.colorIndicatorLabel": "Couleur de cette dimension : {hex}", + "visualizationUiComponents.queryInput.queryPlaceholderKql": "{example}", + "visualizationUiComponents.queryInput.queryPlaceholderLucene": "{example}", + "visualizationUiComponents.colorPicker.seriesColor.auto": "Auto", + "visualizationUiComponents.colorPicker.seriesColor.label": "Couleur de la série", + "visualizationUiComponents.colorPicker.tooltip.auto": "Lens choisit automatiquement des couleurs à votre place sauf si vous spécifiez une couleur personnalisée.", + "visualizationUiComponents.colorPicker.tooltip.custom": "Effacez la couleur personnalisée pour revenir au mode \"Auto\".", + "visualizationUiComponents.configure.invalidConfigTooltip": "Configuration non valide.", + "visualizationUiComponents.configure.invalidConfigTooltipClick": "Cliquez pour en savoir plus.", + "visualizationUiComponents.customBucketContainer.dragToReorder": "Faire glisser pour réorganiser", + "visualizationUiComponents.dimensionButtonIcon.aggregateIndicatorLabel": "Cette dimension n'est pas visible dans le graphique car toutes les valeurs individuelles sont agrégées en une valeur unique", + "visualizationUiComponents.dimensionButtonIcon.customIconIndicatorLabel": "Cette dimension utilise une icône personnalisée", + "visualizationUiComponents.dimensionButtonIcon.invisibleIndicatorLabel": "Cette dimension n'est pas visible actuellement dans le graphique", + "visualizationUiComponents.dimensionButtonIcon.noColorIndicatorLabel": "Cette dimension n'a pas de couleur individuelle", + "visualizationUiComponents.dimensionButtonIcon.paletteColorIndicatorLabel": "Cette dimension utilise une palette", + "visualizationUiComponents.emptyTitle": "[Sans titre]", + "visualizationUiComponents.fieldPicker.fieldPlaceholder": "Sélectionner un champ", + "visualizationUiComponents.fieldsBucketContainer.deleteButtonDisabled": "Au moins un élément est requis.", + "visualizationUiComponents.fieldsBucketContainer.dragHandleDisabled": "La réorganisation requiert plusieurs éléments.", + "visualizationUiComponents.fieldsBucketContainer.dragToReorder": "Faire glisser pour réorganiser", + "visualizationUiComponents.filterQueryInput.clickToEdit": "Cliquer pour modifier", + "visualizationUiComponents.filterQueryInput.emptyFilterQuery": "(vide)", + "visualizationUiComponents.filterQueryInput.label": "Filtrer par", + "visualizationUiComponents.iconSelect.label": "Décoration de l’icône", + "visualizationUiComponents.lineMarker.textVisibility": "Décoration du texte", + "visualizationUiComponents.nameInput.columnLabel": "Nom", + "visualizationUiComponents.xyChart.lineMarker.textVisibility.field": "Champ", + "visualizationUiComponents.xyChart.lineMarker.textVisibility.name": "Nom", + "visualizationUiComponents.xyChart.lineMarker.textVisibility.none": "Aucun", + "visualizationUiComponents.xyChart.lineStyle.dashed": "Tirets", + "visualizationUiComponents.xyChart.lineStyle.dotted": "Pointillé", + "visualizationUiComponents.xyChart.lineStyle.label": "Ligne", + "visualizationUiComponents.xyChart.lineStyle.solid": "Uni", "xpack.actions.actionsClient.invalidDate": "Date non valide pour le {field} de paramètre : \"{dateValue}\"", "xpack.actions.actionTypeRegistry.get.missingActionTypeErrorMessage": "Le type d'action \"{id}\" n'est pas enregistré.", "xpack.actions.actionTypeRegistry.register.duplicateActionTypeErrorMessage": "Le type d'action \"{id}\" est déjà enregistré.", @@ -7050,6 +7148,7 @@ "xpack.actions.availableConnectorFeatures.cases": "Cas", "xpack.actions.availableConnectorFeatures.compatibility.alertingRules": "Règles d'alerting", "xpack.actions.availableConnectorFeatures.compatibility.cases": "Cas", + "xpack.actions.availableConnectorFeatures.compatibility.general": "Général", "xpack.actions.availableConnectorFeatures.securitySolution": "Solution de sécurité", "xpack.actions.availableConnectorFeatures.uptime": "Uptime", "xpack.actions.builtin.cases.jiraTitle": "Jira", @@ -7059,6 +7158,7 @@ "xpack.aiops.analysis.errorCallOutTitle": "{errorCount, plural, one {erreur} many {erreurs} other {erreurs}} lors de l'analyse.", "xpack.aiops.categorizeFlyout.title": "Analyse du modèle de {name}", "xpack.aiops.changePointDetection.cardinalityWarningMessage": "La cardinalité du champ \"{splitField}\" est {cardinality}, ce qui dépasse la limite de {cardinalityLimit}. Seules les {cardinalityLimit} premières partitions, triées par nombre de documents, sont analysées.", + "xpack.aiops.dataViewNotBasedOnTimeSeriesWarning.title": "La vue de données \"{dataViewTitle}\" n'est pas basée sur une série temporelle.", "xpack.aiops.explainLogRateSpikes.loadingState.identifiedFieldCandidates": "{fieldCandidatesCount, plural, one {# champ candidat a été identifié} many {# champs candidats ont été identifiés} other {# champs candidats ont été identifiés}}.", "xpack.aiops.explainLogRateSpikes.loadingState.identifiedFieldValuePairs": "{fieldValuePairsCount, plural, one {# paire champ/valeur significative a été identifiée} many {# paires champ/valeur significatives ont été identifiées} other {# paires champ/valeur significatives ont été identifiées}}.", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.groupColumnTooltip": "Affiche jusqu'à {maxItemCount} éléments de groupe triés par unicité et nombre de documents. Développez la ligne pour voir toutes les paires champ/valeur.", @@ -7069,10 +7169,10 @@ "xpack.aiops.index.errorLoadingDataMessage": "Erreur lors du chargement des données dans l'index {index}. {message}.", "xpack.aiops.logCategorization.counts": "{count} modèles trouvés", "xpack.aiops.logCategorization.filterAliasLabel": "Catégorisation - {field}", - "xpack.aiops.logCategorization.filterIn": "Filtrer sur {values, plural, one {un modèle} many {des modèles} other {des modèles}} dans Discover", - "xpack.aiops.logCategorization.filterOut": "Exclure {values, plural, one {un modèle} many {des modèles} other {des modèles}} dans Discover", - "xpack.aiops.logCategorization.flyout.filterIn": "Filtrer sur {values, plural, one {un modèle} many {des modèles} other {des modèles}}", - "xpack.aiops.logCategorization.flyout.filterOut": "Exclure {values, plural, one {un modèle} many {des modèles} other {des modèles}}", + "xpack.aiops.logCategorization.filterIn": "Filtrer sur {values, plural, one {un modèle} many {Modèles d'indexation manquants} other {des modèles}} dans Discover", + "xpack.aiops.logCategorization.filterOut": "Exclure {values, plural, one {un modèle} many {Modèles d'indexation manquants} other {des modèles}} dans Discover", + "xpack.aiops.logCategorization.flyout.filterIn": "Filtrer sur {values, plural, one {un modèle} many {Modèles d'indexation manquants} other {des modèles}}", + "xpack.aiops.logCategorization.flyout.filterOut": "Exclure {values, plural, one {un modèle} many {Modèles d'indexation manquants} other {des modèles}}", "xpack.aiops.logCategorization.randomSamplerSettingsPopUp.probabilityLabel": "Probabilité utilisée : {samplingProbability} %", "xpack.aiops.logCategorization.selectedCounts": " | {count} sélectionné(s)", "xpack.aiops.progressTitle": "Progression : {progress} % — {progressMessage}", @@ -7083,6 +7183,7 @@ "xpack.aiops.analysis.fieldSelectorAriaLabel": "Champs de filtre", "xpack.aiops.analysis.fieldSelectorNotEnoughFieldsSelected": "Le regroupement nécessite la sélection d'au moins 2 champs.", "xpack.aiops.analysis.fieldSelectorPlaceholder": "Recherche", + "xpack.aiops.analysisCompleteLabel": "Analyse terminée", "xpack.aiops.cancelAnalysisButtonTitle": "Annuler", "xpack.aiops.categorizeFieldAction.displayName": "Catégoriser le champ", "xpack.aiops.categorizeFlyout.loading.title": "Chargement de l'analyse du modèle", @@ -7120,6 +7221,7 @@ "xpack.aiops.changePointDetection.typeColumn": "Type", "xpack.aiops.changePointDetection.viewSelectedButtonLabel": "Vue sélectionnée", "xpack.aiops.changePointDetection.viewSelectedChartsToltip": "Sélectionnez les points de modification pour les afficher en détail.", + "xpack.aiops.changePointTimeSeriesWarning.description": "La détection des points de modification ne s'exécute que sur des index temporels.", "xpack.aiops.correlations.highImpactText": "Élevé", "xpack.aiops.correlations.lowImpactText": "Bas", "xpack.aiops.correlations.mediumImpactText": "Moyenne", @@ -7142,14 +7244,14 @@ "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.impactLabelColumnTooltip": "Le niveau d'impact du champ sur la différence de taux de messages.", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.logRateColumnTooltip": "Une représentation visuelle de l'impact du champ sur la différence de taux de messages", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.logRateLabel": "Taux du log", - "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.pValueColumnTooltip": "L'importance de changements dans la fréquence des valeurs ; des valeurs plus faibles indiquent un changement plus important.", + "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.pValueColumnTooltip": "Une différence de fréquence des valeurs, surtout si celles-ci sont plus faibles, indique un changement important. Ordonner un tri de cette colonne entraînera automatiquement un tri secondaire sur la colonne \"nombre de documents\"..", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.pValueLabel": "valeur-p", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.uniqueColumnTooltip": "Cette paire champ/valeur apparaît uniquement dans ce groupe", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.groupLabel": "Regrouper", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.impactLabelColumnTooltip": "Niveau d'impact du groupe sur la différence de taux de messages", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.logRateColumnTooltip": "Représentation visuelle de l'impact du groupe sur la différence de taux de messages.", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.logRateLabel": "Taux du log", - "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.pValueColumnTooltip": "L'importance de changements dans la fréquence des valeurs ; des valeurs plus faibles indiquent un changement plus important.", + "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.pValueColumnTooltip": "Une différence de fréquence des valeurs, surtout si celles-ci sont plus faibles, indique un changement important. Ordonner un tri de cette colonne entraînera automatiquement un tri secondaire sur la colonne \"nombre de documents\"..", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.pValueLabel": "valeur-p", "xpack.aiops.explainLogRateSpikesPage.emptyPromptBody": "La fonction Expliquer les pics de taux de log identifie les combinaisons champ/valeur statistiquement significatives qui contribuent à un pic de taux de log.", "xpack.aiops.explainLogRateSpikesPage.emptyPromptTitle": "Cliquez sur un pic dans l'histogramme pour lancer l'analyse.", @@ -7194,20 +7296,26 @@ "xpack.aiops.logCategorization.randomSamplerSettingsPopUp.randomSamplerPercentageRowLabel": "Pourcentage d'échantillonnage", "xpack.aiops.logCategorization.randomSamplerSettingsPopUp.randomSamplerRowLabel": "Échantillonnage aléatoire", "xpack.aiops.logCategorization.runButton": "Exécuter l'analyse du modèle", + "xpack.aiops.logCategorizationTimeSeriesWarning.description": "L'analyse du modèle de log ne fonctionne que sur des index temporels.", + "xpack.aiops.logRateSpikesTimeSeriesWarning.description": "Les pics de taux de log ne fonctionnent que sur des index temporels.", "xpack.aiops.miniHistogram.noDataLabel": "S. O.", "xpack.aiops.progressAriaLabel": "Progression", - "xpack.aiops.rerunAnalysisButtonTitle": "Relancer l’analyse", + "xpack.aiops.rerunAnalysisButtonTitle": "Lancer l'analyse", "xpack.aiops.rerunAnalysisTooltipContent": "Les données d'analyse sont peut-être obsolètes en raison de la mise à jour de la sélection. Relancez l'analyse.", + "xpack.aiops.resetLabel": "Réinitialiser", "xpack.aiops.searchPanel.invalidSyntax": "Syntaxe non valide", "xpack.aiops.searchPanel.queryBarPlaceholderText": "Rechercher… (par exemple, status:200 AND extension:\"PHP\")", + "xpack.aiops.spikeAnalysisGroupsTable.actionsColumnName": "Actions", "xpack.aiops.spikeAnalysisPage.documentCountStatsSplitGroupLabel": "Groupe sélectionné", "xpack.aiops.spikeAnalysisTable.actionsColumnName": "Actions", "xpack.aiops.spikeAnalysisTable.autoGeneratedDiscoverLinkErrorMessage": "Liaison avec Discover impossible ; aucune vue de données n'existe pour cet index", "xpack.aiops.spikeAnalysisTable.autoGeneratedLogPatternAnalysisLinkErrorMessage": "Liaison avec l'analyse de modèle de log impossible ; aucune vue de données n'existe pour cet index", "xpack.aiops.spikeAnalysisTable.discoverLocatorMissingErrorMessage": "Aucun localisateur pour Discover détecté", "xpack.aiops.spikeAnalysisTable.discoverNotEnabledErrorMessage": "Discover n'est pas activé", - "xpack.aiops.spikeAnalysisTable.groupedSwitchLabel.groupResults": "Résultats du groupe", + "xpack.aiops.spikeAnalysisTable.groupedSwitchLabel.groupResults": "Regroupement intelligent", "xpack.aiops.spikeAnalysisTable.groupedSwitchLabel.groupResultsHelpMessage": "Les éléments qui sont propres à un groupe sont marqués d'un astérisque (*).", + "xpack.aiops.spikeAnalysisTable.groupedSwitchLabel.groupResultsOff": "Désactivé", + "xpack.aiops.spikeAnalysisTable.groupedSwitchLabel.groupResultsOn": "Activé", "xpack.aiops.spikeAnalysisTable.linksMenu.copyToClipboardButtonLabel": "Copier dans le presse-papiers", "xpack.aiops.spikeAnalysisTable.linksMenu.copyToClipboardGroupMessage": "Copier les éléments de groupe en tant que syntaxe KQL dans le Presse-papiers", "xpack.aiops.spikeAnalysisTable.linksMenu.copyToClipboardSignificantTermMessage": "Copier la paire clé-valeur en tant que syntaxe KQL dans le Presse-papiers", @@ -7279,7 +7387,7 @@ "xpack.alerting.breadcrumbs.stackManagementLinkText": "Gestion de la Suite", "xpack.alerting.builtinActionGroups.recovered": "Récupéré", "xpack.alerting.feature.flappingSettingsSubFeatureName": "Détection de bagotement", - "xpack.alerting.feature.maintenanceWindowFeatureName": "Fenêtre de maintenance", + "xpack.alerting.feature.maintenanceWindowFeatureName": "Fenêtres de maintenance", "xpack.alerting.feature.rulesSettingsFeatureName": "Paramètres des règles", "xpack.alerting.getMaintenanceWindowFailure": "Impossible d'obtenir la fenêtre de maintenance.", "xpack.alerting.injectActionParams.email.kibanaFooterLinkText": "Afficher la règle dans Kibana", @@ -7290,13 +7398,16 @@ "xpack.alerting.maintenanceWindows.archiveCallout.subtitle": "Les modifications que vous avez apportées ici ne seront pas enregistrées. Voulez-vous vraiment abandonner ces modifications non enregistrées et archiver cette fenêtre de maintenance ?", "xpack.alerting.maintenanceWindows.badge.experimentalDescription": "Cette fonctionnalité est en version d'évaluation technique et pourra être modifiée ou retirée complètement dans une future version. Elastic s'efforcera au maximum de corriger tout problème, mais les fonctionnalités en version d'évaluation technique ne sont pas soumises aux accords de niveau de service d'assistance des fonctionnalités officielles en disponibilité générale.", "xpack.alerting.maintenanceWindows.badge.experimentalLabel": "Version d'évaluation technique", + "xpack.alerting.maintenanceWindows.badge.readOnly.text": "Lecture seule", + "xpack.alerting.maintenanceWindows.badge.readOnly.tooltip": "Impossible de créer ou de modifier des fenêtres de maintenance", "xpack.alerting.maintenanceWindows.cancelAndArchiveModal.subtitle": "Les notifications de règle reprennent immédiatement. L'ensemble des événements de fenêtre de maintenance à venir et en cours d'exécution sont annulés et la fenêtre est mise en file d'attente pour suppression.", "xpack.alerting.maintenanceWindows.cancelAndArchiveModal.title": "Annuler et archiver la fenêtre de maintenance", "xpack.alerting.maintenanceWindows.cancelModal.button": "Continuer l'exécution", "xpack.alerting.maintenanceWindows.cancelModal.subtitle": "Les notifications de règle reprennent immédiatement. Les événements de fenêtre de maintenance en cours d'exécution sont annulés ; les événements à venir ne sont pas affectés.", "xpack.alerting.maintenanceWindows.cancelModal.title": "Annuler la fenêtre de maintenance", - "xpack.alerting.maintenanceWindows.create.description": "Planifiez une période unique ou récurrente dans laquelle les notifications de règle cessent et les alertes sont en mode maintenance.", + "xpack.alerting.maintenanceWindows.create.description": "Planifiez une période unique ou récurrente dans laquelle les nouvelles alertes n’envoient pas de notifications.", "xpack.alerting.maintenanceWindows.create.maintenanceWindow": "Créer la fenêtre de maintenance", + "xpack.alerting.maintenanceWindows.createForm.byweekdayFieldRequiredError": "Un jour ouvré est nécessaire.", "xpack.alerting.maintenanceWindows.createForm.cancel": "Annuler", "xpack.alerting.maintenanceWindows.createForm.count.after": "Après", "xpack.alerting.maintenanceWindows.createForm.count.occurrence": "occurrence", @@ -7324,7 +7435,12 @@ "xpack.alerting.maintenanceWindows.emptyPrompt.description": "Planifiez une période pendant laquelle les notifications de règle cessent.", "xpack.alerting.maintenanceWindows.emptyPrompt.documentation": "Documentation", "xpack.alerting.maintenanceWindows.emptyPrompt.title": "Créer votre première fenêtre de maintenance", + "xpack.alerting.maintenanceWindows.licenseCallout.startTrial": "Commencer l'essai", + "xpack.alerting.maintenanceWindows.licenseCallout.updgradeToPlatinumTitle": "Les fenêtres de maintenance sont une fonctionnalité soumise à abonnement", + "xpack.alerting.maintenanceWindows.licenseCallout.upgradeSubscription": "Mettre à niveau l'abonnement", + "xpack.alerting.maintenanceWindows.licenseCallout.upgradeToPlatinumSubtitle": "Sélectionnez une option pour la déverrouiller.", "xpack.alerting.maintenanceWindows.name": "Nom", + "xpack.alerting.maintenanceWindows.refreshButton": "Actualiser", "xpack.alerting.maintenanceWindows.returnLink": "Renvoyer", "xpack.alerting.maintenanceWindows.save.maintenanceWindow": "Enregistrer la fenêtre de maintenance", "xpack.alerting.maintenanceWindows.table.alerts": "Alertes", @@ -7377,7 +7493,9 @@ "xpack.apm.agentExplorerInstanceTable.agentVersionColumnLabel.multipleVersions": "{versionsCount, plural, one {1 version} many {# versions} other {# versions}}", "xpack.apm.agentExplorerInstanceTable.noServiceNodeName.tooltip.linkToDocs": "Vous pouvez configurer le nom du nœud de service via {seeDocs}.", "xpack.apm.agentExplorerTable.agentVersionColumnLabel.multipleVersions": "{versionsCount, plural, one {1 version} many {# versions} other {# versions}}", + "xpack.apm.alertDetails.latencyAlertHistoryChart.error.toastDescription": "Une erreur s’est produite lors de la récupération des données graphiques de l’historique d’alertes de latence pour {serviceName}", "xpack.apm.alerts.anomalySeverity.scoreDetailsDescription": "Score de {value} {value, select, critical {} other {et supérieur}}", + "xpack.apm.alerts.timeLabelForData": "Dernier {lookback} {timeLabel} de données montrant les groupes {displayedGroups}/{totalGroups}", "xpack.apm.alertTypes.errorCount.reason": "Le nombre d'erreurs est {measured} dans le dernier {interval} pour {group}. Alerte lorsque > {threshold}.", "xpack.apm.alertTypes.minimumWindowSize.description": "La valeur minimale recommandée est {sizeValue} {sizeUnit}. Elle permet de s'assurer que l'alerte comporte suffisamment de données à évaluer. Si vous choisissez une valeur trop basse, l'alerte ne se déclenchera peut-être pas comme prévu.", "xpack.apm.alertTypes.transactionDuration.reason": "La latence de {aggregationType} est {measured} dans le dernier {interval} pour {group}. Alerte lorsque > {threshold}.", @@ -7410,10 +7528,37 @@ "xpack.apm.instancesLatencyDistributionChartTooltipInstancesTitle": "{instancesCount} {instancesCount, plural, one {instance} many {instances} other {instances}}", "xpack.apm.itemsBadge.placeholder": "{itemsCount, plural, one {1 élément} many {Éléments #} other {Éléments #}}", "xpack.apm.kueryBar.placeholder": "Rechercher {event, select, transaction {transactions} metric {indicateurs} error {erreurs} other {transactions, erreurs et indicateurs}} (par exemple {queryExample})", + "xpack.apm.onboarding.apiKey.error.calloutMessage": "Erreur : {errorMessage}", + "xpack.apm.onboarding.apiKey.warning.calloutMessage": "L’utilisateur n’a pas le privilège suivant :{missingPrivilege}. Veuillez ajouter le privilège d’application APM manquant au rôle de l’utilisateur authentifié", + "xpack.apm.onboarding.config_otel.description1": "(1) Les agents et SDK OpenTelemetry doivent prendre en charge les variables {otelExporterOtlpEndpoint}, {otelExporterOtlpHeaders} et {otelResourceAttributes}. Il se peut que certains composants instables ne répondent pas encore à cette exigence.", + "xpack.apm.onboarding.config_otel.description3": "La liste exhaustive des variables d'environnement, les paramètres de ligne de commande et les extraits de code de configuration (conformes à la spécification OpenTelemetry) se trouvent dans le {otelInstrumentationGuide}. Certains clients OpenTelemetry instables peuvent ne pas prendre en charge toutes les fonctionnalités et nécessitent peut-être d'autres mécanismes de configuration.", + "xpack.apm.onboarding.django.configure.textPost": "Consultez la [documentation]({documentationLink}) pour une utilisation avancée.", + "xpack.apm.onboarding.dotNet.configureAgent.textPost": "Si vous ne transférez pas une instance \"IConfiguration\" à l'agent (par ex., pour les applications non ASP.NET Core) vous pouvez également configurer l'agent par le biais de variables d'environnement. \n Pour une utilisation avancée, consultez [la documentation]({documentationLink}), qui comprend notamment le guide de démarrage rapide pour l'[instrumentation de Profiler Auto]({profilerLink}).", + "xpack.apm.onboarding.dotNet.download.textPre": "Ajoutez le(s) package(s) d'agent depuis [NuGet]({allNuGetPackagesLink}) à votre application .NET. Plusieurs packages NuGet sont disponibles pour différents cas d'utilisation. \n\nPour une application ASP.NET Core avec Entity Framework Core, téléchargez le package [Elastic.Apm.NetCoreAll]({netCoreAllApmPackageLink}). Ce package ajoutera automatiquement chaque composant d'agent à votre application. \n\n Si vous souhaitez minimiser les dépendances, vous pouvez utiliser le package [Elastic.Apm.AspNetCore]({aspNetCorePackageLink}) uniquement pour le monitoring d'ASP.NET Core ou le package [Elastic.Apm.EfCore]({efCorePackageLink}) uniquement pour le monitoring d'Entity Framework Core. \n\n Si vous souhaitez seulement utiliser l'API d'agent publique pour l'instrumentation manuelle, utilisez le package [Elastic.Apm]({elasticApmPackageLink}).", + "xpack.apm.onboarding.flask.configure.textPost": "Consultez la [documentation]({documentationLink}) pour une utilisation avancée.", + "xpack.apm.onboarding.go.configure.textPost": "Consultez la [documentation]({documentationLink}) pour une configuration avancée.", + "xpack.apm.onboarding.go.instrument.textPost": "Consultez la [documentation]({documentationLink}) pour obtenir un guide détaillé pour l'instrumentation du code source Go.", + "xpack.apm.onboarding.java.download.textPre": "Téléchargez le fichier jar de l'agent depuis [Maven Central]({mavenCentralLink}). N'ajoutez **pas** l'agent comme dépendance de votre application.", + "xpack.apm.onboarding.java.startApplication.textPost": "Consultez la [documentation]({documentationLink}) pour découvrir les options de configuration et l’utilisation avancée.", + "xpack.apm.onboarding.java.startApplication.textPre": "Ajoutez l'indicateur \"-javaagent\" et configurez l'agent avec les propriétés du système.\n\n * Définir le nom de service requis (caractères autorisés : a-z, A-Z, 0-9, -, _ et espace)\n * Définir l'URL personnalisée du serveur APM (par défaut : {customApmServerUrl})\n * Définir le token secret du serveur APM\n * Définir l'environnement de service\n * Définir le package de base de votre application", + "xpack.apm.onboarding.node.configure.textPost": "Consultez [la documentation]({documentationLink}) pour une utilisation avancée, notamment pour savoir comment l'utiliser avec [les modules Babel/ES]({babelEsModulesLink}).", + "xpack.apm.onboarding.otel.configureAgent.textPost": "Consultez la [documentation]({documentationLink}) pour découvrir les options de configuration et l'utilisation avancée.\n\n", + "xpack.apm.onboarding.otel.configureAgent.textPre": "Spécifiez les paramètres OpenTelemetry suivants dans le cadre du démarrage de votre application. Notez que les SDK OpenTelemetry exigent du code de démarrage en plus de ces paramètres de configuration. Pour plus de détails, consultez la [documentation OpenTelemetry Elastic]({openTelemetryDocumentationLink}) et les [guides d'instrumentation OpenTelemetry]({openTelemetryInstrumentationLink}).", + "xpack.apm.onboarding.otel.download.textPre": "Consultez les [guides d'instrumentation OpenTelemetry]({openTelemetryInstrumentationLink}) pour télécharger l'agent ou le SDK OpenTelemetry pour votre langage.", + "xpack.apm.onboarding.php.configureAgent.textPost": "Consultez la [documentation]({documentationLink}) pour découvrir les options de configuration et l'utilisation avancée.\n\n", + "xpack.apm.onboarding.php.download.textPre": "Téléchargez le package correspondant à votre plateforme depuis les [publications GitHub]({githubReleasesLink}).", + "xpack.apm.onboarding.php.installPackage.textPost": "Consultez la [documentation]({documentationLink}) pour les commandes d'installation sur les autres plateformes prises en charge et pour l'installation avancée.", + "xpack.apm.onboarding.rack.configure.textPost": "Consultez la [documentation]({documentationLink}) pour découvrir les options de configuration et l'utilisation avancée.\n\n", + "xpack.apm.onboarding.rack.createConfig.textPre": "Créer un fichier de configuration {configFile} :", + "xpack.apm.onboarding.rails.configure.textPost": "Consultez la [documentation]({documentationLink}) pour découvrir les options de configuration et l'utilisation avancée.\n\n", + "xpack.apm.onboarding.rails.configure.textPre": "APM se lance automatiquement au démarrage de l'application. Configurer l'agent, en créant le fichier de configuration {configFile}", + "xpack.apm.onboarding.shared_clients.configure.commands.serverUrlHint": "Définir l'URL personnalisée du serveur APM (par défaut : {defaultApmServerUrl}). L'URL doit être complète et inclure le protocole (http ou https) et le port.", + "xpack.apm.onboarding.specProvider.longDescription": "Le monitoring des performances applicatives (APM) collecte les indicateurs et les erreurs de performance approfondies depuis votre application. Cela vous permet de monitorer les performances de milliers d'applications en temps réel. [En savoir plus]({learnMoreLink}).", "xpack.apm.propertiesTable.agentFeature.noResultFound": "Aucun résultat pour \"{value}\".", + "xpack.apm.runtimeMetricsJsonDashboards.loadFailure.toast.title": "Erreur lors du chargement du tableau de bord pour l’agent \"{agentName}\" sur l’exécution \"{runtimeName}\".", "xpack.apm.serverlessMetrics.summary.lambdaFunctions": "{serverlessFunctionsTotal, plural, one {fonction} many {Fonctions} other {Fonctions}} lambda", "xpack.apm.serviceGroups.cardsList.alertCount": "{alertsCount} {alertsCount, plural, one {alerte} many {alertes} other {alertes}}", - "xpack.apm.serviceGroups.cardsList.serviceCount": "{servicesCount} {servicesCount, plural, one {service} many {services} other {services}}", + "xpack.apm.serviceGroups.cardsList.serviceCount": "{servicesCount} {servicesCount, plural, one {service} many {services correspondent à la requête} other {services}}", "xpack.apm.serviceGroups.createFailure.toast.title": "Erreur lors de la création du groupe \"{groupName}\"", "xpack.apm.serviceGroups.createSucess.toast.title": "Groupe \"{groupName}\" créé", "xpack.apm.serviceGroups.deleteFailure.toast.title": "Erreur lors de la suppression du groupe \"{groupName}\"", @@ -7421,7 +7566,7 @@ "xpack.apm.serviceGroups.deleteSuccess.toast.title": "Groupe \"{groupName}\" supprimé", "xpack.apm.serviceGroups.editFailure.toast.title": "Erreur lors de la modification du groupe \"{groupName}\"", "xpack.apm.serviceGroups.editSucess.toast.title": "Groupe \"{groupName}\" modifié", - "xpack.apm.serviceGroups.groupsCount": "{servicesCount} {servicesCount, plural, =0 {groupe} one {regrouper} many {groupes} other {groupes}}", + "xpack.apm.serviceGroups.groupsCount": "{servicesCount} {servicesCount, plural, =0 {groupe} one {regrouper} many {des groupes} other {groupes}}", "xpack.apm.serviceGroups.invalidFields.message": "Le filtre de requête pour le groupe de services ne prend pas en charge les champs [{unsupportedFieldNames}]", "xpack.apm.serviceGroups.selectServicesForm.matchingServiceCount": "{servicesCount} {servicesCount, plural, =0 {service correspond à la requête} one {service correspond à la requête} many {services correspondent à la requête} other {services correspondent à la requête}}", "xpack.apm.serviceGroups.tour.content.link": "Pour en savoir plus, consultez la {docsLink}.", @@ -7460,6 +7605,7 @@ "xpack.apm.spanLinks.combo.parentsLinks": "Liens sortants ({linkedParents})", "xpack.apm.stacktraceTab.libraryFramesToogleButtonLabel": "{count, plural, one {# cadre de la bibliothèque} many {# cadres de la bibliothèque} other {# cadres de la bibliothèque}}", "xpack.apm.storageExplorer.longLoadingTimeCalloutText": "Activez le chargement progressif de données et le tri optimisé pour la liste de services dans {kibanaAdvancedSettingsLink}.", + "xpack.apm.tooltip.maxGroup.message": "La cardinalité des données APM collectées est trop élevée. Veuillez consulter {apmServerDocs} pour atténuer la situation.", "xpack.apm.transactionDetails.errorCount": "{errorCount, number} {errorCount, plural, one {Erreur} many {Erreurs} other {Erreurs}}", "xpack.apm.transactionDetails.transFlyout.callout.agentDroppedSpansMessage": "L'agent APM qui a signalé cette transaction a abandonné {dropped} intervalles ou plus, d'après sa configuration.", "xpack.apm.transactionOverview.treemap.subtitle": "Compartimentage {currentTreemap} affichant le nombre total et les plus utilisés", @@ -7600,6 +7746,8 @@ "xpack.apm.agentConfig.servicePage.service.fieldLabel": "Nom de service", "xpack.apm.agentConfig.servicePage.service.placeholder": "Sélectionner une option", "xpack.apm.agentConfig.servicePage.service.title": "Service", + "xpack.apm.agentConfig.sessionSampleRate.description": "Par défaut, l’agent échantillonnera tous les signaux générés par votre application (par ex. intervalles, indicateurs et logs). Pour réduire la surcharge et les exigences de stockage, vous pouvez définir le taux d'échantillonnage sur une valeur comprise entre 0,0 et 1,0. Si la valeur est réduite à moins de 1, les données seront échantillonnées par session. Ceci permet de ne pas perdre le contexte d’une session donnée.", + "xpack.apm.agentConfig.sessionSampleRate.label": "Taux d'échantillonnage de la session", "xpack.apm.agentConfig.settingsPage.notFound.message": "La configuration demandée n'existe pas", "xpack.apm.agentConfig.settingsPage.notFound.title": "Désolé, une erreur est survenue", "xpack.apm.agentConfig.settingsPage.saveButton": "Enregistrer la configuration", @@ -7704,13 +7852,16 @@ "xpack.apm.agentMetrics.serverless.transactionDuration": "Durée de la transaction", "xpack.apm.aggregatedTransactions.fallback.badge": "Basé sur les transactions échantillonnées", "xpack.apm.aggregatedTransactions.fallback.tooltip": "Cette page utilise les données d'événements de transactions lorsqu'aucun événement d'indicateur n'a été trouvé dans la plage temporelle actuelle, ou lorsqu'un filtre a été appliqué en fonction des champs indisponibles dans les documents des événements d'indicateurs.", + "xpack.apm.alertDetails.error.toastDescription": "Impossible de charger les graphiques de la page de détails d’alerte. Veuillez essayer d’actualiser la page si l’alerte vient d’être créée", + "xpack.apm.alertDetails.error.toastTitle": "Une erreur s’est produite lors de l’identification de la plage temporelle de l’alerte.", + "xpack.apm.alertDetails.latencyAlertHistoryChart.error.toastTitle": "Erreur du graphique d’historique des alertes de latence", "xpack.apm.alerting.fields.environment": "Environnement", "xpack.apm.alerting.fields.error.group.id": "Clé du groupe d'erreurs", "xpack.apm.alerting.fields.service": "Service", "xpack.apm.alerting.fields.transaction.name": "Nom", "xpack.apm.alerting.fields.type": "Type", "xpack.apm.alerting.transaction.name.custom.text": "Ajouter \\{searchValue\\} en tant que nouveau nom de transaction", - "xpack.apm.alerts.action_variables.alertDetailsUrl": "Liaison vers la vue dans Elastic qui affiche davantage de détails et de contexte concernant cette alerte", + "xpack.apm.alerts.action_variables.alertDetailsUrl": "Lien vers l’affichage de résolution des problèmes d’alerte pour voir plus de contextes et de détails. La chaîne sera vide si server.publicBaseUrl n'est pas configuré.", "xpack.apm.alerts.action_variables.environment": "Type de transaction pour lequel l'alerte est créée", "xpack.apm.alerts.action_variables.errorGroupingKey": "La clé de groupe d'erreurs pour laquelle l'alerte est créée", "xpack.apm.alerts.action_variables.intervalSize": "La longueur et l'unité de la période à laquelle les conditions de l'alerte ont été remplies", @@ -7720,18 +7871,28 @@ "xpack.apm.alerts.action_variables.transactionName": "Le nom de transaction pour lequel l'alerte est créée", "xpack.apm.alerts.action_variables.transactionType": "Type de transaction pour lequel l'alerte est créée", "xpack.apm.alerts.action_variables.triggerValue": "Valeur ayant dépassé le seuil et déclenché l'alerte", - "xpack.apm.alerts.action_variables.viewInAppUrl": "Lien vers la vue ou la fonctionnalité d'Elastic qui peut être utilisée pour examiner l'alerte et son contexte de manière plus approfondie", + "xpack.apm.alerts.action_variables.viewInAppUrl": "Lien vers la source de l’alerte", "xpack.apm.alerts.anomalySeverity.criticalLabel": "critique", "xpack.apm.alerts.anomalySeverity.majorLabel": "majeur", "xpack.apm.alerts.anomalySeverity.minor": "mineure", "xpack.apm.alerts.anomalySeverity.warningLabel": "avertissement", + "xpack.apm.alerts.charts.errorMessage": "Oups, un problème est survenu", + "xpack.apm.alerts.charts.noDataMessage": "Aucune donnée graphique disponible", + "xpack.apm.alerts.timeLabels.days": "jours", + "xpack.apm.alerts.timeLabels.hours": "heures", + "xpack.apm.alerts.timeLabels.minutes": "minutes", + "xpack.apm.alerts.timeLabels.seconds": "secondes", "xpack.apm.alertTypes.anomaly.description": "Alerte lorsque la latence, le rendement ou le taux de transactions ayant échoué d'un service est anormal.", - "xpack.apm.alertTypes.errorCount.defaultActionMessage": "L'alerte \\{\\{alertName\\}\\} se déclenche en raison des conditions suivantes :\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\}\n- Valeur de déclenchement : \\{\\{context.triggerValue\\}\\} erreurs sur la dernière période de \\{\\{context.interval\\}\\}", + "xpack.apm.alertTypes.errorCount.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} est actif selon les conditions suivantes :\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Nombre d’erreurs : \\{\\{context.triggerValue\\}\\} erreurs sur la dernière période de \\{\\{context.interval\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\}\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.apm.alertTypes.errorCount.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} a récupéré.\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Nombre d’erreurs : \\{\\{context.triggerValue\\}\\} erreurs sur la dernière période de \\{\\{context.interval\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\}\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.apm.alertTypes.errorCount.description": "Alerte lorsque le nombre d'erreurs d'un service dépasse un seuil défini.", - "xpack.apm.alertTypes.transactionDuration.defaultActionMessage": "L'alerte \\{\\{alertName\\}\\} se déclenche en raison des conditions suivantes :\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Type de transaction : \\{\\{context.transactionType\\}\\}\n- Nom de transaction : \\{\\{context.transactionName\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Seuil de latence : \\{\\{context.threshold\\}\\} ms\n- Latence observée : \\{\\{context.triggerValue\\}\\} sur la dernière période de \\{\\{context.interval\\}\\}", + "xpack.apm.alertTypes.transactionDuration.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} est actif selon les conditions suivantes :\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Type de transaction : \\{\\{context.transactionType\\}\\}\n- Nom de transaction : \\{\\{context.transactionName\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Latence : \\{\\{context.triggerValue\\}\\} sur la dernière période de \\{\\{context.interval\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\} ms\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.apm.alertTypes.transactionDuration.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} a récupéré.\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Type de transaction : \\{\\{context.transactionType\\}\\}\n- Nom de transaction : \\{\\{context.transactionName\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Latence : \\{\\{context.triggerValue\\}\\} sur la dernière période de \\{\\{context.interval\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\} ms\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.apm.alertTypes.transactionDuration.description": "Alerte lorsque la latence d'un type de transaction spécifique dans un service dépasse le seuil défini.", - "xpack.apm.alertTypes.transactionDurationAnomaly.defaultActionMessage": "L'alerte \\{\\{alertName\\}\\} se déclenche en raison des conditions suivantes :\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Type : \\{\\{context.transactionType\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Seuil de sévérité : \\{\\{context.threshold\\}\\}\n- Valeur de sévérité : \\{\\{context.triggerValue\\}\\}\n", - "xpack.apm.alertTypes.transactionErrorRate.defaultActionMessage": "L'alerte \\{\\{alertName\\}\\} se déclenche en raison des conditions suivantes :\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Type : \\{\\{context.transactionType\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\} %\n- Valeur de déclenchement : \\{\\{context.triggerValue\\}\\} % des erreurs sur la dernière période de \\{\\{context.interval\\}\\}", + "xpack.apm.alertTypes.transactionDurationAnomaly.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} est actif selon les conditions suivantes :\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Type de transaction : \\{\\{context.transactionType\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Sévérité : \\{\\{context.triggerValue\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\}\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.apm.alertTypes.transactionDurationAnomaly.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} a récupéré.\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Type de transaction : \\{\\{context.transactionType\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Sévérité : \\{\\{context.triggerValue\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\}\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.apm.alertTypes.transactionErrorRate.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} est actif selon les conditions suivantes :\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Type de transaction : \\{\\{context.transactionType\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Taux de transactions ayant échoué : \\{\\{context.triggerValue\\}\\} % des erreurs sur la dernière période de \\{\\{context.interval\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\} %\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.apm.alertTypes.transactionErrorRate.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} a récupéré.\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Type de transaction : \\{\\{context.transactionType\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Taux de transactions ayant échoué : \\{\\{context.triggerValue\\}\\} % des erreurs sur la dernière période de \\{\\{context.interval\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\} %\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.apm.alertTypes.transactionErrorRate.description": "Alerte lorsque le taux d'erreurs de transaction d'un service dépasse un seuil défini.", "xpack.apm.analyzeDataButton.label": "Explorer les données", "xpack.apm.analyzeDataButton.tooltip": "La fonctionnalité Explorer les données vous permet de sélectionner et de filtrer les données de résultat dans toute dimension et de rechercher la cause ou l'impact des problèmes de performances", @@ -7880,6 +8041,12 @@ "xpack.apm.deprecations.steps.schema": "Sélectionner l'onglet \"Schema\"", "xpack.apm.deprecations.steps.settings": "Cliquer sur \"Settings\"", "xpack.apm.deprecations.steps.switch": "Cliquez sur \"Passer à Elastic Agent\". Vous serez guidé tout au long du processus", + "xpack.apm.diagnostics.tab.datastreams": "Flux de données", + "xpack.apm.diagnostics.tab.import_export": "Importer/Exporter", + "xpack.apm.diagnostics.tab.index_pattern_settings": "Paramètres du modèle d'indexation", + "xpack.apm.diagnostics.tab.index_templates": "Modèles d'index", + "xpack.apm.diagnostics.tab.indices": "Index", + "xpack.apm.diagnostics.tab.summary": "Résumé", "xpack.apm.durationDistribution.chart.currentEventMarkerLabel": "Échantillon actuel", "xpack.apm.durationDistribution.chart.latencyLabel": "Latence", "xpack.apm.durationDistribution.chart.numberOfSpansLabel": "Intervalles", @@ -7899,6 +8066,7 @@ "xpack.apm.errorGroup.tabs.exceptionStacktraceLabel": "Trace de pile d'exception", "xpack.apm.errorGroup.tabs.logStacktraceLabel": "Trace de pile des logs", "xpack.apm.errorGroup.tabs.metadataLabel": "Métadonnées", + "xpack.apm.errorGroupCoPilotPrompt.explainErrorTitle": "Quelle est cette erreur ?", "xpack.apm.errorGroupDetails.culpritLabel": "Coupable", "xpack.apm.errorGroupDetails.exceptionMessageLabel": "Message d'exception", "xpack.apm.errorGroupDetails.logMessageLabel": "Message log", @@ -7916,6 +8084,7 @@ "xpack.apm.errorRate.chart.errorRate": "Taux de transactions ayant échoué (moy.)", "xpack.apm.errorRate.tip": "Le pourcentage de transactions ayant échoué pour le service sélectionné. Les transactions du serveur HTTP avec un code du statut 4xx (erreur du client) ne sont pas considérées comme des échecs, car l'appelant, et non le serveur, a provoqué l'échec.", "xpack.apm.errorSampleDetails.errorOccurrenceTitle": "Exemple d'erreur", + "xpack.apm.errorSampleDetails.investigateMenu": "Examiner", "xpack.apm.errorSampleDetails.relatedTransactionSample": "Échantillon de transaction associée", "xpack.apm.errorSampleDetails.sampleNotFound": "L'erreur sélectionnée n'a pas pu être trouvée", "xpack.apm.errorSampleDetails.serviceEnvironment": "Environnement", @@ -8104,6 +8273,7 @@ "xpack.apm.home.serviceLogsTabLabel": "Logs", "xpack.apm.home.serviceMapTabLabel": "Carte des services", "xpack.apm.home.servicesTable.tooltip.activeAlertsExplanation": "Alertes actives", + "xpack.apm.home.transactionsTableColumnName.tooltip.activeAlertsExplanation": "Alertes actives", "xpack.apm.infraTabs.emptyMessageIllustrationAlternativeText": "Une loupe avec un point d'exclamation", "xpack.apm.infraTabs.emptyMessagePromptDescription": "Essayez de rechercher sur une période plus longue.", "xpack.apm.infraTabs.emptyMessagePromptTimeRangeTitle": "Étendre la plage temporelle", @@ -8134,6 +8304,7 @@ "xpack.apm.labs": "Ateliers", "xpack.apm.labs.cancel": "Annuler", "xpack.apm.labs.description": "Essayez les fonctionnalités APM qui sont en version d'évaluation technique et en cours de progression.", + "xpack.apm.labs.feedbackButtonLabel": "Dites-nous ce que vous pensez !", "xpack.apm.labs.reload": "Recharger pour appliquer les modifications", "xpack.apm.latencyChartHistory.alertsTriggered": "Alertes déclenchées", "xpack.apm.latencyChartHistory.avgTimeToRecover": "Temps moyen de récupération", @@ -8203,6 +8374,85 @@ "xpack.apm.noDataConfig.addDataButtonLabel": "Ajouter des données", "xpack.apm.noDataConfig.solutionName": "Observabilité", "xpack.apm.notAvailableLabel": "S. O.", + "xpack.apm.onboarding.agent.column.configSettings": "Paramètre de configuration", + "xpack.apm.onboarding.agent.column.configValue": "Valeur de configuration", + "xpack.apm.onboarding.agentStatus.check": "Vérifier le statut de l'agent", + "xpack.apm.onboarding.agentStatus.success.calloutMessage": "Les données ont été correctement reçues d'un ou de plusieurs agents", + "xpack.apm.onboarding.agentStatus.warning.calloutMessage": "Aucune donnée n'a encore été reçue des agents", + "xpack.apm.onboarding.agentStatusCheck.textPre": "Vérifiez que votre application est en cours d'exécution et que les agents envoient les données.", + "xpack.apm.onboarding.agentStatusCheck.title": "Statut de l'agent", + "xpack.apm.onboarding.apiKey.create": "Créer une clé d'API", + "xpack.apm.onboarding.apiKey.error.calloutTitle": "Échec de la création de clé d’API", + "xpack.apm.onboarding.apiKey.success.calloutMessage": "N’oubliez pas de stocker ces informations en lieu sûr. Elles ne sont plus affichées une fois que vous aurez continué", + "xpack.apm.onboarding.apiKey.success.calloutTitle": "Clé d’API créée", + "xpack.apm.onboarding.apiKey.warning.calloutTitle": "L’utilisateur ne dispose pas d’autorisations pour créer une clé d’API", + "xpack.apm.onboarding.appName": "APM", + "xpack.apm.onboarding.betaLabel": "Bêta", + "xpack.apm.onboarding.config_otel.column.configSettings": "Paramètre de configuration (1)", + "xpack.apm.onboarding.config_otel.column.configValue": "Valeur de configuration", + "xpack.apm.onboarding.config_otel.column.notes": "Notes", + "xpack.apm.onboarding.config_otel.description2": "Les variables d’environnement 'OTEL_METRICS_EXPORTER` et 'OTEL_LOGS_EXPORTER' peuvent ne pas être prises en charge par certains SDK.", + "xpack.apm.onboarding.config_otel.instrumentationGuide": "Guide de l’Instrumentation OpenTelemetry", + "xpack.apm.onboarding.django.configure.textPre": "Les agents sont des bibliothèques exécutées dans les processus de votre application. Les services APM sont créés par programmation à partir du \"SERVICE_NAME\".", + "xpack.apm.onboarding.django.configure.title": "Configurer l'agent", + "xpack.apm.onboarding.django.install.textPre": "Installez l'agent APM pour Python en tant que dépendance.", + "xpack.apm.onboarding.django.install.title": "Installer l'agent APM", + "xpack.apm.onboarding.djangoClient.configure.commands.addAgentComment": "Ajouter l'agent aux applications installées", + "xpack.apm.onboarding.djangoClient.configure.commands.addTracingMiddlewareComment": "Ajoutez notre intergiciel de traçage pour envoyer des indicateurs de performance", + "xpack.apm.onboarding.dotNet.configureAgent.title": "Exemple de fichier appsettings.json :", + "xpack.apm.onboarding.dotNet.configureApplication.textPost": "La transmission d'une instance \"IConfiguration\" est facultative mais si cette opération est effectuée, l'agent lira les paramètres de configuration depuis cette instance \"IConfiguration\" (par ex. à partir du fichier \"appsettings.json\").", + "xpack.apm.onboarding.dotNet.configureApplication.textPre": "Si vous utilisez ASP.NET Core avec le package \"Elastic.Apm.NetCoreAll\", appelez la méthode \"UseAllElasticApm\" dans la méthode \"Configure\" dans le fichier \"Startup.cs\".", + "xpack.apm.onboarding.dotNet.configureApplication.title": "Ajouter l'agent à l'application", + "xpack.apm.onboarding.dotNet.download.title": "Télécharger l'agent APM", + "xpack.apm.onboarding.dotnetClient.createConfig.commands.defaultServiceName": "La valeur par défaut est l'assemblage d'entrée de l'application.", + "xpack.apm.onboarding.flask.configure.textPre": "Les agents sont des bibliothèques exécutées dans les processus de votre application. Les services APM sont créés par programmation à partir du \"SERVICE_NAME\".", + "xpack.apm.onboarding.flask.configure.title": "Configurer l'agent", + "xpack.apm.onboarding.flask.install.textPre": "Installez l'agent APM pour Python en tant que dépendance.", + "xpack.apm.onboarding.flask.install.title": "Installer l'agent APM", + "xpack.apm.onboarding.flaskClient.configure.commands.configureElasticApmComment": "Vous pouvez également utiliser ELASTIC_APM dans les paramètres de votre application", + "xpack.apm.onboarding.flaskClient.configure.commands.initializeUsingEnvironmentVariablesComment": "Initialisez à l'aide des variables d'environnement", + "xpack.apm.onboarding.footer.cta": "Lancer APM", + "xpack.apm.onboarding.footer.exploreYourDataDescription": "Une fois toutes les étapes terminées, vous êtes prêt à explorer vos données.", + "xpack.apm.onboarding.go.configure.textPre": "Les agents sont des bibliothèques exécutées dans les processus de votre application. Les services APM sont créés par programmation à partir du nom du fichier exécutable, ou de la variable d'environnement \"ELASTIC_APM_SERVICE_NAME\".", + "xpack.apm.onboarding.go.configure.title": "Configurer l'agent", + "xpack.apm.onboarding.go.goClient.title": "Instrumenter votre application", + "xpack.apm.onboarding.go.install.textPre": "Installez les packages d'agent APM pour Go.", + "xpack.apm.onboarding.go.install.title": "Installer l'agent APM", + "xpack.apm.onboarding.go.instrument.textPre": "Pour instrumenter votre application Go, utilisez l'un des modules d'instrumentation proposés ou directement l'API de traçage.", + "xpack.apm.onboarding.goClient.configure.commands.initializeUsingEnvironmentVariablesComment": "Initialisez à l'aide des variables d'environnement :", + "xpack.apm.onboarding.goClient.configure.commands.usedExecutableNameComment": "En l'absence de spécification, le nom de l'exécutable est utilisé.", + "xpack.apm.onboarding.introduction.imageAltDescription": "Capture d'écran du tableau de bord principal.", + "xpack.apm.onboarding.java.download.title": "Télécharger l'agent APM", + "xpack.apm.onboarding.java.startApplication.title": "Lancer votre application avec l'indicateur javaagent", + "xpack.apm.onboarding.node.configure.textPre": "Les agents sont des bibliothèques exécutées dans les processus de votre application. Les services APM sont créés par programmation à partir du \"serviceName\". Cet agent prend en charge de nombreux frameworks, mais peut également être utilisé avec votre pile personnalisée.", + "xpack.apm.onboarding.node.configure.title": "Configurer l'agent", + "xpack.apm.onboarding.node.install.textPre": "Installez l'agent APM pour Node.js comme dépendance de votre application.", + "xpack.apm.onboarding.node.install.title": "Installer l'agent APM", + "xpack.apm.onboarding.nodeClient.configure.commands.addThisToTheFileTopComment": "Ajoutez ceci tout en haut du premier fichier chargé dans votre application", + "xpack.apm.onboarding.nodeClient.createConfig.commands.serviceName": "Remplace le nom de service dans package.json.", + "xpack.apm.onboarding.otel.configureAgent.title": "Configurer OpenTelemetry dans votre application", + "xpack.apm.onboarding.otel.download.title": "Télécharger l’agent APM OpenTelemetry ou le SDK", + "xpack.apm.onboarding.php.Configure the agent.textPre": "APM se lance automatiquement au démarrage de l'application. Configurez l'agent soit depuis le fichier \"php.ini\" :", + "xpack.apm.onboarding.php.configureAgent.title": "Configurer l'agent", + "xpack.apm.onboarding.php.download.title": "Télécharger l'agent APM", + "xpack.apm.onboarding.php.installPackage.textPre": "Par exemple sur Alpine Linux avec le package APK :", + "xpack.apm.onboarding.php.installPackage.title": "Installer le package téléchargé", + "xpack.apm.onboarding.rack.configure.commands.optionalComment": "facultatif, la valeur par défaut est config/elastic_apm.yml", + "xpack.apm.onboarding.rack.configure.commands.requiredComment": "requis", + "xpack.apm.onboarding.rack.configure.textPre": "Pour Rack, ou un framework compatible (par ex., Sinatra), intégrez l'intergiciel à votre application et démarrez l'agent.", + "xpack.apm.onboarding.rack.configure.title": "Configurer l'agent", + "xpack.apm.onboarding.rack.createConfig.title": "Créer un fichier config", + "xpack.apm.onboarding.rack.install.textPre": "Ajoutez l'agent à votre Gemfile.", + "xpack.apm.onboarding.rack.install.title": "Installer l'agent APM", + "xpack.apm.onboarding.rackClient.createConfig.commands.defaultsToTheNameOfRackAppClassComment": "La valeur par défaut est le nom de la classe de votre application Rack.", + "xpack.apm.onboarding.rails.configure.title": "Configurer l'agent", + "xpack.apm.onboarding.rails.install.textPre": "Ajoutez l'agent à votre Gemfile.", + "xpack.apm.onboarding.rails.install.title": "Installer l'agent APM", + "xpack.apm.onboarding.railsClient.createConfig.commands.defaultServiceName": "La valeur par défaut est le nom de votre application Rails.", + "xpack.apm.onboarding.shared_clients.configure.commands.apiKeyHint": "À utiliser si le serveur APM demande une clé d’API. Ceci est utilisé pour s'assurer que seuls vos agents peuvent envoyer des données à votre serveur APM. Les agents peuvent utiliser des clés d’API pour remplacer un token secret, un serveur APM peut avoir plusieurs clés d’API. Quand le token secret et la clé d’API sont tous deux utilisés, la clé d’API est prioritaire et le token secret est ignoré.", + "xpack.apm.onboarding.shared_clients.configure.commands.secretTokenHint": "À utiliser si le serveur APM requiert un token secret. L'agent et le serveur APM doivent être configurés avec le même token. Cela permet de s'assurer que seuls vos agents peuvent envoyer des données à votre serveur APM.", + "xpack.apm.onboarding.shared_clients.configure.commands.serviceEnvironmentHint": "Le nom de l'environnement dans lequel ce service est déployé, par exemple \"production\" ou \"test\". Les environnements vous permettent de facilement filtrer les données à un niveau global dans l'interface utilisateur APM. Il est important de garantir la cohérence des noms d'environnements entre les différents agents.", + "xpack.apm.onboarding.shared_clients.configure.commands.serviceNameHint": "Le nom de service est le filtre principal dans l'interface utilisateur APM et est utilisé pour regrouper les erreurs et suivre les données ensemble. Caractères autorisés : a-z, A-Z, 0-9, -, _ et espace.", "xpack.apm.pages.alertDetails.alertSummary.actualValue": "Valeur réelle", "xpack.apm.pages.alertDetails.alertSummary.expectedValue": "Valeur attendue", "xpack.apm.pages.alertDetails.alertSummary.serviceEnv": "Environnement de service", @@ -8618,6 +8868,10 @@ "xpack.apm.settings.unsupportedConfigs.errorToast.title": "Impossible de récupérer les paramètres du serveur APM", "xpack.apm.settingsLinkLabel": "Paramètres", "xpack.apm.setupInstructionsButtonLabel": "Instructions de configuration", + "xpack.apm.slo.callout.createButton": "Créer un SLO", + "xpack.apm.slo.callout.description": "Quelle est la rapidité de votre réponse si le service tombe en panne ? Maintenir la performance, la vitesse et l’expérience utilisateur à un niveau élevé avec un SLO", + "xpack.apm.slo.callout.dimissButton": "Cacher ceci", + "xpack.apm.slo.callout.title": "Répondre plus vite avec des SLO", "xpack.apm.spanLinks.callout.description": "Un lien est un pointeur allant de l'intervalle actuel vers un autre intervalle de la même trace ou d'une trace différente. Par exemple, vous pouvez l'utiliser dans des opérations de mise en lots, où un gestionnaire de lot unique traite plusieurs requêtes de différentes traces ou lorsque le gestionnaire reçoit une requête d'un autre projet.", "xpack.apm.spanLinks.callout.dimissButton": "Rejeter", "xpack.apm.spanLinks.callout.title": "Liens d'intervalle", @@ -8635,6 +8889,7 @@ "xpack.apm.storageExplorer.callout.dimissButton": "Rejeter", "xpack.apm.storageExplorer.crossClusterSearchCalloutText": "Alors que l'obtention du nombre de documents fonctionne avec la recherche inter-clusters, les statistiques d'index telles que la taille sont uniquement affichées pour les données stockées dans ce cluster.", "xpack.apm.storageExplorer.crossClusterSearchCalloutTitle": "Recherche dans tous les clusters ?", + "xpack.apm.storageExplorer.downloadReport": "Télécharger le rapport", "xpack.apm.storageExplorer.indexLifecyclePhase.all.description": "Recherchez les données dans toutes les phases du cycle de vie.", "xpack.apm.storageExplorer.indexLifecyclePhase.all.label": "Tous", "xpack.apm.storageExplorer.indexLifecyclePhase.cold.description": "Même s'il est toujours interrogeable, ce niveau est généralement optimisé pour réduire les coûts de stockage plutôt que pour augmenter la vitesse de recherche.", @@ -8684,13 +8939,15 @@ "xpack.apm.storageExplorer.sizeLabel.description": "Taille de stockage estimée par service. Cette estimation comprend les partitions primaires et répliques de partition et est établie en calculant au prorata la taille totale de vos index par rapport au nombre de documents du service, divisé par le nombre total de documents.", "xpack.apm.storageExplorer.sizeLabel.title": "Taille", "xpack.apm.storageExplorer.summary.dailyDataGeneration": "Génération quotidienne des données", - "xpack.apm.storageExplorer.summary.diskSpaceUsedPct": "Espace disque utilisé", + "xpack.apm.storageExplorer.summary.deltaInSize": "Delta dans la taille de l’APM", + "xpack.apm.storageExplorer.summary.deltaInSize.tooltip": "Taille de stockage estimée par les index APM en fonction des filtres sélectionnés.", + "xpack.apm.storageExplorer.summary.diskSpaceUsedPct": "Espace disque relatif utilisé", "xpack.apm.storageExplorer.summary.diskSpaceUsedPct.tooltip": "Le pourcentage de la capacité de stockage qui est actuellement utilisée par tous les indices APM par rapport à la capacité de stockage maximale actuellement configurée pour Elasticsearch.", "xpack.apm.storageExplorer.summary.indexManagementLink": "Accéder à la gestion des index", "xpack.apm.storageExplorer.summary.numberOfServices": "Nombre de services", "xpack.apm.storageExplorer.summary.serviceInventoryLink": "Accéder à l'inventaire des services", "xpack.apm.storageExplorer.summary.totalSize": "Taille APM totale", - "xpack.apm.storageExplorer.summary.totalSize.tooltip": "Taille de stockage totale actuelle de tous les index APM, en ignorant tous les filtres.", + "xpack.apm.storageExplorer.summary.totalSize.tooltip": "Taille de stockage total de tous les index APM, y compris les répliques, en ignorant les paramètres de filtre.", "xpack.apm.storageExplorer.summary.tracesPerMinute": "Traces par minute", "xpack.apm.storageExplorer.table.caption": "Explorateur de stockage", "xpack.apm.storageExplorer.table.collapse": "Réduire", @@ -8701,7 +8958,7 @@ "xpack.apm.storageExplorer.table.loading": "Chargement...", "xpack.apm.storageExplorer.table.noResults": "Aucune donnée trouvée", "xpack.apm.storageExplorer.table.samplingColumnDescription": "Nombre de transactions échantillonnées divisé par le rendement total. Cette valeur peut différer du taux d'échantillonnage des transactions configuré car elle peut être affectée par la décision du service initial lors de l'utilisation de l'échantillonnage basé sur la tête ou par un ensemble de politiques lors de l'utilisation de l'échantillonnage basé sur la queue.", - "xpack.apm.storageExplorer.table.samplingColumnName": "Taux d'échantillonnage", + "xpack.apm.storageExplorer.table.samplingColumnName": "Taux d’échantillonnage", "xpack.apm.storageExplorer.table.serviceColumnName": "Service", "xpack.apm.technicalPreviewBadgeDescription": "Cette fonctionnalité est en version d'évaluation technique et pourra être modifiée ou retirée complètement dans une future version. Elastic s'efforcera au maximum de corriger tout problème, mais les fonctionnalités en version d'évaluation technique ne sont pas soumises aux accords de niveau de service d'assistance des fonctionnalités officielles en disponibilité générale.", "xpack.apm.technicalPreviewBadgeLabel": "Version d'évaluation technique", @@ -8711,6 +8968,7 @@ "xpack.apm.timeseries.endzone": "La plage temporelle sélectionnée n'inclut pas ce compartiment en entier. Il se peut qu'elle contienne des données partielles.", "xpack.apm.toggleHeight.showLessButtonLabel": "Afficher moins de lignes", "xpack.apm.toggleHeight.showMoreButtonLabel": "Afficher plus de lignes", + "xpack.apm.tooltip.link.apmServerDocs": "documents", "xpack.apm.traceExplorer.appName": "APM", "xpack.apm.traceExplorer.criticalPathTab": "Chemin critique agrégé", "xpack.apm.traceExplorer.waterfallTab": "Cascade", @@ -8829,6 +9087,7 @@ "xpack.apm.transactionsTable.loading": "Chargement...", "xpack.apm.transactionsTable.noResults": "Aucune transaction trouvée", "xpack.apm.transactionsTable.title": "Transactions", + "xpack.apm.transactionsTableColumnName.alertsColumnLabel": "Alertes actives", "xpack.apm.transactionTypesSelectCustomOptionText": "Ajouter \\{searchValue\\} en tant que nouveau type de transaction", "xpack.apm.transactionTypesSelectPlaceholder": "Sélectionner le type de transaction", "xpack.apm.tutorial.agent_config.choosePolicy.helper": "Ajoute la configuration de la politique sélectionnée à l'extrait ci-dessous.", @@ -8839,6 +9098,7 @@ "xpack.apm.tutorial.agent_config.manageFleetPolicies": "Gérer les politiques Fleet", "xpack.apm.tutorial.agent.column.configSettings": "Paramètre de configuration", "xpack.apm.tutorial.agent.column.configValue": "Valeur de configuration", + "xpack.apm.tutorial.apiKey.create": "Créer une clé d'API", "xpack.apm.tutorial.apmAgents.statusCheck.btnLabel": "Vérifier le statut de l'agent", "xpack.apm.tutorial.apmAgents.statusCheck.errorMessage": "Aucune donnée n'a encore été reçue des agents", "xpack.apm.tutorial.apmAgents.statusCheck.successMessage": "Les données ont été correctement reçues d'un ou de plusieurs agents", @@ -9167,7 +9427,7 @@ "xpack.canvas.workpadFilters.timeFilter.invalidDate": "Date non valide : {date}", "xpack.canvas.workpadHeader.cycleIntervalDaysText": "Tous les {days} {days, plural, one {jour} many {jours} other {jours}}", "xpack.canvas.workpadHeader.cycleIntervalHoursText": "Toutes les {hours} {hours, plural, one {heure} many {heures} other {heures}}", - "xpack.canvas.workpadHeader.cycleIntervalMinutesText": "Toutes les {minutes} {minutes, plural, one {minute} many {minutes} other {minutes}}", + "xpack.canvas.workpadHeader.cycleIntervalMinutesText": "Chaque {minutes} {minutes, plural, one {minute} many {minutes} other {minutes}}", "xpack.canvas.workpadHeader.cycleIntervalSecondsText": "Toutes les {seconds} {seconds, plural, one {seconde} many {secondes} other {secondes}}", "xpack.canvas.workpadHeaderCustomInterval.formDescription": "Utiliser la notation abrégée, comme {secondsExample}, {minutesExample} ou {hoursExample}", "xpack.canvas.workpadHeaderShareMenu.shareDownloadJSONTitle": "Télécharger en tant que {JSON}", @@ -10217,10 +10477,10 @@ "xpack.cases.actions.assignees.selectedAssignees": "Sélectionné : {selectedAssignees}", "xpack.cases.actions.caseAlertSuccessToast": "{quantity, plural, =1 {Une alerte a été ajoutée à} one {Une alerte a été ajoutée à} many {Des alertes ont été ajoutées à} other {Des alertes ont été ajoutées à}} \"{title}\"", "xpack.cases.actions.caseSuccessToast": "{title} a été mis à jour", - "xpack.cases.actions.closedCases": "{totalCases, plural, =1 {\"{caseTitle}\" a été fermé} one {{totalCases} cas a été fermé} many {{totalCases} cas ont été fermés} other {{totalCases} cas ont été fermés}}", + "xpack.cases.actions.closedCases": "{totalCases, plural, =1 {\"{caseTitle}\"} one {{totalCases} cas a été ouvert} many {{totalCases} cas} other {{totalCases} cas ont été fermés}}", "xpack.cases.actions.headerSubtitle": "Cas sélectionnés : {totalCases}", - "xpack.cases.actions.markInProgressCases": "{totalCases, plural, =1 {\"{caseTitle}\" a été marqué comme étant en cours} one {{totalCases} a été marqué comme étant en cours} many {{totalCases} ont été marqués comme étant en cours} other {{totalCases} ont été marqués comme étant en cours}}", - "xpack.cases.actions.reopenedCases": "Opened {totalCases, plural, =1 {\"{caseTitle}\" a été ouvert} one {{totalCases} cas a été ouvert} many {{totalCases} cas ont été ouverts} other {{totalCases} cas ont été ouverts}}", + "xpack.cases.actions.markInProgressCases": "{totalCases, plural, =1 {\"{caseTitle}\"} one {{totalCases} cas a été ouvert} many {{totalCases} cas} other {{totalCases} ont été marqués comme étant en cours}}", + "xpack.cases.actions.reopenedCases": "Opened {totalCases, plural, =1 {\"{caseTitle}\"} one {{totalCases} cas a été ouvert} many {{totalCases} cas} other {{totalCases} cas ont été ouverts}}", "xpack.cases.actions.severity": "{totalCases, plural, =1 {Le cas \"{caseTitle}\" a été défini sur} one {{totalCases} cas a été défini sur} many {{totalCases} cas ont été définis sur} other {{totalCases} cas ont été définis sur}} {severity}", "xpack.cases.actions.tags.selectedTags": "Sélectionné : {selectedTags}", "xpack.cases.actions.tags.totalTags": "Total des balises : {totalTags}", @@ -10230,9 +10490,9 @@ "xpack.cases.allCasesView.totalFilteredUsers": "{total, plural, one {# filtre a été sélectionné} many {# filtres ont été sélectionnés} other {# filtres ont été sélectionnés}}", "xpack.cases.caseTable.caseDetailsLinkAria": "cliquez pour visiter le cas portant le titre {detailName}", "xpack.cases.caseTable.pushLinkAria": "cliquez pour afficher l'incident relatif à {thirdPartyName}.", - "xpack.cases.caseTable.selectedCasesTitle": "{totalRules} {totalRules, plural, =1 {cas} one {cas} many {cas} other {cas}} sélectionné(s)", - "xpack.cases.caseTable.showingCasesTitle": "Affichage de {totalRules} {totalRules, plural, =1 {cas} one {cas} many {cas} other {cas}}", - "xpack.cases.caseTable.unit": "{totalCount, plural, =1 {cas} one {cas} many {cas} other {cas}}", + "xpack.cases.caseTable.selectedCasesTitle": "{totalRules} {totalRules, plural, =1 {cas} one {aux cas suivants} many {cas} other {cas}} sélectionné(s)", + "xpack.cases.caseTable.showingCasesTitle": "Affichage de {totalRules} {totalRules, plural, =1 {cas} one {aux cas suivants} many {cas} other {cas}}", + "xpack.cases.caseTable.unit": "{totalCount, plural, =1 {cas} one {aux cas suivants} many {cas} other {cas}}", "xpack.cases.caseView.actionLabel.selectedThirdParty": "{thirdParty} sélectionné comme système de gestion des incidents", "xpack.cases.caseView.actionLabel.viewIncident": "Afficher {incidentNumber}", "xpack.cases.caseView.alerts.multipleAlerts": "{totalAlerts, plural, =1 {un} one {{totalAlerts}} many {{totalAlerts}} other {{totalAlerts}}} {totalAlerts, plural, =1 {alerte} one {alertes} many {alertes} other {alertes}}", @@ -10245,7 +10505,7 @@ "xpack.cases.caseView.files.successfulUploadFileName": "Le fichier {fileName} a été chargé avec succès", "xpack.cases.caseView.generatedAlertCommentLabelTitle": "a ajouté {totalAlerts} alertes depuis", "xpack.cases.caseView.lockedIncidentTitle": "Incident {thirdParty} à jour", - "xpack.cases.caseView.otherEndpoints": " et {endpoints} {endpoints, plural, =1 {autre} one {autre} many {autres} other {autres}}", + "xpack.cases.caseView.otherEndpoints": " et {endpoints} {endpoints, plural, =1 {autre} one {autres} many {autres} other {autres}}", "xpack.cases.caseView.pushNamedIncident": "Transmettre comme un incident {thirdParty}", "xpack.cases.caseView.pushToServiceDisableByConfigDescription": "Le fichier kibana.yml est configuré pour n'autoriser que des connecteurs spécifiques. Pour permettre l'ouverture d'un cas dans des systèmes externes, ajoutez .[actionTypeId] (par exemple : .servicenow | .jira) au paramètre xpack.actions.enabledActiontypes. Pour en savoir plus, consultez {link}.", "xpack.cases.caseView.pushToServiceDisableByLicenseDescription": "Vous avez la possibilité d'ouvrir des cas dans des systèmes externes lorsque vous disposez de la {appropriateLicense}, que vous utilisez un {cloud} ou que vous testez un essai gratuit.", @@ -10253,6 +10513,7 @@ "xpack.cases.caseView.sendEmalLinkAria": "cliquer pour envoyer un e-mail à {user}", "xpack.cases.caseView.totalUsersAssigned": "{total} affecté", "xpack.cases.caseView.updateNamedIncident": "Mettre à jour l'incident {thirdParty}", + "xpack.cases.configure.addCategoryCustomOptionLabel": "Ajouter {searchValue} en tant que catégorie", "xpack.cases.configure.addTagCustomOptionLabel": "Ajouter {searchValue} en tant que balise", "xpack.cases.configure.commentVersionConflictWarning": "Cet {markdownId} a été mis à jour par un autre utilisateur. l'enregistrement de votre {markdownId} écrasera sa mise à jour.", "xpack.cases.configure.connectorDeletedOrLicenseWarning": "Le connecteur sélectionné a été supprimé ou vous ne disposez pas de la {appropriateLicense} pour pouvoir l'utiliser. Sélectionnez un autre connecteur ou créez-en un nouveau.", @@ -10304,9 +10565,12 @@ "xpack.cases.actions.tags.selectAll": "Tout sélectionner", "xpack.cases.actions.tags.selectNone": "Sélectionner aucun", "xpack.cases.actions.viewCase": "Afficher le cas", + "xpack.cases.actions.visualizationActions.addToExistingCase.displayName": "Ajouter à un cas existant", + "xpack.cases.actions.visualizationActions.addToNewCase.displayName": "Ajouter au nouveau cas", "xpack.cases.addConnector.title": "Ajouter un connecteur", "xpack.cases.allCases.actions": "Actions", "xpack.cases.allCases.comments": "Commentaires", + "xpack.cases.allCases.noCategoriesAvailable": "Pas de catégories disponibles", "xpack.cases.allCases.noTagsAvailable": "Aucune balise disponible", "xpack.cases.allCasesView.filterAssignees.clearFilters": "Effacer les filtres", "xpack.cases.allCasesView.filterAssignees.noAssigneesLabel": "Aucun utilisateur affecté", @@ -10355,6 +10619,7 @@ "xpack.cases.caseView.actionLabel.updateIncident": "incident mis à jour", "xpack.cases.caseView.actionsConfigurationLink": "Paramètres d'alerting et d'action dans Kibana", "xpack.cases.caseView.activity": "Activité", + "xpack.cases.caseView.addCategory": "catégorie ajoutée", "xpack.cases.caseView.alertCommentLabelTitle": "a ajouté une alerte depuis", "xpack.cases.caseView.alerts.remove": "Supprimer", "xpack.cases.caseView.assigned": "affecté", @@ -10370,6 +10635,8 @@ "xpack.cases.caseView.caseName": "Nom du cas", "xpack.cases.caseView.caseOpened": "Cas ouvert", "xpack.cases.caseView.caseRefresh": "Actualiser le cas", + "xpack.cases.caseView.categories": "Catégories", + "xpack.cases.caseView.category": "Catégorie", "xpack.cases.caseView.closeCase": "Fermer le cas", "xpack.cases.caseView.closedOn": "Fermé le", "xpack.cases.caseView.cloudDeploymentLink": "déploiement sur le cloud", @@ -10401,7 +10668,9 @@ "xpack.cases.caseView.edit.quote": "Guillemet", "xpack.cases.caseView.editActionsLinkAria": "cliquer pour voir toutes les actions", "xpack.cases.caseView.editAssigneesAriaLabel": "cliquer pour modifier les utilisateurs affectés", + "xpack.cases.caseView.editCategoriesLinkAria": "cliquez pour modifier les catégories", "xpack.cases.caseView.editTagsLinkAria": "cliquer pour modifier les balises", + "xpack.cases.caseView.emptyCategoryValidationMsg": "Les catégories vides ne sont pas autorisées", "xpack.cases.caseView.errorsPushServiceCallOutTitle": "Sélectionner un connecteur externe", "xpack.cases.caseView.fieldChanged": "a modifié le champ du connecteur", "xpack.cases.caseView.fieldRequiredError": "Champ requis", @@ -10423,6 +10692,7 @@ "xpack.cases.caseView.files.noFilesAvailable": "Aucun fichier disponible", "xpack.cases.caseView.files.noPreviewAvailable": "Aucun aperçu disponible", "xpack.cases.caseView.files.pdfMimeType": "PDF", + "xpack.cases.caseView.files.removedFile": "fichier supprimé", "xpack.cases.caseView.files.resultsCount": "Affichage", "xpack.cases.caseView.files.searchPlaceholder": "Recherchez des fichiers", "xpack.cases.caseView.files.textMimeType": "Texte", @@ -10447,6 +10717,7 @@ "xpack.cases.caseView.moveToCommentAria": "Surligner le commentaire référencé", "xpack.cases.caseView.name": "Nom", "xpack.cases.caseView.noAssignees": "Aucun utilisateur n'a été affecté", + "xpack.cases.caseView.noCategories": "Aucune catégorie n’est ajoutée", "xpack.cases.caseView.noReportersAvailable": "Aucun auteur disponible.", "xpack.cases.caseView.noTags": "Aucune balise n'a été ajoutée", "xpack.cases.caseView.openCase": "Ouvrir le cas", @@ -10459,6 +10730,8 @@ "xpack.cases.caseView.pushToServiceDisableByConfigTitle": "Activer le service externe dans le fichier de configuration Kibana", "xpack.cases.caseView.pushToServiceDisableByLicenseTitle": "Passer à une licence appropriée", "xpack.cases.caseView.releasedHost": "a soumis une demande de version sur l'hôte", + "xpack.cases.caseView.removeCategory": "Supprimer une catégorie", + "xpack.cases.caseView.removeCategoryAriaLabel": "cliquez pour supprimer une catégorie", "xpack.cases.caseView.reopenCase": "Rouvrir le cas", "xpack.cases.caseView.reporterLabel": "Auteur", "xpack.cases.caseView.setSeverityTo": "définir la sévérité sur", @@ -10480,8 +10753,12 @@ "xpack.cases.caseView.unknownRule.label": "Règle inconnue", "xpack.cases.caseView.updatedOn": "Mis à jour le", "xpack.cases.caseView.updateThirdPartyIncident": "Mettre à jour l'incident externe", + "xpack.cases.caseView.userAction.removeCategory": "catégorie supprimée", "xpack.cases.caseView.userActions.createCase": "Cas créé", "xpack.cases.caseView.userActions.showMore": "Afficher plus", + "xpack.cases.caseView.visualizations.addedVisualization": "visualisation ajoutée", + "xpack.cases.caseView.visualizations.openVisualizationButtonLabel": "Visualisation ouverte", + "xpack.cases.caseView.visualizations.removedVisualization": "visualisation supprimée", "xpack.cases.common.alertAddedToCase": "ajouté au cas", "xpack.cases.common.alertLabel": "Alerte", "xpack.cases.common.alertsLabel": "Alertes", @@ -10515,6 +10792,7 @@ "xpack.cases.configureCases.warningTitle": "Avertissement", "xpack.cases.configureCasesButton": "Modifier une connexion externe", "xpack.cases.connectors.card.createCommentWarningTitle": "Impossible de partager les commentaires du cas", + "xpack.cases.connectors.jira.issueTypeRequired": "Le type de problème est requis", "xpack.cases.connectors.jira.issueTypesSelectFieldLabel": "Type d'erreur", "xpack.cases.connectors.jira.parentIssueSearchLabel": "Problème parent", "xpack.cases.connectors.jira.prioritySelectFieldLabel": "Priorité", @@ -10550,6 +10828,7 @@ "xpack.cases.connectors.swimlane.emptyMappingWarningDesc": "Ce connecteur ne peut pas être sélectionné, car il ne possède pas les mappings de champs de cas requis. Vous pouvez modifier ce connecteur pour ajouter les mappings de champs requis ou sélectionner un connecteur de type Cas.", "xpack.cases.connectors.swimlane.emptyMappingWarningTitle": "Des mappings de champs manquent pour ce connecteur", "xpack.cases.connectors.swimlane.severityLabel": "Sévérité", + "xpack.cases.containers.categoriesErrorTitle": "Erreur lors de la récupération des catégories", "xpack.cases.containers.deleteSuccess": "Fichier supprimé avec succès", "xpack.cases.containers.errorCreatingCaseTitle": "Erreur lors de la création du cas", "xpack.cases.containers.errorDeletingFile": "Erreur lors de la suppression du fichier", @@ -10651,8 +10930,10 @@ "xpack.cases.userProfiles.learnPrivileges": "Découvrez quels privilèges accordent l'accès aux cas.", "xpack.cases.userProfiles.modifySearch": "Modifiez votre recherche ou vérifiez les privilèges de l'utilisateur.", "xpack.cases.userProfiles.userDoesNotExist": "L'utilisateur n'existe pas ou n'est pas disponible", + "xpack.cases.visualizationActions.addToExistingCaseSuccessContent": "Visualisation correctement ajoutée au cas", "xpack.cloudDefend.cloudDefendPage.errorRenderer.errorDescription": "{error} {statusCode} : {body}", "xpack.cloudDefend.cloudDefendPage.packageNotInstalledRenderer.promptDescription": "Pour commencer, ajoutez l'intégration de Defend pour les conteneurs (D4C). {learnMore}.", + "xpack.cloudDefend.errorGenericEmptyValue": "Les valeurs de \"{condition}\" ne peuvent pas être vides", "xpack.cloudDefend.errorGenericRegexFailure": "Les valeurs \"{condition}\" doivent correspondre au modèle : /{pattern}/", "xpack.cloudDefend.errorMaxSelectorsResponsesExceeded": "Vous ne pouvez pas dépasser {max} sélecteurs + réponses pour un type donné (par exemple, fichier, processus", "xpack.cloudDefend.errorMaxValueBytesExceeded": "Les valeurs \"{condition}\" ne doivent pas dépasser {maxValueBytes} octets", @@ -10690,12 +10971,19 @@ "xpack.cloudDefend.controlSelectorsHelp": "Créez des sélecteurs de fichier ou de processus pour trouver une correspondance sur des opérations et/ou des conditions d'intérêt.", "xpack.cloudDefend.controlYamlHelp": "Configurez votre stratégie en créant des sélecteurs de \"fichier\" ou \"processus\" et des réponses ci-dessous.", "xpack.cloudDefend.controlYamlView": "Vue YAML", - "xpack.cloudDefend.enableControl": "Activer la prévention contre les dérives", - "xpack.cloudDefend.enableControlHelp": "Active/désactive l'activation de la stratégie de prévention contre les dérives pour bloquer des opérations de fichier et/ou envoyer des alertes à leur sujet.", + "xpack.cloudDefend.createPackagePolicy.customAssetsTab.dashboardViewLabel": "Voir les tableaux de bord k8s", + "xpack.cloudDefend.description": "Description", + "xpack.cloudDefend.enableControl": "Activer la politique", + "xpack.cloudDefend.enableControlHelp": "Active la politique de prévention des dérives, d’alerte et de logging montrée ci-dessous.", + "xpack.cloudDefend.errorActionRequired": "Au moins une action est requise.", + "xpack.cloudDefend.errorBlockActionRequiresTargetFilePath": "L’action \"block\" requiert que targetFilePath soit inclus dans tous les sélecteurs \"match\" utilisant des opérations FIM ou au moins dans un sélecteur \"exclude\". Notez que les sélecteurs sans opération correspondront à toutes les opérations, y compris createFile, modifyFile ou deleteFile", "xpack.cloudDefend.errorConditionRequired": "Au moins une condition par sélecteur est requise.", "xpack.cloudDefend.errorDuplicateName": "Ce nom est déjà utilisé par un autre sélecteur.", "xpack.cloudDefend.errorInvalidFullContainerImageName": "Les valeurs \"Nom complet de l'image de conteneur \" doivent être au format suivant : image_repo/image_name, par exemple \"docker.io/nginx\".", "xpack.cloudDefend.errorInvalidName": "Les noms des sélecteurs doivent être alphanumériques et ne doivent pas inclure d'espaces.", + "xpack.cloudDefend.errorInvalidPodLabel": "Les valeurs d’étiquette du pod Kubernetes doivent avoir pour format : \"key:value\". Un caractère générique \"*\" peut être utilisé à la fin de la valeur, par exemple \"key:val*\". Pour trouver une correspondance sur une valeur d'étiquette vide, utilisez \"key:\".", + "xpack.cloudDefend.errorInvalidProcessExecutable": "Les valeurs \"Process executable\" doivent utiliser des chemins absolus. Un caractère générique \"*\" de fin peut être utilisé pour faire correspondre tous les fichiers dans le répertoire cible. Utilisez un double \"**\" pour faire correspondre tous les fichiers de manière récursive. Par ex. /usr/bin/**", + "xpack.cloudDefend.errorInvalidTargetFilePath": "Les valeurs de \"Target file path\" doivent être des chemins absolus. Un caractère générique \"*\" de fin peut être utilisé pour faire correspondre tous les fichiers dans le répertoire cible. Utilisez un double \"**\" pour faire correspondre tous les fichiers de manière récursive. Par ex. /etc/**", "xpack.cloudDefend.errorValueRequired": "Au moins une valeur est requise.", "xpack.cloudDefend.fileResponse": "Réponse de fichier", "xpack.cloudDefend.fileResponseIconTooltip": "Réponse de fichier.\nSeuls les sélecteurs de fichier peuvent être utilisés à des fins de mise en correspondance/exclusion.", @@ -10725,6 +11013,8 @@ "xpack.cloudDefend.subscriptionNotAllowed.promptTitle": "Mettre à niveau pour bénéficier des fonctionnalités d'abonnement", "xpack.cloudDefend.unusedSelector": "Non utilisé", "xpack.cloudDefend.unusedSelectorHelp": "Ce sélecteur n'est utilisé par aucune réponse.", + "xpack.cloudDefend.warningFIMUsingSlashStarStarText": "Il est dangereux de bloquer des opérations FIM utilisant un targetFilePath de /**. Ceci peut rendre le système instable. Notez que les sélecteurs sans opération correspondront à toutes les opérations, y compris createFile, modifyFile ou deleteFile", + "xpack.cloudDefend.warningFIMUsingSlashStarStarTitle": "Avertissement : Bloquer les opérations FIM", "xpack.crossClusterReplication.app.deniedPermissionDescription": "Pour utiliser la réplication inter-clusters, vous devez avoir {clusterPrivilegesCount, plural, one {ce privilège de cluster} many {ces privilèges de cluster} other {ces privilèges de cluster}} : {clusterPrivileges}.", "xpack.crossClusterReplication.autoFollowPattern.leaderIndexPatternValidation.illegalCharacters": "Supprimez {characterListLength, plural, one {le caractère} many {les caractères} other {les caractères}} {characterList} du modèle d'indexation.", "xpack.crossClusterReplication.autoFollowPattern.pauseAction.errorMultipleNotificationTitle": "Erreur lors de la suspension de {count} modèles de suivi automatique", @@ -10735,15 +11025,15 @@ "xpack.crossClusterReplication.autoFollowPattern.resumeAction.errorMultipleNotificationTitle": "Erreur lors de la reprise de {count} modèles de suivi automatique", "xpack.crossClusterReplication.autoFollowPattern.resumeAction.successMultipleNotificationTitle": "{count} modèles de suivi automatique ont été repris", "xpack.crossClusterReplication.autoFollowPattern.suffixValidation.illegalCharacters": "Supprimez {characterListLength, plural, one {le caractère} many {les caractères} other {les caractères}} {characterList} du suffixe.", - "xpack.crossClusterReplication.autoFollowPatternActionMenu.buttonLabel": "Gérer {patterns, plural, one {le modèle} many {les modèles} other {les modèles}}", + "xpack.crossClusterReplication.autoFollowPatternActionMenu.buttonLabel": "Gérer {patterns, plural, one {le modèle} many {Modèles d'indexation manquants} other {les modèles}}", "xpack.crossClusterReplication.autoFollowPatternForm.fieldFollowerIndicesHelpLabel": "Les espaces et les caractères {characterList} ne sont pas autorisés.", "xpack.crossClusterReplication.autoFollowPatternForm.fieldLeaderIndexPatternsHelpLabel": "Les espaces et les caractères {characterList} ne sont pas autorisés.", "xpack.crossClusterReplication.autoFollowPatternForm.sectionLeaderIndexPatternsDescription2": "{note} Les index déjà existants ne sont pas répliqués.", "xpack.crossClusterReplication.deleteAutoFollowPattern.confirmModal.deleteMultipleTitle": "Retirer {count} modèles de suivi automatique ?", - "xpack.crossClusterReplication.deleteAutoFollowPatternButtonLabel": "Supprimer {total, plural, one {le modèle} many {les modèles} other {ls modèles}}", - "xpack.crossClusterReplication.followerIndex.contextMenu.buttonLabel": "Gérer {followerIndicesLength, plural, one {index} many {les index} other {les index}} suiveur(s)", - "xpack.crossClusterReplication.followerIndex.contextMenu.title": "Options {followerIndicesLength, plural, one {index} many {des index} other {des index}} suiveur(s)", - "xpack.crossClusterReplication.followerIndex.contextMenu.unfollowLabel": "Annuler le suivi {followerIndicesLength, plural, one {index} many {des index} other {des index}} meneur(s)", + "xpack.crossClusterReplication.deleteAutoFollowPatternButtonLabel": "Supprimer {total, plural, one {le modèle} many {Modèles d'indexation manquants} other {ls modèles}}", + "xpack.crossClusterReplication.followerIndex.contextMenu.buttonLabel": "Gérer {followerIndicesLength, plural, one {index} many {index système non migrés} other {les index}} suiveur(s)", + "xpack.crossClusterReplication.followerIndex.contextMenu.title": "Options {followerIndicesLength, plural, one {index} many {index système non migrés} other {des index}} suiveur(s)", + "xpack.crossClusterReplication.followerIndex.contextMenu.unfollowLabel": "Annuler le suivi {followerIndicesLength, plural, one {index} many {index système non migrés} other {des index}} meneur(s)", "xpack.crossClusterReplication.followerIndex.pauseAction.errorMultipleNotificationTitle": "Erreur lors de la suspension de {count} index suiveurs", "xpack.crossClusterReplication.followerIndex.pauseAction.successMultipleNotificationTitle": "{count} index suiveurs ont été suspendus", "xpack.crossClusterReplication.followerIndex.resumeAction.errorMultipleNotificationTitle": "Erreur lors de la reprise de {count} index suiveurs", @@ -11057,13 +11347,20 @@ "xpack.csp.findings.findingsTableCell.addNegatedFilterButtonTooltip": "Ajouter un filtre {field} négatif", "xpack.csp.findings.findingsTableCell.addNegateFilterButton": "Ajouter un filtre {field} négatif", "xpack.csp.findings.resourceFindings.resourceFindingsPageTitle": "{resourceName} {hyphen} Résultats", - "xpack.csp.noFindingsStates.indexTimeout.indexTimeoutDescription": "Les données devraient apparaître en moins de 10 minutes après le déploiement réussi d'elastic-agent. {docs}", + "xpack.csp.noFindingsStates.indexTimeout.indexTimeoutDescription": "La collecte des résultats prend plus de temps que prévu. {docs}.", + "xpack.csp.noVulnerabilitiesStates.indexTimeout.indexTimeoutDescription": "L’analyse des charges de travail prend plus de temps que prévu. Veuillez consulter {docs}", "xpack.csp.rules.rulePageHeader.pageHeaderTitle": "Règles - {integrationName}", "xpack.csp.rules.rulesTable.showingPageOfTotalLabel": "Affichage de {pageSize} sur {total, plural, one {# règle} many {# règles} other {# règles}}", "xpack.csp.subscriptionNotAllowed.promptDescription": "Pour utiliser ces fonctionnalités de sécurité du cloud, vous devez {link}.", "xpack.csp.vulnerabilities.totalVulnerabilities": "{total, plural, one {# vulnérabilité} many {# vulnérabilités} other {# vulnérabilités}}", + "xpack.csp.vulnerabilities.vulnerabilitiesTableCell.addFilterButton": "Ajouter un filtre {columnId}", + "xpack.csp.vulnerabilities.vulnerabilitiesTableCell.addFilterButtonTooltip": "Ajouter un filtre {columnId}", + "xpack.csp.vulnerabilities.vulnerabilitiesTableCell.addNegatedFilterButtonTooltip": "Ajouter un filtre {columnId} négatif", + "xpack.csp.vulnerabilities.vulnerabilitiesTableCell.addNegateFilterButton": "Ajouter un filtre {columnId} négatif", "xpack.csp.vulnerabilities.vulnerabilityOverviewTab.descriptionText": "{description}", "xpack.csp.vulnerabilities.vulnerabilityOverviewTile.publishedDateText": "{date}", + "xpack.csp.vulnerabilitiesByResource.totalResources": "{total, plural, one {# ressource} many {# ressources} other {# ressources}}", + "xpack.csp.vulnerabilitiesByResource.totalVulnerabilities": "{total, plural, one {# vulnérabilité} many {# vulnérabilités} other {# vulnérabilités}}", "xpack.csp.awsIntegration.accessKeyIdLabel": "ID de clé d'accès", "xpack.csp.awsIntegration.assumeRoleDescription": "Un nom ARN (Amazon Resource Name) de rôle IAM est une identité IAM que vous pouvez créer dans votre compte AWS. Lors de la création d'un rôle IAM, les utilisateurs peuvent définir les autorisations accordées au rôle. Les rôles n'ont pas d'informations d'identification à long terme standard telles que des mots de passe ou des clés d'accès.", "xpack.csp.awsIntegration.assumeRoleLabel": "Assumer un rôle", @@ -11093,6 +11390,7 @@ "xpack.csp.benchmarks.benchmarksTable.monitoringColumnTitle": "Monitoring", "xpack.csp.benchmarks.benchmarksTable.numberOfAgentsColumnTitle": "Nombre d'agents", "xpack.csp.benchmarks.benchmarksTable.rulesColumnTitle": "Règles", + "xpack.csp.cloudPosturePage.betaLabel": "Cette fonctionnalité est en version bêta et susceptible d'être modifiée. La conception et le code sont moins matures que les fonctionnalités officielles en disponibilité générale et sont fournis tels quels sans aucune garantie. Les fonctionnalités en version bêta ne sont pas soumises à l'accord de niveau de service des fonctionnalités officielles en disponibilité générale.", "xpack.csp.cloudPosturePage.cspmIntegration.packageNotInstalled.buttonLabel": "Ajouter une intégration CSPM", "xpack.csp.cloudPosturePage.cspmIntegration.packageNotInstalled.integrationNameLabel": "Gestion du niveau de sécurité du cloud", "xpack.csp.cloudPosturePage.defaultNoDataConfig.pageTitle": "Aucune donnée trouvée", @@ -11110,11 +11408,37 @@ "xpack.csp.cloudPosturePage.vulnerabilitiesInstalledEmptyPrompt.addVulMngtIntegrationButtonTitle": "Installer la Gestion des vulnérabilités natives du cloud", "xpack.csp.cloudPosturePage.vulnerabilitiesInstalledEmptyPrompt.learnMoreButtonTitle": "En savoir plus", "xpack.csp.cloudPosturePage.vulnerabilitiesInstalledEmptyPrompt.promptDescription": "Ajoutez l'intégration de la Gestion des vulnérabilités natives du cloud pour commencer", + "xpack.csp.cnvmDashboard.statistics.cloudRegionTitle": "Régions du cloud", + "xpack.csp.cnvmDashboard.statistics.criticalTitle": "Critique", + "xpack.csp.cnvmDashboard.statistics.highTitle": "Élevé", + "xpack.csp.cnvmDashboard.statistics.mediumTitle": "Moyenne", + "xpack.csp.cnvmDashboard.statistics.resourcesScannedTitle": "Ressources scannées", + "xpack.csp.cnvmDashboardTable.panel.topPatchVulnerabilities.title": "Top 10 des vulnérabilités corrigeables", + "xpack.csp.cnvmDashboardTable.panel.topVulnerabilities.title": "Top 10 des vulnérabilités", + "xpack.csp.cnvmDashboardTable.panel.topVulnerableResources.title": "Top 10 des ressources vulnérables", + "xpack.csp.cnvmDashboardTable.section.topPatchableVulnerabilities.column.fixedVersion": "Version du correctif", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.cve": "CVE", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.fixedVersion": "Version du correctif", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.packageName": "Nom du pack", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.packageVersion": "Version du pack", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.severity": "Sévérité", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.version": "CVSS", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.vulnerabilities": "Vulnérabilités", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.cve": "CVE", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.region": "Région", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.resource": "Ressource", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.version": "CVSS", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.vulnerabilities": "Vulnérabilités", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.vulnerabilityCount": "Vulnérabilités", + "xpack.csp.compactFormattedNumber.naTitle": "S. O.", "xpack.csp.complianceScoreChart.counterLink.failedFindingsTooltip": "Échec des résultats", "xpack.csp.complianceScoreChart.counterLink.passedFindingsTooltip": "Réussite des résultats", + "xpack.csp.createPackagePolicy.customAssetsTab.cloudNativeVulnerabilityManagementTitleLabel": "Gestion des vulnérabilités natives du cloud ", + "xpack.csp.createPackagePolicy.customAssetsTab.cloudPostureTitleLabel": "Niveau du cloud ", "xpack.csp.createPackagePolicy.customAssetsTab.dashboardViewLabel": "Afficher le tableau de bord CSP", "xpack.csp.createPackagePolicy.customAssetsTab.findingsViewLabel": "Afficher les résultats CSP ", "xpack.csp.createPackagePolicy.customAssetsTab.rulesViewLabel": "Afficher les règles CSP ", + "xpack.csp.createPackagePolicy.customAssetsTab.vulnerabilityFindingsViewLabel": "Afficher les résultats des vulnérabilités ", "xpack.csp.cspEvaluationBadge.failLabel": "Échec", "xpack.csp.cspEvaluationBadge.passLabel": "Réussite", "xpack.csp.cspmIntegration.awsOption.benchmarkTitle": "CIS AWS", @@ -11190,6 +11514,7 @@ "xpack.csp.findings.findingsFlyout.ruleTab.referencesTitle": "Références", "xpack.csp.findings.findingsFlyout.ruleTab.tagsTitle": "Balises", "xpack.csp.findings.findingsFlyout.ruleTabTitle": "Règle", + "xpack.csp.findings.findingsFlyout.tableTabTitle": "Tableau", "xpack.csp.findings.findingsTable.findingsTableColumn.clusterIdColumnLabel": "Appartient à", "xpack.csp.findings.findingsTable.findingsTableColumn.clusterIdColumnTooltipLabel": "ID de cluster Kubernetes ou nom de compte cloud", "xpack.csp.findings.findingsTable.findingsTableColumn.lastCheckedColumnLabel": "Dernière vérification", @@ -11215,6 +11540,7 @@ "xpack.csp.findings.resourceFindingsSharedValues.resourceTypeTitle": "Type de ressource", "xpack.csp.findings.search.queryErrorToastMessage": "Erreur de requête", "xpack.csp.findings.searchBar.searchPlaceholder": "Rechercher dans les résultats (par ex. rule.section : \"serveur d'API\")", + "xpack.csp.findings.tabs.misconfigurations": "Configurations incorrectes", "xpack.csp.findings.tabs.vulnerabilities": "Vulnérabilités", "xpack.csp.findings.title": "Résultats", "xpack.csp.fleetIntegration.cnvm.additionalChargesCalloutDescription": "Veuillez noter que l'utilisation de ce service peut entraîner des frais supplémentaires sur le prochain relevé de facturation provenant de votre fournisseur cloud en raison d'une augmentation de l'utilisation.", @@ -11226,6 +11552,8 @@ "xpack.csp.fleetIntegration.integrationNameLabel": "Nom", "xpack.csp.fleetIntegration.integrationSettingsTitle": "Paramètres de l'intégration", "xpack.csp.fleetIntegration.selectIntegrationTypeTitle": "Sélectionner le type d'intégration de gestion du niveau de sécurité du cloud que vous souhaitez configurer", + "xpack.csp.flyout.tableTab.fieldLabel": "Champ", + "xpack.csp.flyout.tableTab.fieldValueLabel": "Valeur", "xpack.csp.integrationDashboard.noFindings.promptTitle": "Statut d'évaluation des résultats", "xpack.csp.integrationDashboard.noFindingsPrompt.promptDescription": "En attente de la collecte et de l'indexation des données. Si ce processus prend plus de temps que prévu, veuillez contacter notre support technique", "xpack.csp.kspmIntegration.aksOption.benchmarkTitle": "CIS AKS", @@ -11245,6 +11573,7 @@ "xpack.csp.navigation.findingsNavItemLabel": "Résultats", "xpack.csp.navigation.myBenchmarksNavItemLabel": "Benchmarks des niveaux du cloud", "xpack.csp.navigation.rulesNavItemLabel": "Règles", + "xpack.csp.navigation.vulnerabilityDashboardNavItemLabel": "Gestion des vulnérabilités natives du cloud", "xpack.csp.noFindingsStates.indexing.indexingButtonTitle": "Évaluation du niveau en cours", "xpack.csp.noFindingsStates.indexing.indexingDescription": "En attente de la collecte et de l'indexation des données. Revenez plus tard pour voir vos résultats", "xpack.csp.noFindingsStates.indexTimeout.indexTimeoutDocLink": "En savoir plus", @@ -11255,6 +11584,11 @@ "xpack.csp.noFindingsStates.unprivileged.unprivilegedDescription": "Pour afficher les données de niveau du cloud, vous devez mettre à jour les privilèges. Pour en savoir plus, contactez votre administrateur Kibana.", "xpack.csp.noFindingsStates.unprivileged.unprivilegedFooterMarkdown": "Privilège d'index Elasticsearch \"read\" requis pour les index suivants :", "xpack.csp.noFindingsStates.unprivileged.unprivilegedTitle": "Privilèges requis", + "xpack.csp.noVulnerabilitiesStates.indexTimeout.indexTimeoutDocLink": "Question fréquentes sur le CNVM", + "xpack.csp.noVulnerabilitiesStates.indexTimeout.indexTimeoutTitle": "Résultats retardés", + "xpack.csp.noVulnerabilitiesStates.noAgentsDeployed.noAgentsDeployedButtonTitle": "Installer l'agent", + "xpack.csp.noVulnerabilitiesStates.noAgentsDeployed.noAgentsDeployedDescription": "Pour commencer à détecter les vulnérabilités, vous devez déployer elastic-agent dans le compte cloud ou le cluster Kubernetes que vous souhaitez monitorer.", + "xpack.csp.noVulnerabilitiesStates.noAgentsDeployed.noAgentsDeployedTitle": "Aucun agent installé", "xpack.csp.noVulnerabilitiesStates.scanningVulnerabilitiesEmptyPrompt.indexingButtonTitle": "Analyse de votre environnement", "xpack.csp.noVulnerabilitiesStates.scanningVulnerabilitiesEmptyPrompt.indexingDescription": "Les résultats s'afficheront ici dès qu'ils seront disponibles.", "xpack.csp.noVulnerabilitiesStates.unprivileged.unprivilegedDescription": "Pour afficher les données de niveau du cloud, vous devez mettre à jour les privilèges. Pour en savoir plus, contactez votre administrateur Kibana.", @@ -11270,14 +11604,25 @@ "xpack.csp.rules.rulesTable.cisSectionColumnLabel": "Section CIS", "xpack.csp.rules.rulesTable.nameColumnLabel": "Nom", "xpack.csp.rules.rulesTable.searchPlaceholder": "Rechercher par nom de règle", + "xpack.csp.subscriptionNotAllowed.promptDescriptionNoLocator": "Contactez votre administrateur pour modifier votre licence.", "xpack.csp.subscriptionNotAllowed.promptLinkText": "démarrer un essai ou mettre à niveau votre abonnement", "xpack.csp.subscriptionNotAllowed.promptTitle": "Mettre à niveau pour bénéficier des fonctionnalités d'abonnement", "xpack.csp.vulnerabilities": "Vulnérabilités", + "xpack.csp.vulnerabilities.flyoutTabs.fieldLabel": "Champ", + "xpack.csp.vulnerabilities.flyoutTabs.fieldValueLabel": "Valeur", + "xpack.csp.vulnerabilities.resourceVulnerabilities.backToResourcesPageButtonLabel": "Retour aux ressources", + "xpack.csp.vulnerabilities.resourceVulnerabilities.regionTitle": "Région", + "xpack.csp.vulnerabilities.resourceVulnerabilities.resourceIdTitle": "ID ressource", "xpack.csp.vulnerabilities.searchBar.placeholder": "Rechercher des vulnérabilités (par exemple vulnerability.severity : \"CRITICAL\" )", "xpack.csp.vulnerabilities.table.filterIn": "Inclure", "xpack.csp.vulnerabilities.table.filterOut": "Exclure", + "xpack.csp.vulnerabilities.vulnerabilitiesFindingFlyout.flyoutDescriptionList.packageTitle": "Pack", + "xpack.csp.vulnerabilities.vulnerabilitiesFindingFlyout.flyoutDescriptionList.resourceTitle": "Ressource", + "xpack.csp.vulnerabilities.vulnerabilitiesFindingFlyout.flyoutDescriptionList.versionTitle": "Version", "xpack.csp.vulnerabilities.vulnerabilityFindingFlyout.jsonTabLabel": "JSON", + "xpack.csp.vulnerabilities.vulnerabilityFindingFlyout.loadingAriaLabel": "Chargement", "xpack.csp.vulnerabilities.vulnerabilityFindingFlyout.overviewTabLabel": "Aperçu", + "xpack.csp.vulnerabilities.vulnerabilityFindingFlyout.tableTabLabel": "Tableau", "xpack.csp.vulnerabilities.vulnerabilityOverviewTab.cvsScore.unknownVendorName": "Fournisseur inconnu", "xpack.csp.vulnerabilities.vulnerabilityOverviewTab.descriptionTitle": "Description", "xpack.csp.vulnerabilities.vulnerabilityOverviewTab.emptyFixesMessage": "Aucun correctif n'est disponible pour l'instant.", @@ -11286,10 +11631,27 @@ "xpack.csp.vulnerabilities.vulnerabilityOverviewTile.cvsScore": "CVSS", "xpack.csp.vulnerabilities.vulnerabilityOverviewTile.dataSource": "Source de données", "xpack.csp.vulnerabilities.vulnerabilityOverviewTile.publishedDate": "Date de publication", + "xpack.csp.vulnerabilitiesByResource.severityMap.tooltipTitle": "Carte des degrés de gravité", + "xpack.csp.vulnerability_dashboard.cspPageTemplate.pageTitle": "Gestion des vulnérabilités natives du cloud", + "xpack.csp.vulnerabilityByResourceTable.column.region": "Région", + "xpack.csp.vulnerabilityByResourceTable.column.resourceId": "ID ressource", + "xpack.csp.vulnerabilityByResourceTable.column.resourceName": "Nom de ressource", + "xpack.csp.vulnerabilityByResourceTable.column.severityMap": "Carte des degrés de gravité", + "xpack.csp.vulnerabilityByResourceTable.column.vulnerabilities": "Vulnérabilités", + "xpack.csp.vulnerabilityDashboard.trendGraphChart.accountsDropDown.option.allTitle": "Tous", + "xpack.csp.vulnerabilityDashboard.trendGraphChart.accountsDropDown.prepend.accountsTitle": "Comptes", + "xpack.csp.vulnerabilityDashboard.trendGraphChart.trendBySeverityTitle": "Tendance par degré de gravité", + "xpack.csp.vulnerabilityDashboard.viewAllButton.buttonTitle": "Tout afficher", "xpack.csp.vulnerabilityTable.column.fixVersion": "Version du correctif", + "xpack.csp.vulnerabilityTable.column.package": "Pack", "xpack.csp.vulnerabilityTable.column.resource": "Ressource", "xpack.csp.vulnerabilityTable.column.severity": "Sévérité", + "xpack.csp.vulnerabilityTable.column.sortAscending": "Basse -> Critique", + "xpack.csp.vulnerabilityTable.column.sortDescending": "Critique -> Basse", + "xpack.csp.vulnerabilityTable.column.version": "Version", "xpack.csp.vulnerabilityTable.column.vulnerability": "Vulnérabilité", + "xpack.csp.vulnerabilityTable.panel.buttonText": "Afficher toutes les vulnérabilités", + "xpack.csp.vulnerabilityTable.panel.tooltipText": "Explorer dans les résultats", "xpack.csp.vulnMgmtIntegration.awsOption.nameTitle": "Amazon Web Services", "xpack.csp.vulnMgmtIntegration.azureOption.nameTitle": "Azure", "xpack.csp.vulnMgmtIntegration.azureOption.tooltipContent": "Bientôt disponible", @@ -11439,7 +11801,7 @@ "xpack.dataVisualizer.file.analysisSummary.hasHeaderRowTitle": "Possède une ligne d'en-tête", "xpack.dataVisualizer.file.analysisSummary.summaryTitle": "Résumé", "xpack.dataVisualizer.file.analysisSummary.timeFieldTitle": "Champ temporel", - "xpack.dataVisualizer.file.cannotCreateDataView.tooltip": "Vous devez disposer d'une autorisation pour créer des vues de données.", + "xpack.dataVisualizer.file.cannotCreateDataView.tooltip": "Vous devez disposer d'une autorisation pour pouvoir créer des vues de données.", "xpack.dataVisualizer.file.editFlyout.applyOverrideSettingsButtonLabel": "Appliquer", "xpack.dataVisualizer.file.editFlyout.closeOverrideSettingsButtonLabel": "Fermer", "xpack.dataVisualizer.file.editFlyout.overrides.containsTimeFieldLabel": "Contient le champ temporel", @@ -11516,9 +11878,12 @@ "xpack.dataVisualizer.file.importSummary.importCompleteTitle": "Importation terminée", "xpack.dataVisualizer.file.importSummary.indexTitle": "Index", "xpack.dataVisualizer.file.importSummary.ingestPipelineTitle": "Pipeline d'ingestion", + "xpack.dataVisualizer.file.importView.backButtonLabel": "Retour", + "xpack.dataVisualizer.file.importView.cancelButtonLabel": "Sélectionner un autre fichier", "xpack.dataVisualizer.file.importView.dataViewNameAlreadyExistsErrorMessage": "Le nom de la vue de données existe déjà", "xpack.dataVisualizer.file.importView.importButtonLabel": "Importer", "xpack.dataVisualizer.file.importView.importDataTitle": "Importer des données", + "xpack.dataVisualizer.file.importView.importNewButtonLabel": "Importer un nouveau fichier", "xpack.dataVisualizer.file.importView.indexNameAlreadyExistsErrorMessage": "Le nom de l'index existe déjà", "xpack.dataVisualizer.file.importView.indexNameContainsIllegalCharactersErrorMessage": "Le nom de l'index comporte des caractères non autorisés", "xpack.dataVisualizer.file.importView.indexPatternDoesNotMatchDataViewErrorMessage": "La vue de données ne correspond pas au nom de l'index", @@ -11532,7 +11897,9 @@ "xpack.dataVisualizer.file.resultsLinks.indexManagementTitle": "Gestion des index", "xpack.dataVisualizer.file.resultsLinks.viewIndexInDiscoverTitle": "Afficher l'index dans Discover", "xpack.dataVisualizer.file.resultsView.analysisExplanationButtonLabel": "Explication de l'analyse", + "xpack.dataVisualizer.file.resultsView.cancelButtonLabel": "Sélectionner un autre fichier", "xpack.dataVisualizer.file.resultsView.fileStatsName": "Statistiques du fichier", + "xpack.dataVisualizer.file.resultsView.importButtonLabel": "Importer", "xpack.dataVisualizer.file.resultsView.overrideSettingsButtonLabel": "Remplacer les paramètres", "xpack.dataVisualizer.file.simpleImportSettings.createDataViewLabel": "Créer une vue de données", "xpack.dataVisualizer.file.simpleImportSettings.indexNameAriaLabel": "Nom d'index, champ requis", @@ -11597,6 +11964,103 @@ "xpack.dataVisualizer.searchPanel.randomSamplerMessage": "Des valeurs approximatives sont indiquées dans le décompte de documents et le graphique, qui utilisent des agrégations par échantillonnage aléatoire.", "xpack.dataVisualizer.searchPanel.showEmptyFields": "Afficher les champs vides", "xpack.dataVisualizer.title": "Charger un fichier", + "xpack.elasticAssistant.dataAnonymizationEditor.contextEditor.selectAllFields": "Sélectionnez tous les champs {totalFields}", + "xpack.elasticAssistant.dataAnonymizationEditor.contextEditor.selectedFields": "Champs {selected} sélectionnés", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.allowedStat.allowedTooltip": "{allowed} champs sur {total} dans ce contexte sont autorisés à être inclus dans la conversation", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.anonymizedStat.fieldsWillBeAnonymizedTooltip": "{anonymized} {anonymized, plural, =1 {champ} one {champs} many {champs} other {champs}} dans ce contexte sera ou seront remplacé(s) par des valeurs aléatoires. Les réponses sont automatiquement ramenées à leur valeur d’origine.", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.anonymizedStat.noneOfTheDataWillBeAnonymizedTooltip": "{isDataAnonymizable, select, true {Sélectionnez les champs qui doivent être remplacés par des valeurs aléatoires. Les réponses sont automatiquement ramenées à leur valeur d’origine.} other {Ce contexte ne peut pas être anonymisé}}", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.availableStat.availableTooltip": "{total} champs dans ce contexte sont disponibles pour être inclus dans la conversation", + "xpack.elasticAssistant.assistant.apiErrorTitle": "Une erreur s’est produite lors de l’envoi de votre message. Si le problème persiste, veuillez tester la configuration du connecteur.", + "xpack.elasticAssistant.assistant.clearChat": "Effacer le chat", + "xpack.elasticAssistant.assistant.connectors.addConnectorButton.connectorAddedDescription": "Prêt à continuer la conversation...", + "xpack.elasticAssistant.assistant.connectors.addConnectorButton.connectorAddedTitle": "Connecteur d'intelligence artificielle générative ajouté.", + "xpack.elasticAssistant.assistant.connectors.addConnectorButton.description": "Configurez un connecteur pour continuer la conversation", + "xpack.elasticAssistant.assistant.connectors.addConnectorButton.title": "Ajouter un connecteur d'intelligence artificielle générative", + "xpack.elasticAssistant.assistant.connectors.connectorSelector.ariaLabel": "Sélecteur de conversation", + "xpack.elasticAssistant.assistant.connectors.connectorSelector.newConnectorOptions": "Ajouter un nouveau connecteur...", + "xpack.elasticAssistant.assistant.connectors.setup.skipTitle": "Cliquez pour ignorer...", + "xpack.elasticAssistant.assistant.connectors.setup.timestampAtTitle": "à", + "xpack.elasticAssistant.assistant.connectors.setup.userAssistantTitle": "Assistant", + "xpack.elasticAssistant.assistant.connectors.setup.userYouTitle": "Vous", + "xpack.elasticAssistant.assistant.content.prompts.system.defaultSystemPromptName": "Invite de système par défaut", + "xpack.elasticAssistant.assistant.content.prompts.system.ifYouDontKnowTheAnswer": "Ne répondez pas aux questions qui ne sont pas liées à Elastic Security.", + "xpack.elasticAssistant.assistant.content.prompts.system.superheroPersonality": "Donnez la réponse la plus pertinente et détaillée possible, comme si vous deviez communiquer ces informations à un expert en cybersécurité.", + "xpack.elasticAssistant.assistant.content.prompts.system.superheroSystemPromptName": "Invite système améliorée", + "xpack.elasticAssistant.assistant.content.prompts.system.useTheFollowingContextToAnswer": "Utilisez le contexte suivant pour répondre aux questions :", + "xpack.elasticAssistant.assistant.content.prompts.system.youAreAHelpfulExpertAssistant": "Vous êtes un assistant expert et serviable qui répond à des questions au sujet d’Elastic Security.", + "xpack.elasticAssistant.assistant.content.prompts.user.finallySuggestInvestigationGuideAndFormatAsMarkdown": "Ajoutez votre description, les actions que vous recommandez ainsi que les étapes de triage à puces. Utilisez les données \"MITRE ATT&CK\" fournies pour ajouter du contexte et des recommandations de MITRE ainsi que des liens hypertexte vers les pages pertinentes sur le site web de MITRE. Assurez-vous d’inclure les scores de risque de l’utilisateur et de l’hôte du contexte. Votre réponse doit inclure des étapes qui pointent vers les fonctionnalités spécifiques d’Elastic Security, y compris les actions de réponse du terminal, l’intégration OSQuery Manager d’Elastic Agent (avec des exemples de requêtes OSQuery), des analyses de timeline et d’entités, ainsi qu’un lien pour toute la documentation Elastic Security pertinente.", + "xpack.elasticAssistant.assistant.content.prompts.user.thenSummarizeSuggestedKqlAndEqlQueries": "Évaluez l’évènement depuis le contexte ci-dessus et formatez soigneusement votre sortie en syntaxe Markdown pour mon cas Elastic Security.", + "xpack.elasticAssistant.assistant.conversationSelector.ariaLabel": "Sélecteur de conversation", + "xpack.elasticAssistant.assistant.conversationSelector.CustomOptionTextTitle": "Créer une nouvelle conversation :", + "xpack.elasticAssistant.assistant.conversationSelector.defaultConversationTitle": "Conversation sélectionnée", + "xpack.elasticAssistant.assistant.conversationSelector.deleteConversationTitle": "Supprimer la conversation", + "xpack.elasticAssistant.assistant.conversationSelector.nextConversationTitle": "Conversation suivante", + "xpack.elasticAssistant.assistant.conversationSelector.placeholderTitle": "Sélectionnez ou saisissez pour créer une nouvelle...", + "xpack.elasticAssistant.assistant.conversationSelector.previousConversationTitle": "Conversation précédente", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.allActionsTooltip": "Toutes les actions", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.allowAction": "Autoriser", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.allowByDefaultAction": "Permettre par défaut", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.allowedColumnTitle": "Permis", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.alwaysSubmenu": "Toujours", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.anonymizeAction": "Anonymiser", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.anonymizeByDefaultAction": "Anonymiser par défaut", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.anonymizedColumnTitle": "Anonymisé", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.bulkActions": "Actions groupées", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.defaultsSubmenu": "Par défaut", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.denyAction": "Refuser", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.denyByDefaultAction": "Refuser par défaut", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.fieldColumnTitle": "Champ", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.noButtonLabel": "Non", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.unanonymizeAction": "Désanonymiser", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.unanonymizeByDefaultAction": "Désanonymiser par défaut", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.valuesColumnTitle": "Valeurs", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.yesButtonLabel": "Oui", + "xpack.elasticAssistant.assistant.defaultAssistantTitle": "Assistant d’intelligence artificielle d’Elastic", + "xpack.elasticAssistant.assistant.firstPromptEditor.addNewSystemPrompt": "Ajouter une nouvelle invite système...", + "xpack.elasticAssistant.assistant.firstPromptEditor.addSystemPromptTooltip": "Ajouter une invite système", + "xpack.elasticAssistant.assistant.firstPromptEditor.clearSystemPrompt": "Effacer une invite système", + "xpack.elasticAssistant.assistant.firstPromptEditor.commentsListAriaLabel": "Liste de commentaires", + "xpack.elasticAssistant.assistant.firstPromptEditor.editingPromptLabel": "modification d’invite", + "xpack.elasticAssistant.assistant.firstPromptEditor.selectASystemPromptPlaceholder": "Sélectionner une invite système", + "xpack.elasticAssistant.assistant.firstPromptEditor.youLabel": "Vous", + "xpack.elasticAssistant.assistant.newChat.newChatButton": "Chat", + "xpack.elasticAssistant.assistant.newChatById.newChatByIdButton": "Chat", + "xpack.elasticAssistant.assistant.overlay.CancelButton": "Annuler", + "xpack.elasticAssistant.assistant.promptEditor.selectedPromotContexts.removeContextTooltip": "Retirer le contexte", + "xpack.elasticAssistant.assistant.promptEditor.systemPrompt.slCancelButtonTitle": "Annuler", + "xpack.elasticAssistant.assistant.promptEditor.systemPrompt.slSaveButtonTitle": "Enregistrer", + "xpack.elasticAssistant.assistant.promptEditor.systemPrompt.systemPromptModal.systemPromptSelector.ariaLabel": "Sélectionnez pour modifier ou saisissez pour en créer une nouvelle", + "xpack.elasticAssistant.assistant.promptEditor.systemPrompt.systemPromptModal.systemPromptSelector.customOptionText": "Créer une nouvelle invite système nommée", + "xpack.elasticAssistant.assistant.promptEditor.systemPrompt.systemPromptModal.systemPromptSelector.deletePromptTitle": "Supprimer une invite système", + "xpack.elasticAssistant.assistant.promptPlaceholder": "Demandez-moi tout ce que vous voulez, de \"résume cette alerte\" à \"aide-moi à créer une recherche...\"", + "xpack.elasticAssistant.assistant.quickPrompts.modalCancelButtonTitle": "Annuler", + "xpack.elasticAssistant.assistant.quickPrompts.modalSaveButtonTitle": "Enregistrer", + "xpack.elasticAssistant.assistant.quickPrompts.overflowAriaTitle": "Afficher le dépassement d’invites rapides", + "xpack.elasticAssistant.assistant.quickPrompts.promptContextSelector.ariaLabel": "Sélectionnez les catégories de contextes d’invite pour lesquels cette invite rapide sera disponible.", + "xpack.elasticAssistant.assistant.quickPrompts.promptContextSelector.placeholderLabel": "(L’invite rapide sera toujours visible.)", + "xpack.elasticAssistant.assistant.quickPrompts.quickPromptSelector.ariaLabel": "Sélectionnez pour modifier ou saisissez pour en créer une nouvelle", + "xpack.elasticAssistant.assistant.quickPrompts.quickPromptSelector.customOptionText": "Créer une nouvelle invite rapide nommée", + "xpack.elasticAssistant.assistant.quickPrompts.quickPromptSelector.deletePromptTitle": "Supprimer une invite rapide", + "xpack.elasticAssistant.assistant.settings.connectorHelpTextTitle": "Le connecteur Kibana avec lequel effectuer des requêtes", + "xpack.elasticAssistant.assistant.settings.showAnonymizedToggleLabel": "Afficher les anonymisés", + "xpack.elasticAssistant.assistant.settings.showAnonymizedTooltip": "Afficher les valeurs anonymisées envoyées vers et depuis l’assistant", + "xpack.elasticAssistant.assistant.submitMessage": "Envoyer un message", + "xpack.elasticAssistant.assistant.useConversation.defaultConversationTitle": "Par défaut", + "xpack.elasticAssistant.assistant.useConversation.elasticAiAssistantName": "Assistant", + "xpack.elasticAssistant.assistant.useConversation.elasticAiAssistantTitle": "Assistant d’intelligence artificielle d’Elastic", + "xpack.elasticAssistant.assistant.useConversation.welcomeConversationTitle": "Bienvenue", + "xpack.elasticAssistant.connectors.useLoadActionTypes.errorMessage": "Bienvenue sur votre assistant d’intelligence artificielle Elastic. Je suis votre portail 100 % open source vers votre vie Elastic. ", + "xpack.elasticAssistant.connectors.useLoadConnectors.errorMessage": "Bienvenue sur votre assistant d’intelligence artificielle Elastic. Je suis votre portail 100 % open source vers votre vie Elastic. ", + "xpack.elasticAssistant.content.prompts.welcome.welcomeSecurityPrompt": "Bienvenue sur votre assistant d’intelligence artificielle Elastic. Je suis votre portail 100 % open source vers Elastic Security. ", + "xpack.elasticAssistant.dataAnonymization.settings.anonymizationSettings.calloutParagraph1": "Les champs ci-dessous sont permis par défaut", + "xpack.elasticAssistant.dataAnonymization.settings.anonymizationSettings.calloutParagraph2": "Activer optionnellement l’anonymisation pour ces champs", + "xpack.elasticAssistant.dataAnonymization.settings.anonymizationSettings.calloutTitle": "Valeur par défaut de l'anonymisation", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.allowedStat.allowedDescription": "Permis", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.anonymizedStat.anonymizeFieldsdDescription": "Anonymisé", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.availableStat.availableDescription": "Disponible", + "xpack.elasticAssistant.securityAssistant.content.prompts.welcome.welcomeGeneral2Prompt": "Avant toute chose, il faut configurer un Connecteur d'intelligence artificielle générative pour lancer cette expérience de chat ! Avec le connecteur d'intelligence artificielle générative, vous pourrez configurer l’accès à Azure OpenAI Service ou à un compte d’API OpenAI, mais sachez que vous serez en mesure de déployer vos propres modèles au sein d’une instance Elastic Cloud et les y utiliser à l’avenir... 😉", + "xpack.elasticAssistant.securityAssistant.content.prompts.welcome.welcomeGeneral3Prompt": "Cliquez sur le bouton \"Ajouter un connecteur\" ci-dessous pour continuer la conversation.", + "xpack.elasticAssistant.securityAssistant.content.prompts.welcome.welcomeGeneralPrompt": "Bienvenue sur votre assistant d’intelligence artificielle Elastic. Je suis votre portail 100 % open-code vers votre vie Elastic. Avec le temps, je serai capable de répondre à vos questions et de vous apporter mon aide concernant l’ensemble de vos informations contenues dans Elastic, et bien plus encore. En attendant, j’espère que cet aperçu anticipé vous donnera une idée de ce que nous pouvons créer en travaillant ensemble, en toute transparence. À bientôt !", "xpack.embeddableEnhanced.actions.panelNotifications.manyDrilldowns": "Le panneau comporte {count} explorations", "xpack.embeddableEnhanced.actions.panelNotifications.oneDrilldown": "Le panneau comporte 1 recherche", "xpack.embeddableEnhanced.Drilldowns": "Explorations", @@ -11604,6 +12068,7 @@ "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.searchui.stepTwo.moreInfoDescription": "Pour en savoir plus sur l'initialisation du suivi et le déclenchement d'événements, consultez {link}.", "xpack.enterpriseSearch.analytics.collections.notFound.headingTitle": "Résultats introuvables pour \"{query}\"", "xpack.enterpriseSearch.analytics.collectionsView.explorer.tableSummary": "Affichage de {items} sur {totalItemsCount}", + "xpack.enterpriseSearch.analytics.collectionsView.explorer.tableSummaryIndeterminate": "Affichage de {items} des {maxItemsCount} premiers résultats", "xpack.enterpriseSearch.appSearch.crawler.action.deleteDomain.confirmationPopupMessage": "Voulez-vous vraiment supprimer le domaine \"{domainUrl}\" et tous ses paramètres ?", "xpack.enterpriseSearch.appSearch.crawler.addDomainForm.entryPointLabel": "Le point d'entrée du robot d'indexation a été défini sur {entryPointValue}", "xpack.enterpriseSearch.appSearch.crawler.automaticCrawlSchedule.formDescription": "Ne vous inquiétez pas, nous lancerons une indexation à votre place. {readMoreMessage}.", @@ -11676,13 +12141,6 @@ "xpack.enterpriseSearch.appSearch.sourceEngines.removeEngineConfirmDialogue.description": "Le moteur {engineName} sera retiré de ce métamoteur. Tous les paramètres existants seront perdus. Voulez-vous vraiment continuer ?", "xpack.enterpriseSearch.content.crawler.domainDetail.title": "Gérer {domain}", "xpack.enterpriseSearch.content.crawler.extractionRules.deleteModal.description": "Si vous supprimez cette règle, cela supprimera également {fields, plural, one {une règle de champ} many {# règles de champ} other {# règles de champ}}. Cette action ne peut pas être annulée.", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.actions.removeIndex.caption": "Retirer l'index {indexName}", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.actions.viewIndex.caption": "Afficher l'index {indexName}", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.conflict.callout.title": "{totalConflictsHiddenByTypeFilters, number} {totalConflictsHiddenByTypeFilters, plural, one {conflit} many {conflits} other {conflits}} en plus ne sont pas affichés ici", - "xpack.enterpriseSearch.searchApplications.list.deleteSearchApplication.successToast.title": "{searchApplicationName} a été supprimé", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.headerSubTitle": "Pour en savoir plus, explorez notre {docsLink} !", - "xpack.enterpriseSearch.searchApplications.list.indicesFlyout.subTitle": "Afficher les index associés à {searchApplicationName}", - "xpack.enterpriseSearch.searchApplications.list.table.column.view.indices": "{indicesCount, number} {indicesCount, plural, one {index} many {index} other {index}}", "xpack.enterpriseSearch.content.index.connector.syncRules.description": "Ajoutez une règle de synchronisation pour personnaliser les données qui sont synchronisées à partir de {indexName}. Tout est inclus par défaut, et les documents sont validés par rapport à l'ensemble des règles de synchronisation configurées dans l'ordre répertorié.", "xpack.enterpriseSearch.content.index.connector.syncRules.flyout.errorTitle": "{ids} {idsLength, plural, one {règle} many {règles} other {règles}} de synchronisation {idsLength, plural, one {est} many {sont} other {sont}} non valide(s).", "xpack.enterpriseSearch.content.index.pipelines.copyCustomizeCallout.description": "Votre index utilise notre pipeline d'ingestion par défaut {defaultPipeline}. Copiez ce pipeline dans une configuration spécifique à l'index pour déverrouiller la possibilité de créer des pipelines d'ingestion et d'inférence personnalisés.", @@ -11693,12 +12151,15 @@ "xpack.enterpriseSearch.content.indices.configurationConnector.config.defaultValue": "Si cette option est laissée vide, la valeur par défaut {defaultValue} sera utilisée.", "xpack.enterpriseSearch.content.indices.configurationConnector.config.description.firstParagraph": "Maintenant que votre connecteur est déployé, améliorez le client du connecteur pour votre source de données personnalisée. Il y en a plusieurs {link} que vous pouvez personnaliser avec votre propre logique d'implémentation supplémentaire.", "xpack.enterpriseSearch.content.indices.configurationConnector.config.description.thirdParagraph": "Si vous avez besoin d'aide, vous pouvez toujours ouvrir un {issuesLink} dans le référentiel ou bien poser une question dans notre forum {discussLink}.", + "xpack.enterpriseSearch.content.indices.configurationConnector.config.invalidInteger": "{label} doit être un nombre entier.", "xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.connectorConnected": "Votre connecteur {name} est connecté à Enterprise Search.", - "xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.description.secondParagraph": "Le référentiel de connecteurs contient plusieurs liens {link} pour vous aider à utiliser notre cadre de développement accéléré avec des sources de données personnalisées.", - "xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.description.thirdParagraph": "Dans cette étape, vous devez cloner ou dupliquer le référentiel, puis copier la clé d'API et l'ID de connecteur générés au {link} associé. L'ID de connecteur identifie ce connecteur auprès d'Enterprise Search.", + "xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.description.secondParagraph": "Le référentiel de connecteurs contient plusieurs {link}. Utilisez notre framework de développement accéléré avec des sources de données personnalisées.", + "xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.description.thirdParagraph": "Dans cette étape, vous devez cloner ou dupliquer le référentiel, puis copier la clé d'API et l'ID de connecteur générés au {link} associé. L'ID de connecteur identifie ce connecteur auprès d'Enterprise Search. Le type de service détermine pour quel type de source de données le connecteur est configuré.", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.config.sourceSecurityDocumentationLinkLabel": "Authentification {name}", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.connectorConnected": "Votre connecteur {name} est connecté à Enterprise Search.", + "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.convertConnector.description": "Vous souhaitez personnaliser ce connecteur natif ? Convertissez-le en {link}, afin qu’il soit autogéré sur votre propre infrastructure.", "xpack.enterpriseSearch.content.indices.configurationConnector.researchConfiguration.serviceDocumentationLinkLabel": "Documentation de {name}", + "xpack.enterpriseSearch.content.indices.connectorScheduling.page.description": "Votre connecteur est désormais déployé. Vous pouvez planifier du contenu récurrent et accéder aux synchronisations de contrôle ici. Si vous souhaitez exécuter un test rapide, lancez une synchronisation unique à l’aide du bouton {sync}.", "xpack.enterpriseSearch.content.indices.deleteIndex.successToast.title": "Votre index {indexName} et toute configuration d'ingestion associée ont été supprimés avec succès", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.noModels.description": "Aucun de vos modèles entraînés de Machine Learning ne peut être utilisé par un pipeline d'inférence. {documentationLink}", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.name.helpText": "Les noms de pipeline sont uniques dans un déploiement, et ils peuvent uniquement contenir des lettres, des chiffres, des traits de soulignement et des traits d'union. Cela créera un pipeline nommé {pipelineName}.", @@ -11713,19 +12174,22 @@ "xpack.enterpriseSearch.content.indices.pipelines.successToastDeleteMlPipeline.title": "Pipeline d'inférence de Machine Learning \"{pipelineName}\" supprimé", "xpack.enterpriseSearch.content.indices.pipelines.successToastDetachMlPipeline.title": "Pipeline d'inférence de Machine Learning détaché de \"{pipelineName}\"", "xpack.enterpriseSearch.content.indices.pipelines.tabs.jsonConfigurations.unmanaged.description": "Modifier ce pipeline à partir de {ingestPipelines} dans Gestion de la Suite", + "xpack.enterpriseSearch.content.indices.selectConnector.description.selfManaged.text": "Pour les cas d’utilisation avancés, déployez {connectorsClient} sur votre propre infrastructure. Personnalisez les connecteurs existants ou créez le vôtre à l’aide de notre infrastructure de connecteur. {learnMore}", + "xpack.enterpriseSearch.content.indices.selectConnector.description.textcloud": "{native} sont disponibles directement dans les déploiements Elastic Cloud. Aucune infrastructure supplémentaire n’est requise. Les déploiements autogérés doivent déployer le service de connecteur pour exécuter des connecteurs natifs. {learnMore}", "xpack.enterpriseSearch.content.new_index.connectorTitleWithServiceType": "Nouvel index de recherche {name}", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.alreadyExists.error": "Un index portant le nom {indexName} existe déjà", + "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.formDescription": "Cet index contiendra le contenu de la source de données et il est optimisé avec les mappings de champ par défaut pour les expériences de recherche correspondantes. Donnez un nom unique à votre index et définissez éventuellement un {language_analyzer} par défaut pour l’index.", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.isInvalid.error": "{indexName} n'est pas un nom d'index valide", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.nameInputHelpText.lineOne": "Votre index sera nommé : {indexName}", "xpack.enterpriseSearch.content.newIndex.steps.buildConnector.confirmModal.description": "Un index supprimé appelé {indexName} était, à l'origine, lié à une configuration de connecteur. Voulez-vous remplacer cette configuration de connecteur par la nouvelle ?", - "xpack.enterpriseSearch.searchApplications.list.description": "Les applications de recherche permettent de rendre vos données Elasticsearch consultables par les utilisateurs finaux, avec des outils de pertinence, d'analyse et de personnalisation prêts à l'emploi. Pour en savoir plus, {documentationUrl}.", - "xpack.enterpriseSearch.searchApplications.list.itemRange": "Affichage de {from}-{to} sur {total}", + "xpack.enterpriseSearch.content.overview.documentExample.description.text": "Générez une clé API et lisez la {documentation} concernant l’envoi de documents au point de terminaison de l’API Elasticsearch. Utilisez des {clients} Elastic pour une intégration rationalisée.", "xpack.enterpriseSearch.content.searchIndex.documents.documentList.description": "Affichage de {results} sur {total}. Nombre maximal de résultats de recherche de {maximum} documents.", "xpack.enterpriseSearch.content.searchIndex.documents.documentList.pagination.itemsPerPage": "Documents par page : {docPerPage}", "xpack.enterpriseSearch.content.searchIndex.documents.documentList.paginationOptions.option": "{docCount} documents", "xpack.enterpriseSearch.content.searchIndex.documents.documentList.resultLimit": "Seuls les {number} premiers résultats sont disponibles pour la pagination. Veuillez utiliser la barre de recherche pour filtrer vos résultats.", "xpack.enterpriseSearch.content.searchIndex.documents.documentList.resultLimitTitle": "Les résultats sont limités à {number} documents", "xpack.enterpriseSearch.content.searchIndex.mappings.description": "Vos documents sont constitués d'un ensemble de champs. Les mappings d'index donnent à chaque champ un type (tel que {keyword}, {number} ou {date}) et des champs secondaires supplémentaires. Ces mappings d'index déterminent les fonctions disponibles dans votre réglage de pertinence et votre expérience de recherche.", + "xpack.enterpriseSearch.content.searchIndex.nativeCloudCallout.content": "Convertissez-les en {link} afin qu’ils soient autogérés sur votre propre infrastructure. Les connecteurs natifs sont disponibles uniquement dans votre déploiement Elastic Cloud.", "xpack.enterpriseSearch.content.searchIndices.actions.deleteIndex.caption": "Supprimer l'index {indexName}", "xpack.enterpriseSearch.content.searchIndices.actions.viewIndex.caption": "Afficher l'index {indexName}", "xpack.enterpriseSearch.content.searchIndices.deleteModal.delete.description": "La suppression de cet index supprimera également toutes ses données et sa configuration {ingestionMethod}. Les applications de recherche associées ne pourront plus accéder à aucune donnée stockée dans cet index.", @@ -11750,6 +12214,19 @@ "xpack.enterpriseSearch.errorConnectingState.cloudErrorMessage": "Est-ce que des nœuds Enterprise Search sont en cours d'exécution dans votre déploiement cloud ? {deploymentSettingsLink}", "xpack.enterpriseSearch.errorConnectingState.description1": "Impossible d'établir une connexion à Enterprise Search au niveau de l'URL hôte {enterpriseSearchUrl} en raison de l'erreur suivante :", "xpack.enterpriseSearch.errorConnectingState.description2": "Vérifiez que l'URL hôte est correctement configurée dans {configFile}.", + "xpack.enterpriseSearch.esre.elser.description": "Déployez le {elser} sans effort pour des capacités de recherche sémantique de texte instantanées en quelques clics seulement. Ce modèle développe votre document et votre texte de requête utilisant le champ \"text_expansion\", ce qui vous permet immédiatement de faire des recherches transparentes.", + "xpack.enterpriseSearch.esre.elserPanel.step2.description": "Après avoir créé un index, sélectionnez-le et cliquez sur l’onglet intitulé \"{pipelinesName}\".", + "xpack.enterpriseSearch.esre.esreDocsSection.description": "Pour en savoir plus sur comment débuter avec ESRE et tester ces outils avec des exemples concrets, consultez la {esreDocumentation}.", + "xpack.enterpriseSearch.esre.esreDocsSection.faq.description": "Découvrez ce qu’est (et n’est pas) ESRE avec ces {frequentlyAskedQuestions}.", + "xpack.enterpriseSearch.esre.esreDocsSection.help.description": "Besoin d'aide ? Consultez {discussForum}.", + "xpack.enterpriseSearch.esre.esreDocsSection.learn.description": "Ces sujets sont complexes, c’est pourquoi nous avons choisi quelques {learningTopics} pour vous aider à démarrer.", + "xpack.enterpriseSearch.esre.measurePerformanceSection.description": "Utilisez les tableaux de bord et outils de {behavioralAnalytics} pour visualiser le comportement des utilisateurs et mesurer l’impact de vos modifications.", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step1.description": "Consultez les {behavioralAnalytics} et créez votre première collection", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.description": "Utilisez des outils de traitement du langage naturel (NLP) tels que l’analyse des sentiments, la synthèse ou la reconnaissance d’entités nommées pour améliorer la pertinence de vos résultats de recherche. NLP utilise plusieurs {supportedMlModels} que vous pouvez charger pour analyser et enrichir intelligemment des documents avec des champs supplémentaires.", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step3.description": "Accédez à l’onglet {pipelinesName} de votre index pour créer un pipeline d’inférence qui utilise votre modèle déployé.", + "xpack.enterpriseSearch.esre.rrfRankingPanel.description": "Utilisez {rrf} pour combiner des classements de plusieurs ensembles de résultats avec différents indicateurs de pertinence, sans avoir besoin d’ajustement.", + "xpack.enterpriseSearch.esre.vectorSearchPanel.description": "Utilisez des {vectorDbCapabilities} en ajoutant des incorporations de vos modèles ML. Déployez des modèles entraînés sur des nœuds de ML Elastic et configurez des pipelines d’inférence pour ajouter automatiquement des incorporations quand vous ingérez des documents, afin de pouvoir utiliser la méthode de recherche vectorielle kNN dans _search.", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step3.description": "Accédez à l’onglet {pipelinesName} de votre index pour créer un pipeline d’inférence qui utilise votre modèle déployé.", "xpack.enterpriseSearch.index.connector.syncRules.description": "Inclure ou exclure les éléments de haut niveau, les types de fichier et les chemins (de fichier ou de répertoire) pour\n effectuer la synchronisation à partir de {indexName}. Tout est inclus par défaut. Chaque document est\n testé par rapport aux règles ci-dessous, et la première règle qui correspond est appliquée.", "xpack.enterpriseSearch.inferencePipelineCard.action.delete.disabledDescription": "Ce pipeline d'inférence ne peut pas être supprimé, car il est utilisé dans plusieurs pipelines [{indexReferences}]. Pour le supprimer, vous devez le détacher des autres pipelines pour ne garder qu'un seul pipeline d'ingestion.", "xpack.enterpriseSearch.inferencePipelineCard.deleteConfirm.description": "Vous êtes en train de retirer le pipeline \"{pipelineName}\" du pipeline d'inférence de Machine Learning pour le supprimer.", @@ -11764,6 +12241,7 @@ "xpack.enterpriseSearch.server.routes.indices.existsErrorLogMessage": "Une erreur s'est produite lors de la résolution de la requête en {requestUrl}", "xpack.enterpriseSearch.server.routes.indices.pipelines.indexMissingError": "L'index {indexName} n'existe pas", "xpack.enterpriseSearch.server.routes.indices.pipelines.pipelineMissingError": "Le pipeline {pipelineName} n'existe pas", + "xpack.enterpriseSearch.server.routes.indices.pipelines.pipelineNotFoundError": "Le pipeline {pipelineName} n'existe pas", "xpack.enterpriseSearch.server.utils.invalidEnumValue": "Valeur {value} non autorisée pour le champ {fieldName}", "xpack.enterpriseSearch.setupGuide.cloud.step1.instruction1": "Consultez la console Elastic Cloud pour {editDeploymentLink}.", "xpack.enterpriseSearch.setupGuide.cloud.step3.instruction1": "Après l'activation d'Enterprise Search pour votre instance, vous pouvez personnaliser l'instance, notamment la tolérance de panne, la RAM et d'autres {optionsLink}.", @@ -11918,6 +12396,7 @@ "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptClientEmbed.title": "Javascript Client", "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepOne.description": "Incorporez l'extrait JavaScript d'analyse comportementale dans chaque page du site web ou de l'application que vous souhaitez suivre.", "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepOne.title": "Incorporer dans le site", + "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepThree.description": "Suivez les événements de recherche individuels, tels que les clics sur les résultats et les recherches, à l'aide des méthodes \"trackSearch\" ou \"trackSearchClick\".", "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepThree.title": "Suivre les événements de recherche", "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepTwo.description": "Vous devez initialiser le client pour pouvoir suivre les événements. Nous recommandons d'effectuer l'initialisation juste au-dessous de la balise de script.", "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepTwo.title": "Initialiser le client", @@ -11952,6 +12431,7 @@ "xpack.enterpriseSearch.analytics.collectionsCreate.form.label": "Nom de la collection", "xpack.enterpriseSearch.analytics.collectionsCreate.form.subtitle": "Réfléchissez attentivement au nom que vous voulez donner à votre collection. Vous ne pourrez pas la renommer ultérieurement.", "xpack.enterpriseSearch.analytics.collectionsCreate.form.title": "Nommer votre collection", + "xpack.enterpriseSearch.analytics.collectionsCreate.invalidName": "Le nom de la collection ne peut contenir que des caractères minuscules, des chiffres et des tirets", "xpack.enterpriseSearch.analytics.collectionsDelete.action.successMessage": "La collection a été supprimée avec succès", "xpack.enterpriseSearch.analytics.collectionsView.explorer.callout.button": "Explorer", "xpack.enterpriseSearch.analytics.collectionsView.explorer.callout.description": "Passez en revue vos logs d'événement dans Discover pour obtenir plus d'informations sur les indicateurs de votre application.", @@ -11966,7 +12446,7 @@ "xpack.enterpriseSearch.analytics.collectionsView.integration.corsStep.description": "Vous devez configurer CORS pour autoriser les requêtes du domaine de votre site web vers le point de terminaison de l'API Analytics. Pour ce faire, ajoutez ce qui suit à votre fichier de configuration Elasticsearch :", "xpack.enterpriseSearch.analytics.collectionsView.integration.corsStep.descriptionTwo": "Vous pouvez également utiliser un serveur proxy pour acheminer les demandes d'analyse du domaine de votre site web vers le point de terminaison de l'API Analytics, ce qui vous évite de configurer CORS.", "xpack.enterpriseSearch.analytics.collectionsView.integration.corsStep.learnMoreLink": "Découvrir CORS pour Behavioral Analytics.", - "xpack.enterpriseSearch.analytics.collectionsView.integration.description": "Installez facilement notre outil de suivi sur votre application de recherche afin de recevoir des données d'analyse approfondies. Aucune application de recherche n'est requise.", + "xpack.enterpriseSearch.analytics.collectionsView.integration.description": "Installez facilement notre outil de suivi sur votre application ou site web afin de recevoir des données d'analyse approfondies.", "xpack.enterpriseSearch.analytics.collectionsView.integration.title": "Intégration de l'outil de suivi", "xpack.enterpriseSearch.analytics.collectionsView.manageButton": "Gérer", "xpack.enterpriseSearch.analytics.collectionsView.manageEventsDatastream": "Gérer les flux de données des événements", @@ -11984,7 +12464,8 @@ "xpack.enterpriseSearch.analytics.productDescription": "Tableaux de bord et outils permettant de visualiser le comportement des utilisateurs finaux et de mesurer les performances de vos applications de recherche.", "xpack.enterpriseSearch.analytics.productName": "Behavioral Analytics", "xpack.enterpriseSearch.analytics.searchPlaceholder": "Rechercher des noms de collection", - "xpack.enterpriseSearch.applications.navTitle": "Applications", + "xpack.enterpriseSearch.applications.navTitle": "Applications de recherche", + "xpack.enterpriseSearch.applications.productName": "Applications", "xpack.enterpriseSearch.appSearch.actions.restoreDefaultsButonLabel": "Restaurer les valeurs par défaut", "xpack.enterpriseSearch.appSearch.adminRoleTypeDescription": "Les administrateurs peuvent tout faire, sauf gérer les paramètres de comptes.", "xpack.enterpriseSearch.appSearch.allEnginesDescription": "L'attribution à tous les moteurs comprend tous les moteurs actuels et futurs tels qu'ils ont été créés ou seront créés et administrés à une date ultérieure.", @@ -12801,9 +13282,14 @@ "xpack.enterpriseSearch.appSearch.tokens.search.name": "Clé de recherche publique", "xpack.enterpriseSearch.appSearch.tokens.update": "La clé d'API \"{name}\" a été mise à jour", "xpack.enterpriseSearch.automaticCrawlSchedule.title": "Fréquence d'indexation", + "xpack.enterpriseSearch.betaCalloutTitle": "Fonctionnalité bêta", + "xpack.enterpriseSearch.betaConnectorCalloutDescription": "Ce connecteur est en version bêta. Les fonctionnalités bêta sont susceptibles d'être modifiées et ne sont pas couvertes par l'accord de niveau de service (SLA) des fonctionnalités de la version générale (GA). Elastic prévoit de faire passer cette fonctionnalité en disponibilité générale dans une prochaine version.", + "xpack.enterpriseSearch.betaConnectorCalloutTitle": "Connecteur en version bêta", "xpack.enterpriseSearch.betaLabel": "Bêta", "xpack.enterpriseSearch.connector.connectorTypePanel.title": "Type de connecteur", "xpack.enterpriseSearch.connector.connectorTypePanel.unknown.label": "Inconnu", + "xpack.enterpriseSearch.connector.documentLevelSecurity.enablePanel.description": "Vous permet de contrôler les documents auxquels peuvent accéder les utilisateurs, selon leurs autorisations. Cela permet de vous assurer que les résultats de recherche ne renvoient que des informations pertinentes et autorisées pour les utilisateurs, selon leurs rôles.", + "xpack.enterpriseSearch.connector.documentLevelSecurity.enablePanel.heading": "Sécurité au niveau du document", "xpack.enterpriseSearch.connector.ingestionStatus.title": "Statut de l'ingestion", "xpack.enterpriseSearch.content,overview.documentExample.clientLibraries.label": "Bibliothèques de clients", "xpack.enterpriseSearch.content.analytics.api.generateAnalyticsApiKeyModal.apiKeyWarning": "Elastic ne stocke pas les clés d’API. Une fois la clé générée, vous ne pourrez la visualiser qu'une seule fois. Veillez à l'enregistrer dans un endroit sûr. Si vous n'y avez plus accès, vous devrez générer une nouvelle clé d’API à partir de cet écran.", @@ -12847,73 +13333,6 @@ "xpack.enterpriseSearch.content.crawler.extractionRulesTable.emptyMessageTitle": "Il n'existe aucune règle d'extraction de contenu", "xpack.enterpriseSearch.content.crawler.siteMaps": "Plans de site", "xpack.enterpriseSearch.content.description": "Enterprise Search offre un certain nombre de moyens de rendre vos données facilement interrogeables. Vous pouvez choisir entre le robot d'indexation, les indices Elasticsearch, l'API, les téléchargements directs ou les connecteurs tiers.", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.apiKeyWarning": "Elastic ne stocke pas les clés d’API. Une fois la clé générée, vous ne pourrez la visualiser qu'une seule fois. Veillez à l'enregistrer dans un endroit sûr. Si vous n'y avez plus accès, vous devrez générer une nouvelle clé d’API à partir de cet écran.", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.cancel": "Annuler", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.csvDownloadButton": "Télécharger la clé d'API", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.done": "Terminé", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.generateButton": "Générer une clé en lecture seule", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.title": "Créer une clé d'API en lecture seule pour l'application de recherche", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.actions.columnTitle": "Actions", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.actions.removeIndex.title": "Supprimer cet index de l'application de recherche", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.actions.viewIndex.title": "Afficher cet index", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addIndicesFlyout.cancelButton": "Annuler", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addIndicesFlyout.selectableLabel": "Sélectionner des index interrogeables", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addIndicesFlyout.submitButton": "Ajouter la sélection", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addIndicesFlyout.title": "Ajouter de nouveaux index", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addNewIndicesButton": "Ajouter de nouveaux index", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.docsCount.columnTitle": "Nombre de documents", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.docsCount.notAvailableLabel": "S. O.", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.health.columnTitle": "Intégrité des index", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.name.columnTitle": "Nom de l'index", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.removeIndexConfirm.description": "L'index ne sera pas supprimé. Vous pourrez l'ajouter de nouveau à cette application de recherche ultérieurement.", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.removeIndexConfirm.text": "Oui, retirer cet index", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.removeIndexConfirm.title": "Supprimer cet index de l'application de recherche", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.searchPlaceholder": "Filtrer les index", - "xpack.enterpriseSearch.searchApplications.indicesSelect.docsLabel": "Documents :", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_indices.columnTitle": "Dans tous les index ?", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_indices.moreInfo": "Plus d'infos", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_indices.no": "Non", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_indices.yes": "Oui", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_name.columnTitle": "Nom du champ", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_type.columnTitle": "Type du champ", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_type.conflict": "Conflit", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.index.columnTitle": "Index parent", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.notInAllIndices.description": "Découvrez le mapping de champs dans", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.notInAllIndices.link": "notre documentation.", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.notInAllIndices.title": "Ce champ n'est pas mappé dans chaque index.", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.type.columnTitle": "Champs mappés en tant que", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.type.unmapped": "Non mappés", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters": "Types de champ", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.clearAll": "Tout effacer ", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.conflict.callout.clearFilters": "Effacer les filtres ", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.conflict.callout.subTitle": "Afin de voir tous les conflits de champ, vous devez effacer vos filtres de recherche.", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.label": "Filtrer par", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.searchPlaceholder": "Liste de filtres ", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.onlyShowConflicts": "Afficher uniquement les conflits", - "xpack.enterpriseSearch.searchApplications.list.deleteSearchApplicationModal.confirmButton.title": "Oui, supprimer cette application de recherche", - "xpack.enterpriseSearch.searchApplications.list.deleteSearchApplicationModal.delete.description": "La suppression de votre application de recherche ne peut pas être annulée. Vos index ne seront pas affectés. ", - "xpack.enterpriseSearch.searchApplications.list.deleteSearchApplicationModal.title": "Supprimer définitivement cette application de recherche ?", - "xpack.enterpriseSearch.searchApplications.list.table.column.actions.deleteSearchApplicationLabel": "Supprimer cette application de recherche", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.header.createError.title": "Erreur lors de la création de l'application de recherche", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.header.docsLink": "Documentation sur les applications de recherche", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.headerTitle": "Créer une application de recherche", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.searchApplicationName.placeholder": "Nom de l'application de recherche", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.searchApplicationName.title": "Nommer votre application de recherche", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.selectIndices.title": "Sélectionner les index", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.submit": "Créer", - "xpack.enterpriseSearch.searchApplications.list.empty.description": "Découvrez comment créer votre première application de recherche.", - "xpack.enterpriseSearch.searchApplications.list.empty.title": "Créer votre première application de recherche", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addIndicesFlyout.updateError.title": "Erreur lors de la mise à jour du moteur", - "xpack.enterpriseSearch.searchApplications.list.indicesFlyout.table.docsCount.columnTitle": "Nombre de documents", - "xpack.enterpriseSearch.searchApplications.list.indicesFlyout.table.health.columnTitle": "Intégrité des index", - "xpack.enterpriseSearch.searchApplications.list.indicesFlyout.table.name.columnTitle": "Nom de l'index", - "xpack.enterpriseSearch.searchApplications.list.indicesFlyout.title": "Afficher les index", - "xpack.enterpriseSearch.searchApplications.list.table.column.action.delete.buttonDescription": "Supprimer cette application de recherche", - "xpack.enterpriseSearch.searchApplications.list.table.column.actions": "Actions", - "xpack.enterpriseSearch.searchApplications.list.table.column.actions.view.buttonDescription": "Afficher cette application de recherche", - "xpack.enterpriseSearch.searchApplications.list.table.column.indices": "Index", - "xpack.enterpriseSearch.searchApplications.list.table.column.lastUpdated": "Dernière mise à jour", - "xpack.enterpriseSearch.searchApplications.list.table.column.name": "Nom de l'application de recherche", "xpack.enterpriseSearch.content.filteringRules.policy.exclude": "Exclure", "xpack.enterpriseSearch.content.filteringRules.policy.include": "Inclure", "xpack.enterpriseSearch.content.filteringRules.rules.contains": "Contient", @@ -12932,6 +13351,7 @@ "xpack.enterpriseSearch.content.index.connector.syncRules.basicRulesDescription": "Ces règles s'appliquent aux documents pendant la phrase de filtrage de l'intégration.", "xpack.enterpriseSearch.content.index.connector.syncRules.basicRulesTitle": "Règles de base", "xpack.enterpriseSearch.content.index.connector.syncRules.basicTabTitle": "Règles de base", + "xpack.enterpriseSearch.content.index.connector.syncRules.flyout.betaDescription": "Les règles de synchronisation sont une fonctionnalité en version bêta. Les fonctionnalités bêta sont susceptibles d'être modifiées et ne sont pas couvertes par l'accord de niveau de service (SLA) des fonctionnalités de la version générale (GA). Elastic prévoit de faire passer cette fonctionnalité en disponibilité générale dans une prochaine version.", "xpack.enterpriseSearch.content.index.connector.syncRules.flyout.description": "Planifiez et modifiez les règles ici avant de les appliquer à la prochaine synchronisation.", "xpack.enterpriseSearch.content.index.connector.syncRules.flyout.revertButtonTitle": "Revenir aux règles actives", "xpack.enterpriseSearch.content.index.connector.syncRules.flyout.title": "Ébauches de règles", @@ -12956,16 +13376,29 @@ "xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.modalBodyConnectorText": "Ce pipeline s'exécute automatiquement sur tous les index Robot d'indexation et Connecteur créés via Enterprise Search.", "xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.modalHeaderTitle": "Paramètres du pipeline", "xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.modalIngestLinkLabel": "En savoir plus sur les pipelines d'ingestion Enterprise Search", + "xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.modalIngestLinkLocalExtractionLabel": "En savoir plus sur l'extraction de contenu local.", "xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.saveButtonLabel": "Enregistrer", "xpack.enterpriseSearch.content.index.pipelines.settings.extractBinaryDescription": "Extraire le contenu des images et des fichiers PDF", + "xpack.enterpriseSearch.content.index.pipelines.settings.extractBinaryDisabledWarningContent": "Étant donné que l’extraction de contenu local est activée pour ce connecteur, les paramètres d’extraction de contenu de pipeline ne peuvent pas être utilisés.", + "xpack.enterpriseSearch.content.index.pipelines.settings.extractBinaryDisabledWarningTitle": "L’extraction de contenu ne peut pas être configurée", "xpack.enterpriseSearch.content.index.pipelines.settings.extractBinaryLabel": "Extraction du contenu", "xpack.enterpriseSearch.content.index.pipelines.settings.formHeader": "Optimisez votre contenu pour la recherche", "xpack.enterpriseSearch.content.index.pipelines.settings.mlInferenceLabel": "Pipelines d'inférence de ML", "xpack.enterpriseSearch.content.index.pipelines.settings.reduceWhitespaceDescription": "Supprimer automatiquement l'espace supplémentaire de vos documents", "xpack.enterpriseSearch.content.index.pipelines.settings.reduceWhitespaceLabel": "Réduire l'espace", "xpack.enterpriseSearch.content.index.pipelines.settings.runMlInferenceDescrition": "Améliorer vos données à l'aide de modèles de ML entraînés compatibles", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.deployedBody": "Vous pouvez démarrer le modèle dans une configuration à un seul thread pour le tester, ou régler les performances pour un environnement de production.", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.deployedTitle": "Votre modèle ELSER a été déployé mais n’a pas démarré.", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.deployingBody": "Vous pouvez continuer à créer votre pipeline avec d’autres modèles chargés pendant ce temps.", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.deployingTitle": "Votre modèle ELSER est en cours de déploiement.", "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.dismissButton": "Ignorer l'appel ELSER", "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.learnMoreLink": "En savoir plus", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedBody": "Profitez de la puissance d’ELSER dans votre pipeline d’inférence personnalisé.", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedSingleThreadedBody": "Cette configuration à thread unique est un excellent outil pour tester vos pipelines d’inférence personnalisés. Cependant, la performance doit être ajustée pour la production.", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedSingleThreadedTitle": "Votre modèle ELSER a démarré avec un thread unique.", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedSingleThreadedTitleCompact": "Votre modèle ELSER est en cours d’exécution avec un thread unique.", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedTitle": "Votre modèle ELSER a démarré.", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedTitleCompact": "Votre modèle ELSER est en cours d’exécution.", "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.title": "Améliorer vos résultats avec ELSER", "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.titleBadge": "Nouveauté", "xpack.enterpriseSearch.content.index.searchApplication.createSearchApplication": "Créer une application de recherche", @@ -13029,8 +13462,11 @@ "xpack.enterpriseSearch.content.indices.configurationConnector.nameAndDescriptionFlyout.saveButtonLabel": "Enregistrer le nom et la description", "xpack.enterpriseSearch.content.indices.configurationConnector.nameAndDescriptionFlyout.title": "Décrire ce robot d'indexation", "xpack.enterpriseSearch.content.indices.configurationConnector.nameAndDescriptionForm.description": "En nommant et en décrivant ce connecteur, vos collègues et votre équipe tout entière sauront à quelle utilisation ce connecteur est dédié.", - "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.config.encryptionWarningMessage": "Le chiffrement pour les informations d'identification de la source de données n'est pas disponible dans cette version bêta. Les informations d'identification de votre source de données seront stockées, non chiffrées, dans Elasticsearch.", + "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.config.encryptionWarningMessage": "Le chiffrement pour les informations d'identification de la source de données n'est pas disponible dans cette version. Les informations d'identification de votre source de données seront stockées, non chiffrées, dans Elasticsearch.", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.config.securityDocumentationLinkLabel": "En savoir plus sur Elasticsearch Security", + "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.convertConnector.buttonTitle": "Convertir un connecteur", + "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.convertConnector.linkTitle": "client de connecteur", + "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.convertConnector.title": "Personnaliser votre connecteur", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.schedulingReminder.description": "N'oubliez pas de définir un calendrier de synchronisation dans l'onglet Planification pour actualiser continuellement vos données interrogeables.", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.schedulingReminder.title": "Calendrier de synchronisation configurable", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.securityReminder.description": "Limitez et personnalisez l'accès en lecture dont les utilisateurs disposent sur les documents d'indexation à l'heure de la requête.", @@ -13044,7 +13480,7 @@ "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnectorAdvancedConfiguration.schedulingButtonLabel": "Définir un calendrier et synchroniser", "xpack.enterpriseSearch.content.indices.configurationConnector.researchConfiguration.connectorDocumentationLinkLabel": "Documentation", "xpack.enterpriseSearch.content.indices.configurationConnector.researchConfiguration.description": "Ce connecteur prend en charge plusieurs méthodes d'authentification. Demandez à votre administrateur les informations d'identification correctes pour la connexion.", - "xpack.enterpriseSearch.content.indices.configurationConnector.scheduleSync.description": "Une fois que vos connecteurs sont configurés à votre convenance, n'oubliez pas de définir un calendrier de synchronisation récurrent pour vous assurer que vos documents sont indexés et pertinents. Vous pouvez également déclencher une synchronisation unique sans activer un calendrier de synchronisation.", + "xpack.enterpriseSearch.content.indices.configurationConnector.scheduleSync.description": "Une fois configuré, définissez un calendrier de synchronisation récurrent pour que vos documents restent synchronisés au fil du temps. Vous pouvez également déclencher une synchronisation unique.", "xpack.enterpriseSearch.content.indices.configurationConnector.scheduling.successToast.title": "Mise à jour réussie du calendrier", "xpack.enterpriseSearch.content.indices.configurationConnector.steps.deployConnector.title": "Déployer un connecteur", "xpack.enterpriseSearch.content.indices.configurationConnector.steps.enhance.title": "Améliorer votre client connecteur", @@ -13062,13 +13498,24 @@ "xpack.enterpriseSearch.content.indices.configurationConnector.warning.description": "Si vous synchronisez au moins un document avant d'avoir finalisé votre client connecteur, vous devrez recréer votre index de recherche.", "xpack.enterpriseSearch.content.indices.connector.syncRules.advancedRules.error": "Le format JSON n'est pas valide", "xpack.enterpriseSearch.content.indices.connector.syncRules.advancedRules.title": "Règles avancées", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.accessControlSync.description": "Planifiez des synchronisations de contrôles d’accès pour garder les mappings d’autorisation à jour.", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.accessControlSync.title": "Synchronisation de contrôle d'accès", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.fullSync.description": "Synchronisez toutes vos données depuis votre source de données.", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.fullSync.title": "Synchronisation complète du contenu", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.incrementalSync.description": "Une tâche de synchronisation légère qui ne récupère que le contenu mis à jour depuis votre source de données.", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.incrementalSync.title": "Synchronisation incrémentielle de contenu", "xpack.enterpriseSearch.content.indices.connectorScheduling.error.title": "Examinez la configuration de votre connecteur pour voir si des erreurs ont été signalées.", "xpack.enterpriseSearch.content.indices.connectorScheduling.notConnected.button.label": "Configurer", "xpack.enterpriseSearch.content.indices.connectorScheduling.notConnected.description": "Configurez et déployez votre connecteur, puis revenez ici pour définir votre calendrier de synchronisation. Ce calendrier déterminera l'intervalle de synchronisation du connecteur avec votre source de données pour les documents mis à jour.", "xpack.enterpriseSearch.content.indices.connectorScheduling.notConnected.title": "Configurer votre connecteur pour planifier une synchronisation", + "xpack.enterpriseSearch.content.indices.connectorScheduling.page.sync.label": "Sync", "xpack.enterpriseSearch.content.indices.connectorScheduling.resetButton.label": "Réinitialiser", "xpack.enterpriseSearch.content.indices.connectorScheduling.saveButton.label": "Enregistrer", - "xpack.enterpriseSearch.content.indices.connectorScheduling.switch.label": "Activer des synchronisations récurrentes selon le calendrier suivant", + "xpack.enterpriseSearch.content.indices.connectorScheduling.schedulePanel.contentSync.description": "Récupérez du contenu pour créer ou mettre à jour vos documents Elasticsearch.", + "xpack.enterpriseSearch.content.indices.connectorScheduling.schedulePanel.contentSync.title": "Synchronisation de contenu", + "xpack.enterpriseSearch.content.indices.connectorScheduling.schedulePanel.documentLevelSecurity.description": "Contrôlez à quels documents les utilisateurs peuvent y accéder selon leurs autorisations et rôles. Planifiez des synchronisations pour garder ces contrôles d’accès à jour.", + "xpack.enterpriseSearch.content.indices.connectorScheduling.schedulePanel.documentLevelSecurity.title": "Sécurité au niveau du document", + "xpack.enterpriseSearch.content.indices.connectorScheduling.switch.label": "Activé", "xpack.enterpriseSearch.content.indices.connectorScheduling.unsaved.title": "Vous n'avez pas enregistré vos modifications, êtes-vous sûr de vouloir quitter ?", "xpack.enterpriseSearch.content.indices.defaultPipelines.successToast.title": "Pipeline par défaut mis à jour avec succès", "xpack.enterpriseSearch.content.indices.extractionRules.addContentField.title": "Ajouter la règle de champ de contenu", @@ -13080,7 +13527,7 @@ "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.extractAs.stringLabel": "Une chaîne", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.extractedLabel": "Valeur extraite", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.fixedLabel": "Une valeur fixe", - "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.htmlLabel": "Sélecteur CSS", + "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.htmlLabel": "Sélecteur CSS ou expression XPath", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.label": "Utiliser le contenu de", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.requiredError": "Une valeur est requise pour ce champ de contenu", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.title": "Contenu", @@ -13103,7 +13550,7 @@ "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.source.urlLabel": "URL", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.title": "Modifier la règle de champ de contenu", "xpack.enterpriseSearch.content.indices.extractionRules.editRule.cancelButtonLabel": "Annuler", - "xpack.enterpriseSearch.content.indices.extractionRules.editRule.contentField.cssSelectorsLink": "En savoir plus sur les sélecteurs CSS", + "xpack.enterpriseSearch.content.indices.extractionRules.editRule.contentField.cssSelectorsLink": "En savoir plus sur les sélecteurs CSS et les expressions XPath", "xpack.enterpriseSearch.content.indices.extractionRules.editRule.contentField.differentContentLink": "En savoir plus sur le stockage de différents types de contenu", "xpack.enterpriseSearch.content.indices.extractionRules.editRule.contentField.urlPatternsLinks": "En savoir plus sur les modèles d'URL", "xpack.enterpriseSearch.content.indices.extractionRules.editRule.descriptionError": "Une description est requise pour une règle d'extraction de contenu", @@ -13150,6 +13597,7 @@ "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.modelLabel": "Sélectionner un modèle de ML entraîné", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.nameLabel": "Nom", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.namePlaceholder": "Saisir un nom unique pour ce pipeline", + "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.pipelineNameExistsError": "Ce nom est déjà utilisé par un autre pipeline.", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.title": "Créer ou sélectionner un pipeline", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.titleSelectTrainedModel": "Sélectionner un modèle de ML entraîné", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.fields.actions": "Actions", @@ -13203,7 +13651,7 @@ "xpack.enterpriseSearch.content.indices.pipelines.missingPipeline.title": "Pipeline personnalisé manquant", "xpack.enterpriseSearch.content.indices.pipelines.mlInference.addButton.defaultIngestPipeline.disabledTooltip": "Vous ne pouvez pas ajouter de processeurs de pipeline d'inférence de Machine Learning au pipeline d'ingestion par défaut. Vous devez d'abord copier et personnaliser le pipeline d'ingestion par défaut pour ajouter des processeurs de pipeline d'inférence de Machine Learning.", "xpack.enterpriseSearch.content.indices.pipelines.mlInference.addButton.mlInferenceDisabled.disabledTooltip": "Vous devez activer les pipelines d'inférence de ML sur le pipeline d'ingestion pour ajouter des processeurs de pipeline d'inférence de ML.", - "xpack.enterpriseSearch.content.indices.pipelines.mlInference.addButton.mlPermissions.disabledTooltip": "Vous ne disposez pas d'autorisation de Machine Learning sur ce cluster.", + "xpack.enterpriseSearch.content.indices.pipelines.mlInference.addButton.mlPermissions.disabledTooltip": "Vous ne disposez pas d'autorisation pour utiliser Machine Learning sur ce cluster.", "xpack.enterpriseSearch.content.indices.pipelines.mlInference.addButtonLabel": "Ajouter un pipeline d'inférence", "xpack.enterpriseSearch.content.indices.pipelines.mlInferencePipelines.docLink": "En savoir plus sur le déploiement de modèles de Machine Learning dans Elastic", "xpack.enterpriseSearch.content.indices.pipelines.mlInferencePipelines.subtitle": "Les pipelines d'inférence seront exécutés en tant que processeurs à partir du pipeline d'ingestion Enterprise Search", @@ -13238,8 +13686,21 @@ "xpack.enterpriseSearch.content.indices.pipelines.tabs.pipelineInferenceLogs.tableColumn.message": "Message d'erreur", "xpack.enterpriseSearch.content.indices.pipelines.tabs.pipelineInferenceLogs.tableColumn.timestamp": "Horodatage", "xpack.enterpriseSearch.content.indices.pipelines.tabs.pipelineInferenceLogs.title": "Erreurs d'inférence", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCallOut.deployButton.label": "Déployer", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCallOut.fineTuneModelButton": "Ajuster la performance", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCallOut.startModelButton.label": "Démarrer avec un thread unique", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCallOut.viewModelsButton": "Afficher les détails", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCreateError.mlNotificationsLink": "Notifications de Machine Learning", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCreateError.title": "Erreur lors du déploiement de ELSER", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionFetchError.title": "Erreur lors de la récupération du modèle ELSER", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionStartError.title": "Erreur lors du démarrage du déploiement de ELSER", + "xpack.enterpriseSearch.content.indices.searchIndex.convertConnector.buttonLabel": "Convertir un connecteur", + "xpack.enterpriseSearch.content.indices.selectConnector.callout.description.connectorsClient": "clients de connecteurs", + "xpack.enterpriseSearch.content.indices.selectConnector.callout.description.native": "Connecteurs natifs", + "xpack.enterpriseSearch.content.indices.selectConnector.callout.title": "Connecteurs Elastic", "xpack.enterpriseSearch.content.indices.selectConnector.connectorCheckable.documentationLinkLabel": "Documentation", - "xpack.enterpriseSearch.content.indices.selectConnector.description": "Un connecteur de recherche synchronise les données à partir d'une source tierce.", + "xpack.enterpriseSearch.content.indices.selectConnector.connectorCheckable.techPreviewLabel": "Préversion technique", + "xpack.enterpriseSearch.content.indices.selectConnector.description": "Choisissez quelle source de données tierce vous souhaitez synchroniser avec Elastic.", "xpack.enterpriseSearch.content.indices.selectConnector.title": "Sélectionner un connecteur", "xpack.enterpriseSearch.content.indices.transforms.addInferencePipelineModal.footer.attach": "Attacher", "xpack.enterpriseSearch.content.indices.transforms.addInferencePipelineModal.footer.create": "Créer un pipeline", @@ -13270,21 +13731,25 @@ "xpack.enterpriseSearch.content.ml_inference.text_expansion": "Expansion de texte ELSER", "xpack.enterpriseSearch.content.ml_inference.zero_shot_classification": "Classification de texte Zero-Shot", "xpack.enterpriseSearch.content.nativeConnectors.azureBlob.name": "Stockage Blob Azure", + "xpack.enterpriseSearch.content.nativeConnectors.confluence.name": "Confluence Cloud & Server", "xpack.enterpriseSearch.content.nativeConnectors.customConnector.name": "Connecteur personnalisé", "xpack.enterpriseSearch.content.nativeConnectors.googleCloud.name": "Google Cloud Storage", + "xpack.enterpriseSearch.content.nativeConnectors.jira.name": "Jira Cloud & Server", "xpack.enterpriseSearch.content.nativeConnectors.microsoftSQL.name": "Microsoft SQL", "xpack.enterpriseSearch.content.nativeConnectors.mongodb.name": "MongoDB", "xpack.enterpriseSearch.content.nativeConnectors.mysql.name": "MySQL", "xpack.enterpriseSearch.content.nativeConnectors.networkDrive.name": "Lecteur réseau", "xpack.enterpriseSearch.content.nativeConnectors.oracle.name": "Oracle", - "xpack.enterpriseSearch.content.nativeConnectors.postgresql.name": "Postgresql", + "xpack.enterpriseSearch.content.nativeConnectors.postgresql.name": "PostgreSQL", "xpack.enterpriseSearch.content.nativeConnectors.s3.name": "S3", + "xpack.enterpriseSearch.content.nativeConnectors.sharepoint_online.name": "SharePoint en ligne", "xpack.enterpriseSearch.content.navTitle": "Contenu", - "xpack.enterpriseSearch.content.new_index.apiDescription": "Un index de recherche stocke vos données.", + "xpack.enterpriseSearch.content.new_index.apiDescription": "Utilisez l’API pour ajouter des documents par programme à un index Elasticsearch. Commencez par créer votre index.", "xpack.enterpriseSearch.content.new_index.apiTitle": "Nouvel index de recherche", + "xpack.enterpriseSearch.content.new_index.connectorDescriptionWithServiceType": "Utilisez un connecteur pour synchroniser, extraire, transformer et indexer les données de votre source de données. Les connecteurs sont des intégrations Elastic qui écrivent directement aux index Elasticsearch.", "xpack.enterpriseSearch.content.new_index.connectorTitle": "Nouvel index de recherche du connecteur", - "xpack.enterpriseSearch.content.new_index.crawlerDescription": "Un index de recherche stocke les données de votre robot d'indexation.", - "xpack.enterpriseSearch.content.new_index.crawlerTitle": "Nouvel index de recherche du robot d'indexation", + "xpack.enterpriseSearch.content.new_index.crawlerDescription": "Utilisez le robot d’indexation pour découvrir, extraire et indexer par programme le contenu interrogeable des sites web et des bases de connaissances.", + "xpack.enterpriseSearch.content.new_index.crawlerTitle": "Index de recherche du robot d'indexation", "xpack.enterpriseSearch.content.new_index.defaultDescription": "Un index de recherche stocke vos données.", "xpack.enterpriseSearch.content.new_index.genericTitle": "Nouvel index de recherche", "xpack.enterpriseSearch.content.new_index.successToast.title": "Index créé avec succès", @@ -13296,13 +13761,16 @@ "xpack.enterpriseSearch.content.newIndex.methodCard.api.description": "Ajouter des documents par programmation en se connectant avec l'API", "xpack.enterpriseSearch.content.newIndex.methodCard.api.label": "Utiliser l’API", "xpack.enterpriseSearch.content.newIndex.methodCard.api.title": "API", - "xpack.enterpriseSearch.content.newIndex.methodCard.connector.description": "Utiliser le cadre des connecteurs pour créer rapidement des connecteurs pour des sources de données personnalisées", + "xpack.enterpriseSearch.content.newIndex.methodCard.connector.description": "Extraire, transformer, indexer et synchroniser des données provenant d’une source de donnée via des connecteurs natifs ou personnalisés", "xpack.enterpriseSearch.content.newIndex.methodCard.connector.label": "Utiliser un connecteur", "xpack.enterpriseSearch.content.newIndex.methodCard.connector.title": "Connecteur", - "xpack.enterpriseSearch.content.newIndex.methodCard.crawler.description": "Découvrir, extraire, indexer et synchroniser tout le contenu de votre site web", + "xpack.enterpriseSearch.content.newIndex.methodCard.crawler.description": "Découvrir, extraire et indexer du contenu interrogeable provenant de sites web et de bases de connaissances", "xpack.enterpriseSearch.content.newIndex.methodCard.crawler.label": "Utiliser un robot d'indexation", + "xpack.enterpriseSearch.content.newIndex.methodCard.crawler.nocodeLabel": "Pas de code", "xpack.enterpriseSearch.content.newIndex.methodCard.crawler.title": "Robot d'indexation", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.createIndex.buttonText": "Créer un index", + "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.formDescription.linkText": "analyseur linguistique", + "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.formTitle": "Créer un index Elasticsearch", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.languageInputHelpText": "La langue peut être modifiée ultérieurement, mais ce changement peut nécessiter une réindexation.", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.languageInputLabel": "Analyseur linguistique", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.learnMoreApis.linkText": "En savoir plus sur les API d'ingestion", @@ -13312,8 +13780,13 @@ "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.nameInputHelpText.lineTwo": "Les noms doivent être en minuscules et ne peuvent pas contenir d'espaces ni de caractères spéciaux.", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.nameInputLabel": "Nom de l'index", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.nameInputPlaceholder": "Définir un nom pour votre index", - "xpack.enterpriseSearch.content.newIndex.pageDescription": "Créez un index Elasticsearch optimisé pour la recherche en sélectionnant une méthode d'ingestion.", + "xpack.enterpriseSearch.content.newIndex.pageDescription": "Créez un index de recherche optimisée Elasticsearch pour stocker votre contenu. Commencez par sélectionner une méthode d’ingestion.", "xpack.enterpriseSearch.content.newIndex.pageTitle": "Sélectionner une méthode d'ingestion", + "xpack.enterpriseSearch.content.newIndex.selectConnector.manageLicenseButtonLabel": "Gérer la licence", + "xpack.enterpriseSearch.content.newIndex.selectConnector.openPopoverLabel": "Ouvrir la fenêtre contextuelle de licence", + "xpack.enterpriseSearch.content.newIndex.selectConnector.subscriptionButtonLabel": "Plans d'abonnement", + "xpack.enterpriseSearch.content.newIndex.selectConnector.upgradeContent": "Pour utiliser ce connecteur, vous devez mettre à jour votre licence vers Platinum ou commencer un essai gratuit de 30 jours.", + "xpack.enterpriseSearch.content.newIndex.selectConnector.upgradeTitle": "Mettre à niveau vers Elastic Platinum", "xpack.enterpriseSearch.content.newIndex.steps.buildConnector.confirmModal.cancelButton.label": "Annuler", "xpack.enterpriseSearch.content.newIndex.steps.buildConnector.confirmModal.confirmButton.label": "Remplacer la configuration", "xpack.enterpriseSearch.content.newIndex.steps.buildConnector.confirmModal.title": "Remplacer un connecteur existant", @@ -13338,6 +13811,8 @@ "xpack.enterpriseSearch.content.overview.documentExample.clientLibraries.python": "Python", "xpack.enterpriseSearch.content.overview.documentExample.clientLibraries.ruby": "Ruby", "xpack.enterpriseSearch.content.overview.documentExample.clientLibraries.rust": "Rust", + "xpack.enterpriseSearch.content.overview.documentExample.description.clientsLink": "clients de langages de programmation", + "xpack.enterpriseSearch.content.overview.documentExample.description.documentationLink": "documentation", "xpack.enterpriseSearch.content.overview.documentExample.generateApiKeyButton.label": "Gérer les clés d'API", "xpack.enterpriseSearch.content.overview.documentExample.title": "Ajout de documents à votre index", "xpack.enterpriseSearch.content.overview.emptyPrompt.body": "Nous déconseillons l'ajout de documents à un index géré en externe.", @@ -13350,18 +13825,6 @@ "xpack.enterpriseSearch.content.overview.generateApiKeyModal.learnMore": "En savoir plus sur les clés d’API", "xpack.enterpriseSearch.content.overview.generateApiKeyModal.title": "Générer une clé d’API", "xpack.enterpriseSearch.content.overview.optimizedRequest.label": "Afficher la requête optimisée d'Enterprise Search", - "xpack.enterpriseSearch.searchApplications.searchApplication.connect.pageTitle": "Connecter", - "xpack.enterpriseSearch.searchApplications.searchApplication.content.indicesTabTitle": "Index", - "xpack.enterpriseSearch.searchApplications.searchApplication.content.pageTitle": "Contenu", - "xpack.enterpriseSearch.searchApplications.searchApplication.content.schemaTabTitle": "Schéma", - "xpack.enterpriseSearch.searchApplications.list.createSearchApplicationButton.label": "Créer", - "xpack.enterpriseSearch.searchApplications.list.createSearchApplicationTechnicalPreviewPopover.body": "Cette fonctionnalité est en version d'évaluation technique et pourra être modifiée ou retirée complètement dans une future version. Elastic s'efforcera au maximum de corriger tout problème, mais les fonctionnalités en version d'évaluation technique ne sont pas soumises aux accords de niveau de service d'assistance des fonctionnalités officielles en disponibilité générale.", - "xpack.enterpriseSearch.searchApplications.list.createSearchApplicationTechnicalPreviewPopover.title": "Version d'évaluation technique", - "xpack.enterpriseSearch.searchApplications.list.documentation": "explorer la documentation sur les applications de recherche", - "xpack.enterpriseSearch.searchApplications.list.searchBar.ariaLabel": "Applications de recherche", - "xpack.enterpriseSearch.searchApplications.list.searchBar.placeholder": "Applications de recherche", - "xpack.enterpriseSearch.searchApplications.list.searchBar.description": "Localisez une application de recherche en fonction de son nom ou de ses index inclus.", - "xpack.enterpriseSearch.searchApplications.list.title": "Applications de recherche", "xpack.enterpriseSearch.content.searchIndex.cancelSyncs.successMessage": "Annulation réussie des synchronisations", "xpack.enterpriseSearch.content.searchIndex.configurationTabLabel": "Configuration", "xpack.enterpriseSearch.content.searchIndex.connectorErrorCallOut.title": "Votre connecteur a rapporté une erreur", @@ -13370,14 +13833,22 @@ "xpack.enterpriseSearch.content.searchIndex.documents.documentList.paginationAriaLabel": "Pagination pour la liste de documents", "xpack.enterpriseSearch.content.searchIndex.documents.noMappings": "Aucun document trouvé pour l'index", "xpack.enterpriseSearch.content.searchIndex.documents.searchField.placeholder": "Rechercher des documents dans cet index", + "xpack.enterpriseSearch.content.searchIndex.documents.selector.accessControl.description": "Parcourir les champs de sécurité au niveau du document", + "xpack.enterpriseSearch.content.searchIndex.documents.selector.accessControl.title": "Index de contrôle d'accès", + "xpack.enterpriseSearch.content.searchIndex.documents.selector.contentIndex.description": "Parcourir les champs de contenu", + "xpack.enterpriseSearch.content.searchIndex.documents.selector.contentIndex.title": "Index de contenu", "xpack.enterpriseSearch.content.searchIndex.documents.title": "Parcourir des documents", "xpack.enterpriseSearch.content.searchIndex.documentsTabLabel": "Documents", "xpack.enterpriseSearch.content.searchIndex.domainManagementTabLabel": "Gérer les domaines", + "xpack.enterpriseSearch.content.searchIndex.index.accessControlSyncSuccess.message": "Une synchronisation de contrôle d’accès a été programmée avec succès, en attente de son activation par un connecteur", + "xpack.enterpriseSearch.content.searchIndex.index.incSyncSuccess.message": "Une synchronisation incrémentielle a été programmée avec succès, en attente de son activation par un connecteur", "xpack.enterpriseSearch.content.searchIndex.index.recheckSuccess.message": "Votre connecteur a été à nouveau vérifié.", "xpack.enterpriseSearch.content.searchIndex.index.syncSuccess.message": "Une synchronisation a été programmée avec succès, en attente de son activation par un connecteur.", "xpack.enterpriseSearch.content.searchIndex.indexMappingsTabLabel": "Mappings d'index", "xpack.enterpriseSearch.content.searchIndex.mappings.docLink": "En savoir plus", "xpack.enterpriseSearch.content.searchIndex.mappings.title": "À propos des mappings d’index", + "xpack.enterpriseSearch.content.searchIndex.nativeCloudCallout.connectorClient": "client de connecteur", + "xpack.enterpriseSearch.content.searchIndex.nativeCloudCallout.title": "Les connecteurs natifs ne sont plus compatibles en dehors d’Elastic Cloud", "xpack.enterpriseSearch.content.searchIndex.nav.documentsTitle": "Documents", "xpack.enterpriseSearch.content.searchIndex.nav.indexMappingsTitle": "Mappings d’index", "xpack.enterpriseSearch.content.searchIndex.nav.overviewTitle": "Aperçu", @@ -13413,6 +13884,7 @@ "xpack.enterpriseSearch.content.searchIndices.deleteModal.syncsWarning.title": "Synchronisations en cours", "xpack.enterpriseSearch.content.searchIndices.docsCount.columnTitle": "Nombre de documents", "xpack.enterpriseSearch.content.searchIndices.health.columnTitle": "Intégrité des index", + "xpack.enterpriseSearch.content.searchIndices.identitySync.columnTitle": "Identités synchronisées", "xpack.enterpriseSearch.content.searchIndices.ingestionMethod.api": "API", "xpack.enterpriseSearch.content.searchIndices.ingestionMethod.columnTitle": "Méthodes d'ingestion", "xpack.enterpriseSearch.content.searchIndices.ingestionMethod.connector": "Connecteur", @@ -13443,6 +13915,7 @@ "xpack.enterpriseSearch.content.searchIndices.searchIndices.searchBar.placeHolder": "Filtrer les index Elasticsearch", "xpack.enterpriseSearch.content.searchIndices.searchIndices.stepsTitle": "Créer de belles expériences de recherche avec Enterprise Search", "xpack.enterpriseSearch.content.searchIndices.searchIndices.tableTitle": "Index disponibles", + "xpack.enterpriseSearch.content.searchIndices.syncJobType.columnTitle": "Type de synchronisation de contenu", "xpack.enterpriseSearch.content.searchIndices.syncStatus.columnTitle": "Statut", "xpack.enterpriseSearch.content.settings.breadcrumb": "Paramètres", "xpack.enterpriseSearch.content.settings.contactExtraction.label": "Extraction du contenu", @@ -13488,7 +13961,13 @@ "xpack.enterpriseSearch.content.syncJobs.flyout.syncStartedScheduled": "Synchronisation démarrée par planification", "xpack.enterpriseSearch.content.syncJobs.flyout.title": "Log d'événements", "xpack.enterpriseSearch.content.syncJobs.lastSync.columnTitle": "Dernière synchronisation", + "xpack.enterpriseSearch.content.syncJobs.lastSync.tableSelector.accessControl.label": "Synchronisations de contrôle d'accès", + "xpack.enterpriseSearch.content.syncJobs.lastSync.tableSelector.content.label": "Synchronisations de contenu", + "xpack.enterpriseSearch.content.syncJobs.lastSync.tableSelector.legend": "Sélectionnez le type de tâche de synchronisation à afficher.", + "xpack.enterpriseSearch.content.syncJobs.lastSync.tableSelector.name": "Type de tâche de synchronisation", "xpack.enterpriseSearch.content.syncJobs.syncDuration.columnTitle": "Durée de synchronisation", + "xpack.enterpriseSearch.content.syncJobType.full": "Contenu entier", + "xpack.enterpriseSearch.content.syncJobType.incremental": "Contenu progressif", "xpack.enterpriseSearch.content.syncStatus.canceled": "Annulation de la synchronisation", "xpack.enterpriseSearch.content.syncStatus.canceling": "Synchronisation annulée", "xpack.enterpriseSearch.content.syncStatus.completed": "Synchronisation terminée", @@ -13630,6 +14109,7 @@ "xpack.enterpriseSearch.crawler.domainDetail.deleteDomainButtonLabel": "Supprimer le domaine", "xpack.enterpriseSearch.crawler.domainManagement.emptyState": "Vous n'avez aucun domaine dans cet index. Ajoutez votre premier domaine pour commencer à explorer et indexer les documents.", "xpack.enterpriseSearch.crawler.domainManagement.emptyState.addDomainButtonLabel": "Ajouter votre premier domaine", + "xpack.enterpriseSearch.crawler.domainManagement.emptyState.description": "Configurez les domaines que vous souhaitez indexer et, lorsque vous êtes prêt, déclenchez votre première indexation.", "xpack.enterpriseSearch.crawler.domainManagement.emptyState.title": "Ajouter un domaine à votre index", "xpack.enterpriseSearch.crawler.domainsTable.action.add.successMessage": "Le domaine {domainUrl} a été ajouté avec succès", "xpack.enterpriseSearch.crawler.domainsTable.action.delete.buttonLabel": "Supprimer ce domaine", @@ -13752,6 +14232,75 @@ "xpack.enterpriseSearch.errorConnectingState.troubleshootAuth": "Vérifiez votre authentification utilisateur :", "xpack.enterpriseSearch.errorConnectingState.troubleshootAuthNative": "Vous devez vous authentifier à l'aide d'une authentification native d'Elasticsearch, de SSO/SAML ou d'OpenID Connect.", "xpack.enterpriseSearch.errorConnectingState.troubleshootAuthSAML": "Si vous utilisez un fournisseur de SSO externe, tel que SAML ou OpenID Connect, votre domaine SAML/OIDC doit également être configuré sur Enterprise Search.", + "xpack.enterpriseSearch.esre.description": "Le kit d’outils permettant aux développeurs de créer des applications d’IA optimisées pour la recherche à l’aide de la plateforme Elastic.", + "xpack.enterpriseSearch.esre.elser.description.elserLinkText": "Elastic Learned Sparse Encoder", + "xpack.enterpriseSearch.esre.elserAccordion.description": "Fonctionnalités de recherche sémantique instantanée", + "xpack.enterpriseSearch.esre.elserAccordion.title": "Elastic Learned Sparse Encoder", + "xpack.enterpriseSearch.esre.elserPanel.step1.buttonLabel": "Créer un index", + "xpack.enterpriseSearch.esre.elserPanel.step1.title": "Créer un index", + "xpack.enterpriseSearch.esre.elserPanel.step2.description.pipelinesName": "Pipelines", + "xpack.enterpriseSearch.esre.elserPanel.step2.title": "Accédez à l’onglet Pipelines d’un index", + "xpack.enterpriseSearch.esre.elserPanel.step3.description": "Localisez le panneau qui vous permet de déployer ELSER en un clic et créez un pipeline d’inférence à l’aide de ce modèle.", + "xpack.enterpriseSearch.esre.elserPanel.step3.title": "Suivez les instructions à l’écran pour déployer ELSER", + "xpack.enterpriseSearch.esre.esreDocsSection.description.esreLinkText": "Documentation ESRE", + "xpack.enterpriseSearch.esre.esreDocsSection.faq.title": "FAQ", + "xpack.enterpriseSearch.esre.esreDocsSection.help.title": "Aide", + "xpack.enterpriseSearch.esre.esreDocsSection.learn.discussForumLinkText": "Forum de discussion ESRE", + "xpack.enterpriseSearch.esre.esreDocsSection.learn.frequentlyAskedQuestionsLinkText": "questions fréquentes", + "xpack.enterpriseSearch.esre.esreDocsSection.learn.learningTopicsLinkText": "thèmes de formation", + "xpack.enterpriseSearch.esre.esreDocsSection.learn.title": "Apprendre", + "xpack.enterpriseSearch.esre.esreDocsSection.title": "Approfondissez avec les documents ESRE", + "xpack.enterpriseSearch.esre.guide.description": "L’Elasticsearch Relevance Engine™ (ESRE) permet aux développeurs de créer des applications d’IA optimisées pour la recherche à l’aide de la plateforme Elastic. ESRE est un ensemble d'outils et de fonctionnalités qui comprennent notre modèle ML entraîné ELSER, notre recherche vectorielle et nos capacités d'intégration, ainsi que le classement RRF pour combiner la recherche vectorielle et la recherche textuelle.", + "xpack.enterpriseSearch.esre.guide.pageTitle": "Améliorez vos recherches avec ESRE", + "xpack.enterpriseSearch.esre.linearCombinationAccordion.description": "Résultats pondérés de plusieurs classements", + "xpack.enterpriseSearch.esre.linearCombinationAccordion.title": "Combinaison linéaire", + "xpack.enterpriseSearch.esre.linearCombinationPanel.description": "Utilisée pour calculer un score de similarité ou une distance entre des points de données. Combine les attributs ou fonctionnalités à l’aide de pondérations, ce qui permet de personnaliser les facteurs de pertinence.", + "xpack.enterpriseSearch.esre.linearCombinationPanel.step1.knnSearchCombineLinkText": "Combiner les kNN (k plus proches voisins) approximatifs avec d'autres caractéristiques", + "xpack.enterpriseSearch.esre.linearCombinationPanel.step1.title": "Découvrez comment utiliser la combinaison linéaire dans les requêtes _search", + "xpack.enterpriseSearch.esre.linearCombinationPanel.step2.buttonLabel": "Ouvrir Console", + "xpack.enterpriseSearch.esre.linearCombinationPanel.step2.title": "Essayez-le dès maintenant dans Console", + "xpack.enterpriseSearch.esre.measurePerformanceSection.behavioralAnalyticsLinkText": "Behavioral Analytics", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step1.behavioralAnalyticsLinkText": "Behavioral Analytics", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step1.title": "Créer une collection", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step2.description": "Après avoir créé une collection, suivez les directives concernant l’intégration de notre outil de suivi dans votre application ou site web.", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step2.title": "Intégrer l’outil de suivi d’analyse", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step3.description": "Nos tableaux de bord et outils vous aident à visualiser le comportement de vos utilisateurs finaux et à mesurer les performances de vos applications de recherche.", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step3.title": "Consulter votre tableau de bord", + "xpack.enterpriseSearch.esre.measurePerformanceSection.title": "Mesurer vos performances", + "xpack.enterpriseSearch.esre.navTitle": "ESRE", + "xpack.enterpriseSearch.esre.nlpEnrichmentAccordion.description": "Enrichissement des données pertinentes avec les modèles de ML entraînés", + "xpack.enterpriseSearch.esre.nlpEnrichmentAccordion.title": "Enrichissement de NLP", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.description.supportedMlModelsLinkText": "Modèles de ML compatibles", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step1.buttonLabel": "Affichez les modèles entraînés", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step1.guideToTrainedModelsLinkText": "Guide sur les modèles entraînés", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step1.supportedNlpModelsLinkText": "Modèles NLP compatibles", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step1.title": "Apprenez à charger des modèles de ML", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step2.buttonLabel": "Créez un index", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step2.title": "Créez un index", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step3.description.pipelinesName": "Pipelines", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step3.title": "Créez un pipeline d’inférence de ML", + "xpack.enterpriseSearch.esre.productName": "ESRE", + "xpack.enterpriseSearch.esre.rankAggregationSection.description": "Méthodes facultatives pour fusionner ou combiner différents classements pour obtenir une meilleure performance générale de classement.", + "xpack.enterpriseSearch.esre.rankAggregationSection.title": "Utiliser une méthode d’agrégation de classement", + "xpack.enterpriseSearch.esre.rrfRankingAccordion.description": "Ceci combine intelligemment les classements sans configuration", + "xpack.enterpriseSearch.esre.rrfRankingAccordion.title": "Classement hybride avec la RRF", + "xpack.enterpriseSearch.esre.rrfRankingPanel.rrfLinkText": "Fusion des rangs réciproques (RRF)", + "xpack.enterpriseSearch.esre.rrfRankingPanel.step1.rrfDocsLinkText": "Documentations sur la fusion des rangs réciproques (RRF)", + "xpack.enterpriseSearch.esre.rrfRankingPanel.step1.title": "Découvrez des exemples de l’utilisation de la RRF dans les requêtes _search", + "xpack.enterpriseSearch.esre.rrfRankingPanel.step2.buttonLabel": "Ouvrir Console", + "xpack.enterpriseSearch.esre.rrfRankingPanel.step2.title": "Essayez-le dès maintenant dans Console", + "xpack.enterpriseSearch.esre.semanticSearch.description": "ESRE combine votre choix parmi ces outils de récupération d'informations.", + "xpack.enterpriseSearch.esre.semanticSearch.title": "Configurer une recherche sémantique", + "xpack.enterpriseSearch.esre.vectorSearchAccordion.description": "Des recherches de similarités puissantes pour les données non structurées", + "xpack.enterpriseSearch.esre.vectorSearchAccordion.title": "Recherche vectorielle", + "xpack.enterpriseSearch.esre.vectorSearchPanel.description.vectorDbCapabilitiesLinkText": "Fonctionnalités de bases de données vectorielles d’Elasticsearch", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step1.buttonLabel": "Affichez les modèles entraînés", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step1.guideToTrainedModelsLinkText": "Guide sur les modèles entraînés", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step1.title": "Apprenez à charger des modèles de ML", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step2.buttonLabel": "Créez un index", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step2.title": "Créez un index", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step3.description.pipelinesName": "Pipelines", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step3.title": "Créez un pipeline d’inférence de ML", "xpack.enterpriseSearch.guideConfig.addDataStep.description": "Ingérez vos données, créez un index et enrichissez vos données avec des pipelines d'ingestion et d'inférence personnalisables.", "xpack.enterpriseSearch.guideConfig.addDataStep.title": "Ajouter des données", "xpack.enterpriseSearch.guideConfig.description": "Nous vous aiderons à créer une expérience de recherche avec vos données à l'aide du robot d'indexation, des connecteurs et des API d'Elastic.", @@ -13783,6 +14332,9 @@ "xpack.enterpriseSearch.index.connector.syncRules.validatingDescription": "Les ébauches de règles doivent être validées pour qu'elles soient activées. Cette opération peut prendre quelques minutes.", "xpack.enterpriseSearch.index.connector.syncRules.validatingTitle": "Les ébauches de règles de synchronisation sont en cours de validation", "xpack.enterpriseSearch.index.header.cancelSyncsTitle": "Annuler les synchronisations", + "xpack.enterpriseSearch.index.header.more.accessControlSync": "Contrôle d'accès", + "xpack.enterpriseSearch.index.header.more.fullSync": "Contenu entier", + "xpack.enterpriseSearch.index.header.more.incrementalSync": "Contenu progressif", "xpack.enterpriseSearch.inferencePipelineCard.action.delete": "Supprimer un pipeline", "xpack.enterpriseSearch.inferencePipelineCard.action.detach": "Détacher le pipeline", "xpack.enterpriseSearch.inferencePipelineCard.action.title": "Actions", @@ -13790,9 +14342,9 @@ "xpack.enterpriseSearch.inferencePipelineCard.actionButton": "Actions", "xpack.enterpriseSearch.inferencePipelineCard.deleteConfirm.title": "Supprimer le pipeline", "xpack.enterpriseSearch.inferencePipelineCard.modelState.deploymentFailed": "Échec du déploiement", - "xpack.enterpriseSearch.inferencePipelineCard.modelState.notDeployed": "Non déployé", + "xpack.enterpriseSearch.inferencePipelineCard.modelState.notDeployed": "Non démarré", "xpack.enterpriseSearch.inferencePipelineCard.modelState.notDeployed.fixLink": "Corriger le problème dans les modèles entraînés", - "xpack.enterpriseSearch.inferencePipelineCard.modelState.notDeployed.tooltip": "Ce modèle entraîné n'est actuellement pas déployé. Visiter la page des modèles déployés pour effectuer des modifications", + "xpack.enterpriseSearch.inferencePipelineCard.modelState.notDeployed.tooltip": "Ce modèle entraîné n'est actuellement pas démarré. Visiter la page des modèles déployés pour effectuer des modifications", "xpack.enterpriseSearch.inferencePipelineCard.modelState.started": "Démarré", "xpack.enterpriseSearch.inferencePipelineCard.modelState.started.tooltip": "Ce modèle entraîné est en cours d'exécution et totalement disponible", "xpack.enterpriseSearch.inferencePipelineCard.modelState.starting": "Démarrage", @@ -13804,6 +14356,9 @@ "xpack.enterpriseSearch.integrations.apiName": "API", "xpack.enterpriseSearch.integrations.buildAConnectorDescription": "Effectuez des recherches sur des données stockées dans des sources de données personnalisées avec Enterprise Search.", "xpack.enterpriseSearch.integrations.buildAConnectorName": "Créer un connecteur", + "xpack.enterpriseSearch.integrations.connectors.confluenceDescription": "Effectuez des recherches sur votre contenu sur Confluence Cloud & Server avec Enterprise Search.", + "xpack.enterpriseSearch.integrations.connectors.confluenceTitle": "Confluence Cloud & Server", + "xpack.enterpriseSearch.integrations.connectors.jiraDescription": "Effectuez des recherches sur votre contenu sur Jira Cloud & Server avec Enterprise Search.", "xpack.enterpriseSearch.integrations.webCrawlerDescription": "Ajoutez la recherche à votre site web avec le robot d'indexation Enterprise Search.", "xpack.enterpriseSearch.integrations.webCrawlerName": "Robot d'indexation", "xpack.enterpriseSearch.learnMore.link": "En savoir plus", @@ -13815,6 +14370,15 @@ "xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.directConnectionLabel": "Connexion directe", "xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.hostLabel": "Nom d'hôte du serveur", "xpack.enterpriseSearch.nativeConnectors.mongodb.name": "MongoDB", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.hostLabel": "Hôte", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.passwordLabel": "Mot de passe", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.retriesLabel": "Nouvelles tentatives par requête", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.rowsFetchedLabel": "Lignes extraites par requête", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.schemaLabel": "Schéma", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.tablesLabel": "Liste de tables séparées par des virgules", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.usernameLabel": "Nom d'utilisateur", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.validateHostLabel": "Valider l’hôte", + "xpack.enterpriseSearch.nativeConnectors.mssql.name": "Microsoft SQL", "xpack.enterpriseSearch.nativeConnectors.mysql.configuration.hostLabel": "Hôte", "xpack.enterpriseSearch.nativeConnectors.mysql.configuration.passwordLabel": "Mot de passe", "xpack.enterpriseSearch.nativeConnectors.mysql.configuration.retriesLabel": "Nouvelles tentatives par requête", @@ -13822,6 +14386,21 @@ "xpack.enterpriseSearch.nativeConnectors.mysql.configuration.tablesLabel": "Liste de tables séparées par des virgules", "xpack.enterpriseSearch.nativeConnectors.mysql.configuration.usernameLabel": "Nom d'utilisateur", "xpack.enterpriseSearch.nativeConnectors.mysql.name": "MySQL", + "xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.hostLabel": "Hôte", + "xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.retriesLabel": "Nouvelles tentatives par requête", + "xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.rowsFetchedLabel": "Lignes extraites par requête", + "xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.tablesLabel": "Liste de tables séparées par des virgules", + "xpack.enterpriseSearch.nativeConnectors.postgresql.name": "PostgreSQL", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.clientIdLabel": "ID client", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.secretValueLabel": "Valeur secrète", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.siteCollectionsLabel": "Liste de sites séparées par des virgules", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.siteCollectionsTooltip": "Une liste de sites séparés par des virgules dont les données doivent être ingérées. Utilisez \"*\" pour inclure tous les sites disponibles.", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.tenantIdLabel": "ID locataire", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.tenantNameLabel": "Nom du locataire", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.textExtractionServiceLabel": "Utiliser un service d’extraction de texte", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.textExtractionServiceTooltip": "Nécessite un déploiement distinct du service d’extraction de données d’Elastic. Nécessite également que les paramètres de pipeline désactivent l’extraction de texte.", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.name": "SharePoint en ligne", + "xpack.enterpriseSearch.nativeLabel": "Natif", "xpack.enterpriseSearch.nav.analyticsCollections.explorerTitle": "Explorer", "xpack.enterpriseSearch.nav.analyticsCollections.integrationTitle": "Intégration", "xpack.enterpriseSearch.nav.analyticsCollections.overviewTitle": "Aperçu", @@ -13832,9 +14411,8 @@ "xpack.enterpriseSearch.nav.contentSettingsTitle": "Paramètres", "xpack.enterpriseSearch.nav.contentTitle": "Contenu", "xpack.enterpriseSearch.nav.elasticsearchTitle": "Elasticsearch", - "xpack.enterpriseSearch.nav.searchApplication.contentTitle": "Contenu", - "xpack.enterpriseSearch.nav.searchApplication.previewTitle": "Aperçu", "xpack.enterpriseSearch.nav.enterpriseSearchOverviewTitle": "Aperçu", + "xpack.enterpriseSearch.nav.esreTitle": "ESRE", "xpack.enterpriseSearch.nav.searchApplicationsTitle": "Applications de recherche", "xpack.enterpriseSearch.nav.searchExperiencesTitle": "Expériences de recherche", "xpack.enterpriseSearch.nav.searchIndicesTitle": "Index", @@ -13902,11 +14480,6 @@ "xpack.enterpriseSearch.overview.iconRow.manyMoreBadge": "Et bien plus", "xpack.enterpriseSearch.overview.iconRow.sharePoint.title": "Microsoft SharePoint", "xpack.enterpriseSearch.overview.iconRow.sharePoint.tooltip": "Indexer des contenus depuis Microsoft SharePoint", - "xpack.enterpriseSearch.overview.insufficientPermissionsBody": "Vous n'avez pas l'autorisation de consulter cette page. Si vous pensez qu'il s'agit d'une erreur, veuillez contacter votre administrateur.", - "xpack.enterpriseSearch.overview.insufficientPermissionsButtonLabel": "Rendez-vous sur le tableau de bord Kibana", - "xpack.enterpriseSearch.overview.insufficientPermissionsFooterBody": "Rendez-vous sur le tableau de bord Kibana", - "xpack.enterpriseSearch.overview.insufficientPermissionsFooterLinkLabel": "Lire la documentation", - "xpack.enterpriseSearch.overview.insufficientPermissionsTitle": "Permissions insuffisantes", "xpack.enterpriseSearch.overview.navTitle": "Aperçu", "xpack.enterpriseSearch.overview.pageTitle": "Bienvenue dans Enterprise Search", "xpack.enterpriseSearch.overview.productSelector.title": "Des expériences de recherche pour chaque cas d'utilisation", @@ -14001,7 +14574,6 @@ "xpack.enterpriseSearch.schema.errorsTable.link.view": "Afficher", "xpack.enterpriseSearch.schema.fieldNameLabel": "Nom du champ", "xpack.enterpriseSearch.schema.fieldTypeLabel": "Type du champ", - "xpack.enterpriseSearch.searchApplications.searchApplication.notFound.action1": "Revenir aux applications de recherche", "xpack.enterpriseSearch.searchExperiences.guide.description": "Search UI est une bibliothèque JavaScript qui offre des expériences de recherche exceptionnelles. Étant donné qu'il fonctionne immédiatement avec Elasticsearch, App Search et Workplace Search, vous pouvez donc vous concentrer sur la création de la meilleure expérience possible pour vos utilisateurs, vos clients et vos employés.", "xpack.enterpriseSearch.searchExperiences.guide.documentationLink": "Visiter la documentation Search UI", "xpack.enterpriseSearch.searchExperiences.guide.features.1": "Vous savez, pour la recherche. Elastic crée et met à jour Search UI.", @@ -14034,6 +14606,7 @@ "xpack.enterpriseSearch.server.routes.createApiIndex.indexExistsError": "L'index existe déjà.", "xpack.enterpriseSearch.server.routes.createMlInferencePipeline.ParameterConflictError": "pipeline_definition et field_mappings doivent uniquement être fournis si source_field, destination_field et model_id ne sont pas fournis.", "xpack.enterpriseSearch.server.routes.createMlInferencePipeline.ParameterMissingError": "pipeline_definition ET fieldMappings ou source_field ET model_id doivent être fournis", + "xpack.enterpriseSearch.server.routes.createSearchApplication.searchApplciationExistsError": "Le nom de l’application de recherche est déjà pris. Choisissez un autre nom.", "xpack.enterpriseSearch.server.routes.indices.mlInference.pipelineProcessors.pipelineIsInUseError": "Le pipeline d'inférence est utilisé dans le pipeline géré \"{pipelineName}\" d'un autre index", "xpack.enterpriseSearch.server.routes.recreateConnector.connectorExistsError": "Un connecteur existe déjà pour cet index", "xpack.enterpriseSearch.server.routes.unauthorizedError": "Vous ne disposez pas d'autorisations suffisantes.", @@ -14348,6 +14921,10 @@ "xpack.enterpriseSearch.workplaceSearch.integrations.azureBlobDescription": "Effectuez des recherches sur votre contenu sur Stockage Blob Azure avec Enterprise Search.", "xpack.enterpriseSearch.workplaceSearch.integrations.boxDescription": "Effectuez des recherches dans vos fichiers et dossiers stockés sur Box avec Workplace Search.", "xpack.enterpriseSearch.workplaceSearch.integrations.boxName": "Box", + "xpack.enterpriseSearch.workplaceSearch.integrations.githubDescription": "Effectuez des recherches sur vos projets et référentiels sur GitHub avec Workplace Search.", + "xpack.enterpriseSearch.workplaceSearch.integrations.githubEnterpriseServerDescription": "Effectuez des recherches sur vos projets et référentiels sur GitHub Enterprise avec Workplace Search.", + "xpack.enterpriseSearch.workplaceSearch.integrations.githubEnterpriseServerName": "GitHub Enterprise Server", + "xpack.enterpriseSearch.workplaceSearch.integrations.githubName": "GitHub", "xpack.enterpriseSearch.workplaceSearch.integrations.gmailDescription": "Effectuez des recherches dans vos e-mails gérés par Gmail avec Workplace Search.", "xpack.enterpriseSearch.workplaceSearch.integrations.gmailName": "Gmail", "xpack.enterpriseSearch.workplaceSearch.integrations.googleCloud": "Google Cloud Storage", @@ -14848,7 +15425,7 @@ "xpack.exploratoryView.expView.heading.addToCase": "Ajouter au cas", "xpack.exploratoryView.expView.heading.addToCase.notification.error": "Impossible d'ajouter la visualisation au cas sélectionné.", "xpack.exploratoryView.expView.heading.addToCase.notification.viewCase": "Afficher le cas", - "xpack.exploratoryView.expView.heading.embed": "Incorporer <></>", + "xpack.exploratoryView.expView.heading.embed": "Incorporer <>", "xpack.exploratoryView.expView.heading.embedTitle": "Incorporer la vue d’exploration (fonctionnalité Dev uniquement)", "xpack.exploratoryView.expView.heading.label": "Explorer les données", "xpack.exploratoryView.expView.heading.openInLens": "Ouvrir dans Lens", @@ -14901,6 +15478,7 @@ "xpack.exploratoryView.expView.seriesEditor.selectReportMetric": "Sélectionner l’indicateur de rapport", "xpack.exploratoryView.expView.seriesEditor.seriesName": "Nom de la série", "xpack.exploratoryView.expView.stepDuration": "Durée totale de l'étape", + "xpack.exploratoryView.expView.successful": "Comptage réussi", "xpack.exploratoryView.expView.synthetics.blocked": "Bloqué", "xpack.exploratoryView.expView.synthetics.connect": "Connecter", "xpack.exploratoryView.expView.synthetics.dns": "DNS", @@ -14993,7 +15571,7 @@ "xpack.fileUpload.indexNameContainsIllegalCharactersErrorMessage": "Le nom de l'index comporte des caractères interdits.", "xpack.fileUpload.indexNameForm.enterIndexNameLabel": "Nom de l'index", "xpack.fileUpload.indexNameForm.guidelines.cannotBe": "Ne peut pas être . ou ..", - "xpack.fileUpload.indexNameForm.guidelines.cannotInclude": "Ne peut pas contenir \\\\, /, *, ?, \", <, >, |, \" \" (espace), , (virgule), #", + "xpack.fileUpload.indexNameForm.guidelines.cannotInclude": "Ne peut pas contenir \\\\, /, *, ?, \", <, >, |, \" \" (espace), , (virgule), #", "xpack.fileUpload.indexNameForm.guidelines.cannotStartWith": "Ne peut pas commencer par -, _, +", "xpack.fileUpload.indexNameForm.guidelines.length": "Ne peut pas dépasser 255 octets (notez qu'il s'agit bien d'octets, ce qui signifie que les caractères à plusieurs octets feront atteindre plus rapidement la limite de 255 octets)", "xpack.fileUpload.indexNameForm.guidelines.lowercaseOnly": "Minuscules uniquement", @@ -15025,12 +15603,12 @@ "xpack.fleet.agentActivityFlyout.scheduleTitle": "{nbAgents} agents programmés pour la mise à niveau vers la version {version}", "xpack.fleet.agentActivityFlyout.startedDescription": "Démarré le {date}.", "xpack.fleet.agentActivityFlyout.upgradeDescription": "{guideLink} concernant les mises à jour de l'agent.", - "xpack.fleet.agentBulkActions.requestDiagnostics": "Demander des diagnostics pour {agentCount, plural, one {# agent} many {# agents} other {# agents}}", - "xpack.fleet.agentBulkActions.scheduleUpgradeAgents": "Programmer la mise à niveau pour {agentCount, plural, one {# agent} many {# agents} other {# agents}}", - "xpack.fleet.agentBulkActions.totalAgents": "Affichage de {count, plural, one {# agent} many {# agents} other {# agents}}", + "xpack.fleet.agentBulkActions.requestDiagnostics": "Demander des diagnostics pour {agentCount, plural, one {# agent} many {# agents ont été enregistrés} other {# agents}}", + "xpack.fleet.agentBulkActions.scheduleUpgradeAgents": "Programmer la mise à niveau pour {agentCount, plural, one {# agent} many {# agents ont été enregistrés} other {# agents}}", + "xpack.fleet.agentBulkActions.totalAgents": "Affichage de {count, plural, one {# agent} many {# agents ont été enregistrés} other {# agents}}", "xpack.fleet.agentBulkActions.totalAgentsWithLimit": "Affichage de {count} agents sur {total}", - "xpack.fleet.agentBulkActions.unenrollAgents": "Désinscription de {agentCount, plural, one {# agent} many {# agents} other {# agents}}", - "xpack.fleet.agentBulkActions.upgradeAgents": "Mettre à niveau {agentCount, plural, one {# agent} many {# agents} other {# agents}}", + "xpack.fleet.agentBulkActions.unenrollAgents": "Désinscription de {agentCount, plural, one {# agent} many {# agents ont été enregistrés} other {# agents}}", + "xpack.fleet.agentBulkActions.upgradeAgents": "Mettre à niveau {agentCount, plural, one {# agent} many {# agents ont été enregistrés} other {# agents}}", "xpack.fleet.agentDetails.agentNotFoundErrorDescription": "ID d'agent {agentId} introuvable", "xpack.fleet.agentDetails.jsonFlyoutDescription": "Le JSON ci-dessous correspond aux données brutes de l'agent suivies par Fleet. Ces données peuvent être utiles pour le débogage ou le dépannage d'Elastic Agent. Pour en savoir plus, consultez {doc}.", "xpack.fleet.agentEnrollment.agentAuthenticationSettings": "{agentPolicyName} a été sélectionné. Sélectionnez le token d'inscription à utiliser lors de l'inscription des agents.", @@ -15049,10 +15627,10 @@ "xpack.fleet.agentLogs.logDisabledCallOutDescription": "Mettez à jour la politique de l'agent {settingsLink} pour activer la collecte de logs.", "xpack.fleet.agentLogs.oldAgentWarningTitle": "La vue Logs requiert Elastic Agent 7.11 ou une version ultérieure. Pour mettre à niveau un agent, accédez au menu Actions ou {downloadLink} une version plus récente.", "xpack.fleet.agentPolicy.confirmModalCalloutDescription": "Fleet a détecté que la politique d'agent sélectionnée, {policyName}, est déjà en cours d'utilisation par certains de vos agents. Suite à cette action, Fleet déploie les mises à jour de tous les agents qui utilisent cette stratégie.", - "xpack.fleet.agentPolicy.confirmModalCalloutTitle": "Cette action va mettre à jour {agentCount, plural, one {# agent} many {# agents} other {# agents}}", + "xpack.fleet.agentPolicy.confirmModalCalloutTitle": "Cette action va mettre à jour {agentCount, plural, one {# agent} many {# agents ont été enregistrés} other {# agents}}", "xpack.fleet.agentPolicy.downloadSourcesOptions.defaultOutputText": "Par défaut (actuellement {defaultDownloadSourceName})", "xpack.fleet.agentPolicy.fleetServerHostsOptions.defaultOutputText": "Par défaut (actuellement {defaultFleetServerHostsName})", - "xpack.fleet.agentPolicy.linkedAgentCountText": "{count, plural, one {# agent} many {# agents} other {# agents}}", + "xpack.fleet.agentPolicy.linkedAgentCountText": "{count, plural, one {# agent} many {# agents ont été enregistrés} other {# agents}}", "xpack.fleet.agentPolicy.outputOptions.defaultOutputText": "Par défaut (actuellement {defaultOutputName})", "xpack.fleet.agentPolicy.postInstallAddAgentModal": "{packageName} intégration ajoutée", "xpack.fleet.agentPolicy.postInstallAddAgentModalDescription": "Pour terminer cette intégration, ajoutez {elasticAgent} à vos hôtes pour collecter les données et les envoyer à la Suite Elastic.", @@ -15062,10 +15640,12 @@ "xpack.fleet.agentPolicyForm.outputOptionDisabledTypeNotSupportedText": "La sortie {outputType} pour l'intégration des agents n'est pas prise en charge pour Fleet Server ou APM.", "xpack.fleet.agentPolicyForm.outputOptionDisableOutputTypeText": "La sortie {outputType} pour l'intégration des agents n'est pas prise en charge pour Fleet Server ou APM.", "xpack.fleet.agentPolicyForm.systemMonitoringTooltipText": "Cela ajoutera également une intégration {system} pour collecter les logs et les indicateurs du système.", + "xpack.fleet.agentPolicyForm.tamperingDescription": "Empêche les installations locales d’agents. Lorsque cette option est activée, les agents ne peuvent être désinstallés qu’avec un token d’autorisation dans la commande de désinstallation. Cliquez sur {linkName} pour voir la commande complète.", "xpack.fleet.agentPolicyList.noFilteredAgentPoliciesPrompt": "Aucune politique d'agent n'a été trouvée. {clearFiltersLink}", "xpack.fleet.agentPolicySummaryLine.revisionNumber": "rév. {revNumber}", - "xpack.fleet.agentReassignPolicy.flyoutDescription": "Choisissez une nouvelle politique d'agent à laquelle affecter {count, plural, one {agent} many {les agents sélectionnés} other {les agents sélectionnés}}.", + "xpack.fleet.agentReassignPolicy.flyoutDescription": "Choisissez une nouvelle politique d'agent à laquelle affecter {count, plural, one {agent} many {des agents} other {les agents sélectionnés}}.", "xpack.fleet.agentReassignPolicy.policyDescription": "La politique d'agent sélectionnée collecte les données pour {count, plural, one {{countValue} intégration} many {{countValue} intégrations} other {{countValue} intégrations}} :", + "xpack.fleet.agentUninstallCommandFlyout.description": "Sélectionnez la plateforme appropriée et exécutez la commande pour désinstaller Elastic Agent. Réutilisez la commande pour désinstaller les agents sur plus d’un hôte. {learnMoreLink}", "xpack.fleet.apiRequestFlyout.devtoolsRequestDescription": "{learnMore}", "xpack.fleet.ConfirmForceInstallModal.calloutBody": "Cette intégration contient un package non signé à l'authenticité inconnue et est susceptible de contenir des fichiers malveillants. En savoir plus sur {learnMoreLink}.", "xpack.fleet.ConfirmForceInstallModal.calloutTitleWithPkg": "Échec de la vérification de l'intégration {pkgName}-{pkgVersion}", @@ -15073,11 +15653,11 @@ "xpack.fleet.confirmIncomingData.timeout.body": "Si le système ne génère pas de données, il peut être utile d’en générer quelques-unes pour s’assurer qu’elles sont collectées correctement. Si vous rencontrez des problèmes, consultez notre {troubleshootLink}. Vous pouvez aussi revenir plus tard via {discoverLink}.", "xpack.fleet.confirmIncomingData.timeout.discoverLink": "Logs d'{integration} dans Discover", "xpack.fleet.confirmIncomingData.timeout.discoverLogsLink": "Afficher les logs d'{integration} entrants", - "xpack.fleet.confirmIncomingData.title": "Données entrantes reçues de {numAgentsWithData} sur {enrolledAgents} {enrolledAgents, plural, one {agent} many {agents} other {agents}} déjà enregistré(s).", + "xpack.fleet.confirmIncomingData.title": "Données entrantes reçues de {numAgentsWithData} sur {enrolledAgents} {enrolledAgents, plural, one {agent} many {des agents} other {agents}} déjà enregistré(s).", "xpack.fleet.confirmIncomingDataStandalone.description": "Vous pouvez contrôler les données de l'agent dans l'onglet de la ressource d'intégration. Si vous rencontrez des problèmes pour afficher les données, consultez {link}.", "xpack.fleet.confirmIncomingDataWithPreview.loading": "Il peut s'écouler quelques minutes avant que les données n'arrivent jusqu'à Elasticsearch. Si vous ne les voyez pas, essayez d'en générer pour vérifier la situation. Si vous rencontrez des problèmes lors de la connexion, consultez {link}.", "xpack.fleet.confirmIncomingDataWithPreview.prePollingInstructions": "Une fois l'agent démarré, la Suite Elastic écoute l'agent et confirme son enregistrement dans Fleet. Si vous rencontrez des problèmes lors de la connexion, consultez {link}.", - "xpack.fleet.confirmIncomingDataWithPreview.title": "Données entrantes reçues de {numAgentsWithData} {numAgentsWithData, plural, one {agent} many {agents enregistrés} other {agents enregistrés}}.", + "xpack.fleet.confirmIncomingDataWithPreview.title": "Données entrantes reçues de {numAgentsWithData} {numAgentsWithData, plural, one {agent} many {des agents} other {agents enregistrés}}.", "xpack.fleet.ConfirmOpenUnverifiedModal.calloutBody": "Cette intégration contient un package non signé à l'authenticité inconnue et est susceptible de contenir des fichiers malveillants. En savoir plus sur {learnMoreLink}.", "xpack.fleet.ConfirmOpenUnverifiedModal.calloutTitleWithPkg": "Échec de la vérification de l'intégration {pkgName}", "xpack.fleet.copyAgentPolicy.confirmModal.defaultNewPolicyName": "{name} (copie)", @@ -15088,9 +15668,9 @@ "xpack.fleet.createPackagePolicy.stepConfigure.packagePolicyDataRetentionText": "Par défaut, tous les logs et toutes les données d'indicateurs sont stockés au niveau \"hot\". {learnMore} sur la modification de la politique de conservation des données pour cette intégration.", "xpack.fleet.createPackagePolicy.stepConfigure.packagePolicyNamespaceHelpLabel": "Modifiez l'espace de nom par défaut hérité de la stratégie d'agent sélectionnée. Ce paramètre modifie le nom du flux de données de l'intégration. {learnMore}.", "xpack.fleet.createPackagePolicy.stepConfigure.showStreamsAriaLabel": "Afficher les entrées {type}", - "xpack.fleet.createPackagePolicy.StepSelectPolicy.agentPolicyAgentsDescriptionText": "{count, plural, one {# agent est enregistré} many {# agents sont enregistrés} other {# agents sont enregistrés}} avec la politique d'agent sélectionnée.", + "xpack.fleet.createPackagePolicy.StepSelectPolicy.agentPolicyAgentsDescriptionText": "{count, plural, one {# agent est enregistré} many {# agents sont affectés} other {# agents sont enregistrés}} avec la politique d'agent sélectionnée.", "xpack.fleet.createPackagePolicy.transformInstallWithCurrentUserPermissionCallout": "Ce package a {count, plural, one {une ressource de transformation qui sera créée et démarrée avec les mêmes rôles que l'utilisateur installant le package.} many {# ressources de transformation qui seront créées et démarrées avec les mêmes rôles que l'utilisateur installant le package.} other {# ressources de transformation qui seront créées et démarrées avec les mêmes rôles que l'utilisateur installant le package.}}.", - "xpack.fleet.currentUpgrade.confirmDescription": "Cette action annulera la mise à niveau de {nbAgents, plural, one {# agent} many {# agents} other {# agents}}", + "xpack.fleet.currentUpgrade.confirmDescription": "Cette action annulera la mise à niveau de {nbAgents, plural, one {# agent} many {# agents ont été enregistrés} other {# agents}}", "xpack.fleet.datasetCombo.customOptionText": "Ajouter {searchValue} comme option personnalisée", "xpack.fleet.datasetCombo.warning": "Ce flux de données est géré par l'intégration {package}, {learnMore}.", "xpack.fleet.debug.agentPolicyDebugger.description": "Recherchez une politique d'agent par son nom ou sa valeur {codeId}. Utilisez le bloc de code ci-dessous pour diagnostiquer tout problème potentiel dans la configuration de la stratégie.", @@ -15111,7 +15691,7 @@ "xpack.fleet.debug.preconfigurationDebugger.resetModalTitle": "Réinitialiser {policyName}", "xpack.fleet.deleteAgentPolicy.confirmModal.affectedAgentsMessage": "{agentsCount, plural, one {# agent est affecté} many {# agents sont affectés} other {# agents sont affectés}} à cette politique d'agent. Annulez l'attribution de ces agents avant de supprimer cette stratégie.", "xpack.fleet.deletePackagePolicy.confirmModal.affectedAgentsMessage": "Fleet a détecté que certains de vos agents utilisaient déjà {agentPolicyName}.", - "xpack.fleet.deletePackagePolicy.confirmModal.affectedAgentsTitle": "Cette action va affecter {agentsCount} {agentsCount, plural, one {agent} many {agents} other {agents}}.", + "xpack.fleet.deletePackagePolicy.confirmModal.affectedAgentsTitle": "Cette action va affecter {agentsCount} {agentsCount, plural, one {agent} many {des agents} other {agents}}.", "xpack.fleet.deletePackagePolicy.confirmModal.confirmButtonLabel": "Supprimer {agentPoliciesCount, plural, one {intégration} many {intégrations} other {intégrations}}", "xpack.fleet.deletePackagePolicy.confirmModal.deleteMultipleTitle": "Supprimer {count, plural, one {intégration} many {# intégrations} other {# intégrations}} ?", "xpack.fleet.deletePackagePolicy.failureMultipleNotificationTitle": "Erreur lors de la suppression de {count} intégrations", @@ -15165,7 +15745,7 @@ "xpack.fleet.fleetServerSetupPermissionDeniedErrorMessage": "Le serveur Fleet doit être configuré. Pour cela, le privilège de cluster {roleName} est requis. Contactez votre administrateur.", "xpack.fleet.homeIntegration.tutorialModule.noticeText": "{notePrefix} Une version plus récente de ce module est {availableAsIntegrationLink}. Pour en savoir plus sur les intégrations et le nouvel agent Elastic, lisez notre {blogPostLink}.", "xpack.fleet.integration.settings.versionInfo.updatesAvailableBody": "Passez à la version {latestVersion} pour bénéficier des fonctionnalités les plus récentes.", - "xpack.fleet.integrations.confirmUpdateModal.body.agentCount": "{agentCount, plural, one {# agent} many {# agents} other {# agents}}", + "xpack.fleet.integrations.confirmUpdateModal.body.agentCount": "{agentCount, plural, one {# agent} many {# agents ont été enregistrés} other {# agents}}", "xpack.fleet.integrations.confirmUpdateModal.body.policyCount": "{packagePolicyCount, plural, one {# politique d'intégration} many {# politiques d'intégration} other {# politiques d'intégration}}", "xpack.fleet.integrations.installPackage.installingPackageButtonLabel": "Installation de ressources {title}", "xpack.fleet.integrations.installPackage.installPackageButtonLabel": "Installer des ressources {title}", @@ -15220,17 +15800,17 @@ "xpack.fleet.preconfiguration.packageRejectedError": "Impossible d'ajouter [{agentPolicyName}]. [{pkgName}] n'a pas pu être installé en raison d'une erreur : [{errorMessage}]", "xpack.fleet.preconfiguration.policyDeleted": "La politique préconfigurée {id} a été supprimée ; ignorer la création", "xpack.fleet.requestDiagnostics.confirmMultipleButtonLabel": "Demander un diagnostic pour {count} agents", - "xpack.fleet.requestDiagnostics.fatalErrorNotificationTitle": "Erreur lors de la demande de diagnostic pour {count, plural, one {agent} many {agents} other {agents}}", + "xpack.fleet.requestDiagnostics.fatalErrorNotificationTitle": "Erreur lors de la demande de diagnostic pour {count, plural, one {agent} many {des agents} other {agents}}", "xpack.fleet.requestDiagnostics.multipleTitle": "Demander un diagnostic pour {count} agents", "xpack.fleet.requestDiagnostics.notSupportedTooltip": "La demande de diagnostics d'agent n'est pas prise en charge pour les agents antérieurs à la version {version}.", "xpack.fleet.requestDiagnostics.readyNotificationTitle": "Diagnostic de l'agent {name} prêt", "xpack.fleet.serverError.agentPolicyDoesNotExist": "La politique d'agent {agentPolicyId} n'existe pas", "xpack.fleet.serverError.enrollmentKeyDuplicate": "Une clé d'enregistrement nommée {providedKeyName} existe déjà pour la politique d'agent {agentPolicyId}", "xpack.fleet.settings.deleteDowloadSource.agentPolicyCount": "{agentPolicyCount, plural, one {# politique d'agent} many {# politiques d'agent} other {# politiques d'agent}}", - "xpack.fleet.settings.deleteDowloadSource.agentsCount": "{agentCount, plural, one {# agent} many {# agents} other {# agents}}", + "xpack.fleet.settings.deleteDowloadSource.agentsCount": "{agentCount, plural, one {# agent} many {# agents ont été enregistrés} other {# agents}}", "xpack.fleet.settings.deleteDowloadSource.confirmModalText": "Cette action va supprimer la source binaire de l'agent {downloadSourceName}. Elle va mettre à jour {policies} et {agents}. Impossible d'annuler cette action. Voulez-vous vraiment continuer ?", "xpack.fleet.settings.deleteOutput.agentPolicyCount": "{agentPolicyCount, plural, one {# politique d'agent} many {# politiques d'agent} other {# politiques d'agent}}", - "xpack.fleet.settings.deleteOutput.agentsCount": "{agentCount, plural, one {# agent} many {# agents} other {# agents}}", + "xpack.fleet.settings.deleteOutput.agentsCount": "{agentCount, plural, one {# agent} many {# agents ont été enregistrés} other {# agents}}", "xpack.fleet.settings.deleteOutput.confirmModalText": "Cette action supprimera la sortie {outputName}. Elle va mettre à jour {policies} et {agents}. Impossible d'annuler cette action. Voulez-vous vraiment continuer ?", "xpack.fleet.settings.editDownloadSourcesFlyout.hostsInputDescription": "Adresse que vos agents utiliseront pour télécharger les fichiers binaires. Spécifiez le chemin d'accès au répertoire contenant les fichiers binaires. {guideLink}", "xpack.fleet.settings.editOutputFlyout.defaultMontoringOutputSwitchLabel": "Définissez cette sortie par défaut pour {boldAgentMonitoring}.", @@ -15244,10 +15824,10 @@ "xpack.fleet.settings.logstashInstructions.replaceStepDescription": "Remplacez les parties entre crochets par les chemins d’accès aux certificats SSL générés. Affichez {documentationLink} pour générer les certificats.", "xpack.fleet.settings.outputForm.invalidYamlFormatErrorMessage": "YAML non valide : {reason}", "xpack.fleet.settings.updateDownloadSourceModal.agentPolicyCount": "{agentPolicyCount, plural, one {# politique d'agent} many {# politiques d'agent} other {# politiques d'agent}}", - "xpack.fleet.settings.updateDownloadSourceModal.agentsCount": "{agentCount, plural, one {# agent} many {# agents} other {# agents}}", + "xpack.fleet.settings.updateDownloadSourceModal.agentsCount": "{agentCount, plural, one {# agent} many {# agents ont été enregistrés} other {# agents}}", "xpack.fleet.settings.updateDownloadSourceModal.confirmModalText": "Cette action va mettre à jour la source binaire de l'agent {downloadSourceName}. Elle va mettre à jour {policies} et {agents}. Impossible d'annuler cette action. Voulez-vous vraiment continuer ?", "xpack.fleet.settings.updateOutput.agentPolicyCount": "{agentPolicyCount, plural, one {# politique d'agent} many {# politiques d'agent} other {# politiques d'agent}}", - "xpack.fleet.settings.updateOutput.agentsCount": "{agentCount, plural, one {# agent} many {# agents} other {# agents}}", + "xpack.fleet.settings.updateOutput.agentsCount": "{agentCount, plural, one {# agent} many {# agents ont été enregistrés} other {# agents}}", "xpack.fleet.settings.updateOutput.confirmModalText": "Cette action va mettre à jour la sortie {outputName}. Elle va mettre à jour {policies} et {agents}. Impossible d'annuler cette action. Voulez-vous vraiment continuer ?", "xpack.fleet.setupPage.elasticsearchApiKeyFlagText": "{apiKeyLink}. Définissez {apiKeyFlag} sur {true}.", "xpack.fleet.setupPage.elasticsearchSecurityFlagText": "{esSecurityLink}. Définissez {securityFlag} sur {true}.", @@ -15258,7 +15838,7 @@ "xpack.fleet.unenrollAgents.deleteSingleDescription": "Cette action va supprimer l'agent sélectionné qui s'exécute sur \"{hostName}\" depuis Fleet. Les données déjà envoyées par l'agent ne sont pas supprimées. Cette action ne peut pas être annulée.", "xpack.fleet.unenrollAgents.fatalErrorNotificationTitle": "Erreur lors du désenregistrement {count, plural, one {agent} many {des agents} other {des agents}}", "xpack.fleet.unenrollAgents.forceDeleteMultipleTitle": "Désenregistrer {count} agents", - "xpack.fleet.unenrollAgents.forceUnenrollCheckboxLabel": "Démarrez {count, plural, one {agent} many {les agents} other {les agents}} immédiatement. N'attendez pas que l'agent envoie les dernières données.", + "xpack.fleet.unenrollAgents.forceUnenrollCheckboxLabel": "Démarrez {count, plural, one {agent} many {des agents} other {les agents}} immédiatement. N'attendez pas que l'agent envoie les dernières données.", "xpack.fleet.unenrollAgents.forceUnenrollLegendText": "Forcer le désenregistrement de {count, plural, one {agent} many {des agents} other {des agents}}", "xpack.fleet.upgradeAgents.hourLabel": "{option} {count, plural, one {heure} many {heures} other {heures}}", "xpack.fleet.upgradeAgents.upgradeMultipleDescription": "Cette action va mettre à niveau plusieurs agents vers la version {version}. Impossible d'annuler cette action. Voulez-vous vraiment continuer ?", @@ -15344,6 +15924,9 @@ "xpack.fleet.agentDetails.viewDashboardButton.disabledNoIntegrationTooltip": "Tableau de bord de l'agent non trouvé, vous devez installer l'intégration elastic_agent.", "xpack.fleet.agentDetails.viewDashboardButton.disabledNoLogsAndMetricsTooltip": "Les logs et les indicateurs de l'agent ne sont pas activés dans la politique de l'agent.", "xpack.fleet.agentDetails.viewDashboardButtonLabel": "Afficher plus d'indicateurs d'agent", + "xpack.fleet.agentDetailsIntegrations.inputErrorTitle.degraded": "Dégradé", + "xpack.fleet.agentDetailsIntegrations.inputErrorTitle.failed": "Échoué", + "xpack.fleet.agentDetailsIntegrations.inputStatusDefaultDescription": "Non disponible", "xpack.fleet.agentDetailsIntegrations.inputsTypeLabel": "Entrées", "xpack.fleet.agentDetailsIntegrations.inputTypeEndpointText": "Point de terminaison", "xpack.fleet.agentDetailsIntegrations.inputTypeLogText": "Logs", @@ -15353,8 +15936,10 @@ "xpack.fleet.agentEnrenrollmentStepAgentPolicyollment.noEnrollmentTokensForSelectedPolicyCalloutDescription": "Vous devez créer un token d'inscription afin d'inscrire les agents avec cette politique", "xpack.fleet.agentEnrollment.agentDescription": "Ajoutez des agents Elastic à vos hôtes pour collecter des données et les envoyer à la Suite Elastic.", "xpack.fleet.agentEnrollment.closeFlyoutButtonLabel": "Fermer", + "xpack.fleet.agentEnrollment.cloudFormation.launchButton": "Lancer CloudFormation", "xpack.fleet.agentEnrollment.cloudFormation.loadingAriaLabel": "Chargement des instructions CloudFormation", "xpack.fleet.agentEnrollment.cloudFormation.noApiKey": "Token d'enregistrement non trouvé", + "xpack.fleet.agentEnrollment.cloudFormation.stepEnrollAndRunAgentTitle": "Installer Elastic Agent sur votre cloud", "xpack.fleet.agentEnrollment.confirmation.button": "Voir les agents inscrits", "xpack.fleet.agentEnrollment.copyPolicyButton": "Copier dans le presse-papiers", "xpack.fleet.agentEnrollment.downloadDescriptionForK8s": "Copiez ou téléchargez le manifeste Kubernetes.", @@ -15410,6 +15995,7 @@ "xpack.fleet.agentList.diagnosticsOneButton": "Demander le .zip de diagnostic", "xpack.fleet.agentList.errorFetchingDataTitle": "Erreur lors de la récupération des agents", "xpack.fleet.agentList.forceUnenrollOneButton": "Forcer le désenregistrement", + "xpack.fleet.agentList.getUninstallCommand": "Désinstaller l'agent", "xpack.fleet.agentList.header.clearFiltersLinkText": "Effacer les filtres", "xpack.fleet.agentList.hostColumnTitle": "Hôte", "xpack.fleet.agentList.inactiveAgentsTourStepContent": "Certains agents sont devenus inactifs et ont été masqués. Utilisez les filtres de statut pour afficher les agents inactifs ou désenregistrés.", @@ -15469,6 +16055,7 @@ "xpack.fleet.agentPolicyActionMenu.buttonText": "Actions", "xpack.fleet.agentPolicyActionMenu.copyPolicyActionText": "Dupliquer la politique", "xpack.fleet.agentPolicyActionMenu.enrollAgentActionText": "Ajouter un agent", + "xpack.fleet.agentPolicyActionMenu.getUninstallCommand": "Désinstaller des agents de cette politique", "xpack.fleet.agentPolicyActionMenu.viewPolicyText": "Afficher la politique", "xpack.fleet.agentPolicyCreation.created": "Politique d'agent créée", "xpack.fleet.agentPolicyCreation.errorMessage": "Une politique d'agent existe déjà avec ce nom.", @@ -15513,6 +16100,9 @@ "xpack.fleet.agentPolicyForm.namespaceFieldLabel": "Espace de nom par défaut", "xpack.fleet.agentPolicyForm.newAgentPolicyFieldLabel": "Nouveau nom de la stratégie d'agent", "xpack.fleet.agentPolicyForm.systemMonitoringText": "Collecte des logs et des mesures du système", + "xpack.fleet.agentPolicyForm.tamperingLabel": "Protection contre la falsification des agents", + "xpack.fleet.agentPolicyForm.tamperingSwitchLabel": "Empêcher la falsification des agents", + "xpack.fleet.agentPolicyForm.tamperingUninstallLink": "Obtenir la commande de désinstallation", "xpack.fleet.agentPolicyForm.unenrollmentTimeoutDeprecatedLabel": "Déclassé", "xpack.fleet.agentPolicyForm.unenrollmentTimeoutDescription": "Délai d'expiration facultatif en secondes. Si une valeur est renseignée et que la version du serveur Fleet est inférieure à 8.7.0, un agent est automatiquement désenregistré après une période d'inactivité équivalente à ce délai.", "xpack.fleet.agentPolicyForm.unenrollmentTimeoutLabel": "Délai d'expiration pour le désenregistrement", @@ -15545,6 +16135,16 @@ "xpack.fleet.agentStatus.unenrolledLabel": "Désenregistré", "xpack.fleet.agentStatus.unhealthyLabel": "Défectueux", "xpack.fleet.agentStatus.updatingLabel": "Mise à jour", + "xpack.fleet.agentUninstallCommandFlyout.errorFetchingToken": "Impossible de récupérer le token de désinstallation", + "xpack.fleet.agentUninstallCommandFlyout.firstParagraph": "Désinstallez Elastic Agent et désenregistrez-vous de Fleet pour cesser de communiquer avec l'hôte.", + "xpack.fleet.agentUninstallCommandFlyout.learnMore": "En savoir plus", + "xpack.fleet.agentUninstallCommandFlyout.platformButtons.linuxOrMac": "Linux ou Mac", + "xpack.fleet.agentUninstallCommandFlyout.platformButtons.windows": "Windows", + "xpack.fleet.agentUninstallCommandFlyout.platformSelectAriaLabel": "Plateforme", + "xpack.fleet.agentUninstallCommandFlyout.subtitle": "Désinstaller Elastic Agent de votre hôte", + "xpack.fleet.agentUninstallCommandFlyout.title": "Désinstaller l'agent", + "xpack.fleet.agentUninstallCommandFlyout.unknownError": "Erreur inconnue", + "xpack.fleet.agentUninstallCommandFlyout.validForPolicyId": "Valide pour la politique d’agent suivante :", "xpack.fleet.apiRequestFlyout.description": "Exécuter ces requêtes sur Kibana", "xpack.fleet.apiRequestFlyout.learnMoreLink": "En savoir plus sur l'API Fleet", "xpack.fleet.apiRequestFlyout.openFlyoutButton": "Prévisualiser la requête API", @@ -15572,7 +16172,7 @@ "xpack.fleet.breadcrumbs.policiesPageTitle": "Stratégies d'agent", "xpack.fleet.breadcrumbs.settingsPageTitle": "Paramètres", "xpack.fleet.breadcrumbs.upgradePackagePolicyPageTitle": "Mettre à niveau l'intégration ", - "xpack.fleet.config.disableSynthetics": "Le package Synthetics n'est pas pris en charge via le fichier de configuration kibana.yml. Veuillez utiliser une application Synthetics pour créer des moniteurs dans des emplacements privés. https://www.elastic.co/guide/en/observability/current/synthetics-private-location.html", + "xpack.fleet.config.disableSynthetics": "Le package Synthetics n'est pas pris en charge via le fichier de configuration kibana.yml. Veuillez utiliser Synthetics App pour créer des moniteurs dans des emplacements privés. https://www.elastic.co/guide/en/observability/current/synthetics-private-location.html", "xpack.fleet.config.invalidPackageVersionError": "doit être un serveur valide, ou le mot clé 'latest'", "xpack.fleet.ConfirmForceInstallModal.calloutTitleNoPkg": "Échec de la vérification de l’intégration", "xpack.fleet.ConfirmForceInstallModal.cancelButtonLabel": "Annuler", @@ -15804,6 +16404,8 @@ "xpack.fleet.editPackagePolicy.upgradeButton": "Mettre à niveau l'intégration", "xpack.fleet.encryptionKeyRequired.calloutTitle": "Configuration supplémentaire requise", "xpack.fleet.encryptionKeyRequired.link": "En savoir plus", + "xpack.fleet.endpointUninstallCommandFlyout.description": "Utilisez la commande de désinstallation ci-dessous pour désinstaller l’intégration de l’hôte... [TODO]", + "xpack.fleet.endpointUninstallCommandFlyout.subtitle": "Désinstallez l’intégration Elastic Defend de votre hôte", "xpack.fleet.enrollemntAPIKeyList.emptyMessage": "Jeton d'enregistrement introuvable.", "xpack.fleet.enrollemntAPIKeyList.loadingTokensMessage": "Chargement des jetons d'enregistrement en cours…", "xpack.fleet.enrollment.addFleetServerButton": "Ajouter un serveur Fleet", @@ -15823,6 +16425,8 @@ "xpack.fleet.enrollmentInstructions.installationMessage.link": "documents relatifs à l'installation", "xpack.fleet.enrollmentInstructions.k8sCallout": "Nous recommandons d'ajouter l'intégration Kubernetes à votre politique d'agent afin d'obtenir des indicateurs et des journaux utiles de vos clusters Kubernetes.", "xpack.fleet.enrollmentInstructions.k8sInstallationMessage": "Le manifeste ci-dessous a été généré automatiquement. Il inclut les informations d'identification de cette instance de l'agent Elastic qui doivent être gérées de façon centrale avec Fleet dès son exécution dans votre cluster Kubernetes.", + "xpack.fleet.enrollmentInstructions.macCallout": "Nous déconseillons de déployer cette intégration sous Mac, car elle est incompatible pour l’instant.", + "xpack.fleet.enrollmentInstructions.placeHolderCallout": "Nous déconseillons fortement de déployer CSPM au sein d’un cluster Kubernetes. Cela peut entraîner une redondance dans la récupération des données, ce qui peut augmenter les coûts de consommation au sein de votre compte Elastic et potentiellement déclencher une restriction du taux d’API dans votre ou vos comptes cloud.", "xpack.fleet.enrollmentInstructions.platformButtons.kubernetes": "Kubernetes", "xpack.fleet.enrollmentInstructions.platformButtons.linux": "Linux Tar", "xpack.fleet.enrollmentInstructions.platformButtons.linux.deb": "DEB", @@ -15906,7 +16510,7 @@ "xpack.fleet.epm.packageDetails.apiReference.variableTableTitle": "Variables", "xpack.fleet.epm.packageDetails.assets.assetsNotAvailableInCurrentSpace": "Cette intégration est installée, mais aucune ressource n’est disponible dans cet espace.", "xpack.fleet.epm.packageDetails.assets.assetsPermissionError": "Vous ne disposez pas d'autorisation pour récupérer l'objet enregistré Kibana pour cette intégration. Contactez votre administrateur.", - "xpack.fleet.epm.packageDetails.assets.assetsPermissionErrorTitle": "Erreurs d'autorisation", + "xpack.fleet.epm.packageDetails.assets.assetsPermissionErrorTitle": "Erreur d'autorisation", "xpack.fleet.epm.packageDetails.assets.deferredInstallationsDescription": "La ressource nécessite des autorisations supplémentaires.", "xpack.fleet.epm.packageDetails.assets.deferredInstallationsLabel": "Installations différées", "xpack.fleet.epm.packageDetails.assets.deferredInstallationsMsg": "Ce package a au moins une installation différée qui nécessite des autorisations supplémentaires pour s'installer et fonctionner correctement.", @@ -16110,10 +16714,11 @@ "xpack.fleet.packagePolicyValidation.boolValueError": "Les valeurs booléennes doivent être définies sur \"true\" ou \"false\".", "xpack.fleet.packagePolicyValidation.invalidIntegerErrorMessage": "Nombre entier non valide", "xpack.fleet.packagePolicyValidation.invalidIntegerMultiErrorMessage": "Nombre entier non valide", + "xpack.fleet.packagePolicyValidation.invalidSecretReference": "La référence secrète n’est pas valide, l’ID doit être une chaîne", "xpack.fleet.packagePolicyValidation.invalidSelectValueErrorMessage": "Valeur non valide pour le type sélectionné", "xpack.fleet.packagePolicyValidation.invalidYamlFormatErrorMessage": "Format YAML non valide", "xpack.fleet.packagePolicyValidation.nameRequiredErrorMessage": "Le nom est obligatoire", - "xpack.fleet.packagePolicyValidation.quoteStringErrorMessage": "Les chaînes commençant par des caractères YAML spéciaux, comme * ou &, requièrent des guillemets doubles.", + "xpack.fleet.packagePolicyValidation.quoteStringErrorMessage": "Les chaînes commençant par des caractères YAML spéciaux, comme * ou &, requièrent des guillemets doubles.", "xpack.fleet.permissionDeniedErrorTitle": "Autorisation refusée", "xpack.fleet.permissionsRequestErrorMessageDescription": "Un problème est survenu lors de la vérification des autorisations Fleet", "xpack.fleet.permissionsRequestErrorMessageTitle": "Impossible de vérifier les autorisations", @@ -16410,8 +17015,9 @@ "xpack.fleet.upgradePackagePolicy.statusCallout.previousConfigurationLink": "configuration précédente", "xpack.fleet.upgradePackagePolicy.statusCallOut.successTitle": "Prêt pour la mise à niveau", "xpack.globalSearch.find.invalidLicenseError": "L'API GlobalSearch est désactivée, car l'état de licence n'est pas valide : {errorMessage}", - "xpack.globalSearchBar.searchbar.overflowTagsAriaLabel": "{n} {n, plural, one {autre balise} many {autres balises} other {autres balises}} : {tags}", + "xpack.globalSearchBar.searchbar.overflowTagsAriaLabel": "{n} {n, plural, one {autre balise} many {les balises} other {autres balises}} : {tags}", "xpack.globalSearchBar.searchBar.shortcutDescription.shortcutDetail": "{shortcutDescription} {commandDescription}", + "xpack.globalSearchBar.searchBar.closeSearchAriaText": "Fermer la barre de recherche", "xpack.globalSearchBar.searchBar.helpText.helpTextConjunction": "ou", "xpack.globalSearchBar.searchBar.helpText.helpTextPrefix": "Filtrer par", "xpack.globalSearchBar.searchBar.mobileSearchButtonAriaLabel": "Recherche sur l'ensemble du site", @@ -16426,9 +17032,13 @@ "xpack.globalSearchBar.searchBar.shortcutTooltip.description": "Raccourci clavier", "xpack.globalSearchBar.searchBar.shortcutTooltip.macCommandDescription": "Commande + /", "xpack.globalSearchBar.searchBar.shortcutTooltip.windowsCommandDescription": "Contrôle + /", + "xpack.globalSearchBar.searchBar.showSearchAriaText": "Affichez la barre de recherche", "xpack.globalSearchBar.suggestions.filterByTagLabel": "Filtrer par nom de balise", "xpack.globalSearchBar.suggestions.filterByTypeLabel": "Filtrer par type", "xpack.graph.blocklist.noEntriesDescription": "Aucun terme n'est bloqué. Sélectionnez des sommets et cliquez sur {stopSign} dans le panneau de configuration à droite pour les bloquer. Les documents correspondant aux termes bloqués ne sont plus analysés, et les relations les concernant sont masquées.", + "xpack.graph.confirmModal.overwriteConfirmationMessage": "Voulez-vous vraiment écraser {title} ?", + "xpack.graph.confirmModal.overwriteTitle": "Écraser {name} ?", + "xpack.graph.confirmModal.saveDuplicateConfirmationMessage": "L'enregistrement de \"{name}\" crée un doublon de titre. Voulez-vous tout de même enregistrer ?", "xpack.graph.fatalError.errorStatusMessage": "Erreur {errStatus} {errStatusText} : {errMessage}", "xpack.graph.fieldManager.disabledFieldBadgeDescription": "Champ désactivé {field} : cliquez pour le configurer. Pour l'activation, cliquer en maintenant la touche Maj enfoncée", "xpack.graph.fieldManager.fieldBadgeDescription": "Champ {field} : cliquez pour le configurer. Pour la désactivation, cliquer en maintenant la touche Maj enfoncée", @@ -16462,6 +17072,11 @@ "xpack.graph.clearWorkspace.confirmButtonLabel": "Changer de source de données", "xpack.graph.clearWorkspace.confirmText": "Si vous changez de source de données, vos champs et sommets actuels sont réinitialisés.", "xpack.graph.clearWorkspace.modalTitle": "Modifications non enregistrées", + "xpack.graph.confirmModal.cancelButtonLabel": "Annuler", + "xpack.graph.confirmModal.overwriteButtonLabel": "Écraser", + "xpack.graph.confirmModal.saveDuplicateButtonLabel": "Enregistrer", + "xpack.graph.confirmModal.saveDuplicateConfirmationTitle": "Cette visualisation existe déjà", + "xpack.graph.content.name": "Visualisation de Graph", "xpack.graph.drilldowns.description": "Utilisez l'exploration pour créer des liens avec d'autres applications. Les sommets sélectionnés sont intégrés à l'URL.", "xpack.graph.errorToastTitle": "Erreur dans Graph", "xpack.graph.exploreGraph.timedOutWarningText": "L'exploration a expiré", @@ -16560,10 +17175,12 @@ "xpack.graph.outlinkEncoders.textLuceneTitle": "Texte échappé de Lucene", "xpack.graph.outlinkEncoders.textPlainDescription": "Texte des étiquettes de sommet sélectionnées en tant que chaîne simple encodée en URL", "xpack.graph.outlinkEncoders.textPlainTitle": "texte brut", + "xpack.graph.overwriteRejectedDescription": "La confirmation d'écrasement a été rejetée.", "xpack.graph.pageTitle": "Graph", "xpack.graph.pluginDescription": "Identifiez et analysez les relations pertinentes dans vos données Elasticsearch.", "xpack.graph.pluginSubtitle": "Révélez les modèles et les relations.", "xpack.graph.sampleData.label": "Graph", + "xpack.graph.saveDuplicateRejectedDescription": "La confirmation d'enregistrement avec un doublon de titre a été rejetée.", "xpack.graph.savedWorkspace.workspaceNameTitle": "Nouvel espace de travail Graph", "xpack.graph.saveWorkspace.successNotification.noDataSavedText": "La configuration a été enregistrée, mais pas les données", "xpack.graph.serverSideErrors.unavailableGraphErrorMessage": "Graph n'est pas disponible", @@ -16720,28 +17337,28 @@ "xpack.idxMgmt.home.componentTemplates.list.componentTemplatesDescription": "Utilisez des modèles de composants pour réutiliser des paramètres, des mappings et des configurations d'alias dans plusieurs modèles d'index. {learnMoreLink}", "xpack.idxMgmt.home.idxMgmtDescription": "Mettez à jour vos index Elasticsearch individuellement ou par lots. {learnMoreLink}", "xpack.idxMgmt.home.indexTemplatesDescription": "Utilisez des modèles d'index composables pour appliquer automatiquement des paramètres, des mappings et des alias aux index. {learnMoreLink}", - "xpack.idxMgmt.indexActionsMenu.clearIndexCacheLabel": "Effacer le cache {selectedIndexCount, plural, one {index} many {d'index} other {d'index}}", + "xpack.idxMgmt.indexActionsMenu.clearIndexCacheLabel": "Effacer le cache {selectedIndexCount, plural, one {index} many {index système non migrés} other {d'index}}", "xpack.idxMgmt.indexActionsMenu.closeIndex.closeDescription": "Vous êtes sur le point de fermer {selectedIndexCount, plural, one {cet index} many {ces index} other {ces index}} :", - "xpack.idxMgmt.indexActionsMenu.closeIndex.confirmModal.confirmButtonText": "Fermer {selectedIndexCount, plural, one {index} many {index} other {index}}", + "xpack.idxMgmt.indexActionsMenu.closeIndex.confirmModal.confirmButtonText": "Fermer {selectedIndexCount, plural, one {index} many {index système non migrés} other {index}}", "xpack.idxMgmt.indexActionsMenu.closeIndex.confirmModal.modalTitle": "Fermer {selectedIndexCount, plural, one {index} many {# index} other {# index}}", - "xpack.idxMgmt.indexActionsMenu.closeIndexLabel": "Fermer {selectedIndexCount, plural, one {index} many {index} other {index}}", - "xpack.idxMgmt.indexActionsMenu.deleteIndex.confirmModal.confirmButtonText": "Supprimer {selectedIndexCount, plural, one {index} many {index} other {index}}", + "xpack.idxMgmt.indexActionsMenu.closeIndexLabel": "Fermer {selectedIndexCount, plural, one {index} many {index système non migrés} other {index}}", + "xpack.idxMgmt.indexActionsMenu.deleteIndex.confirmModal.confirmButtonText": "Supprimer {selectedIndexCount, plural, one {index} many {index système non migrés} other {index}}", "xpack.idxMgmt.indexActionsMenu.deleteIndex.confirmModal.modalTitle": "Supprimer {selectedIndexCount, plural, one {index} many {# index} other {# index}}", "xpack.idxMgmt.indexActionsMenu.deleteIndex.deleteDescription": "Vous êtes sur le point de supprimer {selectedIndexCount, plural, one {cet index} many {ces index} other {ces index}} :", - "xpack.idxMgmt.indexActionsMenu.deleteIndexLabel": "Supprimer {selectedIndexCount, plural, one {index} many {les index} other {les index}}", - "xpack.idxMgmt.indexActionsMenu.editIndexSettingsLabel": "Modifier les paramètres {selectedIndexCount, plural, one {index} many {des index} other {des index}}", - "xpack.idxMgmt.indexActionsMenu.flushIndexLabel": "Vider {selectedIndexCount, plural, one {index} many {les index} other {les index}}", + "xpack.idxMgmt.indexActionsMenu.deleteIndexLabel": "Supprimer {selectedIndexCount, plural, one {index} many {index système non migrés} other {les index}}", + "xpack.idxMgmt.indexActionsMenu.editIndexSettingsLabel": "Modifier les paramètres {selectedIndexCount, plural, one {index} many {index système non migrés} other {des index}}", + "xpack.idxMgmt.indexActionsMenu.flushIndexLabel": "Vider {selectedIndexCount, plural, one {index} many {index système non migrés} other {les index}}", "xpack.idxMgmt.indexActionsMenu.forceMerge.forceMergeDescription": "Vous êtes sur le point de fusionner {selectedIndexCount, plural, one {cet index} many {ces index} other {ces index}} :", - "xpack.idxMgmt.indexActionsMenu.forceMergeIndexLabel": "Forcer la fusion {selectedIndexCount, plural, one {index} many {des index} other {des index}}", - "xpack.idxMgmt.indexActionsMenu.manageButtonAriaLabel": "Options {selectedIndexCount, plural, one {index} many {des index} other {des index}}", + "xpack.idxMgmt.indexActionsMenu.forceMergeIndexLabel": "Forcer la fusion {selectedIndexCount, plural, one {index} many {index système non migrés} other {des index}}", + "xpack.idxMgmt.indexActionsMenu.manageButtonAriaLabel": "Options {selectedIndexCount, plural, one {index} many {index système non migrés} other {des index}}", "xpack.idxMgmt.indexActionsMenu.manageButtonLabel": "Gérer {selectedIndexCount, plural, one {index} many {{selectedIndexCount} index} other {{selectedIndexCount} index}}", - "xpack.idxMgmt.indexActionsMenu.openIndexLabel": "Ouvrir {selectedIndexCount, plural, one {index} many {des index} other {des index}}", + "xpack.idxMgmt.indexActionsMenu.openIndexLabel": "Ouvrir {selectedIndexCount, plural, one {index} many {index système non migrés} other {des index}}", "xpack.idxMgmt.indexActionsMenu.panelTitle": "Options {selectedIndexCount, plural, one {Index} many {Index} other {Index}}", - "xpack.idxMgmt.indexActionsMenu.refreshIndexLabel": "Actualiser {selectedIndexCount, plural, one {index} many {les index} other {les index}}", - "xpack.idxMgmt.indexActionsMenu.showIndexMappingLabel": "Afficher le mapping {selectedIndexCount, plural, one {index} many {d'index} other {d'index}}", - "xpack.idxMgmt.indexActionsMenu.showIndexSettingsLabel": "Modifier les paramètres {selectedIndexCount, plural, one {index} many {des index} other {des index}}", - "xpack.idxMgmt.indexActionsMenu.showIndexStatsLabel": "Afficher les statistiques {selectedIndexCount, plural, one {index} many {des index} other {des index}}", - "xpack.idxMgmt.indexActionsMenu.unfreezeIndexLabel": "Dégeler {selectedIndexCount, plural, one {index} many {les index} other {les index}}", + "xpack.idxMgmt.indexActionsMenu.refreshIndexLabel": "Actualiser {selectedIndexCount, plural, one {index} many {index système non migrés} other {les index}}", + "xpack.idxMgmt.indexActionsMenu.showIndexMappingLabel": "Afficher le mapping {selectedIndexCount, plural, one {index} many {index système non migrés} other {d'index}}", + "xpack.idxMgmt.indexActionsMenu.showIndexSettingsLabel": "Modifier les paramètres {selectedIndexCount, plural, one {index} many {index système non migrés} other {des index}}", + "xpack.idxMgmt.indexActionsMenu.showIndexStatsLabel": "Afficher les statistiques {selectedIndexCount, plural, one {index} many {index système non migrés} other {des index}}", + "xpack.idxMgmt.indexActionsMenu.unfreezeIndexLabel": "Dégeler {selectedIndexCount, plural, one {index} many {index système non migrés} other {les index}}", "xpack.idxMgmt.indexTable.captionText": "Vous trouverez ci-après le tableau des index contenant {count, plural, one {# ligne} many {# lignes} other {# lignes}} sur {total}.", "xpack.idxMgmt.indexTable.invalidSearchErrorMessage": "Recherche non valide : {errorMessage}", "xpack.idxMgmt.legacyIndexTemplatesDeprecation.description": "{createTemplateButton} ou {learnMoreLink}", @@ -16804,11 +17421,11 @@ "xpack.idxMgmt.mappingsEditor.typeField.documentationLinkLabel": "Documentation de {typeName}", "xpack.idxMgmt.openIndicesAction.successfullyOpenedIndicesMessage": "Ouverture réussie : [{indexNames}]", "xpack.idxMgmt.refreshIndicesAction.successfullyRefreshedIndicesMessage": "Actualisation réussie : [{indexNames}]", - "xpack.idxMgmt.templateDetails.summaryTab.indexPatternsDescriptionListTitle": "{numIndexPatterns, plural, one {Modèle} many {Modèles} other {Modèles}} d'index", + "xpack.idxMgmt.templateDetails.summaryTab.indexPatternsDescriptionListTitle": "{numIndexPatterns, plural, one {Modèle} many {Modèles d'indexation manquants} other {Modèles}} d'index", "xpack.idxMgmt.templateForm.stepLogistics.dataStreamDescription": "Le modèle crée des flux de données au lieu d'index. {docsLink}", "xpack.idxMgmt.templateForm.stepLogistics.fieldIndexPatternsHelpText": "Les espaces et les caractères {invalidCharactersList} ne sont pas autorisés.", "xpack.idxMgmt.templateForm.stepLogistics.metaFieldEditorHelpText": "Utiliser le format JSON : {code}", - "xpack.idxMgmt.templateForm.stepReview.summaryTab.indexPatternsLabel": "{numIndexPatterns, plural, one {Modèle} many {Modèles} other {Modèles}} d'index", + "xpack.idxMgmt.templateForm.stepReview.summaryTab.indexPatternsLabel": "{numIndexPatterns, plural, one {Modèle} many {Modèles d'indexation manquants} other {Modèles}} d'index", "xpack.idxMgmt.templateList.legacyTable.deleteTemplatesButtonLabel": "Supprimer {count, plural, one {modèle} many {modèles} other {modèles}}", "xpack.idxMgmt.templateList.table.deleteTemplatesButtonLabel": "Supprimer {count, plural, one {modèle} many {modèles} other {modèles}}", "xpack.idxMgmt.templateValidation.templateNameInvalidaCharacterError": "Un nom de modèle ne doit pas contenir le caractère \"{invalidChar}\"", @@ -17747,7 +18364,7 @@ "xpack.indexLifecycleMgmt.editPolicy.defaultToDataNodesDescription": "Pour allouer des données dans des nœuds de données particuliers, {roleBasedGuidance} ou configurer des attributs de nœud personnalisés dans elasticsearch.yml.", "xpack.indexLifecycleMgmt.editPolicy.deletePhase.customPolicyMessage": "Saisissez le nom d'une stratégie de snapshot existante ou {link} avec ce nom.", "xpack.indexLifecycleMgmt.editPolicy.deletePhase.noPoliciesCreatedMessage": "{link} pour automatiser la création et la suppression de snapshots de clusters.", - "xpack.indexLifecycleMgmt.editPolicy.dependenciesMessage": " Toutes les modifications que vous effectuez concernent {dependenciesLinks} qui {count, plural, one {est} many {sont attachés} other {sont attachés}} à cette stratégie.", + "xpack.indexLifecycleMgmt.editPolicy.dependenciesMessage": " Toutes les modifications que vous effectuez concernent {dependenciesLinks} qui {count, plural, one {est} many {sont} other {sont attachés}} à cette stratégie.", "xpack.indexLifecycleMgmt.editPolicy.downsamplePreviousIntervalColdPhaseHotError": "Doit être supérieur à la valeur de phase \"hot\" ({value}) et un multiple de cette valeur", "xpack.indexLifecycleMgmt.editPolicy.downsamplePreviousIntervalColdPhaseWarmError": "Doit être supérieur à la valeur de phase \"warm\" ({value}) et un multiple de cette valeur", "xpack.indexLifecycleMgmt.editPolicy.downsamplePreviousIntervalWarmPhaseError": "Doit être supérieur à la valeur de phase \"hot\" ({value}) et un multiple de cette valeur", @@ -17768,9 +18385,9 @@ "xpack.indexLifecycleMgmt.indexManagementTable.addLifecyclePolicyConfirmModal.indexHasNoAliasesWarningMessage": "La politique {policyName} est configurée pour la substitution, mais l'index {indexName} n'a pas d'alias alors que ce dernier est requis.", "xpack.indexLifecycleMgmt.indexManagementTable.addLifecyclePolicyConfirmModal.modalTitle": "Ajouter une politique de cycle de vie à \"{indexName}\"", "xpack.indexLifecycleMgmt.indexManagementTable.addLifecyclePolicyToTemplateConfirmModal.indexHasNoAliasesWarningMessage": "La politique {existingPolicyName} est déjà associée à ce modèle d'index. L'ajout de cette stratégie remplace cette configuration.", - "xpack.indexLifecycleMgmt.indexManagementTable.removeLifecyclePolicyConfirmModal.modalTitle": "Retirer la stratégie de cycle de vie {count, plural, one {index} many {des index} other {des index}}", + "xpack.indexLifecycleMgmt.indexManagementTable.removeLifecyclePolicyConfirmModal.modalTitle": "Retirer la stratégie de cycle de vie {count, plural, one {index} many {index système non migrés} other {des index}}", "xpack.indexLifecycleMgmt.indexManagementTable.removeLifecyclePolicyConfirmModal.removeMessage": "Vous êtes sur le point de retirer la politique du cycle de vie de {count, plural, one {cet index} many {ces index} other {ces index}} Impossible d'annuler cette opération.", - "xpack.indexLifecycleMgmt.indexManagementTable.removeLifecyclePolicyConfirmModal.removePolicySuccess": "La stratégie de cycle de vie {count, plural, one {index} many {des index} other {des index}} a été retirée", + "xpack.indexLifecycleMgmt.indexManagementTable.removeLifecyclePolicyConfirmModal.removePolicySuccess": "La stratégie de cycle de vie {count, plural, one {index} many {index système non migrés} other {des index}} a été retirée", "xpack.indexLifecycleMgmt.indexMgmtBanner.errorMessage": "{numIndicesWithLifecycleErrors, number}\n {numIndicesWithLifecycleErrors, plural, one {L'index a} many {Les index ont} other {Les index ont}}\n des erreurs de cycle de vie", "xpack.indexLifecycleMgmt.nodeAttrDetails.title": "Nœuds qui contiennent l'attribut {selectedNodeAttrs}", "xpack.indexLifecycleMgmt.policyTable.addLifecyclePolicyToTemplateConfirmModal.errorMessage": "Erreur lors de l'ajout de la politique \"{policyName}\" au modèle d'index {templateName}", @@ -18107,17 +18724,18 @@ "xpack.infra.deprecations.tiebreakerAdjustIndexing": "Ajustez votre indexation pour utiliser \"{field}\" comme moyen de départager.", "xpack.infra.deprecations.timestampAdjustIndexing": "Ajustez votre indexation pour utiliser \"{field}\" comme horodatage.", "xpack.infra.homePage.toolbar.showingLastOneMinuteDataText": "Dernières {duration} de données pour l'heure sélectionnée", - "xpack.infra.hostsViewPage.errorOnCreateOrLoadDataview": "Une erreur s'est produite lors de la création d'une vue de données : {metricAlias}", + "xpack.infra.hostsViewPage.errorOnCreateOrLoadDataview": "Une erreur s’est produite lors de la création d’une vue de données : {metricAlias}. Essayez de recharger la page.", "xpack.infra.hostsViewPage.landing.calloutRoleClarificationWithDocsLink": "Un rôle avec accès aux paramètres avancés dans Kibana sera nécessaire. {docsLink}", "xpack.infra.hostsViewPage.metricTrend.subtitle.average.limit": "Moyenne (de {limit} hôtes)", "xpack.infra.hostsViewPage.metricTrend.subtitle.hostCount.limit": "Limité à {limit}", + "xpack.infra.hostsViewPage.table.selectedHostsButton": "Sélection effectuée de {selectedHostsCount} {selectedHostsCount, plural, =1 {hôte} one {hôtes} many {hôtes} other {hôtes}}", + "xpack.infra.hostsViewPage.table.tooltip.documentationLabel": "Pour en savoir plus, consultez {documentation}", "xpack.infra.inventoryTimeline.header": "Moyenne {metricLabel}", "xpack.infra.kibanaMetrics.cloudIdMissingErrorMessage": "Le modèle de {metricId} nécessite un cloudId, mais aucun n'a été attribué à {nodeId}.", "xpack.infra.kibanaMetrics.invalidInfraMetricErrorMessage": "{id} n'est pas une valeur inframétrique valide", "xpack.infra.kibanaMetrics.nodeDoesNotExistErrorMessage": "{nodeId} n'existe pas.", "xpack.infra.linkTo.hostWithIp.error": "Hôte avec l'adresse IP \"{hostIp}\" introuvable.", "xpack.infra.linkTo.hostWithIp.loading": "Chargement de l'hôte avec l'adresse IP \"{hostIp}\" en cours.", - "xpack.infra.logs.alertDetails.chart.chartTitle": "Logs pour {criteria}", "xpack.infra.logs.alertFlyout.groupByOptimizationWarning": "Lors de la définition d'une valeur \"regrouper par\", nous recommandons fortement d'utiliser le comparateur \"{comparator}\" pour votre seuil. Cela peut permettre d'améliorer considérablement les performances.", "xpack.infra.logs.alerting.threshold.groupedCountAlertReasonDescription": "{actualCount, plural, one {la {actualCount} dernière entrée de log} many {les {actualCount} dernières entrées de log} other {les {actualCount} dernières entrées de log}} dans {duration} pour {groupName}. Alerte lorsque {comparator} {expectedCount}.", "xpack.infra.logs.alerting.threshold.groupedRatioAlertReasonDescription": "Le rapport des logs sélectionnés est de {actualRatio} dans les dernières {duration} pour {groupName}. Alerte lorsque {comparator} {expectedRatio}.", @@ -18147,6 +18765,7 @@ "xpack.infra.logSourceConfiguration.missingDataViewsLabel": "Type de données manquant {indexPatternId}", "xpack.infra.logSourceConfiguration.missingMessageFieldErrorMessage": "La vue de données doit contenir un champ {messageField}.", "xpack.infra.logSourceErrorPage.savedObjectNotFoundErrorMessage": "Impossible de localiser ce {savedObjectType} : {savedObjectId}", + "xpack.infra.metadataEmbeddable.errorMessage": "Une erreur s'est produite lors du chargement des données. Essayez de {reload} et d'ouvrir à nouveau les détails de l'hôte.", "xpack.infra.metrics.alertDetailsAppSection.criterion.subtitle": "Dernière {lookback} {timeLabel}", "xpack.infra.metrics.alertFlyout.alertPerRedundantFilterError": "Il est possible que cette règle signale {matchedGroups} moins que prévu, car la requête de filtre comporte une correspondance pour {groupCount, plural, one {ce champ} many {ces champs} other {ces champs}}. Pour en savoir plus, consultez notre {filteringAndGroupingLink}.", "xpack.infra.metrics.alertFlyout.customEquationEditor.aggregationLabel": "Agrégation {name}", @@ -18194,6 +18813,8 @@ "xpack.infra.waffle.customMetrics.editMode.deleteAriaLabel": "Supprimer l'indicateur personnalisé pour {name}", "xpack.infra.waffle.customMetrics.editMode.editButtonAriaLabel": "Modifier un indicateur personnalisé pour {name}", "xpack.infra.waffle.unableToSelectGroupErrorMessage": "Impossible de sélectionner les options de regroupement pour {nodeType}", + "xpack.infra.alertDetails.logsAlertHistoryChart.error.toastDescription": "Une erreur s’est produite lors de la récupération des données graphiques de l’historique d’alertes de logs", + "xpack.infra.alertDetails.logsAlertHistoryChart.error.toastTitle": "Erreur graphique dans l’historique d’alertes de logs", "xpack.infra.alerting.alertDropdownTitle": "Alertes et règles", "xpack.infra.alerting.alertFlyout.groupBy.placeholder": "Rien (non groupé)", "xpack.infra.alerting.alertFlyout.groupByLabel": "Regrouper par", @@ -18242,12 +18863,15 @@ "xpack.infra.analysisSetup.timeRangeDescription": "Par défaut, le Machine Learning analyse les messages de logs dans vos index de logs n'excédant pas quatre semaines et continue indéfiniment. Vous pouvez spécifier une date de début, de fin ou les deux différente.", "xpack.infra.analysisSetup.timeRangeTitle": "Choisir une plage temporelle", "xpack.infra.appName": "Logs Infra", + "xpack.infra.assetDetailsEmbeddable.description": "Ajoutez une vue de détails de ressource.", + "xpack.infra.assetDetailsEmbeddable.displayName": "Détails de ressource", + "xpack.infra.assetDetailsEmbeddable.title": "Détails de ressource", "xpack.infra.bottomDrawer.kubernetesDashboardsLink": "Tableaux de bord Kubernetes", "xpack.infra.chartSection.missingMetricDataBody": "Les données de ce graphique sont manquantes.", "xpack.infra.chartSection.missingMetricDataText": "Données manquantes", "xpack.infra.chartSection.notEnoughDataPointsToRenderText": "Points de données insuffisants pour afficher le graphique, essayez d'augmenter la plage temporelle.", "xpack.infra.chartSection.notEnoughDataPointsToRenderTitle": "Données insuffisantes", - "xpack.infra.common.tabBetaBadgeLabel": "Version bêta", + "xpack.infra.common.tabBetaBadgeLabel": "Bêta", "xpack.infra.configureSourceActionLabel": "Modifier la configuration de la source", "xpack.infra.deprecations.containerIdFieldName": "ID de conteneur", "xpack.infra.deprecations.containerIdFieldTitle": "Le champ de configuration source \"ID de conteneur\" est déclassé.", @@ -18313,31 +18937,53 @@ "xpack.infra.homePage.settingsTabTitle": "Paramètres", "xpack.infra.homePage.tellUsWhatYouThinkK8sLink": "Dites-nous ce que vous pensez ! (K8s)", "xpack.infra.homePage.toolbar.kqlSearchFieldPlaceholder": "Rechercher des données d'infrastructure… (par exemple host.name:host-1)", + "xpack.infra.hostFlyout.explainProcessMessageTitle": "Quel est ce processus ?", "xpack.infra.hosts.searchPlaceholder": "Rechercher dans les hôtes (par ex. cloud.provider:gcp AND system.load.1 > 0.5)", "xpack.infra.hostsPage.goToMetricsSettings": "Vérifier les paramètres", "xpack.infra.hostsPage.tellUsWhatYouThinkLink": "Dites-nous ce que vous pensez !", + "xpack.infra.hostsViewPage.betaBadgeDescription": "Cette fonctionnalité est actuellement en version bêta. Nous aimerions beaucoup savoir si vous avez des commentaires ou si vous rencontrez des bugs. Veuillez ouvrir un ticket pour signaler votre problème et/ou partager vos commentaires grâce au bouton \"Dites-nous ce que vous en pensez !\".", + "xpack.infra.hostsViewPage.error.detailsButton": "Détails de l'erreur", + "xpack.infra.hostsViewPage.error.kqlErrorMessage": "Nous ne pouvons vous montrer aucun résultat car nous n’avons pas pu appliquer votre filtre.", + "xpack.infra.hostsViewPage.error.kqlErrorTitle": "Expression KQL non valide", + "xpack.infra.hostsViewPage.error.tryAgainButton": "Réessayer", + "xpack.infra.hostsViewPage.error.unknownErrorTitle": "Une erreur s'est produite", + "xpack.infra.hostsViewPage.errorOnCreateOrLoadDataviewTitle": "Erreur lors de la création d'un Data View", "xpack.infra.hostsViewPage.hostLimit": "Limite de l'hôte", "xpack.infra.hostsViewPage.hostLimit.tooltip": "Pour garantir des performances de recherche plus rapides, le nombre d'hôtes retournés est limité.", "xpack.infra.hostsViewPage.landing.calloutReachOutToYourKibanaAdministrator": "Votre rôle d'utilisateur ne dispose pas des privilèges suffisants pour activer cette fonctionnalité - veuillez \n contacter votre administrateur Kibana et lui demander de visiter cette page pour activer la fonctionnalité.", "xpack.infra.hostsViewPage.landing.enableHostsView": "Activer la vue des hôtes", - "xpack.infra.hostsViewPage.landing.introMessage": "Présentation de notre nouvelle fonctionnalité \"Hôtes\", maintenant disponible dans la version d'évaluation technique !\n À l'aide de ce puissant outil, vous pouvez facilement afficher et analyser vos hôtes et identifier tout\n problème afin de le corriger rapidement. Obtenez une vue détaillée des indicateurs pour vos hôtes, regardez\n ceux qui déclenchent le plus d'alertes et filtrez les hôtes que vous souhaitez analyser\n à l'aide de tout filtre KQL et de répartitions simples telles que le fournisseur cloud et le système d'exploitation.", - "xpack.infra.hostsViewPage.landing.introTitle": "Présentation : Analyse de l'hôte", + "xpack.infra.hostsViewPage.landing.introMessage": "Bienvenue sur la fonctionnalité \"Hôtes\", désormais disponible en version bêta. Avec ce puissant outil, \n vous pouvez facilement voir et analyser vos hôtes et identifier tout problème afin de les corriger rapidement. \n Obtenez une vue détaillée des indicateurs pour vos hôtes afin de savoir lesquels déclenchent le plus d’alertes, et filtrez \n les hôtes que vous voulez analyser à l'aide de tout filtre KQL ainsi que de répartitions simples comme le fournisseur cloud et \n le système d'exploitation.", + "xpack.infra.hostsViewPage.landing.introTitle": "Analyse de l'hôte", "xpack.infra.hostsViewPage.landing.learnMore": "En savoir plus", - "xpack.infra.hostsViewPage.landing.tryTheFeatureMessage": "Il s'agit d'une version préliminaire de la fonctionnalité, et nous souhaiterions vivement connaître votre avis tandis que nous continuons\n à la développer et à l'améliorer. Pour accéder à cette fonctionnalité, il suffit de l'activer ci-dessous. Ne passez pas à côté\n de cette nouvelle et puissante fonctionnalité ajoutée à notre plateforme... Essayez-la aujourd'hui même !", - "xpack.infra.hostsViewPage.metrics.tooltip.cpuUsage": "Moyenne de pourcentage de temps CPU utilisé dans les états autres que Inactif et IOWait, normalisée par le nombre de cœurs de processeur. Inclut le temps passé à la fois sur l'espace utilisateur et sur l'espace du noyau. 100 % signifie que tous les processeurs de l'hôte sont occupés.", - "xpack.infra.hostsViewPage.metrics.tooltip.hostCount": "Nombre d'hôtes renvoyé par vos critères de recherche actuels.", + "xpack.infra.hostsViewPage.landing.tryTheFeatureMessage": "Ceci est une version bêta de la fonctionnalité, donc nous apprécierions recevoir vos \n commentaires tandis que nous continuons à la développer et à l'améliorer. Pour accéder à la fonctionnalité, \n activez-la simplement ci-dessous (ou contactez votre administrateur interne si indisponible). \n Ne passez pas à côté de cette puissante fonctionnalité : essayez-là dès aujourd'hui !", + "xpack.infra.hostsViewPage.metrics.tooltip.cpuUsage": "Pourcentage de temps CPU utilisé dans les états autres que Inactif et IOWait, normalisée par le nombre de cœurs de processeur. Cela inclut le temps passé à la fois sur l'espace utilisateur et sur l'espace du noyau.", + "xpack.infra.hostsViewPage.metrics.tooltip.diskLatency": "Temps passé à gérer les requêtes de disque.", + "xpack.infra.hostsViewPage.metrics.tooltip.diskSpaceUsage": "Pourcentage d’espace disque utilisé.", + "xpack.infra.hostsViewPage.metrics.tooltip.hostCount": "Nombre d'hôtes renvoyé par vos critères de recherche.", + "xpack.infra.hostsViewPage.metrics.tooltip.memoryFree": "Mémoire totale disponible, cache de pages inclus.", + "xpack.infra.hostsViewPage.metrics.tooltip.memoryTotal": "Capacité de mémoire totale.", + "xpack.infra.hostsViewPage.metrics.tooltip.memoryUsage": "Pourcentage d'utilisation de la mémoire principale, en excluant le cache de pages.", + "xpack.infra.hostsViewPage.metrics.tooltip.normalizedLoad1m": "Moyenne de la charge sur 1 minute normalisée par le nombre de cœurs de processeur. ", + "xpack.infra.hostsViewPage.metrics.tooltip.rx": "Nombre d'octets qui ont été reçus par seconde sur les interfaces publiques des hôtes.", + "xpack.infra.hostsViewPage.metrics.tooltip.tx": "Nombre d'octets envoyés par seconde sur les interfaces publiques des hôtes.", "xpack.infra.hostsViewPage.metricTrend.cpuUsage.title": "Utilisation CPU", + "xpack.infra.hostsViewPage.metricTrend.diskSpaceUsage.title": "Utilisation de l’espace disque", "xpack.infra.hostsViewPage.metricTrend.hostCount.title": "Hôtes", "xpack.infra.hostsViewPage.metricTrend.memoryUsage.title": "Utilisation mémoire", "xpack.infra.hostsViewPage.metricTrend.normalizedLoad1m.title": "Charge normalisée", "xpack.infra.hostsViewPage.metricTrend.subtitle.average": "Moyenne", + "xpack.infra.hostsViewPage.table.addFilter": "Ajouter un filtre", "xpack.infra.hostsViewPage.table.cpuUsageColumnHeader": "Utilisation CPU (moy.)", + "xpack.infra.hostsViewPage.table.diskSpaceUsageColumnHeader": "Utilisation de l’espace disque (moy.)", + "xpack.infra.hostsViewPage.table.memoryFreeColumnHeader": "Sans mémoire (moy.)", "xpack.infra.hostsViewPage.table.memoryUsageColumnHeader": "Utilisation de la mémoire (moy.)", + "xpack.infra.hostsViewPage.table.nameColumnHeader": "Nom", "xpack.infra.hostsViewPage.table.normalizedLoad1mColumnHeader": "Charge normalisée (moy.)", "xpack.infra.hostsViewPage.table.rxColumnHeader": "RX (moy.)", - "xpack.infra.hostsViewPage.table.txColumnHeader": "TX (moy.)", - "xpack.infra.hostsViewPage.table.nameColumnHeader": "Nom", "xpack.infra.hostsViewPage.table.toggleDialogWithDetails": "Afficher/Masquer les détails de la boîte de dialogue", + "xpack.infra.hostsViewPage.table.tooltip.documentationLink": "documentation", + "xpack.infra.hostsViewPage.table.tooltip.formula": "Calcul de la formule :", + "xpack.infra.hostsViewPage.table.txColumnHeader": "TX (moy.)", "xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.active": "Actif", "xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.legend": "Filtrer par", "xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.recovered": "Récupéré", @@ -18352,11 +18998,17 @@ "xpack.infra.hostsViewPage.tabs.metricsCharts.cpuUsage": "Utilisation CPU", "xpack.infra.hostsViewPage.tabs.metricsCharts.diskIORead": "Entrées et sorties par seconde en lecture sur le disque", "xpack.infra.hostsViewPage.tabs.metricsCharts.diskIOWrite": "Entrées et sorties par seconde en écriture sur le disque", + "xpack.infra.hostsViewPage.tabs.metricsCharts.diskReadThroughput": "Rendement de lecture du disque", + "xpack.infra.hostsViewPage.tabs.metricsCharts.diskSpaceAvailable": "Espace disque disponible", + "xpack.infra.hostsViewPage.tabs.metricsCharts.diskSpaceUsed": "Utilisation de l’espace disque", + "xpack.infra.hostsViewPage.tabs.metricsCharts.diskWriteThroughput": "Rendement d’écriture du disque", + "xpack.infra.hostsViewPage.tabs.metricsCharts.memoryFree": "Sans mémoire", "xpack.infra.hostsViewPage.tabs.metricsCharts.memoryUsage": "Utilisation mémoire", "xpack.infra.hostsViewPage.tabs.metricsCharts.normalizedLoad1m": "Charge normalisée", "xpack.infra.hostsViewPage.tabs.metricsCharts.rx": "Réseau entrant (RX)", "xpack.infra.hostsViewPage.tabs.metricsCharts.title": "Indicateurs", "xpack.infra.hostsViewPage.tabs.metricsCharts.tx": "Réseau sortant (TX)", + "xpack.infra.hostsViewPage.tooltip.whatAreTheseMetricsLink": "Que sont ces indicateurs ?", "xpack.infra.infra.nodeDetails.apmTabLabel": "APM", "xpack.infra.infra.nodeDetails.createAlertLink": "Créer une règle d'inventaire", "xpack.infra.infra.nodeDetails.openAsPage": "Ouvrir en tant que page", @@ -18407,6 +19059,8 @@ "xpack.infra.logs.alertDetails.chartHistory.avgTimeToRecover": "Temps moyen de récupération", "xpack.infra.logs.alertDetails.chartHistory.chartTitle": "Historique des alertes de seuil de logs", "xpack.infra.logs.alertDetails.chartHistory.last30days": "30 derniers jours", + "xpack.infra.logs.alertDetails.explainLogRateSpikes.sectionTitle": "Expliquer les pics de taux de log", + "xpack.infra.logs.alertDetails.explainLogSpikeTitle": "Causes possibles et résolutions", "xpack.infra.logs.alertDropdown.inlineLogViewCreateAlertContent": "La création d'alertes n'est pas prise en charge avec les vues de log en ligne.", "xpack.infra.logs.alertDropdown.inlineLogViewCreateAlertTitle": "Vue de log en ligne", "xpack.infra.logs.alertDropdown.readOnlyCreateAlertContent": "La création d'alertes nécessite plus d'autorisations dans cette application.", @@ -18451,7 +19105,8 @@ "xpack.infra.logs.alerting.comparator.symbol.notMatchPhrase": "ne correspond pas à l'expression", "xpack.infra.logs.alerting.threshold.alertReasonMessageActionVariableDescription": "Une description concise de la raison du signalement", "xpack.infra.logs.alerting.threshold.conditionsActionVariableDescription": "Conditions à remplir par les entrées de logs", - "xpack.infra.logs.alerting.threshold.defaultActionMessage": "\\{\\{^context.isRatio\\}\\}\\{\\{#context.group\\}\\}\\{\\{context.group\\}\\} - les entrées de logs \\{\\{/context.group\\}\\}\\{\\{context.matchingDocuments\\}\\} correspondent aux conditions suivantes : \\{\\{context.conditions\\}\\}\\{\\{/context.isRatio\\}\\}\\{\\{#context.isRatio\\}\\}\\{\\{#context.group\\}\\}\\{\\{context.group\\}\\} – \\{\\{/context.group\\}\\} Rapport du nombre d'entrées de logs qui correspondent à \\{\\{context.numeratorConditions\\}\\} sur le nombre d'entrées de logs qui correspondent à \\{\\{context.denominatorConditions\\}\\} était \\{\\{context.ratio\\}\\}\\{\\{/context.isRatio\\}\\}", + "xpack.infra.logs.alerting.threshold.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} est actif.\n\n\\{\\{^context.isRatio\\}\\}\\{\\{#context.group\\}\\}\\{\\{context.group\\}\\} - \\{\\{/context.group\\}\\}\\{\\{context.matchingDocuments\\}\\} Les entrées de logs ont répondu aux conditions suivantes : \\{\\{context.conditions\\}\\}\\{\\{/context.isRatio\\}\\}\n\\{\\{#context.isRatio\\}\\}\\{\\{#context.group\\}\\}\\{\\{context.group\\}\\} - \\{\\{/context.group\\}\\} Le rapport du nombre d'entrées de logs qui correspondent à \\{\\{context.numeratorConditions\\}\\} sur le nombre d'entrées de logs qui correspondent à \\{\\{context.denominatorConditions\\}\\} était \\{\\{context.ratio\\}\\}\\{\\{/context.isRatio\\}\\}\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.infra.logs.alerting.threshold.defaultRecoveryMessage": "\\{\\{rule.name\\}\\} a récupéré.\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.infra.logs.alerting.threshold.denominatorConditionsActionVariableDescription": "Conditions à remplir par le dénominateur du rapport", "xpack.infra.logs.alerting.threshold.documentCountActionVariableDescription": "Nombre d'entrées de logs qui correspondaient aux conditions fournies", "xpack.infra.logs.alerting.threshold.everythingSeriesName": "Entrées de logs", @@ -18463,7 +19118,7 @@ "xpack.infra.logs.alerting.threshold.ratioCriteriaQueryAText": "Requête A", "xpack.infra.logs.alerting.threshold.ratioCriteriaQueryBText": "Requête B", "xpack.infra.logs.alerting.threshold.timestampActionVariableDescription": "Horodatage UTC du moment où l'alerte a été déclenchée", - "xpack.infra.logs.alerting.threshold.viewInAppUrlActionVariableDescription": "Lien vers la vue ou la fonctionnalité d'Elastic qui peut être utilisée pour examiner l'alerte et son contexte de manière plus approfondie", + "xpack.infra.logs.alerting.threshold.viewInAppUrlActionVariableDescription": "Lien vers la source de l’alerte", "xpack.infra.logs.alertName": "Seuil de log", "xpack.infra.logs.analsysisSetup.indexQualityWarningTooltipMessage": "Lors de l'analyse des messages de logs de ces index, nous avons détecté des problèmes qui peuvent indiquer une qualité moindre des résultats. Envisagez d'exclure ces index ou les ensembles de données problématiques de l'analyse.", "xpack.infra.logs.analysis.analyzeInMlButtonLabel": "Analyse dans ML", @@ -18597,20 +19252,19 @@ "xpack.infra.logStreamEmbeddable.description": "Ajoutez un tableau de logs de diffusion en direct.", "xpack.infra.logStreamEmbeddable.displayName": "Flux de log", "xpack.infra.logStreamEmbeddable.title": "Flux de log", - "xpack.infra.metadataEmbeddable.errorMessage": "Une erreur s'est produite lors du chargement des données. Essayez de {reload} et d'ouvrir à nouveau les détails de l'hôte.", "xpack.infra.metadataEmbeddable.AddFilterAriaLabel": "Ajouter un filtre", - "xpack.infra.metadataEmbeddable.filterAdded": "Le filtre a été ajouté.", - "xpack.infra.metadataEmbeddable.filterAriaLabel": "Filtre", - "xpack.infra.metadataEmbeddable.setFilterByValueTooltip": "Filtrer par valeur", - "xpack.infra.metadataEmbeddable.setRemoveFilterTooltip": "Supprimer le filtre", "xpack.infra.metadataEmbeddable.errorAction": "recharger la page", "xpack.infra.metadataEmbeddable.errorTitle": "Désolé, une erreur est survenue.", "xpack.infra.metadataEmbeddable.field": "Champ", + "xpack.infra.metadataEmbeddable.filterAdded": "Le filtre a été ajouté.", + "xpack.infra.metadataEmbeddable.filterAriaLabel": "Filtre", "xpack.infra.metadataEmbeddable.loading": "Chargement...", "xpack.infra.metadataEmbeddable.noMetadataFound": "Métadonnées introuvables.", "xpack.infra.metadataEmbeddable.searchForMetadata": "Rechercher des métadonnées…", + "xpack.infra.metadataEmbeddable.setFilterByValueTooltip": "Filtrer par valeur", + "xpack.infra.metadataEmbeddable.setRemoveFilterTooltip": "Supprimer le filtre", "xpack.infra.metadataEmbeddable.value": "Valeur", - "xpack.infra.metricDetailPage.awsMetricsLayout.cpuUtilSection.percentSeriesLabel": "pourcent", + "xpack.infra.metricDetailPage.awsMetricsLayout.cpuUtilSection.percentSeriesLabel": "pour cent", "xpack.infra.metricDetailPage.awsMetricsLayout.cpuUtilSection.sectionLabel": "Utilisation CPU", "xpack.infra.metricDetailPage.awsMetricsLayout.diskioBytesSection.readsSeriesLabel": "lit", "xpack.infra.metricDetailPage.awsMetricsLayout.diskioBytesSection.sectionLabel": "Octets d'E/S sur le disque", @@ -18773,7 +19427,7 @@ "xpack.infra.metrics.alertFlyout.error.customMetrics.aggTypeRequired": "L'agrégation est requise", "xpack.infra.metrics.alertFlyout.error.customMetrics.fieldRequired": "Le champ est obligatoire", "xpack.infra.metrics.alertFlyout.error.customMetricsError": "Vous devez définir au moins 1 indicateur personnalisé", - "xpack.infra.metrics.alertFlyout.error.equation.invalidCharacters": "Le champ d'équation prend en charge uniquement les caractères suivants : A-Z, +, -, /, *, (, ), ?, !, &, :, |, >, <, =", + "xpack.infra.metrics.alertFlyout.error.equation.invalidCharacters": "Le champ d'équation prend en charge uniquement les caractères suivants : A-Z, +, -, /, *, (, ), ?, !, &, :, |, >, <, =", "xpack.infra.metrics.alertFlyout.error.invalidFilterQuery": "La requête de filtre n'est pas valide.", "xpack.infra.metrics.alertFlyout.error.metricRequired": "L'indicateur est requis.", "xpack.infra.metrics.alertFlyout.error.mlCapabilitiesRequired": "Impossible de créer une alerte d'anomalie lors que le Machine Learning est désactivé.", @@ -18802,7 +19456,7 @@ "xpack.infra.metrics.alertFlyout.removeCondition": "Retirer la condition", "xpack.infra.metrics.alertFlyout.removeWarningThreshold": "Retirer le seuil d'avertissement", "xpack.infra.metrics.alertFlyout.warningThreshold": "Avertissement", - "xpack.infra.metrics.alerting.alertDetailUrlActionVariableDescription": "Liaison vers la vue dans Elastic qui affiche davantage de détails et de contexte concernant cette alerte", + "xpack.infra.metrics.alerting.alertDetailUrlActionVariableDescription": "Lien vers l’affichage de résolution des problèmes d’alerte pour voir plus de contextes et de détails. La chaîne sera vide si server.publicBaseUrl n'est pas configuré.", "xpack.infra.metrics.alerting.alertStateActionVariableDescription": "État actuel de l'alerte", "xpack.infra.metrics.alerting.anomaly.defaultActionMessage": "\\{\\{alertName\\}\\} est à l'état \\{\\{context.alertState\\}\\}\n\n\\{\\{context.metric\\}\\} était \\{\\{context.summary\\}\\} que la normale à \\{\\{context.timestamp\\}\\}\n\nValeur typique : \\{\\{context.typical\\}\\}\nValeur réelle : \\{\\{context.actual\\}\\}\n", "xpack.infra.metrics.alerting.anomaly.fired": "Déclenché", @@ -18822,9 +19476,12 @@ "xpack.infra.metrics.alerting.groupByKeysActionVariableDescription": "Objet contenant les groupes qui fournissent les données", "xpack.infra.metrics.alerting.hostActionVariableDescription": "Objet hôte défini par ECS s'il est disponible dans la source.", "xpack.infra.metrics.alerting.inventory.noDataFormattedValue": "[AUCUNE DONNÉE]", - "xpack.infra.metrics.alerting.inventory.threshold.defaultActionMessage": "\\{\\{alertName\\}\\} - \\{\\{context.group\\}\\} est à l'état \\{\\{context.alertState\\}\\}\n\nRaison :\n\\{\\{context.reason\\}\\}\n", + "xpack.infra.metrics.alerting.inventory.threshold.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} est actif selon les conditions suivantes :\n\n- Affecté : \\{\\{context.group\\}\\}\n- Indicateur : \\{\\{context.metric\\}\\}\n- Valeur observée : \\{\\{context.value\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\}\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.infra.metrics.alerting.inventory.threshold.defaultRecoveryMessage": "\\{\\{rule.name\\}\\} a récupéré.\n\n- Affecté : \\{\\{context.group\\}\\}\n- Indicateur : \\{\\{context.metric\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\}\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.infra.metrics.alerting.inventory.threshold.fired": "Alerte", "xpack.infra.metrics.alerting.labelsActionVariableDescription": "Liste d'étiquettes associées avec l'entité sur laquelle l'alerte s'est déclenchée.", + "xpack.infra.metrics.alerting.metric.threshold.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} est actif selon les conditions suivantes :\n\n- Affecté : \\{\\{context.group\\}\\}\n- Indicateur : \\{\\{context.metric\\}\\}\n- Valeur observée : \\{\\{context.value\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\}\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.infra.metrics.alerting.metric.threshold.defaultRecoveryMessage": "\\{\\{rule.name\\}\\} a récupéré.\n\n- Affecté : \\{\\{context.group\\}\\}\n- Indicateur : \\{\\{context.metric\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\}\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.infra.metrics.alerting.metricActionVariableDescription": "Nom de l'indicateur dans la condition spécifiée. Utilisation : (ctx.metric.condition0, ctx.metric.condition1, etc...).", "xpack.infra.metrics.alerting.noDataFormattedValue": "[AUCUNE DONNÉE]", "xpack.infra.metrics.alerting.orchestratorActionVariableDescription": "Objet orchestrateur défini par ECS s'il est disponible dans la source.", @@ -18849,7 +19506,7 @@ "xpack.infra.metrics.alerting.thresholdActionVariableDescription": "Valeur de seuil de l'indicateur pour la condition spécifiée. Utilisation : (ctx.threshold.condition0, ctx.threshold.condition1, etc...).", "xpack.infra.metrics.alerting.timestampDescription": "Horodatage du moment où l'alerte a été détectée.", "xpack.infra.metrics.alerting.valueActionVariableDescription": "Valeur de l'indicateur dans la condition spécifiée. Utilisation : (ctx.value.condition0, ctx.value.condition1, etc...).", - "xpack.infra.metrics.alerting.viewInAppUrlActionVariableDescription": "Lien vers la vue ou fonctionnalité dans Elastic qui peut aider à poursuivre l'investigation", + "xpack.infra.metrics.alerting.viewInAppUrlActionVariableDescription": "Lien vers la source de l’alerte", "xpack.infra.metrics.alertName": "Seuil de l'indicateur", "xpack.infra.metrics.anomaly.alertFlyout.alertDescription": "Alerte lorsque le score d'anomalie dépasse un seuil défini.", "xpack.infra.metrics.anomaly.alertName": "Anomalie d'infrastructure", @@ -18896,6 +19553,7 @@ "xpack.infra.metrics.nodeDetails.processListError": "Impossible de charger les données de processus", "xpack.infra.metrics.nodeDetails.processListRetry": "Réessayer", "xpack.infra.metrics.nodeDetails.searchForProcesses": "Rechercher les processus…", + "xpack.infra.metrics.nodeDetails.tabs.metadata": "Métadonnées", "xpack.infra.metrics.nodeDetails.tabs.processes": "Processus", "xpack.infra.metrics.pluginTitle": "Infrastructure", "xpack.infra.metrics.refetchButtonLabel": "Rechercher de nouvelles données", @@ -19059,6 +19717,7 @@ "xpack.infra.nodeDetails.no": "Non", "xpack.infra.nodeDetails.tabs.anomalies": "Anomalies", "xpack.infra.nodeDetails.tabs.logs": "Logs", + "xpack.infra.nodeDetails.tabs.logs.title": "Logs", "xpack.infra.nodeDetails.tabs.metadata.agentHeader": "Agent", "xpack.infra.nodeDetails.tabs.metadata.cloudHeader": "Cloud", "xpack.infra.nodeDetails.tabs.metadata.filterAriaLabel": "Filtre", @@ -19071,6 +19730,7 @@ "xpack.infra.nodeDetails.yes": "Oui", "xpack.infra.nodesToWaffleMap.groupsWithGroups.allName": "Tous", "xpack.infra.nodesToWaffleMap.groupsWithNodes.allName": "Tous", + "xpack.infra.notAvailableLabel": "S. O.", "xpack.infra.openView.actionNames.deleteConfirmation": "Supprimer la vue ?", "xpack.infra.openView.cancelButton": "Annuler", "xpack.infra.openView.columnNames.actions": "Actions", @@ -19083,6 +19743,7 @@ "xpack.infra.sampleDataLinkLabel": "Logs", "xpack.infra.savedView.defaultViewNameHosts": "Vue par défaut", "xpack.infra.savedView.errorOnCreate.title": "Une erreur s'est produite lors de l'enregistrement de la vue.", + "xpack.infra.savedView.errorOnDelete.title": "Une erreur qui a entraîné la suppression de la vue s’est produite.", "xpack.infra.savedView.findError.title": "Une erreur s'est produite lors du chargement des vues.", "xpack.infra.savedView.manageViews": "Gérer les vues", "xpack.infra.savedView.saveNewView": "Enregistrer la nouvelle vue", @@ -19106,6 +19767,8 @@ "xpack.infra.sourceConfiguration.logIndicesTitle": "Index de log", "xpack.infra.sourceConfiguration.messageLogColumnDescription": "Ce champ système affiche le message d'entrée de log dérivé des champs de document.", "xpack.infra.sourceConfiguration.metricIndicesDescription": "Modèle d'indexation pour la correspondance d'index contenant des données d'indicateurs", + "xpack.infra.sourceConfiguration.metricIndicesDoNotExist": "Impossible de trouver des données d’indicateurs car le modèle saisi ne correspond à aucun index.", + "xpack.infra.sourceConfiguration.metricIndicesDoNotExistTitle": "Aucun index correspondant trouvé", "xpack.infra.sourceConfiguration.metricIndicesLabel": "Index d'indicateurs", "xpack.infra.sourceConfiguration.metricIndicesTitle": "Index d'indicateurs", "xpack.infra.sourceConfiguration.missingHttp": "Échec de chargement de la source : Aucun client HTTP disponible.", @@ -19117,6 +19780,8 @@ "xpack.infra.sourceConfiguration.noLogColumnsTitle": "Aucune colonne", "xpack.infra.sourceConfiguration.noRemoteClusterMessage": "Nous ne parvenons pas à nous connecter au cluster distant, ce qui nous empêche de récupérer les indicateurs et les données dont vous avez besoin.\nPour résoudre ce problème, vérifiez la configuration de vos index et assurez-vous qu'elle est correctement effectuée.", "xpack.infra.sourceConfiguration.noRemoteClusterTitle": "Impossible de se connecter au serveur distant", + "xpack.infra.sourceConfiguration.remoteClusterConnectionDoNotExist": "Vérifiez que le cluster distant est disponible ou que les paramètres de connexion à distance sont corrects.", + "xpack.infra.sourceConfiguration.remoteClusterConnectionDoNotExistTitle": "Impossible de se connecter au cluster distant", "xpack.infra.sourceConfiguration.systemColumnBadgeLabel": "Système", "xpack.infra.sourceConfiguration.unsavedFormPrompt": "Voulez-vous vraiment quitter ? Les modifications seront perdues", "xpack.infra.sourceConfiguration.updateFailureBody": "Nous n'avons pas pu appliquer les modifications à la configuration des indicateurs. Réessayez plus tard.", @@ -19220,54 +19885,13 @@ "xpack.infra.waffle.unableToSelectMetricErrorTitle": "Impossible de sélectionner les options ou la valeur pour l'indicateur.", "xpack.infra.waffleTime.autoRefreshButtonLabel": "Actualisation automatique", "xpack.infra.waffleTime.stopRefreshingButtonLabel": "Arrêter l'actualisation", - "xpack.logsShared.dataSearch.shardFailureErrorMessage": "Index {indexName} : {errorMessage}", - "xpack.logsShared.logFlyout.flyoutSubTitle": "À partir de l'index {indexName}", - "xpack.logsShared.logFlyout.flyoutTitle": "Détails de l'entrée de log {logEntryId}", - "xpack.logsShared.logs.extendTimeframeByDaysButton": "Étendre le délai d'exécution de {amount, number} {amount, plural, one {jour} many {jours} other {jours}}", - "xpack.logsShared.logs.extendTimeframeByHoursButton": "Étendre le délai d'exécution de {amount, number} {amount, plural, one {heure} many {heures} other {heures}}", - "xpack.logsShared.logs.extendTimeframeByMillisecondsButton": "Étendre le délai d'exécution de {amount, number} {amount, plural, one {milliseconde} many {millisecondes} other {millisecondes}}", - "xpack.logsShared.logs.extendTimeframeByMinutesButton": "Étendre le délai d'exécution de {amount, number} {amount, plural, one {minute} many {minutes} other {minutes}}", - "xpack.logsShared.logs.extendTimeframeByMonthsButton": "Étendre le délai d'exécution de {amount, number} {amount, plural, one {mois} many {mois} other {mois}}", - "xpack.logsShared.logs.extendTimeframeBySecondsButton": "Étendre le délai d'exécution de {amount, number} {amount, plural, one {seconde} many {secondes} other {secondes}}", - "xpack.logsShared.logs.extendTimeframeByWeeksButton": "Étendre le délai d'exécution de {amount, number} {amount, plural, one {semaine} many {semaines} other {semaines}}", - "xpack.logsShared.logs.extendTimeframeByYearsButton": "Étendre le délai d'exécution de {amount, number} {amount, plural, one {an} many {années} other {années}}", - "xpack.logsShared.logs.lastUpdate": "Dernière mise à jour {timestamp}", - "xpack.logsShared.logs.showingEntriesFromTimestamp": "Affichage des entrées à partir de {timestamp}", - "xpack.logsShared.logs.showingEntriesUntilTimestamp": "Affichage des entrées jusqu'à {timestamp}", - "xpack.logsShared.dataSearch.abortedRequestErrorMessage": "La demande a été annulée.", - "xpack.logsShared.dataSearch.cancelButtonLabel": "Annuler la demande", - "xpack.logsShared.dataSearch.loadingErrorRetryButtonLabel": "Réessayer", - "xpack.logsShared.lobs.logEntryActionsViewInContextButton": "Afficher en contexte", - "xpack.logsShared.logEntryActionsMenu.apmActionLabel": "Afficher dans APM", - "xpack.logsShared.logEntryActionsMenu.buttonLabel": "Examiner", - "xpack.logsShared.logEntryActionsMenu.uptimeActionLabel": "Afficher le statut dans Uptime", - "xpack.logsShared.logEntryItemView.logEntryActionsMenuToolTip": "Afficher les actions de la ligne", - "xpack.logsShared.logFlyout.fieldColumnLabel": "Champ", - "xpack.logsShared.logFlyout.filterAriaLabel": "Filtre", - "xpack.logsShared.logFlyout.loadingErrorCalloutTitle": "Erreur lors de la recherche de l'entrée de log", - "xpack.logsShared.logFlyout.loadingMessage": "Recherche de l'entrée de log dans les partitions", - "xpack.logsShared.logFlyout.setFilterTooltip": "Afficher l'événement avec filtre", - "xpack.logsShared.logFlyout.valueColumnLabel": "Valeur", - "xpack.logsShared.logs.emptyView.checkForNewDataButtonLabel": "Rechercher de nouvelles données", - "xpack.logsShared.logs.emptyView.noLogMessageDescription": "Essayez d'ajuster votre filtre.", - "xpack.logsShared.logs.emptyView.noLogMessageTitle": "Il n'y a aucun message de log à afficher.", - "xpack.logsShared.logs.jumpToTailText": "Passer aux entrées les plus récentes", - "xpack.logsShared.logs.loadingNewEntriesText": "Chargement des nouvelles entrées", - "xpack.logsShared.logs.logEntryActionsDetailsButton": "Afficher les détails", - "xpack.logsShared.logs.scrollableLogTextStreamView.loadingEntriesLabel": "Chargement des entrées", - "xpack.logsShared.logs.stream.messageColumnTitle": "Message", - "xpack.logsShared.logs.stream.timestampColumnTitle": "Horodatage", - "xpack.logsShared.logs.streamingNewEntriesText": "Diffusion de nouvelles entrées", - "xpack.logsShared.logs.streamLive": "Diffuser en direct", - "xpack.logsShared.logStream.kqlErrorTitle": "Expression KQL non valide", - "xpack.logsShared.logStream.unknownErrorTitle": "Une erreur s'est produite", "xpack.ingestPipelines.app.deniedPrivilegeDescription": "Pour utiliser l'option Ingérer des pipelines, vous devez avoir {privilegesCount, plural, one {ce privilège de cluster} many {ces privilèges de cluster} other {ces privilèges de cluster}} : {missingPrivileges}.", "xpack.ingestPipelines.clone.loadSourcePipelineErrorTitle": "Impossible de charger {name}.", "xpack.ingestPipelines.createFromCsv.errorMessage": "{message}", "xpack.ingestPipelines.createFromCsv.fileUpload.filePickerTitle": "Charger le fichier (jusqu'à {maxFileSize})", "xpack.ingestPipelines.createFromCsv.instructions": "Utilisez un fichier CSV pour définir le mapping de votre source de données personnalisée avec l’Elastic Common Schema (ECS). Pour chaque {source}, vous pouvez indiquer une {destination} et des ajustements de format. Reportez-vous au {templateLink} pour connaître les en-têtes pris en charge.", "xpack.ingestPipelines.createFromCsv.processFile.fileTooLargeError": "Le fichier dépasse la taille autorisée de {maxBytes} octets.", - "xpack.ingestPipelines.deleteModal.confirmButtonLabel": "Supprimer {numPipelinesToDelete, plural, one {pipeline} many {pipelines} other {pipelines}}", + "xpack.ingestPipelines.deleteModal.confirmButtonLabel": "Supprimer {numPipelinesToDelete, plural, one {le pipeline} many {pipelines} other {pipelines}}", "xpack.ingestPipelines.deleteModal.deleteDescription": "Vous êtes sur le point de supprimer {numPipelinesToDelete, plural, one {ce pipeline} many {ces pipelines} other {ces pipelines}} :", "xpack.ingestPipelines.deleteModal.modalTitleText": "Supprimer {numPipelinesToDelete, plural, one {le pipeline} many {# pipelines} other {# pipelines}}", "xpack.ingestPipelines.deleteModal.multipleErrorsNotificationMessageText": "Erreur lors de la suppression de {count} pipelines", @@ -19277,7 +19901,7 @@ "xpack.ingestPipelines.form.savePip10mbelineError.showFewerButton": "Masquer {hiddenErrorsCount, plural, one {# erreur} many {# erreurs} other {# erreurs}}", "xpack.ingestPipelines.form.savePipelineError.processorLabel": "Processeur {type}", "xpack.ingestPipelines.form.savePipelineError.showAllButton": "Afficher {hiddenErrorsCount, plural, one {# autre erreur} many {# autres erreurs} other {# autres erreurs}}", - "xpack.ingestPipelines.list.table.deletePipelinesButtonLabel": "Supprimer {count, plural, one {le pipeline} many {les pipelines} other {les pipelines}}", + "xpack.ingestPipelines.list.table.deletePipelinesButtonLabel": "Supprimer {count, plural, one {le pipeline} many {pipelines} other {les pipelines}}", "xpack.ingestPipelines.mapToIngestPipeline.error.invalidFormatAction": "Action de format non valide [{formatAction}]. Les actions valides sont {formatActions}", "xpack.ingestPipelines.mapToIngestPipeline.error.missingHeaders": "En-têtes requis manquants. Incluez {missingHeaders} {missingHeadersCount, plural, one {en-tête} many {en-têtes} other {en-têtes}} dans le fichier CSV.", "xpack.ingestPipelines.pipelineEditor.addDocumentsAccordion.discoverLinkDescriptionText": "Pour explorer vos données existantes, utilisez {discoverLink}.", @@ -19337,6 +19961,9 @@ "xpack.ingestPipelines.pipelineEditor.redactForm.prefixFieldHelpText": "Commencez une section adaptée avec ce jeton. Sans spécification, la valeur par défaut est {defaultValue}.", "xpack.ingestPipelines.pipelineEditor.redactForm.suffixFieldHelpText": "Terminez une section adaptée avec ce jeton. Sans spécification, la valeur par défaut est {defaultValue}.", "xpack.ingestPipelines.pipelineEditor.removeProcessorModal.titleText": "Supprimer le processeur {type}", + "xpack.ingestPipelines.pipelineEditor.reroute.datasetFieldHelperText": "Références de champ ou valeur statique pour la partie \"dataset\" du nom du flux de données. En plus des critères pour les noms d’index, ils ne peuvent contenir de {dash} et ne peuvent pas dépasser 100 caractères. La valeur par défaut est de {defaultValue}.", + "xpack.ingestPipelines.pipelineEditor.reroute.destinationFieldHelperText": "Une valeur statique pour la cible. Ne peut pas être définie quand le {dataset} ou {namespace} est défini.", + "xpack.ingestPipelines.pipelineEditor.reroute.namespaceFieldHelperText": "Références de champ ou valeur statique pour la partie de l’espace de nom du nom du flux de données. Doit répondre aux critères pour les noms d’index et ne doit pas dépasser 100 caractères. La valeur par défaut est de {defaultValue}.", "xpack.ingestPipelines.pipelineEditor.scriptForm.langFieldHelpText": "Langage de script. La valeur par défaut est de {lang}.", "xpack.ingestPipelines.pipelineEditor.setForm.copyFromFieldHelpText": "Champ à copier dans {field}.", "xpack.ingestPipelines.pipelineEditor.setForm.ignoreEmptyValueFieldHelpText": "Si {valueField} est {nullValue} ou une chaîne vide, ne mettez pas ce champ à jour.", @@ -19757,6 +20384,8 @@ "xpack.ingestPipelines.pipelineEditor.onFailureProcessorsDocumentationLink": "En savoir plus.", "xpack.ingestPipelines.pipelineEditor.onFailureProcessorsLabel": "Gestionnaires d'échec", "xpack.ingestPipelines.pipelineEditor.onFailureTreeTitle": "Processeurs d'échec", + "xpack.ingestPipelines.pipelineEditor.pipelineForm.ignoreMissingPipelineFieldHelpText": "Ignorez les pipelines manquants au lieu d’entraîner un échec.", + "xpack.ingestPipelines.pipelineEditor.pipelineForm.ignoreMissingPipelineFieldLabel": "Ignorer les pipelines manquants", "xpack.ingestPipelines.pipelineEditor.pipelineForm.pipelineNameFieldHelpText": "Nom du pipeline d'ingestion à exécuter.", "xpack.ingestPipelines.pipelineEditor.pipelineForm.pipelineNameFieldLabel": "Nom du pipeline", "xpack.ingestPipelines.pipelineEditor.pipelineForm.pipelineNameRequiredError": "Une valeur est requise.", @@ -19785,6 +20414,11 @@ "xpack.ingestPipelines.pipelineEditor.renameForm.targetFieldRequiredError": "Une valeur est requise.", "xpack.ingestPipelines.pipelineEditor.requiredCopyFrom": "Une valeur Copier à partir de est requise.", "xpack.ingestPipelines.pipelineEditor.requiredValue": "Une valeur est requise.", + "xpack.ingestPipelines.pipelineEditor.reroute.datasetFieldLabel": "Ensemble de données (facultatif)", + "xpack.ingestPipelines.pipelineEditor.reroute.destinationFieldLabel": "Destination (facultatif)", + "xpack.ingestPipelines.pipelineEditor.reroute.namespaceFieldLabel": "Espace de nom (facultatif)", + "xpack.ingestPipelines.pipelineEditor.rerouteForm.datasetLengthError": "La valeur ne doit pas contenir plus de 100 caractères.", + "xpack.ingestPipelines.pipelineEditor.rerouteForm.namespaceLengthError": "La valeur ne doit pas contenir plus de 100 caractères.", "xpack.ingestPipelines.pipelineEditor.scriptForm.idRequiredError": "Une valeur est requise.", "xpack.ingestPipelines.pipelineEditor.scriptForm.langFieldLabel": "Langage (facultatif)", "xpack.ingestPipelines.pipelineEditor.scriptForm.paramsFieldAriaLabel": "Éditeur JSON de paramètres", @@ -19871,6 +20505,7 @@ "xpack.ingestPipelines.processors.defaultDescription.fail": "Lève une exception qui interrompt l'exécution", "xpack.ingestPipelines.processors.defaultDescription.fingerprint": "Calcule un hachage du contenu du document.", "xpack.ingestPipelines.processors.defaultDescription.networkDirection": "Calcule la direction du réseau en fonction d'une adresse IP source.", + "xpack.ingestPipelines.processors.defaultDescription.reroute": "Achemine un document vers un autre index cible ou flux de données", "xpack.ingestPipelines.processors.defaultDescription.sort.orderAscendingLabel": "croissant", "xpack.ingestPipelines.processors.defaultDescription.sort.orderDescendingLabel": "décroissant", "xpack.ingestPipelines.processors.description.append": "Ajoute les valeurs au tableau d'un champ. Si le champ contient une valeur unique, le processeur la convertit d'abord en tableau. Si le champ n'existe pas, le processeur crée un tableau contenant les valeurs ajoutées.", @@ -19902,6 +20537,7 @@ "xpack.ingestPipelines.processors.description.registeredDomain": "Extrait le domaine enregistré (domaine de niveau supérieur effectif), le sous-domaine et le domaine de niveau supérieur à partir d'un nom de domaine complet.", "xpack.ingestPipelines.processors.description.remove": "Retire un ou plusieurs champs.", "xpack.ingestPipelines.processors.description.rename": "Renomme un champ existant.", + "xpack.ingestPipelines.processors.description.reroute": "Achemine un document vers un autre index cible ou flux de données.", "xpack.ingestPipelines.processors.description.script": "Exécute un script sur les documents entrants.", "xpack.ingestPipelines.processors.description.set": "Définit la valeur d'un champ.", "xpack.ingestPipelines.processors.description.setSecurityUser": "Ajoute des détails concernant l'utilisateur actuel, tels que le nom d'utilisateur et l'adresse e-mail, aux documents entrants. Requiert un utilisateur authentifié pour la requête d'indexation.", @@ -19943,6 +20579,7 @@ "xpack.ingestPipelines.processors.label.registeredDomain": "Domaine enregistré", "xpack.ingestPipelines.processors.label.remove": "Retirer", "xpack.ingestPipelines.processors.label.rename": "Renommer", + "xpack.ingestPipelines.processors.label.reroute": "Réacheminer", "xpack.ingestPipelines.processors.label.script": "Script", "xpack.ingestPipelines.processors.label.set": "Définir", "xpack.ingestPipelines.processors.label.setSecurityUser": "Définir un utilisateur de sécurité", @@ -19982,9 +20619,10 @@ "xpack.ingestPipelines.testPipelineFlyout.successNotificationText": "Pipeline exécuté", "xpack.ingestPipelines.testPipelineFlyout.title": "Pipeline de test", "xpack.kubernetesSecurity.treeNavigation.loadMore": "Afficher plus {name}", + "xpack.kubernetesSecurity.beta": "Bêta", "xpack.kubernetesSecurity.chartsToggle.hide": "Masquer les graphiques", "xpack.kubernetesSecurity.chartsToggle.show": "Afficher les graphiques", - "xpack.kubernetesSecurity.containerNameWidget.containerImage": "Images de conteneurs", + "xpack.kubernetesSecurity.containerNameWidget.containerImage": "Image du conteneur", "xpack.kubernetesSecurity.containerNameWidget.containerImageAriaLabel": "Widget de session de nom de conteneur", "xpack.kubernetesSecurity.containerNameWidget.containerImageCountColumn": "Nombre de sessions", "xpack.kubernetesSecurity.countWidget.clusters": "Clusters", @@ -19994,8 +20632,8 @@ "xpack.kubernetesSecurity.countWidget.pods": "Pods", "xpack.kubernetesSecurity.entryUserChart.nonRoot": "Non root", "xpack.kubernetesSecurity.entryUserChart.root": "Root", - "xpack.kubernetesSecurity.entryUserChart.title": "Utilisateurs d’entrées de session", - "xpack.kubernetesSecurity.entryUserChart.tooltip": "L'utilisateur de la session est l'utilisateur Linux initial associé à la session. Cet utilisateur peut être défini à partir de l'authentification d'un login distant ou automatiquement pour les sessions de service démarrées par init.", + "xpack.kubernetesSecurity.entryUserChart.title": "Utilisateurs de session d’entrée", + "xpack.kubernetesSecurity.entryUserChart.tooltip": "L'utilisateur de la session d’entrée est l'utilisateur Linux initial associé à la session. Cet utilisateur peut être défini à partir de l'authentification d'un login distant ou automatiquement pour les sessions de service démarrées par init.", "xpack.kubernetesSecurity.searchGroup.cluster": "Cluster", "xpack.kubernetesSecurity.searchGroup.groupBy": "Regrouper par", "xpack.kubernetesSecurity.searchGroup.sortBy": "Trier par", @@ -20038,7 +20676,7 @@ "xpack.lens.editorFrame.configurationFailureMoreErrors": " +{errors} {errors, plural, one {erreur} many {erreurs} other {erreurs}}", "xpack.lens.editorFrame.expressionFailureMessage": "Erreur de requête : {type}, {reason}", "xpack.lens.editorFrame.expressionFailureMessageWithContext": "Erreur de requête : {type}, {reason} dans {context}", - "xpack.lens.editorFrame.expressionMissingDataView": "Impossible de trouver {count, plural, one {vue de données} many {vues de données} other {vues de données}} : {ids}", + "xpack.lens.editorFrame.expressionMissingDataView": "Impossible de trouver {count, plural, one {vue de données} many {Les vues de données sont introuvables} other {vues de données}} : {ids}", "xpack.lens.editorFrame.requiresTwoOrMoreFieldsWarningLabel": "Nécessite {requiredMinDimensionCount} champs", "xpack.lens.editorFrame.tooManyDimensionsSingularWarningLabel": "Veuillez supprimer {dimensionsTooMany, plural, one {une dimension} many {{dimensionsTooMany} dimensions} other {{dimensionsTooMany} dimensions}}", "xpack.lens.embeddable.featureBadge.iconDescription": "{count} {count, plural, one {modificateur de visualisation} many {modificateurs de visualisation} other {modificateurs de visualisation}}", @@ -20057,12 +20695,13 @@ "xpack.lens.indexPattern.cardinalityOf": "Compte unique de {name}", "xpack.lens.indexPattern.CounterRateOf": "Taux de compteur de {name}", "xpack.lens.indexPattern.cumulativeSumOf": "Somme cumulée de {name}", + "xpack.lens.indexPattern.customFormat.description": "Modèle de format Numeral.js (Par défaut : {defaultPattern})", "xpack.lens.indexPattern.dateHistogram.autoLongerExplanation": "Pour choisir l'intervalle, Lens divise la plage temporelle spécifiée par le paramètre avancé {targetBarSetting} et calcule le meilleur intervalle pour vos données. Par exemple, lorsque la plage temporelle est de 4 jours, les données sont divisées en compartiments horaires. Pour configurer le nombre de barres maximal, utilisez le paramètre avancé {maxBarSetting}.", "xpack.lens.indexPattern.dateHistogram.restrictedInterval": "Intervalle fixé à {intervalValue} en raison de restrictions d'agrégation.", "xpack.lens.indexPattern.derivativeOf": "Différences de {name}", "xpack.lens.indexPattern.fieldNoOperation": "Le champ {field} ne peut pas être utilisé sans opération", "xpack.lens.indexPattern.fieldsNotFound": "{count, plural, one {Champ} many {Champs} other {Champs}} {missingFields} {count, plural, one {est introuvable} many {sont introuvables} other {sont introuvables}}.", - "xpack.lens.indexPattern.fieldsWrongType": "Le(s) {count, plural, one {Champ} many {Champs} other {Champs}} {invalidFields} {count, plural, one {est} many {sont du mauvais type} other {sont du mauvais type}}", + "xpack.lens.indexPattern.fieldsWrongType": "Le(s) {count, plural, one {Champ} many {Champs} other {Champs}} {invalidFields} {count, plural, one {est} many {sont} other {sont}}", "xpack.lens.indexPattern.formulaExpressionNotHandled": "L'opération {operation} dans la formule ne comprend pas les paramètres suivants : {params}", "xpack.lens.indexPattern.formulaExpressionParseError": "La formule {expression} ne peut pas être analysée", "xpack.lens.indexPattern.formulaExpressionWrongType": "Les paramètres de l'opération {operation} dans la formule sont de type incorrect : {params}", @@ -20081,6 +20720,7 @@ "xpack.lens.indexPattern.formulaPartLabel": "Partie de {label}", "xpack.lens.indexPattern.formulaUseAlternative": "L'opération {operation} dans la formule n'a pas d'argument {params} : utilisez l'opération {alternativeFn} à la place", "xpack.lens.indexPattern.formulaWithTooManyArguments": "L'opération {operation} a trop d'arguments", + "xpack.lens.indexPattern.interval.noTargetBars": "Valeur \"{uiSettingVar}\" manquante", "xpack.lens.indexPattern.invalidReferenceConfiguration": "La dimension \"{dimensionLabel}\" n'est pas configurée correctement", "xpack.lens.indexPattern.lastValue.invalidTypeSortField": "Le champ {invalidField} n'est pas un champ de date et ne peut pas être utilisé pour le tri", "xpack.lens.indexPattern.lastValue.sortFieldNotFound": "Champ de tri {sortField} introuvable.", @@ -20112,6 +20752,7 @@ "xpack.lens.indexPattern.reducedTimeRangeWithDateHistogram": "Une plage temporelle réduite peut uniquement être utilisée sans histogramme des dates. Retirez la dimension d'histogramme des dates ou retirez la plage temporelle réduite de {column}.", "xpack.lens.indexPattern.reducedTimeRangeWithoutTimefield": "Une plage temporelle réduite peut uniquement être utilisée avec un champ temporel par défaut spécifié dans la vue de données. Utilisez une autre vue de données avec un champ temporel par défaut ou retirez la plage temporelle réduite de {column}.", "xpack.lens.indexPattern.referenceLineDimensionEditorLabel": "Ligne de référence {groupLabel}", + "xpack.lens.indexPattern.significantTermsOf": "Valeurs significatives de {name}", "xpack.lens.indexPattern.standardDeviationOf": "Écart-type de {name}", "xpack.lens.indexPattern.staticValueError": "La valeur statique de {value} n'est pas un nombre valide", "xpack.lens.indexPattern.staticValueLabelWithValue": "Valeur statique : {value}", @@ -20123,7 +20764,7 @@ "xpack.lens.indexPattern.terms.invalidFieldsErrorShort": "{invalidFieldsCount, plural, one {champ} many {champs} other {champs}} non valide(s) : {invalidFields}. Vérifiez votre vue de données ou choisissez un autre champ.", "xpack.lens.indexPattern.terms.sizeLimitMax": "La valeur est supérieure au maximum {max} ; elle est remplacée par la valeur maximale.", "xpack.lens.indexPattern.terms.sizeLimitMin": "La valeur est inférieure au minimum {min} ; elle est remplacée par la valeur minimale.", - "xpack.lens.indexPattern.termsOf": "{numberOfTermsLabel} {termsCount, plural, one {valeur} many {principales valeurs} other {principales valeurs}} de {name}", + "xpack.lens.indexPattern.termsOf": "{numberOfTermsLabel} {termsCount, plural, one {valeur} many {valeurs} other {principales valeurs}} de {name}", "xpack.lens.indexPattern.termsWithMultipleTermsAndScriptedFields": "Les champs scriptés ne sont pas pris en charge en cas d'utilisation de champs multiples ; {fields} trouvés", "xpack.lens.indexPattern.timeShiftMultipleWarning": "{label} utilise un décalage temporel de {columnTimeShift} qui n'est pas un multiple de l'intervalle de l'histogramme des dates de {interval}. Pour éviter une non-correspondance des données, utilisez un multiple de {interval} comme décalage temporel.", "xpack.lens.indexPattern.timeShiftSmallWarning": "{label} utilise un décalage temporel de {columnTimeShift} qui est inférieur à l'intervalle de l'histogramme des dates de {interval}. Pour éviter une non-correspondance des données, utilisez un multiple de {interval} comme décalage temporel.", @@ -20134,6 +20775,7 @@ "xpack.lens.messagesButton.label.errors": "{errorCount} {errorCount, plural, one {erreur} many {erreurs} other {erreurs}}", "xpack.lens.messagesButton.label.errorsAndWarnings": "{errorCount} {errorCount, plural, one {erreur} many {erreurs} other {erreurs}}, {warningCount} {warningCount, plural, one {avertissement} many {avertissements} other {avertissements}}", "xpack.lens.messagesButton.label.warnings": "{warningCount} {warningCount, plural, one {avertissement} many {avertissements} other {avertissements}}", + "xpack.lens.modalTitle.revertAnnotationGroupTitle": "Restaurer les modifications de \"{title}\" ?", "xpack.lens.pie.arrayValues": "Les dimensions suivantes contiennent des valeurs de tableau : {label}. Le rendu de votre visualisation peut ne pas se présenter comme attendu.", "xpack.lens.pie.multiMetricAccessorLabel": "{number} indicateurs", "xpack.lens.pie.suggestionLabel": "{chartName}", @@ -20148,6 +20790,11 @@ "xpack.lens.xyChart.annotationError.textFieldNotFound": "Champ de texte {textField} introuvable dans la vue de données {dataView}", "xpack.lens.xyChart.annotationError.timeFieldNotFound": "Champ temporel {timeField} introuvable dans la vue de données {dataView}", "xpack.lens.xyChart.annotationError.tooltipFieldNotFound": "{missingFields, plural, one {champ} many {champs} other {champs}} d'infobulle {missingTooltipFields} introuvable(s) dans la vue de données {dataView}", + "xpack.lens.xyChart.annotations.notificationReverted": "\"{title}\" restauré", + "xpack.lens.xyChart.annotations.notificationUnlinked": "\"{title}\" dissocié", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.errorToastTitle": "Impossible d’enregistrer \"{title}\"", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.successToastBody": "Voir ou gérer dans le {link}.", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.successToastTitle": "\"{title}\" enregistré", "xpack.lens.xySuggestions.dateSuggestion": "{yTitle} sur {xTitle}", "xpack.lens.xySuggestions.nonDateSuggestion": "{yTitle} de {xTitle}", "xpack.lens.xyVisualization.arrayValues": "{label} contient des valeurs de tableau. Le rendu de votre visualisation peut ne pas se présenter comme attendu.", @@ -20175,8 +20822,8 @@ "xpack.lens.formula.gtFunction.markdown": "\nEffectue une comparaison de supériorité entre deux valeurs.\nÀ utiliser en tant que condition pour la fonction de comparaison \"ifelse\".\nFonctionne également avec le symbole \">\".\n\nExemple : Retourne \"true\" si la moyenne d'octets est supérieure à la quantité moyenne de mémoire.\n\"average(bytes) > average(memory)\"\n\nExemple : \"gt(average(bytes), 1000)\"\n ", "xpack.lens.formula.ifElseFunction.markdown": "\nRetourne une valeur selon si l'élément de condition est \"true\" ou \"false\".\n\nExemple : Revenus moyens par client, mais dans certains cas, l'ID du client n'est pas fourni, et le client est alors compté comme client supplémentaire.\n`sum(total)/(unique_count(customer_id) + ifelse( count() > count(kql='customer_id:*'), 1, 0))`\n ", "xpack.lens.formula.logFunction.markdown": "\nÉtablit un logarithme avec base optionnelle. La base naturelle *e* est utilisée par défaut.\n\nExemple : calculer le nombre de bits nécessaire au stockage de valeurs\n```\nlog(sum(bytes))\nlog(sum(bytes), 2)\n```\n ", - "xpack.lens.formula.lteFunction.markdown": "\nEffectue une comparaison d'infériorité ou de supériorité entre deux valeurs.\nÀ utiliser en tant que condition pour la fonction de comparaison \"ifelse\".\nFonctionne également avec le symbole \"<=\".\n\nExemple : Retourne \"true\" si la moyenne d'octets est inférieure ou égale à la quantité moyenne de mémoire.\n\"average(bytes) <= average(memory)\"\n\nExemple : \"lte(average(bytes), 1000)\"\n ", - "xpack.lens.formula.ltFunction.markdown": "\nEffectue une comparaison d'infériorité entre deux valeurs.\nÀ utiliser en tant que condition pour la fonction de comparaison \"ifelse\".\nFonctionne également avec le symbole \"<\".\n\nExemple : Retourne \"true\" si la moyenne d'octets est inférieure à la quantité moyenne de mémoire.\n\"average(bytes) <= average(memory)\"\n\nExemple : \"lt(average(bytes), 1000)\"\n ", + "xpack.lens.formula.lteFunction.markdown": "\nEffectue une comparaison d'infériorité ou de supériorité entre deux valeurs.\nÀ utiliser en tant que condition pour la fonction de comparaison \"ifelse\".\nFonctionne également avec le symbole \"<=\".\n\nExemple : Retourne \"true\" si la moyenne d'octets est inférieure ou égale à la quantité moyenne de mémoire.\n\"average(bytes) <= average(memory)\"\n\nExemple : \"lte(average(bytes), 1000)\"\n ", + "xpack.lens.formula.ltFunction.markdown": "\nEffectue une comparaison d'infériorité entre deux valeurs.\nÀ utiliser en tant que condition pour la fonction de comparaison \"ifelse\".\nFonctionne également avec le symbole \"<\".\n\nExemple : Retourne \"true\" si la moyenne d'octets est inférieure à la quantité moyenne de mémoire.\n\"average(bytes) <= average(memory)\"\n\nExemple : \"lt(average(bytes), 1000)\"\n ", "xpack.lens.formula.maxFunction.markdown": "\nTrouve la valeur maximale entre deux nombres.\n\nExemple : Trouver le maximum entre deux moyennes de champs\n\"pick_max(average(bytes), average(memory))\"\n ", "xpack.lens.formula.minFunction.markdown": "\nTrouve la valeur minimale entre deux nombres.\n\nExemple : Trouver le minimum entre deux moyennes de champs\n`pick_min(average(bytes), average(memory))`\n ", "xpack.lens.formula.modFunction.markdown": "\nÉtablit le reste après division de la fonction par un nombre.\n\nExemple : calculer les trois derniers chiffres d'une valeur\n\"mod(sum(price), 1000)\"\n ", @@ -20195,9 +20842,11 @@ "xpack.lens.indexPattern.counterRate.documentation.markdown": "\nCalcule le taux d'un compteur toujours croissant. Cette fonction renvoie uniquement des résultats utiles inhérents aux champs d'indicateurs de compteur qui contiennent une mesure quelconque à croissance régulière.\nSi la valeur diminue, elle est interprétée comme une mesure de réinitialisation de compteur. Pour obtenir des résultats plus précis, \"counter_rate\" doit être calculé d’après la valeur \"max\" du champ.\n\nCe calcul est réalisé séparément pour des séries distinctes définies par des filtres ou des dimensions de valeurs supérieures.\nIl utilise l'intervalle en cours utilisé dans la formule.\n\nExemple : visualiser le taux d'octets reçus au fil du temps par un serveur Memcached :\n`counter_rate(max(memcached.stats.read.bytes))`\n ", "xpack.lens.indexPattern.cumulativeSum.documentation.markdown": "\nCalcule la somme cumulée d'un indicateur au fil du temps, en ajoutant toutes les valeurs précédentes d'une série à chaque valeur. Pour utiliser cette fonction, vous devez également configurer une dimension de l'histogramme de dates.\n\nCe calcul est réalisé séparément pour des séries distinctes définies par des filtres ou des dimensions de valeurs supérieures.\n\nExemple : visualiser les octets reçus cumulés au fil du temps :\n`cumulative_sum(sum(bytes))`\n ", "xpack.lens.indexPattern.differences.documentation.markdown": "\nCalcule la différence par rapport à la dernière valeur d'un indicateur au fil du temps. Pour utiliser cette fonction, vous devez également configurer une dimension de l'histogramme de dates.\nLes données doivent être séquentielles pour les différences. Si vos données sont vides lorsque vous utilisez des différences, essayez d'augmenter l'intervalle de l'histogramme de dates.\n\nCe calcul est réalisé séparément pour des séries distinctes définies par des filtres ou des dimensions de valeurs supérieures.\n\nExemple : visualiser la modification des octets reçus au fil du temps :\n`differences(sum(bytes))`\n ", + "xpack.lens.indexPattern.interval.documentation.markdown": "\nL’intervalle minimum spécifié pour l’histogramme de date, en millisecondes (ms).\n ", "xpack.lens.indexPattern.lastValue.documentation.markdown": "\nRenvoie la valeur d'un champ du dernier document, triée par le champ d'heure par défaut de la vue de données.\n\nCette fonction permet de récupérer le dernier état d'une entité.\n\nExemple : obtenir le statut actuel du serveur A :\n`last_value(server.status, kql='server.name=\"A\"')`\n ", "xpack.lens.indexPattern.metric.documentation.markdown": "\nRenvoie l'indicateur {metric} d'un champ. Cette fonction fonctionne uniquement pour les champs numériques.\n\nExemple : obtenir l'indicateur {metric} d'un prix :\n\"{metric}(price)\"\n\nExemple : obtenir l'indicateur {metric} d'un prix pour des commandes du Royaume-Uni :\n\"{metric}(price, kql='location:UK')\"\n ", "xpack.lens.indexPattern.movingAverage.documentation.markdown": "\nCalcule la moyenne mobile d'un indicateur au fil du temps, en prenant la moyenne des n dernières valeurs pour calculer la valeur actuelle. Pour utiliser cette fonction, vous devez également configurer une dimension de l'histogramme de dates.\nLa valeur de fenêtre par défaut est {defaultValue}.\n\nCe calcul est réalisé séparément pour des séries distinctes définies par des filtres ou des dimensions de valeurs supérieures.\n\nPrend un paramètre nommé \"window\" qui spécifie le nombre de dernières valeurs à inclure dans le calcul de la moyenne de la valeur actuelle.\n\nExemple : lisser une ligne de mesures :\n`moving_average(sum(bytes), window=5)`\n ", + "xpack.lens.indexPattern.now.documentation.markdown": "\n La durée actuelle passée dans Kibana exprimée en millisecondes (ms).\n ", "xpack.lens.indexPattern.overall_average.documentation.markdown": "\nCalcule la moyenne d'un indicateur pour tous les points de données d'une série dans le graphique actuel. Une série est définie par une dimension à l'aide d'un histogramme de dates ou d'une fonction d'intervalle.\nD'autres dimensions permettant de répartir les données telles que les valeurs supérieures ou les filtres sont traitées en tant que séries distinctes.\n\nSi le graphique actuel n'utilise aucun histogramme de dates ou aucune fonction d'intervalle, \"overall_average\" calcule la moyenne pour toutes les dimensions, quelle que soit la fonction utilisée.\n\nExemple : écart par rapport à la moyenne :\n\"sum(bytes) - overall_average(sum(bytes))\"\n ", "xpack.lens.indexPattern.overall_max.documentation.markdown": "\nCalcule la valeur maximale d'un indicateur pour tous les points de données d'une série dans le graphique actuel. Une série est définie par une dimension à l'aide d'un histogramme de dates ou d'une fonction d'intervalle.\nD'autres dimensions permettant de répartir les données telles que les valeurs supérieures ou les filtres sont traitées en tant que séries distinctes.\n\nSi le graphique actuel n'utilise aucun histogramme de dates ou aucune fonction d'intervalle, \"overall_max\" calcule la valeur maximale pour toutes les dimensions, quelle que soit la fonction utilisée.\n\nExemple : pourcentage de plage\n\"(sum(bytes) - overall_min(sum(bytes))) / (overall_max(sum(bytes)) - overall_min(sum(bytes)))\"\n ", "xpack.lens.indexPattern.overall_min.documentation.markdown": "\nCalcule la valeur minimale d'un indicateur pour tous les points de données d'une série dans le graphique actuel. Une série est définie par une dimension à l'aide d'un histogramme de dates ou d'une fonction d'intervalle.\nD'autres dimensions permettant de répartir les données telles que les valeurs supérieures ou les filtres sont traitées en tant que séries distinctes.\n\nSi le graphique actuel n'utilise aucun histogramme de dates ou aucune fonction d'intervalle, \"overall_min\" calcule la valeur minimale pour toutes les dimensions, quelle que soit la fonction utilisée.\n\nExemple : pourcentage de plage\n\"(sum(bytes) - overall_min(sum(bytes)) / (overall_max(sum(bytes)) - overall_min(sum(bytes)))\"\n ", @@ -20206,6 +20855,7 @@ "xpack.lens.indexPattern.percentileRanks.documentation.markdown": "\nRetourne le pourcentage de valeurs qui sont en dessous d'une certaine valeur. Par exemple, si une valeur est supérieure à 95 % des valeurs observées, elle est placée au 95e rang centile.\n\nExemple : Obtenir le pourcentage de valeurs qui sont en dessous de 100 :\n\"percentile_rank(bytes, value=100)\"\n ", "xpack.lens.indexPattern.standardDeviation.documentation.markdown": "\nRetourne la taille de la variation ou de la dispersion du champ. Cette fonction ne s’applique qu’aux champs numériques.\n\n#### Exemples\n\nPour obtenir l'écart type d'un prix, utilisez standard_deviation(price).\n\nPour obtenir la variance du prix des commandes passées au Royaume-Uni, utilisez `square(standard_deviation(price, kql='location:UK'))`.\n ", "xpack.lens.indexPattern.time_scale.documentation.markdown": "\n\nCette fonction avancée est utile pour normaliser les comptes et les sommes sur un intervalle de temps spécifique. Elle permet l'intégration avec les indicateurs qui sont stockés déjà normalisés sur un intervalle de temps spécifique.\n\nVous pouvez faire appel à cette fonction uniquement si une fonction d'histogramme des dates est utilisée dans le graphique actuel.\n\nExemple : Un rapport comparant un indicateur déjà normalisé à un autre indicateur devant être normalisé.\n\"normalize_by_unit(counter_rate(max(system.diskio.write.bytes)), unit='s') / last_value(apache.status.bytes_per_second)\"\n ", + "xpack.lens.indexPattern.timeRange.documentation.markdown": "\nL'intervalle de temps spécifié, en millisecondes (ms).\n ", "xpack.lens.AggBasedLabel": "visualisation basée sur l'agrégation", "xpack.lens.app.addToLibrary": "Enregistrer dans la bibliothèque", "xpack.lens.app.cancel": "Annuler", @@ -20278,6 +20928,9 @@ "xpack.lens.collapse.sum": "Somme", "xpack.lens.configPanel.addLayerButton": "Ajouter un calque", "xpack.lens.configPanel.experimentalLabel": "Version d'évaluation technique", + "xpack.lens.configPanel.loadFromLibrary": "Charger depuis la bibliothèque", + "xpack.lens.configPanel.newAnnotation": "Nouvelle annotation", + "xpack.lens.configPanel.selectAnnotationMethod": "Sélectionnez une méthode d’annotation", "xpack.lens.configPanel.selectLayerType": "Sélectionner le type de calque", "xpack.lens.configPanel.selectVisualization": "Sélectionner une visualisation", "xpack.lens.configPanel.visualizationType": "Type de visualisation", @@ -20287,6 +20940,7 @@ "xpack.lens.configure.invalidConfigTooltipClick": "Cliquez pour en savoir plus.", "xpack.lens.configure.invalidReferenceLineDimension": "La ligne de référence est affectée à un axe qui n’existe plus. Vous pouvez déplacer cette ligne de référence vers un autre axe disponible ou la supprimer.", "xpack.lens.confirmModal.cancelButtonLabel": "Annuler", + "xpack.lens.content.name": "Visualisation Lens", "xpack.lens.dashboardLabel": "Tableau de bord", "xpack.lens.datatable.addLayer": "Visualisation", "xpack.lens.datatable.breakdownColumn": "Diviser les indicateurs par", @@ -20296,7 +20950,7 @@ "xpack.lens.datatable.breakdownRows": "Lignes", "xpack.lens.datatable.breakdownRows.description": "Divisez le tableau par champ. Cette opération est recommandée pour les répartitions à cardinalité élevée.", "xpack.lens.datatable.column.help": "Colonne de tableau de données", - "xpack.lens.datatable.conjunctionSign": " & ", + "xpack.lens.datatable.conjunctionSign": " & ", "xpack.lens.datatable.expressionHelpLabel": "Outil de rendu de tableaux de données", "xpack.lens.datatable.groupLabel": "Tabulaire", "xpack.lens.datatable.headingLabel": "Valeur", @@ -20329,6 +20983,7 @@ "xpack.lens.editorFrame.layerSettings.headingAppearance": "Apparence", "xpack.lens.editorFrame.layerSettings.headingData": "Données", "xpack.lens.editorFrame.layerSettingsTitle": "Paramètres du calque", + "xpack.lens.editorFrame.loadFromLibrary": "Sélectionnez des annotations depuis une bibliothèque", "xpack.lens.editorFrame.networkErrorMessage": "Erreur réseau, réessayez plus tard ou contactez votre administrateur.", "xpack.lens.editorFrame.optionalDimensionLabel": "Facultatif", "xpack.lens.editorFrame.previewErrorLabel": "L'aperçu du rendu a échoué", @@ -20394,6 +21049,8 @@ "xpack.lens.formulaDocumentation.columnCalculationSectionDescription": "Ces fonctions sont exécutées pour chaque ligne, mais elles sont fournies avec la colonne entière comme contexte. Elles sont également appelées fonctions de fenêtre.", "xpack.lens.formulaDocumentation.comparisonSection": "Comparaison", "xpack.lens.formulaDocumentation.comparisonSectionDescription": "Ces fonctions sont utilisées pour effectuer une comparaison de valeurs.", + "xpack.lens.formulaDocumentation.constantsSection": "Contexte Kibana", + "xpack.lens.formulaDocumentation.constantsSectionDescription": "Ces fonctions sont utilisées pour récupérer des variables de contexte Kibana, c’est-à-dire l’histogramme de date \"interval\", le \"now\" actuel et le \"time_range\" sélectionné, et pour vous aider à faire des opérations mathématiques de dates.", "xpack.lens.formulaDocumentation.elasticsearchSection": "Elasticsearch", "xpack.lens.formulaDocumentation.elasticsearchSectionDescription": "Ces fonctions seront exécutées sur les documents bruts pour chaque ligne du tableau résultant, en agrégeant tous les documents correspondant aux dimensions de répartition en une seule valeur.", "xpack.lens.formulaDocumentation.filterRatio": "Rapport de filtre", @@ -20477,6 +21134,7 @@ "xpack.lens.indexPattern.chooseFieldLabel": "Pour utiliser cette fonction, sélectionnez un champ.", "xpack.lens.indexPattern.chooseSubFunction": "Choisir une sous-fonction", "xpack.lens.indexPattern.columnFormatLabel": "Format de valeur", + "xpack.lens.indexPattern.compactLabel": "Valeurs compactes", "xpack.lens.indexPattern.count": "Décompte", "xpack.lens.indexPattern.count.documentation.quick": "\nNombre total de documents. Lorsque vous fournissez un champ, le nombre total de valeurs de champ est compté. Lorsque vous utilisez la fonction de décompte pour les champs qui comportent plusieurs valeurs dans un même document, toutes les valeurs sont comptées.\n ", "xpack.lens.indexPattern.count.signature": "[champ : chaîne]", @@ -20487,6 +21145,8 @@ "xpack.lens.indexPattern.cumulative_sum.signature": "indicateur : nombre", "xpack.lens.indexPattern.cumulativeSum": "Somme cumulée", "xpack.lens.indexPattern.cumulativeSum.documentation.quick": "\n Somme de toutes les valeurs au fur et à mesure de leur croissance.\n ", + "xpack.lens.indexPattern.custom.patternLabel": "Format", + "xpack.lens.indexPattern.customFormatLabel": "Format personnalisé", "xpack.lens.indexPattern.dataViewLoadError": "Erreur lors du chargement de la vue de données", "xpack.lens.indexPattern.dateHistogram": "Histogramme des dates", "xpack.lens.indexPattern.dateHistogram.autoAdvancedExplanation": "L'intervalle suit cette logique :", @@ -20507,6 +21167,8 @@ "xpack.lens.indexPattern.dateHistogram.selectOptionHelpText": "Choisissez une option ou créez une valeur personnalisée.", "xpack.lens.indexPattern.dateHistogram.titleHelp": "Fonctionnement de l'histogramme des dates", "xpack.lens.indexPattern.dateHistogram.upTo": "Jusqu'à", + "xpack.lens.indexPattern.dateRange.dataViewNoTimeBased": "La vue de données actuelle n’est pas temporelle", + "xpack.lens.indexPattern.dateRange.noTimeRange": "L’intervalle de plage temporelle actuel n’est pas disponible", "xpack.lens.indexPattern.decimalPlacesLabel": "Décimales", "xpack.lens.indexPattern.defaultFormatLabel": "Par défaut", "xpack.lens.indexPattern.derivative": "Différences", @@ -20553,6 +21215,8 @@ "xpack.lens.indexPattern.helpPartiallyApplicableFunctionLabel": "Cette fonction peut retourner uniquement des résultats partiels, car elle ne prend pas en charge la plage temporelle entière des données historiques cumulées.", "xpack.lens.indexPattern.hideZero": "Masquer les valeurs nulles", "xpack.lens.indexPattern.incompleteOperation": "(incomplet)", + "xpack.lens.indexPattern.interval.noDateHistogramColumn": "Impossible de calculer un intervalle sans colonne d’histogramme de date configurée", + "xpack.lens.indexPattern.interval.noTimeRange": "L’intervalle de plage temporelle actuel n’est pas disponible", "xpack.lens.indexPattern.intervals": "Intervalles", "xpack.lens.indexPattern.invalidFieldLabel": "Champ non valide. Vérifiez votre vue de données ou choisissez un autre champ.", "xpack.lens.indexPattern.invalidOperationLabel": "Ce champ ne fonctionne pas avec la fonction sélectionnée.", @@ -20643,7 +21307,7 @@ "xpack.lens.indexPattern.ranges.increaseButtonLabel": "Augmenter la granularité", "xpack.lens.indexPattern.ranges.lessThanOrEqualAppend": "≤", "xpack.lens.indexPattern.ranges.lessThanOrEqualTooltip": "Inférieur ou égal à", - "xpack.lens.indexPattern.ranges.lessThanPrepend": "<", + "xpack.lens.indexPattern.ranges.lessThanPrepend": "<", "xpack.lens.indexPattern.ranges.lessThanTooltip": "Inférieur à", "xpack.lens.indexPattern.records": "Enregistrements", "xpack.lens.indexPattern.reducedTimeRange.15m": "15 minutes (15m)", @@ -20701,6 +21365,7 @@ "xpack.lens.indexPattern.terms.orderDescending": "Décroissant", "xpack.lens.indexPattern.terms.orderDirection": "Sens de classement", "xpack.lens.indexPattern.terms.orderRare": "Rareté", + "xpack.lens.indexPattern.terms.orderSignificant": "Importance", "xpack.lens.indexPattern.terms.otherBucketDescription": "Valeurs restantes du groupe regroupées sous \"Autre\"", "xpack.lens.indexPattern.terms.otherLabel": "Autre", "xpack.lens.indexPattern.terms.percentile.": "Rangs centiles", @@ -20737,6 +21402,12 @@ "xpack.lens.label.gauge.labelMinor.header": "Sous-titre", "xpack.lens.label.header": "Étiquette", "xpack.lens.label.shared.axisHeader": "Titre de l'axe", + "xpack.lens.label.tagcloud.fontSizeLabel": "Taille de la police", + "xpack.lens.label.tagcloud.orientation.multiple": "Multiple", + "xpack.lens.label.tagcloud.orientation.rightAngled": "Angle droit", + "xpack.lens.label.tagcloud.orientation.single": "Unique", + "xpack.lens.label.tagcloud.orientationLabel": "Orientation", + "xpack.lens.label.tagcloud.showLabel": "Afficher l'étiquette", "xpack.lens.labelInput.label": "Étiquette", "xpack.lens.layer.actions.contextMenuAriaLabel": "Actions du calque", "xpack.lens.layer.cancelDelete": "Annuler", @@ -20748,10 +21419,14 @@ "xpack.lens.layer.confirmModal.deleteRefLine": "La suppression de ce calque supprime les lignes de référence et leurs configurations. ", "xpack.lens.layer.confirmModal.deleteVis": "La suppression de ce calque supprime la visualisation et ses configurations. ", "xpack.lens.layer.confirmModal.dontAskAgain": "Ne plus me demander", + "xpack.lens.layer.revertModal.revertAnnotationGroupDescription": "Cette action supprimera toutes les modifications non enregistrées que vous avez faites et restaurera la version enregistrée la plus récente de ce groupe d’annotations à votre visualisation. Toute modification non enregistrée perdue ne peut pas être restaurée.", + "xpack.lens.layer.unlinkConfirm": "Restaurer les modifications", "xpack.lens.layerActions.layerSettingsAction": "Paramètres du calque", "xpack.lens.layerPanel.ignoreGlobalFilters": "Ignorer les filtres globaux", "xpack.lens.layerPanel.layerVisualizationType": "Type de visualisation du calque", "xpack.lens.layerPanel.missingDataView": "Vue de données introuvable", + "xpack.lens.layerSettings.ignoreGlobalFilters": "Utiliser les filtres globaux", + "xpack.lens.layerTitle.fallbackLabel": "Calque", "xpack.lens.legacyMetric.addLayer": "Visualisation", "xpack.lens.legacyMetric.alignLabel.center": "Aligner au centre", "xpack.lens.legacyMetric.alignLabel.left": "Aligner à gauche", @@ -20775,7 +21450,14 @@ "xpack.lens.legacyMetric.titlePositions.top": "Haut", "xpack.lens.legacyUrlConflict.objectNoun": "Visualisation Lens", "xpack.lens.lensSavedObjectLabel": "Visualisation Lens", + "xpack.lens.lineCurve.smooth": "Lisser", + "xpack.lens.lineCurve.step": "Étape", + "xpack.lens.lineCurve.straight": "Droit", + "xpack.lens.lineCurveDescription.smooth": "Ligne lissée entre les points", + "xpack.lens.lineCurveDescription.step": "Ligne en escalier entre les points", + "xpack.lens.lineCurveDescription.straight": "Ligne droite entre les points", "xpack.lens.lineMarker.positionRequirementTooltip": "Vous devez sélectionner une icône ou afficher le nom pour pouvoir en modifier la position.", + "xpack.lens.loadAnnotationsLibrary.cancel": "Annuler", "xpack.lens.metric.addLayer": "Visualisation", "xpack.lens.metric.breakdownBy": "Répartir par", "xpack.lens.metric.color": "Couleur", @@ -20985,6 +21667,11 @@ "xpack.lens.table.visualOptionsHeaderRowHeightLabel": "Hauteur de ligne d’en-tête", "xpack.lens.table.visualOptionsPaginateTable": "Paginer le tableau", "xpack.lens.table.visualOptionsPaginateTableTooltip": "La pagination est masquée lorsqu’il y a moins de 10 éléments.", + "xpack.lens.tagcloud.addLayer": "Ajouter un calque de visualisation", + "xpack.lens.tagcloud.appearanceLabel": "Apparence", + "xpack.lens.tagcloud.label": "Nuage de balises", + "xpack.lens.tagcloud.metricValueLabel": "Indicateur", + "xpack.lens.tagcloud.tagLabel": "Balises", "xpack.lens.textBasedLanguages.chooseField": "Champ", "xpack.lens.textBasedLanguages.missingField": "Champ manquant", "xpack.lens.timeScale.normalizeNone": "Aucun", @@ -21008,6 +21695,17 @@ "xpack.lens.xyChart.addReferenceLineLayerLabel": "Lignes de référence", "xpack.lens.xyChart.addReferenceLineLayerLabelDisabledHelp": "Ajouter des données pour activer le calque de référence", "xpack.lens.xyChart.annotationError.timeFieldEmpty": "Le champ temporel est manquant", + "xpack.lens.xyChart.annotations.addAnnotationGroupToLibraryDescription": "Enregistre un groupe d’annotations comme objet enregistré distinct", + "xpack.lens.xyChart.annotations.notificationRevertedExplanation": "La version la plus récemment enregistrée de ce groupe d’annotations a été restaurée.", + "xpack.lens.xyChart.annotations.revertChanges": "Restaurer les modifications", + "xpack.lens.xyChart.annotations.revertChangesDescription": "Restaure le groupe d’annotations au dernier état enregistré.", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary": "Enregistrer le groupe d'annotations", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.annotationLibrary": "bibliothèque d’annotations", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.confirmButton": "Enregistrer le groupe", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.modalTitle": "Enregistrer le groupe d'annotations dans la bibliothèque", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.objectType": "regrouper", + "xpack.lens.xyChart.annotations.unlinkFromLibrary": "Dissocier de la bibliothèque", + "xpack.lens.xyChart.annotations.unlinksFromLibrary": "Enregistre le groupe d’annotations en tant que partie de l’objet Lens enregistré", "xpack.lens.xyChart.axisOrientation.angled": "En angle", "xpack.lens.xyChart.axisOrientation.horizontal": "Horizontal", "xpack.lens.xyChart.axisOrientation.label": "Orientation", @@ -21056,6 +21754,7 @@ "xpack.lens.xyChart.legendVisibility.hide": "Masquer", "xpack.lens.xyChart.legendVisibility.show": "Afficher", "xpack.lens.xyChart.lineColor.label": "Couleur", + "xpack.lens.xyChart.lineInterpolationLabel": "Interpolation de ligne", "xpack.lens.xyChart.lineMarker.auto": "Auto", "xpack.lens.xyChart.lineMarker.position": "Position de la décoration", "xpack.lens.xyChart.markerPosition.above": "Haut", @@ -21077,6 +21776,7 @@ "xpack.lens.xyChart.splitSeries": "Répartition", "xpack.lens.xyChart.topAxisDisabledHelpText": "Ce paramètre s'applique uniquement lorsque l'axe du haut est activé.", "xpack.lens.xyChart.topAxisLabel": "Axe du haut", + "xpack.lens.xyChart.unsavedChanges": "Modifications non enregistrées", "xpack.lens.xyChart.valuesHistogramDisabledHelpText": "Ce paramètre ne peut pas être modifié dans les histogrammes.", "xpack.lens.xyChart.valuesPercentageDisabledHelpText": "Ce paramètre ne peut pas être modifié dans les graphiques en aires à pourcentages.", "xpack.lens.xyChart.valuesStackedDisabledHelpText": "Ce paramètre ne peut pas être modifié dans les graphiques empilés ou les graphiques à barres à pourcentages", @@ -21090,7 +21790,7 @@ "xpack.lens.xySuggestions.lineChartTitle": "Graphique en courbes", "xpack.lens.xySuggestions.stackedChartTitle": "Empilé", "xpack.lens.xySuggestions.unstackedChartTitle": "Non empilé", - "xpack.lens.xySuggestions.yAxixConjunctionSign": " & ", + "xpack.lens.xySuggestions.yAxixConjunctionSign": " & ", "xpack.lens.xyVisualization.areaLabel": "Aire", "xpack.lens.xyVisualization.barGroupLabel": "Barres", "xpack.lens.xyVisualization.barHorizontalFullLabel": "Horizontal à barres", @@ -21225,7 +21925,7 @@ "xpack.logstash.pipelineEditor.pipelineSuccessfullySavedMessage": "\"{id}\" enregistré", "xpack.logstash.pipelineList.couldNotDeletePipelinesNotification": "Impossible de supprimer {numErrors, plural, one {# pipeline} many {# pipelines} other {# pipelines}}", "xpack.logstash.pipelineList.pipelineLoadingErrorNotification": "Impossible de charger le pipeline. Erreur : \"{errStatusText}\".", - "xpack.logstash.pipelineList.pipelinesCouldNotBeDeletedDescription": "Toutefois, {numErrors, plural, one {# pipeline n'a pas pu être supprimé} many {# pipelines n'ont pas pu être supprimés} other {# pipelines n'ont pas pu être supprimés}}.", + "xpack.logstash.pipelineList.pipelinesCouldNotBeDeletedDescription": "Toutefois, {numErrors, plural, one {# pipeline n'a pas pu être supprimé} many {# pipelines} other {# pipelines n'ont pas pu être supprimés}}.", "xpack.logstash.pipelineList.pipelinesSuccessfullyDeletedNotification": "\"{id}\" supprimé", "xpack.logstash.pipelineList.successfullyDeletedPipelinesNotification": "{numSuccesses} sur {numPipelinesSelected, plural, one {# pipeline} many {# pipelines} other {# pipelines}}", "xpack.logstash.pipelinesTable.selectablePipelineMessage": "Sélectionner le pipeline \"{id}\"", @@ -21300,7 +22000,9 @@ "xpack.logstash.workersTooltip": "Nombre de personnes de l'équipe qui exécuteront en parallèle les étapes de filtre et de sortie du pipeline. Si vous constatez que les événements s'accumulent ou que le CPU n'est pas saturé, envisagez d'augmenter ce nombre pour mieux utiliser la puissance de traitement de la machine.\n\nValeur par défaut : Nombre de cœurs de processeur de l'hôte", "xpack.maps.blendedVectorLayer.clusteredLayerName": "{displayName} en cluster", "xpack.maps.common.esSpatialRelation.clusterFilterLabel": "intersecte le cluster {gridId}", - "xpack.maps.deleteLayerConfirmModal.multiLayerWarning": "Le retrait de ce calque retire également {numChildren} {numChildren, plural, one {calque imbriqué} many {calques imbriqués} other {calques imbriqués}}.", + "xpack.maps.deleteLayerConfirmModal.multiLayerWarning": "Le retrait de ce calque retire également {numChildren} {numChildren, plural, one {calque imbriqué} many {les calques} other {les calques}}.", + "xpack.maps.distanceSource.requestDescription": "Obtenir des indicateurs de la vue de données : {dataViewName} ; champ géospatial : {geoFieldName}", + "xpack.maps.distanceSource.requestName": "{leftSourceName} à distance de la requête de liaison", "xpack.maps.embeddable.boundsFilterLabel": "{geoFieldsLabel} dans les limites de la carte", "xpack.maps.es_geo_utils.convert.unsupportedGeometryTypeErrorMessage": "Conversion de la géométrie {geometryType} en geojson impossible ; non pris en charge", "xpack.maps.es_geo_utils.distanceFilterAlias": "dans un rayon de {distanceKm} km de {pointLabel}", @@ -21314,6 +22016,10 @@ "xpack.maps.esSearch.topHitsEntitiesCountMsg": "{entityCount} entités trouvées.", "xpack.maps.esSearch.topHitsResultsTrimmedMsg": "Résultats limités aux {entityCount} premières entités sur environ {totalEntities}.", "xpack.maps.esSearch.topHitsSizeMsg": "Affichage des {topHitsSize} premiers documents par entité.", + "xpack.maps.esSearchSource.requestDescription": "Obtenir des documents de la vue de données : {dataViewName} ; champ géospatial : {geoFieldName}", + "xpack.maps.esSearchSource.requestName": "Requête de documents de {layerName}", + "xpack.maps.esSearchSource.topHits.requestDescription": "Obtenir les premiers résultats de la vue de données : {dataViewName} ; entités : {entitiesFieldName} ; champ géospatial : {geoFieldName}", + "xpack.maps.esSearchSource.topHits.requestName": "Requête des premiers résultats de {layerName}", "xpack.maps.fileUpload.trimmedResultsMsg": "Résultats limités à {numFeatures} fonctionnalités, {previewCoverage} % du fichier.", "xpack.maps.filterByMapExtentMenuItem.displayName": "Filtrer {containerLabel} selon les limites de la carte", "xpack.maps.filterByMapExtentMenuItem.displayNameTooltip": "Quand vous vous déplacez sur la carte ou que vous zoomez, le {containerLabel} se met à jour pour afficher uniquement les données visibles dans les limites de la carte.", @@ -21322,6 +22028,8 @@ "xpack.maps.keydownScrollZoom.keydownToZoomInstructions": "Utilisez {key} + défilement pour zoomer sur la carte", "xpack.maps.labelPosition.iconSizeJoinFieldNotSupportMsg": "{labelPositionPropertyLabel} n'est pas pris en charge avec le champ de jointure {iconSizePropertyLabel} {iconSizeFieldName}. Définissez {iconSizePropertyLabel} sur le champ source pour l'activer.", "xpack.maps.layer.zoomFeedbackTooltip": "Le calque est visible entre les niveaux de zoom {minZoom} et {maxZoom}.", + "xpack.maps.layerPanel.join.joinExpression.noEditorMsg": "Impossible de modifier la liaison de {type}.", + "xpack.maps.layerPanel.joinEditor.spatialJoin.disabled.esSourceOnly": "Les liaisons spatiales ne sont pas prises en charge par {sourceType}.", "xpack.maps.layerPanel.metricsExpression.useMetricsDescription": "{metricsLength, plural, one {et utiliser un indicateur} many {et utiliser des indicateurs} other {et utiliser des indicateurs}}", "xpack.maps.layers.newVectorLayerWizard.createIndexError": "Impossible de créer l'index avec le nom {message}", "xpack.maps.layers.newVectorLayerWizard.indexPermissionsError": "Vous devez disposer des privilèges \"create\" et \"create_index\" pour pouvoir créer et écrire des données sur \"{indexName}\".", @@ -21334,6 +22042,7 @@ "xpack.maps.mask.maskLabel": "Masquer {hideNoun}", "xpack.maps.mask.whenJoinMetric": "{whenLabel} l'indicateur de jonction", "xpack.maps.maskLegend.is": "{aggLabel} est", + "xpack.maps.pewPew.requestName": "Requête de chemins de {layerName}", "xpack.maps.scalingDocs.clustersDetails": "Affichez les clusters lorsque les résultats dépassent {maxResultWindow} documents. Affichez les documents lorsqu'il y a moins de {maxResultWindow} résultats.", "xpack.maps.scalingDocs.limitDetails": "Affichez les fonctionnalités des {maxResultWindow} premiers documents.", "xpack.maps.scalingDocs.maxResultWindow": "Contrainte {maxResultWindow} fournie par le paramètre d'index {link}.", @@ -21348,22 +22057,36 @@ "xpack.maps.source.emsTile.unableToFindTileIdErrorMessage": "Impossible de trouver la configuration de la tuile EMS pour l'ID : {id}. {info}", "xpack.maps.source.emsTileSourceDescription": "Service de fond de carte de {host}", "xpack.maps.source.esAggSource.topTermLabel": "{fieldLabel} principal", - "xpack.maps.source.esGeoLine.entityRequestName": "Entités {layerName}", - "xpack.maps.source.esGeoLine.trackRequestName": "Pistes {layerName}", + "xpack.maps.source.esGeoLine.entityRequestDescription": "Obtenir des entités au sein de la mémoire tampon de la carte depuis la vue de données  : {dataViewName} ; entités : {splitFieldName}", + "xpack.maps.source.esGeoLine.entityRequestName": "Requête d’entités de {layerName}", + "xpack.maps.source.esGeoLine.trackRequestDescription": "Obtenir des pistes pour des entités {numEntities} depuis la vue de données : {dataViewName} ; champ géospatial : {geoFieldName}", + "xpack.maps.source.esGeoLine.trackRequestName": "Requête de pistes de {layerName}", "xpack.maps.source.esGeoLineDisabledReason": "{title} requiert une licence Gold.", + "xpack.maps.source.esGrid.compositeInspector.requestName": "Requête composite de {layerName} {bucketsName} ({requestCount})", + "xpack.maps.source.esGrid.compositeInspectorDescription": "Obtenir {bucketsName} de la vue de données : {dataViewName} ; champ géospatial : {geoFieldName}", "xpack.maps.source.esGrid.compositePaginationErrorMessage": "{layerName} génère trop de requêtes. Réduisez \"Résolution de la grille\" et/ou réduisez le nombre d'indicateurs de premier terme.", + "xpack.maps.source.esGrid.inspector.requestDescription": "Obtenir {bucketsName} de la vue de données : {dataViewName} ; champ géospatial : {geoFieldName}", + "xpack.maps.source.esGrid.inspector.requestName": "Requête de {layerName} {bucketsName}", "xpack.maps.source.esGrid.resolutionParamErrorMessage": "Paramètre de résolution de grille non reconnu : {resolution}", "xpack.maps.source.esJoin.countLabel": "Nombre de {indexPatternLabel}", "xpack.maps.source.esSearch.clusterScalingLabel": "Afficher les clusters lorsque les résultats dépassent {maxResultWindow}", "xpack.maps.source.esSearch.convertToGeoJsonErrorMsg": "Impossible de convertir la réponse de la recherche en collection de fonctionnalités geoJson, erreur : {errorMsg}", "xpack.maps.source.esSearch.limitScalingLabel": "Limiter les résultats à {maxResultWindow}", "xpack.maps.source.esSearch.loadTooltipPropertiesErrorMsg": "Document introuvable, _id : {docId}", - "xpack.maps.source.esSearch.mvtScalingJoinMsg": "Les tuiles vectorielles prennent en charge une seule liaison de terme. Votre calque comporte {numberOfJoins} jointures de terme. Le passage aux tuiles vectorielles conservera la première liaison de terme et supprimera toutes les autres liaisons de terme de votre configuration de calque.", - "xpack.maps.source.esSource.noGeoFieldErrorMessage": "La value de données \"{indexPatternLabel}\" ne contient plus le champ géographique \"{geoField}\"", + "xpack.maps.source.esSearch.mvtScalingJoinMsg": "Les tuiles vectorielles prennent en charge une seule liaison de terme. Votre calque a {numberOfJoins} liaisons. Le passage aux tuiles vectorielles conservera la première liaison de terme et supprimera toutes les autres liaisons de votre configuration de calque.", + "xpack.maps.source.esSource.noGeoFieldErrorMessage": "La vue de données \"{indexPatternLabel}\" ne contient plus le champ géographique \"{geoField}\"", "xpack.maps.source.esSource.requestFailedErrorMessage": "Échec de la demande de recherche Elasticsearch, erreur : {message}", "xpack.maps.source.esSource.stylePropsMetaRequestName": "{layerName} - Métadonnées", "xpack.maps.source.MVTSingleLayerVectorSourceEditor.urlHelpMessage": "URL du service de cartographie vectoriel .mvt. Par exemple, {url}", + "xpack.maps.source.pewPew.inspectorDescription": "Obtenir des chemins depuis la vue de données : {dataViewName} ; source : {sourceFieldName} ; destination : {destFieldName}", + "xpack.maps.spatialJoin.wizardForm.withinExpressionValue": "{distance} {units} de fonctionnalités de calque", + "xpack.maps.spatialJoinExpression.noDataViewTitle": "Impossible de charger la vue de données {dataViewId}.", + "xpack.maps.spatialJoinExpression.value": "fonctionnalités de {geoField}", "xpack.maps.style.fieldSelect.OriginLabel": "Champs de {fieldOrigin}", + "xpack.maps.termJoinExpression.topTerms": "{size} principal", + "xpack.maps.termJoinExpression.value": "termes {topTerms} de {term}", + "xpack.maps.termSource.requestDescription": "Obtenir des indicateurs depuis la vue de données : {dataViewName} ; champ de terme : {termFieldName}", + "xpack.maps.termSource.requestName": "Requête de liaison de terme de {leftSourceName}", "xpack.maps.tiles.resultsCompleteMsg": "{countPrefix}{count} documents trouvés.", "xpack.maps.tiles.resultsTrimmedMsg": "Les résultats sont limités à {countPrefix}{count} documents.", "xpack.maps.tileStatusTracker.layerErrorMsg": "Impossible de charger {count} tuiles : {tileErrors}", @@ -21408,7 +22131,7 @@ "xpack.maps.choropleth.boundaries.elasticsearch": "Points, lignes et polygones d'Elasticsearch", "xpack.maps.choropleth.boundaries.ems": "Limites administratives d'Elastic Maps Service", "xpack.maps.choropleth.boundariesLabel": "Source des limites", - "xpack.maps.choropleth.desc": "Zones ombrées pour comparer les statistiques sur les différentes limites", + "xpack.maps.choropleth.desc": "Ombrer des zones pour comparer les statistiques sur les différentes limites", "xpack.maps.choropleth.geofieldLabel": "Champ géospatial", "xpack.maps.choropleth.geofieldPlaceholder": "Sélectionner un champ géographique", "xpack.maps.choropleth.joinFieldLabel": "Champ de liaison", @@ -21461,6 +22184,7 @@ "xpack.maps.emsVectorTileLayer.layerDescription": "Carte de référence fournie par Elastic Maps Service (EMS).", "xpack.maps.emsVectorTileStyleEditor.colorBlendPickerLabel": "Combinaison de couleurs", "xpack.maps.emsVectorTileStyleEditor.colorBlendPickerPlaceholder": "Pas de couleur", + "xpack.maps.esDistanceSource.noFeatureCollectionMsg": "Impossible d’effectuer la liaison à distance car les fonctionnalités ne sont pas fournies. Pour activer la liaison à distance, sélectionnez \"Limiter les résultats\" dans \"Montée en charge\"", "xpack.maps.esSearch.scaleTitle": "Montée en charge", "xpack.maps.esSearch.sortTitle": "Triage", "xpack.maps.esSearch.tooltipsTitle": "Champs d'infobulle", @@ -21497,6 +22221,8 @@ "xpack.maps.indexData.indexExists": "Index : \"{index}\" introuvable. Un index valide doit être fourni", "xpack.maps.indexSettings.fetchErrorMsg": "Impossible de récupérer les paramètres d'index pour la vue de données \"{indexPatternTitle}\".\n Assurez-vous d'avoir le rôle \"{viewIndexMetaRole}\".", "xpack.maps.initialLayers.unableToParseTitle": "Calques initiaux non ajoutés à la carte", + "xpack.maps.input.fieldSelectPlaceholder": "Sélectionner un champ", + "xpack.maps.input.relationshipLabel": "Relation", "xpack.maps.inspector.centerLatLabel": "Latitude centre", "xpack.maps.inspector.centerLonLabel": "Longitude centre", "xpack.maps.inspector.mapboxStyleTitle": "Style de Mapbox", @@ -21513,9 +22239,13 @@ "xpack.maps.inspector.vectorTileViewHelpText": "Afficher les requêtes de recherche de tuiles vectorielles utilisées pour collecter les données", "xpack.maps.inspector.vectorTileViewTitle": "Tuiles vectorielles", "xpack.maps.inspector.zoomLabel": "Effectuer un zoom", - "xpack.maps.joinDocs.intro": "Les liaisons de terme ajoutent au calque les propriétés de style basées sur les données. Les liaisons de terme fonctionnent comme indiqué ci-dessous :", + "xpack.maps.joinDocs.intro": "Les liaisons ajoutent des indicateurs aux fonctionnalités de calque pour des styles basés sur les données et du contenu d’infobulles.", "xpack.maps.joinDocs.linkLabel": "Exemple de liaison de terme", - "xpack.maps.joinDocs.noMatches": "Les fonctionnalités n'ayant pas de compartiment d'agrégation de termes correspondants ne sont pas visibles sur la carte.", + "xpack.maps.joinDocs.noMatches": "Les fonctionnalités de calque qui ont une correspondance ne sont pas visibles sur la carte.", + "xpack.maps.joinDocs.spatialJoinIntro": "Une liaison spatiale utilise une relation géospatiale pour combiner des fonctionnalités de calque avec les indicateurs d’une agrégation de filtres de requête géographique Elasticsearch.", + "xpack.maps.joinDocs.spatialJoinTitle": "Liaison spatiale", + "xpack.maps.joinDocs.termJoinTitle": "Liaison de terme", + "xpack.maps.joinDocs.termsJoinIntro": "Une liaison de terme utilise une clé partagée pour combiner des fonctionnalités de calque avec des indicateurs d’une agrégation de termes Elasticsearch.", "xpack.maps.keydownScrollZoom.keydownClickAndDragZoomInstructions": "Utilisez Maj+clic et faites glisser pour zoomer sur la carte afin de l'adapter à une zone de délimitation.", "xpack.maps.kilometersAbbr": "km", "xpack.maps.layer.isUsingBoundsFilter": "Résultats affinés par zone de carte visible", @@ -21553,10 +22283,16 @@ "xpack.maps.layerPanel.join.applyGlobalTimeCheckboxLabel": "Appliquer une heure globale à la liaison", "xpack.maps.layerPanel.join.deleteJoinAriaLabel": "Supprimer la liaison", "xpack.maps.layerPanel.join.deleteJoinTitle": "Supprimer la liaison", + "xpack.maps.layerPanel.joinEditor.spatialJoin.addButtonLabel": "Ajouter une liaison spatiale", + "xpack.maps.layerPanel.joinEditor.spatialJoin.disabled.geoJsonOnly": "Les liaisons spatiales ne sont pas compatibles avec les tuiles vectorielles.", + "xpack.maps.layerPanel.joinEditor.spatialJoin.disabled.pointsOnly": "Les liaisons spatiales ne sont pas compatibles avec la géométrie geo_shape.", + "xpack.maps.layerPanel.joinEditor.termJoin.addButtonLabel": "Ajouter une liaison de termes", + "xpack.maps.layerPanel.joinEditor.termJoin.mvtSingleJoinMsg": "Les tuiles vectorielles ne peuvent accepter qu’une seule liaison.", + "xpack.maps.layerPanel.joinEditor.title": "Liaisons", "xpack.maps.layerPanel.layerSettingsTitle": "Paramètres du calque", - "xpack.maps.layerPanel.metricsExpression.helpText": "Configurez les indicateurs pour la source droite. Ces valeurs sont ajoutées aux fonctionnalités du calque.", + "xpack.maps.layerPanel.metricsExpression.helpText": "Les indicateurs sont ajoutés aux fonctionnalités de calque et utilisés pour des styles basés sur les données et du contenu d’infobulles.", "xpack.maps.layerPanel.metricsExpression.joinMustBeSetErrorMessage": "La LIAISON doit être configurée", - "xpack.maps.layerPanel.metricsExpression.metricsPopoverTitle": "Indicateurs", + "xpack.maps.layerPanel.metricsExpression.metricsPopoverTitle": "Configurer des indicateurs de liaisons", "xpack.maps.layerPanel.settingsPanel.DisableTooltips": "Afficher les infobulles", "xpack.maps.layerPanel.settingsPanel.fittableFlagLabel": "Inclure le calque dans le calcul Ajuster aux limites de données", "xpack.maps.layerPanel.settingsPanel.fittableFlagTooltip": "Ajuster aux limites de données permet d'ajuster l'étendue de votre carte pour afficher toutes vos données. Les calques peuvent fournir des données de référence et ils ne doivent pas être inclus dans le calcul Ajuster aux limites de données. Utilisez cette option pour exclure un calque du calcul Ajuster aux limites de données.", @@ -21714,13 +22450,16 @@ "xpack.maps.sampleData.flightsSpec.mapsTitle": "[Vols] Retard heure d'origine", "xpack.maps.sampleDataLinkLabel": "Carte", "xpack.maps.saveDuplicateRejectedDescription": "La confirmation d'enregistrement avec un doublon de titre a été rejetée.", - "xpack.maps.scalingDocs.clustersUseCase": "Utilisez cette option pour afficher de grands ensembles de données. Ne prend pas en charge les liaisons de termes.", + "xpack.maps.scalingDocs.clustersUseCase": "Utilisez cette option pour afficher de grands ensembles de données. ", + "xpack.maps.scalingDocs.doesNotSupportJoins": "N’est pas compatible avec les liaisons.", "xpack.maps.scalingDocs.limitUseCase.formatLabels": "Étiquettes mises en forme", - "xpack.maps.scalingDocs.limitUseCase.joinFieldsWithLayoutStyles": "Styles basés sur les données issus des indicateurs de liaisons de terme avec les propriétés de style \"Étiquette\", \"Taille de l'étiquette\", \"Taille du symbole\" des icônes et \"Orientation du symbole\"", - "xpack.maps.scalingDocs.limitUseCase.multipleJoins": "Plusieurs liaisons de terme", + "xpack.maps.scalingDocs.limitUseCase.joinFieldsWithLayoutStyles": "Styles basés sur les données issues des indicateurs de liaisons avec les propriétés de style \"Étiquette\", \"Taille de l'étiquette\", \"Taille du symbole\" des icônes et \"Orientation du symbole\"", + "xpack.maps.scalingDocs.limitUseCase.multipleJoins": "Liaisons spatiales", "xpack.maps.scalingDocs.limitUseCase.scriptedFields": "Styles basés sur les données issus des champs scriptés", + "xpack.maps.scalingDocs.limitUseCase.spatialJoins": "Plusieurs liaisons de terme", "xpack.maps.scalingDocs.limitUseCases": "Utilisez cette option lorsque vous ne pouvez pas utiliser les tuiles vectorielles pour les raisons suivantes :", "xpack.maps.scalingDocs.mvtUseCase": "Utilisez cette option pour afficher de grands ensembles de données avec les temps de chargement les plus courts.", + "xpack.maps.scalingDocs.title": "Montée en charge", "xpack.maps.security.desc": "Calques de sécurité", "xpack.maps.security.disabledDesc": "Vue de données Security introuvable. Pour commencer à utiliser Security, accédez à Security > Overview (Aperçu).", "xpack.maps.security.title": "Sécurité", @@ -21792,12 +22531,12 @@ "xpack.maps.source.esGrid.vectorTileModal.confirmBtnLabel": "Accepter", "xpack.maps.source.esGrid.vectorTileModal.message": "La haute résolution utilise des tuiles vectorielles de l’API de tuiles vectorielles d’Elasticsearch. L’API de tuiles vectorielles d’Elasticsearch ne prend pas en charge l’indicateur \"Premiers termes\". Le passage à une résolution en grille très fine entraîne la suppression de tous les indicateurs \"Premiers termes\" de la configuration de calque.", "xpack.maps.source.esGrid.vectorTileModal.title": "Indicateur \"Premiers termes\" non pris en charge", - "xpack.maps.source.esGridClustersDescription": "Regrouper les documents Elasticsearch en grilles et en hexagones, et afficher les indicateurs pour chaque groupe", + "xpack.maps.source.esGridClustersDescription": "Regrouper des documents dans des grilles et des hexagones", "xpack.maps.source.esGridClustersTitle": "Clusters", - "xpack.maps.source.esGridHeatmapDescription": "Données géospatiales regroupées dans des grilles pour afficher la densité", + "xpack.maps.source.esGridHeatmapDescription": "Regrouper des documents dans des grilles pour montrer la densité", "xpack.maps.source.esGridHeatmapTitle": "Carte thermique", "xpack.maps.source.esSearch.ascendingLabel": "croissant", - "xpack.maps.source.esSearch.clusterScalingJoinMsg": "La montée en charge avec les clusters ne prend pas en charge les liaisons de terme. Le passage aux clusters entraînera la suppression de toutes les liaisons de terme de la configuration de calque.", + "xpack.maps.source.esSearch.clusterScalingJoinMsg": "La montée en charge avec les clusters ne prend pas en charge les liaisons. Le passage aux clusters entraînera la suppression de toutes les liaisons de la configuration de calque.", "xpack.maps.source.esSearch.descendingLabel": "décroissant", "xpack.maps.source.esSearch.extentFilterLabel": "Filtre dynamique pour les données de la zone de carte visible", "xpack.maps.source.esSearch.fieldNotFoundMsg": "Impossible de trouver \"{fieldName}\" dans le modèle d'indexation \"{indexPatternName}\".", @@ -21806,6 +22545,7 @@ "xpack.maps.source.esSearch.geoFieldTypeLabel": "Type de champ géospatial", "xpack.maps.source.esSearch.indexOverOneLengthEditError": "Votre vue de données pointe vers plusieurs index. Un seul index est autorisé par vue de données.", "xpack.maps.source.esSearch.indexZeroLengthEditError": "Votre vue de données ne pointe vers aucun index.", + "xpack.maps.source.esSearch.mvtNoSpatialJoinMsg": "Les tuiles vectorielles ne sont pas compatibles avec les liaisons spatiales. Passer à des tuiles vectorielles supprimera toutes les liaisons spatiales de votre configuration de calque.", "xpack.maps.source.esSearch.scalingModal.cancelBtnLabel": "Annuler", "xpack.maps.source.esSearch.scalingModal.confirmBtnLabel": "Accepter", "xpack.maps.source.esSearch.scalingModal.title": "Retirer les configurations non prises en charge ?", @@ -21863,6 +22603,18 @@ "xpack.maps.source.wms.urlLabel": "Url", "xpack.maps.source.wmsDescription": "Cartes du WMS de norme OGC", "xpack.maps.source.wmsTitle": "Service de cartes Web", + "xpack.maps.spatialJoin.wizard.leftSourceTitle": "Source des fonctionnalités de calque", + "xpack.maps.spatialJoin.wizardForm.distanceInputAriaLabel": "entrée de distance", + "xpack.maps.spatialJoin.wizardForm.distanceLabel": "Distance", + "xpack.maps.spatialJoin.wizardForm.invalidDistanceMessage": "La valeur doit être un nombre supérieur à 0", + "xpack.maps.spatialJoin.wizardForm.kilometersAbbreviation": "km", + "xpack.maps.spatialJoin.wizardForm.rightSourceTitle": "Joindre une source", + "xpack.maps.spatialJoin.wizardForm.withinExpressionDescription": "dans", + "xpack.maps.spatialJoinExpression.description": "Joindre avec", + "xpack.maps.spatialJoinExpression.emptyValue": "-- configurer la liaison spatiale --", + "xpack.maps.spatialJoinExpression.popoverTitle": "Configurer la liaison spatiale", + "xpack.maps.spatialJoinWizard.description": "Regrouper des documents par relations géospatiales", + "xpack.maps.spatialJoinWizard.title": "Liaison spatiale", "xpack.maps.style.customColorPaletteLabel": "Palette de couleurs personnalisée", "xpack.maps.style.customColorRampLabel": "Dégradé de couleurs personnalisé", "xpack.maps.style.field.unsupportedWithVectorTileMsg": "\"{styleLabel}\" ne prend pas en charge ce champ avec les tuiles vectorielles. Pour définir le style de \"{styleLabel}\" avec ce champ, sélectionnez \"Limiter les résultats\" dans \"Montée en charge\".", @@ -21940,6 +22692,18 @@ "xpack.maps.synchronizeMovementAction.title": "Synchroniser le déplacement des cartes", "xpack.maps.synchronizeMovementAction.tooltipContent": "Synchroniser les cartes, de sorte que si vous effectuez un zoom et un panoramique sur une carte, le mouvement se reflète sur les autres cartes.", "xpack.maps.synchronizeMovementModal.onlyOneMapSelectedError": "Sélectionnez une autre carte pour synchroniser le déplacement des cartes", + "xpack.maps.termJoinExpression.description": "Joindre avec", + "xpack.maps.termJoinExpression.helpText": "Configurez la clé partagée qui combine les fonctionnalités de calque (source de gauche) avec les résultats d'une agrégation Elasticsearch (source de droite).", + "xpack.maps.termJoinExpression.leftFieldLabel": "Champ gauche", + "xpack.maps.termJoinExpression.leftSourceLabel": "Source gauche", + "xpack.maps.termJoinExpression.leftSourceLabelHelpText": "Champ de source gauche contenant la clé partagée.", + "xpack.maps.termJoinExpression.placeholder": "-- configurer la liaison de termes --", + "xpack.maps.termJoinExpression.popoverTitle": "Configurer la liaison de termes", + "xpack.maps.termJoinExpression.rightFieldLabel": "Champ droit", + "xpack.maps.termJoinExpression.rightSizeHelpText": "Limite de terme du champ droit.", + "xpack.maps.termJoinExpression.rightSizeLabel": "Taille correcte", + "xpack.maps.termJoinExpression.rightSourceLabel": "Source droite", + "xpack.maps.termJoinExpression.rightSourceLabelHelpText": "Champ de source droite contenant la clé partagée.", "xpack.maps.tileMap.function.help": "Visualisation de la carte de tuiles", "xpack.maps.tileMap.vis.description": "Tracer les coordonnées de latitude et de longitude sur une carte", "xpack.maps.tileMap.vis.title": "Carte de coordonnées", @@ -22036,13 +22800,13 @@ "xpack.ml.actions.influencerFilterAliasLabel": "{labelValue}", "xpack.ml.alertConditionValidation.alertIntervalTooHighMessage": "L'intervalle de vérification est supérieur à l'intervalle d'historique. Réduisez-le à {lookbackInterval} pour éviter des notifications potentiellement manquantes.", "xpack.ml.alertConditionValidation.notifyWhenWarning": "Attendez-vous à recevoir des notifications en double au sujet d'une même anomalie pendant une durée pouvant aller jusqu'à {notificationDuration, plural, one {# minute} many {# minutes} other {# minutes}}. Augmentez l'intervalle de vérification ou passez aux notifications Seulement lors d'un changement de statut pour éviter de recevoir des notifications en double.", - "xpack.ml.alertConditionValidation.stoppedDatafeedJobsMessage": "Le flux de données n'est pas démarré pour {count, plural, one {tâche} many {les tâches suivantes} other {les tâches suivantes}} : {jobIds}.", + "xpack.ml.alertConditionValidation.stoppedDatafeedJobsMessage": "Le flux de données n'est pas démarré pour {count, plural, one {tâche} many {tâches} other {les tâches suivantes}} : {jobIds}.", "xpack.ml.alertTypes.anomalyDetectionAlertingRule.recoveredMessage": "Aucune anomalie dépassant le seuil de sévérité {severity} n'a été trouvée dans le dernier {lookbackInterval}.", "xpack.ml.alertTypes.jobsHealthAlertingRule.datafeedRecoveryMessage": "Le flux de données a démarré pour {count, plural, one {tâche} many {tâches} other {tâches}} {jobsString}", "xpack.ml.alertTypes.jobsHealthAlertingRule.datafeedStateMessage": "Le flux de données n'est pas démarré pour {count, plural, one {tâche} many {tâches} other {tâches}} {jobsString}", - "xpack.ml.alertTypes.jobsHealthAlertingRule.delayedDataMessage": "{count, plural, one {Tâche} many {Tâches} other {Tâches}} {jobsString} {count, plural, one {est} many {sont affectées} other {sont affectées}} par des données retardées.", + "xpack.ml.alertTypes.jobsHealthAlertingRule.delayedDataMessage": "{count, plural, one {Tâche} many {Tâches} other {Tâches}} {jobsString} {count, plural, one {est} many {sont} other {sont affectées}} par des données retardées.", "xpack.ml.alertTypes.jobsHealthAlertingRule.errorMessagesMessage": "{count, plural, one {Tâche} many {Tâches} other {Tâches}} {jobsString} {count, plural, one {contient} many {contiennent} other {contiennent}} des erreurs dans les messages.", - "xpack.ml.alertTypes.jobsHealthAlertingRule.errorMessagesRecoveredMessage": "Aucune erreur dans les messages {count, plural, one {tâche} many {liés aux tâches} other {liés aux tâches}}.", + "xpack.ml.alertTypes.jobsHealthAlertingRule.errorMessagesRecoveredMessage": "Aucune erreur dans les messages {count, plural, one {tâche} many {tâches} other {liés aux tâches}}.", "xpack.ml.alertTypes.jobsHealthAlertingRule.mmlMessage": "{count, plural, one {Tâche} many {Tâches} other {Tâches}} {jobsString} atteint la limite stricte de mémoire du modèle. Affectez davantage de mémoire à la tâche et restaurez-la à partir d'un snapshot effectué avant l'atteinte de la limite stricte.", "xpack.ml.alertTypes.jobsHealthAlertingRule.mmlSoftLimitMessage": "{count, plural, one {Tâche} many {Tâches} other {Tâches}} {jobsString} atteint la limite non stricte de mémoire du modèle. Affectez davantage de mémoire à la tâche ou modifiez le filtre du flux de données pour limiter la portée de l'analyse.", "xpack.ml.annotationsTable.howToCreateAnnotationDescription": "Pour créer une annotation, ouvrir le {linkToSingleMetricView}", @@ -22067,7 +22831,7 @@ "xpack.ml.anomaliesTable.linksMenu.unableToViewExamplesErrorMessage": "Impossible de voir les exemples, car aucun détail n'a été trouvé pour l'ID de tâche {jobId}", "xpack.ml.anomalyChartsEmbeddable.title": "Graphiques d'anomalies de ML pour {jobIds}", "xpack.ml.anomalyDetection.functions.learnMoreText": "En savoir plus sur {link}", - "xpack.ml.anomalyResultsViewSelector.singleMetricViewerDisabledLabel": "{jobsCount, plural, one {La tâche sélectionnée n'est pas visible} many {Les tâches sélectionnées ne sont pas visibles} other {Les tâches sélectionnées ne sont pas visibles}} dans Single Metric Viewer (Visionneuse d'indicateur unique)", + "xpack.ml.anomalyResultsViewSelector.singleMetricViewerDisabledLabel": "{jobsCount, plural, one {La tâche sélectionnée n'est pas visible} many {tâches sont actuellement non disponibles} other {Les tâches sélectionnées ne sont pas visibles}} dans Single Metric Viewer (Visionneuse d'indicateur unique)", "xpack.ml.calendarsEdit.calendarForm.calendarTitle": "Calendrier {calendarId}", "xpack.ml.calendarsEdit.canNotCreateCalendarWithExistingIdErrorMessag": "Impossible de créer un calendrier avec l'ID [{formCalendarId}], car il existe déjà.", "xpack.ml.calendarsEdit.errorWithCreatingCalendarErrorMessage": "Une erreur est survenue lors de la création du calendrier {calendarId}", @@ -22165,7 +22929,7 @@ "xpack.ml.datavisualizer.startTrial.fullMLFeaturesDescription": "Pour profiter des fonctionnalités complètes de Machine Learning offertes par {subscriptionsLink}, démarrez un essai de 30 jours.", "xpack.ml.datePicker.pageRefreshResetButton": "Définir sur {defaultInterval}", "xpack.ml.deleteSpaceAwareItemCheckModal.buttonTextCanDelete.job": "Continuer pour supprimer {length, plural, one {# tâche} many {# tâches} other {# tâches}}", - "xpack.ml.deleteSpaceAwareItemCheckModal.buttonTextCanDelete.model": "Continuer pour supprimer {length, plural, one {# modèle} many {# modèles} other {# modèles}}", + "xpack.ml.deleteSpaceAwareItemCheckModal.buttonTextCanDelete.model": "Continuer pour supprimer {length, plural, one {# modèle} many {# modèles ont été sélectionnés} other {# modèles}}", "xpack.ml.deleteSpaceAwareItemCheckModal.modalTextCanDelete": "{ids} peuvent être supprimés.", "xpack.ml.deleteSpaceAwareItemCheckModal.modalTextCanUnTag": "{ids} ne peuvent pas être supprimés, mais ils peuvent être retirés de l'espace actuel.", "xpack.ml.deleteSpaceAwareItemCheckModal.modalTextClose": "{ids} ne peuvent être ni supprimés ni retirés de l'espace actuel. ", @@ -22193,10 +22957,10 @@ "xpack.ml.explorer.mapTitle": "Nombre d'anomalies par emplacement {infoTooltip}", "xpack.ml.explorer.noInfluencersFoundTitle": "Aucun influenceur {viewBySwimlaneFieldName} n'a été trouvé", "xpack.ml.explorer.noInfluencersFoundTitleFilterMessage": "Aucun influenceur {viewBySwimlaneFieldName} n'a été trouvé pour le filtre spécifié", - "xpack.ml.explorer.noResultForSelectedJobsMessage": "Aucun résultat trouvé pour {jobsCount, plural, one {tâche} many {les tâches sélectionnées} other {les tâches sélectionnées}}", + "xpack.ml.explorer.noResultForSelectedJobsMessage": "Aucun résultat trouvé pour {jobsCount, plural, one {tâche} many {tâches} other {les tâches sélectionnées}}", "xpack.ml.explorer.overallSwimlaneUnfilteredLabel": "{label} (non filtré)", "xpack.ml.explorer.sortedByMaxAnomalyScoreForTimeFormattedLabel": "(Trié par score maximal d'anomalie pour {viewByLoadedForTimeFormatted})", - "xpack.ml.explorer.stoppedPartitionsExistCallout": "Les résultats peuvent être moins nombreux que prévus, car stop_on_warn est activé. La catégorisation et la détection des anomalies suivante se sont arrêtées pour certaines partitions dans {jobsWithStoppedPartitions, plural, one {tâche} many {les tâches} other {les tâches}} [{stoppedPartitions}] où le statut de catégorisation est passé à Avertissement.", + "xpack.ml.explorer.stoppedPartitionsExistCallout": "Les résultats peuvent être moins nombreux que prévus, car stop_on_warn est activé. La catégorisation et la détection des anomalies suivante se sont arrêtées pour certaines partitions dans {jobsWithStoppedPartitions, plural, one {tâche} many {tâches} other {les tâches}} [{stoppedPartitions}] où le statut de catégorisation est passé à Avertissement.", "xpack.ml.explorer.swimLaneRowsPerPage": "Lignes par page : {rowsCount}", "xpack.ml.explorer.swimLaneSelectRowsPerPage": "{rowsCount} lignes", "xpack.ml.explorer.viewByFieldLabel": "Afficher par {viewByField}", @@ -22209,24 +22973,24 @@ "xpack.ml.importExport.exportFlyout.exportJobDependenciesWarningCallout.calendarList": "{num, plural, one {calendrier} many {calendriers} other {calendriers}} : {calendars}", "xpack.ml.importExport.exportFlyout.exportJobDependenciesWarningCallout.calendarOnlyTitle": "{jobCount, plural, one {# tâche utilise} many {# tâches utilisent} other {# tâches utilisent}} {calendarCount, plural, one {un calendrier} many {calendriers} other {calendriers}}", "xpack.ml.importExport.exportFlyout.exportJobDependenciesWarningCallout.filterAndCalendarTitle": "{jobCount, plural, one {# tâche utilise} many {# tâches utilisent} other {# tâches utilisent}} des calendriers et des listes de filtre", - "xpack.ml.importExport.exportFlyout.exportJobDependenciesWarningCallout.filterList": "Filtrer {num, plural, one {la liste} many {les listes} other {les listes}} : {filters}", + "xpack.ml.importExport.exportFlyout.exportJobDependenciesWarningCallout.filterList": "Filtrer {num, plural, one {la liste} many {listes d'exception} other {les listes}} : {filters}", "xpack.ml.importExport.exportFlyout.exportJobDependenciesWarningCallout.filterOnlyTitle": "{jobCount, plural, one {# tâche utilise} many {# tâches utilisent} other {# tâches utilisent}} {filterCount, plural, one {une liste de filtres} many {des listes de filtres} other {des listes de filtres}}", - "xpack.ml.importExport.importFlyout.cannotImportJobCallout.missingFilters": "{num, plural, one {Liste} many {Listes} other {Listes}} de filtres manquante : {filters}", + "xpack.ml.importExport.importFlyout.cannotImportJobCallout.missingFilters": "{num, plural, one {Liste} many {listes d'exception} other {Listes}} de filtres manquante : {filters}", "xpack.ml.importExport.importFlyout.cannotImportJobCallout.missingIndex": "{num, plural, one {Modèle d'indexation manquant} many {Modèles d'indexation manquants} other {Modèles d'indexation manquants}} : {indices}", "xpack.ml.importExport.importFlyout.cannotImportJobCallout.title": "Impossible d'importer {num, plural, one {# tâche} many {# tâches} other {# tâches}}", "xpack.ml.importExport.importFlyout.importableFiles": "Importer {num, plural, one {# tâche} many {# tâches} other {# tâches}}", "xpack.ml.importExport.importFlyout.importJobErrorToast": "Impossible d'importer correctement {count, plural, one {# tâche} many {# tâches} other {# tâches}}", "xpack.ml.importExport.importFlyout.importJobSuccessToast": "Importation réussie de {count, plural, one {# tâche} many {# tâches} other {# tâches}}", - "xpack.ml.importExport.importFlyout.selectedFiles.ad": "{num} {num, plural, one {tâche} many {tâches de détection d'anomalies lues} other {tâches de détection d'anomalies lues}} depuis le fichier", - "xpack.ml.importExport.importFlyout.selectedFiles.dfa": "{num} {num, plural, one {tâche} many {tâches d'analyse du cadre de données lues} other {tâches d'analyse du cadre de données lues}} depuis le fichier", + "xpack.ml.importExport.importFlyout.selectedFiles.ad": "{num} {num, plural, one {tâche} many {tâches} other {tâches de détection d'anomalies lues}} depuis le fichier", + "xpack.ml.importExport.importFlyout.selectedFiles.dfa": "{num} {num, plural, one {tâche} many {tâches} other {tâches d'analyse du cadre de données lues}} depuis le fichier", "xpack.ml.importExport.importFlyout.validateJobId.jobIdInvalidMaxLengthErrorMessage": "L'ID de tâche ne doit pas avoir plus de {maxLength, plural, one {# caractère} many {# caractères} other {# caractères}}.", "xpack.ml.influencersList.maxAnomalyScoreTooltipDescription": "Score maximal d'anomalie : {maxScoreLabel}", "xpack.ml.influencersList.totalAnomalyScoreTooltipDescription": "Score maximal d'anomalie : {totalScoreLabel}", "xpack.ml.itemsGrid.itemsCountLabel": "Éléments {pageSize}", "xpack.ml.itemsGrid.itemsPerPageButtonLabel": "Éléments par page : {itemsPerPage}", - "xpack.ml.jobsAwaitingNodeWarning.noMLNodesAvailableDescription": "Il y {jobCount, plural, one {est} many {a} other {a}} {jobCount, plural, one {# tâche} many {# tâches} other {# tâches}} en attente du démarrage des nœuds de Machine Learning.", + "xpack.ml.jobsAwaitingNodeWarning.noMLNodesAvailableDescription": "Il y {jobCount, plural, one {est} many {sont} other {a}} {jobCount, plural, one {# tâche} many {# tâches} other {# tâches}} en attente du démarrage des nœuds de Machine Learning.", "xpack.ml.jobsAwaitingNodeWarningShared.isCloud.link": "Vous pouvez suivre la progression via {link}.", - "xpack.ml.jobsAwaitingNodeWarningShared.noMLNodesAvailableDescription": "Il y {jobCount, plural, one {est} many {a} other {a}} {jobCount, plural, one {# tâche} many {# tâches} other {# tâches}} en attente du démarrage des nœuds de Machine Learning.", + "xpack.ml.jobsAwaitingNodeWarningShared.noMLNodesAvailableDescription": "Il y {jobCount, plural, one {est} many {sont} other {a}} {jobCount, plural, one {# tâche} many {# tâches} other {# tâches}} en attente du démarrage des nœuds de Machine Learning.", "xpack.ml.jobsAwaitingNodeWarningShared.notCloud": "Les déploiements Elastic Cloud sont les seuls à proposer la mise à l'échelle automatique. Vous devez ajouter des nœuds de Machine Learning. {link}", "xpack.ml.jobSelect.requestedJobsDoesNotExistWarningMessage": "Demandé\n{invalidIdsLength, plural, one {La tâche {invalidIds} n'existe pas} many {Les tâches {invalidIds} n'existent pas} other {Les tâches {invalidIds} n'existent pas}}", "xpack.ml.jobSelectList.groupTimeRangeLabel": "{fromString} à {toString}", @@ -22248,7 +23012,7 @@ "xpack.ml.jobsList.datafeedChart.queryDelayLinkLabel": "Retard de requête : {queryDelay}", "xpack.ml.jobsList.datafeedChart.xAxisTitle": "Étendue du compartiment ({bucketSpan})", "xpack.ml.jobsList.deleteJobModal.deleteJobsTitle": "Supprimer {jobsCount, plural, one {{jobId}} many {# tâches} other {# tâches}} ?", - "xpack.ml.jobsList.deleteJobModal.deleteMultipleJobsDescription": "La suppression {jobsCount, plural, one {d'une tâche} many {de plusieurs tâches} other {de plusieurs tâches}} peut être fastidieuse. {jobsCount, plural, one {Elle sera supprimée} many {Elles seront supprimées} other {Elles seront supprimées}} en arrière-plan et il se peut que la liste des tâches ne soit pas mise à jour instantanément.", + "xpack.ml.jobsList.deleteJobModal.deleteMultipleJobsDescription": "La suppression {jobsCount, plural, one {d'une tâche} many {de plusieurs tâches} other {de plusieurs tâches}} peut être fastidieuse. {jobsCount, plural, one {Elles sera réinitialisée} many {Elles ne peuvent pas être récupérées et doivent être supprimées} other {Elles seront supprimées}} en arrière-plan et il se peut que la liste des tâches ne soit pas mise à jour instantanément.", "xpack.ml.jobsList.editJobFlyout.changesNotSavedNotificationMessage": "Impossible d'enregistrer les modifications apportées à {jobId}", "xpack.ml.jobsList.editJobFlyout.changesSavedNotificationMessage": "Modifications apportées à {jobId} enregistrées", "xpack.ml.jobsList.editJobFlyout.pageTitle": "Modifier {jobId}", @@ -22260,19 +23024,19 @@ "xpack.ml.jobsList.jobFilterBar.jobGroupTitle": "({jobsCount, plural, one {# tâche} many {# tâches} other {# tâches}})", "xpack.ml.jobsList.managementActions.noSourceDataViewForClone": "Impossible de cloner la tâche de détection des anomalies {jobId}. Il n'existe aucune vue de données pour l'index {dataViewTitle}.", "xpack.ml.jobsList.missingSavedObjectWarning.link": " {link}", - "xpack.ml.jobsList.multiJobActions.groupSelector.applyGroupsToJobTitle": "Appliquer des groupes {jobsCount, plural, one {tâche} many {aux tâches} other {aux tâches}}", - "xpack.ml.jobsList.multiJobsActions.closeJobsLabel": "Fermer {jobsCount, plural, one {tâche} many {les tâches} other {les tâches}}", - "xpack.ml.jobsList.multiJobsActions.deleteJobsLabel": "Supprimer {jobsCount, plural, one {tâche} many {les tâches} other {les tâches}}", + "xpack.ml.jobsList.multiJobActions.groupSelector.applyGroupsToJobTitle": "Appliquer des groupes {jobsCount, plural, one {tâche} many {tâches} other {aux tâches}}", + "xpack.ml.jobsList.multiJobsActions.closeJobsLabel": "Fermer {jobsCount, plural, one {tâche} many {tâches} other {les tâches}}", + "xpack.ml.jobsList.multiJobsActions.deleteJobsLabel": "Supprimer {jobsCount, plural, one {tâche} many {tâches} other {les tâches}}", "xpack.ml.jobsList.multiJobsActions.jobsSelectedLabel": "Sélection effectuée de {selectedJobsCount, plural, one {# tâche} many {# tâches} other {# tâches}}", - "xpack.ml.jobsList.multiJobsActions.resetJobsLabel": "Réinitialiser {jobsCount, plural, one {tâche} many {tâches} other {tâches}}", + "xpack.ml.jobsList.multiJobsActions.resetJobsLabel": "Réinitialiser {jobsCount, plural, one {tâche} many {tâches} other {les tâches}}", "xpack.ml.jobsList.multiJobsActions.startDatafeedsLabel": "Démarrer {jobsCount, plural, one {flux de données} many {flux de données} other {flux de données}}", "xpack.ml.jobsList.multiJobsActions.stopDatafeedsLabel": "Arrêter {jobsCount, plural, one {flux de données} many {flux de données} other {flux de données}}", "xpack.ml.jobsList.nodeAvailableWarning.linkToCloudDescription": "Veuillez modifier votre {link}. Vous pouvez activer un nœud de Machine Learning gratuit de {maxRamForMLNodes} ou développer votre configuration de ML existante.", - "xpack.ml.jobsList.resetJobModal.openJobsWarningCallout.description1": "{openJobsCount, plural, one {Cette tâche doit être fermée} many {Ces tâches doivent être fermées} other {Ces tâches doivent être fermées}} avant {openJobsCount, plural, one {qu'elle puisse être réinitialisée} many {qu'elles puisse être réinitialisées} other {qu'elles puisse être réinitialisées}}. ", + "xpack.ml.jobsList.resetJobModal.openJobsWarningCallout.description1": "{openJobsCount, plural, one {Cette tâche doit être fermée} many {Ces tâches ne seront pas réinitialisées} other {Ces tâches doivent être fermées}} avant {openJobsCount, plural, one {qu'elle puisse être réinitialisée} many {qu'elles puisse être réinitialisées} other {qu'elles puisse être réinitialisées}}. ", "xpack.ml.jobsList.resetJobModal.openJobsWarningCallout.description2": "{openJobsCount, plural, one {Cette tâche ne sera pas réinitialisée} many {Ces tâches ne seront pas réinitialisées} other {Ces tâches ne seront pas réinitialisées}} en cliquant sur le bouton Réinitialiser ci-dessous.", "xpack.ml.jobsList.resetJobModal.openJobsWarningCallout.title": "{openJobsCount, plural, one {# tâche n'est pas fermée} many {# tâches ne sont pas fermées} other {# tâches ne sont pas fermées}}", "xpack.ml.jobsList.resetJobModal.resetJobsTitle": "Réinitialiser {jobsCount, plural, one {{jobId}} many {# tâches} other {# tâches}} ?", - "xpack.ml.jobsList.resetJobModal.resetMultipleJobsDescription": "La réinitialisation {jobsCount, plural, one {d'une tâche} many {de plusieurs tâches} other {de plusieurs tâches}} peut être fastidieuse. {jobsCount, plural, one {Elles sera réinitialisée} many {Elles seront réinitialisées} other {Elles seront réinitialisées}} en arrière-plan et il se peut que la liste des tâches ne soit pas mise à jour instantanément.", + "xpack.ml.jobsList.resetJobModal.resetMultipleJobsDescription": "La réinitialisation {jobsCount, plural, one {d'une tâche} many {de plusieurs tâches} other {de plusieurs tâches}} peut être fastidieuse. {jobsCount, plural, one {Elles sera réinitialisée} many {Elles ne peuvent pas être récupérées et doivent être supprimées} other {Elles seront réinitialisées}} en arrière-plan et il se peut que la liste des tâches ne soit pas mise à jour instantanément.", "xpack.ml.jobsList.resultActions.openJobsInAnomalyExplorerText": "Ouvrir {jobsCount, plural, one {{jobId}} many {# tâches} other {# tâches}} dans Anomaly Explorer", "xpack.ml.jobsList.resultActions.openJobsInSingleMetricViewerText": "Ouvrir {jobsCount, plural, one {{jobId}} many {# tâches} other {# tâches}} dans Single Metric Viewer (Visionneuse d'indicateur unique)", "xpack.ml.jobsList.resultActions.singleMetricDisabledMessageText": "Désactivé en raison de {reason}.", @@ -22290,7 +23054,7 @@ "xpack.ml.management.syncSavedObjectsFlyout.datafeedsRemoved.title": "Objets enregistrés avec des ID de flux de données sans correspondance ({count})", "xpack.ml.management.syncSavedObjectsFlyout.savedObjectsCreated.title": "Objets enregistrés manquants ({count})", "xpack.ml.management.syncSavedObjectsFlyout.savedObjectsDeleted.title": "Objets enregistrés sans correspondance ({count})", - "xpack.ml.management.syncSavedObjectsFlyout.sync.success": "{successCount} {successCount, plural, one {élément a été synchronisé} many {éléments ont été synchronisés} other {éléments ont été synchronisés}}", + "xpack.ml.management.syncSavedObjectsFlyout.sync.success": "{successCount} {successCount, plural, one {élément a été synchronisé} many {éléments} other {éléments ont été synchronisés}}", "xpack.ml.maps.anomalySource.displayLabel": "{typicalActual} pour {jobId}", "xpack.ml.maps.resultsTrimmedMsg": "Résultats limités aux {count} premiers documents.", "xpack.ml.models.dfaValidation.messages.analysisFieldsEmptyWarningText": "Certains champs inclus pour l'analyse ont au moins {percentEmpty} % de valeurs vides et peuvent ne pas être adaptés à l'analyse.", @@ -22305,7 +23069,7 @@ "xpack.ml.models.jobService.categorization.messages.failureToGetTokens": "Impossible de générer des tokens pour un échantillon d'exemples de valeurs de champ. {message}", "xpack.ml.models.jobService.categorization.messages.medianLineLength": "La longueur médiane des valeurs de champ analysées dépasse les {medianLimit} caractères.", "xpack.ml.models.jobService.categorization.messages.nullValues": "Plus de {percent} % des valeurs de champ sont nulles.", - "xpack.ml.models.jobService.categorization.messages.tokenLengthValidation": "{number} {number, plural, one {valeur} many {valeurs de champ ont été analysées} other {valeurs de champ ont été analysées}}, {percentage} % contiennent {validTokenCount} ou plusieurs tokens.", + "xpack.ml.models.jobService.categorization.messages.tokenLengthValidation": "{number} {number, plural, one {valeur} many {valeurs} other {valeurs de champ ont été analysées}}, {percentage} % contiennent {validTokenCount} ou plusieurs tokens.", "xpack.ml.models.jobService.categorization.messages.tooManyTokens": "La génération de tokens pour les exemples de valeurs de champ a échoué, car plus de {tokenLimit} tokens ont été trouvés dans un échantillon de valeurs {sampleSize}.", "xpack.ml.models.jobService.categorization.messages.validMedianLineLength": "La longueur de ligne médiane des exemples chargés était inférieure à {medianCharCount} caractères.", "xpack.ml.models.jobService.categorization.messages.validNullValues": "Moins de {percentage} % des exemples chargés étaient nuls.", @@ -22349,7 +23113,7 @@ "xpack.ml.newJob.recognize.dataViewPageTitle": "Vue de données {dataViewName}", "xpack.ml.newJob.recognize.jobPrefixInvalidMaxLengthErrorMessage": "Le préfixe d'ID de tâche ne doit pas avoir plus de {maxLength, plural, one {# caractère} many {# caractères} other {# caractères}}.", "xpack.ml.newJob.recognize.moduleCheckJobsExistWarningTitle": "Erreur lors de la vérification du module {moduleId}", - "xpack.ml.newJob.recognize.moduleSetupFailedWarningDescription": "Une erreur s'est produite lors de la création {count, plural, one {tâche} many {des tâches} other {Tâches}} dans le module.", + "xpack.ml.newJob.recognize.moduleSetupFailedWarningDescription": "Une erreur s'est produite lors de la création {count, plural, one {tâche} many {tâches} other {Tâches}} dans le module.", "xpack.ml.newJob.recognize.moduleSetupFailedWarningTitle": "Erreur lors de la configuration du module {moduleId}", "xpack.ml.newJob.recognize.newJobFromTitle": "Nouvelle tâche de {pageTitle}", "xpack.ml.newJob.recognize.overrideConfigurationHeader": "Remplacer la configuration pour {jobID}", @@ -22437,8 +23201,8 @@ "xpack.ml.stepDefineForm.queryPlaceholderKql": "Rechercher par exemple {example}", "xpack.ml.stepDefineForm.queryPlaceholderLucene": "Rechercher par exemple {example}", "xpack.ml.swimlaneEmbeddable.title": "Couloir d'anomalies de ML pour {jobIds}", - "xpack.ml.timeSeriesExplorer.annotationFlyout.approachingMaxLengthWarning": "{charsRemaining, number} {charsRemaining, plural, one {caractère restant} many {caractères restants} other {caractères restants}}", - "xpack.ml.timeSeriesExplorer.annotationFlyout.maxLengthError": "{charsOver, number} {charsOver, plural, one {caractère} many {caractères} other {caractères}} au-dessus de la longueur maximale de {maxChars}", + "xpack.ml.timeSeriesExplorer.annotationFlyout.approachingMaxLengthWarning": "{charsRemaining, number} {charsRemaining, plural, one {caractère restant} many {les caractères} other {caractères restants}}", + "xpack.ml.timeSeriesExplorer.annotationFlyout.maxLengthError": "{charsOver, number} {charsOver, plural, one {caractère} many {les caractères} other {caractères}} au-dessus de la longueur maximale de {maxChars}", "xpack.ml.timeSeriesExplorer.annotationsTitle": "Annotations {badge}", "xpack.ml.timeSeriesExplorer.canNotViewRequestedJobsWarningMessage": "Vous ne pouvez pas visualiser {invalidIdsCount, plural, one {tâche} many {tâches} other {tâches}} de {invalidIds} dans ce tableau de bord", "xpack.ml.timeSeriesExplorer.canNotViewRequestedJobsWarningWithReasonMessage": "Vous ne pouvez pas visualiser {selectedJobId} dans ce tableau de bord, car {reason}.", @@ -22467,15 +23231,22 @@ "xpack.ml.timeSeriesExplorer.timeSeriesChart.scheduledEventsLabel": "événement programmé{counter}", "xpack.ml.timeSeriesExplorer.timeSeriesChart.updatedAnnotationNotificationMessage": "Annotation mise à jour pour la tâche ayant l'ID {jobId}.", "xpack.ml.timeSeriesExplorer.timeSeriesChart.zoomAggregationIntervalLabel": "(intervalle d'agrégation : {focusAggInt}, étendue du compartiment : {bucketSpan})", - "xpack.ml.trainedModels.modelsList.deleteModal.header": "Supprimer {modelsCount, plural, one {{modelId}} many {# modèles} other {# modèles}} ?", + "xpack.ml.trainedModels.modelsList.deleteModal.approvePipelinesDeletionLabel": "Supprimer {pipelinesCount, plural, one {le pipeline} many {pipelines} other {pipelines}}", + "xpack.ml.trainedModels.modelsList.deleteModal.header": "Supprimer {modelsCount, plural, one {{modelId}} many {# modèles} other {# modèles ont été sélectionnés}} ?", + "xpack.ml.trainedModels.modelsList.deleteModal.pipelinesWarningHeader": "{modelsCount, plural, one {{modelId} a} many {# modèles ont} other {# modèles ont}} pipelines associés.", + "xpack.ml.trainedModels.modelsList.deleteModal.warningMessage": "Supprimer le modèle entraîné et son {pipelinesCount, plural, one {pipeline} many {pipelines} other {pipelines}} associé retirera définitivement ces ressources. Tout processus configuré pour envoyer des données au {pipelinesCount, plural, one {pipeline} many {pipelines} other {pipelines}} n’est plus en mesure de le faire une fois que vous avez supprimé le {pipelinesCount, plural, one {pipeline} many {pipelines} other {pipelines}}. Supprimer uniquement le modèle entraîné provoquera des échecs dans le(s) {pipelinesCount, plural, one {pipeline} many {pipelines} other {pipelines}} qui {pipelinesCount, plural, one {dépend} many {dépendent} other {dépendent}} du modèle.", + "xpack.ml.trainedModels.modelsList.downloadFailed": "Échec du téléchargement de \"{modelId}\"", + "xpack.ml.trainedModels.modelsList.downloadSuccess": "Le téléchargement du modèle \"{modelId}\" été démarré avec succès.", "xpack.ml.trainedModels.modelsList.fetchDeletionErrorMessage": "Échec de la suppression {modelsCount, plural, one {Modèle} many {Modèles} other {Modèles}}", "xpack.ml.trainedModels.modelsList.forceStopDialog.title": "Arrêter {deploymentCount, plural, one {le déploiement} many {les déploiements} other {les déploiements}} du modèle {modelId} ?", "xpack.ml.trainedModels.modelsList.selectedModelsMessage": "{modelsCount, plural, one {# modèle a été sélectionné} many {# modèles ont été sélectionnés} other {# modèles ont été sélectionnés}}", "xpack.ml.trainedModels.modelsList.startDeployment.modalTitle": "Démarrer le déploiement de {modelId}", "xpack.ml.trainedModels.modelsList.startFailed": "Impossible de démarrer \"{modelId}\"", "xpack.ml.trainedModels.modelsList.startSuccess": "Le déploiement de \"{modelId}\" a bien été démarré.", + "xpack.ml.trainedModels.modelsList.stopDeploymentWarning": "Impossible d'arrêter \"{deploymentId}\"", "xpack.ml.trainedModels.modelsList.stopFailed": "Impossible d'arrêter \"{modelId}\"", - "xpack.ml.trainedModels.modelsList.successfullyDeletedMessage": "{modelsCount, plural, one {Le modèle {modelIds}} many {# modèles} other {# modèles}} {modelsCount, plural, one {a} many {ont été sélectionnés} other {ont été sélectionnés}}", + "xpack.ml.trainedModels.modelsList.stopSuccess": "{numberOfDeployments, plural, one {Déploiement} many {Déploiements} other {Déploiements}} pour \"{modelId}\" a bien été arrêté.", + "xpack.ml.trainedModels.modelsList.successfullyDeletedMessage": "{modelsCount, plural, one {Le modèle {modelIds}} many {# modèles} other {# modèles}} {modelsCount, plural, one {a} many {ont été mises à jour} other {ont été sélectionnés}}", "xpack.ml.trainedModels.modelsList.updateDeployment.modalTitle": "Mettre à jour le déploiement {modelId}", "xpack.ml.trainedModels.modelsList.updateFailed": "Impossible de mettre à jour \"{modelId}\"", "xpack.ml.trainedModels.modelsList.updateSuccess": "Le déploiement de \"{modelId}\" a bien été mis à jour.", @@ -22484,7 +23255,7 @@ "xpack.ml.trainedModels.testModelsFlyout.langIdent.output.titleUnknown": "Code de langue inconnu: {langCode}", "xpack.ml.validateJob.modal.linkToJobTipsText": "Pour en savoir plus, consultez {mlJobTipsLink}.", "xpack.ml.validateJob.modal.validateJobTitle": "Valider la tâche {title}", - "xpack.ml.accessDenied.description": "Vous ne disposez pas d'autorisation pour afficher le plug-in de Machine Learning. L'accès au plug-in requiert que la fonctionnalité de Machine Learning soit visible dans cet espace.", + "xpack.ml.accessDenied.description": "Vous ne disposez pas d’autorisation pour afficher cette page.", "xpack.ml.actions.applyEntityFieldsFiltersTitle": "Filtrer sur la valeur", "xpack.ml.actions.applyInfluencersFiltersTitle": "Filtre pour la valeur", "xpack.ml.actions.applyTimeRangeSelectionTitle": "Appliquer la sélection de la plage temporelle", @@ -22678,6 +23449,7 @@ "xpack.ml.anomaliesTable.timeColumnName": "Heure", "xpack.ml.anomaliesTable.typicalSortColumnName": "Typique", "xpack.ml.anomalyChartsEmbeddable.errorMessage": "Impossible de charger les données d'Anomaly Explorer de ML", + "xpack.ml.anomalyChartsEmbeddable.maxSeriesToPlotError": "Le nombre maximum de séries à tracer doit être compris entre 1 et 50.", "xpack.ml.anomalyChartsEmbeddable.maxSeriesToPlotLabel": "Nombre maximal de séries à tracer", "xpack.ml.anomalyChartsEmbeddable.panelTitleLabel": "Titre du panneau", "xpack.ml.anomalyChartsEmbeddable.setupModal.cancelButtonLabel": "Annuler", @@ -22809,7 +23581,8 @@ "xpack.ml.customUrlEditorList.testCustomUrlTooltip": "Tester l'URL personnalisée", "xpack.ml.customUrlEditorList.timeRangeLabel": "Plage temporelle", "xpack.ml.customUrlEditorList.urlLabel": "URL", - "xpack.ml.customUrlsEditor.addCustomTimeRangeSwitchLabel": "Ajouter un commutateur de plage temporelle personnalisée", + "xpack.ml.customUrlsEditor.addCustomTimeRangeSwitchLabel": "Ajouter une plage temporelle personnalisée", + "xpack.ml.customUrlsEditor.addIntervalTimeRangeSwitchLabel": "Ajouter une plage temporelle d’intervalle", "xpack.ml.customUrlsEditor.createNewCustomUrlTitle": "Créer une nouvelle URL personnalisée", "xpack.ml.customUrlsEditor.customTimeRangeEndDate": "Date de fin", "xpack.ml.customUrlsEditor.customTimeRangeLabel": "Plage temporelle personnalisée", @@ -22823,6 +23596,7 @@ "xpack.ml.customUrlsEditor.queryEntitiesLabel": "Rechercher des entités", "xpack.ml.customUrlsEditor.selectEntitiesPlaceholder": "Sélectionner des entités", "xpack.ml.customUrlsEditor.timeRangeLabel": "Plage temporelle", + "xpack.ml.customUrlsEditor.timeRangeTooltip": "Si cette option n'est pas définie, les paramètres globaux s'appliquent par défaut à la plage temporelle.", "xpack.ml.customUrlsEditor.urlLabel": "URL", "xpack.ml.customUrlsList.invalidIntervalFormatErrorMessage": "Format d'intervalle non valide", "xpack.ml.dataframe.analytics.classificationExploration.classificationDocsLink": "Documents d'évaluation de classification ", @@ -23185,8 +23959,8 @@ "xpack.ml.dataframe.analyticsList.editFlyoutUpdateButtonText": "Mettre à jour", "xpack.ml.dataframe.analyticsList.editJobFlyout.customUrlsTitle": "URL personnalisées", "xpack.ml.dataframe.analyticsList.editJobFlyout.jobDetailsTitle": "Détails de la tâche", - "xpack.ml.dataFrame.analyticsList.emptyPromptButtonText": "Créer une tâche", - "xpack.ml.dataFrame.analyticsList.emptyPromptTitle": "Créer votre première tâche d'analyse du cadre de données", + "xpack.ml.dataFrame.analyticsList.emptyPromptButtonText": "Créer une tâche d'analyse du cadre de données", + "xpack.ml.dataFrame.analyticsList.emptyPromptTitle": "Exploitez vos données avec une analyse du cadre de données", "xpack.ml.dataFrame.analyticsList.errorPromptTitle": "Une erreur s'est produite lors de l'obtention de la liste d'analyse du cadre de données.", "xpack.ml.dataframe.analyticsList.expandedRow.tabs.jobSettings.analysisStats": "Statistiques d'analyse", "xpack.ml.dataframe.analyticsList.expandedRow.tabs.jobSettings.dataCounts": "Comptes de données", @@ -23265,6 +24039,7 @@ "xpack.ml.dataGrid.invalidSortingColumnError": "La colonne \"{columnId}\" ne peut pas être utilisée pour le tri.", "xpack.ml.dataGridChart.histogramNotAvailable": "Graphique non pris en charge.", "xpack.ml.dataGridChart.notEnoughData": "0 document contient le champ.", + "xpack.ml.dataSourceContext.errorTitle": "Impossible de récupérer la vue de données ou la recherche enregistrée", "xpack.ml.dataViewNotBasedOnTimeSeriesNotificationDescription": "La détection des anomalies ne s'exécute que sur des index temporels", "xpack.ml.dataVisualizer.dataView.docTitle": "Index Data Visualizer (Visualiseur de données pour les index)", "xpack.ml.dataVisualizer.docTitle": "Data Visualizer (Visualiseur de données)", @@ -23294,7 +24069,9 @@ "xpack.ml.datePicker.shortRefreshIntervalTimeFilterWarningMessage": "L'intervalle d'actualisation défini dans les paramètres avancés est plus court que l'intervalle minimal pris en charge.", "xpack.ml.datePicker.shortRefreshIntervalURLWarningMessage": "L'intervalle d'actualisation défini dans l'URL est plus court que l'intervalle minimal pris en charge.", "xpack.ml.deepLink.aiOps": "AIOps", + "xpack.ml.deepLink.analyticsMap": "Mapping d'analyse", "xpack.ml.deepLink.anomalyDetection": "Détection des anomalies", + "xpack.ml.deepLink.anomalyExplorer": "Explorateur d'anomalies", "xpack.ml.deepLink.calendarSettings": "Calendriers", "xpack.ml.deepLink.changePointDetection": "Modifier la détection du point", "xpack.ml.deepLink.dataFrameAnalytics": "Analyse du cadre de données", @@ -23306,9 +24083,12 @@ "xpack.ml.deepLink.logPatternAnalysis": "Analyse du modèle de log", "xpack.ml.deepLink.memoryUsage": "Utilisation mémoire", "xpack.ml.deepLink.modelManagement": "Gestion des modèles", + "xpack.ml.deepLink.nodes": "Nœuds", "xpack.ml.deepLink.notifications": "Notifications", "xpack.ml.deepLink.overview": "Aperçu", + "xpack.ml.deepLink.resultExplorer": "Explorateur de résultats", "xpack.ml.deepLink.settings": "Paramètres", + "xpack.ml.deepLink.singleMetricViewer": "Visionneuse d’indicateur unique", "xpack.ml.deepLink.trainedModels": "Modèles entraînés", "xpack.ml.deleteSpaceAwareItemCheckModal.buttonTextCanUnTagConfirm": "Retirer de l'espace en cours", "xpack.ml.deleteSpaceAwareItemCheckModal.buttonTextClose": "Fermer", @@ -23500,6 +24280,7 @@ "xpack.ml.indexDatavisualizer.actionsPanel.dataframeDescription": "Créez des analyses de détection des aberrations, de régression ou de classification.", "xpack.ml.indexDatavisualizer.actionsPanel.dataframeTitle": "Analyse du cadre de données", "xpack.ml.inference.modelsList.analyticsMapActionLabel": "Mapping d'analyse", + "xpack.ml.inference.modelsList.downloadModelActionLabel": "Télécharger le modèle", "xpack.ml.inference.modelsList.startModelDeploymentActionLabel": "Démarrer le déploiement", "xpack.ml.inference.modelsList.stopModelDeploymentActionLabel": "Arrêter le déploiement", "xpack.ml.inference.modelsList.testModelActionLabel": "Modèle de test", @@ -23792,7 +24573,10 @@ "xpack.ml.management.jobsList.accessDeniedTitle": "Accès refusé", "xpack.ml.management.jobsList.analyticsDocsLabel": "Documents de tâches d'analyse", "xpack.ml.management.jobsList.anomalyDetectionDocsLabel": "Documents de tâches de détection des anomalies", - "xpack.ml.management.jobsList.insufficientLicenseLabel": "Mettre à niveau pour bénéficier des fonctionnalités d'abonnement", + "xpack.ml.management.jobsList.insufficientLicenseDescription": "Sélectionnez une option pour la déverrouiller.", + "xpack.ml.management.jobsList.insufficientLicenseDescription.startTrialLink": "Commencer l'essai", + "xpack.ml.management.jobsList.insufficientLicenseDescription.SubscriptionLink": "Mettre à niveau votre abonnement", + "xpack.ml.management.jobsList.insufficientLicenseLabel": "Le Machine Learning est une fonctionnalité soumise à abonnement", "xpack.ml.management.jobsList.jobsListTagline": "Visualisez, exportez et importez des éléments d'analyse de Machine Learning et de détection des anomalies.", "xpack.ml.management.jobsList.jobsListTitle": "Machine Learning", "xpack.ml.management.jobsList.noGrantedPrivilegesDescription": "Vous ne disposez pas d'autorisation pour gérer les tâches de Machine Learning. L'accès au plug-in requiert que la fonctionnalité de Machine Learning soit visible dans cet espace.", @@ -24126,7 +24910,7 @@ "xpack.ml.newJob.wizard.jobDetailsStep.jobGroupSelect.description": " Regroupement facultatif pour les tâches. De nouveaux groupes peuvent être créés ou choisis dans la liste de groupes existants.", "xpack.ml.newJob.wizard.jobDetailsStep.jobGroupSelect.placeholder": "Sélectionner ou créer des groupes", "xpack.ml.newJob.wizard.jobDetailsStep.jobGroupSelect.title": "Groupes", - "xpack.ml.newJob.wizard.jobDetailsStep.jobId.description": "Identificateur unique pour la tâche. Les espaces et les caractères / ? , \" < > | * ne sont pas autorisés", + "xpack.ml.newJob.wizard.jobDetailsStep.jobId.description": "Identificateur unique pour la tâche. Les espaces et les caractères / ? , \" < > | * ne sont pas autorisés", "xpack.ml.newJob.wizard.jobDetailsStep.jobId.title": "ID tâche", "xpack.ml.newJob.wizard.jobType.advancedAriaLabel": "Tâche avancée", "xpack.ml.newJob.wizard.jobType.advancedDescription": "Utilisez la gamme complète d'options pour créer une tâche pour les cas d'utilisation plus avancés.", @@ -24372,6 +25156,7 @@ "xpack.ml.notifications.typeLabel": "Type", "xpack.ml.notificationsIndicator.unreadErrors": "Indicateur d'erreurs ou d'avertissements non lus.", "xpack.ml.notificationsIndicator.unreadIcon": "Indicateur de notifications non lues.", + "xpack.ml.overview.adJobsPanel.header": "Tâches de détection des anomalies", "xpack.ml.overview.analytics.resultActions.openJobText": "Afficher les résultats de la tâche", "xpack.ml.overview.analytics.viewJobActionName": "Afficher la tâche", "xpack.ml.overview.analytics.viewResultsActionName": "Afficher les résultats", @@ -24379,13 +25164,13 @@ "xpack.ml.overview.analyticsList.errorPromptTitle": "Une erreur s'est produite lors de l'obtention de la liste d'analyse du cadre de données.", "xpack.ml.overview.analyticsList.id": "ID", "xpack.ml.overview.analyticsList.manageJobsButtonText": "Gérer les tâches", - "xpack.ml.overview.analyticsList.PanelTitle": "Analyse", + "xpack.ml.overview.analyticsList.PanelTitle": "Tâches d'analyse du cadre de données", "xpack.ml.overview.analyticsList.reatedTimeColumnName": "Heure de création", "xpack.ml.overview.analyticsList.status": "Statut", "xpack.ml.overview.analyticsList.tableActionLabel": "Actions", "xpack.ml.overview.analyticsList.type": "Type", - "xpack.ml.overview.anomalyDetection.createFirstJobMessage": "Créer votre première tâche de détection des anomalies", - "xpack.ml.overview.anomalyDetection.createJobButtonText": "Créer une tâche", + "xpack.ml.overview.anomalyDetection.createFirstJobMessage": "Commencer à détecter des anomalies", + "xpack.ml.overview.anomalyDetection.createJobButtonText": "Créer une tâche de détection des anomalies", "xpack.ml.overview.anomalyDetection.emptyPromptText": "La détection des anomalies vous permet de trouver un comportement inhabituel dans des données temporelles. Démarrez automatiquement la détection des anomalies qui se cachent dans vos données et résolvez les problèmes plus rapidement.", "xpack.ml.overview.anomalyDetection.errorPromptTitle": "Une erreur s'est produite lors de l'obtention de la liste des tâches de détection des anomalies.", "xpack.ml.overview.anomalyDetection.errorWithFetchingSwimLanesData": "Une erreur s'est produite lors de la récupération des résultats d'anomalie.", @@ -24406,17 +25191,20 @@ "xpack.ml.overview.anomalyDetection.tableTypicalTooltip": "Valeurs typiques dans les résultats d'enregistrement des anomalies.", "xpack.ml.overview.anomalyDetection.viewJobsActionName": "Afficher les tâches", "xpack.ml.overview.anomalyDetection.viewResultsActionName": "Afficher dans l’Explorateur d'anomalies", + "xpack.ml.overview.nodesPanel.header": "Nœuds", + "xpack.ml.overview.nodesPanel.totalNodesLabel": "Total", + "xpack.ml.overview.nodesPanel.viewNodeLink": "Afficher les nœuds", "xpack.ml.overview.notificationsLabel": "Notifications", "xpack.ml.overview.overviewLabel": "Aperçu", "xpack.ml.overview.statsBar.failedAnalyticsLabel": "Échoué", "xpack.ml.overview.statsBar.runningAnalyticsLabel": "En cours d'exécution", "xpack.ml.overview.statsBar.stoppedAnalyticsLabel": "Arrêté", - "xpack.ml.overview.statsBar.totalAnalyticsLabel": "Total de tâches d'analyse", + "xpack.ml.overview.statsBar.totalAnalyticsLabel": "Total", "xpack.ml.overviewJobsList.statsBar.activeMLNodesLabel": "Nœuds de ML actifs", - "xpack.ml.overviewJobsList.statsBar.closedJobsLabel": "Tâches fermées", - "xpack.ml.overviewJobsList.statsBar.failedJobsLabel": "Tâches échouées", - "xpack.ml.overviewJobsList.statsBar.openJobsLabel": "Ouvrir les tâches", - "xpack.ml.overviewJobsList.statsBar.totalJobsLabel": "Total de tâches", + "xpack.ml.overviewJobsList.statsBar.closedJobsLabel": "Fermé", + "xpack.ml.overviewJobsList.statsBar.failedJobsLabel": "Échoué", + "xpack.ml.overviewJobsList.statsBar.openJobsLabel": "Ouvrir", + "xpack.ml.overviewJobsList.statsBar.totalJobsLabel": "Total", "xpack.ml.plugin.title": "Machine Learning", "xpack.ml.previewAlert.actualLabel": "Réel :", "xpack.ml.previewAlert.hideResultsButtonLabel": "Masquer les résultats", @@ -24719,11 +25507,14 @@ "xpack.ml.trainedModels.modelsList.builtInModelMessage": "Modèle intégré", "xpack.ml.trainedModels.modelsList.collapseRow": "Réduire", "xpack.ml.trainedModels.modelsList.createdAtHeader": "Créé à", + "xpack.ml.trainedModels.modelsList.deleteDisabledWithDeploymentsTooltip": "Le modèle a commencé à être déployé", "xpack.ml.trainedModels.modelsList.deleteModal.cancelButtonLabel": "Annuler", "xpack.ml.trainedModels.modelsList.deleteModal.deleteButtonLabel": "Supprimer", "xpack.ml.trainedModels.modelsList.deleteModelActionLabel": "Supprimer le modèle", "xpack.ml.trainedModels.modelsList.deleteModelsButtonLabel": "Supprimer", "xpack.ml.trainedModels.modelsList.disableSelectableMessage": "Le modèle a des pipelines associés", + "xpack.ml.trainedModels.modelsList.downloadStatusCheckErrorMessage": "Échec de la vérification du statut du téléchargement", + "xpack.ml.trainedModels.modelsList.elserDescription": "Elastic Learned Sparse EncodeR v1 (Préversion technique)", "xpack.ml.trainedModels.modelsList.expandedRow.analyticsConfigTitle": "Configuration de l'analyse", "xpack.ml.trainedModels.modelsList.expandedRow.configTabLabel": "Config", "xpack.ml.trainedModels.modelsList.expandedRow.deploymentStatsTitle": "Statistiques de déploiement", @@ -26457,35 +27248,165 @@ "xpack.monitoring.updateLicenseButtonLabel": "Mettre à jour la licence", "xpack.monitoring.updateLicenseTitle": "Mettre à jour votre licence", "xpack.monitoring.useAvailableLicenseDescription": "Si vous avez déjà une nouvelle licence, chargez-la maintenant.", + "xpack.observability_onboarding.apiKeyBanner.failed.description": "Un problème est survenu : {message}", + "xpack.observability_onboarding.apiKeyBanner.noPermissions.description": "Les privilèges de cluster requis sont {requiredClusterPrivileges} et les privilèges d’index requis sont {requiredIndexPrivileges} pour les index {indices}. Veuillez ajouter tous les privilèges requis au rôle de l’utilisateur authentifié.", + "xpack.observability_onboarding.configureLogs.customConfig.helper": "Ici, les options de configuration YAML peuvent être utilisées pour être ajoutées à votre configuration. Soyez prudent, car leur utilisation peut endommager votre fichier de configuration. {learnMoreLink}", + "xpack.observability_onboarding.configureLogs.namespace.helper": "Ce paramètre modifie le nom du flux de données de l’intégration. {learnMoreLink}", + "xpack.observability_onboarding.installElasticAgent.configStep.auto.description": "La configuration agent ci-dessous sera écrite et téléchargée par le script d’installation ({configPath}). Ceci écrasera toute configuration agent existante.", + "xpack.observability_onboarding.installElasticAgent.configStep.manual.description": "Copiez la configuration ci-dessous sur l’agent.yml Elastic sur l’hôte où l’agent Elastic est installé ({configPath}).", + "xpack.observability_onboarding.installElasticAgent.progress.eaConfig.completedTitle": "La configuration Elastic Agent est écrite dans {configPath}", + "xpack.observability_onboarding.apiKeyBanner.created": "Clé d’API créée.", + "xpack.observability_onboarding.apiKeyBanner.created.description": "N’oubliez pas de stocker cette information en lieu sûr. Elle ne sera plus affichée lorsque vous continuerez.", + "xpack.observability_onboarding.apiKeyBanner.failed": "Échec de la création de clé d’API.", + "xpack.observability_onboarding.apiKeyBanner.field.copyButton": "Copier dans le presse-papiers", + "xpack.observability_onboarding.apiKeyBanner.field.label": "Clé d'API", + "xpack.observability_onboarding.apiKeyBanner.loading": "Création d’une clé d’API", + "xpack.observability_onboarding.apiKeyBanner.noPermissions": "L’utilisateur ne dispose pas d’autorisations pour créer une clé d’API.", + "xpack.observability_onboarding.breadcrumbs.onboarding": "Intégration", + "xpack.observability_onboarding.card.apm.title": "Surveiller les performances de mon application (APM / traçage)", + "xpack.observability_onboarding.card.customLogs.description.text": "Choisissez quels logs collecter, configurez un pipeline d’ingestion et explorez vos données.", + "xpack.observability_onboarding.card.customLogs.title": "Collectez des logs personnalisés", + "xpack.observability_onboarding.card.integrations.title": "Explorez plus de 300 façons d’ingérer des données avec nos Intégrations", + "xpack.observability_onboarding.card.k8s.title": "Monitorer mes clusters Kubernetes", + "xpack.observability_onboarding.card.systemLogs.description1": "Le chemin le plus rapide pour intégrer des données de log et commencer directement à les analyser.", + "xpack.observability_onboarding.card.systemLogs.quickstartBadge": "Démarrage rapide", + "xpack.observability_onboarding.card.systemLogs.title": "Collecter des logs système", + "xpack.observability_onboarding.configureLogs.advancedSettings": "Paramètres avancés", + "xpack.observability_onboarding.configureLogs.customConfig": "Configurations personnalisées", + "xpack.observability_onboarding.configureLogs.dataset.helper": "Choisissez un nom pour vos logs. Tout en minuscules, 100 caractères maximum, les caractères spéciaux seront remplacés par \"_\".", + "xpack.observability_onboarding.configureLogs.dataset.name": "Nom de l’ensemble de données", + "xpack.observability_onboarding.configureLogs.dataset.placeholder": "Nom de l’ensemble de données", + "xpack.observability_onboarding.configureLogs.description": "Remplissez les chemins d’accès aux fichiers log sur vos hôtes.", + "xpack.observability_onboarding.configureLogs.learnMore": "En savoir plus", + "xpack.observability_onboarding.configureLogs.logFile.addRow": "Ajouter une ligne", + "xpack.observability_onboarding.configureLogs.logFile.helper": "Vous pouvez utiliser un chemin de fichier log ou un modèle de log.", + "xpack.observability_onboarding.configureLogs.logFile.path": "Chemin de fichier log", + "xpack.observability_onboarding.configureLogs.logFile.placeholder": "Exemple : /var/log/application.*", + "xpack.observability_onboarding.configureLogs.namespace": "Espace de nom", + "xpack.observability_onboarding.configureLogs.namespace.placeholder": "Espace de nom", + "xpack.observability_onboarding.configureLogs.serviceName": "Nom de service", + "xpack.observability_onboarding.configureLogs.serviceName.helper": "Nom du service à partir duquel vos données sont collectées.", + "xpack.observability_onboarding.configureLogs.serviceName.placeholder": "Donner un nom à votre service", + "xpack.observability_onboarding.configureLogs.title": "Transmettre des fichiers log à Elastic", + "xpack.observability_onboarding.exploreOtherIntegrations": "Explorer d’autres intégrations", + "xpack.observability_onboarding.fetcher.error.status": "Erreur", + "xpack.observability_onboarding.fetcher.error.title": "Erreur lors de la récupération des ressources", + "xpack.observability_onboarding.fetcher.error.url": "URL", + "xpack.observability_onboarding.form.optional": "Facultatif", + "xpack.observability_onboarding.header.feedback": "Donner un retour", + "xpack.observability_onboarding.home.description": "Surveillez et obtenez des informations de tous vos systèmes cloud-native distribués sur une plateforme unique.", + "xpack.observability_onboarding.home.title": "Démarrez avec Observability", + "xpack.observability_onboarding.installElasticAgent.configStep.downloadConfigButton": "Téléchargez le fichier de configuration", + "xpack.observability_onboarding.installElasticAgent.configStep.yamlCodeBlockdescription": "Configuration YAML d’Elastic Agent", + "xpack.observability_onboarding.installElasticAgent.description": "Ajoutez Elastic Agent à vos hôtes pour commencer à envoyer des données vers votre Elastic Cloud. Exécutez-le de façon autonome si vous souhaitez télécharger et gérer chaque fichier de configuration d’agent par vous-même, ou enregistrez-le dans \"Fleet\" pour une gestion centralisée de tous vos agents par le biais de notre interface gérée par Fleet.", + "xpack.observability_onboarding.installElasticAgent.installStep.autoDownloadConfig": "Téléchargez automatiquement la configuration", + "xpack.observability_onboarding.installElasticAgent.installStep.choosePlatform": "Choisissez une plateforme", + "xpack.observability_onboarding.installElasticAgent.installStep.choosePlatform.linux": "Linux", + "xpack.observability_onboarding.installElasticAgent.installStep.choosePlatform.macOS": "MacOS", + "xpack.observability_onboarding.installElasticAgent.installStep.choosePlatform.windows": "Windows", + "xpack.observability_onboarding.installElasticAgent.installStep.description": "Sélectionnez une plateforme et exécutez la commande pour l’installer dans votre terminal, enregistrez puis démarrez Elastic Agent. Faites ceci pour chaque hôte. Pour d’autres plateformes, consultez notre page des téléchargements. Consulter les exigences d’hébergement et les autres options d’installation.", + "xpack.observability_onboarding.installElasticAgent.installStep.title": "Installation d'Elastic Agent", + "xpack.observability_onboarding.installElasticAgent.progress.eaConfig.incompleteTitle": "Configurer l'agent", + "xpack.observability_onboarding.installElasticAgent.progress.eaConfig.loadingTitle": "Téléchargement de la configuration Elastic Agent", + "xpack.observability_onboarding.installElasticAgent.progress.eaDownload.completedTitle": "Elastic Agent téléchargé", + "xpack.observability_onboarding.installElasticAgent.progress.eaDownload.incompleteTitle": "Télécharger Elastic Agent", + "xpack.observability_onboarding.installElasticAgent.progress.eaDownload.loadingTitle": "Téléchargement d’Elastic Agent", + "xpack.observability_onboarding.installElasticAgent.progress.eaExtract.completedTitle": "Elastic Agent extrait", + "xpack.observability_onboarding.installElasticAgent.progress.eaExtract.incompleteTitle": "Extraire Elastic Agent", + "xpack.observability_onboarding.installElasticAgent.progress.eaExtract.loadingTitle": "Extraction d’Elastic Agent", + "xpack.observability_onboarding.installElasticAgent.progress.eaInstall.completedTitle": "Elastic Agent installé", + "xpack.observability_onboarding.installElasticAgent.progress.eaInstall.incompleteTitle": "Installer Elastic Agent", + "xpack.observability_onboarding.installElasticAgent.progress.eaInstall.loadingTitle": "Installation d’Elastic Agent", + "xpack.observability_onboarding.installElasticAgent.progress.eaStatus.completedTitle": "Connecté à Elastic Agent", + "xpack.observability_onboarding.installElasticAgent.progress.eaStatus.incompleteTitle": "Se connecter à Elastic Agent", + "xpack.observability_onboarding.installElasticAgent.progress.eaStatus.loadingTitle": "Connexion à Elastic Agent", + "xpack.observability_onboarding.installElasticAgent.progress.logsIngest.completedTitle": "Les logs sont en cours de transfert.", + "xpack.observability_onboarding.installElasticAgent.progress.logsIngest.incompleteTitle": "Recherche de logs transférés", + "xpack.observability_onboarding.installElasticAgent.progress.logsIngest.loadingTitle": "En attente du transfert des logs", + "xpack.observability_onboarding.installElasticAgent.title": "Installer l’agent de transfert pour collecter des données", + "xpack.observability_onboarding.selectLogs.chooseType": "Quels logs voulez-vous collecter ?", + "xpack.observability_onboarding.selectLogs.httpEndpointLogs": "Point de terminaison HTTP", + "xpack.observability_onboarding.selectLogs.httpEndpointLogs.description": "Collecter des données JSON du port HTTP à l’écoute.", + "xpack.observability_onboarding.selectLogs.networkStreamingLogs": "Logs de diffusion du réseau", + "xpack.observability_onboarding.selectLogs.other": "Autre", + "xpack.observability_onboarding.selectLogs.streamLogFiles": "Diffuser des fichiers log", + "xpack.observability_onboarding.selectLogs.streamLogFiles.description": "Diffusez votre fichier log ou votre répertoire.", + "xpack.observability_onboarding.selectLogs.sysLog": "TCP/UDP/Syslog", + "xpack.observability_onboarding.selectLogs.sysLog.description": "Diffusez des logs sur des ports TCP, UDP, ou depuis votre serveur syslog.", + "xpack.observability_onboarding.selectLogs.uploadLogFiles": "Chargez des fichiers log", + "xpack.observability_onboarding.selectLogs.uploadLogFiles.description": "Téléchargez les données d'un fichier CSV, TSV, JSON ou d’un autre type de fichier log pour analyse.", + "xpack.observability_onboarding.selectLogs.useOwnShipper": "Obtenir une clé d’API", + "xpack.observability_onboarding.selectLogs.useOwnShipper.description": "Utilisez votre propre agent de transfert pour collecter des données de logs en générant une clé d’API.", + "xpack.observability_onboarding.steps.back": "Retour", + "xpack.observability_onboarding.steps.configureLogs": "Configurer les logs", + "xpack.observability_onboarding.steps.continue": "Continuer", + "xpack.observability_onboarding.steps.exploreLogs": "Explorer les logs", + "xpack.observability_onboarding.steps.inspect": "Inspecter", + "xpack.observability_onboarding.steps.installShipper": "Installer l’agent de transfert", + "xpack.observability_onboarding.steps.selectLogs": "Sélectionner les logs", + "xpack.observability_onboarding.title.collectCustomLogs": "Collectez des logs personnalisés", "xpack.observability.apmEnableContinuousRollupsDescription": "{betaLabel} Lorsque les cumuls continus sont activés, l'interface utilisateur sélectionne des indicateurs ayant la résolution appropriée. Sur des plages temporelles plus larges, des indicateurs de résolution inférieure sont utilisés, ce qui améliore les temps de chargement.", "xpack.observability.apmEnableServiceMetricsDescription": "{betaLabel} Permet l'utilisation d'indicateurs de transaction de service. Il s'agit d'indicateurs à faible cardinalité qui peuvent être utilisés par certaines vues, comme l'inventaire de service, pour accélérer le chargement.", "xpack.observability.apmProgressiveLoadingDescription": "{technicalPreviewLabel} S'il faut charger les données de façon progressive pour les vues APM. Les données peuvent être demandées d'abord avec un taux d'échantillonnage inférieur, avec une précision plus faible mais des temps de réponse plus rapides, pendant que les données non échantillonnées se chargent en arrière-plan", + "xpack.observability.apmServiceInventoryOptimizedSortingDescription": "{technicalPreviewLabel} Les pages par défaut de l'inventaire des services APM et de l'explorateur de stockage sont triées par nom de service (pour les services sans apprentissage automatique).", + "xpack.observability.apmTraceExplorerTabDescription": "{technicalPreviewLabel} Activer la fonctionnalité \"explorateur de traces APM\" qui vous permet de rechercher et d’inspecter les traces avec KQL ou EQL.", + "xpack.observability.enableAgentExplorerDescription": "{betaLabel} Active la vue d'explorateur d'agent.", + "xpack.observability.enableAwsLambdaMetricsDescription": "{technicalPreviewLabel} Affichez les indicateurs Amazon Lambda dans l’onglet d’indicateurs de service.", "xpack.observability.enableCriticalPathDescription": "{technicalPreviewLabel} Affichez de façon optionnelle le chemin critique d'une trace.", + "xpack.observability.enableInfrastructureHostsViewDescription": "{betaLabel} Activez la vue \"Hôtes\" dans l’application \"Infrastructure\".", "xpack.observability.inspector.stats.queryTimeValue": "{queryTime} ms", "xpack.observability.pages.alertDetails.pageTitle.title": "{ruleCategory} {ruleCategory, select, Anomaly {détecté} Inventory {seuil dépassé} other {dépassé}}", "xpack.observability.ruleDetails.ruleLoadError": "Impossible de charger la règle. Raison : {message}", - "xpack.observability.slo.alerting.burnRate.reason": "{actionGroupName}: Le taux d'avancement pour le (les) dernier(s) {longWindowDuration} est de {longWindowBurnRate} et pour le (les) dernier(s) {shortWindowDuration} est de {shortWindowBurnRate}. Alerter si supérieur à {burnRateThreshold} pour les deux fenêtres", + "xpack.observability.slo.alerting.burnRate.reason": "{actionGroupName} : Le taux d'avancement pour le (les) dernier(s) {longWindowDuration} est de {longWindowBurnRate} et pour le (les) dernier(s) {shortWindowDuration} est de {shortWindowBurnRate}. Alerter si supérieur à {burnRateThreshold} pour les deux fenêtres", + "xpack.observability.slo.burnRateWindow.thresholdTip": "Le seuil est {target}x", + "xpack.observability.slo.clone.errorNotification": "Échec du clonage de {name}", + "xpack.observability.slo.clone.successNotification": "{name} créé avec succès", + "xpack.observability.slo.create.errorNotification": "Un problème est survenu lors de la création de {name}", + "xpack.observability.slo.create.successNotification": "{name} créé avec succès", "xpack.observability.slo.duration.day": "{duration, plural, one {1 jour} many {# jours} other {# jours}}", "xpack.observability.slo.duration.hour": "{duration, plural, one {1 heure} many {# heures} other {# heures}}", "xpack.observability.slo.duration.minute": "{duration, plural, one {1 minute} many {# minutes} other {# minutes}}", "xpack.observability.slo.duration.month": "{duration, plural, one {1 mois} many {# mois} other {# mois}}", "xpack.observability.slo.duration.week": "{duration, plural, one {1 semaine} many {# semaines} other {# semaines}}", - "xpack.observability.slo.duration.year": "{duration, plural, one {1 an} many {# ans} other {# ans}}", - "xpack.observability.slo.indicatorTypeBadge.exploreInApm": "Explorer {service} dans APM", + "xpack.observability.slo.duration.year": "{duration, plural, one {1 an} many {# ans} other {# prochaines années}}", + "xpack.observability.slo.indicatorTypeBadge.exploreInApm": "Afficher les détails de {service}", "xpack.observability.slo.list.sortByType": "Trier par {type}", "xpack.observability.slo.rules.burnRate.errors.invalidThresholdValue": "Le seuil du taux d'avancement doit être compris entre 1 et {maxBurnRate}.", "xpack.observability.slo.rules.errorBudgetExhaustion.text": "{formatedHours} heures restantes avant l'épuisement du budget d'erreurs.", "xpack.observability.slo.rules.longWindowDuration.tooltip": "Période historique sur laquelle le taux d'avancement est calculé. Une période historique plus courte de {shortWindowDuration} minutes (1/12 de la période historique) sera utilisée pour une récupération plus rapide", - "xpack.observability.slo.slo.activeAlertsBadge.label": "{count, plural, one {# alerte} many {# alertes} other {# alertes}}", + "xpack.observability.slo.slo.activeAlertsBadge.label": "{count, plural, one {# alerte} many {# alertes} other {Alertes #}}", + "xpack.observability.slo.slo.delete.errorNotification": "Impossible de supprimer {name}", + "xpack.observability.slo.slo.delete.successNotification": "{name} supprimé", "xpack.observability.slo.slo.deleteConfirmationModal.deleteButtonLabel": "Supprimer {name}", "xpack.observability.slo.slo.deleteConfirmationModal.descriptionText": "Vous ne pouvez pas récupérer {name} après l'avoir supprimé.", "xpack.observability.slo.slo.stats.objective": "Objectif {objective}", "xpack.observability.slo.slo.timeWindow.calendar": "{elapsed}/{total} jours", - "xpack.observability.slo.sloDetails.errorBudgetChartPanel.duration": "Dernière(s) {duration}", - "xpack.observability.slo.sloDetails.overview.calendarAlignedTimeWindow": "{duration}", + "xpack.observability.slo.sloDetails.errorBudgetChartPanel.duration": "{duration}", + "xpack.observability.slo.sloDetails.overview.calendarAlignedTimeWindow": "calendrier {duration} aligné", "xpack.observability.slo.sloDetails.overview.observedValueSubtitle": "{value} (l'objectif est {objective})", "xpack.observability.slo.sloDetails.overview.rollingTimeWindow": "{duration} en cours", - "xpack.observability.slo.sloDetails.sliHistoryChartPanel.duration": "Dernière(s) {duration}", + "xpack.observability.slo.sloDetails.overview.timeslicesBudgetingMethodDetails": "{duration} sections, {target} cible", + "xpack.observability.slo.sloDetails.sliHistoryChartPanel.duration": "{duration}", + "xpack.observability.slo.sloEdit.customKql.indexSelection.indexPatternFoundLabel": "{searchPattern} (correspond à {num, plural, one {# index} many {# index} other {# index}})", + "xpack.observability.slo.sloEdit.rollingTimeWindow.days": "{number} jours", + "xpack.observability.slo.update.errorNotification": "Un problème est survenu lors de la mise à jour de {name}", + "xpack.observability.slo.update.successNotification": "Mise à jour réussie de {name}", + "xpack.observability.syntheticsThrottlingEnabledExperimentDescription": "Activez les paramètres de régulation dans les configurations du moniteur Synthetics. Notez qu’il est possible que la régulation ne soit pas toujours disponible pour vos moniteurs, même si le paramètre est actif. Destiné à un usage interne uniquement. {link}", + "xpack.observability.threshold.rule.alertDetailsAppSection.criterion.subtitle": "Dernière {lookback} {timeLabel}", + "xpack.observability.threshold.rule.alertFlyout.alertPerRedundantFilterError": "Il est possible que cette règle signale {matchedGroups} moins que prévu, car la requête de filtre comporte une correspondance pour {groupCount, plural, one {ce champ} many {ces champs} other {ces champs}}. Pour en savoir plus, consultez notre {filteringAndGroupingLink}.", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.aggregationLabel": "Agrégation {name}", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.fieldLabel": "Champ {name}", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.filterLabel": "Filtre KQL {name}", + "xpack.observability.threshold.rule.alertFlyout.ofExpression.helpTextDetail": "Vous ne trouvez pas un indicateur ? {documentationLink}.", + "xpack.observability.threshold.rule.alerts.dataTimeRangeLabel": "Dernière {lookback} {timeLabel}", + "xpack.observability.threshold.rule.alerts.dataTimeRangeLabelWithGrouping": "Dernières {lookback} {timeLabel} de données pour {id}", + "xpack.observability.threshold.rule.threshold.errorAlertReason": "Elasticsearch a échoué lors de l'interrogation des données pour {metric}", + "xpack.observability.threshold.rule.threshold.firedAlertReason": "{metric} est {currentValue} dans les dernières {duration}{group}. Alerte lorsque {comparator} {threshold}.", + "xpack.observability.threshold.rule.threshold.noDataAlertReason": "{metric} n'a signalé aucune donnée dans les dernières {interval} {group}", + "xpack.observability.threshold.rule.threshold.queryErrorAlertReason": "L'alerte utilise une requête KQL incorrectement formée : {filterQueryText}", + "xpack.observability.threshold.rule.threshold.recoveredAlertReason": "{metric} est maintenant {comparator} un seuil de {threshold} (la valeur actuelle est {currentValue}) pour {group}", + "xpack.observability.threshold.rule.threshold.thresholdRange": "{a} et {b}", + "xpack.observability.threshold.rule.thresholdExtraTitle": "Alerte lorsque {comparator} {threshold}.", "xpack.observability.transactionRateLabel": "{value} tpm", "xpack.observability.ux.coreVitals.averageMessage": " et inférieur à {bad}", "xpack.observability.ux.coreVitals.paletteLegend.rankPercentage": "{labelsInd} ({ranksInd} %)", @@ -26559,6 +27480,7 @@ "xpack.observability.cases.caseFeatureNoPermissionsMessage": "Pour afficher les cas, vous devez disposer de privilèges pour la fonctionnalité Cas dans l'espace Kibana. Pour en savoir plus, contactez votre administrateur Kibana.", "xpack.observability.cases.caseFeatureNoPermissionsTitle": "Privilèges de fonctionnalité Kibana requis", "xpack.observability.cases.caseView.goToDocumentationButton": "Afficher la documentation", + "xpack.observability.coPilotPrompt.chatLoading": "En attente d’une réponse...", "xpack.observability.defaultApmServiceEnvironment": "Environnement de service par défaut", "xpack.observability.defaultApmServiceEnvironmentDescription": "Définissez l’environnement par défaut pour l’application APM. Sinon, les données de tous les environnements sont affichées par défaut.", "xpack.observability.emptySection.apps.alert.description": "Détectez des conditions complexes dans Observability et déclenchez des actions lorsque ces conditions sont satisfaites.", @@ -26587,6 +27509,8 @@ "xpack.observability.enableInfrastructureHostsView": "Vue des hôtes de l'infrastructure", "xpack.observability.enableInspectEsQueriesExperimentDescription": "Inspectez les recherches Elasticsearch dans les réponses API.", "xpack.observability.enableInspectEsQueriesExperimentName": "Inspecter les recherches ES", + "xpack.observability.enableLegacyUptimeApp": "Toujours afficher l’application Uptime héritée", + "xpack.observability.enableLegacyUptimeAppDescription": "Par défaut, l’application Uptime héritée est masquée de l’interface quand elle n’obtient pas de données pendant plus d’une semaine. Activez cette option pour qu’elle soit toujours affichée.", "xpack.observability.experimentalBadgeDescription": "Cette fonctionnalité est en version d'évaluation technique et pourra être modifiée ou retirée complètement dans une future version. Elastic s'efforcera au maximum de corriger tout problème, mais les fonctionnalités en version d'évaluation technique ne sont pas soumises aux accords de niveau de service d'assistance des fonctionnalités officielles en disponibilité générale.", "xpack.observability.experimentalBadgeLabel": "Version d'évaluation technique", "xpack.observability.featureCatalogueDescription": "Consolidez vos logs, indicateurs, traces d'application et disponibilités système avec les interfaces utilisateur spécialement conçues.", @@ -26631,6 +27555,7 @@ "xpack.observability.inspector.stats.kibanaApiRouteLabel": "Chemin de l’API Kibana", "xpack.observability.inspector.stats.queryTimeDescription": "Le temps qu'il a fallu pour traiter la requête. Ne comprend pas le temps nécessaire pour envoyer la requête ni l'analyser dans le navigateur.", "xpack.observability.inspector.stats.queryTimeLabel": "Durée de la requête", + "xpack.observability.logs.alertDetails.feedbackButtonLabel": "Dites-nous ce que vous pensez !", "xpack.observability.maxSuggestionsUiSettingDescription": "Nombre maximal de suggestions récupérées pour les zones de saisie semi-automatique.", "xpack.observability.maxSuggestionsUiSettingName": "Nombre maximal de suggestions", "xpack.observability.news.readFullStory": "Lire toute l'histoire", @@ -26709,7 +27634,11 @@ "xpack.observability.section.errorPanel": "Une erreur est survenue lors de la tentative de récupération des données. Réessayez plus tard", "xpack.observability.serviceGroupMaxServicesUiSettingDescription": "Limiter le nombre de services dans un groupe de services donné", "xpack.observability.serviceGroupMaxServicesUiSettingName": "Nombre maximum de services dans un groupe de services", - "xpack.observability.slo.alerting.burnRate.alertAction": "Alerte", + "xpack.observability.slo.alerting.alertDetailsUrlDescription": "Lien vers l’affichage de résolution des problèmes d’alerte pour voir plus de contextes et de détails. La chaîne sera vide si server.publicBaseUrl n'est pas configuré.", + "xpack.observability.slo.alerting.burnRate.alertAction": "Critique", + "xpack.observability.slo.alerting.burnRate.highPriorityAction": "Élevé", + "xpack.observability.slo.alerting.burnRate.lowPriorityAction": "Bas", + "xpack.observability.slo.alerting.burnRate.mediumPriorityAction": "Moyenne", "xpack.observability.slo.alerting.reasonDescription": "Une description concise de la raison du signalement", "xpack.observability.slo.alerting.sloIdDescription": "Identificateur unique du SLO.", "xpack.observability.slo.alerting.sloNameDescription": "Nom SLO.", @@ -26719,20 +27648,48 @@ "xpack.observability.slo.alerting.windowDescription": "Durée de fenêtre avec la valeur du taux d'avancement associée.", "xpack.observability.slo.budgetingMethod.occurrences": "Occurrences", "xpack.observability.slo.budgetingMethod.timeslices": "Intervalles de temps", + "xpack.observability.slo.burnRate.criticalLongLabel": "1 heure", + "xpack.observability.slo.burnRate.criticalShortLabel": "5 minutes", + "xpack.observability.slo.burnRate.criticalTitle": "Taux d’avancement critique", + "xpack.observability.slo.burnRate.highLongLabel": "6 heures", + "xpack.observability.slo.burnRate.highShortLabel": "30 minutes", + "xpack.observability.slo.burnRate.highTitle": "Taux d’avancement élevé", + "xpack.observability.slo.burnRate.lowLongLabel": "3 jours", + "xpack.observability.slo.burnRate.lowShortLabel": "6 heures", + "xpack.observability.slo.burnRate.lowTitle": "Taux d'avancement bas", + "xpack.observability.slo.burnRate.mediumLongLabel": "24 heures", + "xpack.observability.slo.burnRate.mediumShortLabel": "2 heures", + "xpack.observability.slo.burnRate.mediumTitle": "Taux d’avancement moyen", + "xpack.observability.slo.burnRate.technicalPreviewBadgeDescription": "Cette fonctionnalité est en préversion technique et est susceptible d’être changée, ou elle peut-être supprimée dans les versions futures. La conception et le code sont moins matures que les fonctionnalités officielles en disponibilité générale et sont fournis tels quels sans aucune garantie. Les fonctionnalités de la version d’évaluation technique ne sont pas soumises à l'accord de niveau de service des fonctionnalités officielles en disponibilité générale.", + "xpack.observability.slo.burnRate.technicalPreviewBadgeTitle": "Version d'évaluation technique", + "xpack.observability.slo.burnRate.title": "Fenêtres du taux d’avancement", + "xpack.observability.slo.duration.daily": "Quotidien", + "xpack.observability.slo.duration.hourly": "Par heure", + "xpack.observability.slo.duration.minutely": "Par minute", + "xpack.observability.slo.duration.monthly": "Mensuel", + "xpack.observability.slo.duration.weekly": "Hebdomadaire", + "xpack.observability.slo.duration.yearly": "Annuel", "xpack.observability.slo.feedbackButtonLabel": "Dites-nous ce que vous pensez !", + "xpack.observability.slo.globalDiagnosis.errorNotification": "Vous ne disposez pas des autorisations nécessaires pour utiliser cette fonctionnalité.", "xpack.observability.slo.indicators.apmAvailability": "Disponibilité APM", "xpack.observability.slo.indicators.apmLatency": "Latence APM", "xpack.observability.slo.indicators.customKql": "KQL personnalisé", + "xpack.observability.slo.indicators.customMetric": "Indicateur personnalisé", "xpack.observability.slo.list.emptyMessage": "Il n'existe aucun résultat pour vos critères.", "xpack.observability.slo.list.emptyTitle": "Aucun résultat", "xpack.observability.slo.list.errorMessage": "Une erreur s'est produite lors du chargement des SLO. Contactez votre administrateur pour obtenir de l'aide.", + "xpack.observability.slo.list.errorNotification": "Un problème est survenu lors de la récupération des SLO", "xpack.observability.slo.list.errorTitle": "Impossible de charger les SLO", "xpack.observability.slo.list.indicatorTypeFilter": "Type d’indicateur", "xpack.observability.slo.list.search": "Recherche", "xpack.observability.slo.list.sortBy": "Trier par", "xpack.observability.slo.list.sortBy.creationTime": "Heure de création", "xpack.observability.slo.list.sortBy.indicatorType": "Type d’indicateur", - "xpack.observability.slo.rules.burnRate.defaultActionMessage": "La règle \\{\\{rule.name\\}\\} pour le SLO '\\{\\{context.sloName\\}\\}' se déclenche :\n- Raison : \\{\\{context.reason\\}\\}\n- Le taux d'avancement lors des derniers/dernières \\{\\{context.longWindow.duration\\}\\} est de \\{\\{context.longWindow.burnRate\\}\\}\n- Le taux d'avancement lors des derniers/dernières \\{\\{context.shortWindow.duration\\}\\} est de \\{\\{context.shortWindow.burnRate\\}\\}\n- Le seuil de taux d'avancement est défini sur \\{\\{context.burnRateThreshold\\}\\}\n- Affichez la page de détails du SLO : \\{\\{context.viewInAppUrl\\}\\}", + "xpack.observability.slo.rules.actionGroupSelectorLabel": "Groupe d’action", + "xpack.observability.slo.rules.addWindowAriaLabel": "Ajouter une fenêtre", + "xpack.observability.slo.rules.addWIndowLabel": "Ajouter une fenêtre", + "xpack.observability.slo.rules.burnRate.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} est actif selon les conditions suivantes :\n\n- SLO : \\{\\{context.sloName\\}\\}'\n- Le taux d'avancement lors des derniers/dernières \\{\\{context.longWindow.duration\\}\\} est de \\{\\{context.longWindow.burnRate\\}\\}\n- Le taux d'avancement lors des derniers/dernières \\{\\{context.shortWindow.duration\\}\\} est de \\{\\{context.shortWindow.burnRate\\}\\}\n- Seuil : \\{\\{context.burnRateThreshold\\}\\}\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.observability.slo.rules.burnRate.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} a récupéré.\n\n- SLO : \\{\\{context.sloName\\}\\}'\n- Le taux d'avancement lors des derniers/dernières \\{\\{context.longWindow.duration\\}\\} est de \\{\\{context.longWindow.burnRate\\}\\}\n- Le taux d'avancement lors des derniers/dernières \\{\\{context.shortWindow.duration\\}\\} est de \\{\\{context.shortWindow.burnRate\\}\\}\n- Seuil : \\{\\{context.burnRateThreshold\\}\\}\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.observability.slo.rules.burnRate.description": "Alerte lorsque votre taux d'avancement SLO est trop élevé sur une période définie.", "xpack.observability.slo.rules.burnRate.errors.burnRateThresholdRequired": "Le seuil de taux d'avancement est requis.", "xpack.observability.slo.rules.burnRate.errors.sloRequired": "Le SLO est requis.", @@ -26740,8 +27697,9 @@ "xpack.observability.slo.rules.burnRate.name": "Taux d'avancement SLO", "xpack.observability.slo.rules.burnRate.rowLabel": "Seuil du taux d'avancement", "xpack.observability.slo.rules.burnRate.tooltip": "Le taux d'avancement correspond à la vitesse à laquelle le service consomme le budget d'erreur au cours de la période historique.", - "xpack.observability.slo.rules.longWindow.errorText": "La période historique doit être comprise entre 1 et 24 heures.", - "xpack.observability.slo.rules.longWindow.rowLabel": "Période historique (heures)", + "xpack.observability.slo.rules.deleteWindowLabel": "Effacer la fenêtre", + "xpack.observability.slo.rules.longWindow.errorText": "La période historique doit être comprise entre 1 et 72 heures.", + "xpack.observability.slo.rules.longWindow.rowLabel": "Historique (heures)", "xpack.observability.slo.rules.longWindow.valueLabel": "Période historique en heures", "xpack.observability.slo.rules.sloSelector.ariaLabel": "SLO", "xpack.observability.slo.rules.sloSelector.placeholder": "Sélectionner un SLO", @@ -26750,11 +27708,7 @@ "xpack.observability.slo.slo.deleteConfirmationModal.cancelButtonLabel": "Annuler", "xpack.observability.slo.slo.deleteConfirmationModal.title": "Voulez-vous vraiment continuer ?", "xpack.observability.slo.slo.item.actions.clone": "Cloner", - "xpack.observability.slo.item.actions.createRule": "Créer une règle d'alerte", "xpack.observability.slo.slo.item.actions.delete": "Supprimer", - "xpack.observability.slo.item.actions.details": "Détails", - "xpack.observability.slo.item.actions.edit": "Modifier", - "xpack.observability.slo.item.actions.manageRules": "Gérer les règles", "xpack.observability.slo.slo.rulesBadge.popover": "Il n'y a pas encore de règles configurées pour ce SLO. Vous ne recevrez pas d'alertes lorsque le SLO est dépassé.", "xpack.observability.slo.slo.stats.budgetRemaining": "Budget restant", "xpack.observability.slo.sloDetails.errorBudgetChartPanel.chartTitle": "Budget d'erreur restant", @@ -26800,14 +27754,22 @@ "xpack.observability.slo.sloEdit.apmLatency.transactionType.placeholder": "Sélectionner le type de la transaction", "xpack.observability.slo.sloEdit.budgetingMethod.label": "Méthode de budgétisation", "xpack.observability.slo.sloEdit.budgetingMethod.tooltip": "Le SLO basé sur les occurrences utilise le rapport entre les bons événements et le nombre total d'événements au cours de la fenêtre temporelle. Le SLO basé sur les intervalles de temps utilise le rapport entre les bons intervalles de temps et le nombre total d'intervalles de temps au cours de la fenêtre temporelle.", + "xpack.observability.slo.sloEdit.calendarTimeWindow.monthly": "Mensuel", + "xpack.observability.slo.sloEdit.calendarTimeWindow.weekly": "Hebdomadaire", "xpack.observability.slo.sloEdit.cancelButton": "Annuler", + "xpack.observability.slo.sloEdit.copyJsonButton": "Copier le JSON", + "xpack.observability.slo.sloEdit.copyJsonFailedNotification": "Échec de la copie du JSON dans le presse-papiers", + "xpack.observability.slo.sloEdit.copyJsonNotification": "JSON copié dans le presse-papiers", "xpack.observability.slo.sloEdit.createAlert.ruleName": "Règle d'alerte de taux d'avancement du SLO", "xpack.observability.slo.sloEdit.createAlert.title": "Créer", "xpack.observability.slo.sloEdit.createSloButton": "Créer un SLO", + "xpack.observability.slo.sloEdit.customKql.indexSelection.dataViewOptionsLabel": "Sélectionner une vue de données existante", "xpack.observability.slo.sloEdit.customKql.indexSelection.helpText": "Utilisez le caractère * pour élargir votre recherche.", - "xpack.observability.slo.sloEdit.customKql.indexSelection.indexPatternLabel": "Utiliser un modèle d'indexation", + "xpack.observability.slo.sloEdit.customKql.indexSelection.indexPatternLabel": "Utiliser le modèle d'indexation", "xpack.observability.slo.sloEdit.customKql.indexSelection.label": "Index", - "xpack.observability.slo.sloEdit.customKql.indexSelection.placeholder": "Sélectionner un index ou un modèle d'indexation", + "xpack.observability.slo.sloEdit.customKql.indexSelection.placeholder": "Sélectionner une vue de données ou utiliser un modèle d’indexation", + "xpack.observability.slo.sloEdit.dataPreviewChart.xTitle": "Dernière heure", + "xpack.observability.slo.sloEdit.dataPreviewChart.yTitle": "SLI", "xpack.observability.slo.sloEdit.definition.sliType": "Choisir le type de SLI", "xpack.observability.slo.sloEdit.definition.title": "Définir un SLI", "xpack.observability.slo.sloEdit.description.sloDescription": "Description", @@ -26829,6 +27791,26 @@ "xpack.observability.slo.sloEdit.sliType.customKql.totalQuery": "Total de la requête", "xpack.observability.slo.sloEdit.sliType.customKql.totalQuery.tooltip": "Cette requête KQL doit renvoyer tous les événements pertinents pour le calcul du SLO, y compris les bons et les mauvais événements.", "xpack.observability.slo.sloEdit.sliType.customKql.totalQueryPlaceholder": "Définir le total d'événements", + "xpack.observability.slo.sloEdit.sliType.customMetric.addMetricAriaLabel": "Ajouter un indicateur", + "xpack.observability.slo.sloEdit.sliType.customMetric.addMetricLabel": "Ajouter un indicateur", + "xpack.observability.slo.sloEdit.sliType.customMetric.customFilter": "Filtre personnalisé à appliquer à l'index", + "xpack.observability.slo.sloEdit.sliType.customMetric.customFilter.tooltip": "Cette requête KQL peut être utilisée pour filtrer les documents avec certains critères pertinents.", + "xpack.observability.slo.sloEdit.sliType.customMetric.deleteLabel": "Supprimer un indicateur", + "xpack.observability.slo.sloEdit.sliType.customMetric.equation.invalidCharacters": "Le champ d'équation prend en charge uniquement les caractères suivants : A-Z, +, -, /, *, (, ), ?, !, &, :, |, >, <, =", + "xpack.observability.slo.sloEdit.sliType.customMetric.equationHelpText": "Accepte les équations mathématiques de base, les caractères valides sont : A-Z, +, -, /, *, (, ), ?, !, &, :, |, >, <, =", + "xpack.observability.slo.sloEdit.sliType.customMetric.goodEquation.tooltip": "Ceci est compatible avec des calculs de base (A + B / C) et la logique booléenne (A < B ? A : B).", + "xpack.observability.slo.sloEdit.sliType.customMetric.goodEquationLabel": "Bonne équation", + "xpack.observability.slo.sloEdit.sliType.customMetric.goodMetric.tooltip": "Les données de ce champ seront agrégées avec l’agréation de \"somme\".", + "xpack.observability.slo.sloEdit.sliType.customMetric.goodMetricLabel": "Bon indicateur", + "xpack.observability.slo.sloEdit.sliType.customMetric.metricField.placeholder": "Sélectionner un champ d’indicateur", + "xpack.observability.slo.sloEdit.sliType.customMetric.queryFilter": "Filtre de requête", + "xpack.observability.slo.sloEdit.sliType.customMetric.sumLabel": "Somme de", + "xpack.observability.slo.sloEdit.sliType.customMetric.timestampField.label": "Champ d'horodatage", + "xpack.observability.slo.sloEdit.sliType.customMetric.timestampField.placeholder": "Sélectionner un champ d'horodatage", + "xpack.observability.slo.sloEdit.sliType.customMetric.totalEquation.tooltip": "Ceci est compatible avec des calculs de base (A + B / C) et la logique booléenne (A < B ? A : B).", + "xpack.observability.slo.sloEdit.sliType.customMetric.totalEquationLabel": "Équation totale", + "xpack.observability.slo.sloEdit.sliType.customMetric.totalMetric.tooltip": "Les données de ce champ seront agrégées avec l’agréation de \"somme\".", + "xpack.observability.slo.sloEdit.sliType.customMetric.totalMetricLabel": "Indicateur total", "xpack.observability.slo.sloEdit.tags.label": "Balises", "xpack.observability.slo.sloEdit.tags.placeholder": "Ajouter des balises", "xpack.observability.slo.sloEdit.targetSlo.label": "Cible/SLO (%)", @@ -26837,6 +27819,12 @@ "xpack.observability.slo.sloEdit.timeSliceTarget.tooltip": "La cible d'intervalle de temps individuel utilisée pour déterminer si l'intervalle est bon ou mauvais.", "xpack.observability.slo.sloEdit.timesliceWindow.label": "Fenêtre d'intervalle de temps (en minutes)", "xpack.observability.slo.sloEdit.timesliceWindow.tooltip": "La taille de la fenêtre d'intervalle de temps utilisée pour évaluer les données.", + "xpack.observability.slo.sloEdit.timeWindow.calendarAligned": "Alignée sur le calendrier", + "xpack.observability.slo.sloEdit.timeWindow.rolling": "Glissante", + "xpack.observability.slo.sloEdit.timeWindowDuration.label": "Durée", + "xpack.observability.slo.sloEdit.timeWindowDuration.tooltip": "La durée de la fenêtre temporelle utilisée pour calculer le SLO.", + "xpack.observability.slo.sloEdit.timeWindowType.label": "Fenêtre temporelle", + "xpack.observability.slo.sloEdit.timeWindowType.tooltip": "Choisissez entre une fenêtre glissante ou alignée sur le calendrier.", "xpack.observability.slo.sloList.pageHeader.createNewButtonLabel": "Créer un nouveau SLO", "xpack.observability.slo.sloList.welcomePrompt.buttonLabel": "Créer un SLO", "xpack.observability.slo.sloList.welcomePrompt.getStartedMessage": "Pour commencer, créez votre premier SLO.", @@ -26856,7 +27844,7 @@ "xpack.observability.slo.sloStatusBadge.violated": "Violation", "xpack.observability.sloCreatePageTitle": "Créer un nouveau SLO", "xpack.observability.sloEditPageTitle": "Modifier le SLO", - "xpack.observability.slos.sloDetails.headerControl.exploreInApm": "Explorer dans APM", + "xpack.observability.slos.sloDetails.headerControl.exploreInApm": "Détails du service", "xpack.observability.slosLinkTitle": "SLO", "xpack.observability.slosPage.autoRefreshButtonLabel": "Actualisation automatique", "xpack.observability.slosPage.stopRefreshingButtonLabel": "Arrêter l'actualisation", @@ -26893,8 +27881,101 @@ "xpack.observability.statusVisualization.ux.goToAppTitle": "Afficher le tableau de bord", "xpack.observability.statusVisualization.ux.link": "Ajouter des données", "xpack.observability.statusVisualization.ux.title": "Expérience utilisateur", + "xpack.observability.syntheticsThrottlingEnabledExperimentName": "Activer la régulation Synthetics (Expérimentale)", + "xpack.observability.threshold.rule..charts.errorMessage": "Oups, un problème est survenu", + "xpack.observability.threshold.rule..charts.noDataMessage": "Aucune donnée graphique disponible", + "xpack.observability.threshold.rule..timeLabels.days": "jours", + "xpack.observability.threshold.rule..timeLabels.hours": "heures", + "xpack.observability.threshold.rule..timeLabels.minutes": "minutes", + "xpack.observability.threshold.rule..timeLabels.seconds": "secondes", + "xpack.observability.threshold.rule.alertDetailsAppSection.summaryField.rule": "Règle", + "xpack.observability.threshold.rule.alertDetailsAppSection.thresholdTitle": "Seuil dépassé", + "xpack.observability.threshold.rule.alertDetailUrlActionVariableDescription": "Lien vers l’affichage de résolution des problèmes d’alerte pour voir plus de contextes et de détails. La chaîne sera vide si server.publicBaseUrl n'est pas configuré.", + "xpack.observability.threshold.rule.alertDropdownTitle": "Alertes et règles", + "xpack.observability.threshold.rule.alertFlyout.addCondition": "Ajouter une condition", + "xpack.observability.threshold.rule.alertFlyout.advancedOptions": "Options avancées", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.avg": "Moyenne", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.cardinality": "Cardinalité", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.count": "Compte du document", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.max": "Max", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.min": "Min", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.p95": "95e centile", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.p99": "99e centile", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.rate": "Taux", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.sum": "Somme", + "xpack.observability.threshold.rule.alertFlyout.alertDescription": "Alerter quand un type de données Observability atteint ou dépasse une valeur donnée.", + "xpack.observability.threshold.rule.alertFlyout.alertOnGroupDisappear": "Me prévenir si un groupe cesse de signaler les données", + "xpack.observability.threshold.rule.alertFlyout.alertOnNoData": "M'alerter s'il n'y a aucune donnée", + "xpack.observability.threshold.rule.alertFlyout.alertPerRedundantFilterError.docsLink": "les documents", + "xpack.observability.threshold.rule.alertFlyout.conditions": "Conditions", + "xpack.observability.threshold.rule.alertFlyout.createAlertPerHelpText": "Créer une alerte pour chaque valeur unique. Par exemple : \"host.id\" ou \"cloud.region\".", + "xpack.observability.threshold.rule.alertFlyout.createAlertPerText": "Regrouper les alertes par (facultatif)", + "xpack.observability.threshold.rule.alertFlyout.customEquation": "Équation personnalisée", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.addCustomRow": "Ajouter une agrégation/un champ", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.deleteRowButton": "Supprimer", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.equationHelpMessage": "Prend en charge les expressions mathématiques de base", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.labelHelpMessage": "L'étiquette personnalisée s'affichera sur le graphique d'alerte et dans le titre de raison/d'alerte", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.labelLabel": "Étiquette (facultatif)", + "xpack.observability.threshold.rule.alertFlyout.docCountNoDataDisabledHelpText": "[Ce paramètre n’est pas applicable à l’agrégateur du nombre de documents.]", + "xpack.observability.threshold.rule.alertFlyout.error.aggregationRequired": "L'agrégation est requise.", + "xpack.observability.threshold.rule.alertFlyout.error.customMetrics.aggTypeRequired": "L'agrégation est requise", + "xpack.observability.threshold.rule.alertFlyout.error.customMetrics.fieldRequired": "Le champ est obligatoire", + "xpack.observability.threshold.rule.alertFlyout.error.customMetricsError": "Vous devez définir au moins 1 indicateur personnalisé", + "xpack.observability.threshold.rule.alertFlyout.error.equation.invalidCharacters": "Le champ d'équation prend en charge uniquement les caractères suivants : A-Z, +, -, /, *, (, ), ?, !, &, :, |, >, <, =", + "xpack.observability.threshold.rule.alertFlyout.error.invalidFilterQuery": "La requête de filtre n'est pas valide.", + "xpack.observability.threshold.rule.alertFlyout.error.metricRequired": "L'indicateur est requis.", + "xpack.observability.threshold.rule.alertFlyout.error.thresholdRequired": "Le seuil est requis.", + "xpack.observability.threshold.rule.alertFlyout.error.thresholdTypeRequired": "Les seuils doivent contenir un nombre valide.", + "xpack.observability.threshold.rule.alertFlyout.error.timeRequred": "La taille de temps est requise.", + "xpack.observability.threshold.rule.alertFlyout.expandRowLabel": "Développer la ligne.", + "xpack.observability.threshold.rule.alertFlyout.filterHelpText": "Utilisez une expression KQL pour limiter la portée de votre déclenchement d'alerte.", + "xpack.observability.threshold.rule.alertFlyout.filterLabel": "Filtre (facultatif)", + "xpack.observability.threshold.rule.alertFlyout.groupDisappearHelpText": "Activez cette option pour déclencher l’action si un groupe précédemment détecté cesse de signaler des résultats. Ce n’est pas recommandé pour les infrastructures à montée en charge dynamique qui peuvent rapidement lancer ou stopper des nœuds automatiquement.", + "xpack.observability.threshold.rule.alertFlyout.noDataHelpText": "Activez cette option pour déclencher l'action si l'indicateur ou les indicateurs ne signale(nt) aucune donnée sur la période attendue, ou si l'alerte ne parvient pas à interroger Elasticsearch", + "xpack.observability.threshold.rule.alertFlyout.ofExpression.popoverLinkLabel": "Apprenez comment ajouter davantage de données", + "xpack.observability.threshold.rule.alertFlyout.outsideRangeLabel": "N'est pas entre", + "xpack.observability.threshold.rule.alertFlyout.removeCondition": "Retirer la condition", + "xpack.observability.threshold.rule.alerting.noDataFormattedValue": "[AUCUNE DONNÉE]", + "xpack.observability.threshold.rule.alerting.threshold.defaultActionMessage": "\\{\\{alertName\\}\\} - \\{\\{context.group\\}\\} est à l'état \\{\\{context.alertState\\}\\}\n\n Raison :\n \\{\\{context.reason\\}\\}\n ", + "xpack.observability.threshold.rule.alerting.threshold.fired": "Alerte", + "xpack.observability.threshold.rule.alerting.threshold.nodata": "Aucune donnée", + "xpack.observability.threshold.rule.alerting.threshold.noDataFormattedValue": "[AUCUNE DONNÉE]", + "xpack.observability.threshold.rule.alertsButton": "Alertes et règles", + "xpack.observability.threshold.rule.cloudActionVariableDescription": "Objet cloud défini par ECS s'il est disponible dans la source.", + "xpack.observability.threshold.rule.containerActionVariableDescription": "Objet conteneur défini par ECS s'il est disponible dans la source.", + "xpack.observability.threshold.rule.createInventoryRuleButton": "Créer une règle d'inventaire", + "xpack.observability.threshold.rule.createThresholdRuleButton": "Créer une règle de seuil", + "xpack.observability.threshold.rule.groupByKeysActionVariableDescription": "Objet contenant les groupes qui fournissent les données", + "xpack.observability.threshold.rule.homePage.toolbar.kqlSearchFieldPlaceholder": "Rechercher des données d'infrastructure… (par exemple host.name:host-1)", + "xpack.observability.threshold.rule.hostActionVariableDescription": "Objet hôte défini par ECS s'il est disponible dans la source.", + "xpack.observability.threshold.rule.infrastructureDropdownMenu": "Infrastructure", + "xpack.observability.threshold.rule.infrastructureDropdownTitle": "Règles d'infrastructure", + "xpack.observability.threshold.rule.labelsActionVariableDescription": "Liste d'étiquettes associées avec l'entité sur laquelle l'alerte s'est déclenchée.", + "xpack.observability.threshold.rule.manageRules": "Gérer les règles", + "xpack.observability.threshold.rule.metricsDropdownMenu": "Indicateurs", + "xpack.observability.threshold.rule.metricsDropdownTitle": "Règles d'indicateurs", + "xpack.observability.threshold.rule.orchestratorActionVariableDescription": "Objet orchestrateur défini par ECS s'il est disponible dans la source.", + "xpack.observability.threshold.rule.reasonActionVariableDescription": "Une description concise de la raison du signalement", + "xpack.observability.threshold.rule.sourceConfiguration.missingHttp": "Échec de chargement de la source : Aucun client HTTP disponible.", + "xpack.observability.threshold.rule.sourceConfiguration.updateFailureBody": "Nous n'avons pas pu appliquer les modifications à la configuration des indicateurs. Réessayez plus tard.", + "xpack.observability.threshold.rule.sourceConfiguration.updateFailureTitle": "La mise à jour de la configuration a échoué", + "xpack.observability.threshold.rule.sourceConfiguration.updateSuccessTitle": "Les paramètres d'indicateurs ont bien été mis à jour", + "xpack.observability.threshold.rule.tagsActionVariableDescription": "Liste de balises associées avec l'entité sur laquelle l'alerte s'est déclenchée.", + "xpack.observability.threshold.rule.threshold.aboveRecovery": "supérieur à", + "xpack.observability.threshold.rule.threshold.belowRecovery": "inférieur à", + "xpack.observability.threshold.rule.threshold.betweenRecovery": "entre", + "xpack.observability.threshold.rule.threshold.customEquation": "Équation personnalisée", + "xpack.observability.threshold.rule.threshold.documentCount": "Nombre de documents", + "xpack.observability.threshold.rule.timestampDescription": "Horodatage du moment où l'alerte a été détectée.", + "xpack.observability.threshold.rule.valueActionVariableDescription": "Valeur de l'indicateur dans la condition spécifiée. Utilisation : (ctx.value.condition0, ctx.value.condition1, etc...).", + "xpack.observability.threshold.rule.viewInAppUrlActionVariableDescription": "Lien vers la source de l’alerte", + "xpack.observability.threshold.ruleExplorer.groupByAriaLabel": "Graphique par", + "xpack.observability.threshold.ruleExplorer.groupByLabel": "Tout", + "xpack.observability.threshold.ruleName": "Seuil (Version d'évaluation technique)", + "xpack.observability.thresholdRule.expressionItems.descriptionLabel": "quand", "xpack.observability.uiSettings.betaLabel": "bêta", "xpack.observability.uiSettings.technicalPreviewLabel": "version d'évaluation technique", + "xpack.observability.uiSettings.throttlingDocsLinkText": "lisez la notification ici.", "xpack.observability.ux.coreVitals.average": "une moyenne", "xpack.observability.ux.coreVitals.cls": "Cumulative Layout Shift", "xpack.observability.ux.coreVitals.cls.help": "Cumulative Layout Shift (CLS) : mesure la stabilité visuelle. Pour offrir une expérience agréable aux utilisateurs, les pages doivent conserver un CLS inférieur à 0,1.", @@ -26919,9 +28000,46 @@ "xpack.observability.ux.dashboard.webCoreVitals.help": "Découvrez", "xpack.observability.ux.dashboard.webCoreVitals.helpAriaLabel": "aide", "xpack.observability.ux.service.help": "Le service RUM comportant le plus de trafic est sélectionné", + "xpack.observabilityShared.inspector.stats.queryTimeValue": "{queryTime} ms", + "xpack.observabilityShared.breadcrumbs.observabilityLinkText": "Observabilité", + "xpack.observabilityShared.inspector.stats.dataViewDescription": "La vue de données qui se connecte aux index Elasticsearch.", + "xpack.observabilityShared.inspector.stats.dataViewLabel": "Vue de données", + "xpack.observabilityShared.inspector.stats.hitsDescription": "Le nombre de documents renvoyés par la requête.", + "xpack.observabilityShared.inspector.stats.hitsLabel": "Résultats", + "xpack.observabilityShared.inspector.stats.hitsTotalDescription": "Le nombre de documents correspondant à la requête.", + "xpack.observabilityShared.inspector.stats.hitsTotalLabel": "Résultats (total)", + "xpack.observabilityShared.inspector.stats.kibanaApiQueryParametersDescription": "Les paramètres de requête utilisés dans la requête d'API Kibana à l'origine de la requête Elasticsearch.", + "xpack.observabilityShared.inspector.stats.kibanaApiQueryParametersLabel": "Paramètres de requête d'API Kibana", + "xpack.observabilityShared.inspector.stats.kibanaApiRouteDescription": "Le chemin de la requête d'API Kibana à l'origine de la requête Elasticsearch.", + "xpack.observabilityShared.inspector.stats.kibanaApiRouteLabel": "Chemin de l’API Kibana", + "xpack.observabilityShared.inspector.stats.queryTimeDescription": "Le temps qu'il a fallu pour traiter la requête. Ne comprend pas le temps nécessaire pour envoyer la requête ni l'analyser dans le navigateur.", + "xpack.observabilityShared.inspector.stats.queryTimeLabel": "Durée de la requête", + "xpack.observabilityShared.navigation.betaBadge": "Bêta", + "xpack.observabilityShared.navigation.experimentalBadgeLabel": "Version d'évaluation technique", + "xpack.observabilityShared.navigation.newBadge": "NOUVEAUTÉ", + "xpack.observabilityShared.pageLayout.sideNavTitle": "Observabilité", + "xpack.observabilityShared.tour.alertsStep.imageAltText": "Démonstration des alertes", + "xpack.observabilityShared.tour.alertsStep.tourContent": "Définissez et détectez les conditions qui déclenchent des alertes avec des intégrations de plateformes tierces comme l’e-mail, PagerDuty et Slack.", + "xpack.observabilityShared.tour.alertsStep.tourTitle": "Soyez informé en cas de modification", + "xpack.observabilityShared.tour.endButtonLabel": "Terminer la visite", + "xpack.observabilityShared.tour.guidedSetupStep.tourContent": "La façon la plus facile de continuer avec Elastic Observability est de suivre les prochaines étapes recommandées dans l'assistant de données.", + "xpack.observabilityShared.tour.guidedSetupStep.tourTitle": "Toujours plus avec Elastic Observability", + "xpack.observabilityShared.tour.metricsExplorerStep.imageAltText": "Démonstration de Metrics Explorer", + "xpack.observabilityShared.tour.metricsExplorerStep.tourContent": "Diffusez, regroupez et visualisez les mesures provenant de vos systèmes, du cloud, du réseau et d'autres sources d'infrastructure.", + "xpack.observabilityShared.tour.metricsExplorerStep.tourTitle": "Monitorer l’intégrité de votre infrastructure", + "xpack.observabilityShared.tour.nextButtonLabel": "Suivant", + "xpack.observabilityShared.tour.observabilityOverviewStep.tourContent": "Faites un tour rapide pour découvrir les avantages de disposer de toutes vos données d'observabilité dans une seule suite.", + "xpack.observabilityShared.tour.observabilityOverviewStep.tourTitle": "Bienvenue dans Elastic Observability", + "xpack.observabilityShared.tour.servicesStep.imageAltText": "Démonstration des services", + "xpack.observabilityShared.tour.servicesStep.tourContent": "Détectez et réparez rapidement les problèmes de performances en recueillant des informations détaillées sur vos services.", + "xpack.observabilityShared.tour.servicesStep.tourTitle": "Identifier et résoudre les problèmes d'application", + "xpack.observabilityShared.tour.skipButtonLabel": "Ignorer la visite", + "xpack.observabilityShared.tour.streamStep.imageAltText": "Démonstration du flux de logs", + "xpack.observabilityShared.tour.streamStep.tourContent": "Surveillez, filtrez et inspectez les événements de journal provenant de vos applications, serveurs, machines virtuelles et conteneurs.", + "xpack.observabilityShared.tour.streamStep.tourTitle": "Suivi de vos logs en temps réel", "xpack.osquery.action.missingPrivileges": "Pour accéder à cette page, demandez à votre administrateur vos privilèges Kibana pour {osquery}.", - "xpack.osquery.agentPolicy.confirmModalCalloutDescription": "Fleet a détecté que {agentPolicyCount, plural, one {politique d'agent} many {les politiques d'agent sélectionnées sont} other {les politiques d'agent sélectionnées sont}} déjà en cours d'utilisation par certains de vos agents. Suite à cette action, Fleet déploie les mises à jour de tous les agents qui utilisent {agentPolicyCount, plural, one {politique d'agent} many {ces politiques d'agent} other {ces politiques d'agent}}.", - "xpack.osquery.agentPolicy.confirmModalCalloutTitle": "Cette action va mettre à jour {agentCount, plural, one {# agent} many {# agents} other {# agents}}", + "xpack.osquery.agentPolicy.confirmModalCalloutDescription": "Fleet a détecté que {agentPolicyCount, plural, one {politique d'agent} many {ces politiques d'agent} other {les politiques d'agent sélectionnées sont}} déjà en cours d'utilisation par certains de vos agents. Suite à cette action, Fleet déploie les mises à jour de tous les agents qui utilisent {agentPolicyCount, plural, one {politique d'agent} many {ces politiques d'agent} other {ces politiques d'agent}}.", + "xpack.osquery.agentPolicy.confirmModalCalloutTitle": "Cette action va mettre à jour {agentCount, plural, one {# agent} many {# agents ont été enregistrés} other {# agents}}", "xpack.osquery.agents.mulitpleSelectedAgentsText": "{numAgents} agents sélectionnés.", "xpack.osquery.agents.oneSelectedAgentText": "{numAgents} agent sélectionné.", "xpack.osquery.configUploader.unsupportedFileTypeText": "Le type de fichier {fileType} n'est pas pris en charge, veuillez charger le fichier de configuration {supportedFileTypes}", @@ -26946,6 +28064,7 @@ "xpack.osquery.packs.table.runActionAriaLabel": "Exécuter {packName}", "xpack.osquery.packUploader.unsupportedFileTypeText": "Le type de fichier {fileType} n'est pas pris en charge, veuillez charger le fichier de configuration {supportedFileTypes}", "xpack.osquery.results.multipleAgentsResponded": "{agentsResponded, plural, one {# agent a répondu} many {# agents ont répondu} other {# agents ont répondu}} ; aucune donnée osquery n'a été signalée.", + "xpack.osquery.results.permissionDenied": "Pour accéder à ces résultats, demandez à votre administrateur vos privilèges Kibana pour {osquery}.", "xpack.osquery.savedQueryList.queriesTable.editActionAriaLabel": "Modifier {savedQueryName}", "xpack.osquery.savedQueryList.queriesTable.runActionAriaLabel": "Exécuter {savedQueryName}", "xpack.osquery.updatePack.successToastMessageText": "Mise à jour réussie du pack \"{packName}\"", @@ -27066,6 +28185,7 @@ "xpack.osquery.liveQueryActions.details.id": "Id", "xpack.osquery.liveQueryActions.details.query": "Recherche", "xpack.osquery.liveQueryActions.details.title": "Détails de la requête", + "xpack.osquery.liveQueryActions.error.licenseTooLow": "Une licence Platinum ou supérieure est requise pour utiliser les actions de réponse.", "xpack.osquery.liveQueryActions.error.notFoundParameters": "Cette requête n'a pas été appelée en raison du paramètre utilisé et de sa valeur non trouvée dans l'alerte.", "xpack.osquery.liveQueryActions.table.agentsColumnTitle": "Agents", "xpack.osquery.liveQueryActions.table.createdAtColumnTitle": "Créé à", @@ -27202,6 +28322,8 @@ "xpack.profiling.maxValue": "Max : {max}", "xpack.profiling.noDataConfig.action.dataRetention": "Les coûts normaux de stockage des données s'appliquent aux données de profilage stockées dans Elasticsearch. En savoir plus sur {dataRetentionLink}.", "xpack.profiling.stackFrames.subChart.avg": "{percentage} moy.", + "xpack.profiling.tabs.symbols.step3.doc-ref": "Une documentation pour des cas d’utilisation plus avancés est disponible dans {link}.", + "xpack.profiling.tabs.symbols.step3.replace": "Remplacez {es_token} etc. avec les valeurs réelles. Vous pouvez transmettre {help} pour obtenir une liste d’autres arguments.", "xpack.profiling.appPageTemplate.pageTitle": "Universal Profiling", "xpack.profiling.asyncComponent.errorLoadingData": "Impossible de charger les données", "xpack.profiling.breadcrumb.differentialFlamegraph": "Flame-graph différentiel", @@ -27220,6 +28342,10 @@ "xpack.profiling.cpu.self.label": "Temps UC exclusif", "xpack.profiling.cpu.total.hint": "Indique combien de temps processeur a été utilisé par la fonction et les fonctions appelées par cette dernière", "xpack.profiling.cpu.total.label": "Temps UC total", + "xpack.profiling.differentialComparisonMode.absoluteButtonLabel": "Abs", + "xpack.profiling.differentialComparisonMode.legend": "Ce commutateur vous permet de basculer entre comparaison absolue et comparaison relative entre les deux graphes", + "xpack.profiling.differentialComparisonMode.relativeButtonLabel": "Rel", + "xpack.profiling.differentialComparisonMode.title": "Format", "xpack.profiling.featureRegistry.profilingFeatureName": "Universal Profiling", "xpack.profiling.flameGraphInformationWindow.annualizedCo2ExclusiveLabel": "CO2 annualisé (enfants excl.)", "xpack.profiling.flameGraphInformationWindow.annualizedCo2InclusiveLabel": "CO2 annualisé", @@ -27257,6 +28383,7 @@ "xpack.profiling.frameInformationWindow.missingSymbols.native.downloadBinary": "Télécharger le binaire de profilage Elastic", "xpack.profiling.frameInformationWindow.missingSymbols.native.readMore": "En savoir plus", "xpack.profiling.frameInformationWindow.missingSymbols.native.title": "Symboles manquants", + "xpack.profiling.frameInformationWindow.optimizeFunction": "Optimiser une fonction", "xpack.profiling.frameInformationWindow.selectFrame": "Cliquer sur un cadre pour afficher plus d'informations", "xpack.profiling.functionsView.annualizedCo2": "CO2 annualisé", "xpack.profiling.functionsView.annualizedDollarCost": "Coût en dollars annualisé", @@ -27267,7 +28394,7 @@ "xpack.profiling.functionsView.newLabel": "Nouveauté", "xpack.profiling.functionsView.rankColumnLabel": "Rang", "xpack.profiling.functionsView.samplesColumnLabel": "Échantillons (établ.)", - "xpack.profiling.functionsView.totalSampleCountLabel": " Total estimation d'échantillons : ", + "xpack.profiling.functionsView.totalSampleCountLabel": "Total estimation d'échantillons :", "xpack.profiling.header.betaBadgeTooltip": "Ce module n'est pas disponible. Nous vous remercions de bien vouloir nous aider en nous signalant tout bug.", "xpack.profiling.header.giveFeedbackLink": "Donner un retour", "xpack.profiling.headerActionMenu.addData": "Ajouter des données", @@ -27293,6 +28420,12 @@ "xpack.profiling.normalizationMenu.baseline": "Référence de base", "xpack.profiling.normalizationMenu.comparison": "Comparaison", "xpack.profiling.normalizationMenu.menuPopoverButtonAriaLabel": "Ouvrir le menu de normalisation", + "xpack.profiling.normalizationMenu.normalizeBy": "Normaliser par", + "xpack.profiling.normalizationMenu.normalizeByScaleTooltip": "Sélectionnez Normaliser par heure pour comparer un ensemble de machines sur différentes périodes. Par exemple, si vous comparez la dernière heure aux dernières 24 heures, la période la plus courte (1 heure) est multipliée pour égaler la période la plus longue (24 heures).", + "xpack.profiling.normalizationMenu.normalizeByTimeTooltip": "Sélectionnez Normaliser par facteur d'échelle et définissez vos facteurs d'échelle de référence et de comparaison pour comparer un ensemble de machines de différentes tailles. Par exemple, vous pouvez comparer un déploiement de 10 % de machines à un déploiement de 90 % de machines.", + "xpack.profiling.normalizationMenu.scale": "Facteur de montée en charge", + "xpack.profiling.normalizationMenu.time": "Heure", + "xpack.profiling.normalizationMode.selectModeLegend": "Sélectionner un mode de normalisation pour le flame-graph", "xpack.profiling.notAvailableLabel": "S. O.", "xpack.profiling.stackTracesView.containersTabLabel": "Conteneurs", "xpack.profiling.stackTracesView.deploymentsTabLabel": "Déploiements", @@ -27316,6 +28449,11 @@ "xpack.profiling.tabs.debTitle": "Pack DEB", "xpack.profiling.tabs.dockerRunContainerStep": "Exécuter le conteneur Universal Profiling :", "xpack.profiling.tabs.dockerTitle": "Docker", + "xpack.profiling.tabs.elasticAgentIntegrarion.step1": "Copier des informations d’identification", + "xpack.profiling.tabs.elasticAgentIntegrarion.step1.hint": "Vous aurez besoin de ces informations d’identification pour configurer Universal Profiling. Veuillez les conserver en lieu sûr, car elles seront nécessaires pour l’étape suivante.", + "xpack.profiling.tabs.elasticAgentIntegrarion.step2": "Fleet", + "xpack.profiling.tabs.elasticAgentIntegrarion.step2.button": "Gérer un agent Universal Profiling dans Fleet", + "xpack.profiling.tabs.elasticAgentIntegrarion.title": "Intégration d'Elastic Agent", "xpack.profiling.tabs.kubernetesInstallStep": "Installer l'agent hôte via Helm :", "xpack.profiling.tabs.kubernetesRepositoryStep": "Configurer le référentiel Helm de l'agent hôte Universal Profiling :", "xpack.profiling.tabs.kubernetesTitle": "Kubernetes", @@ -27326,10 +28464,11 @@ "xpack.profiling.tabs.rpmInstallPackageStep": "Installer le pack RPM (requiert des privilèges racine) :", "xpack.profiling.tabs.rpmStartSystemdServiceStep": "Démarrer le service systemd Universal Profiling (requiert des privilèges racine) :", "xpack.profiling.tabs.rpmTitle": "Pack RPM", - "xpack.profiling.tabs.symbols.step1": "Télécharger le binaire de symbole à partir de l'URL ci-dessous :", - "xpack.profiling.tabs.symbols.step2": "Générer un token Elasticsearch :", + "xpack.profiling.tabs.symbols.step1": "Télécharger et extraire un symbtool", + "xpack.profiling.tabs.symbols.step2": "Générer un token Elasticsearch", "xpack.profiling.tabs.symbols.step2.instructions": "Instructions disponibles ici", - "xpack.profiling.tabs.symbols.step3": "Exécuter :", + "xpack.profiling.tabs.symbols.step3": "Charger les symboles", + "xpack.profiling.tabs.symbols.step3.doc-ref.link": "la page de documentation correspondante", "xpack.profiling.tabs.symbols.title": "Charger les symboles", "xpack.profiling.topn.otherBucketLabel": "Autre", "xpack.profiling.universalProfiling": "Universal Profiling", @@ -27713,12 +28852,12 @@ "xpack.rollupJobs.create.stepLogistics.fieldRollupIndex.helpDisallowLabel": "Les espaces, les virgules et les caractères {characterList} ne sont pas autorisés.", "xpack.rollupJobs.createAction.failedDefaultErrorMessage": "La requête a échoué avec une erreur {statusCode}. {message}", "xpack.rollupJobs.deleteAction.successMultipleNotificationTitle": "{count} tâches de cumul ont été supprimées", - "xpack.rollupJobs.jobActionMenu.buttonLabel": "Gérer {jobCount, plural, one {tâche} many {les tâches} other {les tâches}}", + "xpack.rollupJobs.jobActionMenu.buttonLabel": "Gérer {jobCount, plural, one {tâche} many {tâches} other {les tâches}}", "xpack.rollupJobs.jobActionMenu.deleteJob.confirmModal.multipleDeletionDescription": "Vous êtes sur le point de supprimer {isSingleSelection, plural, one {cette tâche} many {ces tâches} other {ces tâches}}", "xpack.rollupJobs.jobActionMenu.deleteJob.confirmModal.multipleDeletionTitle": "Supprimer {count} tâches de cumul ?", - "xpack.rollupJobs.jobActionMenu.deleteJobLabel": "Supprimer {isSingleSelection, plural, one {tâche} many {les tâches} other {les tâches}}", - "xpack.rollupJobs.jobActionMenu.startJobLabel": "Démarrer {isSingleSelection, plural, one {tâche} many {les tâches} other {les tâches}}", - "xpack.rollupJobs.jobActionMenu.stopJobLabel": "Arrêter {isSingleSelection, plural, one {tâche} many {les tâches} other {les tâches}}", + "xpack.rollupJobs.jobActionMenu.deleteJobLabel": "Supprimer {isSingleSelection, plural, one {tâche} many {tâches} other {les tâches}}", + "xpack.rollupJobs.jobActionMenu.startJobLabel": "Démarrer {isSingleSelection, plural, one {tâche} many {tâches} other {les tâches}}", + "xpack.rollupJobs.jobActionMenu.stopJobLabel": "Arrêter {isSingleSelection, plural, one {tâche} many {tâches} other {les tâches}}", "xpack.rollupJobs.jobTable.selectRow": "Sélectionner cette ligne {id}", "xpack.rollupJobs.appTitle": "Tâches de cumul", "xpack.rollupJobs.create.backButton.label": "Retour", @@ -27938,7 +29077,7 @@ "xpack.savedObjectsTagging.management.actionBar.selectedTagsLabel": "{count, plural, one {1 balise sélectionnée} many {# balises sélectionnées} other {# balises sélectionnées}}", "xpack.savedObjectsTagging.management.actionBar.totalTagsLabel": "{count, plural, one {1 balise} many {# balises} other {# balises}}", "xpack.savedObjectsTagging.management.actions.bulkDelete.confirm.confirmButtonText": "Supprimer {count, plural, one {la balise} many {les balises} other {les balises}}", - "xpack.savedObjectsTagging.management.actions.bulkDelete.confirm.text": "Si vous supprimez {count, plural, one {cette balise} many {ces balises} other {ces balises}}, vous ne pourrez plus {count, plural, one {l'attribuer} many {les attribuer} other {les attribuer}} aux objets enregistrés. {count, plural, one {Cette balise sera supprimée} many {Ces balises seront supprimées} other {Ces balises seront supprimées}} de tous les objets enregistrés qui {count, plural, one {l'utilisent} many {les utilisent} other {les utilisent}} actuellement.", + "xpack.savedObjectsTagging.management.actions.bulkDelete.confirm.text": "Si vous supprimez {count, plural, one {cette balise} many {ces balises} other {ces balises}}, vous ne pourrez plus {count, plural, one {l'attribuer} many {les} other {les attribuer}} aux objets enregistrés. {count, plural, one {Cette balise sera supprimée} many {Ces balises seront supprimées} other {Ces balises seront supprimées}} de tous les objets enregistrés qui {count, plural, one {l'utilisent} many {les} other {les utilisent}} actuellement.", "xpack.savedObjectsTagging.management.actions.bulkDelete.confirm.title": "Supprimer {count, plural, one {1 balise} many {# balises} other {# balises}}", "xpack.savedObjectsTagging.management.actions.bulkDelete.notification.successTitle": "{count, plural, one {1 balise} many {# balises} other {# balises}} supprimé", "xpack.savedObjectsTagging.management.table.actions.assign.title": "Gérer les affectations {name}", @@ -27998,6 +29137,7 @@ "xpack.savedObjectsTagging.tagAttributeLabels.description": "Description", "xpack.savedObjectsTagging.tagAttributeLabels.name": "Nom", "xpack.savedObjectsTagging.uiApi.saveModal.label": "Balises", + "xpack.savedObjectsTagging.uiApi.saveModal.optional": "Facultatif", "xpack.savedObjectsTagging.uiApi.searchBar.filterButtonLabel": "Balises", "xpack.savedObjectsTagging.uiApi.table.columnTagsDescription": "Balises associées à cet objet enregistré", "xpack.savedObjectsTagging.uiApi.table.columnTagsName": "Balises", @@ -28076,7 +29216,7 @@ "xpack.security.management.apiKeys.table.invalidateApiKeyButton": "Supprimer {count, plural, one {Clé d'API} many {Clés d'API} other {Clés d'API}}", "xpack.security.management.apiKeys.table.statusExpires": "Expiration : {timeFromNow}", "xpack.security.management.editRole.featureTable.actionLegendText": "Privilège de fonctionnalité {featureName}", - "xpack.security.management.editRole.featureTable.featureAccordionSwitchLabel": "{grantedCount} / {featureCount} {featureCount, plural, one {fonctionnalité} many {fonctionnalités octroyées} other {fonctionnalités octroyées}}", + "xpack.security.management.editRole.featureTable.featureAccordionSwitchLabel": "{grantedCount} / {featureCount} {featureCount, plural, one {fonctionnalité} many {fonctionnalités} other {fonctionnalités octroyées}}", "xpack.security.management.editRole.spaceAwarePrivilegeForm.ensureAccountHasAllPrivilegesGrantedDescription": "Veuillez vous assurer que votre compte dispose de tous les privilèges accordés par le rôle {kibanaAdmin}, puis réessayez.", "xpack.security.management.editRole.spacePrivilegeMatrix.showNMoreSpacesLink": "+{count} en plus", "xpack.security.management.editRole.spacePrivilegeTable.deletePrivilegesLabel": "Supprimez les privilèges pour les espaces suivants : {spaceNames}.", @@ -28120,11 +29260,11 @@ "xpack.security.management.users.confirmDelete.userDeletingErrorNotificationMessage": "Erreur lors de la suppression de l'utilisateur {username}", "xpack.security.management.users.confirmDelete.userSuccessfullyDeletedNotificationMessage": "Utilisateur {username} supprimé", "xpack.security.management.users.confirmDeleteUsers.confirmButton": "{isLoading, select, true {Suppression de {count, plural, one {utilisateur} many {utilisateurs} other {utilisateurs}}…} other {Supprimer {count, plural, one {utilisateur} many {utilisateurs} other {utilisateurs}}}}", - "xpack.security.management.users.confirmDeleteUsers.description": "{count, plural, one {Cet utilisateur sera définitivement supprimé} many {Ces utilisateurs seront définitivement supprimés} other {Ces utilisateurs seront définitivement supprimés}} et l'accès à Elastic sera retiré{count, plural, one {.} many { :} other { :}}", + "xpack.security.management.users.confirmDeleteUsers.description": "{count, plural, one {Cet utilisateur sera définitivement supprimé} many {Ces utilisateurs pourront} other {Ces utilisateurs pourront}} et l'accès à Elastic sera retiré{count, plural, one {.} many { :} other { :}}", "xpack.security.management.users.confirmDisableUsers.confirmButton": "{isLoading, select, true {Désactivation de {count, plural, one {utilisateur} many {utilisateurs} other {utilisateurs}}…} other {Désactiver {count, plural, one {utilisateur} many {utilisateurs} other {utilisateurs}}}}", "xpack.security.management.users.confirmDisableUsers.confirmSystemPasswordButton": "{isLoading, select, true {Désactivation de l'utilisateur…} other {Je comprends, désactiver cet utilisateur}}", - "xpack.security.management.users.confirmDisableUsers.description": "{count, plural, one {Cet utilisateur ne pourra plus} many {Ces utilisateurs ne pourront plus} other {Ces utilisateurs ne pourront plus}} accéder à Elastic{count, plural, one {.} many { :} other { :}}", - "xpack.security.management.users.confirmEnableUsers.confirmButton": "{isLoading, select, true {Activation {count, plural, one {utilisateur} many {des utilisateurs} other {des utilisateurs}}…} other {Activer {count, plural, one {utilisateur} many {les utilisateurs} other {les utilisateurs}}}}", + "xpack.security.management.users.confirmDisableUsers.description": "{count, plural, one {Cet utilisateur ne pourra plus} many {Ces utilisateurs pourront} other {Ces utilisateurs pourront}} accéder à Elastic{count, plural, one {.} many { :} other { :}}", + "xpack.security.management.users.confirmEnableUsers.confirmButton": "{isLoading, select, true {Activation {count, plural, one {utilisateur} many {utilisateurs} other {des utilisateurs}}…} other {Activer {count, plural, one {utilisateur} many {utilisateurs} other {les utilisateurs}}}}", "xpack.security.management.users.confirmEnableUsers.description": "{count, plural, one {Cet utilisateur pourra} many {Ces utilisateurs pourront} other {Ces utilisateurs pourront}} accéder à Elastic{count, plural, one {.} many { :} other { :}}", "xpack.security.management.users.deleteUsersButtonLabel": "Supprimer {numSelected} utilisateur{numSelected, plural, one { } many {s} other {s}}", "xpack.security.management.users.editUser.settingPasswordErrorMessage": "Erreur lors de la définition du mot de passe : {message}", @@ -28194,6 +29334,7 @@ "xpack.security.accountManagement.userProfile.initialsRequiredError": "Ajouter des initiales", "xpack.security.accountManagement.userProfile.lightModeButton": "Claire", "xpack.security.accountManagement.userProfile.noneProvided": "Aucune fournie", + "xpack.security.accountManagement.userProfile.overriddenMessage": "Ce paramètre est défini par le serveur Kibana et ne peut pas être modifié.", "xpack.security.accountManagement.userProfile.passwordGroupDescription": "Protégez vos données avec un mot de passe fort.", "xpack.security.accountManagement.userProfile.passwordGroupTitle": "Mot de passe", "xpack.security.accountManagement.userProfile.passwordLabel": "Mot de passe", @@ -28742,25 +29883,29 @@ "xpack.securitySolution.alertDetails.overview.insights_related_cases_found_content_count": "{caseCount} {caseCount, plural, =0 {cas.} =1 {cas :} one {cas :} many {cas :} other {cas :}}", "xpack.securitySolution.alertDetails.overview.insights.related_alerts_by_process_ancestry_count": "{count} {count, plural, =1 {alerte} one {alertes} many {alertes} other {alertes}} par processus ancêtre", "xpack.securitySolution.alertDetails.overview.insights.related_alerts_by_session_count": "{count} {count, plural, =1 {alerte} one {alertes} many {alertes} other {alertes}} associée(s) par session", - "xpack.securitySolution.alertDetails.overview.insights.related_cases_count": "{count} {count, plural, =1 {cas} one {cas associés à cette alerte} many {cas associés à cette alerte} other {cas associés à cette alerte}}", + "xpack.securitySolution.alertDetails.overview.insights.related_cases_count": "{count} {count, plural, =1 {cas} one {aux cas suivants} many {cas} other {cas associés à cette alerte}}", "xpack.securitySolution.alertDetails.overview.insights.relatedCasesFailure": "Impossible de charger les cas connexes : \"{error}\"", "xpack.securitySolution.alertDetails.overview.insights.suppressedAlertsCount": "{count} {count, plural, =1 {alerte} one {alertes} many {alertes} other {alertes}} supprimée(s)", "xpack.securitySolution.alertDetails.overview.originalHostRiskClassification": "Classification de risque de {riskEntity} d'origine", "xpack.securitySolution.alertDetails.overview.riskDataTooltipContent": "La classification des risques n'est affichée que lorsqu'elle est disponible pour une {riskEntity}. Vérifiez que {riskScoreDocumentationLink} est activé dans votre environnement.", "xpack.securitySolution.alerts.alertDetails.summary.cases.subTitle": "Affichage des {caseCount} cas les plus récemment créés contenant cette alerte", + "xpack.securitySolution.alertSummaryView.alertSummaryViewContextDescription": "Alerte (à partir de {view})", + "xpack.securitySolution.alertSummaryView.eventSummaryViewContextDescription": "Événement (à partir de {view})", "xpack.securitySolution.anomaliesTable.table.unit": "{totalCount, plural, =1 {anomalie} one {anomalies} many {anomalies} other {anomalies}}", + "xpack.securitySolution.api.alertTags.validationError": "Des balises dupliquées {duplicates} ont été trouvées dans les paramètres tags_to_add et tags_to_remove.", "xpack.securitySolution.artifactCard.comments.label.hide": "Masquer les commentaires ({count})", "xpack.securitySolution.artifactCard.comments.label.show": "Afficher les commentaires ({count})", "xpack.securitySolution.artifactCard.policyEffectScope": "Appliqué à {count} {count, plural, one {politique} many {politiques} other {politiques}}", - "xpack.securitySolution.artifactCard.policyEffectScope.title": "Appliqué {count, plural, one {à la politique suivante} many {aux politiques suivantes} other {aux politiques suivantes}}", + "xpack.securitySolution.artifactCard.policyEffectScope.title": "Appliqué {count, plural, one {à la politique suivante} many {politiques} other {aux politiques suivantes}}", "xpack.securitySolution.artifactCardGrid.expandCollapseLabel": "{action} toutes les cartes", "xpack.securitySolution.artifactListPage.deleteActionFailure": "Impossible de supprimer \"{itemName}\". Raison : {errorMessage}", "xpack.securitySolution.artifactListPage.deleteActionSuccess": "\"{itemName}\" a été supprimé", - "xpack.securitySolution.artifactListPage.deleteModalImpactInfo": "La suppression de cette entrée entraînera son retrait dans {count} {count, plural, one {politique associée} many {politiques associées} other {politiques associées}}.", + "xpack.securitySolution.artifactListPage.deleteModalImpactInfo": "La suppression de cette entrée entraînera son retrait dans {count} {count, plural, one {politique associée} many {politiques} other {politiques associées}}.", "xpack.securitySolution.artifactListPage.deleteModalTitle": "Supprimer {itemName}", "xpack.securitySolution.artifactListPage.flyoutEditItemLoadFailure": "Impossible de récupérer l’élément pour modification. Raison : {errorMessage}", "xpack.securitySolution.artifactListPage.flyoutEditSubmitSuccess": "\"{name}\" a été mis à jour.", "xpack.securitySolution.artifactListPage.showingTotal": "Affichage de {total, plural, one {# artefact} many {# artefacts} other {# artefacts}}", + "xpack.securitySolution.assistant.getComments.at": "à : {timestamp}", "xpack.securitySolution.authenticationsTable.hostsUnit": "{totalCount, plural, =1 {hôte} one {hôtes} many {hôtes} other {hôtes}}", "xpack.securitySolution.authenticationsTable.rows": "{numRows} {numRows, plural, =0 {lignes} =1 {ligne} one {lignes} many {lignes} other {lignes}}", "xpack.securitySolution.authenticationsTable.usersUnit": "{totalCount, plural, =1 {utilisateur} one {utilisateurs} many {utilisateurs} other {utilisateurs}}", @@ -28773,6 +29918,9 @@ "xpack.securitySolution.bulkActions.openedAlertSuccessToastMessage": "Ouverture réussie de {totalAlerts} {totalAlerts, plural, =1 {alerte} one {alertes} many {alertes} other {alertes}}.", "xpack.securitySolution.bulkActions.updateAlertStatusFailed": "Impossible de mettre à jour {conflicts} {conflicts, plural, =1 {alerte} one {alertes} many {alertes} other {alertes}}.", "xpack.securitySolution.bulkActions.updateAlertStatusFailedDetailed": "{updated} {updated, plural, =1 {alerte a bien été mise à jour} one {alertes ont bien été mises à jour} many {alertes ont bien été mises à jour} other {alertes ont bien été mises à jour}}, mais la mise à jour de {conflicts} a échoué\n car {conflicts, plural, =1 {elle a déjà été modifiée} one {elles ont déjà été modifiées} many {elles ont déjà été modifiées} other {elles ont déjà été modifiées}}.", + "xpack.securitySolution.bulkActions.updateAlertTagsFailed": "Échec de la mise à jour des balises pour {conflicts} {conflicts, plural, =1 {alerte} one {alertes} many {alertes} other {alertes}}.", + "xpack.securitySolution.bulkActions.updateAlertTagsFailedDetailed": "{updated} {updated, plural, =1 {alerte a bien été mise à jour} one {alertes ont bien été mises à jour} many {alertes ont bien été mises à jour} other {alertes ont bien été mises à jour}}, mais la mise à jour de {conflicts} a échoué\n car {conflicts, plural, =1 {elle a déjà été modifiée} one {elles ont déjà été modifiées} many {elles ont déjà été modifiées} other {elles ont déjà été modifiées}}.", + "xpack.securitySolution.bulkActions.updateAlertTagsSuccessToastMessage": "Balises bien mises à jour pour {totalAlerts} {totalAlerts, plural, =1 {alerte} one {alertes} many {alertes} other {alertes}}.", "xpack.securitySolution.cases.caseTable.caseDetailsLinkAria": "cliquez pour visiter le cas portant le titre {detailName}", "xpack.securitySolution.components.alertsTreemap.noDataReasonLabel": "Le champ {stackByField1} n'était présent dans aucun groupe", "xpack.securitySolution.components.alertsTreemap.riskLabel": "(Risque {riskScore})", @@ -28804,8 +29952,9 @@ "xpack.securitySolution.createPackagePolicy.stepConfigure.packagePolicyTypeInteractiveOnlyInfo": "Capture les interactions système en direct lancées par les utilisateurs via des programmes tels que {ssh} ou {telnet}. {recommendation}", "xpack.securitySolution.createPackagePolicy.stepConfigure.quickSettingsTranslation": "Utilisez les paramètres rapides pour configurer l'intégration dans {environments}. Vous pouvez apporter des modifications à la configuration après la création de l'intégration.", "xpack.securitySolution.createPackagePolicy.stepConfigure.seeDocumentation": "Pour en savoir plus, consultez {documentation}.", - "xpack.securitySolution.dashboards.getSecuritySolutionDashboardsErrorTitle": "Impossible d'obtenir les tableaux de bord - {message}", - "xpack.securitySolution.dashboards.getSecuritySolutionTagsErrorTitle": "Impossible de créer la balise {tagName} - {message}", + "xpack.securitySolution.dashboards.createSecuritySolutionTagErrorTitle": "Impossible de créer la balise {tagName} - {message}", + "xpack.securitySolution.dashboards.getSecuritySolutionDashboardsErrorTitle": "Tableaux de bord introuvables : {message}", + "xpack.securitySolution.dashboards.getSecuritySolutionTagsErrorTitle": "Balises {tagName} introuvables : {message}", "xpack.securitySolution.dataProviders.groupAreaAriaLabel": "Vous êtes dans le groupe {group}", "xpack.securitySolution.dataProviders.showOptionsDataProviderAriaLabel": "{field} {value} Appuyez sur Entrée pour accéder aux options ou sur la barre d'espace pour commencer le glisser-déposer", "xpack.securitySolution.dataQualityDashboard.securitySolutionDefaultIndexTooltip": "Index et modèles du paramètre {settingName}", @@ -28835,6 +29984,7 @@ "xpack.securitySolution.detectionEngine.components.importRuleModal.importFailedDetailedTitle": "{message}", "xpack.securitySolution.detectionEngine.components.importRuleModal.importFailedTitle": "Impossible d'importer {totalRules} {totalRules, plural, =1 {règle} one {règles} many {règles} other {règles}}", "xpack.securitySolution.detectionEngine.components.importRuleModal.successfullyImportedRulesTitle": "Importation réussie de {totalRules} {totalRules, plural, =1 {règle} one {règles} many {règles} other {règles}}", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsTooltipContent": "Choisissez comment gérer les événements avec des champs {suppressBy} manquants. Vous pouvez soit regrouper les événements pour lesquels des champs sont manquants, soit créer une alerte distincte pour chacun d'entre eux. {learnMoreLink}", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldShouldLoadQueryDynamicallyLabel": "Charger la requête enregistrée \"{savedQueryName}\" de façon dynamique dans chaque exécution de règle", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.machineLearningJobIdHelpText": "Nous avons fourni quelques tâches courantes pour vous aider à commencer. Pour ajouter vos propres tâches personnalisées, affectez un groupe de \"sécurité\" à ces tâches dans l'application {machineLearning} pour les faire apparaître ici.", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.mlEnableJobMulti": "Les tâches de ML sélectionnées, {jobNames}, ne sont pas en cours d'exécution. Toutes ces tâches seront démarrées lorsque vous activerez cette règle.", @@ -28842,6 +29992,7 @@ "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.ruleTypeField.mlTypeDisabledDescription": "L'accès à ML requiert un {subscriptionsLink}.", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.threatMatchIndexForbiddenError": "Le modèle d'indexation ne peut être {forbiddenString}. Veuillez choisir un modèle d'indexation plus spécifique.", "xpack.securitySolution.detectionEngine.createRule.stepRuleActions.invalidMustacheTemplateErrorMessage": "{key} n'est pas un modèle de moustache valide", + "xpack.securitySolution.detectionEngine.createRule.stepRuleActions.snoozeDescription": "Choisissez quand effectuer des actions ou les mettre en sommeil. Les notifications ne sont pas créées pour des actions répétées. {docs}.", "xpack.securitySolution.detectionEngine.missingPrivilegesCallOut.messageBody.messageDetail": "Documentation concernant {essence} {indexPrivileges} {featurePrivileges} : {docs}", "xpack.securitySolution.detectionEngine.missingPrivilegesCallOut.messageBody.missingFeaturePrivileges": "Privilèges {privileges} manquants pour la fonctionnalité {index}. {explanation}", "xpack.securitySolution.detectionEngine.missingPrivilegesCallOut.messageBody.missingIndexPrivileges": "Privilèges {privileges} manquants pour l'index {index}. {explanation}", @@ -28850,18 +30001,29 @@ "xpack.securitySolution.detectionEngine.mlUnavailableTitle": "{totalRules} {totalRules, plural, =1 {règle nécessite} one {règles nécessitent} many {règles nécessitent} other {règles nécessitent}} que le Machine Learning soit activé.", "xpack.securitySolution.detectionEngine.needAdminForUpdateCallOutBody.messageBody.messageDetail": "Documentation associée {essence} : {docs}", "xpack.securitySolution.detectionEngine.needsIndexPermissionsMessage": "Pour utiliser le moteur de détection, un utilisateur doté des privilèges de cluster et d'index requis doit tout d'abord accéder à cette page. {additionalContext} Pour une aide supplémentaire, contactez votre administrateur de la Suite Elastic.", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.installRuleFailed": "L’installation de {failed, plural, one {La règle # a} many {Les règles # ont} other {Les règles # ont}} a échoué.", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.installRuleSkipped": "{skipped, plural, one {# règle a été ignorée} many {# règles ont été ignorées} other {# règles ont été ignorées}} pendant l’installation.", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.installRuleSuccess": "{succeeded, plural, one {# règle bien mise} many {# règles bien mises} other {# règles bien mises}} à jour.", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.upgradeRuleFailed": "Impossible de mettre à jour {failed, plural, one {# règle} many {# règles} other {# règles}}.", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.upgradeRuleSkipped": "{skipped, plural, one {# règle a été ignorée} many {# règles ont été ignorées} other {# règles ont été ignorées}} durant la mise à jour.", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.upgradeRuleSuccess": "La mise à jour de {succeeded, plural, one {# règle} many {# règles} other {# règles}} a été effectuée avec succès.", "xpack.securitySolution.detectionEngine.queryPreview.viewDetailsForRowAriaLabel": "Afficher les détails pour l'alerte ou l'événement de la ligne {ariaRowindex}, avec les colonnes {columnValues}", "xpack.securitySolution.detectionEngine.relatedIntegrations.popoverDescription": "Installez et configurez {integrationsCount, plural, =1 {l'intégration ci-dessous} one {une ou plusieurs des intégrations ci-dessous} many {une ou plusieurs des intégrations ci-dessous} other {une ou plusieurs des intégrations ci-dessous}} pour ingérer les données nécessaires pour cette règle de détection :", "xpack.securitySolution.detectionEngine.relatedIntegrations.popoverDescriptionInstalledVersionTooltip": "Non-correspondance de version ; veuillez résoudre le problème ! La version installée est \"{installedVersion}\" alors que la version requise est \"{requiredVersion}\"", "xpack.securitySolution.detectionEngine.relatedIntegrations.popoverTitle": "[{integrationsCount}] {integrationsCount, plural, =1 {intégration} one {intégrations} many {intégrations} other {intégrations}} associée(s) disponible(s)", "xpack.securitySolution.detectionEngine.rule.editRule.errorMsgDescription": "Vous avez une entrée non valide dans {countError, plural, one {cet onglet} many {ces onglets} other {ces onglets}} : {tabHasError}", + "xpack.securitySolution.detectionEngine.ruleDetails.onceInEveryDaysLabel": "Une fois {daysCount, plural, one {a} many {toutes les} other {toutes les}} {daysCount, plural, one {jour} many {# jours} other {# jours}}", + "xpack.securitySolution.detectionEngine.ruleDetails.onceInEveryHoursLabel": "Une fois {hoursCount, plural, one {par} many {toutes les} other {toutes les}} {hoursCount, plural, one {heure} many {# heures} other {# heures}}", + "xpack.securitySolution.detectionEngine.ruleDetails.onceInEveryMinutesLabel": "Une fois {minutesCount, plural, one {a} many {toutes les} other {toutes les}} {minutesCount, plural, one {minute} many {# minutes} other {# minutes}}", + "xpack.securitySolution.detectionEngine.ruleDetails.onceInEverySecondsLabel": "Une fois {secondsCount, plural, one {a} many {toutes les} other {toutes les}} {secondsCount, plural, one {seconde} many {# secondes} other {# secondes}}", "xpack.securitySolution.detectionEngine.ruleDetails.ruleCreationDescription": "Créé par : {by} le {date}", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.gapDurationColumnTooltip": "Durée de l'écart dans l'exécution de la règle (hh:mm:ss:SSS). Ajustez l'historique des règles ou {seeDocs} pour réduire les écarts.", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.searchLimitExceededLabel": "Plus de {totalItems} exceptions de règle correspondent aux filtres fournis. Affichage des {maxItems} premières en fonction du \"@timestamp\" le plus récent. Utilisez d'autres contraintes de filtres pour afficher des événements d'exécution supplémentaires.", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.totalExecutionsLabel": "Affichage de {totalItems} {totalItems, plural, =1 {exécution de règle} one {exécutions de règles} many {exécutions de règles} other {exécutions de règles}}", "xpack.securitySolution.detectionEngine.ruleDetails.ruleUpdateDescription": "Mis à jour par : {by} le {date}", + "xpack.securitySolution.detectionEngine.rules.addRules.installSelectedRules": "Installez {numberOfSelectedRules} règle(s) sélectionnée(s)", "xpack.securitySolution.detectionEngine.rules.all.exceptions.rulesPopoverButton": "+{rulesCount} {rulesCount, plural, =1 {Règle} one {Règles} many {Règles} other {Règles}}", - "xpack.securitySolution.detectionEngine.rules.all.exceptions.showingExceptionLists": "Affichage de {totalLists} {totalLists, plural, =1 {liste} one {listes} many {listes} other {listes}}", + "xpack.securitySolution.detectionEngine.rules.all.exceptions.showingExceptionLists": "Affichage de {totalLists} {totalLists, plural, =1 {liste} one {listes d'exception} many {listes d'exception} other {listes}}", "xpack.securitySolution.detectionEngine.rules.allRules.bulkAction.enable.successToastDescription": "Activation réussie de {totalRules, plural, =1 {{totalRules} règle} one {{totalRules} règles} many {{totalRules} règles} other {{totalRules} règles}}", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.bulkActionConfirmationPartlyTitle": "Cette action peut uniquement être appliquée à {customRulesCount, plural, =1 {# règle personnalisée} one {# règles personnalisées} many {# règles personnalisées} other {# règles personnalisées}}", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.bulkEditConfirmationDeniedTitle": "Impossible de modifier {rulesCount, plural, =1 {# règle} one {# règles} many {# règles} other {# règles}}", @@ -28876,11 +30038,11 @@ "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.errorToastDescription": "Impossible de dupliquer {rulesCount, plural, =1 {# règle} one {# règles} many {# règles} other {# règles}}.", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exception.confirmation.modalTitle": "Dupliquer {rulesCount, plural, one {la règle} many {règles} other {règles}} ?", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.modalBody": "Vous dupliquez {rulesCount, plural, one {# règle} many {# règles} other {# règles}}. Choisissez quel élément dupliquer.", - "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.with": "La/les {rulesCount, plural, one {règle} many {règles} other {règles}} et {rulesCount, plural, one {ses exceptions actives} many {leurs exceptions actives} other {leurs exceptions actives}}", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.with": "La/les {rulesCount, plural, one {règle} many {règles} other {règles}} et {rulesCount, plural, one {ses} many {leurs} other {leurs exceptions actives}}", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.without": "Seule(s) la/les {rulesCount, plural, one {règle} many {règles} other {règles}}", - "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.includeExpiredExceptionsCheckboxLabel": "La/les {rulesCount, plural, one {règle} many {règles} other {règles}} et toutes {rulesCount, plural, one {ses} many {leurs} other {leurs}} exceptions (actives et expirées)", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.includeExpiredExceptionsCheckboxLabel": "La/les {rulesCount, plural, one {règle} many {règles} other {règles}} et {rulesCount, plural, one {ses} many {leurs} other {leurs}} exceptions", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.successToastDescription": "Duplication réussie de {totalRules, plural, =1 {{totalRules} règle} one {{totalRules} règles} many {{totalRules} règles} other {{totalRules} règles}}", - "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.addRuleActions.infoCalloutTitle": "Configurer les actions pour {rulesCount, plural, one {# règle que vous avez sélectionnée} many {# règles que vous avez sélectionnées} other {# règles que vous avez sélectionnées}}", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.addRuleActions.infoCalloutTitle": "Configurer les actions pour {rulesCount, plural, one {# règle que vous avez sélectionnée} many {# règles} other {# règles que vous avez sélectionnées}}", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.addRuleActions.warningCalloutMessage": "Vous êtes sur le point de remplacer des actions de règle pour {rulesCount, plural, one {# règle sélectionnée} many {# règles sélectionnées} other {# règles sélectionnées}}. Cliquez sur {saveButton} pour appliquer les modifications.", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.applyTimelineTemplate.warningCalloutMessage": "Vous êtes sur le point d'appliquer des modifications à {rulesCount, plural, one {# règle sélectionnée} many {# règles sélectionnées} other {# règles sélectionnées}}. Si vous avez déjà appliqué des modèles de chronologie à ces règles, ils seront remplacés ou (si vous sélectionnez \"Aucun\") réinitialisés.", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.errorToastDescription": "Impossible de mettre à jour {failedRulesCount, plural, =0 {} =1 {# règle} one {# règles} many {# règles} other {# règles}}. {skippedRulesCount, plural, =0 {} =1 { # règle a été ignorée.} one { # règles ont été ignorées} many { # règles ont été ignorées} other { # règles ont été ignorées}}", @@ -28895,7 +30057,7 @@ "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.machineLearningRulesIndexEditDescription": "{rulesCount, plural, =1 {# règle de Machine Learning personnalisée} one {# règles de Machine Learning personnalisées} many {# règles de Machine Learning personnalisées} other {# règles de Machine Learning personnalisées}} (ces règles n'ont pas de modèle d'indexation)", "xpack.securitySolution.detectionEngine.rules.allRules.columns.gapTooltip": "Durée de l'écart le plus récent dans l'exécution de la règle. Ajustez l'historique des règles ou {seeDocs} pour réduire les écarts.", "xpack.securitySolution.detectionEngine.rules.allRules.selectAllRulesTitle": "Tout sélectionner : {totalRules} {totalRules, plural, =1 {règle} one {règles} many {règles} other {règles}}", - "xpack.securitySolution.detectionEngine.rules.allRules.selectedRulesTitle": "Sélection réussie de {selectedRules} {selectedRules, plural, =1 {règle} one {règles} many {règles} other {règles}}", + "xpack.securitySolution.detectionEngine.rules.allRules.selectedRulesTitle": "Sélection effectuée de {selectedRules} {selectedRules, plural, =1 {règle} one {règles} many {règles} other {règles}}", "xpack.securitySolution.detectionEngine.rules.allRules.showingRulesTitle": "Affichage de {firstInPage}-{lastOfPage} sur {totalRules} {totalRules, plural, =1 {règle} one {règles} many {règles} other {règles}}", "xpack.securitySolution.detectionEngine.rules.create.successfullyCreatedRuleTitle": "{ruleName} a été créé", "xpack.securitySolution.detectionEngine.rules.guidedOnboarding.enableFirstRule.content": "Activez \"{name}\" ou cliquez sur Suivant.", @@ -28905,12 +30067,14 @@ "xpack.securitySolution.detectionEngine.rules.reloadMissingPrePackagedRulesButton": "Installer la/les {missingRules, plural, =1 {règle} one {règles} many {règles} other {règles}} Elastic prédéfinie(s) {missingRules} ", "xpack.securitySolution.detectionEngine.rules.reloadMissingPrePackagedTimelinesButton": "Installer la/les {missingTimelines, plural, =1 {chronologie} one {chronologies} many {chronologies} other {chronologies}} Elastic prédéfinie(s) {missingTimelines} ", "xpack.securitySolution.detectionEngine.rules.update.successfullySavedRuleTitle": "{ruleName} a été enregistré", + "xpack.securitySolution.detectionEngine.rules.updatePrebuiltRulesCalloutTitle": "Mises à jour disponibles pour les règles installées. Examiner et mettre à jour dans {link}.", "xpack.securitySolution.detectionEngine.rules.updatePrePackagedRulesAndTimelinesButton": "Mettre à jour la/les {updateRules, plural, =1 {règle} one {règles} many {règles} other {règles}} Elastic prédéfinie(s) {updateRules} et la/les {updateTimelines, plural, =1 {chronologie} one {chronologies} many {chronologies} other {chronologies}} Elastic prédéfinie(s) {updateTimelines}", "xpack.securitySolution.detectionEngine.rules.updatePrePackagedTimelinesButton": "Mettre à jour la/les {updateTimelines, plural, =1 {chronologie} one {chronologies} many {chronologies} other {chronologies}} Elastic prédéfinies {updateTimelines}", - "xpack.securitySolution.detectionEngine.signals.alertReasonDescription": "{eventCategory, select, null {} other {{eventCategory}{whitespace}}}événement{hasFieldOfInterest, select, false {} other {{whitespace}avec}}{processName, select, null {} other {{whitespace}processus {processName},}}{processParentName, select, null {} other {{whitespace}processus parent {processParentName},}}{fileName, select, null {} other {{whitespace}fichier {fileName},}}{sourceAddress, select, null {} other {{whitespace}source {sourceAddress}}}{sourcePort, select, null {} other {: {sourcePort},}}{destinationAddress, select, null {} other {{whitespace}destination {destinationAddress}}}{destinationPort, select, null {} other {: {destinationPort},}}{userName, select, null {} other {{whitespace}par {userName}}}{hostName, select, null {} other {{whitespace}le {hostName}}} a créé l'alerte {alertName} {alertSeverity}.", + "xpack.securitySolution.detectionEngine.rules.upgradeRules.upgradeSelected": "Mettre à jour {numberOfSelectedRules} règle(s) sélectionnée(s)", + "xpack.securitySolution.detectionEngine.signals.alertReasonDescription": "{eventCategory, select, null {} other {{eventCategory}{whitespace}}}événement{hasFieldOfInterest, select, false {} other {{whitespace}avec}}{processName, select, null {} other {{whitespace}processus {processName},}}{processParentName, select, null {} other {{whitespace}processus parent {processParentName},}}{fileName, select, null {} other {{whitespace}fichier {fileName},}}{sourceAddress, select, null {} other {{whitespace}source {sourceAddress}}}{sourcePort, select, null {} other {:{sourcePort},}}{destinationAddress, select, null {} other {{whitespace}destination {destinationAddress}}}{destinationPort, select, null {} other {:{destinationPort},}}{userName, select, null {} other {{whitespace}par {userName}}}{hostName, select, null {} other {{whitespace}le {hostName}}} a créé l'alerte {alertName} {alertSeverity}.", "xpack.securitySolution.detectionEngine.stepDefineRule.dataViewNotFoundDescription": "Votre vue de données avec l'ID \"{dataView}\" est introuvable. Il est possible qu'elle ait été supprimée.", "xpack.securitySolution.detectionResponse.alertsByStatus.totalAlerts": "Total : {totalAlerts, plural, =1 {alerte} one {alertes} many {alertes} other {alertes}}", - "xpack.securitySolution.detectionResponse.casesByStatus.totalCases": "Total : {totalCases, plural, =1 {cas} one {cas} many {cas} other {cas}}", + "xpack.securitySolution.detectionResponse.casesByStatus.totalCases": "Total : {totalCases, plural, =1 {cas} one {aux cas suivants} many {cas} other {cas}}", "xpack.securitySolution.detectionResponse.noChange": "Votre {dataType} n'a pas été modifié", "xpack.securitySolution.detectionResponse.noData": "Il n'y a aucune donnée {dataType} à comparer", "xpack.securitySolution.detectionResponse.noDataCompare": "Aucune donnée {dataType} à comparer à partir de la plage temporelle de comparaison", @@ -28935,7 +30099,7 @@ "xpack.securitySolution.endpoint.fleetIntegrationCard.eventFiltersSummary.error": "Une erreur s'est produite lors de la tentative de récupération des statistiques de filtres d'événements : \"{error}\"", "xpack.securitySolution.endpoint.fleetIntegrationCard.hostIsolationExceptionsSummary.error": "Une erreur s'est produite lors de la tentative de récupération des statistiques d'exceptions d'isolation de l'hôte : \"{error}\"", "xpack.securitySolution.endpoint.fleetIntegrationCard.trustedAppsSummary.error": "Une erreur s'est produite lors de la tentative de récupération des statistiques des applications de confiance : \"{error}\"", - "xpack.securitySolution.endpoint.hostIsolation.isolateHost.casesAssociatedWithAlert": "{caseCount} {caseCount, plural, one {cas} many {cas} other {cas}} associé(s) à cet hôte", + "xpack.securitySolution.endpoint.hostIsolation.isolateHost.casesAssociatedWithAlert": "{caseCount} {caseCount, plural, one {cas} many {aux cas suivants} other {cas}} associé(s) à cet hôte", "xpack.securitySolution.endpoint.hostIsolation.isolateThisHost": "Isolez l'hôte {hostName} du réseau.", "xpack.securitySolution.endpoint.hostIsolation.isolation.successfulMessage": "L'isolation sur l'hôte {hostName} a été soumise avec succès", "xpack.securitySolution.endpoint.hostIsolation.placeholderCase": "{caseName}", @@ -28950,7 +30114,7 @@ "xpack.securitySolution.endpoint.policy.artifacts.empty.unassigned.backButtonLabel": "Retour à la politique {policyName}", "xpack.securitySolution.endpoint.policy.artifacts.empty.unassigned.content": "Aucun artefact n'est actuellement affecté à {policyName}. Affectez des artefacts maintenant, ou ajoutez-les et gérez-les sur la page des artefacts.", "xpack.securitySolution.endpoint.policy.artifacts.empty.unassigned.noPrivileges.content": "Aucun artefact n'est actuellement affecté à {policyName}.", - "xpack.securitySolution.endpoint.policy.artifacts.layout.about": "Il y {count, plural, one {est} many {a} other {a}} {count} {count, plural, =1 {artefact associé à cette politique} one {artefacts associés à cette politique} many {artefacts associés à cette politique} other {artefacts associés à cette politique}}. Cliquer ici pour afficher tous les artefacts", + "xpack.securitySolution.endpoint.policy.artifacts.layout.about": "Il y {count, plural, one {est} many {sont} other {a}} {count} {count, plural, =1 {artefact associé à cette politique} one {artefacts associés à cette politique} many {artefacts associés à cette politique} other {artefacts associés à cette politique}}. Cliquer ici pour afficher tous les artefacts", "xpack.securitySolution.endpoint.policy.artifacts.layout.flyout.confirm": "Affecter à {policyName}", "xpack.securitySolution.endpoint.policy.artifacts.layout.flyout.searchWarning.text": "Seuls les {maxNumber} premiers artefacts sont affichés. Veuillez utiliser la barre de recherche pour affiner les résultats.", "xpack.securitySolution.endpoint.policy.artifacts.layout.flyout.subtitle": "Sélectionner les artefacts à ajouter à {policyName}", @@ -28964,7 +30128,7 @@ "xpack.securitySolution.endpoint.policy.blocklist.layout.flyout.subtitle": "Sélectionner les entrées de liste noire à ajouter à {policyName}", "xpack.securitySolution.endpoint.policy.blocklist.layout.flyout.toastSuccess.textMultiples": "{count} entrées de liste noire ont été ajoutées à votre liste.", "xpack.securitySolution.endpoint.policy.blocklist.layout.flyout.toastSuccess.textSingle": "La liste noire \"{name}\" a été ajoutée à votre liste.", - "xpack.securitySolution.endpoint.policy.blocklist.list.about": "Il y {count, plural, one {est} many {a} other {a}} {count} {count, plural, =1 {liste noire associée à cette politique} one {entrées de liste noire associées à cette politique} many {entrées de liste noire associées à cette politique} other {entrées de liste noire associées à cette politique}}. Cliquez ici pour {link}", + "xpack.securitySolution.endpoint.policy.blocklist.list.about": "Il y {count, plural, one {est} many {sont} other {a}} {count} {count, plural, =1 {liste noire associée à cette politique} one {entrées de liste noire associées à cette politique} many {entrées de liste noire associées à cette politique} other {entrées de liste noire associées à cette politique}}. Cliquez ici pour {link}", "xpack.securitySolution.endpoint.policy.blocklists.list.totalItemCount": "Affichage de {totalItemsCount, plural, one {# entrée de liste noire} many {# entrées de liste noire} other {# entrées de liste noire}}", "xpack.securitySolution.endpoint.policy.details.detectionRulesMessage": "Affichez {detectionRulesLink}. Les règles prédéfinies sont étiquetées “Elastic” sur la page Règles de détection.", "xpack.securitySolution.endpoint.policy.details.eventCollectionsEnabled": "{selected} collection(s) d'événements activée(s) sur {total}", @@ -28977,7 +30141,7 @@ "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.subtitle": "Sélectionner des filtres d'événements à ajouter à {policyName}", "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.toastSuccess.textMultiples": "{count} filtres d'événements ont été ajoutés à votre liste.", "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.toastSuccess.textSingle": "\"{name}\" a été ajouté à votre liste de filtres d'événements.", - "xpack.securitySolution.endpoint.policy.eventFilters.list.about": "Il y {count, plural, one {est} many {a} other {a}} {count} {count, plural, =1 {filtre} one {filtres} many {filtres} other {filtres}} d'événement associé(s) à cette politique. Cliquez ici pour {link}", + "xpack.securitySolution.endpoint.policy.eventFilters.list.about": "Il y {count, plural, one {est} many {sont} other {a}} {count} {count, plural, =1 {filtre} one {filtres} many {filtres} other {filtres}} d'événement associé(s) à cette politique. Cliquez ici pour {link}", "xpack.securitySolution.endpoint.policy.eventFilters.list.totalItemCount": "Affichage de {totalItemsCount, plural, one {# filtre d'événements} many {# filtres d'événements} other {# filtres d'événements}}", "xpack.securitySolution.endpoint.policy.hostIsolationException.empty.unassigned.content": "Il n'y a actuellement aucune exception d'isolation de l'hôte affectée à {policyName}. Affectez des exceptions d'isolation de l'hôte maintenant, ou ajoutez-les et gérez-les sur la page d'exceptions d'isolation de l'hôte.", "xpack.securitySolution.endpoint.policy.hostIsolationException.empty.unassigned.noPrivileges.content": "Il n'y a actuellement aucune exception d'isolation de l'hôte affectée à {policyName}.", @@ -28986,14 +30150,14 @@ "xpack.securitySolution.endpoint.policy.hostIsolationException.layout.flyout.toastSuccess.textMultiples": "{count} exceptions d'isolation de l'hôte ont été ajoutées à votre liste.", "xpack.securitySolution.endpoint.policy.hostIsolationException.layout.flyout.toastSuccess.textSingle": "\"{name}\" a été ajouté à votre liste d'exceptions d'isolation de l'hôte.", "xpack.securitySolution.endpoint.policy.hostIsolationException.list.totalItemCount": "Affichage de {totalItemsCount, plural, one {# exception d'isolation de l'hôte} many {# exceptions d'isolation de l'hôte} other {# exceptions d'isolation de l'hôte}}", - "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.about": "Il y {count, plural, one {est} many {a} other {a}} {count} {count, plural, =1 {exception} one {exceptions} many {exceptions} other {exceptions}} d'isolation de l'hôte associée(s) à cette politique. Cliquez ici pour {link}", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.about": "Il y {count, plural, one {est} many {sont} other {a}} {count} {count, plural, =1 {exception} one {exceptions} many {exceptions} other {exceptions}} d'isolation de l'hôte associée(s) à cette politique. Cliquez ici pour {link}", "xpack.securitySolution.endpoint.policy.trustedApps.empty.unassigned.content": "Aucune application de confiance n'est actuellement affectée à {policyName}. Affectez des applications de confiance maintenant, ou ajoutez-les et gérez-les sur la page des applications de confiance.", "xpack.securitySolution.endpoint.policy.trustedApps.empty.unassigned.noPrivileges.content": "Aucune application de confiance n'est actuellement affectée à {policyName}.", "xpack.securitySolution.endpoint.policy.trustedApps.layout.flyout.searchWarning.text": "Seules les {maxNumber} premières applications de confiance sont affichées. Veuillez utiliser la barre de recherche pour affiner les résultats.", "xpack.securitySolution.endpoint.policy.trustedApps.layout.flyout.subtitle": "Sélectionner des applications de confiance à ajouter à {policyName}", "xpack.securitySolution.endpoint.policy.trustedApps.layout.flyout.toastSuccess.textMultiples": "{count} applications de confiance ont été ajoutées à votre liste.", "xpack.securitySolution.endpoint.policy.trustedApps.layout.flyout.toastSuccess.textSingle": "\"{name}\" a été ajouté à votre liste d'applications de confiance.", - "xpack.securitySolution.endpoint.policy.trustedApps.list.about": "Il y {count, plural, one {est} many {a} other {a}} {count} {count, plural, =1 {application de confiance associée à cette politique} one {applications de confiance associées à cette politique} many {applications de confiance associées à cette politique} other {applications de confiance associées à cette politique}}. Cliquez ici pour {link}", + "xpack.securitySolution.endpoint.policy.trustedApps.list.about": "Il y {count, plural, one {est} many {sont} other {a}} {count} {count, plural, =1 {application de confiance associée à cette politique} one {applications de confiance associées à cette politique} many {applications de confiance associées à cette politique} other {applications de confiance associées à cette politique}}. Cliquez ici pour {link}", "xpack.securitySolution.endpoint.policy.trustedApps.list.totalItemCount": "Affichage de {totalItemsCount, plural, one {# application de confiance} many {# applications de confiance} other {# applications de confiance}}", "xpack.securitySolution.endpoint.policyDetails.supportedVersion": "Version d'agent {version}", "xpack.securitySolution.endpoint.policyDetailsConfig.notifyUserTooltip.a": "La sélection de l'option de notification à l'utilisateur affichera une notification à l'utilisateur de l'hôte lorsque {protectionName} est bloqué ou détecté.", @@ -29018,6 +30182,10 @@ "xpack.securitySolution.entityAnalytics.riskDashboard.riskToolTip": "La classification de risque de {riskEntity} est déterminée par le score de risque de {riskEntityLowercase}. Les {riskEntity} classées comme Critique ou Élevée sont indiquées comme étant à risque.", "xpack.securitySolution.event.summary.threat_indicator.showMatches": "Afficher l'ensemble des {count} alertes de correspondance d'indicateur", "xpack.securitySolution.eventDetails.nestedColumnCheckboxAriaLabel": "Le champ {field} est un objet, et il est composé de champs imbriqués qui peuvent être ajoutés en tant que colonne", + "xpack.securitySolution.eventDetails.responseActions.endpoint.executed": "a exécuté la commande {command}", + "xpack.securitySolution.eventDetails.responseActions.endpoint.failed": "a échoué lors de l’exécution de la commande {command}", + "xpack.securitySolution.eventDetails.responseActions.endpoint.pending": "exécute la commande {command}", + "xpack.securitySolution.eventDetails.responseActions.endpoint.tried": "a tenté d’exécuter la commande {command}", "xpack.securitySolution.eventDetails.viewColumnCheckboxAriaLabel": "Afficher la colonne {field}", "xpack.securitySolution.eventFilter.flyoutForm.creationSuccessToastTitle": "\"{name}\" a été ajouté à la liste de filtres d'événements.", "xpack.securitySolution.eventFilters.deleteSuccess": "\"{itemName}\" a été retiré de la liste de filtres d'événements.", @@ -29047,6 +30215,10 @@ "xpack.securitySolution.exceptions.viewer.lastUpdated": "Mis à jour {updated}", "xpack.securitySolution.exceptions.viewer.paginationDetails": "Affichage de {partOne} sur {partTwo}", "xpack.securitySolution.fieldBrowser.descriptionForScreenReaderOnly": "Description pour le champ {field} :", + "xpack.securitySolution.flyout.correlations.ancestryAlertsHeading": "{count, plural, one {# alerte} many {# alertes} other {Alertes #}} associé par ancêtre", + "xpack.securitySolution.flyout.correlations.relatedCasesHeading": "{count} associé {count, plural, one {cas} many {aux cas suivants} other {aux cas suivants}}", + "xpack.securitySolution.flyout.correlations.sessionAlertsHeading": "{count, plural, one {# alerte} many {# alertes} other {Alertes #}} associé(es) par session", + "xpack.securitySolution.flyout.correlations.sourceAlertsHeading": "{count, plural, one {# alerte} many {# alertes} other {Alertes #}} associé(es) par événement source", "xpack.securitySolution.flyout.documentDetails.overviewTab.viewAllButton": "Afficher tous les {text}", "xpack.securitySolution.flyout.errorMessage": "Une erreur est survenue lors de l'affichage de {message}", "xpack.securitySolution.flyout.errorTitle": "Impossible d'afficher {title}", @@ -29090,6 +30262,7 @@ "xpack.securitySolution.lists.uploadValueListExtensionValidationMessage": "Le fichier doit être de l'un des types suivants : [{fileTypes}]", "xpack.securitySolution.markdown.insight.filterBuilderText": "Créez des filtres pour remplir le générateur de requêtes Chronologie. Pour utiliser une valeur du document d'alerte, entrez le nom du champ entre doubles accolades {example} comme option personnalisée dans le champ de valeur.", "xpack.securitySolution.markdown.osquery.missingPrivileges": "Pour accéder à cette page, demandez à votre administrateur vos privilèges Kibana pour {osquery}.", + "xpack.securitySolution.markdown.premiumPluginLinkPrefix": "Pour utiliser ces fonctionnalités Markdown interactives, vous devez {link}.", "xpack.securitySolution.markdownEditor.plugins.insightConfigError": "Impossible d'analyser la configuration JSON des informations exploitables : {err}", "xpack.securitySolution.markdownEditor.plugins.timeline.failedRetrieveTimelineErrorMsg": "Impossible de récupérer l'ID de chronologie : {timelineId}", "xpack.securitySolution.markdownEditor.plugins.timeline.toolTip.timelineId": "ID de chronologie : {timelineId}", @@ -29139,7 +30312,9 @@ "xpack.securitySolution.resolver.unboundedRequest.toast": "Aucun résultat trouvé dans la plage sélectionnée, étendue à {from} - {to}.", "xpack.securitySolution.responder.header.lastSeen": "Vu pour la dernière fois le {date}", "xpack.securitySolution.responder.hostOffline.callout.body": "L'hôte {name} est hors connexion, donc ses réponses peuvent avoir du retard. Les commandes en attente seront exécutées quand l'hôte se reconnectera.", + "xpack.securitySolution.responder.missingEncryptionKey.callout.body": "Nous recommandons de configurer des clés de chiffrement pour protéger les informations sensibles et sécuriser votre environnement. Si les clés de chiffrements ne sont pas configurées, certaines fonctionnalités peuvent ne pas fonctionner comme prévu. {viewMore}.", "xpack.securitySolution.responseActionFileDownloadLink.passcodeInfo": "(Code secret du fichier ZIP : {passcode}).", + "xpack.securitySolution.responseActions.endpoint.commandDescription": "Sélectionnez une action de réponse du point de terminaison. L’action de réponse ne s’exécute que sur les hôtes sur lesquels Elastic Defend est installé. {docs}", "xpack.securitySolution.responseActions.results.missingPrivileges": "Pour accéder à ces résultats, demandez à votre administrateur vos privilèges Kibana pour {integration}.", "xpack.securitySolution.responseActionsList.flyout.title": "Historique des actions de réponse : {hostname}", "xpack.securitySolution.responseActionsList.investigationGuideSuggestion": "Il y a {queriesLength, plural, one {une recherche} many {des recherches} other {des recherches}} dans le guide d'investigation. {queriesLength, plural, one {L'ajouter en tant qu'action de réponse} many {Les ajouter en tant qu'actions de réponse} other {Les ajouter en tant qu'actions de réponse}} ?", @@ -29151,6 +30326,7 @@ "xpack.securitySolution.responseActionsList.list.item.wasSuccessful": "{command} terminée", "xpack.securitySolution.responseActionsList.list.recordRange": "Affichage de {range} sur {total} {recordsLabel}", "xpack.securitySolution.responseActionsList.list.recordRangeLabel": "{records, plural, one {action de réponse} many {actions de réponse} other {actions de réponse}}", + "xpack.securitySolution.riskEngine.calculateScores.dataViewNotFoundError": "L’affichage de données spécifié ({dataViewId}) n’a pas été trouvé. Veuillez utiliser un affichage de données existant ou omettre le paramètre pour utiliser les entrées de risque par défaut.", "xpack.securitySolution.riskInformation.explanation": "Cette fonctionnalité utilise une transformation, avec une agrégation d'indicateurs scriptée pour calculer les scores de risque {riskEntityLower} en fonction des alertes de règle de détection ayant le statut \"ouvert\", sur une fenêtre temporelle de 5 jours. La transformation s'exécute toutes les heures afin que le score reste à jour au moment où de nouvelles alertes de règles de détection sont transmises.", "xpack.securitySolution.riskInformation.introduction": "La fonctionnalité de score de risque {riskEntity} détecte les {riskEntityLowerPlural} à risque depuis l'intérieur de votre environnement.", "xpack.securitySolution.riskInformation.learnMore": "Vous pouvez en savoir plus sur les risques de {riskEntity} {riskScoreDocumentationLink}", @@ -29164,6 +30340,7 @@ "xpack.securitySolution.riskScore.savedObjects.bulkCreateSuccessTitle": "{totalCount} {totalCount, plural, =1 {objet enregistré importé avec succès} one {objets enregistrés importés avec succès} many {objets enregistrés importés avec succès} other {objets enregistrés importés avec succès}}", "xpack.securitySolution.riskScore.savedObjects.enableRiskScoreSuccessTitle": "{items} importés avec succès", "xpack.securitySolution.riskScore.savedObjects.failedToCreateTagTitle": "Impossible d'importer les objets enregistrés : {savedObjectTemplate} n'a pas été créé, car la balise n'a pas pu être créée : {tagName}", + "xpack.securitySolution.riskScore.savedObjects.failedToFindTagTitle": "Impossible d’importer les objets enregistrés : {savedObjectTemplate} n’a pas été créé, car la balise n’a pas pu être trouvée : {tagName}", "xpack.securitySolution.riskScore.savedObjects.templateAlreadyExistsTitle": "Impossible d'importer les objets enregistrés : {savedObjectTemplate} n'a pas été créé, car il existe déjà", "xpack.securitySolution.riskScore.savedObjects.templateNotFoundTitle": "Impossible d'importer les objets enregistrés : {savedObjectTemplate} n'a pas été créé, car le modèle n'a pas été trouvé", "xpack.securitySolution.riskScore.transform.notFoundTitle": "Impossible de vérifier l'état de transformation, car {transformId} n'a pas été trouvé", @@ -29173,6 +30350,7 @@ "xpack.securitySolution.rule_exceptions.flyoutComponents.addToListsOptions.addToListsTooltipTitle": "La liste d'exceptions partagée est un groupe d'exceptions partagé entre les règles. {rulesCount, plural, =1 {Cette règle n'a actuellement aucune liste d'exceptions partagée} one {Ces règles n'ont actuellement aucune liste d'exceptions couramment partagée} many {Ces règles n'ont actuellement aucune liste d'exceptions couramment partagée} other {Ces règles n'ont actuellement aucune liste d'exceptions couramment partagée}} attachée. Pour en créer une, visitez la page des listes d'exceptions partagées.", "xpack.securitySolution.rule_exceptions.itemComments.hideCommentsLabel": "Masquer ({comments}) {comments, plural, =1 {Commentaire} one {Commentaires} many {Commentaires} other {Commentaires}}", "xpack.securitySolution.rule_exceptions.itemComments.showCommentsLabel": "Afficher ({comments}) {comments, plural, =1 {Commentaire} one {Commentaires} many {Commentaires} other {Commentaires}}", + "xpack.securitySolution.ruleExceptions.addExceptionFlyout.addRuleExceptionFromAlertComment": "Les conditions d’exceptions sont préremplies avec des données pertinentes de {alertId}.", "xpack.securitySolution.ruleExceptions.addExceptionFlyout.addRuleExceptionToastSuccessText": "L'exception a été ajoutée aux règles - {ruleName}.", "xpack.securitySolution.ruleExceptions.addExceptionFlyout.closeAlerts.successDetails": "L'exception de la règle a été ajoutée aux listes partagées : {listNames}.", "xpack.securitySolution.ruleExceptions.addExceptionFlyout.commentsTitle": "Ajouter des commentaires ({comments})", @@ -29222,6 +30400,7 @@ "xpack.securitySolution.trustedApps.flyoutCreateSubmitSuccess": "\"{name}\" a été ajouté à vos applications de confiance.", "xpack.securitySolution.trustedApps.flyoutEditSubmitSuccess": "\"{name}\" a été mis à jour.", "xpack.securitySolution.trustedApps.showingTotal": "Affichage de {total} {total, plural, one {applications de confiance} many {applications de confiance} other {applications de confiance}}", + "xpack.securitySolution.uiSettings.defaultAlertTagsDescription": "

    Liste d’options de balises à utiliser avec des alertes générées par des règles de solution de sécurité.

    ", "xpack.securitySolution.uiSettings.defaultAnomalyScoreDescription": "

    Valeur au-dessus de laquelle les anomalies de tâche de Machine Learning sont affichées dans l'application Security.

    Valeurs valides : 0 à 100.

    ", "xpack.securitySolution.uiSettings.defaultIndexDescription": "

    Liste d'index Elasticsearch séparés par des virgules à partir de laquelle l'application Security collecte les événements.

    ", "xpack.securitySolution.uiSettings.defaultRefreshIntervalDescription": "

    Intervalle d'actualisation par défaut pour le filtre de temps Security, en millisecondes.

    ", @@ -29241,6 +30420,7 @@ "xpack.securitySolution.usersRiskTable.filteredUsersTitle": "Afficher les utilisateurs à risque {severity}", "xpack.securitySolution.usersTable.rows": "{numRows} {numRows, plural, =0 {lignes} =1 {ligne} one {lignes} many {lignes} other {lignes}}", "xpack.securitySolution.usersTable.unit": "{totalCount, plural, =1 {utilisateur} one {utilisateurs} many {utilisateurs} other {utilisateurs}}", + "xpack.securitySolution.visualizationActions.countOfFieldLabel": "Nombre de {field}", "xpack.securitySolution.visualizationActions.topValueLabel": "Valeurs les plus élevées de {field}", "xpack.securitySolution.visualizationActions.uniqueCountLabel": "Compte unique de {field}", "xpack.securitySolution.accessibility.tooltipWithKeyboardShortcut.pressTooltipLabel": "Appuyer", @@ -29256,6 +30436,9 @@ "xpack.securitySolution.actions.toggleColumnToggle.label": "Afficher/Masquer la colonne dans le tableau", "xpack.securitySolution.actionsContextMenu.label": "Ouvrir", "xpack.securitySolution.actionTypeForm.accordion.deleteIconAriaLabel": "Supprimer", + "xpack.securitySolution.addRules.goBackToRulesTableButton": "Revenir aux règles Elastic installées", + "xpack.securitySolution.addRules.installRuleButton": "Installer une règle", + "xpack.securitySolution.addRules.upgradeRuleButton": "Mettre à jour une règle", "xpack.securitySolution.administration.os.linux": "Linux", "xpack.securitySolution.administration.os.macos": "Mac", "xpack.securitySolution.administration.os.windows": "Windows", @@ -29355,6 +30538,10 @@ "xpack.securitySolution.alerts.severityMapping.severityTitle": "Sévérité par défaut", "xpack.securitySolution.alerts.severityMapping.sourceFieldTitle": "Champ source", "xpack.securitySolution.alerts.severityMapping.sourceValueTitle": "Valeur source", + "xpack.securitySolution.alertSummaryView.alertSummaryViewContextTooltip": "Ajouter cette alerte comme contexte", + "xpack.securitySolution.alertSummaryView.alertSummaryViewConversationId": "Résumé d’alerte", + "xpack.securitySolution.alertSummaryView.eventSummaryViewContextTooltip": "Ajouter cet événement comme contexte", + "xpack.securitySolution.alertSummaryView.eventSummaryViewConversationId": "Résumé des événements", "xpack.securitySolution.alertsView.osqueryAlertTitle": "Exécuter Osquery", "xpack.securitySolution.allHost.errorSearchDescription": "Une erreur s'est produite lors de la recherche de tous les hôtes", "xpack.securitySolution.allHost.failSearchDescription": "Impossible de lancer une recherche sur tous les hôtes", @@ -29410,6 +30597,7 @@ "xpack.securitySolution.appLinks.users.description": "Aperçu complet des données d'utilisateur qui permettent de comprendre l'authentification et le comportement de l'utilisateur dans votre environnement.", "xpack.securitySolution.appLinks.users.events": "Événements", "xpack.securitySolution.appLinks.users.risk": "Risque de l'utilisateur", + "xpack.securitySolution.appLinks.vulnerabilityDashboardDescription": "La gestion des vulnérabilités natives du cloud (Cloud Native Vulnerability Management, ou CNVM) vous permet d’identifier les vulnérabilités dans vos charges de travail dans le cloud.", "xpack.securitySolution.artifactCard.conditions.and": "AND", "xpack.securitySolution.artifactCard.conditions.existsOperator": "existe", "xpack.securitySolution.artifactCard.conditions.linux": "Linux", @@ -29457,6 +30645,38 @@ "xpack.securitySolution.artifactListPage.pageTitle": "Artefact", "xpack.securitySolution.artifactListPage.searchPlaceholderInfo": "Rechercher sur les champs ci-dessous : nom, description, commentaires, valeur", "xpack.securitySolution.artifactMinifiedCard.descriptionLabel": "Description", + "xpack.securitySolution.assistant.commentActions.addedNoteToTimelineToast": "Note ajoutée à la chronologie", + "xpack.securitySolution.assistant.commentActions.addMessageContentAsTimelineNoteAriaLabel": "Ajouter un contenu de message comme note de chronologie", + "xpack.securitySolution.assistant.commentActions.addNoteToTimelineTooltip": "Ajouter une note à la chronologie", + "xpack.securitySolution.assistant.commentActions.addToCaseExistingCase": "Ajouter à un cas existant", + "xpack.securitySolution.assistant.commentActions.copyToClipboard": "Copier dans le presse-papiers", + "xpack.securitySolution.assistant.commentActions.elasticAiAssistantTitle": "Assistant d’intelligence artificielle d’Elastic", + "xpack.securitySolution.assistant.content.promptContexts.indexTitle": "index", + "xpack.securitySolution.assistant.content.promptContexts.viewTitle": "vue", + "xpack.securitySolution.assistant.content.prompts.system.defaultSystemPromptName": "Invite de système par défaut", + "xpack.securitySolution.assistant.content.prompts.system.ifYouDontKnowTheAnswer": "Ne répondez pas aux questions qui ne sont pas liées à Elastic Security.", + "xpack.securitySolution.assistant.content.prompts.system.superheroPersonality": "Donnez la réponse la plus pertinente et détaillée possible, comme si vous deviez communiquer ces informations à un expert en cybersécurité.", + "xpack.securitySolution.assistant.content.prompts.system.superheroSystemPromptName": "Invite système améliorée", + "xpack.securitySolution.assistant.content.prompts.system.useTheFollowingContextToAnswer": "Utilisez le contexte suivant pour répondre aux questions :", + "xpack.securitySolution.assistant.content.prompts.system.youAreAHelpfulExpertAssistant": "Vous êtes un assistant expert et serviable qui répond à des questions au sujet d’Elastic Security.", + "xpack.securitySolution.assistant.content.prompts.user.finallySuggestInvestigationGuideAndFormatAsMarkdown": "Ajoutez votre description, les actions que vous recommandez ainsi que les étapes de triage à puces. Utilisez les données \"MITRE ATT&CK\" fournies pour ajouter du contexte et des recommandations de MITRE ainsi que des liens hypertexte vers les pages pertinentes sur le site web de MITRE. Assurez-vous d’inclure les scores de risque de l’utilisateur et de l’hôte du contexte. Votre réponse doit inclure des étapes qui pointent vers les fonctionnalités spécifiques d’Elastic Security, y compris les actions de réponse du terminal, l’intégration OSQuery Manager d’Elastic Agent (avec des exemples de requêtes OSQuery), des analyses de timeline et d’entités, ainsi qu’un lien pour toute la documentation Elastic Security pertinente.", + "xpack.securitySolution.assistant.content.prompts.user.thenSummarizeSuggestedKqlAndEqlQueries": "Évaluer l’événement depuis le contexte ci-dessus et formater soigneusement la sortie en syntaxe Markdown pour mon cas Elastic Security.", + "xpack.securitySolution.assistant.conversations.timelineConversationTitle": "Chronologie", + "xpack.securitySolution.assistant.getComments.assistant": "Assistant", + "xpack.securitySolution.assistant.getComments.you": "Vous", + "xpack.securitySolution.assistant.quickPrompts.alertSummarizationPrompt": "En tant qu’expert en opérations de sécurité et en réponses aux incidents, décomposer l’alerte jointe et résumer ce qu’elle peut impliquer pour mon organisation.", + "xpack.securitySolution.assistant.quickPrompts.alertSummarizationTitle": "Synthèse de l’alerte", + "xpack.securitySolution.assistant.quickPrompts.AutomationPrompt": "Quelle intégration d’Elastic Agent activée par Fleet dois-je utiliser pour collecter des logs et des évènements de :", + "xpack.securitySolution.assistant.quickPrompts.AutomationTitle": "Conseil sur l’intégration d’agent", + "xpack.securitySolution.assistant.quickPrompts.ruleCreationPrompt": "En tant qu’utilisateur expert d’Elastic Security, veuillez générer une requête EQL valide et précise pour détecter le cas d’utilisation ci-dessous. Votre réponse doit être formatée pour pouvoir être utilisée immédiatement dans une chronologie ou une règle de détection d’Elastic Security. Si Elastic Security a déjà une règle prédéfinie pour le cas d’utilisation ou pour un cas similaire, veuillez fournir un lien vers cette règle et la décrire.", + "xpack.securitySolution.assistant.quickPrompts.ruleCreationTitle": "Génération de requête", + "xpack.securitySolution.assistant.quickPrompts.splQueryConversionPrompt": "J’ai la requête suivante d’une plateforme SIEM précédente. En tant qu’utilisateur expert d’Elastic Security, veuillez suggérer un équivalent EQL Elastic. Je dois être capable de la copier immédiatement dans une chronologie Elastic Security.", + "xpack.securitySolution.assistant.quickPrompts.splQueryConversionTitle": "Conversion de requête", + "xpack.securitySolution.assistant.quickPrompts.threatInvestigationGuidesPrompt": "En tant qu’utilisateur expert d’Elastic Security, d’Elastic Agent et de pipelines d'ingestion, veuillez donner des instructions précises et formatées, étape par étape, sur comment ingérer les données suivantes à l’aide d’Elastic Agent et de Fleet dans Kibana, et comment les convertir dans Elastic Common Schema :", + "xpack.securitySolution.assistant.quickPrompts.threatInvestigationGuidesTitle": "Assistant d’ingestion de données personnalisées", + "xpack.securitySolution.assistant.quickPrompts.workflowAnalysisPrompt": "En tant qu’utilisateur expert d’Elastic Security, veuillez suggérer un workflow, avec des instructions étape par étape pour :", + "xpack.securitySolution.assistant.quickPrompts.workflowAnalysisTitle": "Suggestion de workflow", + "xpack.securitySolution.assistant.title": "Assistant d’intelligence artificielle d’Elastic", "xpack.securitySolution.auditd.abortedAuditStartupDescription": "démarrage de l'audit abandonné", "xpack.securitySolution.auditd.accessErrorDescription": "erreur d'accès", "xpack.securitySolution.auditd.accessPermissionDescription": "autorisation d'accès", @@ -29637,11 +30857,16 @@ "xpack.securitySolution.blocklist.warnings.values.wildcardPresent": "L’utilisation d'un caractère générique dans le nom de fichier affectera les performances du point de terminaison.", "xpack.securitySolution.bulkActions.acknowledgedAlertFailedToastMessage": "Impossible de marquer l'alerte ou les alertes comme reconnues", "xpack.securitySolution.bulkActions.acknowledgedSelectedTitle": "Marquer comme reconnue", + "xpack.securitySolution.bulkActions.alertTagsContextMenuItemTitle": "Gérer les balises d’alerte", + "xpack.securitySolution.bulkActions.alertTagsMenuEmptyMessage": "Aucune option de balise n’existe, ajoutez des options de balises dans les paramètres avancés.", + "xpack.securitySolution.bulkActions.alertTagsMenuSearchNoTagsFoundMessage": "Aucune balise ne correspond à la recherche actuelle", + "xpack.securitySolution.bulkActions.alertTagsMenuSearchPlaceholderMessage": "Balises de recherche", "xpack.securitySolution.bulkActions.closedAlertFailedToastMessage": "Impossible de fermer l'alerte ou les alertes.", "xpack.securitySolution.bulkActions.closeSelectedTitle": "Marquer comme fermé", "xpack.securitySolution.bulkActions.openedAlertFailedToastMessage": "Impossible d'ouvrir l'alerte/les alertes", "xpack.securitySolution.bulkActions.openSelectedTitle": "Marquer comme ouvert", "xpack.securitySolution.bulkActions.updateAlertStatusFailedSingleAlert": "Impossible de mettre à jour l'alerte, car elle était déjà en cours de modification.", + "xpack.securitySolution.bulkActions.updateAlertTagsFailedToastMessage": "Impossible de mettre à jour les balises d’alerte.", "xpack.securitySolution.callouts.dismissButton": "Rejeter", "xpack.securitySolution.cases.pageTitle": "Cas", "xpack.securitySolution.certificate.fingerprint.clientCertLabel": "certification client", @@ -29804,8 +31029,8 @@ "xpack.securitySolution.createPackagePolicy.stepConfigure.enablePrevention": "Sélectionner les paramètres de configuration", "xpack.securitySolution.createPackagePolicy.stepConfigure.endpointDropdownOption": "Points de terminaison traditionnels (ordinateurs de bureau, ordinateurs portables, machines virtuelles)", "xpack.securitySolution.createPackagePolicy.stepConfigure.endpointDropdownOptionDataCollection": "Collection de données", - "xpack.securitySolution.createPackagePolicy.stepConfigure.endpointDropdownOptionEDRComplete": "Complete EDR (Endpoint Detection & Response)", - "xpack.securitySolution.createPackagePolicy.stepConfigure.endpointDropdownOptionEDREssential": "Essential EDR (Endpoint Detection & Response)", + "xpack.securitySolution.createPackagePolicy.stepConfigure.endpointDropdownOptionEDRComplete": "Complete EDR (Endpoint Detection & Response)", + "xpack.securitySolution.createPackagePolicy.stepConfigure.endpointDropdownOptionEDREssential": "Essential EDR (Endpoint Detection & Response)", "xpack.securitySolution.createPackagePolicy.stepConfigure.endpointDropdownOptionEDRNote": "Remarque : les protections avancées requièrent une licence Platinum, et les fonctionnalités complètes de réponse requièrent une licence Enterprise.", "xpack.securitySolution.createPackagePolicy.stepConfigure.endpointDropdownOptionNGAV": "Next-Generation Antivirus (NGAV)", "xpack.securitySolution.createPackagePolicy.stepConfigure.endpointDropdownOptionNGAVNote": "Remarque : les protections avancées requièrent un niveau de licence Platinum.", @@ -29865,9 +31090,17 @@ "xpack.securitySolution.dataQualityDashboard.betaBadge": "Bêta", "xpack.securitySolution.dataQualityDashboard.elasticCommonSchemaReferenceLink": "Elastic Common Schema (ECS)", "xpack.securitySolution.dataQualityDashboard.pageTitle": "Qualité des données", + "xpack.securitySolution.dataView.fetchFields.warning": "Impossible de récupérer les informations de champs détaillées", "xpack.securitySolution.dataViewSelectorText1": "Utiliser Kibana ", "xpack.securitySolution.dataViewSelectorText2": " ou spécifier un(e) ", "xpack.securitySolution.dataViewSelectorText3": " comme source de données de votre règle à utiliser pour la recherche.", + "xpack.securitySolution.defaultAlertTags.duplicate": "Dupliquer", + "xpack.securitySolution.defaultAlertTags.falsePositive": "Faux positif", + "xpack.securitySolution.defaultAlertTags.furtherInvestigationRequired": "Un examen approfondi est nécessaire", + "xpack.securitySolution.detectionEngine.actionNotifyWhen.forEachOption": "Pour chaque alerte. Par exécution de la règle.", + "xpack.securitySolution.detectionEngine.actionNotifyWhen.periodically": "Périodiquement", + "xpack.securitySolution.detectionEngine.actionNotifyWhen.summaryOption": "Résumé des alertes. Par exécution de la règle.", + "xpack.securitySolution.detectionEngine.actionsSectionLabel": "Actions", "xpack.securitySolution.detectionEngine.alerts.acknowledgedAlertFailedToastMessage": "Impossible de marquer l'alerte ou les alertes comme reconnues", "xpack.securitySolution.detectionEngine.alerts.acknowledgedAlertsTitle": "Reconnue(s)", "xpack.securitySolution.detectionEngine.alerts.actions.addBulkToTimeline": "Investiguer dans la chronologie", @@ -29992,7 +31225,7 @@ "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldFalsePositiveLabel": "Exemples de faux positifs", "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldLicenseHelpText": "Ajouter un nom de licence", "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldLicenseLabel": "Licence", - "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldMitreThreatLabel": "MITRE ATT&CK\\u2122", + "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldMitreThreatLabel": "MITRE ATT&CK\\u2122", "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldNameLabel": "Nom", "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldNewTermsFieldHelpText": "Sélectionnez un champ pour vérifier les nouveaux termes.", "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldReferenceUrlsLabel": "URL de référence", @@ -30029,9 +31262,11 @@ "xpack.securitySolution.detectionEngine.createRule.stepAboutRuleForm.severityOptionHighDescription": "Élevé", "xpack.securitySolution.detectionEngine.createRule.stepAboutRuleForm.severityOptionLowDescription": "Bas", "xpack.securitySolution.detectionEngine.createRule.stepAboutRuleForm.severityOptionMediumDescription": "Moyenne", - "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsDoNotSuppressLabel": "Ne pas supprimer", - "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsLabel": "Si le champ \"Supprimer par\" n'existe pas", - "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsSuppressLabel": "Supprimer quand une valeur de champ est manquante", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsDoNotSuppressLabel": "Ne pas supprimer d’alertes pour les événements avec des champs manquants", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsLabel": "Si un champ de suppression est manquant", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsSuppressLabel": "Supprimer et regrouper les alertes pour les évènements avec des champs manquants", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsTooltipLink": "En savoir plus", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsTooltipSuppressByDescription": "Supprimer les alertes par", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.customQueryFieldInvalidError": "Le KQL n'est pas valide", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.customQueryFieldRequiredError": "Une requête personnalisée est requise.", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.customThreatQueryFieldRequiredEmptyError": "Toutes les correspondances requièrent un champ et un champ d'index des menaces.", @@ -30045,6 +31280,7 @@ "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldMachineLearningJobIdLabel": "Tâche de Machine Learning", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldQuerBarLabel": "Requête personnalisée", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldRuleTypeLabel": "Type de règle", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldShouldLoadQueryDynamicallyLabelWithoutName": "Charger la requête enregistrée de façon dynamique dans chaque exécution de règle", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldThreatIndexPatternsLabel": "Modèles d'indexation d'indicateur", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldThreatMappingLabel": "Mapping d'indicateur", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldThreatQueryBarLabel": "Requête d'index d'indicateur", @@ -30085,10 +31321,11 @@ "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.savedQueryFieldRequiredError": "Impossible de charger la requête enregistrée. Sélectionnez-en une nouvelle ou ajoutez une requête personnalisée.", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.SavedQueryFormRowLabel": "Requête enregistrée", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.source": "Source", - "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.suppressionMissingFieldsLabel": "Si le champ \"Supprimer par\" n'existe pas", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.suppressionMissingFieldsLabel": "Si un champ de suppression est manquant", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.threatMatchingIcesHelperDescription": "Sélectionner des index de menaces", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.threatMatchoutputIndiceNameFieldRequiredError": "Au minimum un modèle d'indexation est requis.", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.thresholdField.thresholdFieldPlaceholderText": "Tous les résultats", + "xpack.securitySolution.detectionEngine.createRule.stepRuleActions.docsLinkText": "En savoir plus", "xpack.securitySolution.detectionEngine.createRule.stepRuleActions.noReadActionsPrivileges": "Impossible de créer des actions de règle. Vous ne disposez pas des autorisations \"Lire\" pour le plug-in \"Actions\".", "xpack.securitySolution.detectionEngine.createRule.stepScheduleRule.completeWithEnablingTitle": "Créer et activer la règle", "xpack.securitySolution.detectionEngine.createRule.stepScheduleRule.completeWithoutEnablingTitle": "Créer la règle sans l’activer", @@ -30928,6 +32165,8 @@ "xpack.securitySolution.detectionEngine.noApiIntegrationKeyCallOutTitle": "Clé d'intégration d'API requise", "xpack.securitySolution.detectionEngine.noIndexTitle": "Configurons votre moteur de détection", "xpack.securitySolution.detectionEngine.pageTitle": "Moteur de détection", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.ruleInstallationFailed": "Échec de l’installation de la règle", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.ruleUpgradeFailed": "Échec de la mise à niveau de la règle", "xpack.securitySolution.detectionEngine.queryPreview.actions": "Actions", "xpack.securitySolution.detectionEngine.queryPreview.histogramDisclaimer": "Remarque : Les alertes ayant plusieurs valeurs event.category seront comptées plusieurs fois.", "xpack.securitySolution.detectionEngine.queryPreview.mlHistogramDisclaimer": "Remarque : Les alertes ayant plusieurs valeurs host.name seront comptées plusieurs fois.", @@ -30950,10 +32189,10 @@ "xpack.securitySolution.detectionEngine.relatedIntegrations.uninstalledTitle": "Non installé", "xpack.securitySolution.detectionEngine.relatedIntegrations.uninstalledTooltip": "L’intégration n’est pas installée. Suivez le lien d'intégration pour installer et configurer l'intégration.", "xpack.securitySolution.detectionEngine.rule.editRule.actionSectionsTitle": "Actions", - "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionDoNotSuppressOnMissingFieldsDescription": "Ne pas supprimer", + "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionDoNotSuppressOnMissingFieldsDescription": "Ne pas supprimer d’alertes pour les événements avec des champs manquants", "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionInsufficientLicense": "La suppression d'alertes est configurée mais elle ne sera pas appliquée en raison d'une licence insuffisante", "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionPerRuleExecution": "Exécution d'une règle", - "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionSuppressOnMissingFieldsDescription": "Supprimer quand une valeur de champ est manquante", + "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionSuppressOnMissingFieldsDescription": "Supprimer et regrouper les alertes pour les événements avec des champs manquants", "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionTechnicalPreview": "Version d'évaluation technique", "xpack.securitySolution.detectionEngine.ruleDescription.eqlEventCategoryFieldLabel": "Champ de catégorie d'événement", "xpack.securitySolution.detectionEngine.ruleDescription.eqlTiebreakerFieldLabel": "Champ de départage", @@ -30965,11 +32204,16 @@ "xpack.securitySolution.detectionEngine.ruleDescription.mlStopJobLabel": "Arrêter la tâche", "xpack.securitySolution.detectionEngine.ruleDescription.thresholdResultsAggregatedByDescription": "Résultats agrégés par", "xpack.securitySolution.detectionEngine.ruleDescription.thresholdResultsAllDescription": "Tous les résultats", + "xpack.securitySolution.detectionEngine.ruleDetails.actions.actionsFetchErrorDescription": "L’affichage des actions n'est pas disponible", + "xpack.securitySolution.detectionEngine.ruleDetails.actions.connectorsFetchError": "Impossible de récupérer les connecteurs", + "xpack.securitySolution.detectionEngine.ruleDetails.actions.connectorTypesFetchError": "Impossible de récupérer les types de connecteurs", "xpack.securitySolution.detectionEngine.ruleDetails.backToRulesButton": "Règles", "xpack.securitySolution.detectionEngine.ruleDetails.deletedRule": "Règle supprimée", "xpack.securitySolution.detectionEngine.ruleDetails.enableRuleLabel": "Activer", "xpack.securitySolution.detectionEngine.ruleDetails.endpointExceptionsTab": "Exceptions de point de terminaison", + "xpack.securitySolution.detectionEngine.ruleDetails.notificationActions": "Actions de notifications", "xpack.securitySolution.detectionEngine.ruleDetails.pageTitle": "Détails de la règle", + "xpack.securitySolution.detectionEngine.ruleDetails.responseActions": "Actions de réponse", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExceptionsTab": "Exceptions de règle", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionEventsTab": "Événements d’exécution", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.actionFieldNotFoundErrorDescription": "Impossible de trouver le champ \"kibana.alert.rule.execution.uuid\" dans l'index des alertes.", @@ -30979,10 +32223,14 @@ "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.actionSearchFiltersUpdatedDescription": "Les filtres de recherche ont été mis à jour pour afficher les alertes à partir de l'exécution de la règle sélectionnée", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.actionSearchFiltersUpdatedRestoreButtonTitle": "Restaurer les filtres précédents", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.actionSearchFiltersUpdatedTitle": "Les filtres de recherche globale ont été mis à jour", + "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.collapse": "Réduire", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.durationColumn": "Durée", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.durationColumnTooltip": "Temps passé sur l'exécution de la règle (hh:mm:ss:SSS).", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.durationGreaterThanYearDescription": "> 1 an", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.durationNotAvailableDescription": "S. O.", + "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.expand": "Développer", + "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.expandRow": "Développer les lignes", + "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.fullMessage": "Message complet", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.gapDurationColumn": "Durée d'écart", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.gapTooltipSeeDocsDescription": "consultez la documentation", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.indexDurationColumn": "Durée de l'index", @@ -31003,6 +32251,14 @@ "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.timestampColumnTooltip": "Date et heures auxquelles l'exécution de la règle a été lancée.", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionResultsTab": "Résultats d'exécution", "xpack.securitySolution.detectionEngine.ruleDetails.unknownDescription": "Inconnu", + "xpack.securitySolution.detectionEngine.ruleManagement.detectionRulesConversationId": "Règles de détection", + "xpack.securitySolution.detectionEngine.ruleManagement.explainThenSummarizeRuleDetails": "Veuillez expliquer les règles sélectionnées ci-dessus. Pour chaque règle : indiquez pourquoi la règle est pertinente, la requête telle qu'elle est publiée dans le référentiel de règles de détection d'Elastic, ainsi qu'une explication approfondie de celle-ci et ce qu'elle implique généralement pour une organisation si elle est détectée.", + "xpack.securitySolution.detectionEngine.ruleManagement.ruleManagementContextDescription": "Règles de détection sélectionnées", + "xpack.securitySolution.detectionEngine.ruleManagement.ruleManagementContextTooltip": "Ajouter cette alerte comme contexte", + "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.allRules.tabs.addRules": "Ajouter des règles", + "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.allRules.tabs.monitoring": "Monitoring des règles", + "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.allRules.tabs.rules": "Règles installées", + "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.allRules.tabs.updates": "Mises à jour de règles", "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.mlJobsWarning.popover.buttonLabel": "Visitez la page des détails de règle pour effectuer votre investigation", "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.mlJobsWarning.popover.description": "Les tâches suivantes ne sont pas en cours d'exécution et la règle pourra donc générer des résultats incorrects :", "xpack.securitySolution.detectionEngine.ruleMonitoring.eventTypeFilter.filterTitle": "Type d'événement", @@ -31026,8 +32282,14 @@ "xpack.securitySolution.detectionEngine.ruleNotifyWhen.onThrottleInterval.display": "Fréquence personnalisée", "xpack.securitySolution.detectionEngine.ruleNotifyWhen.onThrottleInterval.label": "Fréquence personnalisée", "xpack.securitySolution.detectionEngine.rules.aboutRuleTitle": "À propos de la règle", + "xpack.securitySolution.detectionEngine.rules.addElasticRulesButtonTitle": "Ajouter des règles Elastic", "xpack.securitySolution.detectionEngine.rules.addNewRuleTitle": "Créer une nouvelle règle", "xpack.securitySolution.detectionEngine.rules.addPageTitle": "Créer", + "xpack.securitySolution.detectionEngine.rules.addRules.installAllButtonTitle": "Tout installer", + "xpack.securitySolution.detectionEngine.rules.addRules.noRulesBodyTitle": "Il n'y a pas de règles de détection prédéfinies disponibles pour l'installation", + "xpack.securitySolution.detectionEngine.rules.addRules.noRulesTitle": "Toutes les règles Elastic ont été installées", + "xpack.securitySolution.detectionEngine.rules.addRules.pageTitle": "Ajouter des règles Elastic", + "xpack.securitySolution.detectionEngine.rules.addRules.searchBarPlaceholder": "Rechercher par nom de règle", "xpack.securitySolution.detectionEngine.rules.all.exceptions.actionsTitle": "Actions", "xpack.securitySolution.detectionEngine.rules.all.exceptions.dateCreatedTitle": "Date de création", "xpack.securitySolution.detectionEngine.rules.all.exceptions.dateUpdatedTitle": "Date de dernière modification", @@ -31072,7 +32334,7 @@ "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.errorToastTitle": "Erreur lors de la duplication de la règle", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.cancelButton": "Annuler", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.continueButton": "Dupliquer", - "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.tooltip": " Si vous choisissez de dupliquer les exceptions, la liste des exceptions partagée sera dupliquée par référence et les exceptions de règle seront copiées et créées de nouveau", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.tooltip": "Les éléments d’exception associés à des règles individuelles sont dupliqués. Les éléments d’exception liés à des listes d’exceptions partagées ne le sont pas. Au lieu de cela, les règles dupliquées feront référence aux listes d’exceptions partagées qui contiennent les éléments d’exception.", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.successToastTitle": "Règles dupliquées", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicateTitle": "Dupliquer", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.addRuleActions.formTitle": "Ajouter des actions sur les règles", @@ -31121,7 +32383,7 @@ "xpack.securitySolution.detectionEngine.rules.allRules.exportFilenameTitle": "rules_export", "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.nextStepLabel": "Aller à l'étape suivante", "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.previousStepLabel": "Revenir à l'étape précédente", - "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.searchCapabilitiesDescription": "Il est maintenant possible de rechercher des règles par modèle d'indexation, tel que \"filebeat-*\", ou par tactique ou technique MITRE ATT&CK™, telle que \"Évasion par la défense \" ou \"TA0005\".", + "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.searchCapabilitiesDescription": "Il est maintenant possible de rechercher des règles par modèle d'indexation, tel que \"filebeat-*\", ou par tactique ou technique MITRE ATT&CK™, telle que \"Évasion par la défense \" ou \"TA0005\".", "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.searchCapabilitiesTitle": "Capacités de recherche améliorées", "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.tourTitle": "Nouveautés", "xpack.securitySolution.detectionEngine.rules.allRules.filters.customRulesTitle": "Règles personnalisées", @@ -31131,12 +32393,13 @@ "xpack.securitySolution.detectionEngine.rules.allRules.filters.noRulesBodyTitle": "Nous n'avons trouvé aucune règle avec les filtres ci-dessus.", "xpack.securitySolution.detectionEngine.rules.allRules.filters.noRulesTitle": "Aucune règle n'a été trouvée", "xpack.securitySolution.detectionEngine.rules.allRules.filters.noTagsAvailableDescription": "Aucune balise disponible", + "xpack.securitySolution.detectionEngine.rules.allRules.filters.ruleExecutionStatusFilter": "Sélectionnez le statut d’exécution de la règle sur lequel vous souhaitez effectuer un filtrage", "xpack.securitySolution.detectionEngine.rules.allRules.filters.rulesTagSearchText": "Recherche de balise des règles", "xpack.securitySolution.detectionEngine.rules.allRules.filters.searchTagsPlaceholder": "Balises de recherche", "xpack.securitySolution.detectionEngine.rules.allRules.filters.tagsLabel": "Balises", "xpack.securitySolution.detectionEngine.rules.allRules.refreshTitle": "Actualiser", "xpack.securitySolution.detectionEngine.rules.allRules.searchAriaLabel": "Rechercher les règles", - "xpack.securitySolution.detectionEngine.rules.allRules.searchPlaceholder": "Nom de règle, modèle d'indexation (par ex., \"filebeat-*\") ou tactique ou méthode MITRE ATT&CK™ (par ex., \"Évasion par la défense \" ou \"TA0005\")", + "xpack.securitySolution.detectionEngine.rules.allRules.searchPlaceholder": "Nom de règle, modèle d'indexation (par ex., \"filebeat-*\") ou tactique ou méthode MITRE ATT&CK™ (par ex., \"Évasion par la défense \" ou \"TA0005\")", "xpack.securitySolution.detectionEngine.rules.allRules.tabs.monitoring": "Monitoring des règles", "xpack.securitySolution.detectionEngine.rules.allRules.tabs.rules": "Règles", "xpack.securitySolution.detectionEngine.rules.clearRulesTableFilters": "Effacer les filtres", @@ -31147,6 +32410,7 @@ "xpack.securitySolution.detectionEngine.rules.continueButtonTitle": "Continuer", "xpack.securitySolution.detectionEngine.rules.defineRuleTitle": "Définir la règle", "xpack.securitySolution.detectionEngine.rules.deleteDescription": "Supprimer", + "xpack.securitySolution.detectionEngine.rules.dismissTitle": "Rejeter", "xpack.securitySolution.detectionEngine.rules.editPageTitle": "Modifier", "xpack.securitySolution.detectionEngine.rules.guidedOnboarding.enableFirstRule.title": "Activer la règle", "xpack.securitySolution.detectionEngine.rules.guidedOnboarding.installPrebuiltRules.content": "Pour commencer, vous devez charger les règles prédéfinies d'Elastic.", @@ -31157,6 +32421,7 @@ "xpack.securitySolution.detectionEngine.rules.loadPrePackagedRulesAndTemplatesButton": "Charger les règles prédéfinies d'Elastic et les modèles de chronologie", "xpack.securitySolution.detectionEngine.rules.loadPrePackagedRulesButton": "Charger les règles prédéfinies d'Elastic", "xpack.securitySolution.detectionEngine.rules.loadPrePackagedTimelineTemplatesButton": "Charger les modèles de chronologie prédéfinis d'Elastic", + "xpack.securitySolution.detectionEngine.rules.newPrebuiltRulesCalloutTitle": "De nouvelles règles Elastic sont prêtes à être installées. Cliquez sur le bouton \"Ajouter des règles Elastic\" pour vérifier et installer.", "xpack.securitySolution.detectionEngine.rules.optionalFieldDescription": "Facultatif", "xpack.securitySolution.detectionEngine.rules.pageTitle": "Règles", "xpack.securitySolution.detectionEngine.rules.prePackagedRules.createOwnRuletButton": "Créer vos propres règles", @@ -31167,13 +32432,19 @@ "xpack.securitySolution.detectionEngine.rules.refreshRulePopoverSelectionHelpText": "Remarque : L'actualisation est désactivée tant qu'il y a une sélection active.", "xpack.securitySolution.detectionEngine.rules.releaseNotesHelp": "Notes de publication", "xpack.securitySolution.detectionEngine.rules.ruleActionsTitle": "Actions sur les règles", + "xpack.securitySolution.detectionEngine.rules.ruleUpdatesLinkTitle": "Mises à jour de règles", "xpack.securitySolution.detectionEngine.rules.scheduleRuleTitle": "Planifier la règle", "xpack.securitySolution.detectionEngine.rules.stepAboutTitle": "À propos", "xpack.securitySolution.detectionEngine.rules.stepActionsTitle": "Actions", "xpack.securitySolution.detectionEngine.rules.stepDefinitionTitle": "Définition", "xpack.securitySolution.detectionEngine.rules.stepScheduleTitle": "Planification", + "xpack.securitySolution.detectionEngine.rules.tour.createRuleTourContent.eql": "EQL vous permet désormais de spécifier quels événements ne doivent pas se produire dans une séquence", "xpack.securitySolution.detectionEngine.rules.tour.createRuleTourTitle": "De nouvelles fonctionnalités de règle de sécurité sont disponibles", "xpack.securitySolution.detectionEngine.rules.updateButtonTitle": "Mettre à jour", + "xpack.securitySolution.detectionEngine.rules.upgradeRules.noRulesBodyTitle": "Il n’y a actuellement aucune mise à jour disponible pour vos règles Elastic installées.", + "xpack.securitySolution.detectionEngine.rules.upgradeRules.noRulesTitle": "Toutes les règles Elastic sont à jour", + "xpack.securitySolution.detectionEngine.rules.upgradeRules.searchBarPlaceholder": "Rechercher par nom de règle", + "xpack.securitySolution.detectionEngine.rules.upgradeRules.upgradeAll": "Tout mettre à jour", "xpack.securitySolution.detectionEngine.rulesSnoozeBadge.error.unableToFetch": "Impossible de récupérer les paramètres de répétition", "xpack.securitySolution.detectionEngine.ruleStatus.errorCalloutTitle": "Échec de règle à", "xpack.securitySolution.detectionEngine.ruleStatus.partialErrorCalloutTitle": "Avertissement à", @@ -31207,7 +32478,9 @@ "xpack.securitySolution.detectionResponse.caseColumnStatus": "Statut", "xpack.securitySolution.detectionResponse.caseColumnTime": "Heure", "xpack.securitySolution.detectionResponse.casesByStatusSectionTitle": "Cas", + "xpack.securitySolution.detectionResponse.casesByStatusSectionTooltip": "Le tableau des cas ne peut pas être filtré via la recherche KQL globale du SIEM.", "xpack.securitySolution.detectionResponse.caseSectionTitle": "Cas récemment créés", + "xpack.securitySolution.detectionResponse.caseSectionTooltip": "Le tableau des cas récemment créés ne peut pas être filtré via la recherche KQL globale du SIEM.", "xpack.securitySolution.detectionResponse.criticalAlerts": "Alertes critiques ouvertes", "xpack.securitySolution.detectionResponse.criticalAlertsDescription": "Nombre d'alertes critiques ouvertes pour la plage temporelle actuelle", "xpack.securitySolution.detectionResponse.errorMessage": "Erreur lors de la récupération des données de cas", @@ -31283,6 +32556,7 @@ "xpack.securitySolution.effectedPolicySelect.viewPolicyLinkLabel": "Afficher la politique", "xpack.securitySolution.emptyString.emptyStringDescription": "Chaîne vide", "xpack.securitySolution.enableRiskScore.enableRiskScorePopoverTitle": "Les alertes doivent être disponibles avant d'activer le module", + "xpack.securitySolution.endpoint.action.chooseFromTheList": "Choisissez une action dans la liste", "xpack.securitySolution.endpoint.action.permissionDenied": "Autorisation refusée", "xpack.securitySolution.endpoint.actions.agentDetails": "Afficher les détails de l'agent", "xpack.securitySolution.endpoint.actions.agentPolicy": "Afficher la politique de l'agent", @@ -31436,8 +32710,12 @@ "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.base_url": "URL de base à partir de laquelle télécharger les manifestes d'artefacts globaux. Par défaut : https://artifacts.security.elastic.co.", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.interval": "Intervalle entre les tentatives de téléchargement du manifeste des artefacts globaux, en secondes. Par défaut : 3 600.", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.manifest_relative_url": "URL relative à partir de laquelle télécharger les manifestes d'artefacts globaux. Par défaut : /downloads/endpoint/manifest/artifacts-.zip.", + "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.proxy_disable": "Si le paramètre de proxy doit être utilisé lors du téléchargement de manifestes d’artefacts globaux. Valeur par défaut : false", + "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.proxy_url": "Le serveur proxy à utiliser lors du téléchargement de manifestes d’artefacts globaux. Par défaut : aucun", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.public_key": "Clé publique à encodage PEM utilisée pour vérifier la signature du manifeste d'artefacts globaux.", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.user.ca_cert": "Certificat à encodage PEM pour l'autorité de certificat du serveur Fleet.", + "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.user.proxy_disable": "Si le paramètre de proxy doit être utilisé lors du téléchargement de manifestes d’artefacts d’utilisateur. Valeur par défaut : false", + "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.user.proxy_url": "Le serveur proxy à utiliser lors du téléchargement de manifestes d’artefacts d’utilisateur. Par défaut : aucun", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.user.public_key": "Clé publique à encodage PEM utilisée pour vérifier la signature du manifeste d'artefacts d'utilisateur.", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.capture_env_vars": "Liste des variables d'environnement à capturer (jusqu'à cinq), séparées par des virgules.", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.diagnostic.enabled": "La valeur \"false\" désactive les fonctionnalités de diagnostic sur Endpoint. Par défaut : true.", @@ -31466,8 +32744,12 @@ "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.base_url": "URL à partir de laquelle télécharger les manifestes d'artefacts globaux.", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.interval": "Intervalle entre les tentatives de téléchargement du manifeste des artefacts globaux, en secondes. Par défaut : 3 600.", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.manifest_relative_url": "URL relative à partir de laquelle télécharger les manifestes d'artefacts globaux. Par défaut : /downloads/endpoint/manifest/artifacts-.zip.", + "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.proxy_disable": "Si le paramètre de proxy doit être utilisé lors du téléchargement de manifestes d’artefacts globaux. Valeur par défaut : false", + "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.proxy_url": "Le serveur proxy à utiliser lors du téléchargement de manifestes d’artefacts globaux. Par défaut : aucun", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.public_key": "Clé publique à encodage PEM utilisée pour vérifier la signature du manifeste d'artefacts globaux.", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.user.ca_cert": "Certificat à encodage PEM pour l'autorité de certificat du serveur Fleet.", + "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.user.proxy_disable": "Si le paramètre de proxy doit être utilisé lors du téléchargement de manifestes d’artefacts d’utilisateur. Valeur par défaut : false", + "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.user.proxy_url": "Le serveur proxy à utiliser lors du téléchargement de manifestes d’artefacts d’utilisateur. Par défaut : aucun", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.user.public_key": "Clé publique à encodage PEM utilisée pour vérifier la signature du manifeste d'artefacts d'utilisateur.", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.capture_env_vars": "Liste des variables d'environnement à capturer (jusqu'à cinq), séparées par des virgules.", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.diagnostic.enabled": "La valeur \"false\" désactive les fonctionnalités de diagnostic sur Endpoint. Par défaut : true.", @@ -31493,11 +32775,16 @@ "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.agent.connection_delay": "Combien de temps attendre la connectivité de l'agent avant d'envoyer la première réponse de politique, en secondes. Par défaut : 60.", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.alerts.cloud_lookup": "La valeur \"false\" désactive la recherche dans le cloud pour les alertes Windows. Par défaut : true.", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.alerts.rollback.self_healing.enabled": "L'autoréparation efface les éléments laissés par l'attaque lorsque des alertes de prévention sont déclenchées. Attention : des données peuvent être perdues. Valeur par défaut : false", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.alerts.rollback.self_healing.registry_enabled": "Permet la réparation automatique des artefacts de logiciels malveillants basés sur le registre. Requiert que rollback.self_healing.enabled soit également activé. Par défaut : true.", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.base_url": "URL à partir de laquelle télécharger les manifestes d'artefacts globaux.", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.interval": "Intervalle entre les tentatives de téléchargement du manifeste des artefacts globaux, en secondes. Par défaut : 3 600.", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.manifest_relative_url": "URL relative à partir de laquelle télécharger les manifestes d'artefacts globaux. Par défaut : /downloads/endpoint/manifest/artifacts-.zip.", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.proxy_disable": "Si le paramètre de proxy doit être utilisé lors du téléchargement de manifestes d’artefacts globaux. Valeur par défaut : false", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.proxy_url": "Le serveur proxy à utiliser lors du téléchargement de manifestes d’artefacts globaux. Par défaut : aucun", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.public_key": "Clé publique à encodage PEM utilisée pour vérifier la signature du manifeste d'artefacts globaux.", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.user.ca_cert": "Certificat à encodage PEM pour l'autorité de certificat du serveur Fleet.", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.user.proxy_disable": "Si le paramètre de proxy doit être utilisé lors du téléchargement de manifestes d’artefacts d’utilisateur. Valeur par défaut : false", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.user.proxy_url": "Le serveur proxy à utiliser lors du téléchargement de manifestes d’artefacts d’utilisateur. Par défaut : aucun", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.user.public_key": "Clé publique à encodage PEM utilisée pour vérifier la signature du manifeste d'artefacts d'utilisateur.", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.diagnostic.enabled": "La valeur \"false\" désactive les fonctionnalités de diagnostic sur Endpoint. Par défaut : true.", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.diagnostic.rollback_telemetry_enabled": "Activez la télémétrie de restauration de diagnostic. Par défaut : true.", @@ -31506,6 +32793,12 @@ "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.elasticsearch.tls.verify_hostname": "S'il faut vérifier que le nom d'hôte du pair est celui indiqué dans le certificat. Par défaut : true.", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.elasticsearch.tls.verify_peer": "S'il faut vérifier les certificats présentés par le pair. Par défaut : true.", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.event_filter.default": "Téléchargez les règles de filtre d'événement par défaut depuis Elastic. Par défaut : true.", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.api": "Contrôle si les événements d’API sont activés. Définissez-le sur \"false\" pour désactiver la collection des évènements d’API. Par défaut : true.", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.callstacks.emit_in_events": "Si elles sont définies, les piles d’appel sont incluses dans des événements réguliers où elles sont collectées. Sinon, elles ne sont inclues que dans les événements qui déclenchent des règles de protection comportementale. Notez que définir ceci peut augmenter les volumes de données de manière significative. Valeur par défaut : false", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.callstacks.file": "Collecter les piles d’appel lors d’événements de fichiers ? Par défaut : true.", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.callstacks.image_load": "Collecter les piles d’appel lors des événements de chargement d’image/bibliothèque ? Par défaut : true.", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.callstacks.process": "Collecter les piles d’appel lors d’événements de processus ? Par défaut : true.", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.callstacks.registry": "Collecter les piles d’appel lors d’événements de registre ? Par défaut : true.", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.etw": "Activez la collection d'événements ETW. Par défaut : true.", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.kernel.asyncimageload": "La valeur \"false\" remplace tous les autres paramètres qui activeraient les événements de chargement d'image asynchrones dans le noyau. Par défaut : true.", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.kernel.connect": "S'il faut établir une connexion au pilote du noyau. Par défaut : true.", @@ -31775,10 +33068,19 @@ "xpack.securitySolution.endpointActionResponseCodes.killProcess.notPermittedSuccess": "Le processus spécifié ne peut pas être arrêté", "xpack.securitySolution.endpointActionResponseCodes.suspendProcess.notFoundError": "Le processus spécifié est introuvable", "xpack.securitySolution.endpointActionResponseCodes.suspendProcess.notPermittedSuccess": "Le processus spécifié ne peut pas être suspendu", + "xpack.securitySolution.endpointActionResponseCodes.upload.failure": "Échec du chargement", + "xpack.securitySolution.endpointActionResponseCodes.upload.fileAccessForbidden": "Échec de la récupération du fichier. L’accès est interdit (403) ou non autorisé (401)", + "xpack.securitySolution.endpointActionResponseCodes.upload.fileAlreadyExists": "Un fichier portant ce nom existe déjà. Utilisez l’argument \"--overwrite\" si vous souhaitez l’écraser", + "xpack.securitySolution.endpointActionResponseCodes.upload.fileCorruption": "Échec de l’enregistrement du fichier sur le disque ou de la validation de son intégrité", + "xpack.securitySolution.endpointActionResponseCodes.upload.fileNotFound": "Échec de la récupération du fichier. Le fichier est introuvable (404)", + "xpack.securitySolution.endpointActionResponseCodes.upload.fileTooLarge": "Échec de l’enregistrement du fichier. La taille dépasse la valeur maximale autorisée", + "xpack.securitySolution.endpointActionResponseCodes.upload.timeout": "Échec des tentatives de récupération du fichier en raison du délai d’expiration", "xpack.securitySolution.endpointConsoleCommands.emptyArgumentMessage": "L’argument ne peut pas être vide", "xpack.securitySolution.endpointConsoleCommands.entityId.arg.comment": "Un ID d’entité représentant le processus à arrêter", "xpack.securitySolution.endpointConsoleCommands.execute.about": "Exécuter une commande sur l'hôte", - "xpack.securitySolution.endpointConsoleCommands.execute.args.command.about": "La commande à exécuter", + "xpack.securitySolution.endpointConsoleCommands.execute.args.command.about": "La commande à exécuter.", + "xpack.securitySolution.endpointConsoleCommands.execute.args.command.aboutConsecutiveDashes": "Les tirets consécutifs multiples dans la valeur fournie doivent être échappés. Ex :", + "xpack.securitySolution.endpointConsoleCommands.execute.args.command.aboutQuotes": "Les guillemets fournis dans la valeur peuvent être utilisés sans échappement. Ex :", "xpack.securitySolution.endpointConsoleCommands.execute.args.timeout.about": "Le délai d'attente en unités de temps (h pour les heures, m pour les minutes, s pour les secondes) pendant lequel le point de terminaison attend la fin du script. Exemple : 37m. En l'absence de spécification, la valeur par défaut est de 4 heures.", "xpack.securitySolution.endpointConsoleCommands.getFile.about": "Récupérer un fichier à partir de l'hôte", "xpack.securitySolution.endpointConsoleCommands.getFile.pathArgAbout": "Chemin complet du fichier à récupérer", @@ -31796,6 +33098,9 @@ "xpack.securitySolution.endpointConsoleCommands.suspendProcess.entityId.arg.comment": "Un ID d’entité représentant le processus à suspendre", "xpack.securitySolution.endpointConsoleCommands.suspendProcess.pid.arg.comment": "Un PID représentant le processus à suspendre", "xpack.securitySolution.endpointConsoleCommands.suspendProcess.unsupportedCommandInfo": "Cette version du point de terminaison ne prend pas en charge cette commande. Mettez à niveau votre agent dans Fleet pour utiliser les toutes dernières actions de réponse.", + "xpack.securitySolution.endpointConsoleCommands.upload.about": "Charger un fichier sur un hôte", + "xpack.securitySolution.endpointConsoleCommands.upload.args.file.about": "Le fichier qui sera envoyé à l’hôte", + "xpack.securitySolution.endpointConsoleCommands.upload.args.overwrite.about": "Écraser le fichier sur l’hôte s’il existe déjà", "xpack.securitySolution.endpointDetails.activityLog.logEntry.action.endOfLog": "Pas d'autre élément à afficher", "xpack.securitySolution.endpointDetails.activityLog.logEntry.action.failedEndpointIsolateAction": "n'a pas pu envoyer la requête : Isoler l'hôte", "xpack.securitySolution.endpointDetails.activityLog.logEntry.action.failedEndpointReleaseAction": "n'a pas pu envoyer la requête : Libérer l'hôte", @@ -31835,9 +33140,15 @@ "xpack.securitySolution.endpointResponseActionsConsoleCommands.enterOrAddOptionalComment": "Appuyez sur Entrée pour exécuter ou ajouter un commentaire facultatif", "xpack.securitySolution.endpointResponseActionsConsoleCommands.enterPidOrEntityId": "Entrez un PID ou un ID d'entité à exécuter", "xpack.securitySolution.endpointsTab": "Points de terminaison", + "xpack.securitySolution.endpointUploadActionResult.freeDiskSpace": "Espace disque libre sur le lecteur", + "xpack.securitySolution.endpointUploadActionResult.host": "Hôte", + "xpack.securitySolution.endpointUploadActionResult.missingAgentResult": "Erreur : Résultat de l’agent manquant", + "xpack.securitySolution.endpointUploadActionResult.pendingMessage": "Action en attente.", + "xpack.securitySolution.endpointUploadActionResult.savedTo": "Fichier enregistré sous", "xpack.securitySolution.enpdoint.resolver.panelutils.invaliddate": "Date non valide", "xpack.securitySolution.enpdoint.resolver.panelutils.noTimestampRetrieved": "Aucun horodatage récupéré", "xpack.securitySolution.entityAnalytics.anomalies.anomaliesTitle": "Anomalies", + "xpack.securitySolution.entityAnalytics.anomalies.anomaliesTooltip": "Le tableau d'anomalies ne peut pas être filtré via la recherche KQL globale SIEM.", "xpack.securitySolution.entityAnalytics.anomalies.anomalyCount": "Décompte", "xpack.securitySolution.entityAnalytics.anomalies.AnomalyDetectionDocsTitle": "Détection des anomalies avec le Machine Learning", "xpack.securitySolution.entityAnalytics.anomalies.anomalyName": "Nom de l'anomalie", @@ -31855,7 +33166,10 @@ "xpack.securitySolution.entityAnalytics.hostsRiskDashboard.hostsTableTooltip": "Le tableau des risques de l'hôte n'est pas affecté par la plage temporelle. Ce tableau montre le dernier score de risque enregistré pour chaque hôte.", "xpack.securitySolution.entityAnalytics.hostsRiskDashboard.title": "Scores de risque de l'hôte", "xpack.securitySolution.entityAnalytics.pageDesc": "Détecter les menaces des utilisateurs et des hôtes de votre réseau avec l'Analyse des entités", + "xpack.securitySolution.entityAnalytics.riskDashboard.hostsTableTooltip": "Le panneau de Score de risque de l'hôte affiche la liste des hôtes à risque ainsi que leur dernier score de risque. Vous pouvez filtrer cette liste à l’aide de filtres globaux dans la barre de recherche KQL. Le filtre de sélecteur de plage temporelle affiche les alertes dans l’intervalle de temps sélectionné uniquement et ne filtre pas la liste des hôtes à risque.", "xpack.securitySolution.entityAnalytics.riskDashboard.learnMore": "En savoir plus", + "xpack.securitySolution.entityAnalytics.riskDashboard.tableTooltipTitle": "En version d'évaluation technique", + "xpack.securitySolution.entityAnalytics.riskDashboard.usersTableTooltip": "Le panneau de score de risque de l'utilisateur affiche la liste des utilisateurs à risque et leur dernier score de risque. Vous pouvez filtrer cette liste à l’aide de filtres globaux dans la barre de recherche KQL. Le filtre de sélecteur de plage temporelle affiche uniquement les alertes dans l’intervalle de temps sélectionné et ne filtre pas la liste des utilisateurs à risque.", "xpack.securitySolution.entityAnalytics.riskDashboard.viewAllLabel": "Afficher tout", "xpack.securitySolution.entityAnalytics.technicalPreviewLabel": "Version d'évaluation technique", "xpack.securitySolution.entityAnalytics.totalLabel": "Total", @@ -31878,8 +33192,11 @@ "xpack.securitySolution.eventDetails.multiFieldBadge": "champ multiple", "xpack.securitySolution.eventDetails.multiFieldTooltipContent": "Les champs multiples peuvent avoir plusieurs valeurs.", "xpack.securitySolution.eventDetails.osqueryView": "Résultats Osquery", + "xpack.securitySolution.eventDetails.responseActionsView": "Résultats de la réponse", + "xpack.securitySolution.eventDetails.summaryView": "résumé", "xpack.securitySolution.eventDetails.table": "Tableau", "xpack.securitySolution.eventDetails.table.actions": "Actions", + "xpack.securitySolution.eventDetails.timelineView": "Chronologie", "xpack.securitySolution.eventDetails.value": "Valeur", "xpack.securitySolution.eventDetails.viewAllFields": "Afficher tous les champs dans le tableau", "xpack.securitySolution.eventFilter.form.description.placeholder": "Description", @@ -32083,6 +33400,7 @@ "xpack.securitySolution.expandedValue.links.viewRuleReference": "Afficher la référence de la règle", "xpack.securitySolution.expandedValue.links.viewUserSummary": "Afficher le résumé de l'utilisateur", "xpack.securitySolution.expandedValue.showTopN.showTopValues": "Afficher les valeurs les plus élevées", + "xpack.securitySolution.explore.landing.pageTitle": "Explorer", "xpack.securitySolution.featureCatalogueDescription": "Prévenez, collectez, détectez et traitez les menaces pour une protection unifiée dans toute votre infrastructure.", "xpack.securitySolution.featureRegistry.deleteSubFeatureDetails": "Supprimer les cas et les commentaires", "xpack.securitySolution.featureRegistry.deleteSubFeatureName": "Supprimer", @@ -32167,13 +33485,19 @@ "xpack.securitySolution.fleetIntegration.elasticDefend.eventFilter.nonInteractiveSessions.name": "Sessions non interactives", "xpack.securitySolution.flyout.analyzerErrorMessage": "analyseur", "xpack.securitySolution.flyout.button.timeline": "chronologie", + "xpack.securitySolution.flyout.correlations.caseNameColumnTitle": "Nom", + "xpack.securitySolution.flyout.correlations.reasonColumnTitle": "Raison", + "xpack.securitySolution.flyout.correlations.ruleColumnTitle": "Règle", + "xpack.securitySolution.flyout.correlations.severityColumnTitle": "Sévérité", + "xpack.securitySolution.flyout.correlations.statusColumnTitle": "Statut", + "xpack.securitySolution.flyout.correlations.timestampColumnTitle": "Horodatage", "xpack.securitySolution.flyout.documentDetails.alertReasonTitle": "Raison d'alerte", "xpack.securitySolution.flyout.documentDetails.analyzerGraphButton": "Graph Analyseur", "xpack.securitySolution.flyout.documentDetails.analyzerPreviewText": "aperçu de l'analyseur.", "xpack.securitySolution.flyout.documentDetails.analyzerPreviewTitle": "Aperçu de l'analyseur", "xpack.securitySolution.flyout.documentDetails.collapseDetailButton": "Réduire les détails de l'alerte", "xpack.securitySolution.flyout.documentDetails.correlationsButton": "Corrélations", - "xpack.securitySolution.flyout.documentDetails.aboutTitle": "Description", + "xpack.securitySolution.flyout.documentDetails.correlationsTitle": "Corrélations", "xpack.securitySolution.flyout.documentDetails.documentDescriptionCollapseButton": "Réduire", "xpack.securitySolution.flyout.documentDetails.documentDescriptionExpandButton": "Développer", "xpack.securitySolution.flyout.documentDetails.documentDescriptionTitle": "Description du document", @@ -32186,31 +33510,73 @@ "xpack.securitySolution.flyout.documentDetails.insightsOptions": "Options des informations exploitables", "xpack.securitySolution.flyout.documentDetails.insightsTab": "Informations exploitables", "xpack.securitySolution.flyout.documentDetails.insightsTitle": "Informations exploitables", + "xpack.securitySolution.flyout.documentDetails.investigationGuideText": "Guide d'investigation", "xpack.securitySolution.flyout.documentDetails.investigationSectionTitle": "Investigation", "xpack.securitySolution.flyout.documentDetails.investigationsTab": "Investigation", "xpack.securitySolution.flyout.documentDetails.jsonTab": "JSON", "xpack.securitySolution.flyout.documentDetails.overviewTab": "Aperçu", - "xpack.securitySolution.flyout.documentDetails.overviewTab.entitiesText": "entités", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.ancestryAlert": "alerte associée par ancêtre", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.ancestryAlerts": "alertes associées par ancêtre", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.relatedCase": "cas associé", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.relatedCases": "cas associés", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.sameSessionAlert": "alerte associée par session", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.sameSessionAlerts": "alertes associées par session", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.sameSourceEventAlert": "alerte associée par le même événement source", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.sameSourceEventAlerts": "alertes associées par le même événement source", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlationsText": "champs de corrélation", + "xpack.securitySolution.flyout.documentDetails.overviewTab.entitiesText": "les entités sélectionnées", + "xpack.securitySolution.flyout.documentDetails.overviewTab.prevalenceRowText": "est inhabituel", + "xpack.securitySolution.flyout.documentDetails.overviewTab.prevalenceText": "champs de prévalence", "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatEnrichment": "champ enrichi avec la Threat Intelligence", "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatEnrichments": "champs enrichis avec la Threat Intelligence", "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatMatch": "correspondance de menace détectée", "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatMatches": "correspondances de menaces détectées", "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligenceText": "champs de Threat Intelligence", "xpack.securitySolution.flyout.documentDetails.prevalenceButton": "Prévalence", + "xpack.securitySolution.flyout.documentDetails.prevalenceTitle": "Prévalence", + "xpack.securitySolution.flyout.documentDetails.responseButton": "Réponse", "xpack.securitySolution.flyout.documentDetails.riskScoreTitle": "Score de risque", "xpack.securitySolution.flyout.documentDetails.ruleDescriptionTitle": "Description de la règle", + "xpack.securitySolution.flyout.documentDetails.sessionPreview.commandText": "par", + "xpack.securitySolution.flyout.documentDetails.sessionPreview.processText": "démarré", + "xpack.securitySolution.flyout.documentDetails.sessionPreview.ruleText": "avec la règle", + "xpack.securitySolution.flyout.documentDetails.sessionPreview.timeText": "à", + "xpack.securitySolution.flyout.documentDetails.sessionPreview.title": "Aperçu du visualiseur de session", "xpack.securitySolution.flyout.documentDetails.sessionViewButton": "Vue de session", "xpack.securitySolution.flyout.documentDetails.severityTitle": "Sévérité", + "xpack.securitySolution.flyout.documentDetails.share": "Partager l'alerte", "xpack.securitySolution.flyout.documentDetails.tableTab": "Tableau", "xpack.securitySolution.flyout.documentDetails.technicalPreviewMessage": "Cette fonctionnalité est en version d'évaluation technique et pourra être modifiée ou retirée complètement dans une future version. Elastic s'efforcera au maximum de corriger tout problème, mais les fonctionnalités en version d'évaluation technique ne sont pas soumises aux accords de niveau de service d'assistance des fonctionnalités officielles en disponibilité générale.", "xpack.securitySolution.flyout.documentDetails.technicalPreviewTitle": "Version d'évaluation technique", "xpack.securitySolution.flyout.documentDetails.threatIntelligenceButton": "Threat Intelligence", "xpack.securitySolution.flyout.documentDetails.threatIntelligenceTitle": "Threat Intelligence", + "xpack.securitySolution.flyout.documentDetails.viewRuleText": "Afficher la règle", "xpack.securitySolution.flyout.documentDetails.visualizationsTitle": "Visualisations", "xpack.securitySolution.flyout.documentDetails.visualizeOptions": "Options Visualize", "xpack.securitySolution.flyout.documentDetails.visualizeTab": "Visualiser", "xpack.securitySolution.flyout.documentErrorMessage": "les valeurs et champs du document", "xpack.securitySolution.flyout.documentErrorTitle": "informations du document", + "xpack.securitySolution.flyout.entities.failRelatedHostsDescription": "Impossible de lancer la recherche sur les hôtes associés", + "xpack.securitySolution.flyout.entities.failRelatedUsersDescription": "Impossible de lancer la recherche sur les utilisateurs associés", + "xpack.securitySolution.flyout.entities.hostsInfoTitle": "Informations sur l’hôte", + "xpack.securitySolution.flyout.entities.hostsTitle": "Hôtes", + "xpack.securitySolution.flyout.entities.relatedEntitiesIpColumn": "Adresses IP", + "xpack.securitySolution.flyout.entities.relatedEntitiesNameColumn": "Nom", + "xpack.securitySolution.flyout.entities.relatedHostsTitle": "Hôtes associés", + "xpack.securitySolution.flyout.entities.relatedHostsToolTip": "L’utilisateur a été authentifié avec succès sur ces hôtes après l’alerte.", + "xpack.securitySolution.flyout.entities.relatedUsersTitle": "Utilisateurs associés", + "xpack.securitySolution.flyout.entities.relatedUsersToolTip": "Ces utilisateurs ont été authentifiés avec succès sur l’hôte concerné après l’alerte.", + "xpack.securitySolution.flyout.entities.usersInfoTitle": "Informations sur l’utilisateur", + "xpack.securitySolution.flyout.entities.usersTitle": "Utilisateurs", + "xpack.securitySolution.flyout.prevalenceErrorMessage": "prévalence", + "xpack.securitySolution.flyout.prevalenceTableAlertCountColumnTitle": "Nombre d'alertes", + "xpack.securitySolution.flyout.prevalenceTableDocCountColumnTitle": "Compte du document", + "xpack.securitySolution.flyout.prevalenceTableHostPrevalenceColumnTitle": "Prévalence de l’hôte", + "xpack.securitySolution.flyout.prevalenceTableNameColumnTitle": "Nom", + "xpack.securitySolution.flyout.prevalenceTableTypeColumnTitle": "Type", + "xpack.securitySolution.flyout.prevalenceTableUserPrevalenceColumnTitle": "Prévalence de l’utilisateur", + "xpack.securitySolution.flyout.response.empty": "Il n’y a pas d’actions de réponse définies pour cet évènement.", + "xpack.securitySolution.flyout.response.title": "Réponses", "xpack.securitySolution.flyout.sessionViewErrorMessage": "vue de session", "xpack.securitySolution.footer.autoRefreshActiveDescription": "Actualisation automatique active", "xpack.securitySolution.footer.cancel": "Annuler", @@ -32439,12 +33805,12 @@ "xpack.securitySolution.kpiUsers.totalUsers.errorSearchDescription": "Une erreur s'est produite sur la recherche du KPI du total des utilisateurs", "xpack.securitySolution.kpiUsers.totalUsers.title": "Utilisateurs", "xpack.securitySolution.kubernetes.columnContainer": "Conteneur", - "xpack.securitySolution.kubernetes.columnEntryUser": "Utilisateur d’entrée de session", - "xpack.securitySolution.kubernetes.columnExecutable": "Leader de session", - "xpack.securitySolution.kubernetes.columnInteractive": "Interactivité", + "xpack.securitySolution.kubernetes.columnEntryUser": "ID utilisateur", + "xpack.securitySolution.kubernetes.columnExecutable": "Exécutable", + "xpack.securitySolution.kubernetes.columnInteractive": "Interactif", "xpack.securitySolution.kubernetes.columnNode": "Nœud", "xpack.securitySolution.kubernetes.columnPod": "Pod", - "xpack.securitySolution.kubernetes.columnSessionStart": "Date de connexion", + "xpack.securitySolution.kubernetes.columnSessionStart": "Date de démarrage", "xpack.securitySolution.landing.threatHunting.hostsDescription": "Aperçu complet de tous les hôtes et événements de sécurité des hôtes.", "xpack.securitySolution.lastEventTime.errorSearchDescription": "Une erreur s'est produite sur la recherche de dernière heure de l'événement", "xpack.securitySolution.lastEventTime.failSearchDescription": "Impossible de lancer une recherche sur la dernière heure de l'événement", @@ -32498,6 +33864,9 @@ "xpack.securitySolution.markdown.insight.modalCancelButtonLabel": "Annuler", "xpack.securitySolution.markdown.insight.relativeTimerange": "Plage temporelle relative", "xpack.securitySolution.markdown.insight.relativeTimerangeText": "Sélectionnez une plage horaire pour limiter la requête, par rapport à l'heure de création de l'alerte (facultatif).", + "xpack.securitySolution.markdown.insight.title": "Examiner", + "xpack.securitySolution.markdown.insight.upsell": "Mettez à niveau vers Platinum pour pouvoir utiliser les informations exploitables dans des guides d’investigation", + "xpack.securitySolution.markdown.invalid": "Markdown non valide détecté", "xpack.securitySolution.markdown.osquery.addModalConfirmButtonLabel": "Ajouter une recherche", "xpack.securitySolution.markdown.osquery.addModalTitle": "Ajouter une recherche", "xpack.securitySolution.markdown.osquery.editModalConfirmButtonLabel": "Enregistrer les modifications", @@ -32506,6 +33875,8 @@ "xpack.securitySolution.markdown.osquery.modalCancelButtonLabel": "Annuler", "xpack.securitySolution.markdown.osquery.permissionDenied": "Autorisation refusée", "xpack.securitySolution.markdown.osquery.runOsqueryButtonLabel": "Exécuter Osquery", + "xpack.securitySolution.markdown.platinumWarning": "Le Markdown suivant peut utiliser des fonctions d’abonnement", + "xpack.securitySolution.markdown.premiumPluginLinkSuffix": "démarrer un essai ou mettre à niveau votre abonnement", "xpack.securitySolution.markdownEditor.plugins.insightProviderError": "Impossible d'analyser la configuration du fournisseur d'informations exploitables", "xpack.securitySolution.markdownEditor.plugins.timeline.insertTimelineButtonLabel": "Insérer un lien de chronologie", "xpack.securitySolution.markdownEditor.plugins.timeline.noParenthesesErrorMsg": "Parenthèses gauches attendues", @@ -32539,6 +33910,7 @@ "xpack.securitySolution.modalAllErrors.close.button": "Fermer", "xpack.securitySolution.modalAllErrors.seeAllErrors.button": "Voir l'erreur ou les erreurs entières", "xpack.securitySolution.modalAllErrors.title": "Votre visualisation comporte une ou plusieurs erreurs", + "xpack.securitySolution.navigation.addRules": "Ajouter des règles", "xpack.securitySolution.navigation.administration": "Administration", "xpack.securitySolution.navigation.administration.policies": "Politiques", "xpack.securitySolution.navigation.alerts": "Alertes", @@ -32863,6 +34235,7 @@ "xpack.securitySolution.responder.hostOffline.callout.title": "Hôte hors ligne", "xpack.securitySolution.responder.missingEncryptionKey.callout.dismissButton.label": "Rejeter", "xpack.securitySolution.responder.missingEncryptionKey.callout.title": "Configurer la clé de chiffrement", + "xpack.securitySolution.responder.missingEncryptionKey.docsLink": "Voir plus d’informations", "xpack.securitySolution.responseActionExecuteAccordion.currentWorkingDirectory": "Exécuté à partir de", "xpack.securitySolution.responseActionExecuteAccordion.errorButtonTextRegular": "Erreur d'exécution", "xpack.securitySolution.responseActionExecuteAccordion.errorButtonTextTruncated": "Erreur d'exécution (tronquée)", @@ -32876,8 +34249,12 @@ "xpack.securitySolution.responseActionFileDownloadLink.downloadButtonLabel": "Cliquez ici pour télécharger", "xpack.securitySolution.responseActionFileDownloadLink.fileNoLongerAvailable": "Le fichier a expiré et n'est plus disponible au téléchargement.", "xpack.securitySolution.responseActionFileDownloadLink.fileTruncated": "Les données de sortie dans le fichier zip fourni sont tronquées en raison des limitations de taille de fichier.", - "xpack.securitySolution.responseActions.endpoint.commandLabel": "Commande", + "xpack.securitySolution.responseActions.endpoint.commandLabel": "Action de réponse", + "xpack.securitySolution.responseActions.endpoint.commentDescription": "Laissez une note qui explique ou décrit une action. Vous pouvez voir votre commentaire dans le log de l’historique d’actions de réponse.", "xpack.securitySolution.responseActions.endpoint.commentLabel": "Commentaire (facultatif)", + "xpack.securitySolution.responseActions.endpoint.commentLearnMore": "En savoir plus", + "xpack.securitySolution.responseActions.endpoint.isolate": "Isoler", + "xpack.securitySolution.responseActions.endpoint.isolateDescription": "Mettez un hôte du réseau en quarantaine pour empêcher la propagation des menaces et limiter les dégâts potentiels", "xpack.securitySolution.responseActions.endpoint.validations.commandIsRequiredErrorMessage": "Une commande est requise.", "xpack.securitySolution.responseActionsHistory.empty.content": "Aucune action de réponse effectuée", "xpack.securitySolution.responseActionsHistory.empty.link": "En savoir plus sur les actions de réponse", @@ -32886,15 +34263,22 @@ "xpack.securitySolution.responseActionsList.addButton": "Ajouter", "xpack.securitySolution.responseActionsList.empty.body": "Essayez de modifier votre recherche ou votre ensemble de filtres", "xpack.securitySolution.responseActionsList.empty.title": "Aucun résultat ne correspond à vos critères de recherche.", + "xpack.securitySolution.responseActionsList.endpoint.cautionDescription": "Ne sélectionnez cette option que si vous êtes certain que vous souhaitez bloquer automatiquement les communications avec d’autres hôtes de votre réseau jusqu’à ce que vous libériez cet hôte.", + "xpack.securitySolution.responseActionsList.endpoint.cautionTitle": "Procéder avec prudence", + "xpack.securitySolution.responseActionsList.error.hostNotEnrolled": "L’intégration Elastic Defend n’est pas installée sur l’hôte", + "xpack.securitySolution.responseActionsList.error.licenseTooLow": "Une licence Enterprise ou supérieure est requise pour utiliser les actions de réponse.", "xpack.securitySolution.responseActionsList.list.command": "Commande", "xpack.securitySolution.responseActionsList.list.comments": "Commentaires", "xpack.securitySolution.responseActionsList.list.errorMessage": "Erreur lors de la récupération des actions de réponse", "xpack.securitySolution.responseActionsList.list.expandButton.collapse": "Réduire", "xpack.securitySolution.responseActionsList.list.expandButton.expand": "Développer", "xpack.securitySolution.responseActionsList.list.filter.actions": "Actions", + "xpack.securitySolution.responseActionsList.list.filter.automated": "Déclenché par la règle", "xpack.securitySolution.responseActionsList.list.filter.clearAll": "Tout effacer", "xpack.securitySolution.responseActionsList.list.filter.Hosts": "Hôtes", + "xpack.securitySolution.responseActionsList.list.filter.manual": "Déclenché manuellement", "xpack.securitySolution.responseActionsList.list.filter.statuses": "Statuts", + "xpack.securitySolution.responseActionsList.list.filter.type": "Type", "xpack.securitySolution.responseActionsList.list.filter.users": "Filtrer par nom d'utilisateur", "xpack.securitySolution.responseActionsList.list.hosts": "Hôtes", "xpack.securitySolution.responseActionsList.list.item.badge.failed": "Échoué", @@ -32902,6 +34286,7 @@ "xpack.securitySolution.responseActionsList.list.item.badge.successful": "Réussi", "xpack.securitySolution.responseActionsList.list.item.expandSection.comment": "Commentaire", "xpack.securitySolution.responseActionsList.list.item.expandSection.completedAt": "Exécution terminée", + "xpack.securitySolution.responseActionsList.list.item.expandSection.hostname": "Nom d'hôte", "xpack.securitySolution.responseActionsList.list.item.expandSection.input": "Entrée", "xpack.securitySolution.responseActionsList.list.item.expandSection.output": "Sortie", "xpack.securitySolution.responseActionsList.list.item.expandSection.parameters": "Paramètres", @@ -32935,7 +34320,7 @@ "xpack.securitySolution.riskScore.errorSearchDescription": "Une erreur s'est produite sur la recherche du score de risque", "xpack.securitySolution.riskScore.failSearchDescription": "Impossible de lancer une recherche sur le score de risque", "xpack.securitySolution.riskScore.hostRiskScoresEnabledTitle": "Scores de risque de l'hôte activés", - "xpack.securitySolution.riskScore.hostsDashboardWarningPanelBody": "Nous n'avons détecté aucune donnée de score de risque de l'hôte provenant des hôtes de votre environnement. Les données pourront prendre jusqu'à une heure pour être générées après l'activation du module.", + "xpack.securitySolution.riskScore.hostsDashboardWarningPanelBody": "Nous n’avons pas trouvé de données de score de risque de l’hôte. Vérifiez si vous avez des filtres globaux dans la barre de recherche KQL globale. Si vous venez d’activer le module de risque de l’hôte, le moteur de risque peut mettre une heure à générer les données de score de risque de l’hôte et les afficher dans ce panneau.", "xpack.securitySolution.riskScore.hostsDashboardWarningPanelTitle": "Aucune donnée de score de risque de l'hôte disponible pour l'affichage", "xpack.securitySolution.riskScore.install.errorMessageTitle": "Erreur d'installation", "xpack.securitySolution.riskScore.kpi.failSearchDescription": "Impossible de lancer une recherche sur le score de risque", @@ -32954,7 +34339,7 @@ "xpack.securitySolution.riskScore.upgradeConfirmation.content": "La mise à niveau supprimera les scores de risque existants de votre environnement. Vous pouvez conserver les données de risque existantes avant de mettre à niveau le package Score de risque. Voulez-vous effectuer la mise à niveau ?", "xpack.securitySolution.riskScore.userRiskScoresEnabledTitle": "Scores de risque de l'utilisateur activés", "xpack.securitySolution.riskScore.usersDashboardRestartTooltip": "Le calcul du score de risque pourra prendre un certain temps à se lancer. Cependant, en appuyant sur Redémarrer, vous pouvez le forcer à s'exécuter immédiatement.", - "xpack.securitySolution.riskScore.usersDashboardWarningPanelBody": "Nous n'avons détecté aucune donnée de score de risque de l'utilisateur provenant des utilisateurs de votre environnement. Les données pourront prendre jusqu'à une heure pour être générées après l'activation du module.", + "xpack.securitySolution.riskScore.usersDashboardWarningPanelBody": "Nous n’avons pas trouvé de données de score de risque de l’utilisateur. Vérifiez si vous avez des filtres globaux dans la barre de recherche KQL globale. Si vous venez d’activer le module de risque de l’utilisateur, le moteur de risque peut mettre une heure à générer les données de score de risque de l’utilisateur et à les afficher dans ce panneau.", "xpack.securitySolution.riskScore.usersDashboardWarningPanelTitle": "Aucune donnée de score de risque de l'utilisateur disponible pour l'affichage", "xpack.securitySolution.riskTabBody.viewDashboardButtonLabel": "Afficher le tableau de bord de la source", "xpack.securitySolution.rowRenderer.executedProcessDescription": "processus exécuté", @@ -33303,6 +34688,7 @@ "xpack.securitySolution.timeline.tabs.notesTabTimelineTitle": "Notes", "xpack.securitySolution.timeline.tabs.pinnedTabTimelineTitle": "Épinglé", "xpack.securitySolution.timeline.tabs.queyTabTimelineTitle": "Recherche", + "xpack.securitySolution.timeline.tabs.securityAssistantTimelineTitle": "Assistant de sécurité", "xpack.securitySolution.timeline.tabs.sessionTabTimelineTitle": "Vue de session", "xpack.securitySolution.timeline.tcp": "TCP", "xpack.securitySolution.timeline.toggleEventDetailsTitle": "Développer les détails de l'événement", @@ -33411,6 +34797,7 @@ "xpack.securitySolution.trustedapps.trustedapp.entry.operator": "Opérateur", "xpack.securitySolution.trustedapps.trustedapp.entry.value": "Valeur", "xpack.securitySolution.trustedAppsTab": "Applications de confiance", + "xpack.securitySolution.uiSettings.defaultAlertTagsLabel": "Options de balisage d’alertes", "xpack.securitySolution.uiSettings.defaultAnomalyScoreLabel": "Seuil d'anomalie", "xpack.securitySolution.uiSettings.defaultIndexLabel": "Index Elasticsearch", "xpack.securitySolution.uiSettings.defaultRefreshIntervalLabel": "Intervalle d'actualisation du filtre temporel", @@ -33496,6 +34883,120 @@ "xpack.securitySolution.zeek.sfDescription": "Finalisation SYN/FIN normale", "xpack.securitySolution.zeek.shDescription": "L'initiateur a envoyé un SYN suivi d'un FIN, pas de SYN ACK de la part de l'équipe de réponse", "xpack.securitySolution.zeek.shrDescription": "L'équipe de réponse a envoyé un SYN ACK suivi d'un FIN, pas de SYN de la part de l'initiateur", + "xpack.serverlessSearch.apiKey.activeKeys": "Vous avez {number} clés actives.", + "xpack.serverlessSearch.apiKey.expiresHelpText": "Cette clé d’API expirera le {expirationDate}", + "xpack.serverlessSearch.header.greeting.title": "Bonjour {name} !", + "xpack.serverlessSearch.ingestData.clientDocLink": "Référence d’API {languageName}", + "xpack.serverlessSearch.installClient.clientDocLink": "Documentation du client {languageName}", + "xpack.serverlessSearch.selectClient.description": "Elastic construit et assure la maintenance des clients dans plusieurs langues populaires et notre communauté a contribué à beaucoup d'autres. Sélectionnez votre client linguistique favori or explorez la {console} pour commencer.", + "xpack.serverlessSearch.apiCallout.content": "La console vous permet d’appeler directement les API REST d’Elasticsearch et de Kibana, sans avoir à installer de client de langage.", + "xpack.serverlessSearch.apiCallOut.title": "Appeler l’API depuis la console", + "xpack.serverlessSearch.apiKey.apiKeyStepDescription": "Cette clé ne s’affichera qu’une fois, conservez-la donc en lieu sûr. Nous ne conservons pas vos clés d’API, vous devrez donc générer une clé de remplacement si vous la perdez.", + "xpack.serverlessSearch.apiKey.apiKeyStepTitle": "Stocker cette clé d'API", + "xpack.serverlessSearch.apiKey.description": "Vous aurez besoin de ces identifiants uniques pour vous connecter en toute sécurité à votre projet Elasticsearch.", + "xpack.serverlessSearch.apiKey.expiresField.daysLabel": "en jours", + "xpack.serverlessSearch.apiKey.expiresField.neverLabel": "Jamais", + "xpack.serverlessSearch.apiKey.expiresFieldHelpText": "Les clés d’API doivent être changées régulièrement.", + "xpack.serverlessSearch.apiKey.expiresFieldLabel": "Expire", + "xpack.serverlessSearch.apiKey.expiresFieldUnit": "jours", + "xpack.serverlessSearch.apiKey.flyout.errorTitle": "Erreur lors de la création d’une clé d’API", + "xpack.serverlessSearch.apiKey.flyOutCreateLabel": "Créer une clé d'API", + "xpack.serverlessSearch.apiKey.flyoutTitle": "Créer une clé d'API", + "xpack.serverlessSearch.apiKey.manageLabel": "Gérer", + "xpack.serverlessSearch.apiKey.metadata.description": "Utilisez des paires clé-valeur configurables pour ajouter des informations au sujet de la clé d’API ou personnaliser l’accès aux ressources Elasticsearch.", + "xpack.serverlessSearch.apiKey.metadata.title": "Métadonnées", + "xpack.serverlessSearch.apiKey.metadataLinkLabel": "Découvrez comment structurer les métadonnées de rôle", + "xpack.serverlessSearch.apiKey.nameFieldHelpText": "Un bon nom permet de savoir clairement à quoi sert votre clé d’API.", + "xpack.serverlessSearch.apiKey.nameFieldLabel": "Nom", + "xpack.serverlessSearch.apiKey.newButtonLabel": "Nouveauté", + "xpack.serverlessSearch.apiKey.privileges.description": "Contrôlez l'accès aux ressources et API Elasticsearch spécifiques à l’aide de rôles prédéfinis ou de privilèges personnalisés par clé d’API.", + "xpack.serverlessSearch.apiKey.privileges.title": "Privilèges de sécurité", + "xpack.serverlessSearch.apiKey.roleDescriptorsLinkLabel": "Découvrir comment structurer les descripteurs de rôles", + "xpack.serverlessSearch.apiKey.setup.description": "Les détails de la configuration de base pour créer votre clé d’API.", + "xpack.serverlessSearch.apiKey.setup.title": "Configuration", + "xpack.serverlessSearch.apiKey.stepOneDescription": "Identifiant unique pour l’authentification et l’autorisation. ", + "xpack.serverlessSearch.apiKey.stepOneTitle": "Générer et stocker vos clés d’API", + "xpack.serverlessSearch.apiKey.stepTwoDescription": "Identifiant unique pour un projet spécifique. ", + "xpack.serverlessSearch.apiKey.stepTwoTitle": "Stocker votre identifiant unique du cloud", + "xpack.serverlessSearch.apiKey.title": "Stocker votre clé d’API et votre identifiant du cloud", + "xpack.serverlessSearch.apiKey.userFieldHelpText": "Identifiant de l’utilisateur créant la clé d’API.", + "xpack.serverlessSearch.apiKey.userFieldLabel": "Utilisateur", + "xpack.serverlessSearch.back": "Retour", + "xpack.serverlessSearch.cancel": "Annuler", + "xpack.serverlessSearch.codeBox.copyButtonLabel": "Copier", + "xpack.serverlessSearch.codeBox.selectAriaLabel": "Sélectionner un langage de programmation", + "xpack.serverlessSearch.configureClient.advancedConfigLabel": "Configuration avancée", + "xpack.serverlessSearch.configureClient.basicConfigLabel": "Configuration de base", + "xpack.serverlessSearch.configureClient.description": "Initialiser votre client avec votre clé d’API et votre identifiant de cloud uniques", + "xpack.serverlessSearch.configureClient.title": "Configurer votre client", + "xpack.serverlessSearch.disabled": "Désactivé", + "xpack.serverlessSearch.enabled": "Activé", + "xpack.serverlessSearch.footer.billing.title": "Facturation et utilisation", + "xpack.serverlessSearch.footer.community.title": "Rejoindre la communauté", + "xpack.serverlessSearch.footer.discoverCard.buttonText": "Explorer les données dans Discover", + "xpack.serverlessSearch.footer.discoverCard.description": "Avec Discover, vous pouvez rapidement rechercher et filtrer vos données, obtenir des informations sur la structure des champs et afficher vos résultats dans une visualisation.", + "xpack.serverlessSearch.footer.discoverCard.title": "Explorer et visualiser vos données dans Discover", + "xpack.serverlessSearch.footer.feedback.title": "Donner un retour", + "xpack.serverlessSearch.footer.inviteUsers.title": "Inviter d'autres utilisateurs", + "xpack.serverlessSearch.footer.pipelinesCard.buttonText": "Configurer vos pipelines d’ingestion", + "xpack.serverlessSearch.footer.pipelinesCard.description": "Prétraiter vos données avant leur indexation dans Elasticsearch. Supprimez des champs, extrayez des valeurs de textes ou enrichissez vos données avec des modèles de Machine Learning comme ELSER.", + "xpack.serverlessSearch.footer.pipelinesCard.title": "Transformer vos données à l’aide de pipelines", + "xpack.serverlessSearch.footer.searchUI.buttonText": "Créer avec Search UI", + "xpack.serverlessSearch.footer.searchUI.description": "L’interface utilisateur Search est une bibliothèque JavaScript libre et gratuite maintenue par Elastic pour un développement rapide d’expériences de recherche modernes et attrayantes.", + "xpack.serverlessSearch.footer.searchUI.title": "Créer une interface utilisateur avec Search UI", + "xpack.serverlessSearch.footer.title": "Et ensuite ?", + "xpack.serverlessSearch.githubLink.curl.label": "curl", + "xpack.serverlessSearch.githubLink.javascript.label": "elasticsearch", + "xpack.serverlessSearch.githubLink.ruby.label": "elasticsearch-ruby", + "xpack.serverlessSearch.header.description": "Configurez votre client de langage de programmation, ingérez des données, et vous serez prêt à commencer vos recherches en quelques minutes.", + "xpack.serverlessSearch.header.title": "Lancez-vous avec Elasticsearch", + "xpack.serverlessSearch.ingestData.beatsDescription": "Des agents légers conçus pour le transfert de données pour Elasticsearch. Utilisez Beats pour envoyer des données opérationnelles depuis vos serveurs.", + "xpack.serverlessSearch.ingestData.beatsLink": "beats", + "xpack.serverlessSearch.ingestData.beatsTitle": "Beats", + "xpack.serverlessSearch.ingestData.connectorsDescription": "Des intégrations spécialisées pour synchroniser des données de sources tierces avec Elasticsearch. Utilisez des connecteurs Elastic pour synchroniser du contenu d’une plage de bases de données et de stockage d’objets.", + "xpack.serverlessSearch.ingestData.connectorsPythonLink": "connecteurs-python", + "xpack.serverlessSearch.ingestData.connectorsTitle": "Client de connecteur", + "xpack.serverlessSearch.ingestData.description": "Ajoutez des données à votre flux de données ou à votre index pour les rendre interrogeables. Choisissez une méthode d’ingestion qui correspond à votre application et à votre workflow.", + "xpack.serverlessSearch.ingestData.ingestApiDescription": "La façon la plus flexible d’indexer des données, ce qui vous donne un contrôle total sur vos options de personnalisation et d’optimisation.", + "xpack.serverlessSearch.ingestData.ingestApiLabel": "Ingérer via une API", + "xpack.serverlessSearch.ingestData.ingestIntegrationDescription": "Des outils d’ingestion spécialisés optimisés pour transformer des données et les transférer à Elasticsearch.", + "xpack.serverlessSearch.ingestData.ingestIntegrationLabel": "Ingérer via l’intégration", + "xpack.serverlessSearch.ingestData.ingestLegendLabel": "Sélectionner une méthode d'ingestion", + "xpack.serverlessSearch.ingestData.integrationsLink": "À propos des intégrations", + "xpack.serverlessSearch.ingestData.logstashDescription": "Ajoutez des données à votre flux de données ou à votre index pour les rendre interrogeables. Choisissez une méthode d’ingestion qui correspond à votre application et à votre workflow.", + "xpack.serverlessSearch.ingestData.logstashLink": "Logstash", + "xpack.serverlessSearch.ingestData.logstashTitle": "Logstash", + "xpack.serverlessSearch.ingestData.title": "Ingérer des données", + "xpack.serverlessSearch.installClient.description": "Elastic construit et assure la maintenance des clients dans plusieurs langues populaires et notre communauté a contribué à beaucoup d'autres. Installez votre client de langage favori pour commencer.", + "xpack.serverlessSearch.installClient.title": "Installer un client", + "xpack.serverlessSearch.invalidJsonError": "JSON non valide", + "xpack.serverlessSearch.languages.cURL": "cURL", + "xpack.serverlessSearch.languages.javascript": "JavaScript / Node.js", + "xpack.serverlessSearch.languages.ruby": "Ruby", + "xpack.serverlessSearch.learnMore": "En savoir plus", + "xpack.serverlessSearch.nav.content": "Contenu", + "xpack.serverlessSearch.nav.content.indexingApi": "API d’indexation", + "xpack.serverlessSearch.nav.content.indices": "Index", + "xpack.serverlessSearch.nav.devTools": "Outils de développement", + "xpack.serverlessSearch.nav.explore": "Explorer", + "xpack.serverlessSearch.nav.gettingStarted": "Premiers pas", + "xpack.serverlessSearch.nav.security": "Sécurité", + "xpack.serverlessSearch.next": "Suivant", + "xpack.serverlessSearch.optional": "Facultatif", + "xpack.serverlessSearch.required": "Obligatoire", + "xpack.serverlessSearch.searchQuery.description": "Vous êtes maintenant prêt à expérimenter la recherche et l'exécution d'agrégations sur vos données Elasticsearch.", + "xpack.serverlessSearch.searchQuery.title": "Créer votre première requête de recherche", + "xpack.serverlessSearch.selectClient.apiRequestConsoleDocLink": "Exécuter des requêtes d’API dans la console ", + "xpack.serverlessSearch.selectClient.callout.description": "Avec la console, vous pouvez directement commencer à utiliser nos API REST. Aucune installation n’est requise. ", + "xpack.serverlessSearch.selectClient.callout.link": "Essayez la console maintenant", + "xpack.serverlessSearch.selectClient.callout.title": "Lancez-vous dans la console", + "xpack.serverlessSearch.selectClient.description.console.link": "Console", + "xpack.serverlessSearch.selectClient.elasticsearchClientDocLink": "Clients d'Elasticsearch ", + "xpack.serverlessSearch.selectClient.heading": "Choisissez-en un", + "xpack.serverlessSearch.selectClient.title": "Sélectionner votre client", + "xpack.serverlessSearch.testConnection.description": "Envoyez une requête de test pour confirmer que votre client de langage et votre instance Elasticsearch sont opérationnels.", + "xpack.serverlessSearch.testConnection.title": "Tester votre connexion", + "xpack.serverlessSearch.tryInConsoleButton": "Essayer dans la console", "xpack.sessionView.alertFilteredCountStatusLabel": " Affichage de {count} alertes", "xpack.sessionView.alertTotalCountStatusLabel": "Affichage de {count} alertes", "xpack.sessionView.processTree.loadMore": "Afficher les {pageSize} événements suivants", @@ -33603,11 +35104,11 @@ "xpack.snapshotRestore.policyForm.stepLogistics.selectRepository.policyRepositoryNotFoundDescription": "Le référentiel {repo} n'existe pas. Veuillez sélectionner un référentiel existant.", "xpack.snapshotRestore.policyForm.stepRetention.policyUpdateRetentionHelpText": "Utilisez l'expression cron. {docLink}", "xpack.snapshotRestore.policyForm.stepSettings.noDataStreamsOrIndicesHelpText": "Rien ne sera sauvegardé. {selectAllLink}", - "xpack.snapshotRestore.policyForm.stepSettings.selectDataStreamsIndicesHelpText": "{indicesCount} {indicesCount, plural, one {index} many {index} other {index}} et {dataStreamsCount} {dataStreamsCount, plural, one {flux de données} many {flux de données} other {flux de données}} seront sauvegardés. {deselectAllLink}", + "xpack.snapshotRestore.policyForm.stepSettings.selectDataStreamsIndicesHelpText": "{indicesCount} {indicesCount, plural, one {index} many {index système non migrés} other {index}} et {dataStreamsCount} {dataStreamsCount, plural, one {flux de données} many {flux de données} other {flux de données}} seront sauvegardés. {deselectAllLink}", "xpack.snapshotRestore.policyList.deniedPrivilegeDescription": "Pour gérer les politiques de cycle de vie des snapshots, vous devez avoir {privilegesCount, plural, one {ce privilège de cluster} many {ces privilèges de cluster} other {ces privilèges de cluster}} : {missingPrivileges}.", "xpack.snapshotRestore.policyList.table.deletePolicyButton": "Supprimer {count, plural, one {politique} many {politiques} other {politiques}}", "xpack.snapshotRestore.policyRetentionSchedulePanel.retentionScheduleDescription": "La planification cron de conservation des snapshots est : {cronSchedule}.", - "xpack.snapshotRestore.repositoryDetails.snapshotsDescription": "{count} {count, plural, one {snapshot a été trouvé} many {snapshots ont été trouvés} other {snapshots ont été trouvés}}", + "xpack.snapshotRestore.repositoryDetails.snapshotsDescription": "{count} {count, plural, one {snapshot a été trouvé} many {snapshots} other {snapshots ont été trouvés}}", "xpack.snapshotRestore.repositoryFor.typeFS.locationDescription": "L'emplacement doit être enregistré dans le paramètre {settingKey} sur tous les nœuds maîtres et de données.", "xpack.snapshotRestore.repositoryForm.commonFields.chunkSizeHelpText": "Accepte les unités de taille en octets, telles que {example1}, {example2}, {example3} ou {example4}. La valeur par défaut est Illimité.", "xpack.snapshotRestore.repositoryForm.commonFields.maxRestoreBytesHelpText": "Accepte les unités de taille en octets, telles que {example1}, {example2}, {example3} ou {example4}. La valeur par défaut est Illimité.", @@ -33628,7 +35129,7 @@ "xpack.snapshotRestore.restoreForm.dataStreamsWarningCallOut.body": "Chaque flux de données requiert un modèle d'index correspondant. Veillez à ce que chaque flux de données restauré possède un modèle d'index correspondant. Vous pouvez restaurer des modèles d'index en restaurant l'état global du cluster. Cependant, cette opération peut écraser des modèles existants, des paramètres de cluster, des pipelines d'ingestion et des politiques de cycle de vie. {learnMoreLink} sur la restauration des snapshots contenant des flux de données.", "xpack.snapshotRestore.restoreForm.dataStreamsWarningCallOut.title": "Ce snapshot contient {count, plural, one {un flux de données} many {flux de données} other {flux de données}}", "xpack.snapshotRestore.restoreForm.stepLogistics.noDataStreamsOrIndicesHelpText": "Rien ne sera restauré. {selectAllLink}", - "xpack.snapshotRestore.restoreForm.stepLogistics.selectDataStreamsAndIndicesHelpText": "{indicesCount} {indicesCount, plural, one {index} many {index} other {index}} et {dataStreamsCount} {dataStreamsCount, plural, one {flux de données} many {flux de données} other {flux de données}} seront restaurés. {deselectAllLink}", + "xpack.snapshotRestore.restoreForm.stepLogistics.selectDataStreamsAndIndicesHelpText": "{indicesCount} {indicesCount, plural, one {index} many {index système non migrés} other {index}} et {dataStreamsCount} {dataStreamsCount, plural, one {flux de données} many {flux de données} other {flux de données}} seront restaurés. {deselectAllLink}", "xpack.snapshotRestore.restoreForm.stepLogistics.systemIndicesCallOut.title": "Une fois ce snapshot restauré, les index système {featuresCount, plural, =0 {} one {de {features}} many {de {features}} other {de {features}}} seront écrasés avec les données du snapshot.", "xpack.snapshotRestore.restoreForm.stepSettings.ignoreIndexSettingsDescription": "Réinitialise les paramètres sélectionnés aux valeurs par défaut pendant la restauration. {docLink}", "xpack.snapshotRestore.restoreForm.stepSettings.indexSettingsDescription": "Remplace les paramètres des index pendant la restauration. {docLink}", @@ -33818,7 +35319,7 @@ "xpack.snapshotRestore.policyForm.stepLogistics.policyScheduleLabel": "Planification", "xpack.snapshotRestore.policyForm.stepLogistics.policySnapshotNameHelpTextDocLink": "En savoir plus.", "xpack.snapshotRestore.policyForm.stepLogistics.policySnapshotNameLabel": "Nom du snapshot", - "xpack.snapshotRestore.policyForm.stepLogistics.policySnapshotNamePlaceholder": "<daily-snap-\\{now d\\}>", + "xpack.snapshotRestore.policyForm.stepLogistics.policySnapshotNamePlaceholder": "", "xpack.snapshotRestore.policyForm.stepLogistics.repositoryDescription": "Référentiel dans lequel vous souhaitez stocker les snapshots.", "xpack.snapshotRestore.policyForm.stepLogistics.repositoryDescriptionTitle": "Référentiel", "xpack.snapshotRestore.policyForm.stepLogistics.scheduleDescription": "Fréquence à laquelle les snapshots doivent être pris.", @@ -34590,6 +36091,10 @@ "xpack.stackAlerts.esQuery.ui.thresholdHelp.duplicateMatches": "Si {excludePrevious} est activé, un document qui correspond à la recherche dans plusieurs exécutions sera utilisé dans le premier calcul du seuil uniquement.", "xpack.stackAlerts.esQuery.ui.thresholdHelp.timeWindow": "Cette fenêtre indique jusqu'où la recherche doit revenir en arrière. Pour éviter des lacunes dans la détection, définissez une valeur supérieure ou égale à la valeur que vous choisissez pour le champ {checkField}.", "xpack.stackAlerts.esQuery.ui.validation.error.invalidSizeRangeText": "Doit être compris entre 0 et {max, number}.", + "xpack.stackAlerts.geoContainment.adjustQuery": "Ajustez la requête \"{query}\" pour correspondre aux documents.", + "xpack.stackAlerts.geoContainment.boundariesFetchError": "Impossible de récupérer les limites du suivi de l’endiguement, erreur : {error}", + "xpack.stackAlerts.geoContainment.entityContainmentFetchError": "Impossible de récupérer l’endiguement des entités, erreur : {error}", + "xpack.stackAlerts.geoContainment.noBoundariesError": "Aucune limite de suivi de l’endiguement trouvée. Assurez-vous que l’index \"{index}\" a des documents.", "xpack.stackAlerts.geoContainment.noGeoFieldInIndexPattern.message": "La vue de données ne contient aucun champ géospatial autorisé. Il doit en contenir un de type {geoFields}.", "xpack.stackAlerts.indexThreshold.alertTypeContextSubjectTitle": "le groupe {group} de l'alerte {name} a atteint le seuil", "xpack.stackAlerts.indexThreshold.alertTypeRecoveryContextSubjectTitle": "groupe {group} de l'alerte {name} récupéré", @@ -34628,6 +36133,7 @@ "xpack.stackAlerts.esQuery.termFieldRequiredErrorMessage": "[termField] : termField requis lorsque [groupBy] est Premiers", "xpack.stackAlerts.esQuery.termSizeRequiredErrorMessage": "[termSize] : termSize requis lorsque [groupBy] est Premiers", "xpack.stackAlerts.esQuery.ui.alertParams.fixErrorInExpressionBelowValidationMessage": "L'expression contient des erreurs.", + "xpack.stackAlerts.esQuery.ui.alertType.defaultActionMessage": "L'alerte de recherche Elasticsearch \"\\{\\{alertName\\}\\}\" est active :\n\n- Valeur : \\{\\{context.value\\}\\}\n- Conditions remplies : \\{\\{context.conditions\\}\\} sur \\{\\{params.timeWindowSize\\}\\}\\{\\{params.timeWindowUnit\\}\\}\n- Horodatage : \\{\\{context.date\\}\\}\n- Lien : \\{\\{context.link\\}\\}", "xpack.stackAlerts.esQuery.ui.alertType.descriptionText": "Alerte lorsque des correspondances sont trouvées au cours de la dernière exécution de la requête.", "xpack.stackAlerts.esQuery.ui.conditionsPrompt": "Définir le groupe, le seuil et la fenêtre de temps", "xpack.stackAlerts.esQuery.ui.copyQuery": "Copier la requête", @@ -34723,6 +36229,7 @@ "xpack.stackAlerts.indexThreshold.actionVariableContextValueLabel": "Valeur ayant dépassé le seuil.", "xpack.stackAlerts.indexThreshold.alertTypeTitle": "Seuil de l'index", "xpack.stackAlerts.threshold.ui.alertParams.fixErrorInExpressionBelowValidationMessage": "L'expression contient des erreurs.", + "xpack.stackAlerts.threshold.ui.alertType.defaultActionMessage": "l'alerte \"\\{\\{alertName\\}\\}\" est active pour le groupe \"\\{\\{context.group\\}\\}\" :\n\n- Valeur : \\{\\{context.value\\}\\}\n- Conditions remplies : \\{\\{context.conditions\\}\\} sur \\{\\{params.timeWindowSize\\}\\}\\{\\{params.timeWindowUnit\\}\\}\n- Horodatage : \\{\\{context.date\\}\\}", "xpack.stackAlerts.threshold.ui.alertType.descriptionText": "Alerte lorsqu'une recherche agrégée atteint le seuil.", "xpack.stackAlerts.threshold.ui.conditionPrompt": "Définir la condition", "xpack.stackAlerts.threshold.ui.filterKQLHelpText": "Utilisez une expression KQL pour limiter la portée de votre déclenchement d'alerte.", @@ -34749,6 +36256,11 @@ "xpack.stackConnectors.components.casesWebhook.error.missingVariables": "{variableCount, plural, one {Variable requise manquante} many {Variables requises manquantes} other {Variables requises manquantes}} : {variables}", "xpack.stackConnectors.components.email.error.invalidEmail": "L'adresse e-mai {email} n'est pas valide.", "xpack.stackConnectors.components.email.error.notAllowed": "L'adresse e-mail {email} n'est pas autorisée.", + "xpack.stackConnectors.components.genAi.azureAiApiKeyDocumentation": "La clé d’API Azure pour une authentification HTTP de base. Pour plus de détails sur la génération de clés de l’API Azure OpenAI, reportez-vous à la {genAiAPIKeyDocs}.", + "xpack.stackConnectors.components.genAi.azureAiDocumentation": "L’URL du point de terminaison de l’API Azure OpenAI. Pour plus d'informations sur l'URL, reportez-vous à la {genAiAPIUrlDocs}.", + "xpack.stackConnectors.components.genAi.dashboardLink": "Affichez le tableau de bord d’utilisation de {apiProvider} pour le connecteur \"{connectorName}\".", + "xpack.stackConnectors.components.genAi.openAiApiKeyDocumentation": "La clé d’authentification de l’API OpenAI pour l’authentification HTTP de base. Pour plus de détails sur la génération de clés de l’API OpenAI, reportez-vous à la {genAiAPIKeyDocs}.", + "xpack.stackConnectors.components.genAi.openAiDocumentation": "L’URL du point de terminaison de l’API OpenAI. Pour plus d'informations sur l'URL, reportez-vous à la {genAiAPIUrlDocs}.", "xpack.stackConnectors.components.index.error.badIndexOverrideValue": "L'index d'historique d'alertes doit commencer par \"{alertHistoryPrefix}\".", "xpack.stackConnectors.components.index.preconfiguredIndexHelpText": "Les documents sont indexés dans l'index {alertHistoryIndex}. ", "xpack.stackConnectors.components.jira.unableToGetIssueMessage": "Impossible d'obtenir le problème ayant l'ID {id}", @@ -34762,6 +36274,7 @@ "xpack.stackConnectors.components.serviceNow.updateSuccessToastTitle": "Connecteur {connectorName} mis à jour", "xpack.stackConnectors.components.swimlane.unableToGetApplicationMessage": "Impossible d'obtenir l'application avec l'ID {id}", "xpack.stackConnectors.email.customViewInKibanaMessage": "Ce message a été envoyé par Elastic. [{kibanaFooterLinkText}]({link}).", + "xpack.stackConnectors.genAi.configurationErrorApiProvider": "Une erreur a été rencontrée lors de la configuration de l’action d’IA générative : {err}", "xpack.stackConnectors.jira.configuration.apiAllowedHostsError": "erreur lors de la configuration de l'action du connecteur : {message}", "xpack.stackConnectors.pagerduty.configurationError": "erreur lors de la configuration de l'action pagerduty : {message}", "xpack.stackConnectors.pagerduty.invalidTimestampErrorMessage": "erreur lors de l'analyse de l'horodatage \"{timestamp}\"", @@ -34819,6 +36332,7 @@ "xpack.stackConnectors.components.casesWebhook.deleteHeaderButton": "Supprimer", "xpack.stackConnectors.components.casesWebhook.descriptionTextAreaFieldLabel": "Description", "xpack.stackConnectors.components.casesWebhook.docLink": "Configuration de Webhook - Connecteur de gestion des cas.", + "xpack.stackConnectors.components.casesWebhook.error.requiredAuthPasswordText": "Le mot de passe est requis.", "xpack.stackConnectors.components.casesWebhook.error.requiredAuthUserNameText": "Le nom d'utilisateur est requis.", "xpack.stackConnectors.components.casesWebhook.error.requiredCreateCommentIncidentText": "L'objet de création de commentaire doit être un JSON valide.", "xpack.stackConnectors.components.casesWebhook.error.requiredCreateCommentMethodText": "La méthode de création de commentaire est requise.", @@ -34874,6 +36388,18 @@ "xpack.stackConnectors.components.casesWebhook.viewIncidentUrlHelp": "URL pour voir le cas dans le système externe. Utilisez le sélecteur de variable pour ajouter à l’URL l'ID ou le titre du système externe.", "xpack.stackConnectors.components.casesWebhook.viewIncidentUrlTextFieldLabel": "URL de visualisation de cas externe", "xpack.stackConnectors.components.casesWebhookxpack.stackConnectors.components.casesWebhook.connectorTypeTitle": "Webhook - Données de gestion des cas", + "xpack.stackConnectors.components.d3security.bodyCodeEditorAriaLabel": "Éditeur de code", + "xpack.stackConnectors.components.d3security.bodyFieldLabel": "Corps", + "xpack.stackConnectors.components.d3security.connectorTypeTitle": "Données D3", + "xpack.stackConnectors.components.d3Security.connectorTypeTitle": "D3 Security", + "xpack.stackConnectors.components.d3security.eventTypeFieldLabel": "Type d'événement", + "xpack.stackConnectors.components.d3security.invalidActionText": "Nom d'action non valide.", + "xpack.stackConnectors.components.d3security.requiredActionText": "L'action est requise.", + "xpack.stackConnectors.components.d3security.requiredBodyTextField": "Le corps est requis.", + "xpack.stackConnectors.components.d3security.selectMessageText": "Créez un événement ou déclenchez des actions de workflow de playbook dans le SOAR D3.", + "xpack.stackConnectors.components.d3security.severityFieldLabel": "Sévérité", + "xpack.stackConnectors.components.d3security.tokenFieldLabel": "Token", + "xpack.stackConnectors.components.d3security.urlFieldLabel": "URL", "xpack.stackConnectors.components.email.addBccButton": "Cci", "xpack.stackConnectors.components.email.addCcButton": "Cc", "xpack.stackConnectors.components.email.amazonSesServerTypeLabel": "Amazon SES", @@ -34890,6 +36416,7 @@ "xpack.stackConnectors.components.email.error.requiredFromText": "L'expéditeur est requis.", "xpack.stackConnectors.components.email.error.requiredHostText": "L'hôte est requis.", "xpack.stackConnectors.components.email.error.requiredMessageText": "Le message est requis.", + "xpack.stackConnectors.components.email.error.requiredPasswordText": "Le mot de passe est requis.", "xpack.stackConnectors.components.email.error.requiredPortText": "Le port est requis.", "xpack.stackConnectors.components.email.error.requiredServiceText": "Le service est requis.", "xpack.stackConnectors.components.email.error.requiredSubjectText": "Le sujet est requis.", @@ -34910,6 +36437,7 @@ "xpack.stackConnectors.components.email.recipientBccTextFieldLabel": "Cci", "xpack.stackConnectors.components.email.recipientCopyTextFieldLabel": "Cc", "xpack.stackConnectors.components.email.recipientTextFieldLabel": "À", + "xpack.stackConnectors.components.email.requiredClientSecretText": "L'identifiant client secret est requis.", "xpack.stackConnectors.components.email.secureSwitchLabel": "Sécurisé", "xpack.stackConnectors.components.email.selectMessageText": "Envoyez un e-mail à partir de votre serveur.", "xpack.stackConnectors.components.email.serviceTextFieldLabel": "Service", @@ -34917,6 +36445,20 @@ "xpack.stackConnectors.components.email.tenantIdFieldLabel": "ID locataire", "xpack.stackConnectors.components.email.updateErrorNotificationText": "Impossible d’obtenir la configuration du service", "xpack.stackConnectors.components.email.userTextFieldLabel": "Nom d'utilisateur", + "xpack.stackConnectors.components.genAi.apiKeySecret": "Clé d'API", + "xpack.stackConnectors.components.genAi.apiProviderLabel": "Sélectionnez un fournisseur OpenAI", + "xpack.stackConnectors.components.genAi.apiUrlTextFieldLabel": "URL", + "xpack.stackConnectors.components.genAi.azureAi": "Azure OpenAI", + "xpack.stackConnectors.components.genAi.bodyCodeEditorAriaLabel": "Éditeur de code", + "xpack.stackConnectors.components.genAi.bodyFieldLabel": "Corps", + "xpack.stackConnectors.components.genAi.connectorTypeTitle": "IA générative", + "xpack.stackConnectors.components.genAi.documentation": "documentation", + "xpack.stackConnectors.components.genAi.error.dashboardApiError": "Une erreur s'est produite lors de la recherche du tableau de bord de l'utilisation des tokens de l'IA générative.", + "xpack.stackConnectors.components.genAi.error.requiredApiProviderText": "Un fournisseur d’API est nécessaire.", + "xpack.stackConnectors.components.genAi.error.requiredGenerativeAiBodyText": "Le corps est requis.", + "xpack.stackConnectors.components.genAi.openAi": "OpenAI", + "xpack.stackConnectors.components.genAi.selectMessageText": "Envoyer une requête aux systèmes d’IA générative.", + "xpack.stackConnectors.components.genAi.urlTextFieldLabel": "URL", "xpack.stackConnectors.components.index.configureIndexHelpLabel": "Configuration du connecteur d'index.", "xpack.stackConnectors.components.index.connectorSectionTitle": "Écrire dans l'index", "xpack.stackConnectors.components.index.connectorTypeTitle": "Données d'index", @@ -35076,7 +36618,9 @@ "xpack.stackConnectors.components.serviceNow.privateKeyPassTextFieldLabel": "Mot de passe de clé privée", "xpack.stackConnectors.components.serviceNow.privateKeyTextFieldLabel": "Clé privée", "xpack.stackConnectors.components.serviceNow.requiredClientIdTextField": "L'ID client est requis.", + "xpack.stackConnectors.components.serviceNow.requiredClientSecretTextField": "L'identifiant client secret est requis.", "xpack.stackConnectors.components.serviceNow.requiredKeyIdTextField": "L'ID de clé du vérificateur JWT est requis.", + "xpack.stackConnectors.components.serviceNow.requiredPasswordTextField": "Le mot de passe est requis.", "xpack.stackConnectors.components.serviceNow.requiredPrivateKeyTextField": "La clé privée est requise.", "xpack.stackConnectors.components.serviceNow.requiredSeverityTextField": "La sévérité est requise.", "xpack.stackConnectors.components.serviceNow.requiredShortDescTextField": "Une brève description est requise.", @@ -35114,11 +36658,21 @@ "xpack.stackConnectors.components.serviceNowSIR.correlationIDHelpLabel": "Identificateur pour les incidents de mise à jour", "xpack.stackConnectors.components.serviceNowSIR.selectMessageText": "Créez un incident dans ServiceNow SecOps.", "xpack.stackConnectors.components.serviceNowSIR.title": "Incident de sécurité", + "xpack.stackConnectors.components.slack_api.allowedChannelsLabel": "Canaux", + "xpack.stackConnectors.components.slack_api.apiKeyDocumentation": "Créer un token d’API web Slack", + "xpack.stackConnectors.components.slack_api.connectorTypeTitle": "Envoyer vers Slack", + "xpack.stackConnectors.components.slack_api.error.requiredSlackChannel": "Le canal est requis.", + "xpack.stackConnectors.components.slack_api.error.requiredSlackMessageText": "Le message est requis.", + "xpack.stackConnectors.components.slack_api.errorFetchChannelsText": "Impossible de récupérer les canaux, veuillez vérifier la validité de votre token", + "xpack.stackConnectors.components.slack_api.selectMessageText": "Envoyer des messages aux canaux Slack.", + "xpack.stackConnectors.components.slack_api.successFetchChannelsText": "Récupérer tous les canaux", + "xpack.stackConnectors.components.slack_api.tokenTextFieldLabel": "Token d'API", + "xpack.stackConnectors.components.slack_api.webApi": "API web", "xpack.stackConnectors.components.slack..error.requiredSlackMessageText": "Le message est requis.", "xpack.stackConnectors.components.slack.connectorTypeTitle": "Envoyer vers Slack", "xpack.stackConnectors.components.slack.error.invalidWebhookUrlText": "L'URL de webhook n'est pas valide.", "xpack.stackConnectors.components.slack.messageTextAreaFieldLabel": "Message", - "xpack.stackConnectors.components.slack.selectMessageText": "Envoyez un message à un canal ou à un utilisateur Slack.", + "xpack.stackConnectors.components.slack.selectMessageText": "Envoyer des messages aux canaux Slack.", "xpack.stackConnectors.components.slack.webApi": "API web", "xpack.stackConnectors.components.slack.webhook": "Webhook", "xpack.stackConnectors.components.slack.webhookUrlHelpLabel": "Créer une URL de webhook Slack", @@ -35138,10 +36692,12 @@ "xpack.stackConnectors.components.swimlane.emptyMappingWarningDesc": "Ce connecteur ne peut pas être sélectionné, car il ne possède pas les mappings de champs d'alerte requis. Vous pouvez modifier ce connecteur pour ajouter les mappings de champs requis ou sélectionner un connecteur de type Alertes.", "xpack.stackConnectors.components.swimlane.emptyMappingWarningTitle": "Ce connecteur ne possède pas de mappings de champs", "xpack.stackConnectors.components.swimlane.error.requiredAlertID": "L'ID d'alerte est requis.", + "xpack.stackConnectors.components.swimlane.error.requiredApiToken": "Le token d'API est requis.", "xpack.stackConnectors.components.swimlane.error.requiredAppIdText": "Un ID d'application est requis.", "xpack.stackConnectors.components.swimlane.error.requiredCaseID": "L'ID de cas est requis.", "xpack.stackConnectors.components.swimlane.error.requiredCaseName": "Le nom de cas est requis.", "xpack.stackConnectors.components.swimlane.error.requiredComments": "Les commentaires sont requis.", + "xpack.stackConnectors.components.swimlane.error.requiredConnectorType": "Le type de connecteur est requis.", "xpack.stackConnectors.components.swimlane.error.requiredDescription": "La description est requise.", "xpack.stackConnectors.components.swimlane.error.requiredRuleName": "Le nom de règle est requis.", "xpack.stackConnectors.components.swimlane.error.requiredSeverity": "La sévérité est requise.", @@ -35170,6 +36726,7 @@ "xpack.stackConnectors.components.webhook.error.requiredAuthUserNameText": "Le nom d'utilisateur est requis.", "xpack.stackConnectors.components.webhook.error.requiredMethodText": "La méthode est requise.", "xpack.stackConnectors.components.webhook.error.requiredWebhookBodyText": "Le corps est requis.", + "xpack.stackConnectors.components.webhook.error.requiredWebhookPasswordText": "Le mot de passe est requis.", "xpack.stackConnectors.components.webhook.hasAuthSwitchLabel": "Demander une authentification pour ce webhook", "xpack.stackConnectors.components.webhook.headerKeyTextFieldLabel": "Clé", "xpack.stackConnectors.components.webhook.headerValueTextFieldLabel": "Valeur", @@ -35187,6 +36744,8 @@ "xpack.stackConnectors.components.xmatters.connectorTypeTitle": "Données xMatters", "xpack.stackConnectors.components.xmatters.error.invalidUrlTextField": "L'URL n'est pas valide.", "xpack.stackConnectors.components.xmatters.error.invalidUsernameTextField": "Nom d'utilisateur non valide.", + "xpack.stackConnectors.components.xmatters.error.requiredConnectorSettingsText": "Une méthode d’authentification est nécessaire.", + "xpack.stackConnectors.components.xmatters.error.requiredPasswordText": "Le mot de passe est requis.", "xpack.stackConnectors.components.xmatters.error.requiredUrlText": "L'URL est requise.", "xpack.stackConnectors.components.xmatters.initiationUrlHelpText": "Spécifiez l'URL xMatters complète.", "xpack.stackConnectors.components.xmatters.passwordTextFieldLabel": "Mot de passe", @@ -35207,6 +36766,7 @@ "xpack.stackConnectors.email.sentByKibanaMessage": "Ce message a été envoyé par Elastic.", "xpack.stackConnectors.email.title": "E-mail", "xpack.stackConnectors.error.requiredWebhookBodyText": "Le corps est requis.", + "xpack.stackConnectors.error.requiredWebhookTorqTokenText": "Un token d'intégration Torq est nécessaire.", "xpack.stackConnectors.error.requireValidJSONBody": "Le corps doit être dans un format JSON valide.", "xpack.stackConnectors.esIndex.errorIndexingErrorMessage": "erreur lors de l'indexation des documents", "xpack.stackConnectors.esIndex.title": "Index", @@ -35218,6 +36778,9 @@ "xpack.stackConnectors.pagerduty.unexpectedNullResponseErrorMessage": "réponse nulle inattendue de pagerduty", "xpack.stackConnectors.resilient.title": "IBM Resilient", "xpack.stackConnectors.sections.ospgenie.loadingJsonEditor": "Chargement de l'éditeur JSON", + "xpack.stackConnectors.security.genAi.params.error.invalidActionText": "Nom d'action non valide.", + "xpack.stackConnectors.security.genAi.params.error.invalidBodyText": "Le corps n'a pas de format JSON valide.", + "xpack.stackConnectors.security.genAi.params.error.requiredActionText": "L'action est requise.", "xpack.stackConnectors.security.tines.config.authenticationTitle": "Authentification", "xpack.stackConnectors.security.tines.config.emailTextFieldLabel": "E-mail", "xpack.stackConnectors.security.tines.config.error.invalidUrlTextField": "L'URL du locataire n'est pas valide.", @@ -35270,6 +36833,7 @@ "xpack.stackConnectors.slack.configurationErrorNoHostname": "erreur lors de la configuration de l'action slack : impossible d'analyser le nom de l'hôte depuis webhookUrl", "xpack.stackConnectors.slack.errorPostingErrorMessage": "erreur lors de la publication du message slack", "xpack.stackConnectors.slack.errorPostingRetryLaterErrorMessage": "erreur lors de la publication d'un message slack, réessayer ultérieurement", + "xpack.stackConnectors.slack.params.channelsComboBoxLabel": "Canaux", "xpack.stackConnectors.slack.params.componentError.getChannelsRequestFailed": "Impossible de récupérer la liste des canaux Slack", "xpack.stackConnectors.slack.title": "Slack", "xpack.stackConnectors.slack.unexpectedNullResponseErrorMessage": "réponse nulle inattendue de Slack", @@ -35329,6 +36893,13 @@ "xpack.synthetics.alerts.monitorStatus.defaultRecoveryMessage": "L'alerte pour le moniteur {monitorName} avec l'URL {monitorUrl} depuis {observerLocation} a été résolue", "xpack.synthetics.alerts.monitorStatus.defaultRecoverySubjectMessage": "Le moniteur {monitorName} avec l'URL {monitorUrl} a récupéré", "xpack.synthetics.alerts.monitorStatus.defaultSubjectMessage": "Le moniteur {monitorName} avec l'URL {monitorUrl} est arrêté", + "xpack.synthetics.alerts.monitorStatus.upCheck.reasonWithoutDuration": "le moniteur est de nouveau opérationnel. Il a été exécuté avec succès à {checkedAt}", + "xpack.synthetics.alerts.syntheticsMonitorStatus.defaultActionMessage": "\"{monitorName}\" est {status} de {locationName}. - Elastic Synthetics\n\nDétails :\n\n- Nom du moniteur : {monitorName} \n- {monitorUrlLabel} : {monitorUrl} \n- Type du moniteur : {monitorType} \n- Vérifié à : {checkedAt} \n- De : {locationName} \n- Erreur reçue : {lastErrorMessage} \n{linkMessage}", + "xpack.synthetics.alerts.syntheticsMonitorStatus.defaultRecoveryMessage": "L’alerte pour \"{monitorName}\" de {locationName} n’est plus active : {recoveryReason}. - Elastic Synthetics\n\nDétails :\n\n- Nom du moniteur : {monitorName} \n- {monitorUrlLabel} : {monitorUrl} \n- Type du moniteur : {monitorType} \n- De : {locationName} \n- Dernière erreur reçue : {lastErrorMessage} \n{linkMessage}", + "xpack.synthetics.alerts.syntheticsMonitorStatus.defaultRecoverySubjectMessage": "\"{monitorName}\" ({locationName}) {recoveryStatus} - Elastic Synthetics", + "xpack.synthetics.alerts.syntheticsMonitorStatus.defaultSubjectMessage": "\"{monitorName}\" ({locationName}) est arrêté - Elastic Synthetics", + "xpack.synthetics.alerts.syntheticsMonitorTLS.defaultRecoverySubjectMessage": "L’alerte a été résolue pour le certificat {commonName} - Elastic Synthetics", + "xpack.synthetics.alerts.syntheticsMonitorTLS.defaultSubjectMessage": "L’alerte a été déclenchée pour le certificat {commonName} - Elastic Synthetics", "xpack.synthetics.alerts.tls.defaultActionMessage": "Le certificat TLS {commonName} détecté de l'émetteur {issuer} est {status}. Certificat {summary}", "xpack.synthetics.alerts.tls.defaultRecoveryMessage": "L'alerte pour le certificat TLS {commonName} de l'émetteur {issuer} a été résolue", "xpack.synthetics.alerts.tls.legacy.defaultActionMessage": "Détection de {count} certificats TLS sur le point d'expirer ou devenant trop anciens.\n{expiringConditionalOpen}\nNombre de certificats sur le point d'expirer : {expiringCount}\nCertificats sur le point d'expirer : {expiringCommonNameAndDate}\n{expiringConditionalClose}\n{agingConditionalOpen}\nNombre de certificats vieillissants : {agingCount}\nCertificats vieillissants : {agingCommonNameAndDate}\n{agingConditionalClose}\n", @@ -35361,6 +36932,7 @@ "xpack.synthetics.management.monitorList.recordRange": "Affichage de {range} sur {total} {monitorsLabel}", "xpack.synthetics.management.monitorList.recordRangeLabel": "{monitorCount, plural, one {Moniteur} many {Moniteurs} other {Moniteurs}}", "xpack.synthetics.management.monitorList.recordTotal": "Affichage de {total} {monitorsLabel}", + "xpack.synthetics.manualTestRun.failedTest.name": "L’exécution de test manuelle a échoué pour {name}", "xpack.synthetics.monitor.stepOfSteps": "Étape : {stepNumber} sur {totalSteps}", "xpack.synthetics.monitorAddEdit.throttling.connectionProfile": "({download} Mbits/s, {upload} Mbits/s, {latency} ms)", "xpack.synthetics.monitorConfig.monitorScriptEditStep.description": "Utilisez l'enregistreur Elastic Synthetics pour générer et charger un script. Vous pouvez également modifier le script {playwright} existant (ou en coller un nouveau) dans l'éditeur de script.", @@ -35369,6 +36941,7 @@ "xpack.synthetics.monitorConfig.schedule.label": "Chaque {value, number} {value, plural, one {heure} many {heures} other {heures}}", "xpack.synthetics.monitorConfig.schedule.minutes.label": "Chaque {value, number} {value, plural, one {minute} many {minutes} other {minutes}}", "xpack.synthetics.monitorConfig.syntheticsArgs.mode.helpText": "Si la valeur est définie sur {any}, le moniteur envoie une requête ping à une seule adresse IP pour un nom d'hôte. Si la valeur est définie sur {all}, le moniteur envoie une requête ping à toutes les adresses IP pouvant être résolues pour un nom d'hôte. {all} est utile si vous utilisez un équilibreur de charge DNS et souhaitez envoyer une requête ping à chaque adresse IP pour le nom d'hôte spécifié.", + "xpack.synthetics.monitorConfig.throttlingDisabled.label": "Profil de connexion ({icon} Information importante au sujet de la régulation : {link})", "xpack.synthetics.monitorDetail.days": "{n, plural, one {jour} many {jours} other {jours}}", "xpack.synthetics.monitorDetail.hours": "{n, plural, one {heure} many {heures} other {heures}}", "xpack.synthetics.monitorDetail.minutes": "{n, plural, one {minute} many {minutes} other {minutes}}", @@ -35381,9 +36954,9 @@ "xpack.synthetics.monitorList.flyout.unitStr": "Toutes les {unitMsg}", "xpack.synthetics.monitorList.redirects.description": "Heartbeat a suivi {number} redirections lors de l'exécution du ping.", "xpack.synthetics.monitorManagement.agentCallout.content": "Pour exécuter les moniteurs \"Navigateur\" dans cet emplacement privé, assurez-vous d'utiliser le conteneur Docker {code}, qui contient les dépendances permettant de les exécuter. Pour en savoir plus, {link}.", - "xpack.synthetics.monitorManagement.agentMissingCallout.content": "Vous avez sélectionné une politique d'agent à laquelle aucun agent n'est attaché. Assurez-vous que vous avez au moins un agent enregistré dans cette politique. Vous pouvez ajouter un agent avant ou après la création d'un emplacement. Pour en savoir plus, {link}.", + "xpack.synthetics.monitorManagement.agentMissingCallout.content": "Vous avez sélectionné une politique d'agent à laquelle aucun agent n'est attaché. Assurez-vous que vous avez au moins un agent enregistré dans cette politique. Vous pouvez ajouter un agent avant ou après la création d’un emplacement. Pour en savoir plus, {link}.", "xpack.synthetics.monitorManagement.anotherPrivateLocation": "Cette politique d'agent est déjà associée à l'emplacement {locationName}.", - "xpack.synthetics.monitorManagement.cannotDelete.description": "Cet emplacement ne peut pas être supprimé, car il a {monCount, number} {monCount, plural, one {moniteur} many {moniteurs} other {moniteurs}} en cours d'exécution.\n Retirez cet emplacement de vos moniteurs avant de le supprimer.", + "xpack.synthetics.monitorManagement.cannotDelete.description": "Vous ne pouvez pas supprimer cet emplacement, car il est utilisé dans {monCount, number} {monCount, plural, one {moniteur} many {moniteurs} other {moniteurs}}.\n Supprimez d’abord cet emplacement de tous les moniteurs.", "xpack.synthetics.monitorManagement.deleteLocationName": "Supprimer \"{location}\"", "xpack.synthetics.monitorManagement.deleteMonitorNameLabel": "Supprimer le moniteur \"{name}\" ?", "xpack.synthetics.monitorManagement.lastXDays": "Dernière {count, number} {count, plural, one {jour} many {jours} other {jours}}", @@ -35394,8 +36967,8 @@ "xpack.synthetics.monitorManagement.service.error.status": "Statut : {status}. ", "xpack.synthetics.monitorManagement.stepCompleted": "{stepCount, number} {stepCount, plural, one {étape terminée} many {étapes terminées} other {étapes terminées}}", "xpack.synthetics.monitorManagement.timeTaken": "Cela a pris {timeTaken}", - "xpack.synthetics.monitorManagement.viewMonitors": "L'emplacement {name} a {count, number} {count, plural, one {moniteur} many {moniteurs} other {moniteurs}} en cours d'exécution.", - "xpack.synthetics.monitorManagementRoute.title": "Gestion des moniteurs | {baseTitle}", + "xpack.synthetics.monitorManagement.viewMonitors": "{name} est utilisé dans {count, number} {count, plural, one {moniteur} many {moniteurs} other {moniteurs}}.", + "xpack.synthetics.monitorManagementRoute.title": "Gestion de Synthetics | {baseTitle}", "xpack.synthetics.monitorNotFound.title": "Moniteur Synthetics introuvable | {baseTitle}", "xpack.synthetics.overview.actions.disabledSuccessLabel": "Moniteur \"{name}\" désactivé.", "xpack.synthetics.overview.actions.disabledSuccessLabel.alert": "Les alertes sont maintenant désactivées pour le moniteur \"{name}\".", @@ -35414,16 +36987,28 @@ "xpack.synthetics.paramManagement.paramDeleteFailuresMessage.name": "Paramètre {name} supprimé.", "xpack.synthetics.paramManagement.paramDeleteSuccessMessage.name": "Paramètre {name} supprimé.", "xpack.synthetics.params.description": "Définissez les variables et paramètres que vous pouvez utiliser dans la configuration du navigateur et des moniteurs légers, tels que des informations d'identification ou des URL. {learnMore}", + "xpack.synthetics.params.unprivileged.unprivilegedDescription": "Vous devez disposer de privilèges supplémentaires pour voir les paramètres d’utilisation et de conservation des données des applications Synthetics. {docsLink}", "xpack.synthetics.pingList.expandedRow.bodySize": "La taille du corps est de {bodyBytes}.", "xpack.synthetics.pingList.expandedRow.truncated": "Affichage des {contentBytes} premiers octets.", "xpack.synthetics.pingList.recencyMessage": "Vérifié {fromNow}", - "xpack.synthetics.project.readOnly.callout.content": "Ce moniteur a été ajouté depuis un projet externe : {projectId}. Vous pouvez uniquement l'activer, le désactiver ou le retirer à partir de cette page. Pour effectuer des changements de configuration, vous devez modifier son fichier source et le transmettre à nouveau à partir de ce projet.", + "xpack.synthetics.project.readOnly.callout.content": "Ce moniteur a été ajouté depuis un projet externe : {projectId}. Depuis cette page, vous pouvez activer et désactiver le moniteur et ses alertes, ou le supprimer. Pour effectuer des changements de configuration, vous devez modifier son fichier source et le transmettre à nouveau à partir de ce projet.", "xpack.synthetics.projectMonitorApi.validation.invalidUrlOrHosts.description": "Les moniteurs du projet \"{monitorType}\" doivent contenir exactement une valeur pour le champ \"{key}\" dans la version \"{version}\". Votre moniteur n'a pas été créé ni mis à jour.", "xpack.synthetics.prompt.errors.notFound.body": "Désolé, le moniteur portant l'ID {monitorId} est introuvable. Il a peut-être été supprimé ou vous n'êtes pas autorisé à le visualiser.", + "xpack.synthetics.rules.tls.defaultActionMessage": "Le certificat TLS {commonName} détecté est {status} - Elastic Synthetics\n\nDétails :\n\n- Résumé : {summary}\n- Nom courant : {commonName}\n- Émetteur : {issuer}\n- Moniteur : {monitorName} \n- URL du moniteur : {monitorUrl} \n- Type du moniteur : {monitorType} \n- De : {locationName}", + "xpack.synthetics.rules.tls.validAfterExpiredString": "Expiré le {date}, il y a {relativeDate} jours.", + "xpack.synthetics.rules.tls.validAfterExpiringString": "Expire le {date}, dans {relativeDate} jours.", + "xpack.synthetics.rules.tls.validBeforeExpiredString": "valide depuis {date}, il y a {relativeDate} jours.", + "xpack.synthetics.rules.tls.validBeforeExpiringString": "non valide jusqu'au {date}, dans {relativeDate} jours.", + "xpack.synthetics.server.monitors.invalidScheduleDetails": "Les minutes de la planification {schedule} fournies à la configuration du moniteur ne sont pas valides. Veuillez utiliser une planification moniteur prise en charge.", + "xpack.synthetics.server.monitors.invalidSchemaError": "Le moniteur n’est pas un moniteur valide de type {type}", "xpack.synthetics.server.projectMonitors.invalidPrivateLocationError": "Emplacement privé non valide : \"{location}\". Supprimez-le ou remplacez-le par un emplacement privé valide.", "xpack.synthetics.server.projectMonitors.invalidPublicLocationError": "Emplacement non valide : \"{location}\". Supprimez-le ou remplacez-le par un emplacement valide.", "xpack.synthetics.service.projectMonitors.cannotUpdateMonitorToDifferentTypeDetails": "Le moniteur {monitorId} de type {previousType} ne peut pas être mis à jour en type {currentType}. Veuillez d'abord supprimer ce moniteur et réessayer.", + "xpack.synthetics.service.projectMonitors.failedToCreateMonitors": "Échec de la création de moniteur : {journeyId}", "xpack.synthetics.service.projectMonitors.failedToCreateXMonitors": "Impossible de créer les moniteurs {length}", + "xpack.synthetics.service.projectMonitors.failedToUpdateJourney": "Échec de la mise à jour du parcours : {journeyId}", + "xpack.synthetics.service.projectMonitors.failedToUpdateXMonitors": "Échec de la mise à jour des moniteurs {length}", + "xpack.synthetics.settingsRoute.params.deleteCount": "Supprimer les paramètres {count}", "xpack.synthetics.settingsRoute.retentionCalloutDescription": "Pour modifier vos paramètres de conservation des données, nous vous recommandons de créer votre propre politique de cycle de vie des index et de l'attacher au modèle de composant personnalisé approprié dans {stackManagement}. Pour en savoir plus, {docsLink}.", "xpack.synthetics.settingsRoute.table.retentionPeriodValue": "{value} jours + substitution", "xpack.synthetics.settingsRoute.title": "Paramètres | {baseTitle}", @@ -35442,7 +37027,7 @@ "xpack.synthetics.synthetics.testDetails.stepNav": "{stepIndex} / {totalSteps}", "xpack.synthetics.tableTitle.showing": "Affichage de {count} sur {total} {label}", "xpack.synthetics.tagsList.filter": "Cliquez pour filtrer la liste avec la balise {tag}", - "xpack.synthetics.testRun.runErrorLocation.reason": "Impossible d'exécuter le moniteur sur l'emplacement {locationName}. {reason}", + "xpack.synthetics.testRun.runErrorLocation.reason": "Échec de l’exécution du test sur l’emplacement {locationName}. {reason}", "xpack.synthetics.testRunDetailsRoute.title": "Détails de l'exécution du test | {baseTitle}", "xpack.synthetics.waterfall.networkRequests.count": "Affichage de {countShown} sur {total} {networkRequestsLabel}", "xpack.synthetics.waterfall.networkRequests.pluralizedCount": "{total, plural, one {requête réseau} many {requêtes réseau} other {requêtes réseau}}", @@ -35451,11 +37036,13 @@ "xpack.synthetics.addEditMonitor.scriptEditor.helpText": "Exécute des scripts de tests synthétiques définis en ligne.", "xpack.synthetics.addEditMonitor.scriptEditor.label": "Éditeur de script", "xpack.synthetics.addEditMonitor.scriptEditor.placeholder": "// Collez votre script Playwright ici...", + "xpack.synthetics.alertDropdown.noPermissions": "Vous ne disposez pas d'autorisations suffisantes pour effectuer cette action.", "xpack.synthetics.alerting.noConnectorsCallout.button": "Configurer maintenant", "xpack.synthetics.alerting.noConnectorsCallout.content": "Vous avez des moniteurs pour lesquels des alertes sont activées, mais aucun connecteur par défaut n'est configuré pour envoyer ces alertes.", "xpack.synthetics.alerting.noConnectorsCallout.header": "Les alertes ne sont pas envoyées", "xpack.synthetics.alertRule.monitorStatus.description": "Gérez les actions de règle de statut du moniteur Synthetics.", "xpack.synthetics.alertRules.actionGroups.monitorStatus": "Statut du moniteur Synthetics", + "xpack.synthetics.alertRules.actionGroups.tls": "Certificat TLS Synthetics", "xpack.synthetics.alertRules.monitorStatus": "Statut du moniteur Synthetics", "xpack.synthetics.alertRules.monitorStatus.actionVariables.context.alertDetailUrl.description": "Associer à une vue affichant plus de détails et de contexte sur cette alerte", "xpack.synthetics.alertRules.monitorStatus.actionVariables.context.alertReasonMessage.description": "Une description concise de la raison du signalement", @@ -35478,11 +37065,22 @@ "xpack.synthetics.alertRules.monitorStatus.actionVariables.state.monitorUrl": "URL du moniteur.", "xpack.synthetics.alertRules.monitorStatus.actionVariables.state.observerHostname": "Nom d'hôte de l'emplacement à partir duquel la vérification est effectuée.", "xpack.synthetics.alertRules.monitorStatus.actionVariables.state.status": "Statut du moniteur (par ex. \"arrêté\").", + "xpack.synthetics.alertRules.monitorStatus.browser.label": "navigateur", + "xpack.synthetics.alertRules.monitorStatus.host.label": "Hôte", + "xpack.synthetics.alertRules.monitorStatus.unavailableUrlLabel": "(indisponible)", "xpack.synthetics.alerts.durationAnomaly.clientName": "Anomalie de durée Uptime", "xpack.synthetics.alerts.durationAnomaly.description": "Alerte lorsque la durée du moniteur Uptime est anormale.", + "xpack.synthetics.alerts.monitorStatus.absoluteLink.label": "- Lien", "xpack.synthetics.alerts.monitorStatus.clientName": "Statut du moniteur Uptime", + "xpack.synthetics.alerts.monitorStatus.defaultRecovery.status": "a récupéré", + "xpack.synthetics.alerts.monitorStatus.deleteMonitor.reason": "le moniteur a été supprimé", + "xpack.synthetics.alerts.monitorStatus.deleteMonitor.status": "a été supprimé", "xpack.synthetics.alerts.monitorStatus.description": "Alerte lorsqu'un monitoring est arrêté ou qu'un seuil de disponibilité est dépassé.", "xpack.synthetics.alerts.monitorStatus.downLabel": "bas", + "xpack.synthetics.alerts.monitorStatus.relativeLink.label": "- Lien relatif", + "xpack.synthetics.alerts.monitorStatus.removedLocation.reason": "cet emplacement a été retiré du moniteur", + "xpack.synthetics.alerts.monitorStatus.removedLocation.status": "a récupéré", + "xpack.synthetics.alerts.monitorStatus.upCheck.status": "est désormais disponible", "xpack.synthetics.alerts.searchPlaceholder.kql": "Filtrer à l'aide de la syntaxe KQL", "xpack.synthetics.alerts.settings.addConnector": "Ajouter un connecteur", "xpack.synthetics.alerts.syntheticsMonitorStatus.clientName": "Statut du moniteur", @@ -35569,6 +37167,9 @@ "xpack.synthetics.createPackagePolicy.stepConfigure.requestBodyType.XML": "XML", "xpack.synthetics.createPackagePolicy.stepConfigure.responseBodyIndex.always": "Toujours", "xpack.synthetics.createPackagePolicy.stepConfigure.responseBodyIndex.onError": "En cas d'erreur", + "xpack.synthetics.dataRetention.unprivileged.cluster": "« read_ilm », « monitor » pour afficher et « manage_ilm » pour gérer les politiques ILM sur le cluster Elasticsearch.", + "xpack.synthetics.dataRetention.unprivileged.index": "« read », « monitor » sur les index Elasticsearch suivants : « synthetics-* »", + "xpack.synthetics.dataRetention.unprivileged.unprivilegedTitle": "Privilèges manquants", "xpack.synthetics.dcl.label": "DCL", "xpack.synthetics.detailsPanel.alerts": "Alertes", "xpack.synthetics.detailsPanel.alerts.active": "Actif", @@ -35579,7 +37180,7 @@ "xpack.synthetics.detailsPanel.last24Hours": "Dernières 24 heures", "xpack.synthetics.detailsPanel.last30Days": "30 derniers jours", "xpack.synthetics.detailsPanel.monitorDetails": "Détails du moniteur", - "xpack.synthetics.detailsPanel.monitorDetails.enabled": "Activé", + "xpack.synthetics.detailsPanel.monitorDetails.enabled": "Activé (tous les emplacements)", "xpack.synthetics.detailsPanel.monitorDetails.monitorType": "Type de moniteur", "xpack.synthetics.detailsPanel.monitorDuration": "Durée du moniteur", "xpack.synthetics.detailsPanel.summary": "Résumé", @@ -35592,7 +37193,9 @@ "xpack.synthetics.durationTrend.percentile75": "75e", "xpack.synthetics.editMonitor.errorDetailsRoute.title": "Détails de l'erreur", "xpack.synthetics.editMonitor.pageHeader.title": "Modifier le moniteur", - "xpack.synthetics.emptyState.enablement.disabledDescription": "L'application Synthetics est actuellement désactivée. L'application Synthetics vous permet d'exécuter des moniteurs légers et basés sur un navigateur réel à partir d'emplacements de test hébergés dans le monde entier. Pour activer l'application Synthetics, veuillez contacter un administrateur.", + "xpack.synthetics.emptyState.enablement.contactAdministrator": "Seuls les administrateurs peuvent activer cette fonctionnalité.", + "xpack.synthetics.emptyState.enablement.disabledDescription": "Exécutez des vérifications automatiques basées sur des simulations de navigateur réel et des pings de point de terminaison légers pour mesurer l’expérience de vos utilisateurs depuis n'importe quel endroit dans le monde.", + "xpack.synthetics.emptyState.enablement.title": "Monitorer le statut de vos services et applications avec Synthetics", "xpack.synthetics.emptyStateError.notAuthorized": "Vous n'êtes pas autorisé à afficher les données Uptime, veuillez contacter votre administrateur système.", "xpack.synthetics.emptyStateError.title": "Erreur", "xpack.synthetics.errorDetails.errorDuration": "Erreur de durée", @@ -35619,6 +37222,7 @@ "xpack.synthetics.fieldLabels.fcp": "First Contentful Paint (FCP)", "xpack.synthetics.fieldLabels.lcp": "Largest Contentful Paint (LCP)", "xpack.synthetics.fieldLabels.transferSize": "La propriété transferSize représente la taille de la ressource récupérée. La taille inclut les champs d'en-tête de réponse plus le corps de la charge utile de la réponse", + "xpack.synthetics.getCerts.failed": "Échec de l’obtention des certificats TLS.", "xpack.synthetics.gettingStarted.createLocationHeading": "Lancez-vous avec Synthetic Monitoring", "xpack.synthetics.gettingStarted.createLocationLabel": "Créer l'emplacement", "xpack.synthetics.gettingStarted.createSingle.description": " pour démarrer avec le monitoring Elastic Synthetics.", @@ -35632,7 +37236,9 @@ "xpack.synthetics.gettingStarted.privateLocationLabel": "emplacement privé", "xpack.synthetics.historyPanel.durationTrends": "Tendances de durée", "xpack.synthetics.historyPanel.stats": "Statistiques", + "xpack.synthetics.inProgress.label": "L’exécution d’un test manuel est en cours.", "xpack.synthetics.inspectButtonText": "Inspecter", + "xpack.synthetics.invalidLicense.licenseManagementLink": "Gérer votre licence", "xpack.synthetics.keyValuePairsField.key.ariaLabel": "Clé", "xpack.synthetics.keyValuePairsField.key.label": "Clé", "xpack.synthetics.keyValuePairsField.value.ariaLabel": "Valeur", @@ -35641,6 +37247,8 @@ "xpack.synthetics.leftOver.errors.createIssue": "créant un problème.", "xpack.synthetics.leftOver.errors.delete": "Supprimer l'intégration", "xpack.synthetics.leftOver.errors.title": "Veuillez cliquer sur le bouton ci-dessous pour supprimer l'intégration. Normalement, cela ne devrait pas arriver. Puisque le moniteur a été supprimé, l'intégration devait être supprimée automatiquement. Si cela se produit souvent, signalez-le en ", + "xpack.synthetics.license.invalidLicenseDescription": "L'interface utilisateur de Synthetics n'est pas disponible car votre licence actuelle a expiré ou n'est plus valide.", + "xpack.synthetics.license.invalidLicenseTitle": "Licence non valide", "xpack.synthetics.locations.error.content": "Une erreur s'est produite lors du chargement des emplacements de test. Réessayez plus tard.", "xpack.synthetics.locations.error.label": "Impossible de charger les emplacements de test", "xpack.synthetics.management.actions": "Actions", @@ -35710,8 +37318,10 @@ "xpack.synthetics.monitorConfig.clientKey.label": "Clé client", "xpack.synthetics.monitorConfig.clientKeyPassphrase.helpText": "Phrase secrète de la clé de certificat pour l'authentification du client TLS.", "xpack.synthetics.monitorConfig.clientKeyPassphrase.label": "Phrase secrète de la clé de client", + "xpack.synthetics.monitorConfig.create.alertTlsEnabled.label": "Activez les alertes TLS sur ce moniteur.", "xpack.synthetics.monitorConfig.customTLS.label": "Utiliser la configuration TLS personnalisée", - "xpack.synthetics.monitorConfig.edit.enabled.label": "Les moniteurs désactivés n'exécutent pas de tests.", + "xpack.synthetics.monitorConfig.edit.alertTlsEnabled.label": "La désactivation arrête les alertes TLS sur ce moniteur.", + "xpack.synthetics.monitorConfig.edit.enabled.label": "Une fois désactivé, le moniteur n’exécute aucun test. Vous pouvez l’activer à tout moment.", "xpack.synthetics.monitorConfig.enabled.label": "Activer le moniteur", "xpack.synthetics.monitorConfig.enabledAlerting.label": "Activer les alertes de statut", "xpack.synthetics.monitorConfig.frequency.helpText": "À quelle fréquence voulez-vous exécuter ce test ? Les fréquences les plus élevées augmenteront votre coût total.", @@ -35849,6 +37459,7 @@ "xpack.synthetics.monitorConfig.textAssertion.helpText": "Prenez en considération la page chargée lorsque le texte spécifié est rendu.", "xpack.synthetics.monitorConfig.textAssertion.label": "Assertion de texte", "xpack.synthetics.monitorConfig.throttling.helpText": "Simulez la régulation du réseau (téléchargement, chargement, latence).", + "xpack.synthetics.monitorConfig.throttlingDisabled.link": "notification", "xpack.synthetics.monitorConfig.timeout.formatError": "Le délai d'expiration n'est pas valide.", "xpack.synthetics.monitorConfig.timeout.greaterThan0Error": "Le délai d'expiration doit être supérieur ou égal à 0.", "xpack.synthetics.monitorConfig.timeout.helpText": "Temps total autorisé pour tester la connexion et l'échange de données.", @@ -35892,6 +37503,7 @@ "xpack.synthetics.monitorDetails.summary.message": "Message", "xpack.synthetics.monitorDetails.summary.result": "Résultat", "xpack.synthetics.monitorDetails.summary.screenshot": "Capture d'écran", + "xpack.synthetics.monitorDetails.summary.successful": "Réussi", "xpack.synthetics.monitorDetails.summary.testRuns": "Exécutions de test", "xpack.synthetics.monitorDetails.summary.totalRuns": "Total d'exécutions", "xpack.synthetics.monitorDetails.summary.viewErrorDetails": "Afficher les détails de l'erreur", @@ -35902,12 +37514,19 @@ "xpack.synthetics.monitorEditPage.error.label": "Impossible de charger la configuration du moniteur", "xpack.synthetics.monitorErrorsTab.title": "Erreurs", "xpack.synthetics.monitorHistoryTab.title": "Historique", + "xpack.synthetics.monitorInspect.closeLabel": "Fermer", + "xpack.synthetics.monitorInspect.configLabel": "Configuration", + "xpack.synthetics.monitorInspect.formattedConfigLabel.description": "Voir la configuration formatée pour ce moniteur.", + "xpack.synthetics.monitorInspect.formattedConfigLabel.valid": "Seules les configurations de formulaires valides peuvent être inspectées.", + "xpack.synthetics.monitorInspect.hideParams": "Cacher les valeurs de paramètres", + "xpack.synthetics.monitorInspect.inspectLabel": "Inspecter la configuration", + "xpack.synthetics.monitorInspect.sourceCodeLabel": "Code source", "xpack.synthetics.monitorLastRun.lastRunLabel": "Dernière exécution", "xpack.synthetics.monitorList.closeFlyoutText": "Fermer", "xpack.synthetics.monitorList.durationChart.durationSeriesName": "Durée", "xpack.synthetics.monitorList.durationChart.previousPeriodSeriesName": "Période précédente", "xpack.synthetics.monitorList.durationHeaderText": "Durée", - "xpack.synthetics.monitorList.enabledItemText": "Activé", + "xpack.synthetics.monitorList.enabledItemText": "Activé (tous les emplacements)", "xpack.synthetics.monitorList.errorSummary": "Résumé des erreurs", "xpack.synthetics.monitorList.goToMonitorLinkText": "Accéder au moniteur", "xpack.synthetics.monitorList.lastModified": "Dernière modification", @@ -35929,6 +37548,7 @@ "xpack.synthetics.monitorList.testRunLogs": "Logs d'exécution de test", "xpack.synthetics.monitorList.timestamp": "Horodatage", "xpack.synthetics.monitorList.type": "Type", + "xpack.synthetics.monitorList.unAvailable": "(indisponible)", "xpack.synthetics.monitorList.viewInDiscover": "Afficher dans Discover", "xpack.synthetics.monitorLocation.locationContextMenuTitleLabel": "Accéder à l'emplacement", "xpack.synthetics.monitorLocation.locationLabel": "Emplacement", @@ -35949,9 +37569,9 @@ "xpack.synthetics.monitorManagement.apiKey.label": "Clé d'API", "xpack.synthetics.monitorManagement.apiKeyWarning.label": "Cette clé d’API ne sera affichée qu'une seule fois. Veuillez en conserver une copie pour vos propres dossiers.", "xpack.synthetics.monitorManagement.areYouSure": "Voulez-vous vraiment supprimer cet emplacement ?", - "xpack.synthetics.monitorManagement.callout.description.disabled": "La Gestion des moniteurs nécessite une clé API valide pour exécuter vos moniteurs sur les emplacements de test gérés à l'échelle mondiale d'Elastic. Si vous aviez déjà activé la Gestion des moniteurs précédemment, la clé API peut ne plus être valide.", - "xpack.synthetics.monitorManagement.callout.disabled": "La Gestion des moniteurs est actuellement désactivée", - "xpack.synthetics.monitorManagement.callout.disabled.adminContact": "La Gestion des moniteurs sera activée lorsqu'un administrateur visitera l'application Synthetics.", + "xpack.synthetics.monitorManagement.callout.description.disabled": "L’application Synthetics nécessite une clé d’API valide pour exécuter vos moniteurs sur les emplacements de test gérés à l'échelle mondiale d'Elastic. Si vous aviez déjà activé l’application Synthetics précédemment, la clé d’API peut ne plus être valide.", + "xpack.synthetics.monitorManagement.callout.disabled": "L'application Synthetics est actuellement désactivée", + "xpack.synthetics.monitorManagement.callout.disabled.adminContact": "L’application Synthetics sera activée lorsqu'un administrateur visitera l'application Synthetics.", "xpack.synthetics.monitorManagement.cancelLabel": "Annuler", "xpack.synthetics.monitorManagement.closeButtonLabel": "Fermer", "xpack.synthetics.monitorManagement.completed": "TERMINÉ", @@ -35968,13 +37588,14 @@ "xpack.synthetics.monitorManagement.disabled.label": "Désactivé", "xpack.synthetics.monitorManagement.discardLabel": "Annuler", "xpack.synthetics.monitorManagement.editMonitorCrumb": "Modifier le moniteur", - "xpack.synthetics.monitorManagement.editMonitorError": "Erreur lors du chargement de la liste Gestion des moniteurs", - "xpack.synthetics.monitorManagement.editMonitorError.description": "Les paramètres de Gestion des moniteurs n'ont pas pu être chargés. Veuillez contacter le support technique.", + "xpack.synthetics.monitorManagement.editMonitorError": "Erreur lors du chargement de l’application Synthetics", + "xpack.synthetics.monitorManagement.editMonitorError.description": "Les paramètres de l’application Synthetics n’ont pas pu être chargés. Veuillez contacter le support technique.", "xpack.synthetics.monitorManagement.emptyState.enablement.doc": "Lisez les documents", "xpack.synthetics.monitorManagement.emptyState.enablement.learnMore": "Envie d'en savoir plus ?", "xpack.synthetics.monitorManagement.emptyState.enablement.title": "Activer", "xpack.synthetics.monitorManagement.failed": "ÉCHOUÉ", "xpack.synthetics.monitorManagement.failedRun": "Impossible d'exécuter les étapes", + "xpack.synthetics.monitorManagement.failedScheduling": "Aucun résultat n'a été obtenu pour l’exécution du test manuel.", "xpack.synthetics.monitorManagement.filter.frequencyLabel": "Fréquence", "xpack.synthetics.monitorManagement.filter.locationLabel": "Emplacement", "xpack.synthetics.monitorManagement.filter.placeholder": "Rechercher par nom, URL, hôte, balise, projet ou emplacement", @@ -35989,14 +37610,14 @@ "xpack.synthetics.monitorManagement.getProjectApiKey.label": "Générer une clé d'API de projet", "xpack.synthetics.monitorManagement.getProjectAPIKeyLabel.generate": "Générer une clé d'API de projet", "xpack.synthetics.monitorManagement.inProgress": "EN COURS", - "xpack.synthetics.monitorManagement.label": "Gestion des moniteurs", + "xpack.synthetics.monitorManagement.label": "Application Synthetics", "xpack.synthetics.monitorManagement.learnMore": "Pour en savoir plus,", "xpack.synthetics.monitorManagement.learnMore.label": "En savoir plus", - "xpack.synthetics.monitorManagement.loading.label": "Chargement de la liste Gestion des moniteurs", + "xpack.synthetics.monitorManagement.loading.label": "Charger une application Synthetics", "xpack.synthetics.monitorManagement.loadingSteps": "Chargement des étapes...", "xpack.synthetics.monitorManagement.locationName": "Nom de l’emplacement", "xpack.synthetics.monitorManagement.locationsLabel": "Emplacements", - "xpack.synthetics.monitorManagement.manageMonitorLoadingLabel": "Chargement de la liste Gestion des moniteurs", + "xpack.synthetics.monitorManagement.manageMonitorLoadingLabel": "Charger une application Synthetics", "xpack.synthetics.monitorManagement.manageMonitorLoadingLabel.callout.learnMore": "En savoir plus.", "xpack.synthetics.monitorManagement.monitorAddedSuccessMessage": "Moniteur ajouté avec succès.", "xpack.synthetics.monitorManagement.monitorAddedSuccessMessage.subtext": "Il s'exécutera ensuite en fonction de sa planification définie.", @@ -36006,12 +37627,12 @@ "xpack.synthetics.monitorManagement.monitorList.disclaimer.title": "La suppression de ce moniteur ne le retirera pas de la source du projet", "xpack.synthetics.monitorManagement.monitors": "Moniteurs", "xpack.synthetics.monitorManagement.monitorsTab.title": "Gestion", - "xpack.synthetics.monitorManagement.monitorSync.failure.content": "Un problème est survenu lors de la synchronisation de vos moniteurs pour un ou plusieurs emplacements :", + "xpack.synthetics.monitorManagement.monitorSync.failure.content": "Un problème est survenu lors de l’exécution de vos moniteurs pour un ou plusieurs emplacements :", "xpack.synthetics.monitorManagement.monitorSync.failure.dismissLabel": "Rejeter", "xpack.synthetics.monitorManagement.monitorSync.failure.notAvailable": "Non disponible", "xpack.synthetics.monitorManagement.monitorSync.failure.reasonLabel": "Raison", "xpack.synthetics.monitorManagement.monitorSync.failure.statusLabel": "Statut", - "xpack.synthetics.monitorManagement.monitorSync.failure.title": "Impossible de synchroniser les moniteurs avec le service Synthetics", + "xpack.synthetics.monitorManagement.monitorSync.failure.title": "Certains moniteurs ne s’exécutent pas correctement", "xpack.synthetics.monitorManagement.nameRequired": "Le nom de l’emplacement est requis", "xpack.synthetics.monitorManagement.noSyntheticsPermissions": "Vous ne disposez pas d'autorisations suffisantes pour effectuer cette action.", "xpack.synthetics.monitorManagement.overviewTab.title": "Aperçu", @@ -36031,13 +37652,14 @@ "xpack.synthetics.monitorManagement.requestAccess": "Demander un accès", "xpack.synthetics.monitorManagement.saveLabel": "Enregistrer", "xpack.synthetics.monitorManagement.selectOneOrMoreLocations": "Sélectionnez un ou plusieurs emplacements.", + "xpack.synthetics.monitorManagement.selectOneOrMoreLocationsDetails": "Sélectionnez les emplacements où les moniteurs seront exécutés.", "xpack.synthetics.monitorManagement.selectPolicyHost": "Sélectionner une politique d'agent", "xpack.synthetics.monitorManagement.selectPolicyHost.helpText": "Nous recommandons d'utiliser un seul agent Elastic par politique d'agent.", "xpack.synthetics.monitorManagement.service.error.title": "Impossible de synchroniser la configuration du moniteur", "xpack.synthetics.monitorManagement.startAddingLocationsDescription": "Les emplacements privés vous permettent d'exploiter des moniteurs depuis vos propres locaux. Ils nécessitent un agent Elastic et une politique d'agent que vous pouvez contrôler et maintenir via Fleet.", "xpack.synthetics.monitorManagement.steps": "Étapes", "xpack.synthetics.monitorManagement.summary.heading": "Résumé", - "xpack.synthetics.monitorManagement.syntheticsEnableLabel.management": "Activer la Gestion des moniteurs", + "xpack.synthetics.monitorManagement.syntheticsEnableLabel.management": "Activer l’application Synthetics", "xpack.synthetics.monitorManagement.testResult": "Résultat du test", "xpack.synthetics.monitorManagement.testResults": "Résultats de test", "xpack.synthetics.monitorManagement.testRuns.label": "Exécutions de test", @@ -36045,7 +37667,7 @@ "xpack.synthetics.monitorManagement.urlRequiredLabel": "L'URL est requise", "xpack.synthetics.monitorManagement.useEnv.label": "Utiliser comme variable d'environnement", "xpack.synthetics.monitorManagement.value.required": "La valeur est requise", - "xpack.synthetics.monitorManagement.viewLocationMonitors": "Afficher les moniteurs géographiques", + "xpack.synthetics.monitorManagement.viewLocationMonitors": "Voir les moniteurs", "xpack.synthetics.monitorManagement.viewTestRunDetails": "Afficher les détails du résultat du test", "xpack.synthetics.monitorManagement.websiteUrlHelpText": "Par exemple, la page d'accueil de votre entreprise ou https://elastic.co.", "xpack.synthetics.monitorManagement.websiteUrlLabel": "URL de site web", @@ -36060,6 +37682,7 @@ "xpack.synthetics.monitorStatus.failed": "Échoué", "xpack.synthetics.monitorStatus.failedLabel": "Échoué", "xpack.synthetics.monitorStatus.pendingLabel": "En attente", + "xpack.synthetics.monitorStatus.recoveredLabel": "récupéré", "xpack.synthetics.monitorStatus.skipped": "Ignoré", "xpack.synthetics.monitorStatus.statusLabel": "Statut", "xpack.synthetics.monitorStatus.succeededLabel": "Réussi", @@ -36083,12 +37706,12 @@ "xpack.synthetics.noFindingsStates.unprivileged.unprivilegedTitle": "Privilèges requis", "xpack.synthetics.notFoundBody": "Désolé, nous ne trouvons pas la page que vous recherchez. Elle a peut-être été retirée ou renommée, ou peut-être qu'elle n'a jamais existé.", "xpack.synthetics.notFoundTitle": "Page introuvable", - "xpack.synthetics.overview.actions.disableLabelDisableAlert": "Désactiver les alertes de statut", + "xpack.synthetics.overview.actions.disableLabelDisableAlert": "Désactiver les alertes de statut (tous les emplacements)", "xpack.synthetics.overview.actions.disablingLabel": "Désactivation du moniteur", "xpack.synthetics.overview.actions.editMonitor.name": "Modifier le moniteur", - "xpack.synthetics.overview.actions.enableLabelDisableAlert": "Activer les alertes de statut", - "xpack.synthetics.overview.actions.enableLabelDisableMonitor": "Désactiver le moniteur", - "xpack.synthetics.overview.actions.enableLabelEnableMonitor": "Activer le moniteur", + "xpack.synthetics.overview.actions.enableLabelDisableAlert": "Activer les alertes de statut (tous les emplacements)", + "xpack.synthetics.overview.actions.enableLabelDisableMonitor": "Désactiver le moniteur (tous les emplacements)", + "xpack.synthetics.overview.actions.enableLabelEnableMonitor": "Activer le moniteur (tous les emplacements)", "xpack.synthetics.overview.actions.enablingLabel": "Activation du moniteur", "xpack.synthetics.overview.actions.goToMonitor.name": "Accéder au moniteur", "xpack.synthetics.overview.actions.menu.title": "Actions", @@ -36141,6 +37764,7 @@ "xpack.synthetics.overview.status.headingText": "Statut actuel", "xpack.synthetics.overview.status.pending.description": "En attente", "xpack.synthetics.overview.status.up.description": "Opérationnel", + "xpack.synthetics.overview.SyntheticsHeading": "Moniteurs", "xpack.synthetics.overviewPage.overviewCrumb": "Aperçu", "xpack.synthetics.page_header.analyzeData.label": "Accédez à la vue \"Explorer les données\" pour visualiser les données synthétiques/d'utilisateur", "xpack.synthetics.page_header.settingsLink": "Paramètres", @@ -36165,6 +37789,7 @@ "xpack.synthetics.pingList.timestampColumnLabel": "Horodatage", "xpack.synthetics.pluginDescription": "Monitoring synthétique", "xpack.synthetics.privateLocations.learnMore.label": "En savoir plus.", + "xpack.synthetics.privateLocations.needFleetPermission.description": "Une fois qu’une stratégie d’agent est disponible, vous pouvez gérer les emplacements privés et les moniteurs avec les privilèges d’application Synthetics ordinaires.", "xpack.synthetics.project.readOnly.callout.title": "Cette configuration est en lecture seule", "xpack.synthetics.projectMonitorApi.validation.invalidConfiguration.title": "Configuration Heartbeat non valide", "xpack.synthetics.projectMonitorApi.validation.invalidNamespace.title": "Espace de nom incorrect", @@ -36174,14 +37799,27 @@ "xpack.synthetics.routes.baseTitle": "Synthetics - Kibana", "xpack.synthetics.routes.createNewMonitor": "Aller à l'accueil", "xpack.synthetics.routes.goToSynthetics": "Accéder à la page d'accueil Synthetics", + "xpack.synthetics.rules.tls.agingLabel": "devient trop ancien", + "xpack.synthetics.rules.tls.clientName": "TLS Synthetics", + "xpack.synthetics.rules.tls.criteriaExpression.ariaLabel": "Une expression affichant les critères pour les moniteurs surveillés par cette alerte", + "xpack.synthetics.rules.tls.description": "Alerte lorsque le certificat TLS d'un moniteur Synthetics est sur le point d'expirer.", + "xpack.synthetics.rules.tls.expiredLabel": "expiré", + "xpack.synthetics.rules.tls.expiringLabel": "sur le point d'expirer", + "xpack.synthetics.rules.tls.invalidLabel": "non valide", "xpack.synthetics.runTest.failure": "Impossible d'exécuter le test manuellement", "xpack.synthetics.seconds.label": "secondes", "xpack.synthetics.seconds.shortForm.label": "s", "xpack.synthetics.send": "Envoyer", + "xpack.synthetics.server.monitors.invalidConfigurationError": "Impossible d’enregistrer ou de mettre à jour le moniteur en raison d’une configuration non valide.", + "xpack.synthetics.server.monitors.invalidPayloadError": "La charge utile n’est pas un objet moniteur valide", + "xpack.synthetics.server.monitors.invalidScheduleError": "La planification moniteur n’est pas valide", + "xpack.synthetics.server.monitors.invalidTypeError": "Le type de moniteur n’est pas valide", "xpack.synthetics.server.project.delete.toolarge": "La charge utile de la requête de suppression est trop volumineuse. Veuillez envoyer au maximum 250 moniteurs à supprimer par requête", "xpack.synthetics.server.projectMonitors.locationEmptyError": "Vous devez ajouter au moins un emplacement ou un emplacement privé à ce moniteur.", "xpack.synthetics.service.projectMonitors.cannotUpdateMonitorToDifferentType": "Impossible de mettre à jour le moniteur avec un type différent.", "xpack.synthetics.service.projectMonitors.failedToUpdateMonitor": "Impossible de créer ou de mettre à jour le moniteur", + "xpack.synthetics.settings.addParams.fail": "L’ajout du paramètre global a échoué.", + "xpack.synthetics.settings.addParams.success": "Le paramètre global a été ajouté avec succès.", "xpack.synthetics.settings.alertDefaultForm.requiredEmail": "À : L'e-mail est requis pour le connecteur d'e-mails sélectionné", "xpack.synthetics.settings.applyChanges": "Appliquer les modifications", "xpack.synthetics.settings.blank.error": "Ne peut pas être vide.", @@ -36189,12 +37827,15 @@ "xpack.synthetics.settings.cannotEditText": "Actuellement, votre utilisateur possède les autorisations \"Lecture\" pour l'application Uptime. Activez un niveau d'autorisation \"Tout\" pour pouvoir modifier ces paramètres.", "xpack.synthetics.settings.cannotEditTitle": "Vous ne disposez pas d'autorisation pour modifier les paramètres.", "xpack.synthetics.settings.defaultConnectors": "Connecteurs par défaut", - "xpack.synthetics.settings.defaultConnectors.description": "Sélectionnez un ou plusieurs connecteurs à utiliser pour les alertes. Ces paramètres seront appliqués à toutes les alertes basées sur Synthetics.", + "xpack.synthetics.settings.defaultConnectors.description": "Sélectionnez un ou plusieurs connecteurs à utiliser pour les alertes. Ces paramètres s’appliquent à toutes les alertes basées sur Synthetics.", "xpack.synthetics.settings.discardChanges": "Abandonner les modifications", - "xpack.synthetics.settings.enableAlerting": "Type de règle de statut du moniteur correctement mis à jour. Les prochaines alertes de règle tiendront compte des modifications.", + "xpack.synthetics.settings.editParams.fail": "La modification du paramètre global a échoué.", + "xpack.synthetics.settings.editParams.success": "Le paramètre global a été modifié avec succès.", + "xpack.synthetics.settings.enableAlerting": "Règle de statut du moniteur correctement mise à jour. Les modifications prendront effet à la prochaine exécution de règle.", "xpack.synthetics.settings.enabledAlert.fail": "Impossible de mettre à jour le type de règle de statut du moniteur.", - "xpack.synthetics.settings.enablement.fail": "Impossible d'activer la Gestion des moniteurs", + "xpack.synthetics.settings.enablement.fail": "Échec de l’activation de l’application Synthetics", "xpack.synthetics.settings.error.couldNotSave": "Impossible d'enregistrer les paramètres !", + "xpack.synthetics.settings.getParams.failed": "Impossible d’obtenir les paramètres globaux.", "xpack.synthetics.settings.invalid.error": "La valeur doit être supérieure à 0.", "xpack.synthetics.settings.invalid.nanError": "La valeur doit être un entier.", "xpack.synthetics.settings.noSpace.error": "Les noms d'index ne doivent pas contenir d'espace", @@ -36221,6 +37862,7 @@ "xpack.synthetics.settingsRoute.params.tableCaption": "Paramètres globaux Synthetics", "xpack.synthetics.settingsRoute.params.tags": "Balises", "xpack.synthetics.settingsRoute.params.value": "Valeur", + "xpack.synthetics.settingsRoute.policy.manageILM": "Il vous faut l’autorisation de cluster \"manage_ilm\" pour gérer les politiques ILM.", "xpack.synthetics.settingsRoute.privateLocations.deleteLabel": "Supprimer un emplacement privé", "xpack.synthetics.settingsRoute.readDocs": "lire notre documentation", "xpack.synthetics.settingsRoute.retentionCalloutTitle": "Les données synthétiques sont configurées par politique de cycle de vie d'index géré", @@ -36238,7 +37880,7 @@ "xpack.synthetics.settingsTabs.privateLocations": "Emplacements privés", "xpack.synthetics.sourceConfiguration.alertConnectors.defaultEmail": "L'e-mail par défaut", "xpack.synthetics.sourceConfiguration.alertDefaultForm.emailConnectorPlaceHolder": "À : pour le connecteur d'e-mails", - "xpack.synthetics.sourceConfiguration.alertDefaultForm.selectConnector": "Veuillez sélectionner un ou plusieurs connecteurs", + "xpack.synthetics.sourceConfiguration.alertDefaultForm.selectConnector": "Sélectionner un ou plusieurs connecteurs", "xpack.synthetics.sourceConfiguration.defaultConnectors": "Connecteurs par défaut", "xpack.synthetics.sourceConfiguration.defaultConnectors.description.defaultEmail": "Paramètres d'e-mails requis pour les connecteurs d'alertes d'e-mails sélectionnés.", "xpack.synthetics.stackManagement": "Gestion de la Suite", @@ -36323,9 +37965,10 @@ "xpack.synthetics.testDuration.label": "Durée du test", "xpack.synthetics.testResults.expandedRow.response_body.notRecorded": "Corps non enregistré. Définissez l'option du corps de la réponse de l'index sur \"Toujours activé\" dans les options avancées de la configuration du moniteur pour enregistrer le corps.", "xpack.synthetics.testRun.description": "Tester votre moniteur et vérifier les résultats avant d'enregistrer", - "xpack.synthetics.testRun.pushError": "Impossible d'envoyer le moniteur vers le service.", + "xpack.synthetics.testRun.pushError": "Ce test ne peut pas être exécuté pour l’instant. Réessayez plus tard.", "xpack.synthetics.testRun.pushing.description": "Envoi du moniteur vers le service...", - "xpack.synthetics.testRun.runErrorLabel": "Erreur lors de l'exécution du test", + "xpack.synthetics.testRun.runErrorLabel": "Impossible d’exécuter le test maintenant", + "xpack.synthetics.testRun.testErrorLabel": "Erreur lors de l'exécution du test", "xpack.synthetics.testRunDetailsRoute.page.title": "Détails de l'exécution du test", "xpack.synthetics.timestamp.label": "@timestamp", "xpack.synthetics.tls": "TLS", @@ -36334,6 +37977,8 @@ "xpack.synthetics.tls.expirationExpression.description": "possède un certificat expirant dans (jours) : ", "xpack.synthetics.toggleAlertButton.content": "Règle de statut du moniteur", "xpack.synthetics.toggleAlertFlyout.ariaLabel": "Ouvrir le menu volant d'ajout de règle", + "xpack.synthetics.toggleAlertFlyout.tls.ariaLabel": "Ouvrir le menu déroulant \"Ajouter de règle TLS\"", + "xpack.synthetics.toggleTlsAlertButton.label.content": "Règle du certificat TLS", "xpack.synthetics.totalDuration.metrics": "Durée de l’étape", "xpack.synthetics.totalDuration.transferSize": "Taille du transfert", "xpack.synthetics.uptimeFeatureCatalogueTitle": "Uptime", @@ -36345,412 +37990,6 @@ "xpack.synthetics.waterfall.networkRequests.filteredOut": "Filtré", "xpack.synthetics.waterfall.networkRequests.heading": "Requêtes réseau", "xpack.synthetics.waterfallChart.sidebar.url.https": "https", - "xpack.uptime.alerts.monitorExpression.label": "Supprimer le filtre {title}", - "xpack.uptime.alerts.monitorStatus.actionVariables.down": "a échoué {count} fois au cours des derniers {interval}. Alerte lorsque > {numTimes}.", - "xpack.uptime.alerts.monitorStatus.actionVariables.downAndAvailabilityMessage": "{downMonitorsMessage} Le {availabilityBreachMessage}", - "xpack.uptime.alerts.monitorStatus.monitorCallOut.title": "Cette alerte s'appliquera à environ {snapshotCount} moniteurs.", - "xpack.uptime.alerts.monitorStatus.reasonMessage": "Moniteur \"{name}\" depuis {location} {status} Vérifié à {checkedAt}.", - "xpack.uptime.alerts.monitorStatus.timerangeValueField.value": "dernière {value}", - "xpack.uptime.alerts.tls.validAfterExpiredString": "expiré le {date}, il y a {relativeDate} jours.", - "xpack.uptime.alerts.tls.validAfterExpiringString": "expire le {date}, dans {relativeDate} jours.", - "xpack.uptime.alerts.tls.validBeforeExpiredString": "valide depuis {date}, il y a {relativeDate} jours.", - "xpack.uptime.alerts.tls.validBeforeExpiringString": "non valide jusqu'au {date}, dans {relativeDate} jours.", - "xpack.uptime.availabilityLabelText": "{value} %", - "xpack.uptime.charts.mlAnnotation.header": "Score : {score}", - "xpack.uptime.charts.mlAnnotation.severity": "Sévérité : {severity}", - "xpack.uptime.controls.selectSeverity.scoreDetailsDescription": "score {value} et supérieur", - "xpack.uptime.deprecateNoticeModal.forMoreInformation": "Pour en savoir plus, {docsLink}", - "xpack.uptime.durationChart.emptyPrompt.description": "Ce moniteur n'a jamais été {emphasizedText} au cours de la plage temporelle sélectionnée.", - "xpack.uptime.integration.deprecation.content": "Au moins un moniteur est configuré à l'aide de l'intégration Elastic Synthetics. Depuis Elastic 8.8, l'intégration est abandonnée et vous ne pouvez plus modifier ces moniteurs. Veuillez migrer vers des moniteurs Projet ou les ajouter à la nouvelle application Synthetics disponible directement dans Observability. Pour en savoir plus, consultez notre {link}.", - "xpack.uptime.ml.enableAnomalyDetectionPanel.manageMLJobDescription": "Une fois qu'une tâche a été créée, vous pouvez la gérer et afficher davantage de détails sur le {mlJobsPageLink}.", - "xpack.uptime.monitorCharts.durationChart.leftAxis.title": "Durée en {unit}", - "xpack.uptime.monitorCharts.monitorDuration.titleLabelWithAnomaly": "Durée du moniteur (Anomalies : {noOfAnomalies})", - "xpack.uptime.monitorList.defineConnector.description": "Définissez un connecteur par défaut dans {link} pour activer les alertes de statut du moniteur.", - "xpack.uptime.monitorList.drawer.missingLocation": "Certaines instances Heartbeat n'ont pas d'emplacement défini. {link} vers votre configuration Heartbeat.", - "xpack.uptime.monitorList.drawer.statusRowLocationList": "Liste d'emplacements ayant le statut \"{status}\" lors de la dernière vérification.", - "xpack.uptime.monitorList.expandDrawerButton.ariaLabel": "Développer la ligne du moniteur avec l'ID {id}", - "xpack.uptime.monitorList.infraIntegrationAction.docker.tooltip": "Vérifier l'interface utilisateur de l'infrastructure pour l'ID de conteneur \"{containerId}\"", - "xpack.uptime.monitorList.infraIntegrationAction.ip.tooltip": "Vérifier l'interface utilisateur de l'infrastructure pour l'IP \"{ip}\"", - "xpack.uptime.monitorList.infraIntegrationAction.kubernetes.tooltip": "Vérifier l'interface utilisateur de l'infrastructure pour l'UID de pod \"{podUid}\".", - "xpack.uptime.monitorList.loggingIntegrationAction.container.tooltip": "Vérifier l'interface utilisateur de logging pour l'ID de conteneur \"{containerId}\"", - "xpack.uptime.monitorList.loggingIntegrationAction.ip.tooltip": "Vérifier l'interface utilisateur de logging pour l'IP \"{ip}\"", - "xpack.uptime.monitorList.loggingIntegrationAction.kubernetes.tooltip": "Rechercher les logs pour l'UID de pod \"{podUid}\"", - "xpack.uptime.monitorList.monitorType.filter": "Filtrer tous les moniteurs ayant le type {type}", - "xpack.uptime.monitorList.mostRecentError.title": "Erreur la plus récente ({timestamp})", - "xpack.uptime.monitorList.noDownHistory": "Ce moniteur n'a jamais été {emphasizedText} au cours de la plage temporelle sélectionnée.", - "xpack.uptime.monitorList.observabilityIntegrationsColumn.apmIntegrationLink.tooltip": "Cliquez ici pour vérifier les APM pour le domaine \"{domain}\" ou le \"nom de service\" explicitement défini.", - "xpack.uptime.monitorList.observabilityIntegrationsColumn.popoverIconButton.ariaLabel": "Ouvre la fenêtre contextuelle des intégrations pour le moniteur avec l'URL {monitorUrl}", - "xpack.uptime.monitorList.pageSizePopoverButtonText": "Lignes par page : {size}", - "xpack.uptime.monitorList.pageSizeSelect.numRowsItemMessage": "{numRows} lignes", - "xpack.uptime.monitorList.redirects.title.number": "{number}", - "xpack.uptime.monitorList.statusColumn.checkedTimestamp": "Vérifié {timestamp}", - "xpack.uptime.monitorList.statusColumn.locStatusMessage": "dans {noLoc} emplacement", - "xpack.uptime.monitorList.statusColumn.locStatusMessage.multiple": "dans {noLoc} emplacements", - "xpack.uptime.monitorList.statusColumn.locStatusMessage.tooltip.down": "Arrêté dans {locs}", - "xpack.uptime.monitorList.statusColumn.locStatusMessage.tooltip.up": "Opérationnel dans {locs}", - "xpack.uptime.monitorList.table.description": "Tableau de statut de moniteur avec les colonnes Statut, Nom, URL, IP, Historique d'indisponibilité et Intégrations. Le tableau affiche actuellement {length} éléments.", - "xpack.uptime.monitorList.tags.filter": "Filtrer tous les moniteurs avec la balise {tag}", - "xpack.uptime.monitorRoute.title": "Moniteur | {baseTitle}", - "xpack.uptime.monitorStatusBar.locations.oneLocStatus": "{status} dans l'emplacement {loc}", - "xpack.uptime.monitorStatusBar.locations.upStatus": "{status} dans les emplacement {loc}", - "xpack.uptime.overview.alerts.enabled.success.description": "Un message sera envoyé à {actionConnectors} lorsque ce moniteur sera arrêté.", - "xpack.uptime.pingist.durationSecondsColumnFormatting": "{seconds} secondes", - "xpack.uptime.pingist.durationSecondsColumnFormatting.singular": "{seconds} seconde", - "xpack.uptime.pingList.durationMsColumnFormatting": "{millis} ms", - "xpack.uptime.pingList.expandedRow.response_body.notRecorded": "Corps non enregistré. Lisez notre {docsLink} pour en savoir plus sur l'enregistrement des corps de réponse.", - "xpack.uptime.public.pages.mappingError.bodyDocsLink": "Vous pouvez apprendre à corriger ce problème dans la {docsLink}.", - "xpack.uptime.public.pages.mappingError.bodyMessage": "Mappings incorrects détectés ! Vous avez peut-être oublié d'exécuter la commande {setup} Heartbeat ?", - "xpack.uptime.snapshot.donutChart.ariaLabel": "Camembert affichant le statut actuel. {down} moniteurs sur {total} sont arrêtés.", - "xpack.uptime.snapshotHistogram.description": "Graphique à barres affichant le statut de disponibilité au fil du temps de {startTime} à {endTime}.", - "xpack.uptime.sourceConfiguration.ageThresholdDefaultValue": "La valeur par défaut est {defaultValue}", - "xpack.uptime.sourceConfiguration.expirationThresholdDefaultValue": "La valeur par défaut est {defaultValue}", - "xpack.uptime.sourceConfiguration.heartbeatIndicesDefaultValue": "La valeur par défaut est {defaultValue}", - "xpack.uptime.stepDetailRoute.title": "Détails sur Synthetics | {baseTitle}", - "xpack.uptime.synthetics.emptyJourney.message.checkGroupField": "Le groupe de vérification du parcours est {codeBlock}.", - "xpack.uptime.synthetics.executedStep.screenshot.notSucceeded": "Capture d'écran pour la vérification du statut {status}", - "xpack.uptime.synthetics.journey.allFailedMessage": "{total} étapes - toutes ont échoué ou ont été ignorées", - "xpack.uptime.synthetics.journey.allSucceededMessage": "{total} étapes - toutes ont réussi", - "xpack.uptime.synthetics.journey.partialSuccessMessage": "{total} étapes - {succeeded} ont réussi", - "xpack.uptime.synthetics.pingTimestamp.captionContent": "Étape : {stepNumber} sur {totalSteps}", - "xpack.uptime.synthetics.screenshotDisplay.altText": "Capture d'écran de l'étape portant le nom \"{stepName}\"", - "xpack.uptime.synthetics.step.duration": "{value} secondes", - "xpack.uptime.synthetics.waterfall.offsetUnit": "{offset} ms", - "xpack.uptime.synthetics.waterfall.requestsHighlightedMessage": "({numHighlightedRequests} correspondent au filtre)", - "xpack.uptime.synthetics.waterfall.requestsTotalMessage": "{numNetworkRequests} requêtes réseau", - "xpack.uptime.synthetics.waterfall.requestsTotalMessage.first": "{count} premier(s)", - "xpack.uptime.addDataButtonLabel": "Ajouter des données", - "xpack.uptime.alertDropdown.noWritePermissions": "Vous devez disposer d'un accès en lecture-écriture à Uptime pour créer des alertes dans cette application.", - "xpack.uptime.alerts.anomaly.criteriaExpression.ariaLabel": "Expression affichant les critères d'un moniteur sélectionné.", - "xpack.uptime.alerts.anomaly.criteriaExpression.description": "Quand le moniteur", - "xpack.uptime.alerts.anomaly.scoreExpression.ariaLabel": "Expression affichant les critères d'un seuil d'alerte d'anomalie.", - "xpack.uptime.alerts.anomaly.scoreExpression.description": "comporte une anomalie avec sévérité", - "xpack.uptime.alerts.createRulesPanel.title": "Créer des règles", - "xpack.uptime.alerts.durationAnomaly": "Anomalie de durée Uptime", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.anomalyStartTimestamp": "Horodatage ISO8601 du début de l'anomalie.", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.expectedResponseTime": "Temps de réponse attendu", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.monitor": "Rendu convivial du nom ou de l'ID, ou nom préféré (par ex. Mon moniteur)", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.monitorId": "ID du moniteur.", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.monitorUrl": "URL du moniteur.", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.observerLocation": "Emplacement de l'observateur à partir duquel la vérification des pulsations est effectuée.", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.severity": "Sévérité de l'anomalie.", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.severityScore": "Note de sévérité d'anomalie", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.slowestAnomalyResponse": "Temps de réponse le plus lent dans le compartiment d'anomalies avec des unités associées (ms, s).", - "xpack.uptime.alerts.monitorStatus": "Statut du moniteur Uptime", - "xpack.uptime.alerts.monitorStatus.actionVariables.context.alertDetailUrl.description": "Liaison vers la vue dans Elastic qui affiche davantage de détails et de contexte concernant cette alerte", - "xpack.uptime.alerts.monitorStatus.actionVariables.context.alertReasonMessage.description": "Une description concise de la raison du signalement", - "xpack.uptime.alerts.monitorStatus.actionVariables.context.message.description": "Message généré résumant les moniteurs actuellement arrêtés", - "xpack.uptime.alerts.monitorStatus.actionVariables.context.viewInAppUrl.description": "Lien vers la vue ou la fonctionnalité d'Elastic qui peut être utilisée pour examiner l'alerte et son contexte de manière plus approfondie", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.checkedAt": "Horodatage de la vérification du moniteur.", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.currentTriggerStarted": "Horodatage indiquant à quel moment l'état de déclenchement actuel a commencé, si l'alerte est déclenchée", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.firstCheckedAt": "Horodatage indiquant à quel moment cette alerte a effectué des vérifications pour la première fois", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.firstTriggeredAt": "Horodatage indiquant à quel moment cette alerte a été déclenchée pour la première fois", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.isTriggered": "Indicateur spécifiant si l'alerte est en cours de déclenchement", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.lastCheckedAt": "Horodatage indiquant l'heure de vérification la plus récente de l'alerte", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.lastErrorMessage": "Dernier message d'erreur du moniteur", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.lastResolvedAt": "Horodatage indiquant l'heure de résolution la plus récente pour cette alerte", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.lastTriggeredAt": "Horodatage indiquant l'heure de déclenchement la plus récente de l'alerte", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.monitor": "Rendu convivial du nom ou de l'ID, ou nom préféré (par ex. Mon moniteur)", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.monitorId": "ID du moniteur.", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.monitorType": "Type (par ex. HTTP/TCP) du moniteur.", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.monitorUrl": "URL du moniteur.", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.observerHostname": "Nom d'hôte de l'observateur à partir duquel la vérification des pulsations est effectuée.", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.observerLocation": "Emplacement de l'observateur à partir duquel la vérification des pulsations est effectuée.", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.statusMessage": "Message de statut, par ex. \"arrêté\" ou \"se trouve au-dessous du seuil de disponibilité\" en cas de vérification de disponibilité, ou les deux.", - "xpack.uptime.alerts.monitorStatus.addFilter": "Ajouter un filtre", - "xpack.uptime.alerts.monitorStatus.addFilter.location": "Emplacement", - "xpack.uptime.alerts.monitorStatus.addFilter.port": "Port", - "xpack.uptime.alerts.monitorStatus.addFilter.tag": "Balise", - "xpack.uptime.alerts.monitorStatus.addFilter.type": "Type", - "xpack.uptime.alerts.monitorStatus.availability.isEnabledCheckbox.label": "Disponibilité", - "xpack.uptime.alerts.monitorStatus.availability.threshold.anyMonitorDescription": "tout moniteur est opérationnel dans", - "xpack.uptime.alerts.monitorStatus.availability.threshold.ariaLabel": "Spécifier les seuils de disponibilité pour cette alerte", - "xpack.uptime.alerts.monitorStatus.availability.threshold.description": "les moniteurs correspondants sont opérationnels dans", - "xpack.uptime.alerts.monitorStatus.availability.threshold.input.ariaLabel": "Saisir un seuil de disponibilité à vérifier pour cette alerte", - "xpack.uptime.alerts.monitorStatus.availability.timerangeValueField.ariaLabel": "Entrez le nombre d'unités pour la vérification de disponibilité de l'alerte.", - "xpack.uptime.alerts.monitorStatus.availability.timerangeValueField.expression": "ces derniers/dernières", - "xpack.uptime.alerts.monitorStatus.availability.timerangeValueField.popover.ariaLabel": "Spécifier la plage temporelle de suivi de disponibilité", - "xpack.uptime.alerts.monitorStatus.availability.unit.headline": "Sélectionner l'unité de la plage temporelle", - "xpack.uptime.alerts.monitorStatus.availability.unit.selectable": "Utiliser cette sélection pour définir les unités de la plage temporelle pour cette alerte", - "xpack.uptime.alerts.monitorStatus.filterBar.ariaLabel": "Entrée qui permet le filtrage de critères pour l'alerte de statut du moniteur", - "xpack.uptime.alerts.monitorStatus.filters.anyLocation": "tout emplacement", - "xpack.uptime.alerts.monitorStatus.filters.anyPort": "tout port", - "xpack.uptime.alerts.monitorStatus.filters.anyTag": "toute balise", - "xpack.uptime.alerts.monitorStatus.filters.anyType": "tout type", - "xpack.uptime.alerts.monitorStatus.filters.from": "De", - "xpack.uptime.alerts.monitorStatus.filters.fromLocation": "Depuis l'emplacement", - "xpack.uptime.alerts.monitorStatus.filters.location.label": "Sélectionnez les filtres d'emplacement à appliquer à la requête de l'alerte.", - "xpack.uptime.alerts.monitorStatus.filters.of": "sur", - "xpack.uptime.alerts.monitorStatus.filters.ofType": "De type", - "xpack.uptime.alerts.monitorStatus.filters.port.label": "Sélectionnez les filtres de port à appliquer à la requête de l'alerte.", - "xpack.uptime.alerts.monitorStatus.filters.scheme.label": "Sélectionnez les filtres de schéma de protocole à appliquer à la requête de l'alerte.", - "xpack.uptime.alerts.monitorStatus.filters.tag.label": "Sélectionnez les filtres de balise à appliquer à la requête de l'alerte.", - "xpack.uptime.alerts.monitorStatus.filters.using": "À l'aide de", - "xpack.uptime.alerts.monitorStatus.filters.usingPort": "En utilisant le port", - "xpack.uptime.alerts.monitorStatus.filters.with": "À l'aide de", - "xpack.uptime.alerts.monitorStatus.filters.withTag": "Avec la balise", - "xpack.uptime.alerts.monitorStatus.numTimesExpression.anyMonitors.description": "tout moniteur est arrêté >=", - "xpack.uptime.alerts.monitorStatus.numTimesExpression.ariaLabel": "Ouvrir la fenêtre contextuelle pour saisir le compte de moniteurs arrêtés", - "xpack.uptime.alerts.monitorStatus.numTimesExpression.matchingMonitors.description": "les moniteurs correspondants sont arrêtés >=", - "xpack.uptime.alerts.monitorStatus.numTimesField.ariaLabel": "Entrer le nombre de moniteurs arrêtés requis pour déclencher l'alerte", - "xpack.uptime.alerts.monitorStatus.oldAlertCallout.title": "Si vous modifiez une ancienne alerte, certains champs ne se rempliront peut-être pas automatiquement.", - "xpack.uptime.alerts.monitorStatus.statusEnabledCheck.label": "Vérification du statut", - "xpack.uptime.alerts.monitorStatus.timerangeOption.days": "jours", - "xpack.uptime.alerts.monitorStatus.timerangeOption.hours": "heures", - "xpack.uptime.alerts.monitorStatus.timerangeOption.minutes": "minutes", - "xpack.uptime.alerts.monitorStatus.timerangeOption.months": "mois", - "xpack.uptime.alerts.monitorStatus.timerangeOption.seconds": "secondes", - "xpack.uptime.alerts.monitorStatus.timerangeOption.weeks": "semaines", - "xpack.uptime.alerts.monitorStatus.timerangeOption.years": "ans", - "xpack.uptime.alerts.monitorStatus.timerangeSelectionHeader": "Sélectionner l'unité de la plage temporelle", - "xpack.uptime.alerts.monitorStatus.timerangeUnitExpression.ariaLabel": "Ouvrir la fenêtre contextuelle pour accéder au champ de sélection d'unité de la plage temporelle", - "xpack.uptime.alerts.monitorStatus.timerangeUnitSelectable": "Le champ sélectionnable pour les alertes d'unités de la plage temporelle doit utiliser", - "xpack.uptime.alerts.monitorStatus.timerangeValueExpression.ariaLabel": "Ouvrir la fenêtre contextuelle pour accéder au champ de valeur de la plage temporelle", - "xpack.uptime.alerts.monitorStatus.timerangeValueField.ariaLabel": "Entrer le nombre d'unités de temps pour la plage de l'alerte", - "xpack.uptime.alerts.monitorStatus.timerangeValueField.expression": "dans", - "xpack.uptime.alerts.timerangeUnitSelectable.daysOption.ariaLabel": "Élément de sélection de la plage temporelle \"Jours\"", - "xpack.uptime.alerts.timerangeUnitSelectable.hoursOption.ariaLabel": "Élément de sélection de la plage temporelle \"Heures\"", - "xpack.uptime.alerts.timerangeUnitSelectable.minutesOption.ariaLabel": "Élément de sélection de la plage temporelle \"Minutes\"", - "xpack.uptime.alerts.timerangeUnitSelectable.monthsOption.ariaLabel": "Élément de sélection de la plage temporelle \"Mois\"", - "xpack.uptime.alerts.timerangeUnitSelectable.secondsOption.ariaLabel": "Élément de sélection de la plage temporelle \"Secondes\"", - "xpack.uptime.alerts.timerangeUnitSelectable.weeksOption.ariaLabel": "Élément de sélection de la plage temporelle \"Semaines\"", - "xpack.uptime.alerts.timerangeUnitSelectable.yearsOption.ariaLabel": "Élément de sélection de la plage temporelle \"Années\"", - "xpack.uptime.alerts.tls": "Uptime TLS", - "xpack.uptime.alerts.tls.actionVariables.state.agingCommonNameAndDate": "Noms courants et date/heure d'expiration des certificats détectés.", - "xpack.uptime.alerts.tls.actionVariables.state.agingCount": "Nombre de certificats détectés qui deviennent trop anciens.", - "xpack.uptime.alerts.tls.actionVariables.state.count": "Nombre de certificats détectés par l'exécuteur d'alertes", - "xpack.uptime.alerts.tls.actionVariables.state.expiringCommonNameAndDate": "Noms courants et date/heure d'expiration des certificats détectés", - "xpack.uptime.alerts.tls.actionVariables.state.expiringCount": "Nombre de certificats sur le point d'expirer détectés par l'alerte.", - "xpack.uptime.alerts.tls.agingLabel": "devient trop ancien", - "xpack.uptime.alerts.tls.criteriaExpression.ariaLabel": "Expression affichant les critères des moniteurs surveillés par cette alerte", - "xpack.uptime.alerts.tls.expiredLabel": "expiré", - "xpack.uptime.alerts.tls.expiringLabel": "sur le point d'expirer", - "xpack.uptime.alerts.tls.invalidLabel": "non valide", - "xpack.uptime.alerts.tlsLegacy": "Uptime TLS (existant)", - "xpack.uptime.alertsPopover.toggleButton.ariaLabel": "Ouvrir le menu contextuel des alertes et règles", - "xpack.uptime.apmIntegrationAction.description": "Rechercher ce monitoring dans APM", - "xpack.uptime.apmIntegrationAction.text": "Afficher les données APM", - "xpack.uptime.breadcrumbs.legacyOverviewBreadcrumbText": "Uptime", - "xpack.uptime.controls.selectSeverity.criticalLabel": "critique", - "xpack.uptime.controls.selectSeverity.majorLabel": "majeur", - "xpack.uptime.controls.selectSeverity.minorLabel": "mineure", - "xpack.uptime.controls.selectSeverity.warningLabel": "avertissement", - "xpack.uptime.deprecateNoticeModal.addPrivateLocations": "Ajouter des emplacements privés pour vos politiques Fleet", - "xpack.uptime.deprecateNoticeModal.automateMonitors": "Automatiser la création de vos moniteurs à l'aide de moniteurs de projet", - "xpack.uptime.deprecateNoticeModal.description": "L'intégration Elastic Synthetics est déclassée. À la place, vous pouvez maintenant monitorer les points de terminaison, les pages et les parcours des utilisateurs directement dans l'application Synthetics de manière beaucoup plus efficace :", - "xpack.uptime.deprecateNoticeModal.elasticManagedLocations": "Exécuter les moniteurs dans plusieurs emplacements gérés par Elastic, ou à partir de vos propres emplacements privés", - "xpack.uptime.deprecateNoticeModal.goBack": "Retour", - "xpack.uptime.deprecateNoticeModal.goToSynthetics": "Accéder à Synthetics", - "xpack.uptime.deprecateNoticeModal.headerText": "Le Monitoring synthétique est maintenant disponible prêt à l'emploi dans Synthetics", - "xpack.uptime.deprecateNoticeModal.manageMonitors": "Gérer les moniteurs légers et basés sur un navigateur à partir d'un emplacement unique", - "xpack.uptime.deprecateNoticeModal.readDocs": "lire la documentation.", - "xpack.uptime.durationChart.emptyPrompt.title": "Aucune donnée de durée n'est disponible", - "xpack.uptime.editPackagePolicy.inSynthetics": "Modifier dans Synthetics", - "xpack.uptime.editPackagePolicy.inSyntheticsDesc": "Cette politique de package est gérée par l'application Synthetics.", - "xpack.uptime.emptyState.loadingMessage": "Chargement…", - "xpack.uptime.emptyStateError.notFoundPage": "Page introuvable", - "xpack.uptime.enableAlert.editAlert": "Modifier l'alerte", - "xpack.uptime.filterBar.ariaLabel": "Saisissez des critères de filtre pour la page d'aperçu", - "xpack.uptime.filterBar.filterAllLabel": "Tous", - "xpack.uptime.filterBar.options.location.name": "Emplacement", - "xpack.uptime.filterBar.options.portLabel": "Port", - "xpack.uptime.filterBar.options.schemeLabel": "Schéma", - "xpack.uptime.filterBar.options.tagsLabel": "Balise", - "xpack.uptime.fleetIntegration.assets.description": "Afficher les moniteurs dans Synthetics", - "xpack.uptime.fleetIntegration.assets.name": "Moniteurs", - "xpack.uptime.integration.deprecation.dismiss": "Rejeter", - "xpack.uptime.integration.deprecation.link": "Documents de migration Synthetics", - "xpack.uptime.integration.deprecation.title": "Migrer vos moniteurs d'intégration Elastic Synthetics", - "xpack.uptime.integrationLink.missingDataMessage": "Les données requises pour cette intégration sont introuvables.", - "xpack.uptime.kueryBar.searchPlaceholder.kql": "Rechercher à l'aide de la syntaxe KQL des ID, noms et types etc. de moniteurs (par ex. monitor.type: \"http\" AND tags: \"dev\")", - "xpack.uptime.kueryBar.searchPlaceholder.simpleText": "Rechercher par ID, nom, URL, port ou balises de moniteur", - "xpack.uptime.locationName.helpLinkAnnotation": "Ajouter un emplacement", - "xpack.uptime.mappingErrorRoute.breadcrumb": "Erreur de mapping", - "xpack.uptime.mappingErrorRoute.pageHeader.title": "Erreur de mapping", - "xpack.uptime.mappingErrorRoute.title": "Synthetics | erreur de mapping", - "xpack.uptime.ml.durationChart.exploreInMlApp": "Explorer dans ML App", - "xpack.uptime.ml.enableAnomalyDetectionPanel.add_job_permissions_needed": "Autorisations requises", - "xpack.uptime.ml.enableAnomalyDetectionPanel.anomalyDetectionTitle": "Détection des anomalies", - "xpack.uptime.ml.enableAnomalyDetectionPanel.cancelLabel": "Annuler", - "xpack.uptime.ml.enableAnomalyDetectionPanel.createMLJobDescription": "Ici, vous pouvez créer une tâche de Machine Learning afin de calculer les scores d'anomalie pour\n les durées de réponse pour Uptime Monitor. Une fois activé, le graphique de durée de monitoring de la page des détails\n affichera les limites attendues et annotera le graphique avec les anomalies. Vous pouvez aussi éventuellement\n identifier les périodes de latence augmentées selon les zones géographiques.", - "xpack.uptime.ml.enableAnomalyDetectionPanel.createNewJobButtonLabel": "Créer une nouvelle tâche", - "xpack.uptime.ml.enableAnomalyDetectionPanel.disableAnomalyAlert": "Désactiver l'alerte d'anomalie", - "xpack.uptime.ml.enableAnomalyDetectionPanel.disableAnomalyDetectionTitle": "Désactiver la détection des anomalies", - "xpack.uptime.ml.enableAnomalyDetectionPanel.enable_or_manage_job": "Vous pouvez activer la tâche de détection des anomalies, ou, si elle est déjà présente, vous pouvez gérer la tâche ou l'alerte.", - "xpack.uptime.ml.enableAnomalyDetectionPanel.enableAnomalyAlert": "Activer l'alerte d'anomalie", - "xpack.uptime.ml.enableAnomalyDetectionPanel.enableAnomalyDetectionTitle": "Activer la détection des anomalies", - "xpack.uptime.ml.enableAnomalyDetectionPanel.insufficient_permissions_add_job": "Vous devez disposer des privilèges Kibana de Machine Learning pour utiliser cette fonctionnalité.", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreatedLazyNotificationText": "L'analyse attend qu'un nœud de ML devienne disponible. L'ajout des résultats au graphique peut prendre un certain temps.", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreatedNotificationText": "L'analyse est à présent en cours d'exécution pour le graphique de durée de réponse. L'ajout des résultats au graphique peut prendre un certain temps.", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreatedNotificationText.viewJobLinkText": "Afficher la tâche", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreatedNotificationTitle": "Tâche créée avec succès", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreationFailedNotificationText": "Il est possible que votre licence actuelle n'autorise pas la création de tâches de Machine Learning, ou cette tâche existe peut-être déjà.", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreationFailedNotificationTitle": "La création de la tâche a échoué", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobDeletionConfirmLabel": "Supprimer la tâche de détection des anomalies ?", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobDeletionNotificationTitle": "Tâche supprimée", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobDeletionSuccessNotificationText": "La tâche a été supprimée avec succès", - "xpack.uptime.ml.enableAnomalyDetectionPanel.manageAnomalyDetectionTitle": "Gérer la détection des anomalies", - "xpack.uptime.ml.enableAnomalyDetectionPanel.manageMLJobDescription.mlJobsPageLinkText": "Page de gestion des tâches de Machine Learning", - "xpack.uptime.ml.enableAnomalyDetectionPanel.manageMLJobDescription.noteText": "Remarque : La tâche peut mettre un certain temps à démarrer le calcul des résultats.", - "xpack.uptime.ml.enableAnomalyDetectionPanel.noPermissionsTooltip": "Vous devez disposer d'un accès en lecture-écriture à Uptime pour créer des alertes d'anomalie.", - "xpack.uptime.ml.enableAnomalyDetectionPanel.startTrial": "Commencer un essai gratuit de 14 jours", - "xpack.uptime.ml.enableAnomalyDetectionPanel.startTrialDesc": "Pour pouvoir accéder à la détection des anomalies de durée, vous devez être abonné à une licence Elastic Platinum.", - "xpack.uptime.monitorCharts.durationChart.wrapper.label": "Graphique affichant la durée de ping du moniteur, avec regroupement par emplacement.", - "xpack.uptime.monitorCharts.monitorDuration.titleLabel": "Durée du moniteur", - "xpack.uptime.monitorDetails.ml.confirmAlertDeleteMessage": "Voulez-vous vraiment supprimer l'alerte pour les anomalies ?", - "xpack.uptime.monitorDetails.ml.confirmDeleteMessage": "Voulez-vous vraiment supprimer cette tâche ?", - "xpack.uptime.monitorDetails.ml.deleteJobWarning": "La suppression d'une tâche peut prendre beaucoup de temps. Elle sera supprimée en arrière-plan, et les données ne disparaîtront peut-être pas instantanément.", - "xpack.uptime.monitorDetails.ml.deleteMessage": "Suppression des tâches...", - "xpack.uptime.monitorDetails.statusBar.pingType.browser": "Navigateur", - "xpack.uptime.monitorDetails.statusBar.pingType.http": "HTTP", - "xpack.uptime.monitorDetails.statusBar.pingType.icmp": "ICMP", - "xpack.uptime.monitorDetails.statusBar.pingType.tcp": "TCP", - "xpack.uptime.monitorDetails.title.disclaimer.description": "(BÊTA)", - "xpack.uptime.monitorDetails.title.disclaimer.link": "Afficher plus", - "xpack.uptime.monitorDetails.title.pingType.browser": "Navigateur", - "xpack.uptime.monitorDetails.title.pingType.http": "Ping HTTP", - "xpack.uptime.monitorDetails.title.pingType.icmp": "Ping ICMP", - "xpack.uptime.monitorDetails.title.pingType.tcp": "Ping TCP", - "xpack.uptime.monitorList.defineConnector.popover.description": "pour recevoir les alertes de statut.", - "xpack.uptime.monitorList.disableDownAlert": "Désactiver les alertes de statut", - "xpack.uptime.monitorList.downLineSeries.downLabel": "Vérifications des arrêts", - "xpack.uptime.monitorList.drawer.mostRecentRun": "Exécution de test la plus récente", - "xpack.uptime.monitorList.drawer.url": "Url", - "xpack.uptime.monitorList.enabledAlerts.noAlert": "Aucune règle n'est activée pour ce moniteur.", - "xpack.uptime.monitorList.enabledAlerts.title": "Règles activées", - "xpack.uptime.monitorList.enableDownAlert": "Activer les alertes de statut", - "xpack.uptime.monitorList.geoName.helpLinkAnnotation": "Ajouter un emplacement", - "xpack.uptime.monitorList.infraIntegrationAction.container.message": "Afficher les indicateurs de conteneurs", - "xpack.uptime.monitorList.infraIntegrationAction.docker.description": "Vérifier l'interface utilisateur de l'infrastructure pour cet ID de conteneur du moniteur", - "xpack.uptime.monitorList.infraIntegrationAction.ip.ariaLabel": "Vérifier l'interface utilisateur de l'infrastructure pour cette adresse IP du moniteur", - "xpack.uptime.monitorList.infraIntegrationAction.ip.message": "Afficher les indicateurs d'hôte", - "xpack.uptime.monitorList.infraIntegrationAction.kubernetes.description": "Vérifier l'interface utilisateur de l'infrastructure pour cet UID de pod du monitoring", - "xpack.uptime.monitorList.infraIntegrationAction.kubernetes.message": "Afficher les indicateurs de pod", - "xpack.uptime.monitorList.integrationGroup.emptyMessage": "Aucune application intégrée n'est disponible", - "xpack.uptime.monitorList.loading": "Chargement...", - "xpack.uptime.monitorList.locations.expand": "Cliquer pour afficher les emplacements restants", - "xpack.uptime.monitorList.loggingIntegrationAction.container.id": "Afficher les logs du conteneur", - "xpack.uptime.monitorList.loggingIntegrationAction.container.message": "Afficher les logs du conteneur", - "xpack.uptime.monitorList.loggingIntegrationAction.ip.description": "Vérifier l'interface utilisateur de logging pour cette adresse IP de moniteur", - "xpack.uptime.monitorList.loggingIntegrationAction.ip.message": "Afficher les logs des hôtes", - "xpack.uptime.monitorList.loggingIntegrationAction.kubernetes.ariaLabel": "Afficher les logs de pod", - "xpack.uptime.monitorList.loggingIntegrationAction.kubernetes.message": "Afficher les logs de pod", - "xpack.uptime.monitorList.monitorHistoryColumnLabel": "Historique d'indisponibilité", - "xpack.uptime.monitorList.monitoringStatusTitle": "Moniteurs", - "xpack.uptime.monitorList.nameColumnLabel": "Nom", - "xpack.uptime.monitorList.noItemForSelectedFiltersMessage": "Aucun moniteur trouvé pour les critères de filtre sélectionnés", - "xpack.uptime.monitorList.noItemMessage": "Aucun moniteur Uptime trouvé", - "xpack.uptime.monitorList.noMessage.troubleshoot": "Essayez d'utiliser une plage de dates absolues. Si les moniteurs s'affichent après cette action, il existe peut-être un problème avec l'horloge système où Heartbeat ou Kibana est installé.", - "xpack.uptime.monitorList.observabilityInvestigateColumn.popoverIconButton.label": "Examiner", - "xpack.uptime.monitorList.statusAlert.label": "Alerte de statut", - "xpack.uptime.monitorList.statusColumnLabel": "Statut", - "xpack.uptime.monitorList.tags.expand": "Cliquer pour afficher les balises restantes", - "xpack.uptime.monitorList.tlsColumnLabel": "Certificat TLS", - "xpack.uptime.monitorList.troubleshoot.systemClockOutOfSync": "L'horloge système n'est peut-être pas synchronisée", - "xpack.uptime.monitorList.troubleshoot.tryDateRange": "Appliquer une plage de dates absolues", - "xpack.uptime.monitorList.troubleshoot.whereAreMyMonitors": "Où sont mes moniteurs ?", - "xpack.uptime.monitorStatusBar.durationTextAriaLabel": "Durée du monitoring en millisecondes", - "xpack.uptime.monitorStatusBar.healthStatusMessageAriaLabel": "Statut du moniteur", - "xpack.uptime.monitorStatusBar.loadingMessage": "Chargement…", - "xpack.uptime.monitorStatusBar.monitor.availability": "Disponibilité générale", - "xpack.uptime.monitorStatusBar.monitor.availabilityReport.availability": "Disponibilité", - "xpack.uptime.monitorStatusBar.monitor.availabilityReport.location": "Emplacement", - "xpack.uptime.monitorStatusBar.monitor.id": "ID de moniteur", - "xpack.uptime.monitorStatusBar.monitor.monitoringFrom": "Monitoring à partir de", - "xpack.uptime.monitorStatusBar.monitor.monitoringFrom.listToMap": "Passer à la vue de carte pour vérifier la disponibilité par emplacement.", - "xpack.uptime.monitorStatusBar.monitor.monitoringFrom.MapToList": "Passer à la vue de liste pour vérifier la disponibilité par emplacement.", - "xpack.uptime.monitorStatusBar.monitorUrlLinkAriaLabel": "Lien d'URL du moniteur", - "xpack.uptime.monitorStatusBar.sslCertificate.title": "Certificat TLS", - "xpack.uptime.monitorStatusBar.timestampFromNowTextAriaLabel": "Temps depuis la dernière vérification", - "xpack.uptime.monitorStatusBar.type.ariaLabel": "Type de moniteur", - "xpack.uptime.monitorStatusBar.type.label": "Type", - "xpack.uptime.navigateToAlertingButton.content": "Gérer les règles", - "xpack.uptime.navigateToAlertingUi": "Quitter Uptime et accéder à la page de gestion Alerting", - "xpack.uptime.noDataConfig.beatsCard.description": "Monitorez de façon proactive la disponibilité de vos sites et services. Recevez des alertes et corrigez les problèmes plus rapidement pour optimiser l'expérience de vos utilisateurs.", - "xpack.uptime.noDataConfig.beatsCard.title": "Ajouter des moniteurs avec Heartbeat", - "xpack.uptime.noDataConfig.solutionName": "Observabilité", - "xpack.uptime.notFountPage.homeLinkText": "Retour à l'accueil", - "xpack.uptime.openAlertContextPanel.label": "Créer une règle", - "xpack.uptime.overview.alerts.disabled.failed": "La règle ne peut pas être désactivée !", - "xpack.uptime.overview.alerts.disabled.success": "La règle a été correctement désactivée !", - "xpack.uptime.overview.alerts.enabled.failed": "La règle ne peut pas être activée !", - "xpack.uptime.overview.alerts.enabled.success": "La règle a été correctement activée ", - "xpack.uptime.overview.uptimeHeading": "Monitorings Uptime", - "xpack.uptime.overviewPageLink.disabled.ariaLabel": "Bouton de pagination désactivé indiquant qu'aucune autre navigation ne peut être effectuée dans la liste des moniteurs.", - "xpack.uptime.overviewPageLink.next.ariaLabel": "Page de résultats suivante", - "xpack.uptime.overviewPageLink.prev.ariaLabel": "Page de résultats précédente", - "xpack.uptime.page_header.addDataLink.label": "Accédez à un tutoriel sur l'ajout de données Uptime", - "xpack.uptime.page_header.defineConnector.popover.defaultLink": "Définir un connecteur par défaut", - "xpack.uptime.page_header.defineConnector.settingsLink": "Paramètres", - "xpack.uptime.page_header.manageLink.not": "La Gestion des moniteurs n'est plus disponible dans Uptime. Utilisez plutôt l'application Synthetics.", - "xpack.uptime.page_header.manageMonitors": "Gestion des moniteurs", - "xpack.uptime.pingList.checkHistoryTitle": "Historique", - "xpack.uptime.pingList.columns.failedStep": "Étape ayant échoué", - "xpack.uptime.pingList.drawer.body.docsLink": "documents", - "xpack.uptime.pingList.stepDurationHeader": "Durée de l’étape", - "xpack.uptime.pingList.synthetics.performanceBreakDown": "Afficher la répartition des performances", - "xpack.uptime.pingList.synthetics.waterfall.filters.popover": "Cliquer pour ouvrir les filtres de cascade", - "xpack.uptime.public.pages.mappingError.title": "Mappings Heartbeat manquants", - "xpack.uptime.routes.legacyBaseTitle": "Uptime - Kibana", - "xpack.uptime.settings.heading": "Paramètres Uptime", - "xpack.uptime.snapshot.monitor": "Moniteur", - "xpack.uptime.snapshot.monitors": "Moniteurs", - "xpack.uptime.snapshot.noDataDescription": "Aucun ping dans la plage temporelle sélectionnée.", - "xpack.uptime.snapshot.noDataTitle": "Pas de données ping disponibles", - "xpack.uptime.snapshot.pingsOverTimeTitle": "Pings sur la durée", - "xpack.uptime.snapshotHistogram.series.pings": "Monitorer les pings", - "xpack.uptime.snapshotHistogram.xAxisId": "Axe X des pings", - "xpack.uptime.snapshotHistogram.yAxis.title": "Pings", - "xpack.uptime.snapshotHistogram.yAxisId": "Axe Y des pings", - "xpack.uptime.sourceConfiguration.ageLimit.units.days": "Jours", - "xpack.uptime.sourceConfiguration.ageLimitThresholdInput.ariaLabel": "Entrée contrôlant le nombre maximal de jours pendant lesquels un certificat TLS peut être valide avant que Kibana n'affiche un avertissement.", - "xpack.uptime.sourceConfiguration.alertConnectors": "Connecteurs d'alerte", - "xpack.uptime.sourceConfiguration.alertDefaultForm.requiredEmail": "L'e-mail du destinataire est requis pour le connecteur d'e-mails", - "xpack.uptime.sourceConfiguration.alertDefaults": "Valeurs par défaut des alertes", - "xpack.uptime.sourceConfiguration.applySettingsButtonLabel": "Appliquer les modifications", - "xpack.uptime.sourceConfiguration.certificateExpirationThresholdInput.ariaLabel": "Entrée contrôlant le nombre minimal de jours restants pour l'expiration du certificat TLS avant que Kibana n'affiche un avertissement.", - "xpack.uptime.sourceConfiguration.certificateThresholdDescription": "Modifiez le seuil pour l'affichage et l'alerting lors d'erreurs de certificat. Remarque : cette action affectera toutes les alertes configurées.", - "xpack.uptime.sourceConfiguration.certificationSectionTitle": "Expiration du certificat", - "xpack.uptime.sourceConfiguration.defaultConnectors.description": "Connecteurs par défaut à utiliser pour envoyer une alerte.", - "xpack.uptime.sourceConfiguration.discardSettingsButtonLabel": "Annuler", - "xpack.uptime.sourceConfiguration.errorStateLabel": "Seuil d'expiration", - "xpack.uptime.sourceConfiguration.expirationThreshold": "Seuils expiration/âge", - "xpack.uptime.sourceConfiguration.heartbeatIndicesDescription": "Modèle d'indexation pour la correspondance d'index contenant des données Heartbeat", - "xpack.uptime.sourceConfiguration.heartbeatIndicesLabel": "Index Heartbeat", - "xpack.uptime.sourceConfiguration.heartbeatIndicesTitle": "Index Uptime", - "xpack.uptime.sourceConfiguration.indicesSectionTitle": "Index", - "xpack.uptime.sourceConfiguration.warningStateLabel": "Limite d'âge", - "xpack.uptime.stepList.collapseRow": "Réduire", - "xpack.uptime.stepList.expandRow": "Développer", - "xpack.uptime.stepList.stepName": "Nom de l'étape", - "xpack.uptime.synthetics.consoleStepList.message": "Ce parcours n'a pas réussi à s'exécuter ; la sortie de la console enregistrée est affichée ci-dessous :", - "xpack.uptime.synthetics.consoleStepList.title": "Aucune étape exécutée", - "xpack.uptime.synthetics.emptyJourney.message.footer": "Aucune autre information à afficher.", - "xpack.uptime.synthetics.emptyJourney.message.heading": "Le parcours ne contenait aucune étape.", - "xpack.uptime.synthetics.emptyJourney.title": "Aucune étape pour ce parcours", - "xpack.uptime.synthetics.executedStep.consoleOutput.label": "Sortie de la console", - "xpack.uptime.synthetics.executedStep.errorHeading": "Message d'erreur", - "xpack.uptime.synthetics.executedStep.screenshot.not": "Capture d'écran", - "xpack.uptime.synthetics.executedStep.scriptHeading.label": "Script exécuté à cette étape", - "xpack.uptime.synthetics.executedStep.stackTrace": "Trace de la Suite Elastic", - "xpack.uptime.synthetics.imageLoadingSpinner.ariaLabel": "Boucle de progression animée indiquant que l'image est en train de se charger", - "xpack.uptime.synthetics.journey.loadingSteps": "Chargement des étapes...", - "xpack.uptime.synthetics.nextStepButton.ariaLabel": "Étape suivante", - "xpack.uptime.synthetics.performanceBreakDown.label": "Répartition des performances", - "xpack.uptime.synthetics.prevStepButton.airaLabel": "Étape précédente", - "xpack.uptime.synthetics.screenshot.loadingImageMessage": "Chargement", - "xpack.uptime.synthetics.screenshot.noImageMessage": "Aucune image disponible", - "xpack.uptime.synthetics.screenshotDisplay.altTextWithoutName": "Capture d'écran", - "xpack.uptime.synthetics.statusBadge.failedMessage": "Échoué", - "xpack.uptime.synthetics.statusBadge.skippedMessage": "Ignoré", - "xpack.uptime.synthetics.statusBadge.succeededMessage": "Réussi", - "xpack.uptime.synthetics.step.durationTrend": "Tendance de durée de l'étape", - "xpack.uptime.synthetics.stepDetail.noData": "Aucune donnée n'a été trouvée pour cette étape", - "xpack.uptime.synthetics.stepList.nextCheck": "Vérification suivante", - "xpack.uptime.synthetics.stepList.previousCheck": "Vérification précédente", - "xpack.uptime.synthetics.thumbnail.fullSize.alt": "Version plus grande de la capture d'écran de la miniature de l'étape du parcours.", - "xpack.uptime.title": "Uptime", - "xpack.uptime.toggleTlsAlertButton.ariaLabel": "Ouvrir le menu volant de règle TLS", - "xpack.uptime.toggleTlsAlertButton.content": "Règle TLS", "xpack.threatIntelligence.common.emptyPage.body3": "Pour vous lancer avec Elastic Threat Intelligence, activez une ou plusieurs intégrations Threat Intelligence depuis la page Intégrations ou bien ingérez des données avec Filebeat. Pour en savoir plus, consultez {docsLink}.", "xpack.threatIntelligence.addToBlockList": "Ajouter une entrée dans la liste noire", "xpack.threatIntelligence.addToExistingCase": "Ajouter à un cas existant", @@ -36835,9 +38074,9 @@ "xpack.transform.actionDeleteTransform.deleteDestinationIndexTitle": "Supprimer l'index de destination {destinationIndex}", "xpack.transform.alertTypes.transformHealth.errorMessagesMessage": "La/les {count, plural, one {Transformer} many {Transformations} other {Transformations}} {transformsString} {count, plural, one {contient} many {contiennent} other {contiennent}} messages d'erreur.", "xpack.transform.alertTypes.transformHealth.errorMessagesRecoveryMessage": "Aucune erreur dans les messages {count, plural, one {de la transformation} many {transformations} other {transformations}}.", - "xpack.transform.alertTypes.transformHealth.healthCheckMessage": "La/les {count, plural, one {Transformer} many {Transformations} other {Transformations}} {transformsString} {count, plural, one {est} many {sont défectueuses} other {sont défectueuses}}.", + "xpack.transform.alertTypes.transformHealth.healthCheckMessage": "La/les {count, plural, one {Transformer} many {Transformations} other {Transformations}} {transformsString} {count, plural, one {est} many {sont} other {sont défectueuses}}.", "xpack.transform.alertTypes.transformHealth.healthCheckRecoveryMessage": "La/les {count, plural, one {Transformer} many {Transformations} other {Transformations}} {transformsString} {count, plural, one {est} many {sont} other {sont}} saine(s).", - "xpack.transform.alertTypes.transformHealth.notStartedMessage": "La/les {count, plural, one {Transformer} many {Transformer} other {Transformer}} {transformsString} {count, plural, one {est} many {ne sont pas démarrées} other {ne sont pas démarrées}}.", + "xpack.transform.alertTypes.transformHealth.notStartedMessage": "La/les {count, plural, one {Transformer} many {Transformer} other {Transformer}} {transformsString} {count, plural, one {est} many {sont} other {ne sont pas démarrées}}.", "xpack.transform.alertTypes.transformHealth.notStartedRecoveryMessage": "La/les {count, plural, one {Transformer} many {Transformer} other {Transformer}} {transformsString} {count, plural, one {est} many {sont} other {sont}} lancée(s).", "xpack.transform.app.deniedPrivilegeDescription": "Pour utiliser cette section des transformations, vous devez avoir {privilegesCount, plural, one {ce privilège de cluster} many {ces privilèges de cluster} other {ces privilèges de cluster}} : {missingPrivileges}.", "xpack.transform.capability.pleaseContactAdministratorTooltip": "{message} Veuillez contacter votre administrateur.", @@ -36871,7 +38110,7 @@ "xpack.transform.transformForm.sizeNotationPlaceholder": "Exemples : {example1}, {example2}, {example3}, {example4}", "xpack.transform.transformList.alertingRules.tooltipContent": "La transformation a {rulesCount} {rulesCount, plural, one { règle} many { règles} other { règles}} d'alerte associée(s)", "xpack.transform.transformList.bulkDeleteDestDataViewSuccessMessage": "Suppression réussie de {count} {count, plural, one {vue} many {vues} other {vues}} de données de destination.", - "xpack.transform.transformList.bulkDeleteDestIndexSuccessMessage": "Suppression réussie de {count} {count, plural, one {index} many {index} other {index}} de destination.", + "xpack.transform.transformList.bulkDeleteDestIndexSuccessMessage": "Suppression réussie de {count} {count, plural, one {index} many {index système non migrés} other {index}} de destination.", "xpack.transform.transformList.bulkDeleteModalTitle": "Supprimer {count} {count, plural, one {transformation} many {transformations} other {transformations}} ?", "xpack.transform.transformList.bulkDeleteTransformSuccessMessage": "Suppression réussie de {count} {count, plural, one {transformation} many {transformations} other {transformations}}.", "xpack.transform.transformList.bulkReauthorizeModalTitle": "Réautoriser {count} {count, plural, one {transformation} many {transformations} other {transformations}} ?", @@ -37219,7 +38458,6 @@ "xpack.transform.transformList.editFlyoutFormMaxPageSearchSizeHelpText": "La taille de page initiale à utiliser pour l'agrégation imbriquée de chaque point de contrôle.", "xpack.transform.transformList.editFlyoutFormMaxPageSearchSizeLabel": "Taille maximale de recherche de pages", "xpack.transform.transformList.editFlyoutFormNumberAboveZeroNotValidErrorMessage": "La valeur doit être un entier supérieur à zéro.", - "xpack.transform.transformSettingValidations.numberGreaterThanOrEqualToNegativeOneNotValidErrorMessage": "Le nombre de tentatives doit être compris entre 0 et 100, ou égal à -1 pour des tentatives infinies.", "xpack.transform.transformList.editFlyoutFormNumFailureRetriesHelpText": "Le nombre de nouvelles tentatives après un échec récupérable avant que la tâche de transformation soit marquée comme ayant échoué. Définissez-le à -1 pour des tentatives infinies.", "xpack.transform.transformList.editFlyoutFormRequiredErrorMessage": "Champs requis.", "xpack.transform.transformList.editFlyoutFormRetentionPolicyDateFieldHelpText": "Sélectionnez le champ de date pouvant être utilisé pour identifier les documents obsolètes dans l'index de destination.", @@ -37288,6 +38526,11 @@ "xpack.transform.transformNodes.noTransformNodesCallOutTitle": "Aucun nœud de transformation n'est disponible.", "xpack.transform.transformNodes.noTransformNodesLearnMoreLinkText": "En savoir plus", "xpack.transform.transformsDescription": "Utilisez les transformations pour réorganiser les index Elasticsearch existants en index centrés sur l'entité résumés ou pour créer une vue indexée des derniers documents pour un accès rapide.", + "xpack.transform.transformSettingsValidations.numberOfRetriesInvalidErrorMessage": "Le nombre de tentatives doit être compris entre 0 et 100, ou égal à -1 pour des tentatives infinies.", + "xpack.transform.transformSettingValidations.maxPageSearchSizeInvalidMessage": "La taille maximum de la recherche de pages doit être un nombre entier compris entre 10 et 65 536.", + "xpack.transform.transformSettingValidations.numberGreaterThanOrEqualToNegativeOneNotValidErrorMessage": "Le nombre de tentatives doit être compris entre 0 et 100, ou égal à -1 pour des tentatives infinies.", + "xpack.transform.transformSettingValidations.numberRange10To10000NotValidErrorMessage": "La valeur doit être un entier compris entre 10 et 10 000.", + "xpack.transform.transformSettingValidations.retentionPolicyMaxAgeInvalidMessage": "Format d'âge maximal non valide. Le minimum requis est de 60 s.", "xpack.transform.transformsTitle": "Transformations", "xpack.transform.transformsWizard.cloneTransformTitle": "Cloner la transformation", "xpack.transform.transformsWizard.createTransformTitle": "Créer une transformation", @@ -37427,16 +38670,12 @@ "xpack.triggersActionsUI.sections.rulesList.lastRunOutcomeWarningDescription": "Avertissement : {total}", "xpack.triggersActionsUI.sections.rulesList.removeAllSnoozeSchedules": "Supprimer {count, plural, one {le calendrier} many {# calendriers} other {# calendriers}} ?", "xpack.triggersActionsUI.sections.rulesList.rulesListAutoRefresh.lastUpdateText": "Mis à jour {lastUpdateText}", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.days": "{value, plural, one {# jour} many {# jours} other {# jours}}", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.hours": "{value, plural, one {# heure} many {# heures} other {# heures}}", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.minutes": "{value, plural, one {# minute} many {# minutes} other {# minutes}}", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.seconds": "{value, plural, one {# seconde} many {# secondes} other {# secondes}}", "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.snoozedTooltip": "Notifications répétées pendant {snoozeTime}", "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.snoozeScheduledTooltip": "Notifications programmées pour la répétition à partir de {schedStart}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.timeRemaining": "Temps restant", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.seconds": "{value, plural, one {# année} other {# années}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.minutes": "{value, plural, one {# minute} other {# minutes}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.hours": "{value, plural, one {# heure} other {# heures}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.days": "{value, plural, one {# jour} other {# jours}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.weeks": "{value, plural, one {# semaine} other {# semaines}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.months": "{value, plural, one {# mois} other {# mois}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.years": "{value, plural, one {# année} other {# années}}", "xpack.triggersActionsUI.sections.rulesList.rulesListTable.columns.intervalTooltipText": "L'intervalle de règle de {interval} est inférieur à l'intervalle minimal configuré de {minimumInterval}. Cela peut avoir un impact sur les performances d'alerting.", "xpack.triggersActionsUI.sections.rulesList.rulesListTable.columns.ruleExecutionPercentileTooltip": "{percentileOrdinal} centile des {sampleLimit} dernières durées d'exécution de cette règle (mm:ss).", "xpack.triggersActionsUI.sections.rulesList.selectAllRulesButton": "Tout sélectionner : {formattedTotalRules} {totalRules, plural, =1 {règle} one {règles} many {règles} other {règles}}", @@ -37487,10 +38726,13 @@ "xpack.triggersActionsUI.alerts.table.actions.alertsAlreadyAttachedToCase": "Toutes les alertes sélectionnées sont déjà jointes au cas", "xpack.triggersActionsUI.alerts.table.actions.noAlertsAddedToCaseTitle": "Aucune alerte ajoutée au cas", "xpack.triggersActionsUI.alertsSearchBar.placeholder": "Alertes de recherche (par exemple, kibana.alert.evaluation.threshold > 75)", + "xpack.triggersActionsUI.alertsTable.api.bulkGetMaintenanceWindow.errorTitle": "Une erreur s’est produite lors de la récupération des données de la fenêtre de maintenance", "xpack.triggersActionsUI.alertsTable.configuration.errorBody": "Une erreur s'est produite lors du chargement du tableau d'alertes. Ce tableau ne dispose pas de la configuration nécessaire. Veuillez contacter votre administrateur pour obtenir de l'aide", "xpack.triggersActionsUI.alertsTable.configuration.errorTitle": "Impossible de charger le tableau d'alertes", "xpack.triggersActionsUI.alertsTable.lastUpdated.updated": "Mis à jour", "xpack.triggersActionsUI.alertsTable.lastUpdated.updating": "Mise à jour...", + "xpack.triggersActionsUI.alertsTable.maintenanceWindowTooltip.endTime": "Fin", + "xpack.triggersActionsUI.alertsTable.maintenanceWindowTooltip.startTime": "Début", "xpack.triggersActionsUI.appName": "Règles", "xpack.triggersActionsUI.bulkActions.columnHeader.AriaLabel": "Sélectionner toutes les lignes", "xpack.triggersActionsUI.cases.api.bulkGet": "Erreur lors de la récupération des données sur les cas", @@ -37601,6 +38843,7 @@ "xpack.triggersActionsUI.licenseCheck.actionTypeDisabledByLicenseLinkTitle": "Afficher les options de licence", "xpack.triggersActionsUI.licenseCheck.actionTypeDisabledByLicenseMessageDescription": "Pour réactiver cette action, veuillez mettre à niveau votre licence.", "xpack.triggersActionsUI.logs.breadcrumbTitle": "Logs", + "xpack.triggersActionsUI.maintenanceWindows.label": "Fenêtres de maintenance", "xpack.triggersActionsUI.managementSection.connectors.displayDescription": "Connectez des logiciels tiers avec vos données d'alerting.", "xpack.triggersActionsUI.managementSection.connectors.displayName": "Connecteurs", "xpack.triggersActionsUI.managementSection.displayDescription": "Détectez les conditions à l'aide de règles.", @@ -37727,6 +38970,7 @@ "xpack.triggersActionsUI.sections.alertsTable.alertsFlyout.reason": "Raison", "xpack.triggersActionsUI.sections.alertsTable.column.actions": "Actions", "xpack.triggersActionsUI.sections.alertsTable.leadingControl.viewDetails": "Afficher les détails", + "xpack.triggersActionsUI.sections.alertsTable.title": "Tableau d’alertes", "xpack.triggersActionsUI.sections.confirmConnectorEditClose.cancelButtonLabel": "Annuler", "xpack.triggersActionsUI.sections.confirmConnectorEditClose.confirmConnectorCloseMessage": "Vous ne pouvez pas récupérer de modifications non enregistrées.", "xpack.triggersActionsUI.sections.confirmConnectorEditClose.discardButtonLabel": "Abandonner les modifications", @@ -37866,6 +39110,7 @@ "xpack.triggersActionsUI.sections.ruleDetails.scheduleIntervalToastMessageButton": "Modifier la règle", "xpack.triggersActionsUI.sections.ruleDetails.scheduleIntervalToastTitle": "Paramètres de configuration", "xpack.triggersActionsUI.sections.ruleDetails.updateAPIKeyButtonLabel": "Mettre à jour la clé d'API", + "xpack.triggersActionsUI.sections.ruleDetails.userManagedApikey": "Cette règle est associée à une clé d’API.", "xpack.triggersActionsUI.sections.ruleDetails.viewRuleInAppButtonLabel": "Afficher dans l'application", "xpack.triggersActionsUI.sections.ruleEdit.cancelButtonLabel": "Annuler", "xpack.triggersActionsUI.sections.ruleEdit.changeInPrivilegesLabel": "L'enregistrement de cette règle modifiera ses privilèges et peut-être également son comportement.", @@ -37890,7 +39135,7 @@ "xpack.triggersActionsUI.sections.ruleForm.error.requiredIntervalText": "L'intervalle de vérification est requis.", "xpack.triggersActionsUI.sections.ruleForm.error.requiredNameText": "Le nom est requis.", "xpack.triggersActionsUI.sections.ruleForm.error.requiredRuleTypeIdText": "Le type de règle est requis.", - "xpack.triggersActionsUI.sections.ruleForm.frequencyNotifyWhen.label": "Exécuter l'action chaque", + "xpack.triggersActionsUI.sections.ruleForm.frequencyNotifyWhen.label": "Exécuter chaque", "xpack.triggersActionsUI.sections.ruleForm.loadingRuleTypeParamsDescription": "Chargement des paramètres de types de règles…", "xpack.triggersActionsUI.sections.ruleForm.loadingRuleTypesDescription": "Chargement des types de règles…", "xpack.triggersActionsUI.sections.ruleForm.renotifyFieldLabel": "Notifier", @@ -37992,6 +39237,7 @@ "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.noSnoozeAppliedTooltip": "Notifier lors de la génération d'alertes", "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.openSnoozePanel": "Ouvrir le panneau Répéter", "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.snoozedIndefinitelyTooltip": "Notifications répétées indéfiniment", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.timeRemaining": "Temps restant", "xpack.triggersActionsUI.sections.rulesList.rulesListSnoozePanel.snoozeFailed": "Impossible de modifier les paramètres de répétition de la règle", "xpack.triggersActionsUI.sections.rulesList.rulesListSnoozePanel.snoozeSuccess": "Répétition de la règle activée", "xpack.triggersActionsUI.sections.rulesList.rulesListSnoozePanel.unsnoozeSuccess": "Répétition de la règle désactivée", @@ -38057,6 +39303,7 @@ "xpack.triggersActionsUI.sections.rulesList.unableToLoadRuleTypesMessage": "Impossible de charger les types de règles", "xpack.triggersActionsUI.sections.rulesList.unableToRunRuleSoon": "Impossible de programmer l'exécution de votre règle", "xpack.triggersActionsUI.sections.rulesList.weeksLabel": "semaines", + "xpack.triggersActionsUI.sections.ruleTagFilter.loading": "Chargement des balises", "xpack.triggersActionsUI.sections.testConnectorForm.awaitingExecutionDescription": "Lorsque vous exécutez le test, les résultats s'afficheront ici.", "xpack.triggersActionsUI.sections.testConnectorForm.createActionHeader": "Créer une action", "xpack.triggersActionsUI.sections.testConnectorForm.executeTestButton": "Exécuter", @@ -38103,7 +39350,7 @@ "xpack.upgradeAssistant.esDeprecations.deprecationDetailsFlyout.secondaryDescription": "Index : {indexName}", "xpack.upgradeAssistant.esDeprecations.mlSnapshots.upgradeModeEnabledErrorDescription": "Aucune action ne peut être appliquée aux snapshots de Machine Learning lorsque le mode de mise à niveau est activé. {docsLink}.", "xpack.upgradeAssistant.esDeprecations.remoteClustersDetectedDescription": "Vous avez configuré {remoteClustersCount} {remoteClustersCount, plural, one {cluster distant} many {clusters distants} other {clusters distants}}. Si vous utilisez la recherche inter-clusters, notez que la version 8.x peut uniquement effectuer les recherches dans les clusters distants exécutant la version mineure précédente ou ultérieure. Si vous utilisez la réplication inter-clusters, un cluster contenant des index suiveurs doit exécuter la même version, ou une version plus récente, que le cluster distant.", - "xpack.upgradeAssistant.esDeprecations.removeClusterSettingsFlyout.description": "Retirer {clusterSettingsCount, plural, one {le paramètre de cluster suivant déclassé ?} many {les paramètres de clusters suivants déclassés ?} other {les paramètres de clusters suivants déclassés ?}}", + "xpack.upgradeAssistant.esDeprecations.removeClusterSettingsFlyout.description": "Retirer {clusterSettingsCount, plural, one {le paramètre de cluster suivant déclassé ?} many {les paramètres d'index suivants déclassés ?} other {les paramètres de clusters suivants déclassés ?}}", "xpack.upgradeAssistant.esDeprecations.removeSettingsFlyout.description": "Retirer {indexSettingsCount, plural, one {le paramètre d'index suivant déclassé ?} many {les paramètres d'index suivants déclassés ?} other {les paramètres d'index suivants déclassés ?}}", "xpack.upgradeAssistant.esDeprecations.removeSettingsFlyout.secondaryDescription": "Index : {indexName}", "xpack.upgradeAssistant.kibanaDeprecations.flyout.quickResolveCalloutTitle": "Cliquez sur {quickResolve} pour corriger ce problème automatiquement.", @@ -38867,11 +40114,38 @@ "cases.components.tooltip.by": "par", "cases.components.tooltip.closed": "Fermé", "cases.components.tooltip.opened": "Ouvert", + "defaultNavigation.analytics.dataExploration": "Exploration des données", + "defaultNavigation.devTools.developerTools": "Outils de développeur", + "defaultNavigation.management.alertAndInsights": "Alertes et informations exploitables", + "defaultNavigation.management.ingest": "Ingestion", + "defaultNavigation.management.integrationManagement": "Gestion de l’intégration", + "defaultNavigation.management.sectionLabel": "Gestion", + "defaultNavigation.management.stackManagement": "Gestion de la Suite", + "defaultNavigation.management.stackManagementData": "Données", + "defaultNavigation.ml.aiopsLabs": "Ateliers AIOps", + "defaultNavigation.ml.anomalyDetection": "Détection des anomalies", + "defaultNavigation.ml.dataFrameAnalytics": "Analyse du cadre de données", + "defaultNavigation.ml.dataView": "Vue de données", + "defaultNavigation.ml.dataVisualizer": "Data Visualizer (Visualiseur de données)", + "defaultNavigation.ml.file": "Fichier", + "defaultNavigation.ml.jobs": "Tâches", + "defaultNavigation.ml.machineLearning": "Machine Learning", + "defaultNavigation.ml.modelManagement": "Gestion des modèles", "devTools.badge.betaLabel": "Bêta", "devTools.badge.readOnly.text": "Lecture seule", "devTools.badge.readOnly.tooltip": "Enregistrement impossible", "devTools.breadcrumb.homeLabel": "Outils de développement", "devTools.devToolsTitle": "Outils de développement", + "eventAnnotation.annotationList.add": "Ajouter une annotation", + "eventAnnotation.content.name": "Groupe d'annotations", + "eventAnnotation.edit.back": "Retour", + "eventAnnotation.edit.cancel": "Annuler", + "eventAnnotation.edit.save": "Enregistrer le groupe d'annotations", + "eventAnnotation.eventAnnotationGroup.metadata.name": "Groupes d’annotations", + "eventAnnotation.eventAnnotationGroup.savedObjectFinder.emptyCTA": "Créer un calque d’annotations", + "eventAnnotation.eventAnnotationGroup.savedObjectFinder.emptyPromptDescription": "Il n’y a actuellement aucune annotation disponible à sélectionner depuis la bibliothèque. Créez un nouveau calque pour ajouter des annotations.", + "eventAnnotation.eventAnnotationGroup.savedObjectFinder.emptyPromptTitle": "Commencez par ajouter un calque d’annotation", + "eventAnnotation.eventAnnotationGroup.savedObjectFinder.notFoundLabel": "Aucun groupe d’annotations correspondant trouvé.", "eventAnnotation.fetch.description": "Récupération d'annotations d'événement", "eventAnnotation.fetchEventAnnotations.args.annotationConfigs": "Configurations d'annotations", "eventAnnotation.fetchEventAnnotations.args.interval.help": "Intervalle à utiliser pour cette agrégation", @@ -38883,6 +40157,15 @@ "eventAnnotation.group.args.annotationConfigs.ignoreGlobalFilters.help": "Basculer pour ignorer les filtres globaux pour l'annotation", "eventAnnotation.group.args.annotationGroups": "Groupe d'annotations", "eventAnnotation.group.description": "Groupe d'annotations d'événement", + "eventAnnotation.groupEditor.addAnnotation": "Annotations", + "eventAnnotation.groupEditor.dataView": "Vue de données", + "eventAnnotation.groupEditor.description": "Description", + "eventAnnotation.groupEditor.details": "Détails", + "eventAnnotation.groupEditor.optional": "Facultatif", + "eventAnnotation.groupEditor.title": "Titre", + "eventAnnotation.groupEditor.titleRequired": "Un titre est requis.", + "eventAnnotation.groupEditorFlyout.title": "Modifier le groupe d'annotations", + "eventAnnotation.listingViewTitle": "Groupes d'annotations", "eventAnnotation.manualAnnotation.args.color": "Couleur de la ligne", "eventAnnotation.manualAnnotation.args.icon": "Icône facultative utilisée pour les lignes d'annotation", "eventAnnotation.manualAnnotation.args.id": "ID de l'annotation", @@ -38914,6 +40197,51 @@ "eventAnnotation.rangeAnnotation.args.label": "Nom de l'annotation", "eventAnnotation.rangeAnnotation.args.time": "Horodatage de l'annotation", "eventAnnotation.rangeAnnotation.description": "Configurer l'annotation manuelle", + "eventAnnotation.tableList.dataView": "Vue de données", + "eventAnnotation.tableList.emptyPrompt.body": "Vous pouvez créer et enregistrer des annotations afin de les utiliser dans plusieurs visualisations de l’éditeur de visualisation Lens.", + "eventAnnotation.tableList.emptyPrompt.cta": "Créer une nouvelle annotation dans Lens", + "eventAnnotation.tableList.emptyPrompt.title": "Créer votre première annotation dans Lens", + "eventAnnotation.tableList.entityName": "groupe d'annotations", + "eventAnnotation.tableList.entityNamePlural": "groupes d'annotations", + "eventAnnotation.tableList.listTitle": "Bibliothèque d’annotations", + "eventAnnotation.xyChart.annotation.hide": "Masquer l’annotation", + "eventAnnotation.xyChart.annotation.manual": "Date statique", + "eventAnnotation.xyChart.annotation.query": "Requête personnalisée", + "eventAnnotation.xyChart.annotation.queryField": "Champ de date cible", + "eventAnnotation.xyChart.annotation.queryInput": "Requête sur les annotations", + "eventAnnotation.xyChart.annotation.tooltip": "Afficher les champs supplémentaires", + "eventAnnotation.xyChart.annotation.tooltip.addField": "Ajouter un champ", + "eventAnnotation.xyChart.annotation.tooltip.deleteButtonLabel": "Supprimer", + "eventAnnotation.xyChart.annotation.tooltip.noFields": "Aucune sélection", + "eventAnnotation.xyChart.annotationDate": "Date de l’annotation", + "eventAnnotation.xyChart.annotationDate.from": "De", + "eventAnnotation.xyChart.annotationDate.placementType": "Type de placement", + "eventAnnotation.xyChart.annotationDate.to": "À", + "eventAnnotation.xyChart.appearance": "Apparence", + "eventAnnotation.xyChart.applyAsRange": "Appliquer en tant que plage", + "eventAnnotation.xyChart.defaultAnnotationLabel": "Événement", + "eventAnnotation.xyChart.defaultRangeAnnotationLabel": "Plage d'événements", + "eventAnnotation.xyChart.fillStyle": "Remplir", + "eventAnnotation.xyChart.fillStyle.inside": "Intérieur", + "eventAnnotation.xyChart.fillStyle.outside": "Extérieur", + "eventAnnotation.xyChart.iconSelect.alertIconLabel": "Alerte", + "eventAnnotation.xyChart.iconSelect.asteriskIconLabel": "Astérisque", + "eventAnnotation.xyChart.iconSelect.bellIconLabel": "Cloche", + "eventAnnotation.xyChart.iconSelect.boltIconLabel": "Éclair", + "eventAnnotation.xyChart.iconSelect.bugIconLabel": "Bug", + "eventAnnotation.xyChart.iconSelect.circleIconLabel": "Cercle", + "eventAnnotation.xyChart.iconSelect.commentIconLabel": "Commentaire", + "eventAnnotation.xyChart.iconSelect.flagIconLabel": "Drapeau", + "eventAnnotation.xyChart.iconSelect.heartLabel": "Cœur", + "eventAnnotation.xyChart.iconSelect.mapMarkerLabel": "Repère", + "eventAnnotation.xyChart.iconSelect.mapPinLabel": "Punaise", + "eventAnnotation.xyChart.iconSelect.starFilledLabel": "Étoile remplie", + "eventAnnotation.xyChart.iconSelect.starLabel": "Étoile", + "eventAnnotation.xyChart.iconSelect.tagIconLabel": "Balise", + "eventAnnotation.xyChart.iconSelect.triangleIconLabel": "Triangle", + "eventAnnotation.xyChart.lineColor.label": "Couleur", + "eventAnnotation.xyChart.placement": "Placement", + "eventAnnotation.xyChart.tooltip": "Infobulle", "expandableFlyout.previewSection.backButton": "Retour", "expandableFlyout.previewSection.closeButton": "Fermer", "expressionHeatmap.function.args.addTooltipHelpText": "Afficher l'infobulle au survol", @@ -38972,6 +40300,7 @@ "expressionTagcloud.feedbackMessage.truncatedTagsDescription": "Le nombre de balises a été tronqué pour éviter des temps de traçage trop longs.", "expressionTagcloud.functions.tagcloud.args.ariaLabelHelpText": "Spécifie l'attribut aria-label du nuage de balises", "expressionTagcloud.functions.tagcloud.args.bucketHelpText": "configuration des dimensions de compartiment", + "expressionTagcloud.functions.tagcloud.args.isPreviewHelpText": "Définissez \"isPreview\" sur \"true\" pour éviter d’obtenir des avertissements d’espace insuffisant", "expressionTagcloud.functions.tagcloud.args.maxFontSizeHelpText": "Taille maximale de la police", "expressionTagcloud.functions.tagcloud.args.metricHelpText": "configuration des dimensions d’indicateur", "expressionTagcloud.functions.tagcloud.args.minFontSizeHelpText": "Taille minimale de la police", @@ -39101,6 +40430,10 @@ "monaco.painlessLanguage.autocomplete.paramsKeywordDescription": "Accéder aux variables transmises dans le script", "observabilityAlertDetails.alertActiveTimeRangeAnnotation.detailsTooltip": "Actif", "observabilityAlertDetails.alertAnnotation.detailsTooltip": "Alerte démarrée", + "observabilityAlertDetails.alertThresholdAnnotation.detailsTooltip": "Alerte démarrée", + "observabilityAlertDetails.alertThresholdTimeRangeRect.detailsTooltip": "Seuil", + "randomSampling.ui.sliderControl.accuracyLabel": "Précision", + "randomSampling.ui.sliderControl.performanceLabel": "Performances", "reporting.common.browserCouldNotLaunchErrorMessage": "Impossible de générer des captures d'écran, car le navigateur ne s’est pas lancé. Consultez les logs de serveur pour en savoir plus.", "reporting.common.cloud.insufficientSystemMemoryError": "Impossible de générer ce rapport en raison d’un manque de mémoire.", "reporting.common.pdfWorkerOutOfMemoryErrorMessage": "Impossible de générer un PDF en raison d’un manque de mémoire. Essayez de réduire la taille du PDF et relancez ce rapport.", @@ -39305,33 +40638,6 @@ "xpack.features.ossFeatures.visualizeShortUrlSubFeatureName": "URL courtes", "xpack.features.savedObjectsManagementFeatureName": "Gestion des objets enregistrés", "xpack.features.visualizeFeatureName": "Bibliothèque Visualize", - "xpack.observability_onboarding.breadcrumbs.onboarding": "Intégration", - "xpack.observability_onboarding.fetcher.error.status": "Erreur", - "xpack.observability_onboarding.fetcher.error.title": "Erreur lors de la récupération des ressources", - "xpack.observability_onboarding.fetcher.error.url": "URL", - "xpack.observabilityShared.navigation.betaBadge": "Bêta", - "xpack.observabilityShared.navigation.experimentalBadgeLabel": "Version d'évaluation technique", - "xpack.observabilityShared.navigation.newBadge": "NOUVEAUTÉ", - "xpack.observabilityShared.pageLayout.sideNavTitle": "Observabilité", - "xpack.observabilityShared.tour.alertsStep.imageAltText": "Démonstration des alertes", - "xpack.observabilityShared.tour.alertsStep.tourContent": "Définissez et détectez les conditions qui déclenchent des alertes avec des intégrations de plateformes tierces comme l’e-mail, PagerDuty et Slack.", - "xpack.observabilityShared.tour.alertsStep.tourTitle": "Soyez informé en cas de modification", - "xpack.observabilityShared.tour.endButtonLabel": "Terminer la visite", - "xpack.observabilityShared.tour.guidedSetupStep.tourContent": "La façon la plus facile de continuer avec Elastic Observability est de suivre les prochaines étapes recommandées dans l'assistant de données.", - "xpack.observabilityShared.tour.guidedSetupStep.tourTitle": "Toujours plus avec Elastic Observability", - "xpack.observabilityShared.tour.metricsExplorerStep.imageAltText": "Démonstration de Metrics Explorer", - "xpack.observabilityShared.tour.metricsExplorerStep.tourContent": "Diffusez, regroupez et visualisez les mesures provenant de vos systèmes, du cloud, du réseau et d'autres sources d'infrastructure.", - "xpack.observabilityShared.tour.metricsExplorerStep.tourTitle": "Monitorer l’intégrité de votre infrastructure", - "xpack.observabilityShared.tour.nextButtonLabel": "Suivant", - "xpack.observabilityShared.tour.observabilityOverviewStep.tourContent": "Faites un tour rapide pour découvrir les avantages de disposer de toutes vos données d'observabilité dans une seule suite.", - "xpack.observabilityShared.tour.observabilityOverviewStep.tourTitle": "Bienvenue dans Elastic Observability", - "xpack.observabilityShared.tour.servicesStep.imageAltText": "Démonstration des services", - "xpack.observabilityShared.tour.servicesStep.tourContent": "Détectez et réparez rapidement les problèmes de performances en recueillant des informations détaillées sur vos services.", - "xpack.observabilityShared.tour.servicesStep.tourTitle": "Identifier et résoudre les problèmes d'application", - "xpack.observabilityShared.tour.skipButtonLabel": "Ignorer la visite", - "xpack.observabilityShared.tour.streamStep.imageAltText": "Démonstration du flux de logs", - "xpack.observabilityShared.tour.streamStep.tourContent": "Surveillez, filtrez et inspectez les événements de journal provenant de vos applications, serveurs, machines virtuelles et conteneurs.", - "xpack.observabilityShared.tour.streamStep.tourTitle": "Suivi de vos logs en temps réel", "xpack.painlessLab.apiReferenceButtonLabel": "Référence d'API", "xpack.painlessLab.context.defaultLabel": "Le résultat de script sera converti en chaîne", "xpack.painlessLab.context.filterLabel": "Utiliser le contexte d'une requête de script d'un filtre", @@ -39368,6 +40674,7 @@ "xpack.painlessLab.resetButtonLabel": "Réinitialiser le script", "xpack.painlessLab.showRequestButtonLabel": "Afficher la requête API", "xpack.painlessLab.title": "Painless Lab", - "xpack.painlessLab.walkthroughButtonLabel": "Présentation" + "xpack.painlessLab.walkthroughButtonLabel": "Présentation", + "xpack.serverlessObservability.nav.getStarted": "Démarrer" } -} \ No newline at end of file +} diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index c7b6637f70218..fd645d314bd1c 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -302,9 +302,11 @@ "console.requestOptionsButtonAriaLabel": "リクエストオプション", "console.requestTimeElapasedBadgeTooltipContent": "経過時間", "console.sendRequestButtonTooltip": "クリックしてリクエストを送信", + "console.settingsPage.accessibilityOverlayLabel": "アクセシビリティオーバーレイ", "console.settingsPage.autocompleteLabel": "自動入力", "console.settingsPage.cancelButtonLabel": "キャンセル", "console.settingsPage.dataStreamsLabelText": "データストリーム", + "console.settingsPage.enableAccessibilityOverlayLabel": "アクセシビリティオーバーレイを有効にする", "console.settingsPage.enableKeyboardShortcutsLabel": "キーボードショートカットを有効にする", "console.settingsPage.fieldsLabelText": "フィールド", "console.settingsPage.fontSizeLabel": "フォントサイズ", @@ -394,6 +396,8 @@ "contentManagement.tableList.tagFilterPanel.manageAllTagsLinkLabel": "タグを管理", "contentManagement.tableList.updatedDateUnknownLabel": "最終更新日が不明です", "controls.controlGroup.ariaActions.moveControlButtonAction": "コントロール{controlTitle}を移動", + "controls.controlGroup.manageControl.controlTypeSettings.formGroupDescription": "{controlType}コントロールのカスタム設定", + "controls.controlGroup.manageControl.controlTypeSettings.formGroupTitle": "{controlType}設定", "controls.optionsList.controlAndPopover.exists": "{negate, plural, other {存在します}}", "controls.optionsList.errors.dataViewNotFound": "データビューが見つかりませんでした:{dataViewId}", "controls.optionsList.errors.fieldNotFound": "フィールドが見つかりませんでした:{fieldName}", @@ -412,19 +416,25 @@ "controls.controlGroup.emptyState.callToAction": "データのフィルタリングはコントロールによって効果的になりました。探索するデータのみを表示できます。", "controls.controlGroup.emptyState.dismissButton": "閉じる", "controls.controlGroup.emptyState.twoLineLoadingTitle": "...", - "controls.controlGroup.floatingActions.editTitle": "コントロールを編集", - "controls.controlGroup.floatingActions.removeTitle": "コントロールを削除", + "controls.controlGroup.floatingActions.clearTitle": "クリア", + "controls.controlGroup.floatingActions.editTitle": "編集", + "controls.controlGroup.floatingActions.removeTitle": "削除", "controls.controlGroup.manageControl.cancelTitle": "キャンセル", - "controls.controlGroup.manageControl.dataSource.controlTypesTitle": "コントロールタイプ", "controls.controlGroup.manageControl.createFlyoutTitle": "コントロールを作成", + "controls.controlGroup.manageControl.dataSource.controlTypesTitle": "コントロールタイプ", "controls.controlGroup.manageControl.dataSource.dataViewTitle": "データビュー", - "controls.controlGroup.manageControl.editFlyoutTitle": "コントロールを編集", "controls.controlGroup.manageControl.dataSource.fieldTitle": "フィールド", - "controls.controlGroup.manageControl.displaySettings.growSwitchTitle": "空きスペースに合わせて幅を拡大", - "controls.controlGroup.manageControl.saveChangesTitle": "保存して閉じる", + "controls.controlGroup.manageControl.dataSource.formGroupDescription": "コントロールを作成するデータビューとフィールドを選択します。", + "controls.controlGroup.manageControl.dataSource.formGroupTitle": "データソース", + "controls.controlGroup.manageControl.dataSource.noControlTypeMessage": "まだフィールドが選択されていません", "controls.controlGroup.manageControl.dataSource.selectDataViewMessage": "データビューを選択してください", + "controls.controlGroup.manageControl.displaySettings.formGroupDescription": "ダッシュボードにコントロールを表示する方法を変更します。", + "controls.controlGroup.manageControl.displaySettings.formGroupTitle": "表示設定", + "controls.controlGroup.manageControl.displaySettings.growSwitchTitle": "空きスペースに合わせて幅を拡大", "controls.controlGroup.manageControl.displaySettings.titleInputTitle": "ラベル", "controls.controlGroup.manageControl.displaySettings.widthInputTitle": "最小幅", + "controls.controlGroup.manageControl.editFlyoutTitle": "コントロールを編集", + "controls.controlGroup.manageControl.saveChangesTitle": "保存して閉じる", "controls.controlGroup.management.addControl": "コントロールを追加", "controls.controlGroup.management.delete": "コントロールを削除", "controls.controlGroup.management.delete.cancel": "キャンセル", @@ -470,8 +480,17 @@ "controls.optionsList.control.separator": "、", "controls.optionsList.description": "フィールド値を選択するメニューを追加", "controls.optionsList.displayName": "オプションリスト", + "controls.optionsList.editor.additionalSettingsTitle": "追加設定", + "controls.optionsList.editor.multiSelectLabel": "複数選択を許可", + "controls.optionsList.editor.prefixSearchLabel": "接頭辞", + "controls.optionsList.editor.prefixSearchTooltip": "特定の検索文字列から始まる値と一致します。", "controls.optionsList.editor.runPastTimeout": "結果のタイムアウトを無視", "controls.optionsList.editor.runPastTimeout.tooltip": "リストが入力されるまで待機してから、結果を表示します。この設定は大きいデータセットで有用です。ただし、結果の入力に時間がかかる場合があります。", + "controls.optionsList.editor.searchOptionsTitle": "検索中", + "controls.optionsList.editor.selectionOptionsTitle": "選択項目", + "controls.optionsList.editor.singleSelectLabel": "1つの項目の選択のみを許可", + "controls.optionsList.editor.wildcardSearchLabel": "を含む", + "controls.optionsList.editor.wildcardSearchTooltip": "特定の検索文字列を含む値と一致します。結果が表示されるまでに時間がかかる場合があります。", "controls.optionsList.popover.allOptionsTitle": "すべてのオプションを表示", "controls.optionsList.popover.allowExpensiveQueriesWarning": "コストがかかるクエリを許可するクラスター設定がオフであるため、一部の機能が無効です。", "controls.optionsList.popover.empty": "オプションが見つかりません", @@ -481,6 +500,7 @@ "controls.optionsList.popover.includeLabel": "含める", "controls.optionsList.popover.invalidSelectionScreenReaderText": "無効な選択です。", "controls.optionsList.popover.loadingMore": "その他のオプションを読み込んでいます...", + "controls.optionsList.popover.prefixSearchPlaceholder": "...で始まる", "controls.optionsList.popover.selectedOptionsTitle": "選択したオプションのみを表示", "controls.optionsList.popover.selectionsEmpty": "選択されていません", "controls.optionsList.popover.sortBy.alphabetical": "アルファベット順", @@ -491,6 +511,7 @@ "controls.optionsList.popover.sortOrder.asc": "昇順", "controls.optionsList.popover.sortOrder.desc": "降順", "controls.optionsList.popover.sortTitle": "並べ替え", + "controls.optionsList.popover.wildcardSearchPlaceholder": "...を含む", "controls.rangeSlider.description": "フィールド値の範囲を選択するためのコントロールを追加", "controls.rangeSlider.displayName": "範囲スライダー", "controls.rangeSlider.popover.noAvailableDataHelpText": "表示するデータがありません。時間範囲とフィルターを調整します。", @@ -748,7 +769,7 @@ "core.euiFieldPassword.maskPassword": "パスワードをマスク", "core.euiFieldPassword.showPassword": "プレーンテキストとしてパスワードを表示します。注記:パスワードは画面上に見えるように表示されます。", "core.euiFilePicker.clearSelectedFiles": "選択したファイルを消去", - "core.euiFilePicker.promptText": "ファイルを選択するかドラッグ &amp; ドロップしてください", + "core.euiFilePicker.promptText": "ファイルを選択するかドラッグ&ドロップしてください", "core.euiFilePicker.removeSelected": "削除", "core.euiFlyout.closeAriaLabel": "このダイアログを閉じる", "core.euiFlyout.screenReaderFixedHeaders": "ダイアログに加え、引き続きページヘッダーをTabで移動できます。", @@ -756,6 +777,7 @@ "core.euiFlyout.screenReaderNonModalDialog": "非モーダルダイアログで操作しています。ダイアログを閉じるには、Escapeを押します。", "core.euiForm.addressFormErrors": "ハイライトされたエラーを修正してください。", "core.euiFormControlLayoutClearButton.label": "インプットを消去", + "core.euiFormControlLayoutDelimited.delimiterLabel": "に", "core.euiFullscreenSelector.fullscreenButton": "全画面モードを開始", "core.euiFullscreenSelector.fullscreenButtonActive": "全画面モードを終了", "core.euiHeaderLinks.appNavigation": "アプリメニュー", @@ -763,6 +785,10 @@ "core.euiHue.label": "HSV カラーモードの「色相」値を選択", "core.euiImageButton.closeFullScreen": "Escapeを押すか、クリックすると、画像の全画面モードが終了します。", "core.euiImageButton.openFullScreen": "クリックすると、この画像が全画面モードで表示されます。", + "core.euiInlineEditForm.activateEditModeDescription": "クリックすると、このテキストインラインを編集できます。", + "core.euiInlineEditForm.cancelButtonAriaLabel": "編集をキャンセル", + "core.euiInlineEditForm.inputKeyboardInstructions": "Enterを押すと、編集したテキストが保存されます。Enterを押すと、編集をキャンセルします。", + "core.euiInlineEditForm.saveButtonAriaLabel": "編集を保存", "core.euiKeyboardShortcuts.ctrl": "Ctrl", "core.euiKeyboardShortcuts.ctrlEndDescription": "現在のページの最後のセルに移動", "core.euiKeyboardShortcuts.ctrlHomeDescription": "現在のページの最初のセルに移動", @@ -854,7 +880,14 @@ "core.euiSelectable.placeholderName": "フィルターオプション", "core.euiSelectable.screenReaderInstructions": "オプションのフォーカスを移動するには、上下矢印キーを使用します。選択するには、Enterを押します。オプションを折りたたむには、Escapeを押します。", "core.euiSelectableListItem.checkedOption": "選択されたオプション。", + "core.euiSelectableListItem.checkOptionInstructions": "このオプションをオンにするには、Enterを押します。", "core.euiSelectableListItem.excludedOption": "除外されたオプション。", + "core.euiSelectableListItem.excludeOptionInstructions": "このオプションを除外するには、Enterを押します。", + "core.euiSelectableListItem.mixedOption": "混合(不確定)オプション。", + "core.euiSelectableListItem.mixedOptionExcludeInstructions": "すべてに対してこのオプションを除外するには、Enterを2回押します。", + "core.euiSelectableListItem.mixedOptionInstructions": "すべてに対してこのオプションをオンにするには、Enterを1回押します。", + "core.euiSelectableListItem.mixedOptionUncheckInstructions": "すべてに対してこのオプションをオフにするには、Enterを2回押します。", + "core.euiSelectableListItem.uncheckOptionInstructions": "このオプションをオフにするには、Enterを押します。", "core.euiSelectableTemplateSitewide.loadingResults": "結果を読み込み中", "core.euiSelectableTemplateSitewide.noResults": "結果がありません", "core.euiSelectableTemplateSitewide.onFocusBadgeGoTo": "移動:", @@ -1014,6 +1047,8 @@ "core.ui.overlays.banner.attentionTitle": "注意", "core.ui.overlays.banner.closeButtonLabel": "閉じる", "core.ui.primaryNav.addData": "統合の追加", + "core.ui.primaryNav.cloud.linkToDeployments": "マイデプロイ", + "core.ui.primaryNav.goToHome.ariaLabel": "ホームページに移動", "core.ui.primaryNav.pinnedLinksAriaLabel": "ピン留めされたリンク", "core.ui.primaryNav.screenReaderLabel": "プライマリ", "core.ui.primaryNav.toggleNavAriaLabel": "プライマリナビゲーションを切り替える", @@ -1095,6 +1130,8 @@ "customIntegrations.languageClients.sample.readme.install": "サンプル言語クライアントをインストールする", "customIntegrations.languageClients.sample.readme.intro": "サンプル言語クライアントを起動するには、いくつかの手順が必要です。", "customIntegrations.languageClients.sample.readme.title": "Elasticsearchサンプルクライアント", + "customIntegrations.placeholders.EscDescription": "Elastic Sinkコネクターを使用して、Confluent Cloudからデータを収集します。", + "customIntegrations.placeholders.EscTitle": "Confluent Cloud", "customIntegrations.placeholders.EsfDescription": "AWS Serverless Application Repositoryで提供されているAWS Lambdaアプリケーションを使用して、ログを収集します。", "customIntegrations.placeholders.EsfTitle": "AWS Serverless Application Repository", "dashboard.addPanel.newEmbeddableAddedSuccessMessageTitle": "{savedObjectName}が追加されました", @@ -1164,6 +1201,15 @@ "dashboard.embedUrlParamExtension.query": "クエリ", "dashboard.embedUrlParamExtension.timeFilter": "時間フィルター", "dashboard.embedUrlParamExtension.topMenu": "トップメニュー", + "dashboard.emptyScreen.addFromLibrary": "ライブラリから追加", + "dashboard.emptyScreen.createVisualization": "ビジュアライゼーションを作成", + "dashboard.emptyScreen.editDashboard": "ダッシュボードを編集", + "dashboard.emptyScreen.editModeSubtitle": "データのビジュアライゼーションを作成するか、Visualizeライブラリから1つ追加します。", + "dashboard.emptyScreen.editModeTitle": "このダッシュボードは空です。コンテンツを追加しましょう!", + "dashboard.emptyScreen.noPermissionsSubtitle": "このダッシュボードを編集するには、追加権限が必要です。", + "dashboard.emptyScreen.noPermissionsTitle": "このダッシュボードは空です。", + "dashboard.emptyScreen.viewModeSubtitle": "編集モードに切り替えて、ビジュアライゼーションの追加を開始します。", + "dashboard.emptyScreen.viewModeTitle": "ダッシュボードにビジュアライゼーションを追加", "dashboard.factory.displayName": "ダッシュボード", "dashboard.featureCatalogue.dashboardDescription": "ビジュアライゼーションと保存された検索のコレクションの表示と共有を行います。", "dashboard.featureCatalogue.dashboardSubtitle": "ダッシュボードでデータを分析します。", @@ -1589,6 +1635,7 @@ "data.search.aggs.buckets.significantTerms.includeLabel": "含める", "data.search.aggs.buckets.significantTerms.json.help": "アグリゲーションがElasticsearchに送信されるときに含める高度なJSON", "data.search.aggs.buckets.significantTerms.schema.help": "このアグリゲーションで使用するスキーマ", + "data.search.aggs.buckets.significantTerms.shardSize.help": "各シャードによって入力された用語の数と、調整ノードに返された用語の数", "data.search.aggs.buckets.significantTerms.size.help": "取得するバケットの最大数", "data.search.aggs.buckets.significantTermsTitle": "重要な用語", "data.search.aggs.buckets.significantText.customLabel.help": "このアグリゲーションのカスタムラベルを表します", @@ -1968,6 +2015,7 @@ "data.search.functions.dateRange.help": "日付範囲を作成", "data.search.functions.dateRange.to.help": "終了日を指定", "data.search.functions.esaggs.aggConfigs.help": "agg_type 関数で構成されたアグリゲーションのリスト", + "data.search.functions.esaggs.ignoreGlobalFilters.help": "グローバルクエリとフィルターを無視するか、使用するか", "data.search.functions.esaggs.index.help": "indexPatternLoad で取得されたデータビュー", "data.search.functions.esaggs.metricsAtAllLevels.help": "各バケットレベルでメトリックがある列が含まれるかどうか", "data.search.functions.esaggs.partialRows.help": "一部のデータのみを含む行を返すかどうか", @@ -2118,15 +2166,10 @@ "data.sessions.management.flyoutTitle": "検索セッションの検査", "data.triggers.applyFilterDescription": "Kibanaフィルターが適用されるとき。単一の値または範囲フィルターにすることができます。", "data.triggers.applyFilterTitle": "フィルターを適用", - "savedSearch.kibana_context.filters.help": "Kibana ジェネリックフィルターを指定します", - "savedSearch.kibana_context.help": "Kibana グローバルコンテキストを更新します", - "savedSearch.kibana_context.q.help": "自由形式の Kibana テキストクエリを指定します", - "savedSearch.kibana_context.savedSearchId.help": "クエリとフィルターに使用する保存検索ID を指定します。", - "savedSearch.kibana_context.timeRange.help": "Kibana 時間範囲フィルターを指定します", - "savedSearch.legacyURLConflict.errorMessage": "この検索にはレガシーエイリアスと同じURLがあります。このエラーを解決するには、エイリアスを無効にしてください:{json}", "dataViews.deprecations.scriptedFieldsMessage": "スクリプト化されたフィールドを使用する{numberOfIndexPatternsWithScriptedFields}データビュー({titlesPreview}...)があります。スクリプト化されたフィールドは廃止予定であり、今後は削除されます。ランタイムフィールドを使用してください。", "dataViews.fetchFieldErrorTitle": "データビューのフィールド取得中にエラーが発生 {title}(ID:{id})", "dataViews.aliasLabel": "エイリアス", + "dataViews.contentManagementType": "データビュー", "dataViews.dataStreamLabel": "データストリーム", "dataViews.deprecations.scriptedFields.manualStepOneMessage": "[スタック管理]>[Kibana]>[データビュー]に移動します。", "dataViews.deprecations.scriptedFields.manualStepTwoMessage": "ランタイムフィールドを使用するには、スクリプト化されたフィールドがある{numberOfIndexPatternsWithScriptedFields}データビューを更新します。ほとんどの場合、既存のスクリプトを移行するには、「return ;」から「emit();」に変更する必要があります。1つ以上のスクリプト化されたフィールドがあるデータビュー:{allTitles}", @@ -2371,6 +2414,7 @@ "discover.grid.flyout.toastColumnRemoved": "列'{columnName}'が削除されました", "discover.grid.selectDoc": "ドキュメント'{rowNumber}'を選択", "discover.grid.tableRow.detailHeading": "拡張ドキュメント", + "discover.grid.tableRow.textBasedDetailHeading": "展開された行", "discover.grid.tableRow.viewSingleDocumentLinkTextSimple": "1つのドキュメント", "discover.grid.tableRow.viewSurroundingDocumentsHover": "このドキュメントの前後に出現したドキュメントを検査します。周りのドキュメントビューでは、固定されたフィルターのみがアクティブのままです。", "discover.grid.tableRow.viewSurroundingDocumentsLinkTextSimple": "周りのドキュメント", @@ -2394,7 +2438,7 @@ "discover.localMenu.newSearchDescription": "新規検索", "discover.localMenu.openInspectorForSearchDescription": "検索用にインスペクターを開きます", "discover.localMenu.openSavedSearchDescription": "保存された検索を開きます", - "discover.localMenu.openTitle": "開く", + "discover.localMenu.openTitle": "未対応", "discover.localMenu.saveSaveSearchObjectType": "検索", "discover.localMenu.saveSearchDescription": "検索を保存します", "discover.localMenu.saveTitle": "保存", @@ -2520,6 +2564,7 @@ "domDragDrop.dropTargets.swap": "入れ替える", "domDragDrop.keyboardInstructions": "スペースまたはEnterを押してドラッグを開始します。ドラッグするときには、左右の矢印キーを使用して、ドロップ対象間を移動します。もう一度スペースまたはEnterを押すと終了します。", "domDragDrop.keyboardInstructionsReorder": "スペースまたはEnterを押してドラッグを開始します。ドラッグするときには、上下矢印キーを使用すると、グループの項目を並べ替えます。左右矢印キーを使用すると、グループの外側でドロップ対象を選択します。もう一度スペースまたはEnterを押すと終了します。", + "embeddableApi.addPanel.savedObjectAddedToContainerSuccessMessageTitle": "{savedObjectName}が追加されました", "embeddableApi.attributeService.saveToLibraryError": "保存中にエラーが発生しました。エラー:{errorMessage}", "embeddableApi.errors.embeddableFactoryNotFound": "{type}を読み込めません。Elasticsearch と Kibanaのデフォルトのディストリビューションを適切なライセンスでアップグレードしてください。", "embeddableApi.panel.editPanel.displayName": "{value}の編集", @@ -2527,6 +2572,8 @@ "embeddableApi.panel.enhancedDashboardPanelAriaLabel": "ダッシュボードパネル:{title}", "embeddableApi.panel.optionsMenu.panelOptionsButtonAriaLabelWithIndex": "パネル{index}のオプション", "embeddableApi.panel.optionsMenu.panelOptionsButtonEnhancedAriaLabel": "{title}のパネルオプション", + "embeddableApi.addPanel.noMatchingObjectsMessage": "一致するオブジェクトが見つかりませんでした。", + "embeddableApi.addPanel.Title": "ライブラリから追加", "embeddableApi.cellValueTrigger.description": "アクションはビジュアライゼーションのセル値オプションに表示されます", "embeddableApi.cellValueTrigger.title": "セル値", "embeddableApi.contextMenuTrigger.description": "新しいアクションがパネルのコンテキストメニューに追加されます", @@ -2759,6 +2806,7 @@ "expressionPartitionVis.legend.filterOptionsLegend": "{legendDataLabel}、フィルターオプション", "expressionPartitionVis.negativeValuesFound": "{chartType}グラフは負の値では表示できません。", "expressionPartitionVis.reusable.function.errors.moreThenNumberBuckets": "{maxLength}を超えるバケットはサポートされません。", + "expressionPartitionVis.emptySlice": "(空)", "expressionPartitionVis.legend.filterForValueButtonAriaLabel": "値でフィルター", "expressionPartitionVis.legend.filterOutValueButtonAriaLabel": "値を除外", "expressionPartitionVis.legend.legendActionsAria": "凡例アクション", @@ -3157,6 +3205,7 @@ "generateCsv.escapedFormulaValues": "CSVには、値がエスケープされた式が含まれる場合があります", "grouping.eventsTab.unit": "{totalCount, plural, =1 {イベント} other {イベント}}", "grouping.groupByPanelTitle": "最大{groupingLevelsCount}個のグループ分けを選択してください", + "grouping.nullGroup.title": "選択されたグループ分けフィールド\"{selectedGroup}\"には、このグループ\"{unit}\"の値がありません。", "grouping.total.unit": "{totalCount, plural, =1 {グループ} other {グループ}}", "grouping.additionalActions.takeAction": "アクションを実行", "grouping.alerts.label": "アラートのグループ化条件", @@ -3206,9 +3255,12 @@ "guidedOnboardingPackage.gettingStarted.cards.progressLabel": "{numberSteps}ステップ中{numberCompleteSteps}ステップ完了", "guidedOnboardingPackage.gettingStarted.cards.siemSecurity.title": "SIEMで{lineBreak}データの脅威を検出", "guidedOnboardingPackage.gettingStarted.cards.completeLabel": "ガイド完了", + "guidedOnboardingPackage.gettingStarted.cards.esreSearch.title": "セマンティック検索エクスペリエンスを構築", "guidedOnboardingPackage.gettingStarted.cards.hostsObservability.title": "ホストメトリックを監視", "guidedOnboardingPackage.gettingStarted.cards.kubernetesObservability.title": "Kubernetesクラスターの監視", "guidedOnboardingPackage.gettingStarted.cards.logsObservability.title": "ログを収集して分析", + "guidedOnboardingPackage.gettingStarted.cards.syntheticsObservability.title": "シンセティック監視を作成", + "guidedOnboardingPackage.gettingStarted.cards.vectorSearch.title": "ベクトル検索を設定", "guidedOnboardingPackage.gettingStarted.cards.websiteSearch.title": "検索をWebサイトに追加", "guidedOnboardingPackage.gettingStarted.guideFilter.all.buttonLabel": "すべて", "guidedOnboardingPackage.gettingStarted.guideFilter.observability.buttonLabel": "Observability", @@ -3468,8 +3520,8 @@ "home.guidedOnboarding.gettingStarted.errorSectionRefreshButton": "更新", "home.guidedOnboarding.gettingStarted.errorSectionTitle": "ガイド状態を読み込めません", "home.guidedOnboarding.gettingStarted.loadingIndicator": "ガイド状態を読み込んでいます...", - "home.guidedOnboarding.gettingStarted.skip.buttonLabel": "別の操作を行う。", - "home.guidedOnboarding.gettingStarted.useCaseSelectionSubtitle": "オプションを選択し、開始してください。", + "home.guidedOnboarding.gettingStarted.skip.buttonLabel": "自分自身で探索します。", + "home.guidedOnboarding.gettingStarted.useCaseSelectionSubtitle": "データを最大限に活用するには、ガイドを選択してください。", "home.guidedOnboarding.gettingStarted.useCaseSelectionTitle": "最初に何をしたいですか?", "home.header.title": "ようこそ", "home.letsStartDescription": "任意のソースからクラスターにデータを追加して、リアルタイムでデータを分析して可視化します。当社のソリューションを使用すれば、どこからでも検索を追加し、エコシステムを監視して、セキュリティの脅威から防御することができます。", @@ -4068,7 +4120,7 @@ "imageEmbeddable.imageEditor.imageURLInputLabel": "画像へのリンク", "imageEmbeddable.imageEditor.imageURLPlaceholderText": "例:https://elastic.co/my-image.png", "imageEmbeddable.imageEditor.selectImagePromptText": "前にアップロードした画像を使用", - "imageEmbeddable.imageEditor.uploadImagePromptText": "画像を選択するかドラッグ &amp; ドロップしてください", + "imageEmbeddable.imageEditor.uploadImagePromptText": "画像を選択するかドラッグ & ドロップしてください", "imageEmbeddable.imageEditor.uploadTabLabel": "アップロード", "imageEmbeddable.imageEditor.urlFailedToLoadImageErrorMessage": "画像を読み込めません。", "imageEmbeddable.imageEditor.urlFormatExternalErrorMessage": "このURLは管理者によって許可されていません。「externalUrl.policy」構成を参照してください。", @@ -4138,10 +4190,11 @@ "indexPatternEditor.status.notMatchLabel.notMatchNoIndicesDetail": "入力したインデックスパターンはデータストリーム、インデックス、またはインデックスエイリアスと一致しません。", "indexPatternEditor.title": "データビューを作成", "indexPatternEditor.titleDocsPopover.ariaLabel": "インデックスパターンの例", - "indexPatternEditor.titleDocsPopover.dontUseSpecialCharactersDescription": "スペースと文字/?\"<>|は使用できません。", + "indexPatternEditor.titleDocsPopover.dontUseSpecialCharactersDescription": "スペースと文字/?\"<>|は使用できません。", "indexPatternEditor.titleDocsPopover.indexPatternDescription": "インデックスパターンは、1つ以上のデータストリーム、インデックス、エイリアスと照合するために使用する文字列です。", "indexPatternEditor.titleDocsPopover.title": "インデックスパターン", "indexPatternEditor.titleDocsPopover.useCommasDescription": "複数の単一のソースはカンマ(,)で区切ります。", + "indexPatternEditor.titleDocsPopover.useCrossClusterSearchDescription": "クラスター横断検索では、クラスター名の後にコロン(:)を付けます。", "indexPatternEditor.titleDocsPopover.useMinusDescription": "ソースを除外するには、先頭にマイナス記号(-)を付けます。", "indexPatternEditor.titleDocsPopover.useWildcardDescription": "複数のソースはワイルドカード(*)と一致します。", "indexPatternEditor.titleEditMode": "データビューを編集", @@ -4805,6 +4858,7 @@ "savedObjects.saveModal.cancelButtonLabel": "キャンセル", "savedObjects.saveModal.descriptionLabel": "説明", "savedObjects.saveModal.duplicateTitleDescription": "「{title}」を保存すると、タイトルが重複します。", + "savedObjects.saveModal.optional": "オプション", "savedObjects.saveModal.saveButtonLabel": "保存", "savedObjects.saveModal.titleLabel": "タイトル", "savedObjects.saveModalOrigin.addToOriginLabel": "追加", @@ -4951,6 +5005,8 @@ "savedObjectsManagement.view.indexPatternDoesNotExistErrorMessage": "このオブジェクトに関連付けられたデータビューは現在存在しません。", "savedObjectsManagement.view.savedObjectProblemErrorMessage": "この保存されたオブジェクトに問題があります", "savedObjectsManagement.view.savedSearchDoesNotExistErrorMessage": "このオブジェクトに関連付けられた保存された検索は現在存在しません。", + "savedSearch.legacyURLConflict.errorMessage": "この検索にはレガシーエイリアスと同じURLがあります。このエラーを解決するには、エイリアスを無効にしてください:{json}", + "savedSearch.contentManagementType": "保存検索", "securitySolutionPackages.dataTable.eventsTab.unit": "{totalCount, plural, =1 {アラート} other {アラート}}", "securitySolutionPackages.dataTable.unit": "{totalCount, plural, =1 {アラート} other {アラート}}", "securitySolutionPackages.ecsDataQualityDashboard.allTab.allFieldsTableTitle": "すべてのフィールド - {indexName}", @@ -4960,6 +5016,7 @@ "securitySolutionPackages.ecsDataQualityDashboard.createADataQualityCaseForIndexHeaderText": "インデックス{indexName}のデータ品質ケースを作成", "securitySolutionPackages.ecsDataQualityDashboard.customTab.customFieldsTableTitle": "カスタムフィールド - {indexName}", "securitySolutionPackages.ecsDataQualityDashboard.customTab.ecsComplaintFieldsTableTitle": "ECS互換フィールド - {indexName}", + "securitySolutionPackages.ecsDataQualityDashboard.dataQualityPromptContextPill": "データ品質({indexName})", "securitySolutionPackages.ecsDataQualityDashboard.emptyErrorPrompt.errorLoadingMappingsBody": "マッピングの読み込み中に問題が発生しました:{error}", "securitySolutionPackages.ecsDataQualityDashboard.emptyErrorPrompt.errorLoadingMetadataTitle": "{pattern}パターンと一致するインデックスはチェックされません", "securitySolutionPackages.ecsDataQualityDashboard.emptyErrorPrompt.errorLoadingUnallowedValuesBody": "許可されていない値の読み込み中に問題が発生しました:{error}", @@ -5016,6 +5073,8 @@ "securitySolutionPackages.ecsDataQualityDashboard.compareFieldsTable.searchFieldsPlaceholder": "検索フィールド", "securitySolutionPackages.ecsDataQualityDashboard.copyToClipboardButton": "クリップボードにコピー", "securitySolutionPackages.ecsDataQualityDashboard.createADataQualityCaseHeaderText": "データ品質ケースを作成", + "securitySolutionPackages.ecsDataQualityDashboard.dataQualityPromptContextPillTooltip": "このデータ品質レポートをコンテキストとして追加", + "securitySolutionPackages.ecsDataQualityDashboard.dataQualitySuggestedUserPrompt": "上記の結果を説明し、一部のオプションを記述して非互換性を修正します。", "securitySolutionPackages.ecsDataQualityDashboard.defaultPanelTitle": "インデックスマッピングの確認", "securitySolutionPackages.ecsDataQualityDashboard.ecsSummaryDonutChart.chartTitle": "フィールドマッピング", "securitySolutionPackages.ecsDataQualityDashboard.ecsSummaryDonutChart.fieldsLabel": "フィールド", @@ -5054,6 +5113,7 @@ "securitySolutionPackages.ecsDataQualityDashboard.ilmPhasesEmptyPromptTitle": "1つ以上のILMフェーズを選択", "securitySolutionPackages.ecsDataQualityDashboard.ilmPhasesEmptyPromptUnmanagedLabel": "管理対象外", "securitySolutionPackages.ecsDataQualityDashboard.ilmPhasesEmptyPromptWarmLabel": "ウォーム", + "securitySolutionPackages.ecsDataQualityDashboard.incompatibleTab.dataQualityDashboardConversationId": "データ品質ダッシュボード", "securitySolutionPackages.ecsDataQualityDashboard.indexLifecycleManagementPhasesTooltip": "これらのインデックスライフサイクル管理(ILM)フェーズのインデックスはデータ品質が確認されます", "securitySolutionPackages.ecsDataQualityDashboard.indexNameLabel": "インデックス名", "securitySolutionPackages.ecsDataQualityDashboard.indexProperties.addToNewCaseButton": "新しいケースに追加", @@ -5178,6 +5238,7 @@ "sharedUXPackages.filePicker.deleteFileQuestion": "\"{fileName}\"を削除しますか?", "sharedUXPackages.filePicker.selectFilesButtonLable": "{nrOfFiles}ファイルを選択", "sharedUXPackages.fileUpload.fileTooLargeErrorMessage": "ファイルが大きすぎます。最大サイズは{expectedSize, plural, other {#バイト}}です。", + "sharedUXPackages.fileUpload.mimeTypeNotSupportedErrorMessage": "ファイルMIMEタイプ\"{mimeType}\"はサポートされていません。サポートされているMIMEタイプは{supportedMimeTypes}です。", "sharedUXPackages.noDataPage.intro": "データを追加して開始するか、{solution}については{link}をご覧ください。", "sharedUXPackages.noDataPage.welcomeTitle": "Elastic {solution}へようこそ!", "sharedUXPackages.solutionNav.mobileTitleText": "{solutionName} {menuText}", @@ -5188,6 +5249,7 @@ "sharedUXPackages.card.noData.noPermission.description": "この統合はまだ有効ではありません。管理者にはオンにするために必要なアクセス権があります。", "sharedUXPackages.card.noData.noPermission.title": "管理者にお問い合わせください", "sharedUXPackages.card.noData.title": "Elasticエージェントの追加", + "sharedUXPackages.chrome.sideNavigation.recentlyAccessed.title": "最近", "sharedUXPackages.codeEditor.ariaLabel": "コードエディター", "sharedUXPackages.codeEditor.enterKeyLabel": "Enter", "sharedUXPackages.codeEditor.escapeKeyLabel": "Esc", @@ -5238,8 +5300,9 @@ "sharedUXPackages.userProfileComponents.userProfilesSelectable.searchPlaceholder": "検索", "sharedUXPackages.userProfileComponents.userProfilesSelectable.suggestedLabel": "候補", "telemetry.callout.appliesSettingTitle": "この設定に加えた変更は{allOfKibanaText}に適用され、自動的に保存されます。", + "telemetry.dataManagementDisclaimerPrivacy": "{optInStatus} これにより、ユーザーが最も関心を持っている項目を把握できるため、製品とサービスを改善できます。{privacyStatementLink}を参照してください。", "telemetry.seeExampleOfClusterDataAndEndpointSecuity": "収集される{clusterData}および{securityData}の例を参照してください。", - "telemetry.telemetryConfigAndLinkDescription": "使用状況データの収集を有効にすると、製品とサービスを管理して改善することができます。詳細は{privacyStatementLink}をご覧ください。", + "telemetry.telemetryConfigAndLinkDescription": "使用状況データの収集を有効化することで、ユーザーが最も関心を持っている項目を把握できるため、製品とサービスを改善できます。{privacyStatementLink}を参照してください。", "telemetry.callout.appliesSettingTitle.allOfKibanaText": "Kibana のすべて", "telemetry.callout.clusterStatisticsDescription": "これは収集される基本的なクラスター統計の例です。インデックス、シャード、ノードの数が含まれます。監視がオンになっているかどうかなどのハイレベルの使用統計も含まれます。", "telemetry.callout.clusterStatisticsTitle": "クラスター統計", @@ -5248,22 +5311,119 @@ "telemetry.callout.errorUnprivilegedUserDescription": "暗号化されていないクラスター統計を表示するアクセス権がありません。", "telemetry.callout.errorUnprivilegedUserTitle": "クラスター統計の表示エラー", "telemetry.clusterData": "クラスターデータ", - "telemetry.dataManagementDisableCollectionLink": "ここで使用状況データを無効にします。", - "telemetry.dataManagementDisclaimerPrivacyLink": "プライバシーポリシーをご覧ください。", - "telemetry.dataManagementEnableCollectionLink": "ここで使用状況データを有効にします。", + "telemetry.dataManagementDisableCollectionLink": "使用状況の収集を無効にします。", + "telemetry.dataManagementDisclaimerPrivacyLink": "プライバシーポリシー", + "telemetry.dataManagementEnableCollectionLink": "使用状況の収集を有効にします。", + "telemetry.disabledStatus": "使用状況の収集は無効です。", + "telemetry.enabledStatus": "使用状況の収集は有効です。", "telemetry.optInErrorToastText": "使用状況統計設定の設定中にエラーが発生しました。", "telemetry.optInErrorToastTitle": "エラー", "telemetry.optInNoticeSeenErrorTitle": "エラー", "telemetry.optInNoticeSeenErrorToastText": "通知の消去中にエラーが発生しました", - "telemetry.optInSuccessOff": "使用状況データ収集がオフです。", - "telemetry.optInSuccessOn": "使用状況データ収集がオンです。", - "telemetry.provideUsageDataAriaName": "使用状況データを提供", - "telemetry.provideUsageDataTitle": "使用状況データを提供", + "telemetry.optInSuccessOff": "Elasticと使用状況が共有されることはありません。", + "telemetry.optInSuccessOn": "Elasticとの使用状況の共有は有効です。", + "telemetry.provideUsageDataAriaName": "Elasticと使用状況を共有", + "telemetry.provideUsageDataTitle": "Elasticと使用状況を共有", "telemetry.readOurUsageDataPrivacyStatementLinkText": "プライバシーポリシー", "telemetry.securityData": "セキュリティデータ", + "telemetry.telemetryConstant": "テレメトリー", "telemetry.telemetryOptedInDismissMessage": "閉じる", "telemetry.telemetryOptedInNoticeTitle": "Elastic Stack の改善にご協力ください", - "telemetry.usageDataTitle": "使用データ", + "telemetry.usageCollectionConstant": "使用状況の収集", + "telemetry.usageDataTitle": "使用状況の収集", + "textBasedEditor.query.textBasedLanguagesEditor.errorCount": "{count} {count, plural, other {エラー}}", + "textBasedEditor.query.textBasedLanguagesEditor.lineCount": "{count} {count, plural, other {行}}", + "textBasedEditor.query.textBasedLanguagesEditor.lineNumber": "行{lineNumber}", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.addOperator.markdown": "### 加算(+)\n```\nSELECT 1 + 1 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.andOperator.markdown": "### AND\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no > 10000 AND emp_no < 10005 ORDER BY emp_no LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.averageFunction.markdown": "### AVG\n入力値の平均(算術平均)が返されます。\n```\nAVG(numeric_field)\n```\n- 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n```\nSELECT AVG(salary) AS avg FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.between.markdown": "### Between\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no BETWEEN 9990 AND 10003 ORDER BY emp_no\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.comparison.markdown": "### 比較(<、<=、>、>=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no < 10003 ORDER BY emp_no LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countAllFunction.markdown": "### Count (All)\nすべてのヌル以外の入力値の合計数(カウント)が返されます。COUNT() and COUNT(ALL ) are equivalent.\n\n```\nCOUNT(ALL field_name) \n```\n- フィールド名。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n```\nSELECT COUNT(ALL last_name) AS count_all, COUNT(DISTINCT last_name) count_distinct FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countDistinctFunction.markdown": "### Count (Distinct)\n入力値の重複しないヌル以外の値の合計数が返されます。\n\n```\nCOUNT(DISTINCT field_name)\n```\n- 入力:フィールド名。\n- 出力:数値。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n```\nSELECT COUNT(DISTINCT hire_date) unique_hires, COUNT(hire_date) AS hires FROM emp\n\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countFunction.markdown": "### Count\n入力値の合計数(カウント)が返されます。\n\n\n```\nCOUNT(式)\n```\n- 式。フィールド名、ワイルドカード(*)、または任意の数値。COUNT(*)またはCOUNT()の場合、ヌルや不足している値を含むすべての値が考慮されます。COUNT()の場合、ヌル値は考慮されません。\n```\nSELECT COUNT(*) AS count FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.divideOperator.markdown": "### 除算(/)\n```\nSELECT 6 / 3 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.equality.markdown": "### 等号(=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no = 10000 LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.firstFunction.markdown": "### FIRST / FIRST_VALUE\nfield_name入力列の最初のヌル以外の値(存在する場合)が、ordering_field_name列でソートされて返されます。ordering_field_nameが指定されていない場合は、field_name列のみがソートで使用されます。\n\n```\nFIRST(\n field_name \n [, ordering_field_name])\n```\n- フィールド名:集計の対象フィールド\n- ordering_field_name:並べ替えで使用される任意のフィールド。\n\n```\nSELECT gender, FIRST(first_name, birth_date) FROM emp GROUP BY gender ORDER BY gender\n```\n\n- FIRSTはHAVING句で使用できません。\n- フィールドがキーワードとして保存されていない場合、FIRSTはテキスト型の列で使用できません。\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.inequality.markdown": "### 不等号(<>または!=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no <> 10000 ORDER BY emp_no LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.inOperator.markdown": "### IN (, , ...)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no IN (10000, 10001, 10002, 999) ORDER BY emp_no LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.kurtosisFunction.markdown": "### KURTOSIS\nfield_nameフィールドの入力値の分布の形状を定量化します。\n\n```\nKURTOSIS(field_name) \n```\n- 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, KURTOSIS(salary) AS k FROM emp\n```\n\n- KURTOSISは、スカラー関数または演算子に対して使用できません。直接フィールドに対してのみ使用できます。 \n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.lastFunction.markdown": "### LAST / LAST_VALUE\nFIRST/FIRST_VALUEの反転です。field_name入力列の最後のヌル以外の値(存在する場合)が、ordering_field_name列で降順にソートされて返されます。ordering_field_nameが指定されていない場合は、field_name列のみがソートで使用されます。 \n\n```\nLAST(\n field_name \n [, ordering_field_name])\n```\n- フィールド名:集計の対象フィールド\n- ordering_field_name:並べ替えで使用される任意のフィールド。\n```\nSELECT gender, LAST(first_name) FROM emp GROUP BY gender ORDER BY gender\n```\n- LASTはHAVING句で使用できません。\n- フィールドがキーワードとして保存されていない場合、LASTはテキスト型の列で使用できません。\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.madFunction.markdown": "### MAD\nfield_nameフィールドの入力値の変化を測定します。\n\n```\nMAD(field_name) \n```\n- 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, AVG(salary) AS avg, MAD(salary) AS mad FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.markdown": "## Elasticsearch SQLについてさらに詳しく\n\nElasticsearch SQLを使用すると、Elasticsearch内部でデータの検索と集計ができます。このクエリ言語では、使い慣れた構文で全文検索が可能です。クエリの例は次のとおりです。\n \n```\nSELECT * FROM library \nORDER BY page_count DESC LIMIT 5\n```\n \nElasticsearch SQL | \n\n- 演算子と関数の包括的なセットが組み込まれています。\n- SQLの用語と規則に従います。\n- 各行に1つのコマンドを入力できます。コマンドは、入力ストリームの最後に終了する一連の文字です。\n \n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.maxFunction.markdown": "### MAX\nfield_nameフィールドの入力値の最大値が返されます。\n\n```\nMAX(field_name) \n```\n- 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MAX(salary) AS max FROM emp\n```\n\nテキスト型やキーワード型のフィールドに対するMAXはFIRST/FIRST_VALUEに変換されるため、HAVING句では使用できません。\n\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.minFunction.markdown": "### MIN\nfield_nameフィールドの入力値の最小値が返されます。\n\n```\nMIN(field_name) \n```\n- 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min FROM emp\n```\n\nテキスト型やキーワード型のフィールドに対するINはFIRST/FIRST_VALUEに変換されるため、HAVING句では使用できません。\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.moduloOperator.markdown": "### Moduloまたは剰余(%)\n```\nSELECT 5 % 2 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.multiplyOperator.markdown": "### 乗算(*)\n```\nSELECT 2 * 3 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.negateOperator.markdown": "### 否定(単項-)\n```\nSELECT - 1 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.notOperator.markdown": "### NOT\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE NOT emp_no = 10000 LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullNotNull.markdown": "### IS NULL/IS NOT NULL\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no IS NOT NULL AND gender IS NULL\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullSafeEquality.markdown": "### Null宇宙船演算子\n```\nSELECT 'elastic' <=> null AS \"equals\"\n\n 一致する\n---------------\nfalse\n```\n```\nSELECT null <=> null AS \"equals\"\n\n 一致する\n---------------\ntrue\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.orOperator.markdown": "### OR\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no < 10003 OR emp_no = 10005 ORDER BY emp_no LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileFunction.markdown": "### PERCENTILE\nfield_nameフィールドの入力値の(numeric_expパラメーターで表現された)第nパーセンタイルが返されます。\n\n```\nPERCENTILE(\n field_name, \n percentile[, \n method[, \n method_parameter]])\n```\n- field_name : 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n- percentile : 数式(フィールドに基づくのではなく、定数でなければなりません)。ヌルの場合、ヌルが返されます。\n- method : パーセンタイルアルゴリズムの任意の文字列リテラル。使用可能な値:tdigestまたはhdr。デフォルトはtdigestです。\n- method_parameter:パーセンタイルアルゴリズムを構成する任意の数値リテラル。tdigestの圧縮またはhdrのnumber_of_significant_value_digitsを構成します。デフォルトは、基本のアルゴリズムと同じです。\n\n```\nSELECT\n languages,\n PERCENTILE(salary, 97.3, 'tdigest', 100.0) AS \"97.3_TDigest\",\n PERCENTILE(salary, 97.3, 'hdr', 3) AS \"97.3_HDR\"\nFROM emp\nGROUP BY languages\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileRankFunction.markdown": "### PERCENTILE_RANK\nfield_nameフィールドの入力値の(numeric_expパラメーターで表現された)第nパーセンタイルランクが返されます。\n\n```\nPERCENTILE_RANK(\n field_name, \n value[, \n method[, \n method_parameter]]) \n```\n- field_name : 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n- percentile : 数式(フィールドに基づくのではなく、定数でなければなりません)。ヌルの場合、ヌルが返されます。\n- method : パーセンタイルアルゴリズムの任意の文字列リテラル。使用可能な値:tdigestまたはhdr。デフォルトはtdigestです。\n- method_parameter:パーセンタイルアルゴリズムを構成する任意の数値リテラル。tdigestの圧縮またはhdrのnumber_of_significant_value_digitsを構成します。デフォルトは、基本のアルゴリズムと同じです。\n\n```\nSELECT\n languages,\n ROUND(PERCENTILE_RANK(salary, 65000, 'tdigest', 100.0), 2) AS \"rank_TDigest\",\n ROUND(PERCENTILE_RANK(salary, 65000, 'hdr', 3), 2) AS \"rank_HDR\"\nFROM emp\nGROUP BY languages\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.skewnessFunction.markdown": "### SKEWNESS\nfield_nameフィールドの入力値の非対称分布を定量化します。\n\n```\nSKEWNESS(field_name) \n```\n- field_name : 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, SKEWNESS(salary) AS s FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevpopFunction.markdown": "### STDDEV_POP\nfield_nameフィールドの入力値の母標準偏差が返されます。\n\n```\nSTDDEV_POP(field_name) \n```\n- field_name : 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, STDDEV_POP(salary) AS stddev FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevsampFunction.markdown": "### STDDEV_SAMP\nfield_nameフィールドの入力値の標本標準偏差が返されます。\n\n```\nSTDDEV_SAMP(field_name) \n```\n- field_name : 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, STDDEV_SAMP(salary) AS stddev FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.subtractOperator.markdown": "### 減算(infix -)\n```\nSELECT 1 - 1 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumFunction.markdown": "### SUM\nfield_nameフィールドの入力値の合計が返されます。\n\n```\nSUM(field_name) \n```\n- 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT SUM(salary) AS sum FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumofsquaresFunction.markdown": "### SUM_OF_SQUARES\nfield_nameフィールドの入力値の平方根の合計が返されます。\n\n```\nSUM_OF_SQUARES(field_name) \n```\n- field_name : 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, SUM_OF_SQUARES(salary) AS sumsq\n FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.varpopFunction.markdown": "### VAR_POP\nfield_nameフィールドの入力値の母分散が返されます。\n\n```\nVAR_POP(field_name) \n```\n- field_name : 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, VAR_POP(salary) AS varpop FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.varsampFunction.markdown": "### VAR_SAMP\nfield_nameフィールドの入力値の標本分散が返されます。\n\n```\nVAR_SAMP(field_name) \n```\n- field_name : 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, VAR_SAMP(salary) AS varsamp FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.aggregateFunctions": "集計関数", + "textBasedEditor.query.textBasedLanguagesEditor.aggregateFunctionsDocumentationDescription": "複数の入力値のセットから単一の結果を計算するための関数。Elasticsearch SQLでは、集計関数は(明示的または暗黙的な)グループ化を行った場合にのみ使用できます。", + "textBasedEditor.query.textBasedLanguagesEditor.comparisonOperators": "比較演算子", + "textBasedEditor.query.textBasedLanguagesEditor.comparisonOperatorsDocumentationDescription": "1つ以上の式に対して比較を行うためのブール演算子。", + "textBasedEditor.query.textBasedLanguagesEditor.disableWordWrapLabel": "単語の折り返しを無効にする", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.AddOperator": "追加", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.AndOperator": "AND", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.averageFunction": "平均", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.between": "Between", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.comparison": "比較", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countAllFunction": "Count (All)", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countDistinctFunction": "Count (Distinct)", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countFunction": "カウント", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.divideOperator": "除算", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.equality": "等号", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.firstFunction": "First / First_value", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.inequality": "不等号", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.inOperator": "IN", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.kurtosisFunction": "Kurtosis", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.lastFunction": "Last / Last_value", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.madFunction": "Mad", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.maxFunction": "最高", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.minFunction": "最低", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.moduloOperator": "Moduloまたは剰余", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.multiplyOperator": "乗算", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.negateOperator": "否定", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.NotOperator": "NOT", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullNotNull": "IS NULLおよびIS NOT NULL", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullSafeEquality": "Null宇宙船演算子(<=>)", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.OrOperator": "OR", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileFunction": "パーセンタイル", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileRankFunction": "パーセンタイル順位", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.skewnessFunction": "Skewness", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevpopFunction": "STDDEV_POP", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevsampFunction": "STDDEV_SAMP", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.SubtractOperator": "減算", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumFunction": "合計", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumofsquaresFunction": "平方和", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.varpopFunction": "VAR_POP", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.varsampFunction": "VAR_SAMP", + "textBasedEditor.query.textBasedLanguagesEditor.documentationLabel": "ドキュメント", + "textBasedEditor.query.textBasedLanguagesEditor.EnableWordWrapLabel": "単語の折り返しを有効にする", + "textBasedEditor.query.textBasedLanguagesEditor.errorsTitle": "エラー", + "textBasedEditor.query.textBasedLanguagesEditor.expandTooltip": "クエリエディターを展開", + "textBasedEditor.query.textBasedLanguagesEditor.howItWorks": "仕組み", + "textBasedEditor.query.textBasedLanguagesEditor.logicalOperators": "論理演算子", + "textBasedEditor.query.textBasedLanguagesEditor.logicalOperatorsDocumentationDescription": "1つまたは2つの式を評価するためのブール演算子。", + "textBasedEditor.query.textBasedLanguagesEditor.mathOperators": "数学演算子", + "textBasedEditor.query.textBasedLanguagesEditor.mathOperatorsDocumentationDescription": "1つまたは2つの値に影響する数学演算を実行します。結果は数値型の値です。", + "textBasedEditor.query.textBasedLanguagesEditor.MinimizeEditor": "エディターを最小化", + "textBasedEditor.query.textBasedLanguagesEditor.minimizeTooltip": "クエリエディターを縮小", + "textBasedEditor.query.textBasedLanguagesEditor.runQuery": "クエリを実行", + "textBasedEditor.query.textBasedLanguagesEditor.timestampDetected": "@timestampが検出されました", + "textBasedEditor.query.textBasedLanguagesEditor.timestampNotDetected": "@timestampが検出されませんでした", "timelion.help.functions.aggregate.args.functionHelpText": "{functions}の1つ", "timelion.help.functions.aggregateHelpText": "数列のすべての点の処理結果に基づく線を作成します。利用可能な関数:{functions}", "timelion.help.functions.common.args.fitHelpText": "ターゲットの期間と間隔に数列を合わせるためのアルゴリズムです。利用可能:{fitFunctions}", @@ -5318,7 +5478,7 @@ "timelion.help.functions.condition.args.operator.suggestions.lteHelpText": "未満", "timelion.help.functions.condition.args.operator.suggestions.ltHelpText": "より小さい", "timelion.help.functions.condition.args.operator.suggestions.neHelpText": "not equal", - "timelion.help.functions.condition.args.operatorHelpText": "比較に使用する比較演算子、有効な演算子は eq(=)、ne(≠), lt(&lt;), lte(≦), gt(>), gte(≧)", + "timelion.help.functions.condition.args.operatorHelpText": "比較に使用する比較演算子、有効な演算子は eq(=)、ne(≠), lt(<), lte(≦), gt(>), gte(≧)", "timelion.help.functions.condition.args.thenHelpText": "比較が true の場合に点が設定される値です。ここで seriesList を引き渡した場合、初めの数列が使用されます。", "timelion.help.functions.conditionHelpText": "演算子を使って各点を数字、または別の数列の同じ点と比較し、true の場合値を結果の値に設定し、オプションとして else が使用されます。", "timelion.help.functions.cusum.args.baseHelpText": "開始の数字です。基本的に、数列の初めにこの数字が追加されます", @@ -5616,6 +5776,9 @@ "unifiedFieldList.fieldStats.fieldTimeDistributionLabel": "時間分布", "unifiedFieldList.fieldStats.noFieldDataDescription": "現在の選択のフィールドデータがありません。", "unifiedFieldList.fieldStats.notAvailableForThisFieldDescription": "このフィールドは分析できません。", + "unifiedFieldList.fieldStats.numberSummary.maxLabel": "最高", + "unifiedFieldList.fieldStats.numberSummary.minLabel": "分", + "unifiedFieldList.fieldStats.numberSummary.summaryTableTitle": "まとめ", "unifiedFieldList.fieldStats.otherDocsLabel": "その他", "unifiedFieldList.fieldStats.topValuesLabel": "トップの値", "unifiedFieldList.fieldTypeFilter.clearAllLink": "すべて消去", @@ -5661,6 +5824,7 @@ "unifiedHistogram.inspectorRequestDescriptionTotalHits": "このリクエストはElasticsearchにクエリをかけ、合計一致数を取得します。", "unifiedHistogram.lensTitle": "ビジュアライゼーションを編集", "unifiedHistogram.resetChartHeight": "デフォルトの高さにリセット", + "unifiedHistogram.saveVisualizationButton": "ビジュアライゼーションを保存", "unifiedHistogram.showChart": "グラフを表示", "unifiedHistogram.suggestionSelectorPlaceholder": "ビジュアライゼーションを選択", "unifiedHistogram.timeIntervals": "時間間隔", @@ -5684,9 +5848,10 @@ "unifiedSearch.query.queryBar.KQLNestedQuerySyntaxInfoText": "ネストされたフィールドをクエリされているようです。ネストされたクエリに対しては、ご希望の結果により異なる方法でKQL構文を構築することができます。{link}で詳細をご覧ください。", "unifiedSearch.query.queryBar.searchInputAriaLabel": "{pageType}ページの検索とフィルタリングを行うには入力を開始してください", "unifiedSearch.query.queryBar.searchInputPlaceholder": "{language}構文を使用してデータをフィルタリング", + "unifiedSearch.query.queryBar.textBasedNonTimestampWarning": "{language}クエリの日付範囲選択では、データセットに@timestampフィールドが存在している必要があります。", "unifiedSearch.search.searchBar.savedQueryPopoverConfirmDeletionTitle": "\"{savedQueryName}\"を削除しますか?", "unifiedSearch.search.searchBar.savedQueryPopoverSaveChangesButtonAriaLabel": "{title}への変更を保存", - "unifiedSearch.search.unableToGetSavedQueryToastTitle": "保存したクエリ{savedQueryId}を読み込めません", + "unifiedSearch.search.unableToGetSavedQueryToastTitle": "クエリ\"{savedQueryId}\"を読み込めません", "unifiedSearch.filter.applyFilterActionTitle": "現在のビューにフィルターを適用", "unifiedSearch.filter.applyFilters.popupHeader": "適用するフィルターの選択", "unifiedSearch.filter.applyFiltersPopup.cancelButtonLabel": "キャンセル", @@ -5733,6 +5898,7 @@ "unifiedSearch.filter.filterEditor.isOneOfOperatorOptionLabel": "is one of", "unifiedSearch.filter.filterEditor.isOperatorOptionLabel": "は", "unifiedSearch.filter.filterEditor.queryDslAriaLabel": "ElasticsearchクエリDSLエディター", + "unifiedSearch.filter.filterEditor.queryDslDocsLinkLabel": "クエリDSL構文の詳細", "unifiedSearch.filter.filterEditor.queryDslLabel": "Elasticsearch クエリ DSL", "unifiedSearch.filter.filterEditor.rangeEndInputPlaceholder": "終了", "unifiedSearch.filter.filterEditor.rangeInputLabel": "範囲", @@ -5809,6 +5975,7 @@ "unifiedSearch.query.queryBar.searchInputPlaceholderForText": "データのフィルタリング", "unifiedSearch.query.queryBar.syntaxOptionsTitle": "構文オプション", "unifiedSearch.query.queryBar.textBasedLanguagesTechPreviewLabel": "テクニカルプレビュー", + "unifiedSearch.queryBarTopRow.datePicker.disabledLabel": "常時", "unifiedSearch.queryBarTopRow.submitButton.refresh": "クエリの更新", "unifiedSearch.queryBarTopRow.submitButton.run": "クエリを実行", "unifiedSearch.queryBarTopRow.submitButton.update": "更新が必要です", @@ -5831,97 +5998,6 @@ "unifiedSearch.switchLanguage.buttonText": "言語の切り替えボタン。", "unifiedSearch.triggers.updateFilterReferencesTrigger": "フィルター参照を更新", "unifiedSearch.triggers.updateFilterReferencesTriggerDescription": "フィルター参照を更新", - "textBasedEditor.query.textBasedLanguagesEditor.errorCount": "{count} {count, plural, other {エラー}}", - "textBasedEditor.query.textBasedLanguagesEditor.lineCount": "{count} {count, plural, other {行}}", - "textBasedEditor.query.textBasedLanguagesEditor.lineNumber": "行{lineNumber}", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.addOperator.markdown": "### 加算(+)\n```\nSELECT 1 + 1 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.andOperator.markdown": "### AND\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no > 10000 AND emp_no < 10005 ORDER BY emp_no LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.averageFunction.markdown": "### AVG\n入力値の平均(算術平均)が返されます。\n```\nAVG(numeric_field)\n```\n- 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n```\nSELECT AVG(salary) AS avg FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.between.markdown": "### Between\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no BETWEEN 9990 AND 10003 ORDER BY emp_no\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.comparison.markdown": "### 比較(<、<=、>、>=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no < 10003 ORDER BY emp_no LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countAllFunction.markdown": "### Count (All)\nすべてのヌル以外の入力値の合計数(カウント)が返されます。COUNT() and COUNT(ALL ) are equivalent.\n\n```\nCOUNT(ALL field_name) \n```\n- フィールド名。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n```\nSELECT COUNT(ALL last_name) AS count_all, COUNT(DISTINCT last_name) count_distinct FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countDistinctFunction.markdown": "### Count (Distinct)\n入力値の重複しないヌル以外の値の合計数が返されます。\n\n```\nCOUNT(DISTINCT field_name)\n```\n- 入力:フィールド名。\n- 出力:数値。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n```\nSELECT COUNT(DISTINCT hire_date) unique_hires, COUNT(hire_date) AS hires FROM emp\n\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countFunction.markdown": "### Count\n入力値の合計数(カウント)が返されます。\n\n\n```\nCOUNT(式)\n```\n- 式。フィールド名、ワイルドカード(*)、または任意の数値。COUNT(*)またはCOUNT()の場合、ヌルや不足している値を含むすべての値が考慮されます。COUNT()の場合、ヌル値は考慮されません。\n```\nSELECT COUNT(*) AS count FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.divideOperator.markdown": "### 除算(/)\n```\nSELECT 6 / 3 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.equality.markdown": "### 等号(=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no = 10000 LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.firstFunction.markdown": "### FIRST / FIRST_VALUE\nfield_name入力列の最初のヌル以外の値(存在する場合)が、ordering_field_name列でソートされて返されます。ordering_field_nameが指定されていない場合は、field_name列のみがソートで使用されます。\n\n```\nFIRST(\n field_name \n [, ordering_field_name])\n```\n- フィールド名:集計の対象フィールド\n- ordering_field_name:並べ替えで使用される任意のフィールド。\n\n```\nSELECT gender, FIRST(first_name, birth_date) FROM emp GROUP BY gender ORDER BY gender\n```\n\n- FIRSTはHAVING句で使用できません。\n- フィールドがキーワードとして保存されていない場合、FIRSTはテキスト型の列で使用できません。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.inequality.markdown": "### 不等号(<>または!=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no <> 10000 ORDER BY emp_no LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.inOperator.markdown": "### IN (, , ...)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no IN (10000, 10001, 10002, 999) ORDER BY emp_no LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.kurtosisFunction.markdown": "### KURTOSIS\nfield_nameフィールドの入力値の分布の形状を定量化します。\n\n```\nKURTOSIS(field_name) \n```\n- 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, KURTOSIS(salary) AS k FROM emp\n```\n\n- KURTOSISは、スカラー関数または演算子に対して使用できません。直接フィールドに対してのみ使用できます。 \n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.lastFunction.markdown": "### LAST / LAST_VALUE\nFIRST/FIRST_VALUEの反転です。field_name入力列の最後のヌル以外の値(存在する場合)が、ordering_field_name列で降順にソートされて返されます。ordering_field_nameが指定されていない場合は、field_name列のみがソートで使用されます。 \n\n```\nLAST(\n field_name \n [, ordering_field_name])\n```\n- フィールド名:集計の対象フィールド\n- ordering_field_name:並べ替えで使用される任意のフィールド。\n```\nSELECT gender, LAST(first_name) FROM emp GROUP BY gender ORDER BY gender\n```\n- LASTはHAVING句で使用できません。\n- フィールドがキーワードとして保存されていない場合、LASTはテキスト型の列で使用できません。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.madFunction.markdown": "### MAD\nfield_nameフィールドの入力値の変化を測定します。\n\n```\nMAD(field_name) \n```\n- 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, AVG(salary) AS avg, MAD(salary) AS mad FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.markdown": "## Elasticsearch SQLについてさらに詳しく\n\nElasticsearch SQLを使用すると、Elasticsearch内部でデータの検索と集計ができます。このクエリ言語では、使い慣れた構文で全文検索が可能です。クエリの例は次のとおりです。\n \n```\nSELECT * FROM library \nORDER BY page_count DESC LIMIT 5\n```\n \nElasticsearch SQL | \n\n- 演算子と関数の包括的なセットが組み込まれています。\n- SQLの用語と規則に従います。\n- 各行に1つのコマンドを入力できます。コマンドは、入力ストリームの最後に終了する一連の文字です。\n \n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.maxFunction.markdown": "### MAX\nfield_nameフィールドの入力値の最大値が返されます。\n\n```\nMAX(field_name) \n```\n- 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MAX(salary) AS max FROM emp\n```\n\nテキスト型やキーワード型のフィールドに対するMAXはFIRST/FIRST_VALUEに変換されるため、HAVING句では使用できません。\n\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.minFunction.markdown": "### MIN\nfield_nameフィールドの入力値の最小値が返されます。\n\n```\nMIN(field_name) \n```\n- 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min FROM emp\n```\n\nテキスト型やキーワード型のフィールドに対するINはFIRST/FIRST_VALUEに変換されるため、HAVING句では使用できません。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.moduloOperator.markdown": "### Moduloまたは剰余(%)\n```\nSELECT 5 % 2 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.multiplyOperator.markdown": "### 乗算(*)\n```\nSELECT 2 * 3 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.negateOperator.markdown": "### 否定(単項-)\n```\nSELECT - 1 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.notOperator.markdown": "### NOT\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE NOT emp_no = 10000 LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullNotNull.markdown": "### IS NULL/IS NOT NULL\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no IS NOT NULL AND gender IS NULL\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullSafeEquality.markdown": "### Null宇宙船演算子\n```\nSELECT 'elastic' <=> null AS \"equals\"\n\n 一致する\n---------------\nfalse\n```\n```\nSELECT null <=> null AS \"equals\"\n\n 一致する\n---------------\ntrue\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.orOperator.markdown": "### OR\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no < 10003 OR emp_no = 10005 ORDER BY emp_no LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileFunction.markdown": "### PERCENTILE\nfield_nameフィールドの入力値の(numeric_expパラメーターで表現された)第nパーセンタイルが返されます。\n\n```\nPERCENTILE(\n field_name, \n percentile[, \n method[, \n method_parameter]])\n```\n- field_name : 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n- percentile : 数式(フィールドに基づくのではなく、定数でなければなりません)。ヌルの場合、ヌルが返されます。\n- method : パーセンタイルアルゴリズムの任意の文字列リテラル。使用可能な値:tdigestまたはhdr。デフォルトはtdigestです。\n- method_parameter:パーセンタイルアルゴリズムを構成する任意の数値リテラル。tdigestの圧縮またはhdrのnumber_of_significant_value_digitsを構成します。デフォルトは、基本のアルゴリズムと同じです。\n\n```\nSELECT\n languages,\n PERCENTILE(salary, 97.3, 'tdigest', 100.0) AS \"97.3_TDigest\",\n PERCENTILE(salary, 97.3, 'hdr', 3) AS \"97.3_HDR\"\nFROM emp\nGROUP BY languages\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileRankFunction.markdown": "### PERCENTILE_RANK\nfield_nameフィールドの入力値の(numeric_expパラメーターで表現された)第nパーセンタイルランクが返されます。\n\n```\nPERCENTILE_RANK(\n field_name, \n value[, \n method[, \n method_parameter]]) \n```\n- field_name : 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n- percentile : 数式(フィールドに基づくのではなく、定数でなければなりません)。ヌルの場合、ヌルが返されます。\n- method : パーセンタイルアルゴリズムの任意の文字列リテラル。使用可能な値:tdigestまたはhdr。デフォルトはtdigestです。\n- method_parameter:パーセンタイルアルゴリズムを構成する任意の数値リテラル。tdigestの圧縮またはhdrのnumber_of_significant_value_digitsを構成します。デフォルトは、基本のアルゴリズムと同じです。\n\n```\nSELECT\n languages,\n ROUND(PERCENTILE_RANK(salary, 65000, 'tdigest', 100.0), 2) AS \"rank_TDigest\",\n ROUND(PERCENTILE_RANK(salary, 65000, 'hdr', 3), 2) AS \"rank_HDR\"\nFROM emp\nGROUP BY languages\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.skewnessFunction.markdown": "### SKEWNESS\nfield_nameフィールドの入力値の非対称分布を定量化します。\n\n```\nSKEWNESS(field_name) \n```\n- field_name : 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, SKEWNESS(salary) AS s FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevpopFunction.markdown": "### STDDEV_POP\nfield_nameフィールドの入力値の母標準偏差が返されます。\n\n```\nSTDDEV_POP(field_name) \n```\n- field_name : 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, STDDEV_POP(salary) AS stddev FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevsampFunction.markdown": "### STDDEV_SAMP\nfield_nameフィールドの入力値の標本標準偏差が返されます。\n\n```\nSTDDEV_SAMP(field_name) \n```\n- field_name : 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, STDDEV_SAMP(salary) AS stddev FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.subtractOperator.markdown": "### 減算(infix -)\n```\nSELECT 1 - 1 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumFunction.markdown": "### SUM\nfield_nameフィールドの入力値の合計が返されます。\n\n```\nSUM(field_name) \n```\n- 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT SUM(salary) AS sum FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumofsquaresFunction.markdown": "### SUM_OF_SQUARES\nfield_nameフィールドの入力値の平方根の合計が返されます。\n\n```\nSUM_OF_SQUARES(field_name) \n```\n- field_name : 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, SUM_OF_SQUARES(salary) AS sumsq\n FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.varpopFunction.markdown": "### VAR_POP\nfield_nameフィールドの入力値の母分散が返されます。\n\n```\nVAR_POP(field_name) \n```\n- field_name : 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, VAR_POP(salary) AS varpop FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.varsampFunction.markdown": "### VAR_SAMP\nfield_nameフィールドの入力値の標本分散が返されます。\n\n```\nVAR_SAMP(field_name) \n```\n- field_name : 数値フィールド。このフィールドにヌル値のみが入力されている場合、関数によってヌルが返されます。そうでない場合は、このフィールドのヌル値は無視されます。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, VAR_SAMP(salary) AS varsamp FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.aggregateFunctions": "集計関数", - "textBasedEditor.query.textBasedLanguagesEditor.aggregateFunctionsDocumentationDescription": "複数の入力値のセットから単一の結果を計算するための関数。Elasticsearch SQLでは、集計関数は(明示的または暗黙的な)グループ化を行った場合にのみ使用できます。", - "textBasedEditor.query.textBasedLanguagesEditor.comparisonOperators": "比較演算子", - "textBasedEditor.query.textBasedLanguagesEditor.comparisonOperatorsDocumentationDescription": "1つ以上の式に対して比較を行うためのブール演算子。", - "textBasedEditor.query.textBasedLanguagesEditor.disableWordWrapLabel": "単語の折り返しを無効にする", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.AddOperator": "追加", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.AndOperator": "AND", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.averageFunction": "平均", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.between": "Between", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.comparison": "比較", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countAllFunction": "Count (All)", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countDistinctFunction": "Count (Distinct)", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countFunction": "カウント", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.divideOperator": "除算", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.equality": "等号", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.firstFunction": "First / First_value", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.inequality": "不等号", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.inOperator": "IN", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.kurtosisFunction": "Kurtosis", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.lastFunction": "Last / Last_value", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.madFunction": "Mad", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.maxFunction": "最高", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.minFunction": "最低", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.moduloOperator": "Moduloまたは剰余", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.multiplyOperator": "乗算", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.negateOperator": "否定", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.NotOperator": "NOT", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullNotNull": "IS NULLおよびIS NOT NULL", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullSafeEquality": "Null宇宙船演算子(<=>)", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.OrOperator": "OR", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileFunction": "パーセンタイル", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileRankFunction": "パーセンタイル順位", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.skewnessFunction": "Skewness", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevpopFunction": "STDDEV_POP", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevsampFunction": "STDDEV_SAMP", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.SubtractOperator": "減算", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumFunction": "合計", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumofsquaresFunction": "平方和", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.varpopFunction": "VAR_POP", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.varsampFunction": "VAR_SAMP", - "textBasedEditor.query.textBasedLanguagesEditor.documentationLabel": "ドキュメント", - "textBasedEditor.query.textBasedLanguagesEditor.EnableWordWrapLabel": "単語の折り返しを有効にする", - "textBasedEditor.query.textBasedLanguagesEditor.errorsTitle": "エラー", - "textBasedEditor.query.textBasedLanguagesEditor.expandTooltip": "クエリエディターを展開", - "textBasedEditor.query.textBasedLanguagesEditor.howItWorks": "仕組み", - "textBasedEditor.query.textBasedLanguagesEditor.logicalOperators": "論理演算子", - "textBasedEditor.query.textBasedLanguagesEditor.logicalOperatorsDocumentationDescription": "1つまたは2つの式を評価するためのブール演算子。", - "textBasedEditor.query.textBasedLanguagesEditor.mathOperators": "数学演算子", - "textBasedEditor.query.textBasedLanguagesEditor.mathOperatorsDocumentationDescription": "1つまたは2つの値に影響する数学演算を実行します。結果は数値型の値です。", - "textBasedEditor.query.textBasedLanguagesEditor.MinimizeEditor": "エディターを最小化", - "textBasedEditor.query.textBasedLanguagesEditor.minimizeTooltip": "クエリエディターを縮小", - "textBasedEditor.query.textBasedLanguagesEditor.runQuery": "クエリを実行", "userProfileComponents.userProfilesSelectable.limitReachedMessage": "{count, plural, other {#人のユーザー}}の最大数を選択しました", "userProfileComponents.userProfilesSelectable.selectedStatusMessage": "{count, plural, other {#人のユーザーが選択されました}}", "userProfileComponents.userProfilesSelectable.clearButtonLabel": "すべてのユーザーを削除", @@ -6033,7 +6109,7 @@ "visDefaultEditor.controls.ranges.fromLabel": "開始:", "visDefaultEditor.controls.ranges.greaterThanOrEqualPrepend": "≥", "visDefaultEditor.controls.ranges.greaterThanOrEqualTooltip": "よりも大きいまたは等しい", - "visDefaultEditor.controls.ranges.lessThanPrepend": "<", + "visDefaultEditor.controls.ranges.lessThanPrepend": "<", "visDefaultEditor.controls.ranges.lessThanTooltip": "より小さい", "visDefaultEditor.controls.ranges.toLabel": "終了:", "visDefaultEditor.controls.rowsLabel": "行", @@ -6263,8 +6339,8 @@ "visTypeTimeseries.colorRules.greaterThanLabel": "> greater than", "visTypeTimeseries.colorRules.greaterThanOrEqualLabel": ">= greater than or equal", "visTypeTimeseries.colorRules.ifMetricIsLabel": "メトリックが", - "visTypeTimeseries.colorRules.lessThanLabel": "< less than", - "visTypeTimeseries.colorRules.lessThanOrEqualLabel": "<= less than or equal", + "visTypeTimeseries.colorRules.lessThanLabel": "< less than", + "visTypeTimeseries.colorRules.lessThanOrEqualLabel": "<= less than or equal", "visTypeTimeseries.colorRules.valueAriaLabel": "値", "visTypeTimeseries.cumulativeSum.aggregationLabel": "アグリゲーション", "visTypeTimeseries.cumulativeSum.metricLabel": "メトリック", @@ -6906,6 +6982,7 @@ "visualizations.confirmModal.overwriteConfirmationMessage": "{title}を上書きしてよろしいですか?", "visualizations.confirmModal.overwriteTitle": "{name}を上書きしますか?", "visualizations.confirmModal.saveDuplicateConfirmationMessage": "「{name}」を保存すると、タイトルが重複します。保存しますか?", + "visualizations.editVisualization.readOnlyErrorMessage": "\"{visTypeTitle}\"ビジュアライゼーションは読み取り専用であり、エディターで開くことができません。", "visualizations.embeddable.legacyURLConflict.errorMessage": "このビジュアライゼーションにはレガシーエイリアスと同じURLがあります。このエラーを解決するには、エイリアスを無効にしてください:{json}", "visualizations.experimentalVisInfoText": "将来のリリースでは、変更されるか、完全に削除される場合があります。Elasticは最善の努力を講じてすべての問題の修正に努めますが、テクニカルプレビュー中の機能には正式なGA機能のサポートSLAが適用されません。フィードバックがある場合は、{githubLink}で問題を報告してください。", "visualizations.fallbackDataView.label": "{type}が見つかりません", @@ -7029,6 +7106,41 @@ "visualizations.visualizeListingBreadcrumbsTitle": "Visualizeライブラリ", "visualizations.visualizeListingDashboardAppName": "ダッシュボードアプリケーション", "visualizations.visualizeListingDeleteErrorTitle": "ビジュアライゼーションの削除中にエラーが発生", + "visualizationUiComponents.dimensionButton.editConfig": "{label}構成の編集", + "visualizationUiComponents.dimensionButton.removeColumnLabel": "\"{groupLabel}\"から構成を削除", + "visualizationUiComponents.dimensionButtonIcon.colorIndicatorLabel": "このディメンションの色:{hex}", + "visualizationUiComponents.queryInput.queryPlaceholderKql": "{example}", + "visualizationUiComponents.queryInput.queryPlaceholderLucene": "{example}", + "visualizationUiComponents.colorPicker.seriesColor.auto": "自動", + "visualizationUiComponents.colorPicker.seriesColor.label": "系列色", + "visualizationUiComponents.colorPicker.tooltip.auto": "カスタム色を指定しない場合、Lensは自動的に色を選択します。", + "visualizationUiComponents.colorPicker.tooltip.custom": "[自動]モードに戻すには、カスタム色をオフにしてください。", + "visualizationUiComponents.configure.invalidConfigTooltip": "無効な構成です。", + "visualizationUiComponents.configure.invalidConfigTooltipClick": "詳細はクリックしてください。", + "visualizationUiComponents.customBucketContainer.dragToReorder": "ドラッグして並べ替え", + "visualizationUiComponents.dimensionButtonIcon.aggregateIndicatorLabel": "すべての個別の値が1つの値に集約されているため、このディメンションはグラフに表示されません", + "visualizationUiComponents.dimensionButtonIcon.customIconIndicatorLabel": "このディメンションはカスタムアイコンを使用しています", + "visualizationUiComponents.dimensionButtonIcon.invisibleIndicatorLabel": "このディメンションは現在グラフに表示されません", + "visualizationUiComponents.dimensionButtonIcon.noColorIndicatorLabel": "このディメンションには個別の色がありません", + "visualizationUiComponents.dimensionButtonIcon.paletteColorIndicatorLabel": "このディメンションはパレットを使用しています", + "visualizationUiComponents.emptyTitle": "[無題]", + "visualizationUiComponents.fieldPicker.fieldPlaceholder": "フィールドを選択", + "visualizationUiComponents.fieldsBucketContainer.deleteButtonDisabled": "1つ以上のアイテムが必要です。", + "visualizationUiComponents.fieldsBucketContainer.dragHandleDisabled": "並べ替えには1つ以上のアイテムが必要です。", + "visualizationUiComponents.fieldsBucketContainer.dragToReorder": "ドラッグして並べ替え", + "visualizationUiComponents.filterQueryInput.clickToEdit": "クリックして編集", + "visualizationUiComponents.filterQueryInput.emptyFilterQuery": "(空)", + "visualizationUiComponents.filterQueryInput.label": "フィルタリング条件", + "visualizationUiComponents.iconSelect.label": "アイコン装飾", + "visualizationUiComponents.lineMarker.textVisibility": "テキスト装飾", + "visualizationUiComponents.nameInput.columnLabel": "名前", + "visualizationUiComponents.xyChart.lineMarker.textVisibility.field": "フィールド", + "visualizationUiComponents.xyChart.lineMarker.textVisibility.name": "名前", + "visualizationUiComponents.xyChart.lineMarker.textVisibility.none": "なし", + "visualizationUiComponents.xyChart.lineStyle.dashed": "鎖線", + "visualizationUiComponents.xyChart.lineStyle.dotted": "点線", + "visualizationUiComponents.xyChart.lineStyle.label": "折れ線", + "visualizationUiComponents.xyChart.lineStyle.solid": "塗りつぶし", "xpack.actions.actionsClient.invalidDate": "パラメーター{field}の無効な日付:「{dateValue}」", "xpack.actions.actionTypeRegistry.get.missingActionTypeErrorMessage": "アクションタイプ\"{id}\"は登録されていません。", "xpack.actions.actionTypeRegistry.register.duplicateActionTypeErrorMessage": "アクションタイプ\"{id}\"はすでに登録されています。", @@ -7051,6 +7163,7 @@ "xpack.actions.availableConnectorFeatures.cases": "ケース", "xpack.actions.availableConnectorFeatures.compatibility.alertingRules": "アラートルール", "xpack.actions.availableConnectorFeatures.compatibility.cases": "ケース", + "xpack.actions.availableConnectorFeatures.compatibility.general": "一般", "xpack.actions.availableConnectorFeatures.securitySolution": "セキュリティソリューション", "xpack.actions.availableConnectorFeatures.uptime": "アップタイム", "xpack.actions.builtin.cases.jiraTitle": "Jira", @@ -7060,6 +7173,7 @@ "xpack.aiops.analysis.errorCallOutTitle": "分析の実行中に、次の{errorCount, plural, other {エラー}}が発生しました。", "xpack.aiops.categorizeFlyout.title": "{name}のパターン分析", "xpack.aiops.changePointDetection.cardinalityWarningMessage": "\"{splitField}\"フィールドカーディナリティは{cardinality}であり、{cardinalityLimit}の制限を超えています。ドキュメントカウント別で並べ替えられた最初の{cardinalityLimit}個のパーティションのみが分析されます。", + "xpack.aiops.dataViewNotBasedOnTimeSeriesWarning.title": "データビュー\"{dataViewTitle}\"は時系列に基づいていません。", "xpack.aiops.explainLogRateSpikes.loadingState.identifiedFieldCandidates": "{fieldCandidatesCount, plural, other {#個のフィールド候補}}が特定されました。", "xpack.aiops.explainLogRateSpikes.loadingState.identifiedFieldValuePairs": "{fieldValuePairsCount, plural, other {#個の重要なフィールドと値のペア}}が特定されました。", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.groupColumnTooltip": "最大{maxItemCount}個のグループ項目を一意性とドキュメント数順に並べ替えて表示します。すべてのフィールドと値のペアを表示するには、行を展開します。", @@ -7084,6 +7198,7 @@ "xpack.aiops.analysis.fieldSelectorAriaLabel": "フィールドのフィルタリング", "xpack.aiops.analysis.fieldSelectorNotEnoughFieldsSelected": "グループ化するには、2つ以上のフィールドを選択する必要があります。", "xpack.aiops.analysis.fieldSelectorPlaceholder": "検索", + "xpack.aiops.analysisCompleteLabel": "分析完了", "xpack.aiops.cancelAnalysisButtonTitle": "キャンセル", "xpack.aiops.categorizeFieldAction.displayName": "フィールドの分類", "xpack.aiops.categorizeFlyout.loading.title": "パターン分析を読み込み中", @@ -7121,6 +7236,7 @@ "xpack.aiops.changePointDetection.typeColumn": "型", "xpack.aiops.changePointDetection.viewSelectedButtonLabel": "ビューが選択されました", "xpack.aiops.changePointDetection.viewSelectedChartsToltip": "詳細を表示するには、変化点を選択してください。", + "xpack.aiops.changePointTimeSeriesWarning.description": "変化点の検出は時間ベースのインデックスでのみ実行されます", "xpack.aiops.correlations.highImpactText": "高", "xpack.aiops.correlations.lowImpactText": "低", "xpack.aiops.correlations.mediumImpactText": "中", @@ -7143,14 +7259,14 @@ "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.impactLabelColumnTooltip": "メッセージレート差異に対するフィールドの影響のレベル。", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.logRateColumnTooltip": "メッセージレート差異に対するフィールドの影響の視覚的な表示", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.logRateLabel": "ログレート", - "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.pValueColumnTooltip": "値の頻度の変化の有意性。値が小さいほど、変化が大きいことを示します。", + "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.pValueColumnTooltip": "値の頻度の変化の重要性。値が小さいほど変化が大きいことを示します。この列をソートすると、自動的にdoc count列が二次ソートされます。", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.pValueLabel": "p値", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.uniqueColumnTooltip": "このフィールド/値の組み合わせはこのグループでのみ出現します", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.groupLabel": "グループ", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.impactLabelColumnTooltip": "メッセージレート差異に対するグループの影響のレベル", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.logRateColumnTooltip": "メッセージレート差異に対するグループの影響の視覚的な表示。", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.logRateLabel": "ログレート", - "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.pValueColumnTooltip": "値の頻度の変化の有意性。値が小さいほど、変化が大きいことを示します。", + "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.pValueColumnTooltip": "値の頻度の変化の重要性。値が小さいほど変化が大きいことを示します。この列をソートすると、自動的にdoc count列が二次ソートされます。", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.pValueLabel": "p値", "xpack.aiops.explainLogRateSpikesPage.emptyPromptBody": "explainログレートスパイク機能は、ログレートのスパイクに寄与する統計的に有意なフィールド/値の組み合わせを特定します。", "xpack.aiops.explainLogRateSpikesPage.emptyPromptTitle": "ヒストグラム図のスパイクをクリックすると、分析が開始します。", @@ -7195,20 +7311,26 @@ "xpack.aiops.logCategorization.randomSamplerSettingsPopUp.randomSamplerPercentageRowLabel": "抽出割合", "xpack.aiops.logCategorization.randomSamplerSettingsPopUp.randomSamplerRowLabel": "無作為抽出", "xpack.aiops.logCategorization.runButton": "パターン分析を実行", + "xpack.aiops.logCategorizationTimeSeriesWarning.description": "ログパターン分析は、時間ベースのインデックスに対してのみ実行されます。", + "xpack.aiops.logRateSpikesTimeSeriesWarning.description": "ログレートスパイクは、時間ベースのインデックスに対してのみ実行されます。", "xpack.aiops.miniHistogram.noDataLabel": "N/A", "xpack.aiops.progressAriaLabel": "進捗", - "xpack.aiops.rerunAnalysisButtonTitle": "分析を再実行", + "xpack.aiops.rerunAnalysisButtonTitle": "分析を実行", "xpack.aiops.rerunAnalysisTooltipContent": "選択更新のため、分析データが古い可能性があります。分析を再実行します。", + "xpack.aiops.resetLabel": "リセット", "xpack.aiops.searchPanel.invalidSyntax": "無効な構文", "xpack.aiops.searchPanel.queryBarPlaceholderText": "検索…(例:status:200 AND extension:\"PHP\")", + "xpack.aiops.spikeAnalysisGroupsTable.actionsColumnName": "アクション", "xpack.aiops.spikeAnalysisPage.documentCountStatsSplitGroupLabel": "選択したグループ", "xpack.aiops.spikeAnalysisTable.actionsColumnName": "アクション", "xpack.aiops.spikeAnalysisTable.autoGeneratedDiscoverLinkErrorMessage": "Discoverにリンクできません。このインデックスのデータビューが存在しません", "xpack.aiops.spikeAnalysisTable.autoGeneratedLogPatternAnalysisLinkErrorMessage": "ログパターン分析にリンクできません。このインデックスのデータビューが存在しません", "xpack.aiops.spikeAnalysisTable.discoverLocatorMissingErrorMessage": "Discoverのロケーターが検出されません", "xpack.aiops.spikeAnalysisTable.discoverNotEnabledErrorMessage": "Discoverが有効ではありません", - "xpack.aiops.spikeAnalysisTable.groupedSwitchLabel.groupResults": "結果をグループ化", + "xpack.aiops.spikeAnalysisTable.groupedSwitchLabel.groupResults": "スマートグループ", "xpack.aiops.spikeAnalysisTable.groupedSwitchLabel.groupResultsHelpMessage": "グループに固有のアイテムにはアスタリスク(*)が表示されます。", + "xpack.aiops.spikeAnalysisTable.groupedSwitchLabel.groupResultsOff": "オフ", + "xpack.aiops.spikeAnalysisTable.groupedSwitchLabel.groupResultsOn": "オン", "xpack.aiops.spikeAnalysisTable.linksMenu.copyToClipboardButtonLabel": "クリップボードにコピー", "xpack.aiops.spikeAnalysisTable.linksMenu.copyToClipboardGroupMessage": "グループアイテムをKQL構文としてクリップボードにコピー", "xpack.aiops.spikeAnalysisTable.linksMenu.copyToClipboardSignificantTermMessage": "フィールド/値のペアをKQL構文としてクリップボードにコピー", @@ -7291,13 +7413,16 @@ "xpack.alerting.maintenanceWindows.archiveCallout.subtitle": "ここで行った変更は保存されません。これらの保存されていない変更を破棄し、この保守時間枠をアーカイブしますか?", "xpack.alerting.maintenanceWindows.badge.experimentalDescription": "この機能はテクニカルプレビュー中であり、将来のリリースでは変更されたり完全に削除されたりする場合があります。Elasticは最善の努力を講じてすべての問題の修正に努めますが、テクニカルプレビュー中の機能には正式なGA機能のサポートSLAが適用されません。", "xpack.alerting.maintenanceWindows.badge.experimentalLabel": "テクニカルプレビュー", + "xpack.alerting.maintenanceWindows.badge.readOnly.text": "読み取り専用", + "xpack.alerting.maintenanceWindows.badge.readOnly.tooltip": "保守時間枠を作成または編集できません", "xpack.alerting.maintenanceWindows.cancelAndArchiveModal.subtitle": "ルール通知はただちに再開します。すべての実行中と予定されている保守時間枠イベントはキャンセルされ、時間枠は削除用のキューに追加されます。", "xpack.alerting.maintenanceWindows.cancelAndArchiveModal.title": "保守時間枠をキャンセルしてアーカイブ", "xpack.alerting.maintenanceWindows.cancelModal.button": "実行を続ける", "xpack.alerting.maintenanceWindows.cancelModal.subtitle": "ルール通知はただちに再開します。実行中の保守時間枠イベントはキャンセルされます。予定されているイベントは影響を受けません。", "xpack.alerting.maintenanceWindows.cancelModal.title": "保守時間枠をキャンセル", - "xpack.alerting.maintenanceWindows.create.description": "ルール通知が停止し、アラートが保守モードになっている期間または繰り返し期間をスケジュールします。", + "xpack.alerting.maintenanceWindows.create.description": "新しいアラートが通知を送信しない期間を1回限りのスケジュールまたは定期スケジュールとして設定します。", "xpack.alerting.maintenanceWindows.create.maintenanceWindow": "保守時間枠を作成", + "xpack.alerting.maintenanceWindows.createForm.byweekdayFieldRequiredError": "曜日は必須です。", "xpack.alerting.maintenanceWindows.createForm.cancel": "キャンセル", "xpack.alerting.maintenanceWindows.createForm.count.after": "後", "xpack.alerting.maintenanceWindows.createForm.count.occurrence": "発生", @@ -7325,7 +7450,12 @@ "xpack.alerting.maintenanceWindows.emptyPrompt.description": "ルール通知が終了する期間をスケジュールします。", "xpack.alerting.maintenanceWindows.emptyPrompt.documentation": "ドキュメント", "xpack.alerting.maintenanceWindows.emptyPrompt.title": "最初の保守時間枠を作成", + "xpack.alerting.maintenanceWindows.licenseCallout.startTrial": "トライアルを開始", + "xpack.alerting.maintenanceWindows.licenseCallout.updgradeToPlatinumTitle": "保守時間枠はサブスクリプション機能です", + "xpack.alerting.maintenanceWindows.licenseCallout.upgradeSubscription": "サブスクリプションのアップグレード", + "xpack.alerting.maintenanceWindows.licenseCallout.upgradeToPlatinumSubtitle": "ロック解除するには、オプションを選択してください。", "xpack.alerting.maintenanceWindows.name": "名前", + "xpack.alerting.maintenanceWindows.refreshButton": "更新", "xpack.alerting.maintenanceWindows.returnLink": "戻る", "xpack.alerting.maintenanceWindows.save.maintenanceWindow": "保守時間枠を保存", "xpack.alerting.maintenanceWindows.table.alerts": "アラート", @@ -7378,7 +7508,9 @@ "xpack.apm.agentExplorerInstanceTable.agentVersionColumnLabel.multipleVersions": "{versionsCount, plural, other {#個のバージョン}}", "xpack.apm.agentExplorerInstanceTable.noServiceNodeName.tooltip.linkToDocs": "{seeDocs}を使用してサービスノード名を構成できます。", "xpack.apm.agentExplorerTable.agentVersionColumnLabel.multipleVersions": "{versionsCount, plural, other {#個のバージョン}}", + "xpack.apm.alertDetails.latencyAlertHistoryChart.error.toastDescription": "{serviceName}のレイテンシアラート履歴グラフデータを取得するときに、エラーが発生しました。", "xpack.apm.alerts.anomalySeverity.scoreDetailsDescription": "スコア{value}{value, select, critical {} other {以上}}", + "xpack.apm.alerts.timeLabelForData": "データの最後の{lookback}{timeLabel}。{totalGroups}グループのうち{displayedGroups}グループを表示中", "xpack.apm.alertTypes.errorCount.reason": "エラーカウントは{group}の最後の{interval}で{measured}です。> {threshold}のときにアラートを通知します。", "xpack.apm.alertTypes.minimumWindowSize.description": "推奨される最小値は{sizeValue} {sizeUnit}です。これにより、アラートに評価する十分なデータがあることが保証されます。低すぎる値を選択した場合、アラートが想定通りに実行されない可能性があります。", "xpack.apm.alertTypes.transactionDuration.reason": "{group}の{aggregationType}のレイテンシは{measured}で最後の{interval}で測定されます。> {threshold}のときにアラートを通知します。", @@ -7411,7 +7543,34 @@ "xpack.apm.instancesLatencyDistributionChartTooltipInstancesTitle": "{instancesCount} {instancesCount, plural, other {インスタンス}}", "xpack.apm.itemsBadge.placeholder": "{itemsCount, plural, other {#アイテム}}", "xpack.apm.kueryBar.placeholder": "{event, select, transaction {トランザクション} metric {メトリック} error {エラー} other {トランザクション、エラー、およびメトリック}}を検索(例:{queryExample})", + "xpack.apm.onboarding.apiKey.error.calloutMessage": "エラー:{errorMessage}", + "xpack.apm.onboarding.apiKey.warning.calloutMessage": "ユーザーには次の権限がありません - {missingPrivilege}。認証されたユーザーのロールに、不足しているAPMアプリケーション権限を追加してください。", + "xpack.apm.onboarding.config_otel.description1": "(1) OpenTelemetryエージェントとSDKは、{otelExporterOtlpEndpoint}、{otelExporterOtlpHeaders}、{otelResourceAttributes}変数をサポートする必要があります。一部の不安定なコンポーネントは、まだこの要件に準拠していない可能性があります。", + "xpack.apm.onboarding.config_otel.description3": "環境変数、コマンドラインパラメーター、構成コードスニペット(OpenTelemetry仕様に準拠)の網羅的な一覧は、{otelInstrumentationGuide}をご覧ください。一部の不安定なOpenTelemetryクライアントでは、一部の機能がサポートされておらず、別の構成メカニズムが必要になる場合があります。", + "xpack.apm.onboarding.django.configure.textPost": "高度な用途に関しては[ドキュメンテーション]({documentationLink})を参照してください。", + "xpack.apm.onboarding.dotNet.configureAgent.textPost": "エージェントに「IConfiguration」インスタンスが渡されていない場合、(例:非ASP.NET Coreアプリケーションの場合)、エージェントを環境変数で構成することもできます。\n [Profiler Autoインストルメンテーション]({profilerLink})クイックスタートなどの高度な使用方法については、[ドキュメンテーション]({documentationLink})を参照してください。", + "xpack.apm.onboarding.dotNet.download.textPre": "[NuGet]({allNuGetPackagesLink})から.NETアプリケーションにエージェントパッケージを追加してください。用途の異なる複数のNuGetパッケージがあります。\n\nEntity Framework CoreのASP.NET Coreアプリケーションの場合は、[Elastic.Apm.NetCoreAll]({netCoreAllApmPackageLink})パッケージをダウンロードしてください。このパッケージは、自動的にすべてのエージェントコンポーネントをアプリケーションに追加します。\n\n 依存性を最低限に抑えたい場合、ASP.NET Coreの監視のみに[Elastic.Apm.AspNetCore]({aspNetCorePackageLink})パッケージ、またはEntity Framework Coreの監視のみに[Elastic.Apm.EfCore]({efCorePackageLink})パッケージを使用することができます。\n\n 手動インストルメンテーションのみにパブリックAgent APIを使用する場合は、[Elastic.Apm]({elasticApmPackageLink})パッケージを使用してください。", + "xpack.apm.onboarding.flask.configure.textPost": "高度な用途に関しては[ドキュメンテーション]({documentationLink})を参照してください。", + "xpack.apm.onboarding.go.configure.textPost": "高度な構成に関しては[ドキュメンテーション]({documentationLink})を参照してください。", + "xpack.apm.onboarding.go.instrument.textPost": "Goのソースコードのインストルメンテーションの詳細ガイドは、[ドキュメンテーション]({documentationLink})をご参照ください。", + "xpack.apm.onboarding.java.download.textPre": "[Maven Central]({mavenCentralLink})からエージェントジャーをダウンロードします。 アプリケーションにエージェントを依存関係として「追加しない」でください。", + "xpack.apm.onboarding.java.startApplication.textPost": "構成オプションと高度な用途に関しては、[ドキュメンテーション]({documentationLink})をご覧ください。", + "xpack.apm.onboarding.java.startApplication.textPre": "「-javaagent」フラグを追加し、システムプロパティを使用してエージェントを構成します。\n\n * 任意のサービス名を設定します(使用可能な文字はa-z、A-Z、0-9、-、_、スペースです)\n * カスタム APM Server URLを設定(デフォルト:{customApmServerUrl})\n * APM Serverシークレットトークンを設定します\n * サービス環境を設定します\n * アプリケーションのベースパッケージを設定します", + "xpack.apm.onboarding.node.configure.textPost": "[Babel/ESモジュール]({babelEsModulesLink})との使用を含む高度な用途に関しては、[ドキュメンテーション]({documentationLink})をご覧ください。", + "xpack.apm.onboarding.otel.configureAgent.textPost": "構成オプションと高度な用途に関しては、[ドキュメンテーション]({documentationLink})をご覧ください。\n\n", + "xpack.apm.onboarding.otel.configureAgent.textPre": "アプリケーションの起動の一部として、次のOpenTelemetryを指定します。OpenTelemetry SDKでは、これらの構成設定のほかに、一部のブートストラップコードが必要です。詳細については、[Elastic OpenTelemetryドキュメンテーション]({openTelemetryDocumentationLink})および[OpenTelemetryコミュニティインストルメンテーションガイド]({openTelemetryInstrumentationLink})をご覧ください。", + "xpack.apm.onboarding.otel.download.textPre": "ご使用の言語のOpenTelemetryエージェントまたはSDKをダウンロードするには、[OpenTelemetry Instrumentation guides]({openTelemetryInstrumentationLink})をご覧ください。", + "xpack.apm.onboarding.php.configureAgent.textPost": "構成オプションと高度な用途に関しては、[ドキュメンテーション]({documentationLink})をご覧ください。\n\n", + "xpack.apm.onboarding.php.download.textPre": "[GitHubリリース]({githubReleasesLink})からプラットフォームに対応するパッケージをダウンロードします。", + "xpack.apm.onboarding.php.installPackage.textPost": "他のサポートされているプラットフォームでのインストールコマンドおよび高度なインストールについては、[ドキュメンテーション]({documentationLink})を参照してください。", + "xpack.apm.onboarding.rack.configure.textPost": "構成オプションと高度な用途に関しては、[ドキュメンテーション]({documentationLink})をご覧ください。\n\n", + "xpack.apm.onboarding.rack.createConfig.textPre": "構成ファイル{configFile}を作成:", + "xpack.apm.onboarding.rails.configure.textPost": "構成オプションと高度な用途に関しては、[ドキュメンテーション]({documentationLink})をご覧ください。\n\n", + "xpack.apm.onboarding.rails.configure.textPre": "APMはアプリの起動時に自動的に起動します。構成ファイル{configFile}を作成してエージェントを構成", + "xpack.apm.onboarding.shared_clients.configure.commands.serverUrlHint": "カスタムAPM Server URL(デフォルト:{defaultApmServerUrl})を設定URLはプロトコル(httpまたはhttps)とポートを含む完全修飾URLでなければなりません。", + "xpack.apm.onboarding.specProvider.longDescription": "アプリケーションパフォーマンスモニタリング(APM)は、アプリケーション内から詳細なパフォーマンスメトリックやエラーを収集します。何千ものアプリケーションのパフォーマンスをリアルタイムで監視できます。[詳細]({learnMoreLink})。", "xpack.apm.propertiesTable.agentFeature.noResultFound": "\"{value}\"の結果が見つかりませんでした。", + "xpack.apm.runtimeMetricsJsonDashboards.loadFailure.toast.title": "ランタイム\"{runtimeName}\"でエージェント\"{agentName}\"のダッシュボードを読み込むときにエラーが発生しました。", "xpack.apm.serverlessMetrics.summary.lambdaFunctions": "Lambda {serverlessFunctionsTotal, plural, other {関数}}", "xpack.apm.serviceGroups.cardsList.alertCount": "{alertsCount} {alertsCount, plural, other {アラート}}", "xpack.apm.serviceGroups.cardsList.serviceCount": "{servicesCount} {servicesCount, plural, other {サービス}}", @@ -7461,6 +7620,7 @@ "xpack.apm.spanLinks.combo.parentsLinks": "送信リンク({linkedParents})", "xpack.apm.stacktraceTab.libraryFramesToogleButtonLabel": "{count, plural, other {#個のライブラリフレーム}}", "xpack.apm.storageExplorer.longLoadingTimeCalloutText": "{kibanaAdvancedSettingsLink}のサービスリストに対して、データのプログレッシブ読み込みと最適化されたソートを有効化します。", + "xpack.apm.tooltip.maxGroup.message": "収集されているAPMデータのカーディナリティが高すぎます。この状況を軽減するには、{apmServerDocs}を確認してください。", "xpack.apm.transactionDetails.errorCount": "{errorCount, number} {errorCount, plural, other {エラー}}", "xpack.apm.transactionDetails.transFlyout.callout.agentDroppedSpansMessage": "このトランザクションを報告したAPMエージェントが、構成に基づき{dropped}個以上のスパンをドロップしました。", "xpack.apm.transactionOverview.treemap.subtitle": "合計と最も使用されている{currentTreemap}を示すツリーマップ", @@ -7601,6 +7761,8 @@ "xpack.apm.agentConfig.servicePage.service.fieldLabel": "サービス名", "xpack.apm.agentConfig.servicePage.service.placeholder": "オプションを選択", "xpack.apm.agentConfig.servicePage.service.title": "サービス", + "xpack.apm.agentConfig.sessionSampleRate.description": "デフォルトでは、エージェントはアプリケーションによって生成されたすべてのシグナル(スパン、メトリック、ログなど)をサンプリングします。オーバーヘッドやストレージ要件を減らすには、サンプルレートの値を0.0〜1.0に設定します。1.0より小さくすると、データはセッションごとにサンプリングされます。これは、あるセッションのコンテキストが失われないようにするためです。", + "xpack.apm.agentConfig.sessionSampleRate.label": "セッションサンプルレート", "xpack.apm.agentConfig.settingsPage.notFound.message": "リクエストされた構成が存在しません", "xpack.apm.agentConfig.settingsPage.notFound.title": "申し訳ございません、エラーが発生しました", "xpack.apm.agentConfig.settingsPage.saveButton": "構成を保存", @@ -7705,13 +7867,16 @@ "xpack.apm.agentMetrics.serverless.transactionDuration": "トランザクション時間", "xpack.apm.aggregatedTransactions.fallback.badge": "サンプリングされたトランザクションに基づく", "xpack.apm.aggregatedTransactions.fallback.tooltip": "メトリックイベントが現在の時間範囲にないか、メトリックイベントドキュメントにないフィールドに基づいてフィルターが適用されたため、このページはトランザクションイベントデータを使用しています。", + "xpack.apm.alertDetails.error.toastDescription": "アラート詳細ページのグラフを読み込めません。アラートが新しく作成された場合は、ページを更新してください", + "xpack.apm.alertDetails.error.toastTitle": "アラート時間範囲を特定するときにエラーが発生しました。", + "xpack.apm.alertDetails.latencyAlertHistoryChart.error.toastTitle": "レイテンシアラート履歴グラフエラー", "xpack.apm.alerting.fields.environment": "環境", "xpack.apm.alerting.fields.error.group.id": "エラーグループキー", "xpack.apm.alerting.fields.service": "サービス", "xpack.apm.alerting.fields.transaction.name": "名前", "xpack.apm.alerting.fields.type": "型", "xpack.apm.alerting.transaction.name.custom.text": "新しいトランザクション名として\\{searchValue\\}を追加", - "xpack.apm.alerts.action_variables.alertDetailsUrl": "このアラートに関連する詳細とコンテキストを示すElastic内のビューへのリンク", + "xpack.apm.alerts.action_variables.alertDetailsUrl": "アラートトラブルシューティングビューにリンクして、さらに詳しい状況や詳細を確認できます。server.publicBaseUrlが構成されていない場合は、空の文字列になります。", "xpack.apm.alerts.action_variables.environment": "アラートが作成されるトランザクションタイプ", "xpack.apm.alerts.action_variables.errorGroupingKey": "アラートが作成されるエラーグループキー", "xpack.apm.alerts.action_variables.intervalSize": "アラート条件が満たされた期間の長さと単位", @@ -7721,18 +7886,28 @@ "xpack.apm.alerts.action_variables.transactionName": "アラートが作成されるトランザクション名", "xpack.apm.alerts.action_variables.transactionType": "アラートが作成されるトランザクションタイプ", "xpack.apm.alerts.action_variables.triggerValue": "しきい値に達し、アラートをトリガーした値", - "xpack.apm.alerts.action_variables.viewInAppUrl": "アラートとコンテキストを調査するために使用できる、Elastic内のビューまたは機能へのリンク", + "xpack.apm.alerts.action_variables.viewInAppUrl": "アラートソースにリンク", "xpack.apm.alerts.anomalySeverity.criticalLabel": "致命的", "xpack.apm.alerts.anomalySeverity.majorLabel": "メジャー", "xpack.apm.alerts.anomalySeverity.minor": "マイナー", "xpack.apm.alerts.anomalySeverity.warningLabel": "警告", + "xpack.apm.alerts.charts.errorMessage": "問題が発生しました", + "xpack.apm.alerts.charts.noDataMessage": "グラフデータがありません", + "xpack.apm.alerts.timeLabels.days": "日", + "xpack.apm.alerts.timeLabels.hours": "時間", + "xpack.apm.alerts.timeLabels.minutes": "分", + "xpack.apm.alerts.timeLabels.seconds": "秒", "xpack.apm.alertTypes.anomaly.description": "サービスのレイテンシ、スループット、失敗したトランザクションの比率が異常であるときにアラートを発行します。", - "xpack.apm.alertTypes.errorCount.defaultActionMessage": "次の条件のため、\\{\\{alertName\\}\\}アラートが実行されています。\n\n- サービス名:\\{\\{context.serviceName\\}\\}\n- 環境:\\{\\{context.environment\\}\\}\n- しきい値:\\{\\{context.threshold\\}\\}\n- トリガーされた値:過去\\{\\{context.interval\\}\\}に\\{\\{context.triggerValue\\}\\}件のエラー", + "xpack.apm.alertTypes.errorCount.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\}は次の条件でアクティブです。\n\n- サービス名:\\{\\{context.serviceName\\}\\}\n- 環境:\\{\\{context.environment\\}\\}\n- エラー件数:\\{\\{context.interval\\}\\}に\\{\\{context.triggerValue\\}\\}件のエラー\n- しきい値:\\{\\{context.threshold\\}\\}\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.apm.alertTypes.errorCount.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\}が回復しました。\n\n- サービス名:\\{\\{context.serviceName\\}\\}\n- 環境:\\{\\{context.environment\\}\\}\n- エラー件数:\\{\\{context.interval\\}\\}に\\{\\{context.triggerValue\\}\\}件のエラー\n- しきい値:\\{\\{context.threshold\\}\\}\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.apm.alertTypes.errorCount.description": "サービスのエラー数が定義されたしきい値を超過したときにアラートを発行します。", - "xpack.apm.alertTypes.transactionDuration.defaultActionMessage": "次の条件のため、\\{\\{alertName\\}\\}アラートが実行されています。\n\n- サービス名:\\{\\{context.serviceName\\}\\}\n- トランザクションタイプ:\\{\\{context.transactionType\\}\\}\n- トランザクション名:\\{\\{context.transactionName\\}\\}\n- 環境:\\{\\{context.environment\\}\\}\n- レイテンシしきい値:\\{\\{context.threshold\\}\\}ミリ秒\n- 観察されたレイテンシ:直前の\\{\\{context.interval\\}\\}に\\{\\{context.triggerValue\\}\\}", + "xpack.apm.alertTypes.transactionDuration.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\}は次の条件でアクティブです。\n\n- サービス名:\\{\\{context.serviceName\\}\\}\n- トランザクションタイプ:\\{\\{context.transactionType\\}\\}\n- トランザクション名:\\{\\{context.transactionName\\}\\}\n- 環境:\\{\\{context.environment\\}\\}\n- レイテンシ:直前の\\{\\{context.interval\\}\\}に\\{\\{context.triggerValue\\}\\}\n- しきい値:\\{\\{context.threshold\\}\\}ミリ秒\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.apm.alertTypes.transactionDuration.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\}が回復しました。\n\n- サービス名:\\{\\{context.serviceName\\}\\}\n- トランザクションタイプ:\\{\\{context.transactionType\\}\\}\n- トランザクション名:\\{\\{context.transactionName\\}\\}\n- 環境:\\{\\{context.environment\\}\\}\n- レイテンシ:直前の\\{\\{context.interval\\}\\}に\\{\\{context.triggerValue\\}\\}\n- しきい値:\\{\\{context.threshold\\}\\}ミリ秒\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.apm.alertTypes.transactionDuration.description": "サービスの特定のトランザクションタイプのレイテンシが定義されたしきい値を超えたときにアラートを発行します。", - "xpack.apm.alertTypes.transactionDurationAnomaly.defaultActionMessage": "次の条件のため、\\{\\{alertName\\}\\}アラートが実行されています。\n\n- サービス名:\\{\\{context.serviceName\\}\\}\n- タイプ:\\{\\{context.transactionType\\}\\}\n- 環境:\\{\\{context.environment\\}\\}\n- 重要度しきい値:\\{\\{context.threshold\\}\\}%\n- 重要度値:\\{\\{context.triggerValue\\}\\}\n", - "xpack.apm.alertTypes.transactionErrorRate.defaultActionMessage": "次の条件のため、\\{\\{alertName\\}\\}アラートが実行されています。\n\n- サービス名:\\{\\{context.serviceName\\}\\}\n- タイプ:\\{\\{context.transactionType\\}\\}\n- 環境:\\{\\{context.environment\\}\\}\n- しきい値:\\{\\{context.threshold\\}\\}%\n- トリガーされた値:過去\\{\\{context.interval\\}\\}にエラーの\\{\\{context.triggerValue\\}\\}%", + "xpack.apm.alertTypes.transactionDurationAnomaly.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\}は次の条件でアクティブです。\n\n- サービス名:\\{\\{context.serviceName\\}\\}\n- トランザクションタイプ:\\{\\{context.transactionType\\}\\}\n- 環境:\\{\\{context.environment\\}\\}\n- Severity: \\{\\{context.triggerValue\\}\\}\n- しきい値:\\{\\{context.threshold\\}\\}\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.apm.alertTypes.transactionDurationAnomaly.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\}が回復しました。\n\n- サービス名:\\{\\{context.serviceName\\}\\}\n- トランザクションタイプ:\\{\\{context.transactionType\\}\\}\n- 環境:\\{\\{context.environment\\}\\}\n- Severity: \\{\\{context.triggerValue\\}\\}\n- しきい値:\\{\\{context.threshold\\}\\}\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.apm.alertTypes.transactionErrorRate.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\}は次の条件でアクティブです。\n\n- サービス名:\\{\\{context.serviceName\\}\\}\n- トランザクションタイプ:\\{\\{context.transactionType\\}\\}\n- 環境:\\{\\{context.environment\\}\\}\n- 失敗したトランザクションレート:\\{\\{context.interval\\}\\}にエラーの\\{\\{context.triggerValue\\}\\}%\n- しきい値:\\{\\{context.threshold\\}\\}%\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.apm.alertTypes.transactionErrorRate.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\}が回復しました。\n\n- サービス名:\\{\\{context.serviceName\\}\\}\n- トランザクションタイプ:\\{\\{context.transactionType\\}\\}\n- 環境:\\{\\{context.environment\\}\\}\n- 失敗したトランザクションレート:\\{\\{context.interval\\}\\}にエラーの\\{\\{context.triggerValue\\}\\}%\n- しきい値:\\{\\{context.threshold\\}\\}%\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.apm.alertTypes.transactionErrorRate.description": "サービスのトランザクションエラー率が定義されたしきい値を超過したときにアラートを発行します。", "xpack.apm.analyzeDataButton.label": "データの探索", "xpack.apm.analyzeDataButton.tooltip": "データの探索では、任意のディメンションの結果データを選択してフィルタリングし、パフォーマンスの問題の原因または影響を調査することができます。", @@ -7881,6 +8056,12 @@ "xpack.apm.deprecations.steps.schema": "[スキーマ]タブを選択します", "xpack.apm.deprecations.steps.settings": "[設定]をクリックします", "xpack.apm.deprecations.steps.switch": "[Elasticエージェントに切り替える]をクリックします。手順が案内されます。", + "xpack.apm.diagnostics.tab.datastreams": "データストリーム", + "xpack.apm.diagnostics.tab.import_export": "インポート/エクスポート", + "xpack.apm.diagnostics.tab.index_pattern_settings": "インデックスパターン設定", + "xpack.apm.diagnostics.tab.index_templates": "インデックステンプレート", + "xpack.apm.diagnostics.tab.indices": "インデックス", + "xpack.apm.diagnostics.tab.summary": "まとめ", "xpack.apm.durationDistribution.chart.currentEventMarkerLabel": "現在のサンプル", "xpack.apm.durationDistribution.chart.latencyLabel": "レイテンシ", "xpack.apm.durationDistribution.chart.numberOfSpansLabel": "スパン", @@ -7900,6 +8081,7 @@ "xpack.apm.errorGroup.tabs.exceptionStacktraceLabel": "例外のスタックトレース", "xpack.apm.errorGroup.tabs.logStacktraceLabel": "スタックトレース", "xpack.apm.errorGroup.tabs.metadataLabel": "メタデータ", + "xpack.apm.errorGroupCoPilotPrompt.explainErrorTitle": "このエラーの概要", "xpack.apm.errorGroupDetails.culpritLabel": "原因", "xpack.apm.errorGroupDetails.exceptionMessageLabel": "例外メッセージ", "xpack.apm.errorGroupDetails.logMessageLabel": "ログメッセージ", @@ -7917,6 +8099,7 @@ "xpack.apm.errorRate.chart.errorRate": "失敗したトランザクション率(平均)", "xpack.apm.errorRate.tip": "選択したサービスの失敗したトランザクションの割合。4xxステータスコード(クライアントエラー)のHTTPサーバートランザクションは、サーバーではなく呼び出し側が失敗の原因であるため、失敗と見なされません。", "xpack.apm.errorSampleDetails.errorOccurrenceTitle": "エラーサンプル", + "xpack.apm.errorSampleDetails.investigateMenu": "調査", "xpack.apm.errorSampleDetails.relatedTransactionSample": "関連トランザクションサンプル", "xpack.apm.errorSampleDetails.sampleNotFound": "選択したエラーが見つかりません", "xpack.apm.errorSampleDetails.serviceEnvironment": "環境", @@ -8105,6 +8288,7 @@ "xpack.apm.home.serviceLogsTabLabel": "ログ", "xpack.apm.home.serviceMapTabLabel": "サービスマップ", "xpack.apm.home.servicesTable.tooltip.activeAlertsExplanation": "アクティブアラート", + "xpack.apm.home.transactionsTableColumnName.tooltip.activeAlertsExplanation": "アクティブアラート", "xpack.apm.infraTabs.emptyMessageIllustrationAlternativeText": "感嘆符が付いた虫眼鏡", "xpack.apm.infraTabs.emptyMessagePromptDescription": "期間を長くして検索を試してください。", "xpack.apm.infraTabs.emptyMessagePromptTimeRangeTitle": "時間範囲を拡大", @@ -8135,6 +8319,7 @@ "xpack.apm.labs": "ラボ", "xpack.apm.labs.cancel": "キャンセル", "xpack.apm.labs.description": "現在テクニカルプレビュー中のAPM機能をお試しください。", + "xpack.apm.labs.feedbackButtonLabel": "ご意見をお聞かせください。", "xpack.apm.labs.reload": "変更を適用するには、再読み込みしてください", "xpack.apm.latencyChartHistory.alertsTriggered": "アラートがトリガーされました", "xpack.apm.latencyChartHistory.avgTimeToRecover": "回復までの平均時間", @@ -8204,6 +8389,85 @@ "xpack.apm.noDataConfig.addDataButtonLabel": "データの追加", "xpack.apm.noDataConfig.solutionName": "Observability", "xpack.apm.notAvailableLabel": "N/A", + "xpack.apm.onboarding.agent.column.configSettings": "構成設定", + "xpack.apm.onboarding.agent.column.configValue": "構成名", + "xpack.apm.onboarding.agentStatus.check": "エージェントステータスを確認", + "xpack.apm.onboarding.agentStatus.success.calloutMessage": "1 つまたは複数のエージェントからデータを受け取りました", + "xpack.apm.onboarding.agentStatus.warning.calloutMessage": "エージェントからまだデータを受け取っていません", + "xpack.apm.onboarding.agentStatusCheck.textPre": "アプリケーションが実行されていてエージェントがデータを送信していることを確認してください。", + "xpack.apm.onboarding.agentStatusCheck.title": "エージェントステータス", + "xpack.apm.onboarding.apiKey.create": "APIキーを作成", + "xpack.apm.onboarding.apiKey.error.calloutTitle": "APIキーを作成できませんでした", + "xpack.apm.onboarding.apiKey.success.calloutMessage": "必ずこの情報を安全な場所に保管してください。続行すると、表示されなくなります。", + "xpack.apm.onboarding.apiKey.success.calloutTitle": "APIキーが作成されました", + "xpack.apm.onboarding.apiKey.warning.calloutTitle": "ユーザーにはAPIキーを作成する権限がありません", + "xpack.apm.onboarding.appName": "APM", + "xpack.apm.onboarding.betaLabel": "ベータ", + "xpack.apm.onboarding.config_otel.column.configSettings": "構成設定 (1)", + "xpack.apm.onboarding.config_otel.column.configValue": "構成名", + "xpack.apm.onboarding.config_otel.column.notes": "メモ", + "xpack.apm.onboarding.config_otel.description2": "'OTEL_METRICS_EXPORTER`および'OTEL_LOGS_EXPORTER'環境変数は、一部のSDKでサポートされていない場合があります。", + "xpack.apm.onboarding.config_otel.instrumentationGuide": "OpenTelemetry Instrumentationガイド", + "xpack.apm.onboarding.django.configure.textPre": "エージェントとは、アプリケーションプロセス内で実行されるライブラリです。APM サービスは「SERVICE_NAME」に基づいてプログラムで作成されます。", + "xpack.apm.onboarding.django.configure.title": "エージェントの構成", + "xpack.apm.onboarding.django.install.textPre": "Python 用の APM エージェントを依存関係としてインストールします。", + "xpack.apm.onboarding.django.install.title": "APM エージェントのインストール", + "xpack.apm.onboarding.djangoClient.configure.commands.addAgentComment": "インストールされたアプリにエージェントを追加します", + "xpack.apm.onboarding.djangoClient.configure.commands.addTracingMiddlewareComment": "パフォーマンスメトリックを送信するには、追跡ミドルウェアを追加します", + "xpack.apm.onboarding.dotNet.configureAgent.title": "appsettings.json ファイルの例:", + "xpack.apm.onboarding.dotNet.configureApplication.textPost": "「IConfiguration」インスタンスを渡すのは任意であり、これにより、エージェントはこの「IConfiguration」インスタンス(例:「appsettings.json」ファイル)から構成を読み込みます。", + "xpack.apm.onboarding.dotNet.configureApplication.textPre": "「Elastic.Apm.NetCoreAll」パッケージの ASP.NET Core の場合、「Startup.cs」ファイル内の「Configure」メソドの「UseElasticApm」メソドを呼び出します。", + "xpack.apm.onboarding.dotNet.configureApplication.title": "エージェントをアプリケーションに追加", + "xpack.apm.onboarding.dotNet.download.title": "APM エージェントのダウンロード", + "xpack.apm.onboarding.dotnetClient.createConfig.commands.defaultServiceName": "デフォルトはアプリケーションのエントリアセンブリです。", + "xpack.apm.onboarding.flask.configure.textPre": "エージェントとは、アプリケーションプロセス内で実行されるライブラリです。APM サービスは「SERVICE_NAME」に基づいてプログラムで作成されます。", + "xpack.apm.onboarding.flask.configure.title": "エージェントの構成", + "xpack.apm.onboarding.flask.install.textPre": "Python 用の APM エージェントを依存関係としてインストールします。", + "xpack.apm.onboarding.flask.install.title": "APM エージェントのインストール", + "xpack.apm.onboarding.flaskClient.configure.commands.configureElasticApmComment": "あるいは、アプリケーションの設定でELASTIC_APMを使用します。", + "xpack.apm.onboarding.flaskClient.configure.commands.initializeUsingEnvironmentVariablesComment": "環境変数を使用して初期化", + "xpack.apm.onboarding.footer.cta": "APM を起動", + "xpack.apm.onboarding.footer.exploreYourDataDescription": "すべてのステップを終えたら、データ閲覧準備の完了です。", + "xpack.apm.onboarding.go.configure.textPre": "エージェントとは、アプリケーションプロセス内で実行されるライブラリです。APM サービスは実行ファイル名または「ELASTIC_APM_SERVICE_NAME」環境変数に基づいてプログラムで作成されます。", + "xpack.apm.onboarding.go.configure.title": "エージェントの構成", + "xpack.apm.onboarding.go.goClient.title": "アプリケーションのインストルメンテーション", + "xpack.apm.onboarding.go.install.textPre": "Go の APM エージェントパッケージをインストールします。", + "xpack.apm.onboarding.go.install.title": "APM エージェントのインストール", + "xpack.apm.onboarding.go.instrument.textPre": "提供されたインストルメンテーションモジュールの 1 つ、またはトレーサー API を直接使用して、Go アプリケーションにインストルメンテーションを設定します。", + "xpack.apm.onboarding.goClient.configure.commands.initializeUsingEnvironmentVariablesComment": "環境変数を使用して初期化します:", + "xpack.apm.onboarding.goClient.configure.commands.usedExecutableNameComment": "指定されていない場合は、実行ファイルの名前が使用されます。", + "xpack.apm.onboarding.introduction.imageAltDescription": "プライマリダッシュボードのスクリーンショット。", + "xpack.apm.onboarding.java.download.title": "APM エージェントのダウンロード", + "xpack.apm.onboarding.java.startApplication.title": "javaagent フラグでアプリケーションを起動", + "xpack.apm.onboarding.node.configure.textPre": "エージェントとは、アプリケーションプロセス内で実行されるライブラリです。 APMサービスは「serviceName」に基づいてプログラムで作成されます。 このエージェントはさまざまなフレームワークをサポートしていますが、カスタムスタックで使用することもできます。", + "xpack.apm.onboarding.node.configure.title": "エージェントの構成", + "xpack.apm.onboarding.node.install.textPre": "Node.js 用の APM エージェントをアプリケーションに依存関係としてインストール。", + "xpack.apm.onboarding.node.install.title": "APM エージェントのインストール", + "xpack.apm.onboarding.nodeClient.configure.commands.addThisToTheFileTopComment": "アプリに読み込んだファイルの最上位にこれを追加します", + "xpack.apm.onboarding.nodeClient.createConfig.commands.serviceName": "package.jsonでサービス名を上書きします、", + "xpack.apm.onboarding.otel.configureAgent.title": "アプリケーションでOpenTelemetryを構成", + "xpack.apm.onboarding.otel.download.title": "OpenTelemetry APMエージェントまたはSDKをダウンロード", + "xpack.apm.onboarding.php.Configure the agent.textPre": "APM はアプリの起動時に自動的に起動します。「php.ini」ファイルを使用してエージェントを構成:", + "xpack.apm.onboarding.php.configureAgent.title": "エージェントの構成", + "xpack.apm.onboarding.php.download.title": "APM エージェントのダウンロード", + "xpack.apm.onboarding.php.installPackage.textPre": "Alpine LinuxでAPKパッケージを使用する例:", + "xpack.apm.onboarding.php.installPackage.title": "ダウンロードしたパッケージをインストールする", + "xpack.apm.onboarding.rack.configure.commands.optionalComment": "オプション、デフォルトで config/elastic_apm.yml になります", + "xpack.apm.onboarding.rack.configure.commands.requiredComment": "必須", + "xpack.apm.onboarding.rack.configure.textPre": "Rack または対応フレームワーク(Sinatra など)の場合は、アプリのミドルウェアを含めてエージェントを起動してください。", + "xpack.apm.onboarding.rack.configure.title": "エージェントの構成", + "xpack.apm.onboarding.rack.createConfig.title": "構成ファイルの作成", + "xpack.apm.onboarding.rack.install.textPre": "Gemfile にエージェントを追加します。", + "xpack.apm.onboarding.rack.install.title": "APM エージェントのインストール", + "xpack.apm.onboarding.rackClient.createConfig.commands.defaultsToTheNameOfRackAppClassComment": "デフォルトで Rack アプリのクラスになります。", + "xpack.apm.onboarding.rails.configure.title": "エージェントの構成", + "xpack.apm.onboarding.rails.install.textPre": "Gemfile にエージェントを追加します。", + "xpack.apm.onboarding.rails.install.title": "APM エージェントのインストール", + "xpack.apm.onboarding.railsClient.createConfig.commands.defaultServiceName": "デフォルトはRailsアプリの名前です。", + "xpack.apm.onboarding.shared_clients.configure.commands.apiKeyHint": "APMサーバーでAPIキーが必要な場合に使います。自分のエージェントのみがAPMサーバーにデータを送信できることを保証するために使用されます。エージェントはシークレットトークンの代わりにAPIキーを使うことができ、APMサーバーは複数のAPIキーを持つことができます。シークレットトークンとAPIキーの両方を使用する場合、APIキーが優先され、シークレットトークンは無視されます。", + "xpack.apm.onboarding.shared_clients.configure.commands.secretTokenHint": "APM Serverでシークレットトークンが必要な場合に使います。エージェントとAPM Serverの両方を同じトークンで構成する必要があります。これにより、自分のエージェントのみがAPMサーバーにデータを送信できることが保証されます。", + "xpack.apm.onboarding.shared_clients.configure.commands.serviceEnvironmentHint": "このサービスがデプロイされている環境の名前(例:「本番」、「ステージング」)。環境では、APM UIでグローバルレベルで簡単にデータをフィルタリングできます。すべてのエージェントで環境の命名方法を統一することが重要です。", + "xpack.apm.onboarding.shared_clients.configure.commands.serviceNameHint": "このサービス名はAPM UIの主フィルターであり、エラーとトレースデータをグループ化するために使用されます。使用できる文字はA-Z、0-9、-、_、スペースです。", "xpack.apm.pages.alertDetails.alertSummary.actualValue": "実際の値", "xpack.apm.pages.alertDetails.alertSummary.expectedValue": "想定された値", "xpack.apm.pages.alertDetails.alertSummary.serviceEnv": "サービス環境", @@ -8618,6 +8882,10 @@ "xpack.apm.settings.unsupportedConfigs.errorToast.title": "APMサーバー設定を取り込めません", "xpack.apm.settingsLinkLabel": "設定", "xpack.apm.setupInstructionsButtonLabel": "セットアップの手順", + "xpack.apm.slo.callout.createButton": "SLOの作成", + "xpack.apm.slo.callout.description": "サービスがダウンした場合、どの程度に迅速に対応しますか?SLOで高いパフォーマンス、スピード、ユーザーエクスペリエンスを維持", + "xpack.apm.slo.callout.dimissButton": "これを非表示", + "xpack.apm.slo.callout.title": "SLOで迅速に対応", "xpack.apm.spanLinks.callout.description": "リンクは、同じトレースまたは別のトレースにおける、現在のスパンから別のスパンへのポインターです。たとえば、1つのバッチハンドラーが別のトレースからの複数の要求を処理する場合や、ハンドラーが別のプロジェクトからの要求を受信するときに、バッチ処理で使用できます。", "xpack.apm.spanLinks.callout.dimissButton": "閉じる", "xpack.apm.spanLinks.callout.title": "スパンリンク", @@ -8635,6 +8903,7 @@ "xpack.apm.storageExplorer.callout.dimissButton": "閉じる", "xpack.apm.storageExplorer.crossClusterSearchCalloutText": "ドキュメント数の取得はクラスター横断検索で動作しますが、サイズなどのインデックス統計情報は、このクラスターに保存されたデータでのみ表示されます。", "xpack.apm.storageExplorer.crossClusterSearchCalloutTitle": "クラスター全体で検索しますか?", + "xpack.apm.storageExplorer.downloadReport": "レポートをダウンロード", "xpack.apm.storageExplorer.indexLifecyclePhase.all.description": "すべてのライフサイクルフェーズでデータを検索します。", "xpack.apm.storageExplorer.indexLifecyclePhase.all.label": "すべて", "xpack.apm.storageExplorer.indexLifecyclePhase.cold.description": "このティアでは検索可能ですが、一般的に、このティアは、検索速度よりもストレージコストを下げるために最適化されています。", @@ -8684,13 +8953,15 @@ "xpack.apm.storageExplorer.sizeLabel.description": "サービスごとの推定ストレージサイズ。この推定には、主およびレプリカシャードが含まれ、サービスのドキュメント数を合計ドキュメント数で除算した値でインデックスの合計サイズを按分することによって計算されます。", "xpack.apm.storageExplorer.sizeLabel.title": "サイズ", "xpack.apm.storageExplorer.summary.dailyDataGeneration": "日次データ生成", - "xpack.apm.storageExplorer.summary.diskSpaceUsedPct": "使用済みディスク容量", + "xpack.apm.storageExplorer.summary.deltaInSize": "APMサイズの差分", + "xpack.apm.storageExplorer.summary.deltaInSize.tooltip": "選択したフィルターに基づく、APMインデックスで使用されている推定ストレージサイズ。", + "xpack.apm.storageExplorer.summary.diskSpaceUsedPct": "相対使用済みディスク容量", "xpack.apm.storageExplorer.summary.diskSpaceUsedPct.tooltip": "現在Elasticsearch用に構成されている最大ストレージ容量と比較した、現在すべてのAPMインデックスで使用されているストレージ容量の割合。", "xpack.apm.storageExplorer.summary.indexManagementLink": "インデックス管理に移動", "xpack.apm.storageExplorer.summary.numberOfServices": "サービスの数", "xpack.apm.storageExplorer.summary.serviceInventoryLink": "サービスインベントリに移動", "xpack.apm.storageExplorer.summary.totalSize": "合計APMサイズ", - "xpack.apm.storageExplorer.summary.totalSize.tooltip": "現在のすべてのAPMインデックスの合計ストレージサイズ。すべてのフィルターが無視されます。", + "xpack.apm.storageExplorer.summary.totalSize.tooltip": "フィルター設定を無視した、レプリカを含むすべてのAPMインデックスの合計ストレージサイズ。", "xpack.apm.storageExplorer.summary.tracesPerMinute": "1 分あたりのトレース", "xpack.apm.storageExplorer.table.caption": "ストレージエクスプローラー", "xpack.apm.storageExplorer.table.collapse": "縮小", @@ -8701,7 +8972,7 @@ "xpack.apm.storageExplorer.table.loading": "読み込み中...", "xpack.apm.storageExplorer.table.noResults": "データが見つかりません", "xpack.apm.storageExplorer.table.samplingColumnDescription": "合計スループットで除算された、抽出されたトランザクションの数。この値は、ヘッドベースのサンプリングを使用するときの初期サービスの決定、またはテイルベースのサンプリングを使用するときのポリシー群によって影響を受ける可能性があるため、構成されたトランザクションサンプルレートとは異なる場合があります。", - "xpack.apm.storageExplorer.table.samplingColumnName": "サンプルレート", + "xpack.apm.storageExplorer.table.samplingColumnName": "サンプリングレート", "xpack.apm.storageExplorer.table.serviceColumnName": "サービス", "xpack.apm.technicalPreviewBadgeDescription": "この機能はテクニカルプレビュー中であり、将来のリリースでは変更されたり完全に削除されたりする場合があります。Elasticは最善の努力を講じてすべての問題の修正に努めますが、テクニカルプレビュー中の機能には正式なGA機能のサポートSLAが適用されません。", "xpack.apm.technicalPreviewBadgeLabel": "テクニカルプレビュー", @@ -8711,6 +8982,7 @@ "xpack.apm.timeseries.endzone": "選択された時間範囲にはこのバケット全体は含まれていません。一部データが含まれている可能性があります。", "xpack.apm.toggleHeight.showLessButtonLabel": "表示する行数を減らす", "xpack.apm.toggleHeight.showMoreButtonLabel": "表示する行数を増やす", + "xpack.apm.tooltip.link.apmServerDocs": "ドキュメント", "xpack.apm.traceExplorer.appName": "APM", "xpack.apm.traceExplorer.criticalPathTab": "集約されたクリティカルパス", "xpack.apm.traceExplorer.waterfallTab": "ウォーターフォール", @@ -8829,6 +9101,7 @@ "xpack.apm.transactionsTable.loading": "読み込み中...", "xpack.apm.transactionsTable.noResults": "トランザクションが見つかりません", "xpack.apm.transactionsTable.title": "トランザクション", + "xpack.apm.transactionsTableColumnName.alertsColumnLabel": "アクティブアラート", "xpack.apm.transactionTypesSelectCustomOptionText": "新しいトランザクションタイプとして\\{searchValue\\}を追加", "xpack.apm.transactionTypesSelectPlaceholder": "トランザクションタイプを選択", "xpack.apm.tutorial.agent_config.choosePolicy.helper": "選択したポリシー構成を下のスニペットに追加します。", @@ -8839,6 +9112,7 @@ "xpack.apm.tutorial.agent_config.manageFleetPolicies": "Fleetポリシーの管理", "xpack.apm.tutorial.agent.column.configSettings": "構成設定", "xpack.apm.tutorial.agent.column.configValue": "構成名", + "xpack.apm.tutorial.apiKey.create": "APIキーを作成", "xpack.apm.tutorial.apmAgents.statusCheck.btnLabel": "エージェントステータスを確認", "xpack.apm.tutorial.apmAgents.statusCheck.errorMessage": "エージェントからまだデータを受け取っていません", "xpack.apm.tutorial.apmAgents.statusCheck.successMessage": "1 つまたは複数のエージェントからデータを受け取りました", @@ -9199,7 +9473,7 @@ "xpack.canvas.asset.downloadAssetTooltip": "ダウンロード", "xpack.canvas.asset.thumbnailAltText": "アセットのサムネイル", "xpack.canvas.assetModal.emptyAssetsDescription": "アセットをインポートして開始します", - "xpack.canvas.assetModal.filePickerPromptText": "画像を選択するかドラッグ &amp; ドロップしてください", + "xpack.canvas.assetModal.filePickerPromptText": "画像を選択するかドラッグ & ドロップしてください", "xpack.canvas.assetModal.loadingText": "画像をアップロード中", "xpack.canvas.assetModal.modalCloseButtonLabel": "閉じる", "xpack.canvas.assetModal.modalDescription": "以下はこのワークパッドの画像アセットです。現在使用中のアセットは現時点で特定できません。スペースを取り戻すには、アセットを削除してください。", @@ -9213,7 +9487,7 @@ "xpack.canvas.customElementModal.cancelButtonLabel": "キャンセル", "xpack.canvas.customElementModal.descriptionInputLabel": "説明", "xpack.canvas.customElementModal.elementPreviewTitle": "エレメントのプレビュー", - "xpack.canvas.customElementModal.imageFilePickerPlaceholder": "画像を選択するかドラッグ &amp; ドロップしてください", + "xpack.canvas.customElementModal.imageFilePickerPlaceholder": "画像を選択するかドラッグ & ドロップしてください", "xpack.canvas.customElementModal.imageInputDescription": "エレメントのスクリーンショットを作成してここにアップロードします。保存後に行うこともできます。", "xpack.canvas.customElementModal.imageInputLabel": "サムネイル画像", "xpack.canvas.customElementModal.nameInputLabel": "名前", @@ -9694,7 +9968,7 @@ "xpack.canvas.uis.arguments.filterGroup.setValue": "設定", "xpack.canvas.uis.arguments.filterGroupLabel": "フィルターグループを作成または入力", "xpack.canvas.uis.arguments.filterGroupTitle": "フィルターグループ", - "xpack.canvas.uis.arguments.imageUpload.fileUploadPromptLabel": "画像を選択するかドラッグ &amp; ドロップしてください", + "xpack.canvas.uis.arguments.imageUpload.fileUploadPromptLabel": "画像を選択するかドラッグ & ドロップしてください", "xpack.canvas.uis.arguments.imageUpload.imageUploadingLabel": "画像をアップロード中", "xpack.canvas.uis.arguments.imageUpload.urlTypes.assetDropDown": "アセット", "xpack.canvas.uis.arguments.imageUpload.urlTypes.changeLegend": "画像アップロードタイプ", @@ -10253,6 +10527,7 @@ "xpack.cases.caseView.sendEmalLinkAria": "クリックすると、{user}に電子メールを送信します", "xpack.cases.caseView.totalUsersAssigned": "{total}割り当て済み", "xpack.cases.caseView.updateNamedIncident": "{thirdParty}インシデントの更新", + "xpack.cases.configure.addCategoryCustomOptionLabel": "カテゴリとして{searchValue}を追加", "xpack.cases.configure.addTagCustomOptionLabel": "{searchValue}をタグとして追加", "xpack.cases.configure.commentVersionConflictWarning": "この{markdownId}は別のユーザーによって更新されました。{markdownId}を保存すると、更新が上書きされます。", "xpack.cases.configure.connectorDeletedOrLicenseWarning": "選択したコネクターが削除されたか、使用するための{appropriateLicense}がありません。別のコネクターを選択するか、新しいコネクターを作成してください。", @@ -10304,9 +10579,12 @@ "xpack.cases.actions.tags.selectAll": "すべて選択", "xpack.cases.actions.tags.selectNone": "どれも選択しません", "xpack.cases.actions.viewCase": "ケースの表示", + "xpack.cases.actions.visualizationActions.addToExistingCase.displayName": "既存のケースに追加", + "xpack.cases.actions.visualizationActions.addToNewCase.displayName": "新しいケースに追加", "xpack.cases.addConnector.title": "コネクターの追加", "xpack.cases.allCases.actions": "アクション", "xpack.cases.allCases.comments": "コメント", + "xpack.cases.allCases.noCategoriesAvailable": "カテゴリがありません", "xpack.cases.allCases.noTagsAvailable": "利用可能なタグがありません", "xpack.cases.allCasesView.filterAssignees.clearFilters": "フィルターを消去", "xpack.cases.allCasesView.filterAssignees.noAssigneesLabel": "担当者なし", @@ -10355,6 +10633,7 @@ "xpack.cases.caseView.actionLabel.updateIncident": "インシデントを更新しました", "xpack.cases.caseView.actionsConfigurationLink": "Kibanaのアラートおよびアクション設定", "xpack.cases.caseView.activity": "アクティビティ", + "xpack.cases.caseView.addCategory": "カテゴリを追加しました", "xpack.cases.caseView.alertCommentLabelTitle": "アラートを追加しました", "xpack.cases.caseView.alerts.remove": "削除", "xpack.cases.caseView.assigned": "割り当て済み", @@ -10370,6 +10649,8 @@ "xpack.cases.caseView.caseName": "ケース名", "xpack.cases.caseView.caseOpened": "ケースを開きました", "xpack.cases.caseView.caseRefresh": "ケースを更新", + "xpack.cases.caseView.categories": "カテゴリー", + "xpack.cases.caseView.category": "カテゴリー", "xpack.cases.caseView.closeCase": "ケースを閉じる", "xpack.cases.caseView.closedOn": "終了日", "xpack.cases.caseView.cloudDeploymentLink": "クラウド展開", @@ -10401,7 +10682,9 @@ "xpack.cases.caseView.edit.quote": "お客様の声", "xpack.cases.caseView.editActionsLinkAria": "クリックすると、すべてのアクションを表示します", "xpack.cases.caseView.editAssigneesAriaLabel": "クリックすると、担当者を編集します", + "xpack.cases.caseView.editCategoriesLinkAria": "クリックしてカテゴリを編集", "xpack.cases.caseView.editTagsLinkAria": "クリックすると、タグを編集します", + "xpack.cases.caseView.emptyCategoryValidationMsg": "空のカテゴリは許可されていません", "xpack.cases.caseView.errorsPushServiceCallOutTitle": "外部コネクターを選択", "xpack.cases.caseView.fieldChanged": "変更されたコネクターフィールド", "xpack.cases.caseView.fieldRequiredError": "必須フィールド", @@ -10423,6 +10706,7 @@ "xpack.cases.caseView.files.noFilesAvailable": "ファイルがありません", "xpack.cases.caseView.files.noPreviewAvailable": "プレビューがありません", "xpack.cases.caseView.files.pdfMimeType": "PDF", + "xpack.cases.caseView.files.removedFile": "ファイルを削除しました", "xpack.cases.caseView.files.resultsCount": "表示中", "xpack.cases.caseView.files.searchPlaceholder": "ファイルを検索", "xpack.cases.caseView.files.textMimeType": "テキスト", @@ -10447,6 +10731,7 @@ "xpack.cases.caseView.moveToCommentAria": "参照されたコメントをハイライト", "xpack.cases.caseView.name": "名前", "xpack.cases.caseView.noAssignees": "ユーザーが割り当てられていません", + "xpack.cases.caseView.noCategories": "カテゴリは追加されません", "xpack.cases.caseView.noReportersAvailable": "利用可能なレポートがありません。", "xpack.cases.caseView.noTags": "タグが追加されていません", "xpack.cases.caseView.openCase": "ケースを開く", @@ -10459,6 +10744,8 @@ "xpack.cases.caseView.pushToServiceDisableByConfigTitle": "Kibanaの構成ファイルで外部サービスを有効にする", "xpack.cases.caseView.pushToServiceDisableByLicenseTitle": "適切なライセンスにアップグレード", "xpack.cases.caseView.releasedHost": "ホストでリリースリクエストが送信されました", + "xpack.cases.caseView.removeCategory": "カテゴリを削除", + "xpack.cases.caseView.removeCategoryAriaLabel": "クリックすると、カテゴリを削除します", "xpack.cases.caseView.reopenCase": "ケースを再開", "xpack.cases.caseView.reporterLabel": "報告者", "xpack.cases.caseView.setSeverityTo": "重要度を設定", @@ -10480,8 +10767,12 @@ "xpack.cases.caseView.unknownRule.label": "不明なルール", "xpack.cases.caseView.updatedOn": "更新日", "xpack.cases.caseView.updateThirdPartyIncident": "外部インシデントを更新", + "xpack.cases.caseView.userAction.removeCategory": "カテゴリを削除しました", "xpack.cases.caseView.userActions.createCase": "作成されたケース", "xpack.cases.caseView.userActions.showMore": "詳細表示", + "xpack.cases.caseView.visualizations.addedVisualization": "ビジュアライゼーションを追加しました", + "xpack.cases.caseView.visualizations.openVisualizationButtonLabel": "ビジュアライゼーションを開く", + "xpack.cases.caseView.visualizations.removedVisualization": "ビジュアライゼーションを削除しました", "xpack.cases.common.alertAddedToCase": "ケースに追加しました", "xpack.cases.common.alertLabel": "アラート", "xpack.cases.common.alertsLabel": "アラート", @@ -10515,6 +10806,7 @@ "xpack.cases.configureCases.warningTitle": "警告", "xpack.cases.configureCasesButton": "外部接続を編集", "xpack.cases.connectors.card.createCommentWarningTitle": "ケースコメントを共有できません", + "xpack.cases.connectors.jira.issueTypeRequired": "問題タイプは必須です", "xpack.cases.connectors.jira.issueTypesSelectFieldLabel": "問題タイプ", "xpack.cases.connectors.jira.parentIssueSearchLabel": "親問題", "xpack.cases.connectors.jira.prioritySelectFieldLabel": "優先度", @@ -10550,6 +10842,7 @@ "xpack.cases.connectors.swimlane.emptyMappingWarningDesc": "このコネクターを選択できません。必要なケースフィールドマッピングがありません。このコネクターを編集して、必要なフィールドマッピングを追加するか、タイプがケースのコネクターを選択できます。", "xpack.cases.connectors.swimlane.emptyMappingWarningTitle": "このコネクターにはフィールドマッピングがありません。", "xpack.cases.connectors.swimlane.severityLabel": "深刻度", + "xpack.cases.containers.categoriesErrorTitle": "カテゴリの取得エラー", "xpack.cases.containers.deleteSuccess": "ファイルが正常に削除されました", "xpack.cases.containers.errorCreatingCaseTitle": "ケースの作成エラー", "xpack.cases.containers.errorDeletingFile": "ファイルの削除エラー", @@ -10651,8 +10944,10 @@ "xpack.cases.userProfiles.learnPrivileges": "どの権限がケースへのアクセスを付与するのかに関する詳細をご覧ください。", "xpack.cases.userProfiles.modifySearch": "検索を変更するか、ユーザーの権限を確認してください。", "xpack.cases.userProfiles.userDoesNotExist": "ユーザーが存在しないか、使用できません", + "xpack.cases.visualizationActions.addToExistingCaseSuccessContent": "ビジュアライゼーションが正常にケースに追加されました", "xpack.cloudDefend.cloudDefendPage.errorRenderer.errorDescription": "{error} {statusCode}: {body}", "xpack.cloudDefend.cloudDefendPage.packageNotInstalledRenderer.promptDescription": "開始するには、Defend for containers(D4C)統合を追加します。{learnMore}。", + "xpack.cloudDefend.errorGenericEmptyValue": "\"{condition}\"値を空にすることはできません", "xpack.cloudDefend.errorGenericRegexFailure": "\"{condition}\"値はパターン/{pattern}/と一致する必要があります", "xpack.cloudDefend.errorMaxSelectorsResponsesExceeded": "ファイルやプロセスなどの特定のタイプのセレクターと応答は{max}個以下でなければなりません", "xpack.cloudDefend.errorMaxValueBytesExceeded": "\"{condition}\"値は{maxValueBytes}バイト以下でなければなりません", @@ -10690,12 +10985,19 @@ "xpack.cloudDefend.controlSelectorsHelp": "ファイルまたはプロセスセレクターを作成し、関心がある処理または条件で照合します。", "xpack.cloudDefend.controlYamlHelp": "「ファイル」または「プロセス」セレクターと次の対応を作成して、ポリシーを構成します。", "xpack.cloudDefend.controlYamlView": "YAMLビュー", - "xpack.cloudDefend.enableControl": "ドリフト防御を有効化", - "xpack.cloudDefend.enableControlHelp": "ドリフト防御ポリシーの有効化をアラートに切り替えるか、ファイル操作をブロックします。", + "xpack.cloudDefend.createPackagePolicy.customAssetsTab.dashboardViewLabel": "k8sダッシュボードを表示", + "xpack.cloudDefend.description": "説明", + "xpack.cloudDefend.enableControl": "ポリシーを有効にする", + "xpack.cloudDefend.enableControlHelp": "以下に示すドリフト防止、アラート、ログポリシーを有効にします。", + "xpack.cloudDefend.errorActionRequired": "1つ以上のアクションが必要です。", + "xpack.cloudDefend.errorBlockActionRequiresTargetFilePath": "「ブロック」アクションでは、targetFilePathが、FIM操作を使用するすべての「一致」セレクターに含まれるか、少なくとも1つの「除外」セレクターに含まれる必要があります。操作を含まないセレクターは、createFile、modifyFile、deleteFileを含むすべての操作と一致します。", "xpack.cloudDefend.errorConditionRequired": "セレクターにつき1つ以上の条件が必要です。", "xpack.cloudDefend.errorDuplicateName": "この名前はすでに別のセレクターで使用されています。", "xpack.cloudDefend.errorInvalidFullContainerImageName": "[完全なコンテナーイメージ名]値はimage_repo/image_nameの形式でなければなりません。例:docker.io/nginx", "xpack.cloudDefend.errorInvalidName": "セレクター名は英数字でなければならず、スペースは使用できません。", + "xpack.cloudDefend.errorInvalidPodLabel": "Kubernetesポッドラベル値は「キー:値」の形式でなければなりません。ワイルドカード「*」は値の末尾で使用できます(例:キー:値*)。空のラベル値で照合するには、「key:」を使用します。", + "xpack.cloudDefend.errorInvalidProcessExecutable": "「プロセス実行ファイル」値は絶対パスを使用する必要があります。末尾に*ワイルドカードを付けると、ターゲットディレクトリのすべてのファイルと一致します。二重の**を使用すると、すべてのファイルと再帰的に一致します。例:/usr/bin/**", + "xpack.cloudDefend.errorInvalidTargetFilePath": "「ターゲットファイルパス」の値は絶対パスでなければなりません。末尾に*ワイルドカードを付けると、ターゲットディレクトリのすべてのファイルと一致します。二重の**を使用すると、すべてのファイルと再帰的に一致します。例:/etc/**", "xpack.cloudDefend.errorValueRequired": "1つ以上の値が必要です。", "xpack.cloudDefend.fileResponse": "ファイル応答", "xpack.cloudDefend.fileResponseIconTooltip": "ファイル応答。\n照合/除外ではファイルセレクターのみを使用できます。", @@ -10725,6 +11027,8 @@ "xpack.cloudDefend.subscriptionNotAllowed.promptTitle": "サブスクリプション機能のアップグレード", "xpack.cloudDefend.unusedSelector": "使用されていません", "xpack.cloudDefend.unusedSelectorHelp": "このセレクターはどの応答でも使用されません。", + "xpack.cloudDefend.warningFIMUsingSlashStarStarText": "/**のtargetFilePathを使用して、FIM操作をブロックするのは危険です。これはシステムの不安定化につながる可能性があります。操作を含まないセレクターは、createFile、modifyFile、deleteFileを含むすべての操作と一致します。", + "xpack.cloudDefend.warningFIMUsingSlashStarStarTitle": "警告:ブロックFIM操作", "xpack.crossClusterReplication.app.deniedPermissionDescription": "クラスター横断レプリケーションを使用するには、{clusterPrivilegesCount, plural, other {これらのクラスター権限}}が必要です:{clusterPrivileges}。", "xpack.crossClusterReplication.autoFollowPattern.leaderIndexPatternValidation.illegalCharacters": "インデックスパターンから{characterListLength, plural, other {文字}}{characterList}を削除します。", "xpack.crossClusterReplication.autoFollowPattern.pauseAction.errorMultipleNotificationTitle": "{count}個の自動フォローパターンの一時停止エラー", @@ -11057,13 +11361,20 @@ "xpack.csp.findings.findingsTableCell.addNegatedFilterButtonTooltip": "{field}否定フィルターを追加", "xpack.csp.findings.findingsTableCell.addNegateFilterButton": "{field}否定フィルターを追加", "xpack.csp.findings.resourceFindings.resourceFindingsPageTitle": "{resourceName} {hyphen}調査結果", - "xpack.csp.noFindingsStates.indexTimeout.indexTimeoutDescription": "Elasticエージェントが正常にデプロイされると、10分以内にデータが表示されます。{docs}", + "xpack.csp.noFindingsStates.indexTimeout.indexTimeoutDescription": "調査結果の収集に想定よりも時間がかかっています。{docs}。", + "xpack.csp.noVulnerabilitiesStates.indexTimeout.indexTimeoutDescription": "ワークロードのスキャンに想定よりも時間がかかっています。{docs}を確認してください", "xpack.csp.rules.rulePageHeader.pageHeaderTitle": "ルール - {integrationName}", "xpack.csp.rules.rulesTable.showingPageOfTotalLabel": "{total, plural, other {#個のルール}} 件中{pageSize}を表示中", "xpack.csp.subscriptionNotAllowed.promptDescription": "これらのクラウドセキュリティ機能を使用するには、{link}する必要があります。", "xpack.csp.vulnerabilities.totalVulnerabilities": "{total, plural, other {#件の脆弱性}}", + "xpack.csp.vulnerabilities.vulnerabilitiesTableCell.addFilterButton": "{columnId}フィルターを追加", + "xpack.csp.vulnerabilities.vulnerabilitiesTableCell.addFilterButtonTooltip": "{columnId}フィルターを追加", + "xpack.csp.vulnerabilities.vulnerabilitiesTableCell.addNegatedFilterButtonTooltip": "{columnId}否定フィルターを追加", + "xpack.csp.vulnerabilities.vulnerabilitiesTableCell.addNegateFilterButton": "{columnId}否定フィルターを追加", "xpack.csp.vulnerabilities.vulnerabilityOverviewTab.descriptionText": "{description}", "xpack.csp.vulnerabilities.vulnerabilityOverviewTile.publishedDateText": "{date}", + "xpack.csp.vulnerabilitiesByResource.totalResources": "{total, plural, other {#個のリソース}}", + "xpack.csp.vulnerabilitiesByResource.totalVulnerabilities": "{total, plural, other {#件の脆弱性}}", "xpack.csp.awsIntegration.accessKeyIdLabel": "アクセスキーID", "xpack.csp.awsIntegration.assumeRoleDescription": "IAMロールAmazon Resource Name(ARN)は、AWSアカウントで作成できるIAM IDです。IAMロールを作成するときには、ユーザーはロールの権限を定義できます。ロールには、パスワードやアクセスキーなどの標準の長期的な資格情報がありません。", "xpack.csp.awsIntegration.assumeRoleLabel": "ロールを想定", @@ -11093,6 +11404,7 @@ "xpack.csp.benchmarks.benchmarksTable.monitoringColumnTitle": "監視", "xpack.csp.benchmarks.benchmarksTable.numberOfAgentsColumnTitle": "エージェント数", "xpack.csp.benchmarks.benchmarksTable.rulesColumnTitle": "ルール", + "xpack.csp.cloudPosturePage.betaLabel": "この機能はベータ段階で、変更される可能性があります。デザインとコードは正式に一般公開された機能より完成度が低く、現状のまま保証なしで提供されています。ベータ機能は、正式に一般公開された機能に適用されるサポートサービスレベル契約の対象外です。", "xpack.csp.cloudPosturePage.cspmIntegration.packageNotInstalled.buttonLabel": "CSPM統合の追加", "xpack.csp.cloudPosturePage.cspmIntegration.packageNotInstalled.integrationNameLabel": "クラウドセキュリティ態勢管理", "xpack.csp.cloudPosturePage.defaultNoDataConfig.pageTitle": "データが見つかりません", @@ -11110,11 +11422,37 @@ "xpack.csp.cloudPosturePage.vulnerabilitiesInstalledEmptyPrompt.addVulMngtIntegrationButtonTitle": "Cloud Native Vulnerability Managementをインストール", "xpack.csp.cloudPosturePage.vulnerabilitiesInstalledEmptyPrompt.learnMoreButtonTitle": "詳細", "xpack.csp.cloudPosturePage.vulnerabilitiesInstalledEmptyPrompt.promptDescription": "開始するには、Cloud Native Vulnerability Management統合を追加します", + "xpack.csp.cnvmDashboard.statistics.cloudRegionTitle": "クラウドリージョン", + "xpack.csp.cnvmDashboard.statistics.criticalTitle": "重大", + "xpack.csp.cnvmDashboard.statistics.highTitle": "高", + "xpack.csp.cnvmDashboard.statistics.mediumTitle": "中", + "xpack.csp.cnvmDashboard.statistics.resourcesScannedTitle": "リソースがスキャンされました", + "xpack.csp.cnvmDashboardTable.panel.topPatchVulnerabilities.title": "上位10件のパッチ適用可能な脆弱性", + "xpack.csp.cnvmDashboardTable.panel.topVulnerabilities.title": "上位10件の脆弱性", + "xpack.csp.cnvmDashboardTable.panel.topVulnerableResources.title": "上位10件の脆弱性リソース", + "xpack.csp.cnvmDashboardTable.section.topPatchableVulnerabilities.column.fixedVersion": "修正バージョン", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.cve": "CVE", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.fixedVersion": "修正バージョン", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.packageName": "パッケージ名", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.packageVersion": "パッケージバージョン", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.severity": "深刻度", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.version": "CVSS", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.vulnerabilities": "脆弱性", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.cve": "CVE", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.region": "地域", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.resource": "リソース", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.version": "CVSS", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.vulnerabilities": "脆弱性", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.vulnerabilityCount": "脆弱性", + "xpack.csp.compactFormattedNumber.naTitle": "N/A", "xpack.csp.complianceScoreChart.counterLink.failedFindingsTooltip": "失敗した調査結果", "xpack.csp.complianceScoreChart.counterLink.passedFindingsTooltip": "合格した調査結果", + "xpack.csp.createPackagePolicy.customAssetsTab.cloudNativeVulnerabilityManagementTitleLabel": "Cloud Native Vulnerability Management ", + "xpack.csp.createPackagePolicy.customAssetsTab.cloudPostureTitleLabel": "クラウド態勢 ", "xpack.csp.createPackagePolicy.customAssetsTab.dashboardViewLabel": "CSPダッシュボードを表示", "xpack.csp.createPackagePolicy.customAssetsTab.findingsViewLabel": "CSP調査結果を表示 ", "xpack.csp.createPackagePolicy.customAssetsTab.rulesViewLabel": "CSPルールを表示 ", + "xpack.csp.createPackagePolicy.customAssetsTab.vulnerabilityFindingsViewLabel": "脆弱性の調査結果を表示 ", "xpack.csp.cspEvaluationBadge.failLabel": "失敗", "xpack.csp.cspEvaluationBadge.passLabel": "合格", "xpack.csp.cspmIntegration.awsOption.benchmarkTitle": "CIS AWS", @@ -11190,6 +11528,7 @@ "xpack.csp.findings.findingsFlyout.ruleTab.referencesTitle": "基準", "xpack.csp.findings.findingsFlyout.ruleTab.tagsTitle": "タグ", "xpack.csp.findings.findingsFlyout.ruleTabTitle": "ルール", + "xpack.csp.findings.findingsFlyout.tableTabTitle": "表", "xpack.csp.findings.findingsTable.findingsTableColumn.clusterIdColumnLabel": "属します", "xpack.csp.findings.findingsTable.findingsTableColumn.clusterIdColumnTooltipLabel": "KubernetesクラスターIDまたはクラウドアカウント名", "xpack.csp.findings.findingsTable.findingsTableColumn.lastCheckedColumnLabel": "最終確認", @@ -11215,6 +11554,7 @@ "xpack.csp.findings.resourceFindingsSharedValues.resourceTypeTitle": "リソースタイプ", "xpack.csp.findings.search.queryErrorToastMessage": "クエリエラー", "xpack.csp.findings.searchBar.searchPlaceholder": "検索結果(例:rule.section:\"API Server\")", + "xpack.csp.findings.tabs.misconfigurations": "構成エラー", "xpack.csp.findings.tabs.vulnerabilities": "脆弱性", "xpack.csp.findings.title": "調査結果", "xpack.csp.fleetIntegration.cnvm.additionalChargesCalloutDescription": "このサービスを使用すると、使用量が増えるため、次回のクラウドプロバイダー請求明細書に料金が追加される場合があります。", @@ -11226,6 +11566,8 @@ "xpack.csp.fleetIntegration.integrationNameLabel": "名前", "xpack.csp.fleetIntegration.integrationSettingsTitle": "統合設定", "xpack.csp.fleetIntegration.selectIntegrationTypeTitle": "構成するセキュリティ態勢管理統合のタイプを選択", + "xpack.csp.flyout.tableTab.fieldLabel": "フィールド", + "xpack.csp.flyout.tableTab.fieldValueLabel": "値", "xpack.csp.integrationDashboard.noFindings.promptTitle": "調査結果評価ステータス", "xpack.csp.integrationDashboard.noFindingsPrompt.promptDescription": "データの収集とインデックス作成を待機しています。このプロセスに想定よりも時間がかかる場合は、サポートまでお問い合わせください", "xpack.csp.kspmIntegration.aksOption.benchmarkTitle": "CIS AKS", @@ -11245,6 +11587,7 @@ "xpack.csp.navigation.findingsNavItemLabel": "調査結果", "xpack.csp.navigation.myBenchmarksNavItemLabel": "クラウド態勢ベンチマーク", "xpack.csp.navigation.rulesNavItemLabel": "ルール", + "xpack.csp.navigation.vulnerabilityDashboardNavItemLabel": "Cloud Native Vulnerability Management", "xpack.csp.noFindingsStates.indexing.indexingButtonTitle": "態勢評価中", "xpack.csp.noFindingsStates.indexing.indexingDescription": "データの収集とインデックス作成を待機しています。結果を表示するには、しばらくたってから確認してください", "xpack.csp.noFindingsStates.indexTimeout.indexTimeoutDocLink": "詳細", @@ -11255,6 +11598,11 @@ "xpack.csp.noFindingsStates.unprivileged.unprivilegedDescription": "クラウド態勢データを表示するには、権限を更新する必要があります。詳細については、Kibana管理者に連絡してください。", "xpack.csp.noFindingsStates.unprivileged.unprivilegedFooterMarkdown": "次のインデックスに必要なElasticsearchインデックス権限「読み取り」:", "xpack.csp.noFindingsStates.unprivileged.unprivilegedTitle": "権限が必要です", + "xpack.csp.noVulnerabilitiesStates.indexTimeout.indexTimeoutDocLink": "CNVM FAQ", + "xpack.csp.noVulnerabilitiesStates.indexTimeout.indexTimeoutTitle": "結果が遅れています", + "xpack.csp.noVulnerabilitiesStates.noAgentsDeployed.noAgentsDeployedButtonTitle": "エージェントのインストール", + "xpack.csp.noVulnerabilitiesStates.noAgentsDeployed.noAgentsDeployedDescription": "脆弱性の検出を開始するには、監視するクラウドアカウントまたはKubernetesクラスターにElasticエージェントをデプロイする必要があります。", + "xpack.csp.noVulnerabilitiesStates.noAgentsDeployed.noAgentsDeployedTitle": "エージェントをインストールしていません", "xpack.csp.noVulnerabilitiesStates.scanningVulnerabilitiesEmptyPrompt.indexingButtonTitle": "環境をスキャン中", "xpack.csp.noVulnerabilitiesStates.scanningVulnerabilitiesEmptyPrompt.indexingDescription": "結果が利用可能になるとすぐに、ここに表示されます。", "xpack.csp.noVulnerabilitiesStates.unprivileged.unprivilegedDescription": "クラウド態勢データを表示するには、権限を更新する必要があります。詳細については、Kibana管理者に連絡してください。", @@ -11270,14 +11618,25 @@ "xpack.csp.rules.rulesTable.cisSectionColumnLabel": "CISセクション", "xpack.csp.rules.rulesTable.nameColumnLabel": "名前", "xpack.csp.rules.rulesTable.searchPlaceholder": "ルール名で検索", + "xpack.csp.subscriptionNotAllowed.promptDescriptionNoLocator": "ライセンスを変更するには、管理者に問い合わせてください。", "xpack.csp.subscriptionNotAllowed.promptLinkText": "試用版を開始するか、サブスクリプションをアップグレード", "xpack.csp.subscriptionNotAllowed.promptTitle": "サブスクリプション機能のアップグレード", "xpack.csp.vulnerabilities": "脆弱性", + "xpack.csp.vulnerabilities.flyoutTabs.fieldLabel": "フィールド", + "xpack.csp.vulnerabilities.flyoutTabs.fieldValueLabel": "値", + "xpack.csp.vulnerabilities.resourceVulnerabilities.backToResourcesPageButtonLabel": "リソースに戻る", + "xpack.csp.vulnerabilities.resourceVulnerabilities.regionTitle": "地域", + "xpack.csp.vulnerabilities.resourceVulnerabilities.resourceIdTitle": "リソースID", "xpack.csp.vulnerabilities.searchBar.placeholder": "脆弱性を検索(例:vulnerability.severity :\"CRITICAL\")", "xpack.csp.vulnerabilities.table.filterIn": "フィルタリング", "xpack.csp.vulnerabilities.table.filterOut": "除外", + "xpack.csp.vulnerabilities.vulnerabilitiesFindingFlyout.flyoutDescriptionList.packageTitle": "パッケージ", + "xpack.csp.vulnerabilities.vulnerabilitiesFindingFlyout.flyoutDescriptionList.resourceTitle": "リソース", + "xpack.csp.vulnerabilities.vulnerabilitiesFindingFlyout.flyoutDescriptionList.versionTitle": "バージョン", "xpack.csp.vulnerabilities.vulnerabilityFindingFlyout.jsonTabLabel": "JSON", + "xpack.csp.vulnerabilities.vulnerabilityFindingFlyout.loadingAriaLabel": "読み込み中", "xpack.csp.vulnerabilities.vulnerabilityFindingFlyout.overviewTabLabel": "概要", + "xpack.csp.vulnerabilities.vulnerabilityFindingFlyout.tableTabLabel": "表", "xpack.csp.vulnerabilities.vulnerabilityOverviewTab.cvsScore.unknownVendorName": "不明なベンダー", "xpack.csp.vulnerabilities.vulnerabilityOverviewTab.descriptionTitle": "説明", "xpack.csp.vulnerabilities.vulnerabilityOverviewTab.emptyFixesMessage": "まだ利用可能な修正はありません。", @@ -11286,10 +11645,27 @@ "xpack.csp.vulnerabilities.vulnerabilityOverviewTile.cvsScore": "CVSS", "xpack.csp.vulnerabilities.vulnerabilityOverviewTile.dataSource": "データソース", "xpack.csp.vulnerabilities.vulnerabilityOverviewTile.publishedDate": "公開日", + "xpack.csp.vulnerabilitiesByResource.severityMap.tooltipTitle": "重要度マップ", + "xpack.csp.vulnerability_dashboard.cspPageTemplate.pageTitle": "Cloud Native Vulnerability Management", + "xpack.csp.vulnerabilityByResourceTable.column.region": "地域", + "xpack.csp.vulnerabilityByResourceTable.column.resourceId": "リソースID", + "xpack.csp.vulnerabilityByResourceTable.column.resourceName": "リソース名", + "xpack.csp.vulnerabilityByResourceTable.column.severityMap": "重要度マップ", + "xpack.csp.vulnerabilityByResourceTable.column.vulnerabilities": "脆弱性", + "xpack.csp.vulnerabilityDashboard.trendGraphChart.accountsDropDown.option.allTitle": "すべて", + "xpack.csp.vulnerabilityDashboard.trendGraphChart.accountsDropDown.prepend.accountsTitle": "アカウント", + "xpack.csp.vulnerabilityDashboard.trendGraphChart.trendBySeverityTitle": "重要度別傾向", + "xpack.csp.vulnerabilityDashboard.viewAllButton.buttonTitle": "すべて表示", "xpack.csp.vulnerabilityTable.column.fixVersion": "修正バージョン", + "xpack.csp.vulnerabilityTable.column.package": "パッケージ", "xpack.csp.vulnerabilityTable.column.resource": "リソース", "xpack.csp.vulnerabilityTable.column.severity": "深刻度", + "xpack.csp.vulnerabilityTable.column.sortAscending": "低 -> 重大", + "xpack.csp.vulnerabilityTable.column.sortDescending": "重大 -> 低", + "xpack.csp.vulnerabilityTable.column.version": "バージョン", "xpack.csp.vulnerabilityTable.column.vulnerability": "脆弱性", + "xpack.csp.vulnerabilityTable.panel.buttonText": "すべての脆弱性を表示", + "xpack.csp.vulnerabilityTable.panel.tooltipText": "調査結果を探索", "xpack.csp.vulnMgmtIntegration.awsOption.nameTitle": "Amazon Web Services", "xpack.csp.vulnMgmtIntegration.azureOption.nameTitle": "Azure", "xpack.csp.vulnMgmtIntegration.azureOption.tooltipContent": "まもなくリリース", @@ -11304,7 +11680,7 @@ "xpack.customBranding.customizedLogoLabel": "組織名", "xpack.customBranding.customLogoLabel": "カスタムロゴ", "xpack.customBranding.faviconPNGTitle": "ファビコン(PNG)", - "xpack.customBranding.faviconSVGTitle": "ファビコン(SVG)", + "xpack.customBranding.faviconSVGTitle": "ファビコン(PNG)", "xpack.customBranding.pageTitleLabel": "ページタイトル", "xpack.customBranding.settings.subscriptionRequiredLink.text": "サブスクリプションが必要です。", "xpack.customBranding.uiSettings.validate.customLogo.badFile": "このファイルは動作しません。別の画像ファイルを試してください。", @@ -11422,7 +11798,7 @@ "xpack.dataVisualizer.fieldTypesPopover.learnMoreText": "詳細", "xpack.dataVisualizer.fieldTypesPopover.tableTitle": "フィールド型の説明", "xpack.dataVisualizer.file.aboutPanel.analyzingDataTitle": "データを分析中", - "xpack.dataVisualizer.file.aboutPanel.selectOrDragAndDropFileDescription": "ファイルを選択するかドラッグ &amp; ドロップしてください", + "xpack.dataVisualizer.file.aboutPanel.selectOrDragAndDropFileDescription": "ファイルを選択するかドラッグ&ドロップしてください", "xpack.dataVisualizer.file.advancedImportSettings.createDataViewLabel": "データビューを作成", "xpack.dataVisualizer.file.advancedImportSettings.dataViewNameLabel": "データビュー名", "xpack.dataVisualizer.file.advancedImportSettings.indexNameAriaLabel": "インデックス名、必須フィールド", @@ -11515,9 +11891,12 @@ "xpack.dataVisualizer.file.importSummary.importCompleteTitle": "インポート完了", "xpack.dataVisualizer.file.importSummary.indexTitle": "インデックス", "xpack.dataVisualizer.file.importSummary.ingestPipelineTitle": "パイプラインを投入", + "xpack.dataVisualizer.file.importView.backButtonLabel": "戻る", + "xpack.dataVisualizer.file.importView.cancelButtonLabel": "別のファイルを選択", "xpack.dataVisualizer.file.importView.dataViewNameAlreadyExistsErrorMessage": "データビュー名はすでに存在します", "xpack.dataVisualizer.file.importView.importButtonLabel": "インポート", "xpack.dataVisualizer.file.importView.importDataTitle": "データのインポート", + "xpack.dataVisualizer.file.importView.importNewButtonLabel": "新しいファイルをインポート", "xpack.dataVisualizer.file.importView.indexNameAlreadyExistsErrorMessage": "インデックス名がすでに存在します", "xpack.dataVisualizer.file.importView.indexNameContainsIllegalCharactersErrorMessage": "インデックス名に許可されていない文字が含まれています。", "xpack.dataVisualizer.file.importView.indexPatternDoesNotMatchDataViewErrorMessage": "データビューがインデックス名と一致しません", @@ -11531,7 +11910,9 @@ "xpack.dataVisualizer.file.resultsLinks.indexManagementTitle": "インデックス管理", "xpack.dataVisualizer.file.resultsLinks.viewIndexInDiscoverTitle": "インデックスを Discover で表示", "xpack.dataVisualizer.file.resultsView.analysisExplanationButtonLabel": "分析説明", + "xpack.dataVisualizer.file.resultsView.cancelButtonLabel": "別のファイルを選択", "xpack.dataVisualizer.file.resultsView.fileStatsName": "ファイル統計", + "xpack.dataVisualizer.file.resultsView.importButtonLabel": "インポート", "xpack.dataVisualizer.file.resultsView.overrideSettingsButtonLabel": "上書き設定", "xpack.dataVisualizer.file.simpleImportSettings.createDataViewLabel": "データビューを作成", "xpack.dataVisualizer.file.simpleImportSettings.indexNameAriaLabel": "インデックス名、必須フィールド", @@ -11596,6 +11977,103 @@ "xpack.dataVisualizer.searchPanel.randomSamplerMessage": "近似値は、ランダムサンプラーアグリゲーションを使用する、合計ドキュメント数およびグラフに表示されます。", "xpack.dataVisualizer.searchPanel.showEmptyFields": "空のフィールドを表示", "xpack.dataVisualizer.title": "ファイルをアップロード", + "xpack.elasticAssistant.dataAnonymizationEditor.contextEditor.selectAllFields": "すべての{totalFields}個のフィールドを選択", + "xpack.elasticAssistant.dataAnonymizationEditor.contextEditor.selectedFields": "選択した{selected}個のフィールド", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.allowedStat.allowedTooltip": "このコンテキストの{total}フィールドのうち{allowed}個を会話に含めることができます", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.anonymizedStat.fieldsWillBeAnonymizedTooltip": "このコンテキストで{anonymized}{anonymized, plural, =1 {フィールド} other {フィールド}}はランダム値で置換されます。応答は自動的に元の値に変換されます。", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.anonymizedStat.noneOfTheDataWillBeAnonymizedTooltip": "{isDataAnonymizable, select, true {ランダム値で置換するフィールドを選択します。応答は自動的に元の値に変換されます。} other {このコンテキストは匿名化できません}}", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.availableStat.availableTooltip": "このコンテキストの{total}個のフィールドを会話に含めることができます", + "xpack.elasticAssistant.assistant.apiErrorTitle": "メッセージの送信中にエラーが発生しました。問題が解決しない場合は、コネクター構成をテストしてください。", + "xpack.elasticAssistant.assistant.clearChat": "チャットを消去", + "xpack.elasticAssistant.assistant.connectors.addConnectorButton.connectorAddedDescription": "会話を続行する準備ができました...", + "xpack.elasticAssistant.assistant.connectors.addConnectorButton.connectorAddedTitle": "生成AIコネクターが追加されました。", + "xpack.elasticAssistant.assistant.connectors.addConnectorButton.description": "会話を続行するようにコネクターを構成", + "xpack.elasticAssistant.assistant.connectors.addConnectorButton.title": "生成AIコネクターを追加", + "xpack.elasticAssistant.assistant.connectors.connectorSelector.ariaLabel": "会話セレクター", + "xpack.elasticAssistant.assistant.connectors.connectorSelector.newConnectorOptions": "新しいコネクターを追加...", + "xpack.elasticAssistant.assistant.connectors.setup.skipTitle": "クリックしてスキップ....", + "xpack.elasticAssistant.assistant.connectors.setup.timestampAtTitle": "に", + "xpack.elasticAssistant.assistant.connectors.setup.userAssistantTitle": "アシスタント", + "xpack.elasticAssistant.assistant.connectors.setup.userYouTitle": "あなた", + "xpack.elasticAssistant.assistant.content.prompts.system.defaultSystemPromptName": "デフォルトシステムプロンプト", + "xpack.elasticAssistant.assistant.content.prompts.system.ifYouDontKnowTheAnswer": "Elasticセキュリティに関連していない質問には回答しないでください。", + "xpack.elasticAssistant.assistant.content.prompts.system.superheroPersonality": "サイバーセキュリティの専門家に情報を伝えるつもりで、できるだけ詳細で関連性のある回答を入力してください。", + "xpack.elasticAssistant.assistant.content.prompts.system.superheroSystemPromptName": "拡張システムプロンプト", + "xpack.elasticAssistant.assistant.content.prompts.system.useTheFollowingContextToAnswer": "次のコンテキストを使用して、質問に回答します。", + "xpack.elasticAssistant.assistant.content.prompts.system.youAreAHelpfulExpertAssistant": "あなたはElasticセキュリティに関する質問に答える、親切で専門的なアシスタントです。", + "xpack.elasticAssistant.assistant.content.prompts.user.finallySuggestInvestigationGuideAndFormatAsMarkdown": "説明、推奨されるアクション、箇条書きのトリアージステップを追加します。提供された MITRE ATT&CKデータを使用して、MITREからのコンテキストや推奨事項を追加し、MITREのWebサイトの関連ページにハイパーリンクを貼ります。コンテキストのユーザーとホストのリスクスコアデータを必ず含めてください。回答には、エンドポイント対応アクション、ElasticエージェントOSQueryマネージャー統合(osqueryクエリの例を付けて)、タイムライン、エンティティ分析など、Elasticセキュリティ固有の機能を指す手順を含め、関連するElasticセキュリティのドキュメントすべてにリンクしてください。", + "xpack.elasticAssistant.assistant.content.prompts.user.thenSummarizeSuggestedKqlAndEqlQueries": "上記のコンテキストからイベントを評価し、Elasticセキュリティのケース用に、出力をマークダウン構文で正しく書式設定してください。", + "xpack.elasticAssistant.assistant.conversationSelector.ariaLabel": "会話セレクター", + "xpack.elasticAssistant.assistant.conversationSelector.CustomOptionTextTitle": "新しい会話を作成:", + "xpack.elasticAssistant.assistant.conversationSelector.defaultConversationTitle": "選択した会話", + "xpack.elasticAssistant.assistant.conversationSelector.deleteConversationTitle": "会話を削除", + "xpack.elasticAssistant.assistant.conversationSelector.nextConversationTitle": "次の会話", + "xpack.elasticAssistant.assistant.conversationSelector.placeholderTitle": "選択するか、入力して新規作成...", + "xpack.elasticAssistant.assistant.conversationSelector.previousConversationTitle": "前の会話", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.allActionsTooltip": "すべてのアクション", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.allowAction": "許可", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.allowByDefaultAction": "デフォルトで許可", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.allowedColumnTitle": "許可", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.alwaysSubmenu": "常に実行", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.anonymizeAction": "匿名化", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.anonymizeByDefaultAction": "デフォルトで匿名化", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.anonymizedColumnTitle": "匿名化", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.bulkActions": "一斉アクション", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.defaultsSubmenu": "デフォルト", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.denyAction": "拒否", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.denyByDefaultAction": "デフォルトで拒否", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.fieldColumnTitle": "フィールド", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.noButtonLabel": "いいえ", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.unanonymizeAction": "非匿名化", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.unanonymizeByDefaultAction": "デフォルトで非匿名化", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.valuesColumnTitle": "値", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.yesButtonLabel": "はい", + "xpack.elasticAssistant.assistant.defaultAssistantTitle": "Elastic AI Assistant", + "xpack.elasticAssistant.assistant.firstPromptEditor.addNewSystemPrompt": "新しいシステムプロンプトを追加...", + "xpack.elasticAssistant.assistant.firstPromptEditor.addSystemPromptTooltip": "システムプロンプトを追加", + "xpack.elasticAssistant.assistant.firstPromptEditor.clearSystemPrompt": "システムプロンプトを消去", + "xpack.elasticAssistant.assistant.firstPromptEditor.commentsListAriaLabel": "コメントのリスト", + "xpack.elasticAssistant.assistant.firstPromptEditor.editingPromptLabel": "プロンプトを編集中", + "xpack.elasticAssistant.assistant.firstPromptEditor.selectASystemPromptPlaceholder": "システムプロンプトを選択", + "xpack.elasticAssistant.assistant.firstPromptEditor.youLabel": "あなた", + "xpack.elasticAssistant.assistant.newChat.newChatButton": "チャット", + "xpack.elasticAssistant.assistant.newChatById.newChatByIdButton": "チャット", + "xpack.elasticAssistant.assistant.overlay.CancelButton": "キャンセル", + "xpack.elasticAssistant.assistant.promptEditor.selectedPromotContexts.removeContextTooltip": "コンテキストを削除", + "xpack.elasticAssistant.assistant.promptEditor.systemPrompt.slCancelButtonTitle": "キャンセル", + "xpack.elasticAssistant.assistant.promptEditor.systemPrompt.slSaveButtonTitle": "保存", + "xpack.elasticAssistant.assistant.promptEditor.systemPrompt.systemPromptModal.systemPromptSelector.ariaLabel": "選択して編集するか、入力して新規作成", + "xpack.elasticAssistant.assistant.promptEditor.systemPrompt.systemPromptModal.systemPromptSelector.customOptionText": "名前付きの新しいシステムプロンプトを作成", + "xpack.elasticAssistant.assistant.promptEditor.systemPrompt.systemPromptModal.systemPromptSelector.deletePromptTitle": "システムプロンプトを削除", + "xpack.elasticAssistant.assistant.promptPlaceholder": "「このアラートを要約してください」から「クエリの作成を手伝ってください」まで、何でも依頼してください。", + "xpack.elasticAssistant.assistant.quickPrompts.modalCancelButtonTitle": "キャンセル", + "xpack.elasticAssistant.assistant.quickPrompts.modalSaveButtonTitle": "保存", + "xpack.elasticAssistant.assistant.quickPrompts.overflowAriaTitle": "オーバーフロークイックプロンプトを表示", + "xpack.elasticAssistant.assistant.quickPrompts.promptContextSelector.ariaLabel": "このクイックプロンプトで使用できるプロンプトコンテキストカテゴリを選択します。", + "xpack.elasticAssistant.assistant.quickPrompts.promptContextSelector.placeholderLabel": "(クイックプロンプトは常に表示されます)。", + "xpack.elasticAssistant.assistant.quickPrompts.quickPromptSelector.ariaLabel": "選択して編集するか、入力して新規作成", + "xpack.elasticAssistant.assistant.quickPrompts.quickPromptSelector.customOptionText": "名前付きの新しいクイックプロンプトを作成", + "xpack.elasticAssistant.assistant.quickPrompts.quickPromptSelector.deletePromptTitle": "クイックプロンプトを削除", + "xpack.elasticAssistant.assistant.settings.connectorHelpTextTitle": "リクエストを行うKibanaコネクター", + "xpack.elasticAssistant.assistant.settings.showAnonymizedToggleLabel": "匿名化して表示", + "xpack.elasticAssistant.assistant.settings.showAnonymizedTooltip": "アシスタントの間で送信された匿名化された値を表示", + "xpack.elasticAssistant.assistant.submitMessage": "メッセージを送信", + "xpack.elasticAssistant.assistant.useConversation.defaultConversationTitle": "デフォルト", + "xpack.elasticAssistant.assistant.useConversation.elasticAiAssistantName": "アシスタント", + "xpack.elasticAssistant.assistant.useConversation.elasticAiAssistantTitle": "Elastic AI Assistant", + "xpack.elasticAssistant.assistant.useConversation.welcomeConversationTitle": "ようこそ", + "xpack.elasticAssistant.connectors.useLoadActionTypes.errorMessage": "Elastic AI Assistantへようこそ!Elasticを活用するための100%オープンソースのポータルです。", + "xpack.elasticAssistant.connectors.useLoadConnectors.errorMessage": "Elastic AI Assistantへようこそ!Elasticを活用するための100%オープンソースのポータルです。", + "xpack.elasticAssistant.content.prompts.welcome.welcomeSecurityPrompt": "Elastic AI Assistantへようこそ!Elasticセキュリティを活用するための100%オープンソースのポータルです。", + "xpack.elasticAssistant.dataAnonymization.settings.anonymizationSettings.calloutParagraph1": "このフィールドはデフォルトで許可されています", + "xpack.elasticAssistant.dataAnonymization.settings.anonymizationSettings.calloutParagraph2": "任意で、これらのフィールドの匿名化を有効にします", + "xpack.elasticAssistant.dataAnonymization.settings.anonymizationSettings.calloutTitle": "匿名化デフォルト", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.allowedStat.allowedDescription": "許可", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.anonymizedStat.anonymizeFieldsdDescription": "匿名化", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.availableStat.availableDescription": "利用可能", + "xpack.elasticAssistant.securityAssistant.content.prompts.welcome.welcomeGeneral2Prompt": "まず最初に、このチャットエクスペリエンスを開始するために生成AIコネクターを設定する必要があります。生成AIコネクターを使用すると、Azure OpenAI ServiceまたはOpenAI APIアカウントへのアクセスを設定できます。しかし、将来的にはElastic Cloudインスタンス内に独自のモデルをデプロイして、それをここで使うことができるようになると考えてください... 😉", + "xpack.elasticAssistant.securityAssistant.content.prompts.welcome.welcomeGeneral3Prompt": "会話を続けるには、以下の[コネクターの追加]ボタンをクリックしてください。", + "xpack.elasticAssistant.securityAssistant.content.prompts.welcome.welcomeGeneralPrompt": "Elastic AI Assistantへようこそ!Elasticを活用するための100%オープンコードのポータルです。いずれは、Elasticにあるすべての情報、そしてもっともっと多くのことについて、質問に答えたり、サポートを提供したりできるようになるでしょう。それまでは、この早期プレビューが、オープンな場で協力するときに生み出せるものの可能性を知るきっかけになることを願っています。どうぞよろしくお願いいたします。", "xpack.embeddableEnhanced.actions.panelNotifications.manyDrilldowns": "パネルには{count}個のドリルダウンがあります", "xpack.embeddableEnhanced.actions.panelNotifications.oneDrilldown": "パネルには 1 個のドリルダウンがあります", "xpack.embeddableEnhanced.Drilldowns": "ドリルダウン", @@ -11603,6 +12081,7 @@ "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.searchui.stepTwo.moreInfoDescription": "トラッカーの初期化およびイベントの発生については、{link}を参照してください。", "xpack.enterpriseSearch.analytics.collections.notFound.headingTitle": "\"{query}\"の結果が見つかりません。", "xpack.enterpriseSearch.analytics.collectionsView.explorer.tableSummary": "{items}/{totalItemsCount}ページを表示中", + "xpack.enterpriseSearch.analytics.collectionsView.explorer.tableSummaryIndeterminate": "最初の{maxItemsCount}件の結果のうち{items}件を表示中", "xpack.enterpriseSearch.appSearch.crawler.action.deleteDomain.confirmationPopupMessage": "ドメイン\"{domainUrl}\"とすべての設定を削除しますか?", "xpack.enterpriseSearch.appSearch.crawler.addDomainForm.entryPointLabel": "Webクローラーエントリポイントが{entryPointValue}として設定されました", "xpack.enterpriseSearch.appSearch.crawler.automaticCrawlSchedule.formDescription": "ご安心ください。クロールは自動的に開始されます。{readMoreMessage}。", @@ -11675,13 +12154,6 @@ "xpack.enterpriseSearch.appSearch.sourceEngines.removeEngineConfirmDialogue.description": "エンジン{engineName}はこのメタエンジンから削除されます。すべての既存の設定は失われます。よろしいですか?", "xpack.enterpriseSearch.content.crawler.domainDetail.title": "{domain}の管理", "xpack.enterpriseSearch.content.crawler.extractionRules.deleteModal.description": "このルールを削除すると、{fields, plural, other {#個のフィールドルール}}も削除されます。この操作は元に戻すことができません。", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.actions.removeIndex.caption": "インデックス{indexName}の削除", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.actions.viewIndex.caption": "インデックス{indexName}を表示", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.conflict.callout.title": "ここに表示されている以外に、その他の{totalConflictsHiddenByTypeFilters, number}件の{totalConflictsHiddenByTypeFilters, plural, other {不一致}}があります", - "xpack.enterpriseSearch.searchApplications.list.deleteSearchApplication.successToast.title": "{searchApplicationName}が削除されました。", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.headerSubTitle": "詳細については、{docsLink}を探索してください。", - "xpack.enterpriseSearch.searchApplications.list.indicesFlyout.subTitle": "{searchApplicationName}に関連付けられたインデックスを表示", - "xpack.enterpriseSearch.searchApplications.list.table.column.view.indices": "{indicesCount, number} {indicesCount, plural, other {インデックス}}", "xpack.enterpriseSearch.content.index.connector.syncRules.description": "同期ルールを追加して、{indexName}から同期されるデータをカスタマイズします。デフォルトではすべてが含まれます。ドキュメントは、リストの順序で、構成された同期ルールのセットに対して検証されます。", "xpack.enterpriseSearch.content.index.connector.syncRules.flyout.errorTitle": "同期{idsLength, plural, other {ルール}}{ids}{idsLength, plural, other {あります}}無効です。", "xpack.enterpriseSearch.content.index.pipelines.copyCustomizeCallout.description": "インデックスはデフォルトインジェストパイプライン\"{defaultPipeline}\"を使用しています。パイプラインをインデックス固有の構成にコピーし、カスタムインジェストと推論パイプラインを作成できるようにします。", @@ -11692,12 +12164,15 @@ "xpack.enterpriseSearch.content.indices.configurationConnector.config.defaultValue": "空にする場合は、デフォルト値の{defaultValue}が使用されます。", "xpack.enterpriseSearch.content.indices.configurationConnector.config.description.firstParagraph": "コネクターがデプロイされたので、カスタムデータソースのコネクタークライアントを強化します。独自の追加の実装ロジックを使用してカスタマイズ可能な複数の{link}があります。", "xpack.enterpriseSearch.content.indices.configurationConnector.config.description.thirdParagraph": "サポートが必要な場合は、いつでもリポジトリで{issuesLink}をオープンするか、{discussLink}フォーラムで質問することができます。", + "xpack.enterpriseSearch.content.indices.configurationConnector.config.invalidInteger": "{label}は整数でなければなりません。", "xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.connectorConnected": "コネクター{name}は、正常にエンタープライズ サーチに接続されました。", - "xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.description.secondParagraph": "コネクターリポジトリには、複数の{link}があり、当社のフレームワークを利用して、カスタムデータソースに対する高速デプロイを実施できるようになっています。", - "xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.description.thirdParagraph": "このステップでは、リポジトリを複製またはフォークし、生成されたAPIキーとコネクターIDを、関連付けられた{link}にコピーする必要があります。コネクターIDは、エンタープライズ サーチに対するこのコネクターを特定します。", + "xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.description.secondParagraph": "コネクターリポジトリには複数の{link}が含まれています。カスタムデータソースに対して高速開発のフレームワークを使用します。", + "xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.description.thirdParagraph": "このステップでは、リポジトリを複製またはフォークし、生成されたAPIキーとコネクターIDを、関連付けられた{link}にコピーする必要があります。コネクターIDは、エンタープライズ サーチに対するこのコネクターを特定します。サービスタイプは、コネクターが構成されているデータソースのタイプを決定します。", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.config.sourceSecurityDocumentationLinkLabel": "{name}認証", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.connectorConnected": "コネクター{name}は、正常にエンタープライズ サーチに接続されました。", + "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.convertConnector.description": "このネイティブコネクターをカスタマイズしますか?独自のインフラでセルフマネージドされる{link}に変換します。", "xpack.enterpriseSearch.content.indices.configurationConnector.researchConfiguration.serviceDocumentationLinkLabel": "{name} ドキュメント", + "xpack.enterpriseSearch.content.indices.connectorScheduling.page.description": "コネクターがデプロイされました。ここで、繰り返しコンテンツとアクセス制御同期をスケジュールします。簡易テストを実行する場合は、{sync}ボタンを使用してワンタイム同期を実行します。", "xpack.enterpriseSearch.content.indices.deleteIndex.successToast.title": "インデックス{indexName}と関連付けられたすべての統合構成が正常に削除されました", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.noModels.description": "推論パイプラインで使用できる学習済み機械学習モデルがありません。{documentationLink}", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.name.helpText": "パイプライン名はデプロイ内で一意であり、文字、数字、アンダースコア、ハイフンのみを使用できます。これにより、{pipelineName}という名前のパイプラインが作成されます。", @@ -11712,19 +12187,22 @@ "xpack.enterpriseSearch.content.indices.pipelines.successToastDeleteMlPipeline.title": "機械学習推論パイプライン\"{pipelineName}\"を削除しました", "xpack.enterpriseSearch.content.indices.pipelines.successToastDetachMlPipeline.title": "機械学習推論パイプラインを\"{pipelineName}\"からデタッチしました", "xpack.enterpriseSearch.content.indices.pipelines.tabs.jsonConfigurations.unmanaged.description": "スタック管理で{ingestPipelines}からこのパイプラインを編集", + "xpack.enterpriseSearch.content.indices.selectConnector.description.selfManaged.text": "高度なユースケースでは、独自のインフラに{connectorsClient}をデプロイします。既存のコネクターをカスタマイズするか、コネクターフレームワークを使用して独自のコネクターを作成します。{learnMore}", + "xpack.enterpriseSearch.content.indices.selectConnector.description.textcloud": "{native}は直接Elastic Cloudデプロイ内で使用できます。追加のインフラストラクチャーは必要ありません。セルフマネージドデプロイでは、ネイティブコネクターを実行するために、コネクターサービスをデプロイする必要があります。{learnMore}", "xpack.enterpriseSearch.content.new_index.connectorTitleWithServiceType": "新しい{name}検索インデックス", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.alreadyExists.error": "名前{indexName}のインデックスがすでに存在します", + "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.formDescription": "このインデックスには、データソースコンテンツが格納されます。また、デフォルトフィールドマッピングで最適化され、関連する検索エクスペリエンスを実現します。一意のインデックス名を指定し、任意でインデックスのデフォルト{language_analyzer}を設定します。", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.isInvalid.error": "{indexName}は無効なインデックス名です", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.nameInputHelpText.lineOne": "インデックスは次の名前になります:{indexName}", "xpack.enterpriseSearch.content.newIndex.steps.buildConnector.confirmModal.description": "削除されたインデックス{indexName}は、既存のコネクター構成に関連付けられていました。既存のコネクター構成を新しいコネクター構成で置き換えますか?", - "xpack.enterpriseSearch.searchApplications.list.description": "Searchアプリケーションでは、すぐに使える関連性、分析、およびパーソナライゼーションツールを利用して、エンドユーザーがElasticsearchデータを検索できるようにします。詳細については、{documentationUrl}。", - "xpack.enterpriseSearch.searchApplications.list.itemRange": "{total}件中{from}-{to}件を表示中", + "xpack.enterpriseSearch.content.overview.documentExample.description.text": "APIキーを生成し、ドキュメントをElasticsearch APIエンドポイントに送信する方法に関する{documentation}を読みます。統合を合理化するには、Elastic {clients}を使用します。", "xpack.enterpriseSearch.content.searchIndex.documents.documentList.description": "{total}件中{results}件を表示中。{maximum}ドキュメントが検索結果の最大数です。", "xpack.enterpriseSearch.content.searchIndex.documents.documentList.pagination.itemsPerPage": "毎秒あたりのドキュメント:{docPerPage}", "xpack.enterpriseSearch.content.searchIndex.documents.documentList.paginationOptions.option": "{docCount}ドキュメント", "xpack.enterpriseSearch.content.searchIndex.documents.documentList.resultLimit": "最初の{number}件の結果のみがページ制御できます。結果を絞り込むには、検索バーを使用してください。", "xpack.enterpriseSearch.content.searchIndex.documents.documentList.resultLimitTitle": "結果は{number}ドキュメントに制限されています", "xpack.enterpriseSearch.content.searchIndex.mappings.description": "ドキュメントには、複数のフィールドのセットがあります。インデックスマッピングでは、各フィールドに型({keyword}、{number}、{date})と、追加のサブフィールドが指定されます。これらのインデックスマッピングでは、関連性の調整と検索エクスペリエンスで使用可能な機能が決まります。", + "xpack.enterpriseSearch.content.searchIndex.nativeCloudCallout.content": "独自のインフラでセルフマネージドされる{link}に変換します。ネイティブコネクターはElastic Cloudデプロイでのみ使用できます。", "xpack.enterpriseSearch.content.searchIndices.actions.deleteIndex.caption": "インデックス{indexName}の削除", "xpack.enterpriseSearch.content.searchIndices.actions.viewIndex.caption": "インデックス{indexName}を表示", "xpack.enterpriseSearch.content.searchIndices.deleteModal.delete.description": "このインデックスを削除すると、すべてのデータと{ingestionMethod}構成も削除されます。すべての関連付けられた検索アプリケーションは、このインデックスに格納されたどのデータにもアクセスできなくなります。", @@ -11749,6 +12227,19 @@ "xpack.enterpriseSearch.errorConnectingState.cloudErrorMessage": "クラウドデプロイのエンタープライズ サーチノードが実行中ですか?{deploymentSettingsLink}", "xpack.enterpriseSearch.errorConnectingState.description1": "次のエラーのため、ホストURL {enterpriseSearchUrl}では、エンタープライズ サーチへの接続を確立できません:", "xpack.enterpriseSearch.errorConnectingState.description2": "ホストURLが{configFile}で正しく構成されていることを確認してください。", + "xpack.enterpriseSearch.esre.elser.description": "わずか数回のクリック操作で、簡単に{elser}をデプロイし、即時テキストセマンティック検索機能を実現できます。このモデルは、「text_expansion」フィールドを使用してドキュメントとクエリテキストを拡張し、すぐに使えるシームレスな検索を提供します。", + "xpack.enterpriseSearch.esre.elserPanel.step2.description": "インデックスを作成した後は、インデックスを選択し、{pipelinesName}タブをクリックします。", + "xpack.enterpriseSearch.esre.esreDocsSection.description": "ESREの基本操作と、具体的な例でこれらのツールをテストする方法の詳細については、{esreDocumentation}をご覧ください。", + "xpack.enterpriseSearch.esre.esreDocsSection.faq.description": "これらの{frequentlyAskedQuestions}でESREとは何かをご覧ください。", + "xpack.enterpriseSearch.esre.esreDocsSection.help.description": "ヘルプが必要な場合{discussForum}をご確認ください。", + "xpack.enterpriseSearch.esre.esreDocsSection.learn.description": "これらは複雑なトピックであるため、導入しやすいように、いくつかの{learningTopics}をまとめました。", + "xpack.enterpriseSearch.esre.measurePerformanceSection.description": "{behavioralAnalytics}ダッシュボードとツールを使用して、ユーザーの行動を可視化し、変更の影響を測定します。", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step1.description": "{behavioralAnalytics}にアクセスし、最初のコレクションを作成", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.description": "セマンティック分析、要約、固有表現抽出などの自然言語処理(NLP)ツールを使用し、検索結果の関連性を高めます。NLPは、ユーザーが読み込むことができる複数の{supportedMlModels}を使用して、ドキュメントをインテリジェントに分析し、フィールドを追加することでドキュメントを強化します。", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step3.description": "インデックスの{pipelinesName}タブに移動し、デプロイされたモデルで使用する推論パイプラインを作成します。", + "xpack.enterpriseSearch.esre.rrfRankingPanel.description": "{rrf}を使用して、複数の結果セットの評価を異なる関連性指標と組み合わせます。微調整は必要ありません。", + "xpack.enterpriseSearch.esre.vectorSearchPanel.description": "MLモデルから埋め込みを追加して、{vectorDbCapabilities}を使用します。Elastic MLノードに学習済みモデルをデプロイし、推論パイプラインを設定して、ドキュメントをインジェストしたときに自動的に埋め込みが追加されるようにします。これにより、_searchでkNNベクトル検索方法を使用できます。", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step3.description": "インデックスの{pipelinesName}タブに移動し、デプロイされたモデルで使用する推論パイプラインを作成します。", "xpack.enterpriseSearch.index.connector.syncRules.description": "上位のアイテム、ファイルタイプ、(ファイルまたはフォルダー)パスを追加または除外\n {indexName}から同期します。デフォルトではすべてが含まれています。各ドキュメントは\n 以下のルールに対してテストされ、最初の一致するルールが適用されます。", "xpack.enterpriseSearch.inferencePipelineCard.action.delete.disabledDescription": "この推論パイプラインは削除できません。複数のパイプライン[{indexReferences}]で使用されています。削除する前に、1つのインジェストパイプライン以外のすべてからこのパイプラインをデタッチする必要があります。", "xpack.enterpriseSearch.inferencePipelineCard.deleteConfirm.description": "パイプライン\"{pipelineName}\"を機械学習推論パイプラインから切り離し、削除しています。", @@ -11763,6 +12254,7 @@ "xpack.enterpriseSearch.server.routes.indices.existsErrorLogMessage": "{requestUrl}へのリクエストの解決中にエラーが発生しました", "xpack.enterpriseSearch.server.routes.indices.pipelines.indexMissingError": "インデックス{indexName}は存在しません", "xpack.enterpriseSearch.server.routes.indices.pipelines.pipelineMissingError": "パイプライン{pipelineName}は存在しません", + "xpack.enterpriseSearch.server.routes.indices.pipelines.pipelineNotFoundError": "パイプライン{pipelineName}は存在しません", "xpack.enterpriseSearch.server.utils.invalidEnumValue": "フィールド{fieldName}の不正な値{value}", "xpack.enterpriseSearch.setupGuide.cloud.step1.instruction1": "Elastic Cloudコンソールにアクセスし、{editDeploymentLink}。", "xpack.enterpriseSearch.setupGuide.cloud.step3.instruction1": "インスタンスのエンタープライズ サーチを有効にした後は、フォールトレランス、RAM、その他の{optionsLink}のように、インスタンスをカスタマイズできます。", @@ -11917,6 +12409,7 @@ "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptClientEmbed.title": "Javascriptクライアント", "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepOne.description": "追跡したいWebサイトまたはアプリケーションのすべてのページで、行動分析JavaScriptスニペットを埋め込みます。", "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepOne.title": "サイトに埋め込み", + "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepThree.description": "trackSearchまたはtrackSearchClickメソッドを使用して、結果クリックや検索などの個別の検索イベントを追跡します。", "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepThree.title": "検索イベントを追跡", "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepTwo.description": "イベントを追跡する前にクライアントを初期化する必要があります。scriptタグの直下で初期化することをお勧めします。", "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepTwo.title": "クライアントの初期化", @@ -11951,6 +12444,7 @@ "xpack.enterpriseSearch.analytics.collectionsCreate.form.label": "コレクション名", "xpack.enterpriseSearch.analytics.collectionsCreate.form.subtitle": "コレクションの名前を決定するときには慎重に検討してください。後から名前を変更することはできません。", "xpack.enterpriseSearch.analytics.collectionsCreate.form.title": "コレクション名を指定", + "xpack.enterpriseSearch.analytics.collectionsCreate.invalidName": "コレクション名には、小文字、数字、ハイフンのみを使用できます。", "xpack.enterpriseSearch.analytics.collectionsDelete.action.successMessage": "コレクションが正常に削除されました", "xpack.enterpriseSearch.analytics.collectionsView.explorer.callout.button": "探索", "xpack.enterpriseSearch.analytics.collectionsView.explorer.callout.description": "Discoverでイベントログを確認し、アプリケーションメトリックに関する詳細なインサイトを取得してください。", @@ -11965,7 +12459,7 @@ "xpack.enterpriseSearch.analytics.collectionsView.integration.corsStep.description": "Webサイトのドメインから分析APIエンドポイントへのリクエストを許可するには、CORSを構成する必要があります。このためには、次の内容をElasticsearch構成ファイルに追加します。", "xpack.enterpriseSearch.analytics.collectionsView.integration.corsStep.descriptionTwo": "あるいは、プロキシサーバーを使用して、Webサイトのドメインから分析APIエンドポイントに分析リクエストをルーティングすると、CORSの構成を避けることができます。", "xpack.enterpriseSearch.analytics.collectionsView.integration.corsStep.learnMoreLink": "行動分析のためのCORSの詳細をご覧ください。", - "xpack.enterpriseSearch.analytics.collectionsView.integration.description": "検索アプリケーションでトラッカーを簡単にインストールし、詳細な分析データを受信します。検索アプリケーションは必要ありません。", + "xpack.enterpriseSearch.analytics.collectionsView.integration.description": "アプリケーションまたはWebサイトでトラッカーを簡単にインストールし、詳細な分析データを受信します。", "xpack.enterpriseSearch.analytics.collectionsView.integration.title": "トラッカー統合", "xpack.enterpriseSearch.analytics.collectionsView.manageButton": "管理", "xpack.enterpriseSearch.analytics.collectionsView.manageEventsDatastream": "イベントデータストリームを管理", @@ -11983,7 +12477,8 @@ "xpack.enterpriseSearch.analytics.productDescription": "エンドユーザーの行動を可視化し、検索アプリケーションのパフォーマンスを測定するためのダッシュボードとツール。", "xpack.enterpriseSearch.analytics.productName": "Behavioral Analytics", "xpack.enterpriseSearch.analytics.searchPlaceholder": "コレクション名を検索", - "xpack.enterpriseSearch.applications.navTitle": "アプリケーション", + "xpack.enterpriseSearch.applications.navTitle": "検索アプリケーション", + "xpack.enterpriseSearch.applications.productName": "アプリケーション", "xpack.enterpriseSearch.appSearch.actions.restoreDefaultsButonLabel": "デフォルトを復元", "xpack.enterpriseSearch.appSearch.adminRoleTypeDescription": "アカウント設定の管理を除き、管理者はすべての操作を実行できます。", "xpack.enterpriseSearch.appSearch.allEnginesDescription": "すべてのエンジンへの割り当てには、後から作成および管理されるすべての現在および将来のエンジンが含まれます。", @@ -12102,7 +12597,7 @@ "xpack.enterpriseSearch.appSearch.crawler.deduplicationPanel.allFieldsLabel": "すべてのフィールド", "xpack.enterpriseSearch.appSearch.crawler.deduplicationPanel.learnMoreMessage": "コンテンツハッシュの詳細", "xpack.enterpriseSearch.appSearch.crawler.deduplicationPanel.resetToDefaultsButtonLabel": "デフォルトにリセット", - "xpack.enterpriseSearch.appSearch.crawler.deduplicationPanel.selectedFieldsLabel": "スクリプトフィールド", + "xpack.enterpriseSearch.appSearch.crawler.deduplicationPanel.selectedFieldsLabel": "選択したフィールド", "xpack.enterpriseSearch.appSearch.crawler.deduplicationPanel.showAllFieldsButtonLabel": "すべてのフィールドを表示", "xpack.enterpriseSearch.appSearch.crawler.deduplicationPanel.title": "ドキュメント処理を複製", "xpack.enterpriseSearch.appSearch.crawler.deleteDomainPanel.cannotUndoMessage": "これは元に戻せません。", @@ -12800,9 +13295,14 @@ "xpack.enterpriseSearch.appSearch.tokens.search.name": "公開検索キー", "xpack.enterpriseSearch.appSearch.tokens.update": "APIキー'{name}'が更新されました", "xpack.enterpriseSearch.automaticCrawlSchedule.title": "クロール頻度", + "xpack.enterpriseSearch.betaCalloutTitle": "ベータ機能", + "xpack.enterpriseSearch.betaConnectorCalloutDescription": "このコネクターはベータ版です。ベータ版の機能は変更される可能性があり、一般リリース(GA)機能のサポートSLAではカバーされません。Elasticは将来のリリースでこの機能をGAに昇格させる予定です。", + "xpack.enterpriseSearch.betaConnectorCalloutTitle": "ベータ版コネクター", "xpack.enterpriseSearch.betaLabel": "ベータ", "xpack.enterpriseSearch.connector.connectorTypePanel.title": "コネクタータイプ", "xpack.enterpriseSearch.connector.connectorTypePanel.unknown.label": "不明", + "xpack.enterpriseSearch.connector.documentLevelSecurity.enablePanel.description": "権限に基づいて、ユーザーがアクセスできるドキュメントを制御できます。これにより、検索結果は、ユーザーの役割に基づき、関連性のある許可された情報のみを返すようになります。", + "xpack.enterpriseSearch.connector.documentLevelSecurity.enablePanel.heading": "ドキュメントレベルのセキュリティ", "xpack.enterpriseSearch.connector.ingestionStatus.title": "インジェスチョンステータス", "xpack.enterpriseSearch.content,overview.documentExample.clientLibraries.label": "クライアントライブラリ", "xpack.enterpriseSearch.content.analytics.api.generateAnalyticsApiKeyModal.apiKeyWarning": "ElasticはAPIキーを保存しません。生成後は、1回だけキーを表示できます。必ず安全に保管してください。アクセスできなくなった場合は、この画面から新しいAPIキーを生成する必要があります。", @@ -12846,73 +13346,6 @@ "xpack.enterpriseSearch.content.crawler.extractionRulesTable.emptyMessageTitle": "コンテンツ抽出ルールがありません", "xpack.enterpriseSearch.content.crawler.siteMaps": "サイトマップ", "xpack.enterpriseSearch.content.description": "エンタープライズ サーチでは、さまざまな方法で簡単にデータを検索可能にできます。Webクローラー、Elasticsearchインデックス、API、直接アップロード、サードパーティコネクターから選択します。", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.apiKeyWarning": "ElasticはAPIキーを保存しません。生成後は、1回だけキーを表示できます。必ず安全に保管してください。アクセスできなくなった場合は、この画面から新しいAPIキーを生成する必要があります。", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.cancel": "キャンセル", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.csvDownloadButton": "APIキーのダウンロード", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.done": "完了", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.generateButton": "読み取り専用キーを生成", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.title": "検索アプリケーション読み取り専用APIキーを作成", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.actions.columnTitle": "アクション", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.actions.removeIndex.title": "このインデックスを検索アプリケーションから削除", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.actions.viewIndex.title": "このインデックスを表示", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addIndicesFlyout.cancelButton": "キャンセル", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addIndicesFlyout.selectableLabel": "検索可能なインデックスを選択", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addIndicesFlyout.submitButton": "選択項目を追加", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addIndicesFlyout.title": "新しいインデックスを追加", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addNewIndicesButton": "新しいインデックスを追加", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.docsCount.columnTitle": "ドキュメント数", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.docsCount.notAvailableLabel": "N/A", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.health.columnTitle": "インデックス正常性", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.name.columnTitle": "インデックス名", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.removeIndexConfirm.description": "インデックスは削除されません。後からこの検索アプリケーションに追加することができます。", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.removeIndexConfirm.text": "はい。このインデックスを削除します", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.removeIndexConfirm.title": "このインデックスを検索アプリケーションから削除", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.searchPlaceholder": "インデックスのフィルター", - "xpack.enterpriseSearch.searchApplications.indicesSelect.docsLabel": "ドキュメント:", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_indices.columnTitle": "すべてのインデックスにありますか?", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_indices.moreInfo": "詳細", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_indices.no": "いいえ", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_indices.yes": "はい", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_name.columnTitle": "フィールド名", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_type.columnTitle": "フィールド型", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_type.conflict": "競合", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.index.columnTitle": "親インデックス", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.notInAllIndices.description": "フィールドマッピングの詳細", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.notInAllIndices.link": "Elasticのドキュメント。", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.notInAllIndices.title": "このフィールドはすべてのインデックスでマッピングされていません。", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.type.columnTitle": "マッピングされたフィールド", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.type.unmapped": "マッピングなし", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters": "フィールド型", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.clearAll": "すべて消去 ", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.conflict.callout.clearFilters": "フィルターを消去 ", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.conflict.callout.subTitle": "すべてのフィールドの不一致を表示するには、フィールドフィルターをクリアする必要があります", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.label": "フィルタリング条件", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.searchPlaceholder": "リストをフィルター ", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.onlyShowConflicts": "不一致のみを表示", - "xpack.enterpriseSearch.searchApplications.list.deleteSearchApplicationModal.confirmButton.title": "はい。この検索アプリケーションを削除します", - "xpack.enterpriseSearch.searchApplications.list.deleteSearchApplicationModal.delete.description": "検索アプリケーショを削除すると、元に戻せません。インデックスには影響しません。", - "xpack.enterpriseSearch.searchApplications.list.deleteSearchApplicationModal.title": "この検索アプリケーションを完全に削除しますか?", - "xpack.enterpriseSearch.searchApplications.list.table.column.actions.deleteSearchApplicationLabel": "この検索アプリケーションを削除", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.header.createError.title": "検索アプリケーションの作成エラー", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.header.docsLink": "検索アプリケーションドキュメント", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.headerTitle": "検索アプリケーションを作成", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.searchApplicationName.placeholder": "検索アプリケーション名", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.searchApplicationName.title": "検索アプリケーションの名前を指定", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.selectIndices.title": "インデックスを選択", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.submit": "作成", - "xpack.enterpriseSearch.searchApplications.list.empty.description": "最初の検索アプリケーションの作成を説明します。", - "xpack.enterpriseSearch.searchApplications.list.empty.title": "最初の検索アプリケーションを作成", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addIndicesFlyout.updateError.title": "エンジンの更新エラー", - "xpack.enterpriseSearch.searchApplications.list.indicesFlyout.table.docsCount.columnTitle": "ドキュメント数", - "xpack.enterpriseSearch.searchApplications.list.indicesFlyout.table.health.columnTitle": "インデックス正常性", - "xpack.enterpriseSearch.searchApplications.list.indicesFlyout.table.name.columnTitle": "インデックス名", - "xpack.enterpriseSearch.searchApplications.list.indicesFlyout.title": "インデックスを表示", - "xpack.enterpriseSearch.searchApplications.list.table.column.action.delete.buttonDescription": "この検索アプリケーションを削除", - "xpack.enterpriseSearch.searchApplications.list.table.column.actions": "アクション", - "xpack.enterpriseSearch.searchApplications.list.table.column.actions.view.buttonDescription": "この検索アプリケーションを表示", - "xpack.enterpriseSearch.searchApplications.list.table.column.indices": "インデックス", - "xpack.enterpriseSearch.searchApplications.list.table.column.lastUpdated": "最終更新", - "xpack.enterpriseSearch.searchApplications.list.table.column.name": "検索アプリケーション名", "xpack.enterpriseSearch.content.filteringRules.policy.exclude": "除外", "xpack.enterpriseSearch.content.filteringRules.policy.include": "含める", "xpack.enterpriseSearch.content.filteringRules.rules.contains": "を含む", @@ -12931,6 +13364,7 @@ "xpack.enterpriseSearch.content.index.connector.syncRules.basicRulesDescription": "これらのルールは、統合フィルタリングフェーズ中にドキュメントに適用されます。", "xpack.enterpriseSearch.content.index.connector.syncRules.basicRulesTitle": "基本ルール", "xpack.enterpriseSearch.content.index.connector.syncRules.basicTabTitle": "基本ルール", + "xpack.enterpriseSearch.content.index.connector.syncRules.flyout.betaDescription": "同期ルールはベータ機能です。ベータ版の機能は変更される可能性があり、一般リリース(GA)機能のサポートSLAではカバーされません。Elasticは将来のリリースでこの機能をGAに昇格させる予定です。", "xpack.enterpriseSearch.content.index.connector.syncRules.flyout.description": "次回の同期に適用する前に、ここでルールを計画して編集してください。", "xpack.enterpriseSearch.content.index.connector.syncRules.flyout.revertButtonTitle": "アクティブなルールに戻す", "xpack.enterpriseSearch.content.index.connector.syncRules.flyout.title": "ドラフトルール", @@ -12955,16 +13389,29 @@ "xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.modalBodyConnectorText": "このパイプラインは、エンタープライズ サーチで作成されたすべてのクローラーおよびコネクターインデックスで自動的に実行されます。", "xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.modalHeaderTitle": "パイプライン設定", "xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.modalIngestLinkLabel": "エンタープライズ サーチインジェストパイプラインの詳細", + "xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.modalIngestLinkLocalExtractionLabel": "ローカルコンテンツ抽出の詳細をご覧ください。", "xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.saveButtonLabel": "保存", "xpack.enterpriseSearch.content.index.pipelines.settings.extractBinaryDescription": "画像およびPDFファイルからコンテンツを抽出", + "xpack.enterpriseSearch.content.index.pipelines.settings.extractBinaryDisabledWarningContent": "このコネクターではローカルコンテンツ抽出が有効になっているため、パイプラインコンテンツ抽出設定は使用できません。", + "xpack.enterpriseSearch.content.index.pipelines.settings.extractBinaryDisabledWarningTitle": "コンテンツ抽出を構成できません", "xpack.enterpriseSearch.content.index.pipelines.settings.extractBinaryLabel": "コンテンツ抽出", "xpack.enterpriseSearch.content.index.pipelines.settings.formHeader": "検索するコンテンツを最適化", "xpack.enterpriseSearch.content.index.pipelines.settings.mlInferenceLabel": "ML推論パイプライン", "xpack.enterpriseSearch.content.index.pipelines.settings.reduceWhitespaceDescription": "ドキュメントの不要な空白を自動的に削除", "xpack.enterpriseSearch.content.index.pipelines.settings.reduceWhitespaceLabel": "空白の削除", "xpack.enterpriseSearch.content.index.pipelines.settings.runMlInferenceDescrition": "互換性がある学習済みMLモデルを使用してデータを強化", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.deployedBody": "テスト用にシングルスレッド構成でモデルを起動するか本番環境用にパフォーマンスをチューニングすることができます。", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.deployedTitle": "ELSERモデルはデプロイされましたが、起動していません。", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.deployingBody": "その間、アップロードされた他のモデルを使ってパイプラインの作成を続けることができます。", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.deployingTitle": "ELSERモデルをデプロイしています。", "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.dismissButton": "ELSERコールアウトを閉じる", "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.learnMoreLink": "詳細", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedBody": "カスタム推論パイプラインでELSERの能力をお試しください。", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedSingleThreadedBody": "このシングルスレッド構成は、カスタム推論パイプラインのテストには最適ですが、本番環境ではパフォーマンスを微調整する必要があります。", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedSingleThreadedTitle": "ELSERモデルはシングルスレッドで起動しました。", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedSingleThreadedTitleCompact": "ELSERモデルはシングルスレッドで実行中です。", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedTitle": "ELSERモデルが起動しました。", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedTitleCompact": "ELSERモデルは実行中です。", "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.title": "ELSERで結果を改善", "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.titleBadge": "新規", "xpack.enterpriseSearch.content.index.searchApplication.createSearchApplication": "検索アプリケーションを作成", @@ -13028,8 +13475,11 @@ "xpack.enterpriseSearch.content.indices.configurationConnector.nameAndDescriptionFlyout.saveButtonLabel": "名前と説明を保存", "xpack.enterpriseSearch.content.indices.configurationConnector.nameAndDescriptionFlyout.title": "このクローラーの説明", "xpack.enterpriseSearch.content.indices.configurationConnector.nameAndDescriptionForm.description": "このコネクターの名前と説明を設定すると、他のユーザーやチームでもこのコネクターの目的がわかります。", - "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.config.encryptionWarningMessage": "このベータ版では、データソース資格情報の暗号化を使用できません。データソース資格情報は、暗号化されずに、Elasticsearchに保存されます。", + "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.config.encryptionWarningMessage": "このバージョンでは、データソース資格情報の暗号化を使用できません。データソース資格情報は、暗号化されずに、Elasticsearchに保存されます。", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.config.securityDocumentationLinkLabel": "Elasticsearchセキュリティの詳細", + "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.convertConnector.buttonTitle": "コネクターを変換", + "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.convertConnector.linkTitle": "コネクタークライアント", + "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.convertConnector.title": "コネクターをカスタマイズ", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.schedulingReminder.description": "必ず[スケジュール]タブで同期スケジュールを設定し、検索可能データを継続的に更新してください。", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.schedulingReminder.title": "設定可能な同期スケジュール", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.securityReminder.description": "クエリ時にユーザーに割り当てられているインデックスドキュメントの読み取りアクセス権を制限、パーソナライズします。", @@ -13043,7 +13493,7 @@ "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnectorAdvancedConfiguration.schedulingButtonLabel": "スケジュールを設定して同期", "xpack.enterpriseSearch.content.indices.configurationConnector.researchConfiguration.connectorDocumentationLinkLabel": "ドキュメント", "xpack.enterpriseSearch.content.indices.configurationConnector.researchConfiguration.description": "このコネクターは複数の認証方法をサポートします。正しい接続資格情報については、管理者に確認してください。", - "xpack.enterpriseSearch.content.indices.configurationConnector.scheduleSync.description": "コネクターの構成を最適な状態に調整した後は、必ず、繰り返し同期スケジュールを設定し、ドキュメントにインデックスが作成され、関連性があることを確認してください。同期スケジュールを有効化せずに、ワンタイム同期をトリガーすることもできます。", + "xpack.enterpriseSearch.content.indices.configurationConnector.scheduleSync.description": "構成すると、定期的な同期スケジュールを設定し、長期間ドキュメントの同期を維持します。また、1回限りの同期をトリガーすることもできます。", "xpack.enterpriseSearch.content.indices.configurationConnector.scheduling.successToast.title": "スケジュールは正常に更新されました", "xpack.enterpriseSearch.content.indices.configurationConnector.steps.deployConnector.title": "コネクターをデプロイ", "xpack.enterpriseSearch.content.indices.configurationConnector.steps.enhance.title": "コネクタークライアントを強化", @@ -13061,13 +13511,24 @@ "xpack.enterpriseSearch.content.indices.configurationConnector.warning.description": "コネクタークライアントを確定する前に、1つ以上のドキュメントを同期した場合、検索インデックスを再作成する必要があります。", "xpack.enterpriseSearch.content.indices.connector.syncRules.advancedRules.error": "JSON形式が無効です", "xpack.enterpriseSearch.content.indices.connector.syncRules.advancedRules.title": "詳細ルール", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.accessControlSync.description": "アクセス制御同期をスケジュールし、権限マッピングを常に最新の状態に保ちます。", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.accessControlSync.title": "アクセス制御同期", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.fullSync.description": "データソースからすべてのデータを同期します。", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.fullSync.title": "完全なコンテンツ同期", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.incrementalSync.description": "データソースから更新されたコンテンツのみを取得する軽量な同期ジョブです。", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.incrementalSync.title": "増分コンテンツ同期", "xpack.enterpriseSearch.content.indices.connectorScheduling.error.title": "報告されたエラーのコネクター構成を確認します。", "xpack.enterpriseSearch.content.indices.connectorScheduling.notConnected.button.label": "構成", "xpack.enterpriseSearch.content.indices.connectorScheduling.notConnected.description": "コネクターを構成してデプロイし、ここに戻って、同期スケジュールを設定します。このスケジュールは、コネクターが更新されたドキュメントのデータソースと同期する間隔を指定します。", "xpack.enterpriseSearch.content.indices.connectorScheduling.notConnected.title": "同期をスケジュールするようにコネクターを構成", + "xpack.enterpriseSearch.content.indices.connectorScheduling.page.sync.label": "同期", "xpack.enterpriseSearch.content.indices.connectorScheduling.resetButton.label": "リセット", "xpack.enterpriseSearch.content.indices.connectorScheduling.saveButton.label": "保存", - "xpack.enterpriseSearch.content.indices.connectorScheduling.switch.label": "次のスケジュールで繰り返し同期を有効にする", + "xpack.enterpriseSearch.content.indices.connectorScheduling.schedulePanel.contentSync.description": "Elasticsearchドキュメントを作成または更新するためにコンテンツを取得します。", + "xpack.enterpriseSearch.content.indices.connectorScheduling.schedulePanel.contentSync.title": "コンテンツ同期", + "xpack.enterpriseSearch.content.indices.connectorScheduling.schedulePanel.documentLevelSecurity.description": "権限とロールに基づいて、ユーザーがアクセスできるドキュメントを制御します。これらのアクセス制御を最新の状態に保つために、同期をスケジュールします。", + "xpack.enterpriseSearch.content.indices.connectorScheduling.schedulePanel.documentLevelSecurity.title": "ドキュメントレベルのセキュリティ", + "xpack.enterpriseSearch.content.indices.connectorScheduling.switch.label": "有効", "xpack.enterpriseSearch.content.indices.connectorScheduling.unsaved.title": "変更を保存していません。移動しますか?", "xpack.enterpriseSearch.content.indices.defaultPipelines.successToast.title": "デフォルトパイプラインが正常に更新されました", "xpack.enterpriseSearch.content.indices.extractionRules.addContentField.title": "コンテンツフィールドルールを追加", @@ -13079,7 +13540,7 @@ "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.extractAs.stringLabel": "文字列", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.extractedLabel": "抽出された値", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.fixedLabel": "固定値", - "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.htmlLabel": "CSSセレクター", + "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.htmlLabel": "CSSセレクターまたはXPath式", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.label": "コンテンツを使用", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.requiredError": "このコンテンツフィールドの値は必須です", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.title": "コンテンツ", @@ -13102,7 +13563,7 @@ "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.source.urlLabel": "URL", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.title": "コンテンツフィールドルールを編集", "xpack.enterpriseSearch.content.indices.extractionRules.editRule.cancelButtonLabel": "キャンセル", - "xpack.enterpriseSearch.content.indices.extractionRules.editRule.contentField.cssSelectorsLink": "CSSセレクターの詳細をご覧ください", + "xpack.enterpriseSearch.content.indices.extractionRules.editRule.contentField.cssSelectorsLink": "CSSセレクターとXPath式の詳細", "xpack.enterpriseSearch.content.indices.extractionRules.editRule.contentField.differentContentLink": "さまざまな種類のコンテンツの保存に関する詳細をご覧ください", "xpack.enterpriseSearch.content.indices.extractionRules.editRule.contentField.urlPatternsLinks": "URLパターンの詳細をご覧ください", "xpack.enterpriseSearch.content.indices.extractionRules.editRule.descriptionError": "コンテンツ抽出ルールの説明は必須です", @@ -13149,6 +13610,7 @@ "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.modelLabel": "学習済みMLモデルを選択", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.nameLabel": "名前", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.namePlaceholder": "このパイプラインの一意の名前を入力", + "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.pipelineNameExistsError": "名前はすでに別のパイプラインで使用されています。", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.title": "パイプラインを作成または入力", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.titleSelectTrainedModel": "学習済みMLモデルを選択", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.fields.actions": "アクション", @@ -13160,7 +13622,7 @@ "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.fields.fieldMappings.sourceFieldHeader": "ソースフィールド", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.fields.fieldMappings.tableCaption": "フィールドマッピング", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.fields.fieldMappings.targetFieldHeader": "ターゲットフィールド", - "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.fields.selectedFields": "スクリプトフィールド", + "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.fields.selectedFields": "選択したフィールド", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.fields.sourceField.error.docLink": "フィールドマッピングの詳細", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.fields.sourceField.helpText": "既存のフィールドを選択するか、フィールド名を入力してください。", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.fields.sourceField.placeholder": "スキーマフィールドを選択", @@ -13202,7 +13664,7 @@ "xpack.enterpriseSearch.content.indices.pipelines.missingPipeline.title": "カスタムパイプラインがありません", "xpack.enterpriseSearch.content.indices.pipelines.mlInference.addButton.defaultIngestPipeline.disabledTooltip": "機械学習推論パイプラインプロセッサーをデフォルトインジェストパイプラインに追加できません。まず、デフォルトインジェストパイプラインをコピーしてカスタマイズし、機械学習推論パイプラインプロセッサーを追加する必要があります。", "xpack.enterpriseSearch.content.indices.pipelines.mlInference.addButton.mlInferenceDisabled.disabledTooltip": "インジェストパイプラインでML推論パイプラインを有効化し、ML推論パイプラインプロセッサーを追加する必要があります。", - "xpack.enterpriseSearch.content.indices.pipelines.mlInference.addButton.mlPermissions.disabledTooltip": "このクラスターで機械学習ジョブの権限がありません。", + "xpack.enterpriseSearch.content.indices.pipelines.mlInference.addButton.mlPermissions.disabledTooltip": "このクラスターで機械学習を使用する権限がありません。", "xpack.enterpriseSearch.content.indices.pipelines.mlInference.addButtonLabel": "推論パイプラインの追加", "xpack.enterpriseSearch.content.indices.pipelines.mlInferencePipelines.docLink": "Elasticでの機械学習モデルのデプロイの詳細", "xpack.enterpriseSearch.content.indices.pipelines.mlInferencePipelines.subtitle": "推論パイプラインは、エンタープライズ サーチインジェストパイプラインからのプロセッサーとして実行されます", @@ -13237,8 +13699,21 @@ "xpack.enterpriseSearch.content.indices.pipelines.tabs.pipelineInferenceLogs.tableColumn.message": "エラーメッセージ", "xpack.enterpriseSearch.content.indices.pipelines.tabs.pipelineInferenceLogs.tableColumn.timestamp": "タイムスタンプ", "xpack.enterpriseSearch.content.indices.pipelines.tabs.pipelineInferenceLogs.title": "推論エラー", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCallOut.deployButton.label": "デプロイ", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCallOut.fineTuneModelButton": "パフォーマンスの微調整", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCallOut.startModelButton.label": "シングルスレッドで起動", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCallOut.viewModelsButton": "詳細を表示", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCreateError.mlNotificationsLink": "機械学習通知", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCreateError.title": "ELSERデプロイエラー", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionFetchError.title": "ELSERモデルの取得エラー", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionStartError.title": "ELSERデプロイの起動エラー", + "xpack.enterpriseSearch.content.indices.searchIndex.convertConnector.buttonLabel": "コネクターを変換", + "xpack.enterpriseSearch.content.indices.selectConnector.callout.description.connectorsClient": "コネクタークライアント", + "xpack.enterpriseSearch.content.indices.selectConnector.callout.description.native": "ネイティブコネクター", + "xpack.enterpriseSearch.content.indices.selectConnector.callout.title": "Elasticコネクター", "xpack.enterpriseSearch.content.indices.selectConnector.connectorCheckable.documentationLinkLabel": "ドキュメント", - "xpack.enterpriseSearch.content.indices.selectConnector.description": "検索コネクターはサードパーティソースからデータを同期します。", + "xpack.enterpriseSearch.content.indices.selectConnector.connectorCheckable.techPreviewLabel": "テクニカルプレビュー", + "xpack.enterpriseSearch.content.indices.selectConnector.description": "Elasticと同期するサードパーティのデータソースを選択します。", "xpack.enterpriseSearch.content.indices.selectConnector.title": "コネクターを選択", "xpack.enterpriseSearch.content.indices.transforms.addInferencePipelineModal.footer.attach": "接続", "xpack.enterpriseSearch.content.indices.transforms.addInferencePipelineModal.footer.create": "パイプラインの作成", @@ -13269,8 +13744,10 @@ "xpack.enterpriseSearch.content.ml_inference.text_expansion": "ELSERテキスト拡張", "xpack.enterpriseSearch.content.ml_inference.zero_shot_classification": "ゼロショットテキスト分類", "xpack.enterpriseSearch.content.nativeConnectors.azureBlob.name": "Azure Blob Storage", + "xpack.enterpriseSearch.content.nativeConnectors.confluence.name": "Confluence Cloud & Server", "xpack.enterpriseSearch.content.nativeConnectors.customConnector.name": "カスタマイズされたコネクター", "xpack.enterpriseSearch.content.nativeConnectors.googleCloud.name": "Google Cloud Storage", + "xpack.enterpriseSearch.content.nativeConnectors.jira.name": "Jira Cloud & Server", "xpack.enterpriseSearch.content.nativeConnectors.microsoftSQL.name": "Microsoft SQL", "xpack.enterpriseSearch.content.nativeConnectors.mongodb.name": "MongoDB", "xpack.enterpriseSearch.content.nativeConnectors.mysql.name": "MySQL", @@ -13278,12 +13755,14 @@ "xpack.enterpriseSearch.content.nativeConnectors.oracle.name": "Oracle", "xpack.enterpriseSearch.content.nativeConnectors.postgresql.name": "PostgreSQL", "xpack.enterpriseSearch.content.nativeConnectors.s3.name": "S3", + "xpack.enterpriseSearch.content.nativeConnectors.sharepoint_online.name": "Sharepoint Online", "xpack.enterpriseSearch.content.navTitle": "コンテンツ", - "xpack.enterpriseSearch.content.new_index.apiDescription": "検索インデックスにはデータが格納されます。", + "xpack.enterpriseSearch.content.new_index.apiDescription": "プログラム的にElasticsearchインデックスにドキュメントを追加するにはAPIを使用します。パイプラインを作成して開始", "xpack.enterpriseSearch.content.new_index.apiTitle": "新しい検索インデックス", + "xpack.enterpriseSearch.content.new_index.connectorDescriptionWithServiceType": "コネクターを使用して、データソースからデータを同期、抽出、変換、インデックス化します。コネクターはElasticsearchのインデックスに直接書き込むElastic統合です。", "xpack.enterpriseSearch.content.new_index.connectorTitle": "新しいコネクターの検索インデックス", - "xpack.enterpriseSearch.content.new_index.crawlerDescription": "検索インデックスには、Webクローラーのデータが格納されます。", - "xpack.enterpriseSearch.content.new_index.crawlerTitle": "新しいWebクローラーの検索インデックス", + "xpack.enterpriseSearch.content.new_index.crawlerDescription": "Webクローラーを使用して、Webサイトやナレッジベースから検索可能なコンテンツをプログラムで検出、抽出、インデックス化します。", + "xpack.enterpriseSearch.content.new_index.crawlerTitle": "Webクローラー検索インデックス", "xpack.enterpriseSearch.content.new_index.defaultDescription": "検索インデックスにはデータが格納されます。", "xpack.enterpriseSearch.content.new_index.genericTitle": "新しい検索インデックス", "xpack.enterpriseSearch.content.new_index.successToast.title": "インデックスが正常に作成されました", @@ -13295,13 +13774,16 @@ "xpack.enterpriseSearch.content.newIndex.methodCard.api.description": "APIに接続してプログラムでドキュメントを追加", "xpack.enterpriseSearch.content.newIndex.methodCard.api.label": "APIを使用", "xpack.enterpriseSearch.content.newIndex.methodCard.api.title": "API", - "xpack.enterpriseSearch.content.newIndex.methodCard.connector.description": "コネクターフレームワークを使用すると、カスタムデータソースのコネクターをすばやく構築できます。", + "xpack.enterpriseSearch.content.newIndex.methodCard.connector.description": "ネイティブまたはカスタマイズされたコネクターを使用して、データソースからデータを抽出、変換、インデックス化、同期します。", "xpack.enterpriseSearch.content.newIndex.methodCard.connector.label": "コネクターを使用", "xpack.enterpriseSearch.content.newIndex.methodCard.connector.title": "コネクター", - "xpack.enterpriseSearch.content.newIndex.methodCard.crawler.description": "すべてのWebサイトコンテンツを検出、抽出、インデックス作成、同期", + "xpack.enterpriseSearch.content.newIndex.methodCard.crawler.description": "Webサイトやナレッジベースから検索可能なコンテンツを検出、抽出、インデックス化します。", "xpack.enterpriseSearch.content.newIndex.methodCard.crawler.label": "Webクローラーを使用", + "xpack.enterpriseSearch.content.newIndex.methodCard.crawler.nocodeLabel": "コードなし", "xpack.enterpriseSearch.content.newIndex.methodCard.crawler.title": "Webクローラー", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.createIndex.buttonText": "インデックスの作成", + "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.formDescription.linkText": "言語アナライザー", + "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.formTitle": "Elasticsearchインデックスを作成", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.languageInputHelpText": "言語は後から変更できますが、再インデックスが必要になる場合があります", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.languageInputLabel": "言語アナライザー", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.learnMoreApis.linkText": "インジェストAPIの詳細", @@ -13311,8 +13793,13 @@ "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.nameInputHelpText.lineTwo": "名前は小文字で入力してください。スペースや特殊文字は使用できません。", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.nameInputLabel": "インデックス名", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.nameInputPlaceholder": "インデックスの名前を設定", - "xpack.enterpriseSearch.content.newIndex.pageDescription": "インジェスチョン方法を選択し、検索が最適化されたElasticsearchインデックスを作成します。", + "xpack.enterpriseSearch.content.newIndex.pageDescription": "検索に最適化されたElasticsearchインデックスを作成し、コンテンツを保存します。まず、インジェスト方法を選択します。", "xpack.enterpriseSearch.content.newIndex.pageTitle": "インジェスチョン方法を選択", + "xpack.enterpriseSearch.content.newIndex.selectConnector.manageLicenseButtonLabel": "ライセンスの管理", + "xpack.enterpriseSearch.content.newIndex.selectConnector.openPopoverLabel": "ライセンスポップオーバーを開く", + "xpack.enterpriseSearch.content.newIndex.selectConnector.subscriptionButtonLabel": "サブスクリプションオプション", + "xpack.enterpriseSearch.content.newIndex.selectConnector.upgradeContent": "このコネクターを使用するには、ライセンスをPlatinumに更新するか、30日間の無料トライアルを開始する必要があります。", + "xpack.enterpriseSearch.content.newIndex.selectConnector.upgradeTitle": "Elastic Platinum へのアップグレード", "xpack.enterpriseSearch.content.newIndex.steps.buildConnector.confirmModal.cancelButton.label": "キャンセル", "xpack.enterpriseSearch.content.newIndex.steps.buildConnector.confirmModal.confirmButton.label": "構成を置換", "xpack.enterpriseSearch.content.newIndex.steps.buildConnector.confirmModal.title": "既存のコネクターを置換", @@ -13337,6 +13824,8 @@ "xpack.enterpriseSearch.content.overview.documentExample.clientLibraries.python": "Python", "xpack.enterpriseSearch.content.overview.documentExample.clientLibraries.ruby": "Ruby", "xpack.enterpriseSearch.content.overview.documentExample.clientLibraries.rust": "Rust", + "xpack.enterpriseSearch.content.overview.documentExample.description.clientsLink": "プログラミング言語クライアント", + "xpack.enterpriseSearch.content.overview.documentExample.description.documentationLink": "ドキュメンテーション", "xpack.enterpriseSearch.content.overview.documentExample.generateApiKeyButton.label": "APIキーの管理", "xpack.enterpriseSearch.content.overview.documentExample.title": "ドキュメントをインデックスに追加しています", "xpack.enterpriseSearch.content.overview.emptyPrompt.body": "外部で管理されているインデックスにはドキュメントを追加しないようにすることをお勧めします。", @@ -13349,18 +13838,6 @@ "xpack.enterpriseSearch.content.overview.generateApiKeyModal.learnMore": "APIキーの詳細", "xpack.enterpriseSearch.content.overview.generateApiKeyModal.title": "APIキーを生成", "xpack.enterpriseSearch.content.overview.optimizedRequest.label": "エンタープライズ サーチで最適化されたリクエストを表示", - "xpack.enterpriseSearch.searchApplications.searchApplication.connect.pageTitle": "接続", - "xpack.enterpriseSearch.searchApplications.searchApplication.content.indicesTabTitle": "インデックス", - "xpack.enterpriseSearch.searchApplications.searchApplication.content.pageTitle": "コンテンツ", - "xpack.enterpriseSearch.searchApplications.searchApplication.content.schemaTabTitle": "スキーマ", - "xpack.enterpriseSearch.searchApplications.list.createSearchApplicationButton.label": "作成", - "xpack.enterpriseSearch.searchApplications.list.createSearchApplicationTechnicalPreviewPopover.body": "この機能はテクニカルプレビュー中であり、将来のリリースでは変更されたり完全に削除されたりする場合があります。Elasticは最善の努力を講じてすべての問題の修正に努めますが、テクニカルプレビュー中の機能には正式なGA機能のサポートSLAが適用されません。", - "xpack.enterpriseSearch.searchApplications.list.createSearchApplicationTechnicalPreviewPopover.title": "テクニカルプレビュー", - "xpack.enterpriseSearch.searchApplications.list.documentation": "検索アプリケーションのドキュメントを見る", - "xpack.enterpriseSearch.searchApplications.list.searchBar.ariaLabel": "検索アプリケーション", - "xpack.enterpriseSearch.searchApplications.list.searchBar.placeholder": "検索アプリケーション", - "xpack.enterpriseSearch.searchApplications.list.searchBar.description": "名前または含まれているインデックスで検索アプリケーションを検索します。", - "xpack.enterpriseSearch.searchApplications.list.title": "検索アプリケーション", "xpack.enterpriseSearch.content.searchIndex.cancelSyncs.successMessage": "同期が正常にキャンセルされました", "xpack.enterpriseSearch.content.searchIndex.configurationTabLabel": "構成", "xpack.enterpriseSearch.content.searchIndex.connectorErrorCallOut.title": "コネクターでエラーが発生しました", @@ -13369,14 +13846,22 @@ "xpack.enterpriseSearch.content.searchIndex.documents.documentList.paginationAriaLabel": "ドキュメントリストのページ制御", "xpack.enterpriseSearch.content.searchIndex.documents.noMappings": "インデックスドキュメントが見つかりません", "xpack.enterpriseSearch.content.searchIndex.documents.searchField.placeholder": "このインデックスでドキュメントを検索", + "xpack.enterpriseSearch.content.searchIndex.documents.selector.accessControl.description": "ドキュメントレベルのセキュリティフィールドを参照", + "xpack.enterpriseSearch.content.searchIndex.documents.selector.accessControl.title": "アクセス制御インデックス", + "xpack.enterpriseSearch.content.searchIndex.documents.selector.contentIndex.description": "コンテンツフィールドを参照", + "xpack.enterpriseSearch.content.searchIndex.documents.selector.contentIndex.title": "コンテンツインデックス", "xpack.enterpriseSearch.content.searchIndex.documents.title": "ドキュメントを参照", "xpack.enterpriseSearch.content.searchIndex.documentsTabLabel": "ドキュメント", "xpack.enterpriseSearch.content.searchIndex.domainManagementTabLabel": "ドメインを管理", + "xpack.enterpriseSearch.content.searchIndex.index.accessControlSyncSuccess.message": "アクセス制御同期が正常にスケジュールされました。コネクターによって取得されるのを待機しています", + "xpack.enterpriseSearch.content.searchIndex.index.incSyncSuccess.message": "増分同期が正常にスケジュールされました。コネクターによって取得されるのを待機しています", "xpack.enterpriseSearch.content.searchIndex.index.recheckSuccess.message": "コネクターは再チェックされました。", "xpack.enterpriseSearch.content.searchIndex.index.syncSuccess.message": "同期が正常にスケジュールされました。コネクターによって取得されるのを待機しています", "xpack.enterpriseSearch.content.searchIndex.indexMappingsTabLabel": "インデックスマッピング", "xpack.enterpriseSearch.content.searchIndex.mappings.docLink": "詳細", "xpack.enterpriseSearch.content.searchIndex.mappings.title": "インデックスマッピングについて", + "xpack.enterpriseSearch.content.searchIndex.nativeCloudCallout.connectorClient": "コネクタークライアント", + "xpack.enterpriseSearch.content.searchIndex.nativeCloudCallout.title": "ネイティブコネクターはElastic Cloud以外ではサポートされなくなりました", "xpack.enterpriseSearch.content.searchIndex.nav.documentsTitle": "ドキュメント", "xpack.enterpriseSearch.content.searchIndex.nav.indexMappingsTitle": "インデックスマッピング", "xpack.enterpriseSearch.content.searchIndex.nav.overviewTitle": "概要", @@ -13412,6 +13897,7 @@ "xpack.enterpriseSearch.content.searchIndices.deleteModal.syncsWarning.title": "同期実行中", "xpack.enterpriseSearch.content.searchIndices.docsCount.columnTitle": "ドキュメント数", "xpack.enterpriseSearch.content.searchIndices.health.columnTitle": "インデックス正常性", + "xpack.enterpriseSearch.content.searchIndices.identitySync.columnTitle": "IDが同期されました", "xpack.enterpriseSearch.content.searchIndices.ingestionMethod.api": "API", "xpack.enterpriseSearch.content.searchIndices.ingestionMethod.columnTitle": "インジェスチョン方法", "xpack.enterpriseSearch.content.searchIndices.ingestionMethod.connector": "コネクター", @@ -13442,6 +13928,7 @@ "xpack.enterpriseSearch.content.searchIndices.searchIndices.searchBar.placeHolder": "Elasticsearchインデックスをフィルター", "xpack.enterpriseSearch.content.searchIndices.searchIndices.stepsTitle": "エンタープライズ サーチで構築する優れた検索エクスペリエンス", "xpack.enterpriseSearch.content.searchIndices.searchIndices.tableTitle": "利用可能なインデックス", + "xpack.enterpriseSearch.content.searchIndices.syncJobType.columnTitle": "コンテンツ同期タイプ", "xpack.enterpriseSearch.content.searchIndices.syncStatus.columnTitle": "ステータス", "xpack.enterpriseSearch.content.settings.breadcrumb": "設定", "xpack.enterpriseSearch.content.settings.contactExtraction.label": "コンテンツ抽出", @@ -13487,7 +13974,13 @@ "xpack.enterpriseSearch.content.syncJobs.flyout.syncStartedScheduled": "同期はスケジュールで開始しました", "xpack.enterpriseSearch.content.syncJobs.flyout.title": "イベントログ", "xpack.enterpriseSearch.content.syncJobs.lastSync.columnTitle": "前回の同期", + "xpack.enterpriseSearch.content.syncJobs.lastSync.tableSelector.accessControl.label": "アクセス制御同期", + "xpack.enterpriseSearch.content.syncJobs.lastSync.tableSelector.content.label": "コンテンツ同期", + "xpack.enterpriseSearch.content.syncJobs.lastSync.tableSelector.legend": "表示する同期ジョブタイプを選択します。", + "xpack.enterpriseSearch.content.syncJobs.lastSync.tableSelector.name": "同期ジョブタイプ", "xpack.enterpriseSearch.content.syncJobs.syncDuration.columnTitle": "同期時間", + "xpack.enterpriseSearch.content.syncJobType.full": "完全なコンテンツ", + "xpack.enterpriseSearch.content.syncJobType.incremental": "増分コンテンツ", "xpack.enterpriseSearch.content.syncStatus.canceled": "同期のキャンセル中", "xpack.enterpriseSearch.content.syncStatus.canceling": "同期がキャンセルされました", "xpack.enterpriseSearch.content.syncStatus.completed": "同期完了", @@ -13619,7 +14112,7 @@ "xpack.enterpriseSearch.crawler.deduplicationPanel.learnMoreMessage": "コンテンツハッシュの詳細", "xpack.enterpriseSearch.crawler.deduplicationPanel.preventDuplicateLabel": "重複するドキュメントの防止", "xpack.enterpriseSearch.crawler.deduplicationPanel.resetToDefaultsButtonLabel": "デフォルトにリセット", - "xpack.enterpriseSearch.crawler.deduplicationPanel.selectedFieldsLabel": "スクリプトフィールド", + "xpack.enterpriseSearch.crawler.deduplicationPanel.selectedFieldsLabel": "選択したフィールド", "xpack.enterpriseSearch.crawler.deduplicationPanel.showAllFieldsButtonLabel": "すべてのフィールドを表示", "xpack.enterpriseSearch.crawler.deduplicationPanel.title": "ドキュメント処理を複製", "xpack.enterpriseSearch.crawler.deleteDomainModal.deleteDomainButtonLabel": "ドメインを削除", @@ -13629,6 +14122,7 @@ "xpack.enterpriseSearch.crawler.domainDetail.deleteDomainButtonLabel": "ドメインを削除", "xpack.enterpriseSearch.crawler.domainManagement.emptyState": "このインデックスにはドメインがありません。最初のドメインを追加すると、ドキュメントのクローリングとインデックス作成が開始します。", "xpack.enterpriseSearch.crawler.domainManagement.emptyState.addDomainButtonLabel": "最初のドメインを追加", + "xpack.enterpriseSearch.crawler.domainManagement.emptyState.description": "クローリングするドメインを構成し、準備が完了したら、最初のクローリングをトリガーします。", "xpack.enterpriseSearch.crawler.domainManagement.emptyState.title": "ドメインをインデックスに追加", "xpack.enterpriseSearch.crawler.domainsTable.action.add.successMessage": "ドメイン'{domainUrl}'が正常に追加されました", "xpack.enterpriseSearch.crawler.domainsTable.action.delete.buttonLabel": "このドメインを削除", @@ -13751,6 +14245,75 @@ "xpack.enterpriseSearch.errorConnectingState.troubleshootAuth": "ユーザー認証を確認してください。", "xpack.enterpriseSearch.errorConnectingState.troubleshootAuthNative": "Elasticsearchネイティブ認証、SSO/SAML、またはOpenID Connectを使用して認証する必要があります。", "xpack.enterpriseSearch.errorConnectingState.troubleshootAuthSAML": "SAMLやOpenID Connectなどの外部SSOプロバイダーを使用している場合は、エンタープライズ サーチでSAML/OIDCレルムを設定できる必要があります。", + "xpack.enterpriseSearch.esre.description": "開発者がElasticプラットフォームを使ってAI検索エンジンを搭載したアプリケーションを構築するためのツールキット。", + "xpack.enterpriseSearch.esre.elser.description.elserLinkText": "Elastic Learned Sparse Encoder", + "xpack.enterpriseSearch.esre.elserAccordion.description": "即時セマンティック検索機能", + "xpack.enterpriseSearch.esre.elserAccordion.title": "Elastic Learned Sparse Encoder", + "xpack.enterpriseSearch.esre.elserPanel.step1.buttonLabel": "インデックスを作成", + "xpack.enterpriseSearch.esre.elserPanel.step1.title": "インデックスを作成", + "xpack.enterpriseSearch.esre.elserPanel.step2.description.pipelinesName": "パイプライン", + "xpack.enterpriseSearch.esre.elserPanel.step2.title": "インデックスのパイプラインタブに移動", + "xpack.enterpriseSearch.esre.elserPanel.step3.description": "ELSERをワンクリックでデプロイし、そのモデルを使った推論パイプラインを作成できるパネルを探します。", + "xpack.enterpriseSearch.esre.elserPanel.step3.title": "画面の指示に従い、ELSERをデプロイ", + "xpack.enterpriseSearch.esre.esreDocsSection.description.esreLinkText": "ESREドキュメント", + "xpack.enterpriseSearch.esre.esreDocsSection.faq.title": "FAQ", + "xpack.enterpriseSearch.esre.esreDocsSection.help.title": "ヘルプ", + "xpack.enterpriseSearch.esre.esreDocsSection.learn.discussForumLinkText": "ESREディスカッションフォーラム", + "xpack.enterpriseSearch.esre.esreDocsSection.learn.frequentlyAskedQuestionsLinkText": "FAQ", + "xpack.enterpriseSearch.esre.esreDocsSection.learn.learningTopicsLinkText": "学習トピック", + "xpack.enterpriseSearch.esre.esreDocsSection.learn.title": "学習", + "xpack.enterpriseSearch.esre.esreDocsSection.title": "ESREドキュメントでさらに深く", + "xpack.enterpriseSearch.esre.guide.description": "Elasticsearch Relevance Engine™(ESRE)により、開発者はElasticプラットフォームを使ってAI検索エンジンを搭載したアプリケーションを構築できます。ESREは、当社独自の学習済みMLモデルELSER、ベクトル検索と埋め込み機能、ベクトル検索とテキスト検索を組み合わせたRRFランキングを含むツールと機能のセットです。", + "xpack.enterpriseSearch.esre.guide.pageTitle": "ESREで検索を強化", + "xpack.enterpriseSearch.esre.linearCombinationAccordion.description": "複数のランキングから重み付けがされた結果", + "xpack.enterpriseSearch.esre.linearCombinationAccordion.title": "線形結合", + "xpack.enterpriseSearch.esre.linearCombinationPanel.description": "データポイント間の類似度スコアまたは距離を計算するために使用します。重みを使って属性や特徴量を組み合わせることで、関連性係数をカスタマイズできます。", + "xpack.enterpriseSearch.esre.linearCombinationPanel.step1.knnSearchCombineLinkText": "近似kNNと他の特徴量を組み合わせる", + "xpack.enterpriseSearch.esre.linearCombinationPanel.step1.title": "_searchクエリで線形結合を使用する方法を見る", + "xpack.enterpriseSearch.esre.linearCombinationPanel.step2.buttonLabel": "コンソールを開く", + "xpack.enterpriseSearch.esre.linearCombinationPanel.step2.title": "今すぐコンソールで試す", + "xpack.enterpriseSearch.esre.measurePerformanceSection.behavioralAnalyticsLinkText": "Behavioral Analytics", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step1.behavioralAnalyticsLinkText": "Behavioral Analytics", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step1.title": "コレクションの作成", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step2.description": "コレクションを作成した後、手順に従って、トラッカーをあなたのアプリケーションやWebサイトに統合してください。", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step2.title": "分析トラッカーを統合", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step3.description": "Elasticのダッシュボードとツールでは、エンドユーザーの行動を可視化し、検索アプリケーションのパフォーマンスを測定できます。", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step3.title": "ダッシュボードを確認", + "xpack.enterpriseSearch.esre.measurePerformanceSection.title": "パフォーマンスを測定", + "xpack.enterpriseSearch.esre.navTitle": "ESRE", + "xpack.enterpriseSearch.esre.nlpEnrichmentAccordion.description": "学習済みMLモデルを使用した、インサイトが豊富なデータエンリッチメント", + "xpack.enterpriseSearch.esre.nlpEnrichmentAccordion.title": "NLPエンリッチメント", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.description.supportedMlModelsLinkText": "サポートされているMLモデル", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step1.buttonLabel": "学習済みモデルを表示", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step1.guideToTrainedModelsLinkText": "学習済みモデルのガイド", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step1.supportedNlpModelsLinkText": "サポートされているNLPモデル", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step1.title": "MLモデルのアップロード方法", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step2.buttonLabel": "インデックスを作成", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step2.title": "インデックスを作成", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step3.description.pipelinesName": "パイプライン", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step3.title": "ML推論パイプラインを作成", + "xpack.enterpriseSearch.esre.productName": "ESRE", + "xpack.enterpriseSearch.esre.rankAggregationSection.description": "全体的なランキングパフォーマンスを向上させるために、異なるランキングを融合または組み合わせるオプションの方法。", + "xpack.enterpriseSearch.esre.rankAggregationSection.title": "ランク集約方法を使用", + "xpack.enterpriseSearch.esre.rrfRankingAccordion.description": "構成なしで、インテリジェントにランキングを結合", + "xpack.enterpriseSearch.esre.rrfRankingAccordion.title": "RRFハイブリッドランキング", + "xpack.enterpriseSearch.esre.rrfRankingPanel.rrfLinkText": "逆順位融合(RRF)", + "xpack.enterpriseSearch.esre.rrfRankingPanel.step1.rrfDocsLinkText": "逆順位融合(RRF)ドキュメント", + "xpack.enterpriseSearch.esre.rrfRankingPanel.step1.title": "_searchクエリにおけるRRFの使用例を見る", + "xpack.enterpriseSearch.esre.rrfRankingPanel.step2.buttonLabel": "コンソールを開く", + "xpack.enterpriseSearch.esre.rrfRankingPanel.step2.title": "今すぐコンソールで試す", + "xpack.enterpriseSearch.esre.semanticSearch.description": "ESREでは、これらの情報検索ツールの中から任意のツールを組み合わせることができます。", + "xpack.enterpriseSearch.esre.semanticSearch.title": "セマンティック検索を設定", + "xpack.enterpriseSearch.esre.vectorSearchAccordion.description": "非構造化データ用の強力な類似度検索", + "xpack.enterpriseSearch.esre.vectorSearchAccordion.title": "ベクトル検索", + "xpack.enterpriseSearch.esre.vectorSearchPanel.description.vectorDbCapabilitiesLinkText": "ElasticsearchのベクトルDB機能", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step1.buttonLabel": "学習済みモデルを表示", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step1.guideToTrainedModelsLinkText": "学習済みモデルのガイド", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step1.title": "MLモデルのアップロード方法", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step2.buttonLabel": "インデックスを作成", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step2.title": "インデックスを作成", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step3.description.pipelinesName": "パイプライン", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step3.title": "ML推論パイプラインを作成", "xpack.enterpriseSearch.guideConfig.addDataStep.description": "カスタマイズ可能なインジェストパイプラインと推論パイプラインにより、データのインジェスト、インデックスの作成、データのリッチ化を実現します。", "xpack.enterpriseSearch.guideConfig.addDataStep.title": "データの追加", "xpack.enterpriseSearch.guideConfig.description": "Elasticのウェブクローラー、コネクター、APIを使って、お客様のデータで検索体験を構築するお手伝いをします。", @@ -13782,6 +14345,9 @@ "xpack.enterpriseSearch.index.connector.syncRules.validatingDescription": "ドラフトルールをアクティブ化する前に、検証する必要があります。これには数分かかる場合があります。", "xpack.enterpriseSearch.index.connector.syncRules.validatingTitle": "ドラフト同期ルールを検証しています", "xpack.enterpriseSearch.index.header.cancelSyncsTitle": "同期のキャンセル", + "xpack.enterpriseSearch.index.header.more.accessControlSync": "アクセス制御", + "xpack.enterpriseSearch.index.header.more.fullSync": "完全なコンテンツ", + "xpack.enterpriseSearch.index.header.more.incrementalSync": "増分コンテンツ", "xpack.enterpriseSearch.inferencePipelineCard.action.delete": "パイプラインを削除", "xpack.enterpriseSearch.inferencePipelineCard.action.detach": "パイプラインのデタッチ", "xpack.enterpriseSearch.inferencePipelineCard.action.title": "アクション", @@ -13789,9 +14355,9 @@ "xpack.enterpriseSearch.inferencePipelineCard.actionButton": "アクション", "xpack.enterpriseSearch.inferencePipelineCard.deleteConfirm.title": "パイプラインを削除", "xpack.enterpriseSearch.inferencePipelineCard.modelState.deploymentFailed": "デプロイが失敗しました", - "xpack.enterpriseSearch.inferencePipelineCard.modelState.notDeployed": "デプロイされていません", + "xpack.enterpriseSearch.inferencePipelineCard.modelState.notDeployed": "未開始", "xpack.enterpriseSearch.inferencePipelineCard.modelState.notDeployed.fixLink": "学習済みモデルで問題を修正", - "xpack.enterpriseSearch.inferencePipelineCard.modelState.notDeployed.tooltip": "この学習済みモデルは現在デプロイされていません。変更するには、学習済みモデルページを開いてください", + "xpack.enterpriseSearch.inferencePipelineCard.modelState.notDeployed.tooltip": "この学習済みモデルは現在起動していません。変更するには、学習済みモデルページを開いてください", "xpack.enterpriseSearch.inferencePipelineCard.modelState.started": "開始", "xpack.enterpriseSearch.inferencePipelineCard.modelState.started.tooltip": "この学習済みモデルは実行中で、利用できます", "xpack.enterpriseSearch.inferencePipelineCard.modelState.starting": "開始中", @@ -13803,6 +14369,9 @@ "xpack.enterpriseSearch.integrations.apiName": "API", "xpack.enterpriseSearch.integrations.buildAConnectorDescription": "エンタープライズ サーチを使用して、カスタムデータソースに格納されているデータを検索します。", "xpack.enterpriseSearch.integrations.buildAConnectorName": "コネクターを作成", + "xpack.enterpriseSearch.integrations.connectors.confluenceDescription": "エンタープライズ サーチでConfluence Cloud & Serverのコンテンツを検索します。", + "xpack.enterpriseSearch.integrations.connectors.confluenceTitle": "Confluence Cloud & Server", + "xpack.enterpriseSearch.integrations.connectors.jiraDescription": "エンタープライズ サーチでJira Cloud & Serverのコンテンツを検索します。", "xpack.enterpriseSearch.integrations.webCrawlerDescription": "エンタープライズ サーチWebクローラーを使用して、検索をWebサイトに追加します。", "xpack.enterpriseSearch.integrations.webCrawlerName": "Webクローラー", "xpack.enterpriseSearch.learnMore.link": "詳細", @@ -13814,6 +14383,15 @@ "xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.directConnectionLabel": "直接接続", "xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.hostLabel": "サーバーホスト名", "xpack.enterpriseSearch.nativeConnectors.mongodb.name": "MongoDB", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.hostLabel": "ホスト", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.passwordLabel": "パスワード", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.retriesLabel": "リクエストごとの再試行回数", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.rowsFetchedLabel": "リクエストごとに取得された行数", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.schemaLabel": "スキーマ", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.tablesLabel": "カンマ区切りのテーブルのリスト", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.usernameLabel": "ユーザー名", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.validateHostLabel": "ホストを検証", + "xpack.enterpriseSearch.nativeConnectors.mssql.name": "Microsoft SQL", "xpack.enterpriseSearch.nativeConnectors.mysql.configuration.hostLabel": "ホスト", "xpack.enterpriseSearch.nativeConnectors.mysql.configuration.passwordLabel": "パスワード", "xpack.enterpriseSearch.nativeConnectors.mysql.configuration.retriesLabel": "リクエストごとの再試行回数", @@ -13821,6 +14399,21 @@ "xpack.enterpriseSearch.nativeConnectors.mysql.configuration.tablesLabel": "カンマ区切りのテーブルのリスト", "xpack.enterpriseSearch.nativeConnectors.mysql.configuration.usernameLabel": "ユーザー名", "xpack.enterpriseSearch.nativeConnectors.mysql.name": "MySQL", + "xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.hostLabel": "ホスト", + "xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.retriesLabel": "リクエストごとの再試行回数", + "xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.rowsFetchedLabel": "リクエストごとに取得された行数", + "xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.tablesLabel": "カンマ区切りのテーブルのリスト", + "xpack.enterpriseSearch.nativeConnectors.postgresql.name": "PostgreSQL", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.clientIdLabel": "クライアントID", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.secretValueLabel": "シークレット値", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.siteCollectionsLabel": "カンマ区切りのサイトのリスト", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.siteCollectionsTooltip": "データのインジェスト元のサイトのリスト(カンマ区切り)。すべての使用可能なサイトを含めるには、*を使用します。", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.tenantIdLabel": "テナントID", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.tenantNameLabel": "テナント名", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.textExtractionServiceLabel": "テキスト抽出サービスを使用", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.textExtractionServiceTooltip": "Elastic Data Extraction Serviceを別途デプロイする必要があります。また、パイプラインの設定でテキスト抽出を無効にする必要があります。", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.name": "Sharepoint Online", + "xpack.enterpriseSearch.nativeLabel": "ネイティブ", "xpack.enterpriseSearch.nav.analyticsCollections.explorerTitle": "エクスプローラー", "xpack.enterpriseSearch.nav.analyticsCollections.integrationTitle": "統合", "xpack.enterpriseSearch.nav.analyticsCollections.overviewTitle": "概要", @@ -13831,9 +14424,8 @@ "xpack.enterpriseSearch.nav.contentSettingsTitle": "設定", "xpack.enterpriseSearch.nav.contentTitle": "コンテンツ", "xpack.enterpriseSearch.nav.elasticsearchTitle": "Elasticsearch", - "xpack.enterpriseSearch.nav.searchApplication.contentTitle": "コンテンツ", - "xpack.enterpriseSearch.nav.searchApplication.previewTitle": "プレビュー", "xpack.enterpriseSearch.nav.enterpriseSearchOverviewTitle": "概要", + "xpack.enterpriseSearch.nav.esreTitle": "ESRE", "xpack.enterpriseSearch.nav.searchApplicationsTitle": "検索アプリケーション", "xpack.enterpriseSearch.nav.searchExperiencesTitle": "検索エクスペリエンス", "xpack.enterpriseSearch.nav.searchIndicesTitle": "インデックス", @@ -13901,11 +14493,6 @@ "xpack.enterpriseSearch.overview.iconRow.manyMoreBadge": "他多数", "xpack.enterpriseSearch.overview.iconRow.sharePoint.title": "Microsoft SharePoint", "xpack.enterpriseSearch.overview.iconRow.sharePoint.tooltip": "Microsoft SharePointのコンテンツにインデックスを作成", - "xpack.enterpriseSearch.overview.insufficientPermissionsBody": "このページを表示するためのアクセス権がありません。エラーだと思われる場合は、管理者に問い合わせてください。", - "xpack.enterpriseSearch.overview.insufficientPermissionsButtonLabel": "Kibanaダッシュボードに移動", - "xpack.enterpriseSearch.overview.insufficientPermissionsFooterBody": "Kibanaダッシュボードに移動", - "xpack.enterpriseSearch.overview.insufficientPermissionsFooterLinkLabel": "ドキュメンテーションを表示", - "xpack.enterpriseSearch.overview.insufficientPermissionsTitle": "パーミッションがありません", "xpack.enterpriseSearch.overview.navTitle": "概要", "xpack.enterpriseSearch.overview.pageTitle": "エンタープライズ サーチへようこそ", "xpack.enterpriseSearch.overview.productSelector.title": "すべてのユースケースの検索エクスペリエンス", @@ -14000,7 +14587,6 @@ "xpack.enterpriseSearch.schema.errorsTable.link.view": "表示", "xpack.enterpriseSearch.schema.fieldNameLabel": "フィールド名", "xpack.enterpriseSearch.schema.fieldTypeLabel": "フィールド型", - "xpack.enterpriseSearch.searchApplications.searchApplication.notFound.action1": "検索アプリケーションに戻る", "xpack.enterpriseSearch.searchExperiences.guide.description": "JavaScriptのライブラリであるSearch UIを使えば、追加の開発を行わずに、ワールドクラスの検索エクスペリエンスを実装できます。Elasticsearch、App Search、Workplace Searchでそのまま使えるため、ユーザー、顧客、従業員のための最善のエクスペリエンスを構築することに集中できます。", "xpack.enterpriseSearch.searchExperiences.guide.documentationLink": "Search UIドキュメントを表示", "xpack.enterpriseSearch.searchExperiences.guide.features.1": "検索の象徴ElasticはSearch UIを構築、管理します。", @@ -14033,6 +14619,7 @@ "xpack.enterpriseSearch.server.routes.createApiIndex.indexExistsError": "このインデックスはすでに存在します", "xpack.enterpriseSearch.server.routes.createMlInferencePipeline.ParameterConflictError": "pipeline_definitionおよびfield_mappingsは、source_field、destination_field、およびmodel_idが指定されていない場合にのみ指定してください。", "xpack.enterpriseSearch.server.routes.createMlInferencePipeline.ParameterMissingError": "pipeline_definitionとfieldMappingsの両方、またはsource_fieldとmodel_idの両方を指定する必要があります。", + "xpack.enterpriseSearch.server.routes.createSearchApplication.searchApplciationExistsError": "検索アプリケーション名はすでに取得されています。別の名前を選択してください。", "xpack.enterpriseSearch.server.routes.indices.mlInference.pipelineProcessors.pipelineIsInUseError": "推論パイプラインは、別のインデックスの管理されたパイプライン'{pipelineName}'で使用されています。", "xpack.enterpriseSearch.server.routes.recreateConnector.connectorExistsError": "このインデックスのコネクターはすでに存在します", "xpack.enterpriseSearch.server.routes.unauthorizedError": "十分な権限がありません。", @@ -14347,6 +14934,10 @@ "xpack.enterpriseSearch.workplaceSearch.integrations.azureBlobDescription": "エンタープライズ サーチでAzure Blob Storageのコンテンツを検索します。", "xpack.enterpriseSearch.workplaceSearch.integrations.boxDescription": "Workplace Searchを使用して、Boxに保存されたファイルとフォルダーを検索します。", "xpack.enterpriseSearch.workplaceSearch.integrations.boxName": "Box", + "xpack.enterpriseSearch.workplaceSearch.integrations.githubDescription": "Workplace Searchを使用して、GitHubのプロジェクトとリポジトリを検索します。", + "xpack.enterpriseSearch.workplaceSearch.integrations.githubEnterpriseServerDescription": "Workplace Searchを使用して、GitHub Enterprise Serverのプロジェクトとリポジトリを検索します。", + "xpack.enterpriseSearch.workplaceSearch.integrations.githubEnterpriseServerName": "GitHub Enterprise Server", + "xpack.enterpriseSearch.workplaceSearch.integrations.githubName": "GitHub", "xpack.enterpriseSearch.workplaceSearch.integrations.gmailDescription": "Workplace Searchを使用して、Gmailで管理された電子メールを検索します。", "xpack.enterpriseSearch.workplaceSearch.integrations.gmailName": "Gmail", "xpack.enterpriseSearch.workplaceSearch.integrations.googleCloud": "Google Cloud Storage", @@ -14847,7 +15438,7 @@ "xpack.exploratoryView.expView.heading.addToCase": "ケースに追加", "xpack.exploratoryView.expView.heading.addToCase.notification.error": "選択したケースにビジュアライゼーションを追加できませんでした。", "xpack.exploratoryView.expView.heading.addToCase.notification.viewCase": "ケースの表示", - "xpack.exploratoryView.expView.heading.embed": "埋め込み <></>", + "xpack.exploratoryView.expView.heading.embed": "埋め込み <>", "xpack.exploratoryView.expView.heading.embedTitle": "調査ビューを埋め込み(開発者専用機能)", "xpack.exploratoryView.expView.heading.label": "データの探索", "xpack.exploratoryView.expView.heading.openInLens": "Lensで開く", @@ -14900,6 +15491,7 @@ "xpack.exploratoryView.expView.seriesEditor.selectReportMetric": "レポートメトリックを選択", "xpack.exploratoryView.expView.seriesEditor.seriesName": "系列名", "xpack.exploratoryView.expView.stepDuration": "合計ステップ期間", + "xpack.exploratoryView.expView.successful": "成功件数", "xpack.exploratoryView.expView.synthetics.blocked": "ブロック", "xpack.exploratoryView.expView.synthetics.connect": "接続", "xpack.exploratoryView.expView.synthetics.dns": "DNS", @@ -14973,7 +15565,7 @@ "xpack.fileUpload.importComplete.uploadSuccessMsg": "{numFeatures}機能をインデックスしました。", "xpack.fileUpload.shapefile.sideCarFilePicker.error": "{ext} は{shapefileName}{ext}でなければなりません", "xpack.fileUpload.dataViewAlreadyExistsErrorMessage": "データビューはすでに存在します。", - "xpack.fileUpload.geoFilePicker.filePicker": "ファイルを選択するかドラッグ &amp; ドロップしてください", + "xpack.fileUpload.geoFilePicker.filePicker": "ファイルを選択するかドラッグ&ドロップしてください", "xpack.fileUpload.geoFilePicker.noFeaturesDetected": "選択したファイルには特徴量がありません。", "xpack.fileUpload.geojsonImporter.noGeometry": "特長量には必須フィールド「ジオメトリ」が含まれていません", "xpack.fileUpload.geoUploadWizard.dataIndexingError": "データインデックスエラー", @@ -14992,7 +15584,7 @@ "xpack.fileUpload.indexNameContainsIllegalCharactersErrorMessage": "インデックス名に許可されていない文字が含まれています。", "xpack.fileUpload.indexNameForm.enterIndexNameLabel": "インデックス名", "xpack.fileUpload.indexNameForm.guidelines.cannotBe": ".または..にすることはできません。", - "xpack.fileUpload.indexNameForm.guidelines.cannotInclude": "\\\\、/、*、?、\"、<、>、|、 \" \"(スペース文字)、,(カンマ)、#を使用することはできません", + "xpack.fileUpload.indexNameForm.guidelines.cannotInclude": "\\\\、/、*、?、\"、<、>、|、 \" \"(スペース文字)、,(カンマ)、#を使用することはできません", "xpack.fileUpload.indexNameForm.guidelines.cannotStartWith": "-、_、+を先頭にすることはできません", "xpack.fileUpload.indexNameForm.guidelines.length": "256バイト以上にすることはできません(これはバイト数であるため、複数バイト文字では255文字の文字制限のカウントが速くなります)", "xpack.fileUpload.indexNameForm.guidelines.lowercaseOnly": "小文字のみ", @@ -15061,10 +15653,12 @@ "xpack.fleet.agentPolicyForm.outputOptionDisabledTypeNotSupportedText": "APMまたはFleet Serverではエージェント統合の{outputType}出力はサポートされていません。", "xpack.fleet.agentPolicyForm.outputOptionDisableOutputTypeText": "APMまたはFleet Serverではエージェント統合の{outputType}出力はサポートされていません。", "xpack.fleet.agentPolicyForm.systemMonitoringTooltipText": "これにより、{system}統合も追加され、システムログとメトリックを収集します。", + "xpack.fleet.agentPolicyForm.tamperingDescription": "エージェントがローカルでアンインストールされるのを防止します。オンにすると、エージェントは、アンインストールコマンドで認可トークンを使用しないとアンインストールできなくなります。詳細なコマンドについては、{linkName}をクリックしてください。", "xpack.fleet.agentPolicyList.noFilteredAgentPoliciesPrompt": "エージェントポリシーがありません。{clearFiltersLink}", "xpack.fleet.agentPolicySummaryLine.revisionNumber": "rev. {revNumber}", "xpack.fleet.agentReassignPolicy.flyoutDescription": "選択した{count, plural, other {エージェント}}に割り当てる新しいエージェントポリシーを選択します。", "xpack.fleet.agentReassignPolicy.policyDescription": "選択したエージェントポリシーは{count, plural, other {{countValue}個の統合}}のデータを収集します:", + "xpack.fleet.agentUninstallCommandFlyout.description": "該当するプラットフォームを選択し、コマンドを実行して、Elasticエージェントをアンインストールします。コマンドを再利用して、複数のホストでエージェントをアンインストールします。{learnMoreLink}", "xpack.fleet.apiRequestFlyout.devtoolsRequestDescription": "{learnMore}", "xpack.fleet.ConfirmForceInstallModal.calloutBody": "この統合には、真正が不明な未署名のパッケージが含まれています。悪意のあるファイルが含まれている可能性があります。{learnMoreLink}の詳細をご覧ください。", "xpack.fleet.ConfirmForceInstallModal.calloutTitleWithPkg": "統合{pkgName}-{pkgVersion}で検証が失敗しました", @@ -15343,6 +15937,9 @@ "xpack.fleet.agentDetails.viewDashboardButton.disabledNoIntegrationTooltip": "エージェントダッシュボードが見つかりません。elastic_agent統合をインストールする必要があります。", "xpack.fleet.agentDetails.viewDashboardButton.disabledNoLogsAndMetricsTooltip": "エージェントのログとメトリックがエージェントポリシーで有効ではありません。", "xpack.fleet.agentDetails.viewDashboardButtonLabel": "その他のエージェントメトリックを表示", + "xpack.fleet.agentDetailsIntegrations.inputErrorTitle.degraded": "劣化", + "xpack.fleet.agentDetailsIntegrations.inputErrorTitle.failed": "失敗", + "xpack.fleet.agentDetailsIntegrations.inputStatusDefaultDescription": "利用不可", "xpack.fleet.agentDetailsIntegrations.inputsTypeLabel": "インプット", "xpack.fleet.agentDetailsIntegrations.inputTypeEndpointText": "エンドポイント", "xpack.fleet.agentDetailsIntegrations.inputTypeLogText": "ログ", @@ -15352,8 +15949,10 @@ "xpack.fleet.agentEnrenrollmentStepAgentPolicyollment.noEnrollmentTokensForSelectedPolicyCalloutDescription": "エージェントをこのポリシーに登録するには、登録トークンを作成する必要があります", "xpack.fleet.agentEnrollment.agentDescription": "Elastic エージェントをホストに追加し、データを収集して、Elastic Stack に送信します。", "xpack.fleet.agentEnrollment.closeFlyoutButtonLabel": "閉じる", + "xpack.fleet.agentEnrollment.cloudFormation.launchButton": "CloudFormationを起動", "xpack.fleet.agentEnrollment.cloudFormation.loadingAriaLabel": "CloudFormation命令を読み込み中", "xpack.fleet.agentEnrollment.cloudFormation.noApiKey": "登録トークンが見つかりません", + "xpack.fleet.agentEnrollment.cloudFormation.stepEnrollAndRunAgentTitle": "クラウドにElasticエージェントをインストール", "xpack.fleet.agentEnrollment.confirmation.button": "登録されたエージェントを表示", "xpack.fleet.agentEnrollment.copyPolicyButton": "クリップボードにコピー", "xpack.fleet.agentEnrollment.downloadDescriptionForK8s": "Kubernetesマニフェストをコピーまたはダウンロードします。", @@ -15409,6 +16008,7 @@ "xpack.fleet.agentList.diagnosticsOneButton": "診断.zipのリクエスト", "xpack.fleet.agentList.errorFetchingDataTitle": "エージェントの取り込みエラー", "xpack.fleet.agentList.forceUnenrollOneButton": "強制的に登録解除する", + "xpack.fleet.agentList.getUninstallCommand": "エージェントのアンインストール", "xpack.fleet.agentList.header.clearFiltersLinkText": "フィルターを消去", "xpack.fleet.agentList.hostColumnTitle": "ホスト", "xpack.fleet.agentList.inactiveAgentsTourStepContent": "一部のエージェントは非アクティブになり、非表示になりました。ステータスフィルターを使用すると、非アクティブまたは登録解除済みエージェントが表示されます。", @@ -15468,6 +16068,7 @@ "xpack.fleet.agentPolicyActionMenu.buttonText": "アクション", "xpack.fleet.agentPolicyActionMenu.copyPolicyActionText": "ポリシーの複製", "xpack.fleet.agentPolicyActionMenu.enrollAgentActionText": "エージェントの追加", + "xpack.fleet.agentPolicyActionMenu.getUninstallCommand": "このポリシーでエージェントをアンインストール", "xpack.fleet.agentPolicyActionMenu.viewPolicyText": "ポリシーを表示", "xpack.fleet.agentPolicyCreation.created": "エージェントポリシーが作成されました", "xpack.fleet.agentPolicyCreation.errorMessage": "この名前のエージェントポリシーはすでに存在します。", @@ -15512,6 +16113,9 @@ "xpack.fleet.agentPolicyForm.namespaceFieldLabel": "デフォルト名前空間", "xpack.fleet.agentPolicyForm.newAgentPolicyFieldLabel": "新しいエージェントポリシー名", "xpack.fleet.agentPolicyForm.systemMonitoringText": "システムログとメトリックの収集", + "xpack.fleet.agentPolicyForm.tamperingLabel": "エージェント改ざん保護", + "xpack.fleet.agentPolicyForm.tamperingSwitchLabel": "エージェントの改ざんを防止", + "xpack.fleet.agentPolicyForm.tamperingUninstallLink": "アンインストールコマンドを取得", "xpack.fleet.agentPolicyForm.unenrollmentTimeoutDeprecatedLabel": "非推奨", "xpack.fleet.agentPolicyForm.unenrollmentTimeoutDescription": "任意のタイムアウト(秒)。指定され、Fleetサーバーのバージョンが8.7.0より前の場合、この期間が経過した後、エージェントは自動的に登録解除されます。", "xpack.fleet.agentPolicyForm.unenrollmentTimeoutLabel": "登録解除タイムアウト", @@ -15544,6 +16148,16 @@ "xpack.fleet.agentStatus.unenrolledLabel": "登録解除済み", "xpack.fleet.agentStatus.unhealthyLabel": "異常", "xpack.fleet.agentStatus.updatingLabel": "更新中", + "xpack.fleet.agentUninstallCommandFlyout.errorFetchingToken": "アンインストールトークンを取得できません", + "xpack.fleet.agentUninstallCommandFlyout.firstParagraph": "Elasticエージェントをアンインストールし、Fleetへの登録を解除してホストとの通信を停止します。", + "xpack.fleet.agentUninstallCommandFlyout.learnMore": "詳細", + "xpack.fleet.agentUninstallCommandFlyout.platformButtons.linuxOrMac": "LinuxまたはMac", + "xpack.fleet.agentUninstallCommandFlyout.platformButtons.windows": "Windows", + "xpack.fleet.agentUninstallCommandFlyout.platformSelectAriaLabel": "プラットフォーム", + "xpack.fleet.agentUninstallCommandFlyout.subtitle": "ホストでElasticエージェントをアンインストール", + "xpack.fleet.agentUninstallCommandFlyout.title": "エージェントのアンインストール", + "xpack.fleet.agentUninstallCommandFlyout.unknownError": "不明なエラー", + "xpack.fleet.agentUninstallCommandFlyout.validForPolicyId": "次のエージェントポリシーで有効:", "xpack.fleet.apiRequestFlyout.description": "Kibanaに対してこれらのリクエストを実行", "xpack.fleet.apiRequestFlyout.learnMoreLink": "Fleet APIの詳細", "xpack.fleet.apiRequestFlyout.openFlyoutButton": "APIリクエストをプレビュー", @@ -15803,6 +16417,8 @@ "xpack.fleet.editPackagePolicy.upgradeButton": "統合のアップグレード", "xpack.fleet.encryptionKeyRequired.calloutTitle": "追加の設定が必要です", "xpack.fleet.encryptionKeyRequired.link": "詳細", + "xpack.fleet.endpointUninstallCommandFlyout.description": "Endpoint統合をアンインストールするには、以下のアンインストールコマンドを使用します... [TODO]", + "xpack.fleet.endpointUninstallCommandFlyout.subtitle": "ホストのElastic Defend統合をアンインストール", "xpack.fleet.enrollemntAPIKeyList.emptyMessage": "登録トークンが見つかりません。", "xpack.fleet.enrollemntAPIKeyList.loadingTokensMessage": "登録トークンを読み込んでいます...", "xpack.fleet.enrollment.addFleetServerButton": "Fleetサーバーの追加", @@ -15822,6 +16438,8 @@ "xpack.fleet.enrollmentInstructions.installationMessage.link": "インストールドキュメント", "xpack.fleet.enrollmentInstructions.k8sCallout": "Kubernetesクラスターから有益なメトリックとログを取得するには、Kubernetes統合をエージェントポリシーに追加することをお勧めします。", "xpack.fleet.enrollmentInstructions.k8sInstallationMessage": "次のマニフェストは自動的に生成されました。また、マニフェストには、このElasticエージェントのインスタンスが、Kubernetesで実行された後に、Fleetを使用して一元的に管理するための資格情報が含まれています。", + "xpack.fleet.enrollmentInstructions.macCallout": "この統合は現在サポートされていないため、Macにデプロイしないことをお勧めします。", + "xpack.fleet.enrollmentInstructions.placeHolderCallout": "Kubernetesクラスター内にCSPMをデプロイしないことを強くお勧めします。そのようにすると、冗長なデータ取得が発生し、Elasticアカウントの消費コストが増加したり、クラウドアカウントのAPIレート制限を引き起こしたりする可能性があります。", "xpack.fleet.enrollmentInstructions.platformButtons.kubernetes": "Kubernetes", "xpack.fleet.enrollmentInstructions.platformButtons.linux": "Linux Tar", "xpack.fleet.enrollmentInstructions.platformButtons.linux.deb": "DEB", @@ -16109,10 +16727,11 @@ "xpack.fleet.packagePolicyValidation.boolValueError": "ブール値はtrueまたはfalseでなければなりません", "xpack.fleet.packagePolicyValidation.invalidIntegerErrorMessage": "無効な整数", "xpack.fleet.packagePolicyValidation.invalidIntegerMultiErrorMessage": "無効な整数", + "xpack.fleet.packagePolicyValidation.invalidSecretReference": "シークレット参照は無効です。idは文字列でなければなりません", "xpack.fleet.packagePolicyValidation.invalidSelectValueErrorMessage": "選択タイプの無効な値", "xpack.fleet.packagePolicyValidation.invalidYamlFormatErrorMessage": "YAML形式が無効です", "xpack.fleet.packagePolicyValidation.nameRequiredErrorMessage": "名前が必要です", - "xpack.fleet.packagePolicyValidation.quoteStringErrorMessage": "*や&などの特殊YAML文字で始まる文字列は二重引用符で囲む必要があります。", + "xpack.fleet.packagePolicyValidation.quoteStringErrorMessage": "*や&などの特殊YAML文字で始まる文字列は二重引用符で囲む必要があります。", "xpack.fleet.permissionDeniedErrorTitle": "パーミッションが拒否されました", "xpack.fleet.permissionsRequestErrorMessageDescription": "Fleet アクセス権の確認中に問題が発生しました", "xpack.fleet.permissionsRequestErrorMessageTitle": "アクセス権を確認できません", @@ -16411,6 +17030,7 @@ "xpack.globalSearch.find.invalidLicenseError": "GlobalSearch API は、ライセンス状態が無効であるため、無効になっています:{errorMessage}", "xpack.globalSearchBar.searchbar.overflowTagsAriaLabel": "追加の{n}個の{n, plural, other {タグ}}:{tags}", "xpack.globalSearchBar.searchBar.shortcutDescription.shortcutDetail": "{shortcutDescription} {commandDescription}", + "xpack.globalSearchBar.searchBar.closeSearchAriaText": "検索バーを閉じる", "xpack.globalSearchBar.searchBar.helpText.helpTextConjunction": "または", "xpack.globalSearchBar.searchBar.helpText.helpTextPrefix": "フィルタリング条件", "xpack.globalSearchBar.searchBar.mobileSearchButtonAriaLabel": "サイト検索", @@ -16425,9 +17045,13 @@ "xpack.globalSearchBar.searchBar.shortcutTooltip.description": "キーボードショートカット", "xpack.globalSearchBar.searchBar.shortcutTooltip.macCommandDescription": "コマンド+ /", "xpack.globalSearchBar.searchBar.shortcutTooltip.windowsCommandDescription": "コントロール+ /", + "xpack.globalSearchBar.searchBar.showSearchAriaText": "検索バーを表示", "xpack.globalSearchBar.suggestions.filterByTagLabel": "タグ名でフィルター", "xpack.globalSearchBar.suggestions.filterByTypeLabel": "タイプでフィルタリング", "xpack.graph.blocklist.noEntriesDescription": "ブロックされた用語がありません。頂点を選択して、右側のコントロールパネルの {stopSign} をクリックしてブロックします。ブロックされた用語に一致するドキュメントは今後表示されず、関係性が非表示になります。", + "xpack.graph.confirmModal.overwriteConfirmationMessage": "{title}を上書きしてよろしいですか?", + "xpack.graph.confirmModal.overwriteTitle": "{name}を上書きしますか?", + "xpack.graph.confirmModal.saveDuplicateConfirmationMessage": "「{name}」を保存すると、タイトルが重複します。保存しますか?", "xpack.graph.fatalError.errorStatusMessage": "エラー{errStatus} {errStatusText}:{errMessage}", "xpack.graph.fieldManager.disabledFieldBadgeDescription": "無効なフィールド {field}:構成するにはクリックしてください。Shift+クリックで有効にします。", "xpack.graph.fieldManager.fieldBadgeDescription": "フィールド {field}:構成するにはクリックしてください。Shift+クリックで無効にします", @@ -16461,6 +17085,11 @@ "xpack.graph.clearWorkspace.confirmButtonLabel": "データソースを変更", "xpack.graph.clearWorkspace.confirmText": "データソースを変更すると、現在のフィールドと頂点がリセットされます。", "xpack.graph.clearWorkspace.modalTitle": "保存されていない変更", + "xpack.graph.confirmModal.cancelButtonLabel": "キャンセル", + "xpack.graph.confirmModal.overwriteButtonLabel": "上書き", + "xpack.graph.confirmModal.saveDuplicateButtonLabel": "保存", + "xpack.graph.confirmModal.saveDuplicateConfirmationTitle": "このビジュアライゼーションはすでに存在します", + "xpack.graph.content.name": "グラフビジュアライゼーション", "xpack.graph.drilldowns.description": "ドリルダウンで他のアプリケーションにリンクします。選択された頂点が URL の一部になります。", "xpack.graph.errorToastTitle": "Graph エラー", "xpack.graph.exploreGraph.timedOutWarningText": "閲覧がタイムアウトしました", @@ -16559,10 +17188,12 @@ "xpack.graph.outlinkEncoders.textLuceneTitle": "Lucene エスケープテキスト", "xpack.graph.outlinkEncoders.textPlainDescription": "選択されたパス URL エンコード文字列としての頂点ラベル のテキストです", "xpack.graph.outlinkEncoders.textPlainTitle": "プレインテキスト", + "xpack.graph.overwriteRejectedDescription": "上書き確認が拒否されました", "xpack.graph.pageTitle": "グラフ", "xpack.graph.pluginDescription": "Elasticsearch データの関連性のある関係を浮上させ分析します。", "xpack.graph.pluginSubtitle": "パターンと関係を明らかにします。", "xpack.graph.sampleData.label": "グラフ", + "xpack.graph.saveDuplicateRejectedDescription": "重複ファイルの保存確認が拒否されました", "xpack.graph.savedWorkspace.workspaceNameTitle": "新規グラフワークスペース", "xpack.graph.saveWorkspace.successNotification.noDataSavedText": "構成が保存されましたが、データは保存されませんでした", "xpack.graph.serverSideErrors.unavailableGraphErrorMessage": "グラフを利用できません", @@ -18106,17 +18737,18 @@ "xpack.infra.deprecations.tiebreakerAdjustIndexing": "インデックスを調整し、\"{field}\"をタイブレーカーとして使用します。", "xpack.infra.deprecations.timestampAdjustIndexing": "インデックスを調整し、\"{field}\"をタイムスタンプとして使用します。", "xpack.infra.homePage.toolbar.showingLastOneMinuteDataText": "指定期間のデータの最後の{duration}", - "xpack.infra.hostsViewPage.errorOnCreateOrLoadDataview": "データビューの作成中にエラーが発生しました:{metricAlias}", + "xpack.infra.hostsViewPage.errorOnCreateOrLoadDataview": "データビューの作成中にエラーが発生しました:{metricAlias}。ページを再読み込みしてください。", "xpack.infra.hostsViewPage.landing.calloutRoleClarificationWithDocsLink": "Kibanaの高度な設定にアクセスできるロールが必要です。{docsLink}", "xpack.infra.hostsViewPage.metricTrend.subtitle.average.limit": "({limit}ホストの)平均", "xpack.infra.hostsViewPage.metricTrend.subtitle.hostCount.limit": "{limit}に制限", + "xpack.infra.hostsViewPage.table.selectedHostsButton": "{selectedHostsCount}件の{selectedHostsCount, plural, =1 {ホスト} other {ホスト}}が選択済み", + "xpack.infra.hostsViewPage.table.tooltip.documentationLabel": "詳細については、{documentation}を参照してください。", "xpack.infra.inventoryTimeline.header": "平均{metricLabel}", "xpack.infra.kibanaMetrics.cloudIdMissingErrorMessage": "{metricId}のモデルにはcloudIdが必要ですが、{nodeId}にcloudIdが指定されていません。", "xpack.infra.kibanaMetrics.invalidInfraMetricErrorMessage": "{id} は有効な InfraMetric ではありません", "xpack.infra.kibanaMetrics.nodeDoesNotExistErrorMessage": "{nodeId}は存在しません。", "xpack.infra.linkTo.hostWithIp.error": "IPアドレス「{hostIp}」でホストが見つかりません。", "xpack.infra.linkTo.hostWithIp.loading": "IPアドレス「{hostIp}」のホストを読み込み中です。", - "xpack.infra.logs.alertDetails.chart.chartTitle": "{criteria} のログ", "xpack.infra.logs.alertFlyout.groupByOptimizationWarning": "「group by」を設定するときには、しきい値で\"{comparator}\"比較演算子を使用することを強くお勧めします。これにより、パフォーマンスを大きく改善できます。", "xpack.infra.logs.alerting.threshold.groupedCountAlertReasonDescription": "{groupName}の過去{duration}の{actualCount, plural, other {{actualCount}件のログエントリ}}。{comparator} {expectedCount}のときにアラートを通知します。", "xpack.infra.logs.alerting.threshold.groupedRatioAlertReasonDescription": "{groupName}の過去{duration}における選択されたログの比率は{actualRatio}です。{comparator} {expectedRatio}のときにアラートを通知します。", @@ -18146,6 +18778,7 @@ "xpack.infra.logSourceConfiguration.missingDataViewsLabel": "データビュー{indexPatternId}が見つかりません", "xpack.infra.logSourceConfiguration.missingMessageFieldErrorMessage": "データビューには{messageField}フィールドが必要です。", "xpack.infra.logSourceErrorPage.savedObjectNotFoundErrorMessage": "{savedObjectType}が見つかりませんでした:{savedObjectId}", + "xpack.infra.metadataEmbeddable.errorMessage": "データの読み込みエラーが発生しました。{reload}し、ホスト詳細をもう一度開いてください。", "xpack.infra.metrics.alertDetailsAppSection.criterion.subtitle": "最後の{lookback} {timeLabel}", "xpack.infra.metrics.alertFlyout.alertPerRedundantFilterError": "フィルタークエリには{groupCount, plural, other {これらのフィールド}}に対する一致が含まれているため、このルールによって、想定を下回る{matchedGroups}に関するアラートが発行される場合があります。詳細については、{filteringAndGroupingLink}を参照してください。", "xpack.infra.metrics.alertFlyout.customEquationEditor.aggregationLabel": "アグリゲーション{name}", @@ -18193,6 +18826,8 @@ "xpack.infra.waffle.customMetrics.editMode.deleteAriaLabel": "{name}のカスタムメトリックを削除", "xpack.infra.waffle.customMetrics.editMode.editButtonAriaLabel": "{name}のカスタムメトリックを編集", "xpack.infra.waffle.unableToSelectGroupErrorMessage": "{nodeType}のオプションでグループを選択できません", + "xpack.infra.alertDetails.logsAlertHistoryChart.error.toastDescription": "ログアラート履歴グラフデータを取得するときに、エラーが発生しました。", + "xpack.infra.alertDetails.logsAlertHistoryChart.error.toastTitle": "ログアラート履歴グラフエラー", "xpack.infra.alerting.alertDropdownTitle": "アラートとルール", "xpack.infra.alerting.alertFlyout.groupBy.placeholder": "なし(グループなし)", "xpack.infra.alerting.alertFlyout.groupByLabel": "グループ分けの条件", @@ -18241,6 +18876,9 @@ "xpack.infra.analysisSetup.timeRangeDescription": "デフォルトで、機械学習は 4 週間以内のログインデックスのログメッセージを分析し、永久に継続します。別の開始日、終了日、または両方を指定できます。", "xpack.infra.analysisSetup.timeRangeTitle": "時間範囲の選択", "xpack.infra.appName": "インフラログ", + "xpack.infra.assetDetailsEmbeddable.description": "アセット詳細ビューを追加します。", + "xpack.infra.assetDetailsEmbeddable.displayName": "アセット詳細", + "xpack.infra.assetDetailsEmbeddable.title": "アセット詳細", "xpack.infra.bottomDrawer.kubernetesDashboardsLink": "Kubernetesダッシュボード", "xpack.infra.chartSection.missingMetricDataBody": "このチャートはデータが欠けています。", "xpack.infra.chartSection.missingMetricDataText": "データが欠けています", @@ -18312,31 +18950,53 @@ "xpack.infra.homePage.settingsTabTitle": "設定", "xpack.infra.homePage.tellUsWhatYouThinkK8sLink": "ご意見をお聞かせください。(K8s)", "xpack.infra.homePage.toolbar.kqlSearchFieldPlaceholder": "インフラストラクチャーデータを検索…(例:host.name:host-1)", + "xpack.infra.hostFlyout.explainProcessMessageTitle": "このプロセスの概要", "xpack.infra.hosts.searchPlaceholder": "ホストを検索(例:cloud.provider:gcp AND system.load.1 > 0.5)", "xpack.infra.hostsPage.goToMetricsSettings": "設定を確認", "xpack.infra.hostsPage.tellUsWhatYouThinkLink": "ご意見をお聞かせください。", + "xpack.infra.hostsViewPage.betaBadgeDescription": "現在、この機能はベータです。バグが発生した場合やフィードバックがある場合は、お問い合わせください。サポートの問題およびフィードバックについては、[ご意見をお聞かせください]フィードバックを使用して、お問い合わせください。", + "xpack.infra.hostsViewPage.error.detailsButton": "詳細を入力", + "xpack.infra.hostsViewPage.error.kqlErrorMessage": "フィルターを適用できなかったため、結果を表示できません。", + "xpack.infra.hostsViewPage.error.kqlErrorTitle": "無効なKQL式", + "xpack.infra.hostsViewPage.error.tryAgainButton": "再試行", + "xpack.infra.hostsViewPage.error.unknownErrorTitle": "エラーが発生しました", + "xpack.infra.hostsViewPage.errorOnCreateOrLoadDataviewTitle": "データビューの作成エラー", "xpack.infra.hostsViewPage.hostLimit": "ホスト制限", "xpack.infra.hostsViewPage.hostLimit.tooltip": "クエリパフォーマンスを確実に高めるために、返されるホスト数には制限があります", "xpack.infra.hostsViewPage.landing.calloutReachOutToYourKibanaAdministrator": "ユーザーロールには、この機能を有効にするための十分な権限がありません。 \n この機能を有効にするために、Kibana管理者に連絡して、このページにアクセスするように依頼してください。", "xpack.infra.hostsViewPage.landing.enableHostsView": "ホストビューを有効化", - "xpack.infra.hostsViewPage.landing.introMessage": "新機能「ホスト」のテクニカルプレビューを開始しました。\n この強力なツールを使えば、ホストを簡単に表示、分析し、あらゆる問題を特定して、\n 迅速に対処できます。ホストのメトリックの詳細ビューを表示します。\n 最も多くのアラートを発生させているホストを確認し、\n KQLフィルターと、クラウドプロバイダーやオペレーティングシステムなどの簡単な内訳を使用して、分析したいホストをフィルタリングします。", - "xpack.infra.hostsViewPage.landing.introTitle": "導入:ホスト分析", + "xpack.infra.hostsViewPage.landing.introMessage": "「ホスト」機能へようこそ!ベータ版でご利用いただけるようになりました。この強力なツールを使用すると、\n ホストを簡単に表示、分析し、あらゆる問題を特定して、迅速に対処できます。\n ホストのメトリックを詳細に表示し、どのメトリックが最も多くのアラートをトリガーしているかを確認し、 \n 任意のKQLフィルターを使用して分析したいホストや、クラウドプロバイダーやオペレーティングシステムといった簡単な内訳をフィルターできます \n 。", + "xpack.infra.hostsViewPage.landing.introTitle": "ホスト分析", "xpack.infra.hostsViewPage.landing.learnMore": "詳細", - "xpack.infra.hostsViewPage.landing.tryTheFeatureMessage": "この機能は初期バージョンであり、今後継続する中で、開発、改善するうえで皆様からのフィードバックをお願いします\n 。機能にアクセスするには、以下を有効にします。プラットフォームに\n 追加されたこの強力な新機能をお見逃しなく。今すぐお試しください!", - "xpack.infra.hostsViewPage.metrics.tooltip.hostCount": "現在の検索条件から返されたホストの数です。", - "xpack.infra.hostsViewPage.metrics.tooltip.cpuUsage": "アイドルおよびIOWait以外の状態で費やされたCPU時間の割合の平均値を、CPUコア数で正規化したもの。ユーザースペースとカーネルスペースの両方で費やされた時間が含まれます。100%はホストのすべてのCPUがビジー状態であることを示します。", - "xpack.infra.hostsViewPage.metricTrend.cpuUsage.title": "CPU 使用状況", + "xpack.infra.hostsViewPage.landing.tryTheFeatureMessage": "この機能はベータ版です。ご意見をお聞かせください。 \n 機能の開発と改善に役立てます。この機能を使用するには、\n 以下で有効化します(あるいは、使用できない場合は、社内管理者に問い合わせてください)。\n この強力な機能をぜひご利用ください。今すぐお試しください。", + "xpack.infra.hostsViewPage.metrics.tooltip.cpuUsage": "アイドルおよびIOWait以外の状態で費やされたCPU時間の割合を、CPUコア数で正規化したもの。これにはユーザースペースとカーネルスペースの両方で費やされた時間が含まれます。", + "xpack.infra.hostsViewPage.metrics.tooltip.diskLatency": "ディスクリクエストの処理に費やされた時間。", + "xpack.infra.hostsViewPage.metrics.tooltip.diskSpaceUsage": "使用済みディスク容量の割合。", + "xpack.infra.hostsViewPage.metrics.tooltip.hostCount": "検索条件から返されたホストの数。", + "xpack.infra.hostsViewPage.metrics.tooltip.memoryFree": "ページキャッシュを含む合計空きメモリー。", + "xpack.infra.hostsViewPage.metrics.tooltip.memoryTotal": "合計メモリー容量。", + "xpack.infra.hostsViewPage.metrics.tooltip.memoryUsage": "ページキャッシュを除いたメインメモリーの割合。", + "xpack.infra.hostsViewPage.metrics.tooltip.normalizedLoad1m": "CPUコア数で正規化した1分間の負荷平均。", + "xpack.infra.hostsViewPage.metrics.tooltip.rx": "ホストのパブリックインターフェースで1秒間に受信したバイト数。", + "xpack.infra.hostsViewPage.metrics.tooltip.tx": "ホストのパブリックインターフェースで1秒間に送信したバイト数。", + "xpack.infra.hostsViewPage.metricTrend.cpuUsage.title": "CPU使用状況", + "xpack.infra.hostsViewPage.metricTrend.diskSpaceUsage.title": "ディスク容量使用状況", "xpack.infra.hostsViewPage.metricTrend.hostCount.title": "ホスト", "xpack.infra.hostsViewPage.metricTrend.memoryUsage.title": "メモリー使用状況", "xpack.infra.hostsViewPage.metricTrend.normalizedLoad1m.title": "正規化された負荷", "xpack.infra.hostsViewPage.metricTrend.subtitle.average": "平均", + "xpack.infra.hostsViewPage.table.addFilter": "フィルターを追加します", "xpack.infra.hostsViewPage.table.cpuUsageColumnHeader": "CPU使用状況(平均)", + "xpack.infra.hostsViewPage.table.diskSpaceUsageColumnHeader": "ディスク容量使用状況(平均)", + "xpack.infra.hostsViewPage.table.memoryFreeColumnHeader": "空きメモリー(平均)", "xpack.infra.hostsViewPage.table.memoryUsageColumnHeader": "メモリー使用状況(平均)", + "xpack.infra.hostsViewPage.table.nameColumnHeader": "名前", "xpack.infra.hostsViewPage.table.normalizedLoad1mColumnHeader": "正規化された負荷(平均)", "xpack.infra.hostsViewPage.table.rxColumnHeader": "RX(平均)", - "xpack.infra.hostsViewPage.table.txColumnHeader": "TX(平均)", - "xpack.infra.hostsViewPage.table.nameColumnHeader": "名前", "xpack.infra.hostsViewPage.table.toggleDialogWithDetails": "詳細ダイアログを切り替え", + "xpack.infra.hostsViewPage.table.tooltip.documentationLink": "ドキュメンテーション", + "xpack.infra.hostsViewPage.table.tooltip.formula": "式計算:", + "xpack.infra.hostsViewPage.table.txColumnHeader": "TX(平均)", "xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.active": "アクティブ", "xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.legend": "フィルタリング条件", "xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.recovered": "回復済み", @@ -18351,11 +19011,17 @@ "xpack.infra.hostsViewPage.tabs.metricsCharts.cpuUsage": "CPU使用状況", "xpack.infra.hostsViewPage.tabs.metricsCharts.diskIORead": "ディスク読み取りIOPS", "xpack.infra.hostsViewPage.tabs.metricsCharts.diskIOWrite": "ディスク書き込みIOPS", + "xpack.infra.hostsViewPage.tabs.metricsCharts.diskReadThroughput": "ディスク読み取りスループット", + "xpack.infra.hostsViewPage.tabs.metricsCharts.diskSpaceAvailable": "空きディスク容量", + "xpack.infra.hostsViewPage.tabs.metricsCharts.diskSpaceUsed": "ディスク容量使用状況", + "xpack.infra.hostsViewPage.tabs.metricsCharts.diskWriteThroughput": "ディスク書き込みスループット", + "xpack.infra.hostsViewPage.tabs.metricsCharts.memoryFree": "空きメモリー", "xpack.infra.hostsViewPage.tabs.metricsCharts.memoryUsage": "メモリー使用状況", "xpack.infra.hostsViewPage.tabs.metricsCharts.normalizedLoad1m": "正規化された負荷", "xpack.infra.hostsViewPage.tabs.metricsCharts.rx": "ネットワーク受信(RX)", "xpack.infra.hostsViewPage.tabs.metricsCharts.title": "メトリック", "xpack.infra.hostsViewPage.tabs.metricsCharts.tx": "ネットワーク送信(TX)", + "xpack.infra.hostsViewPage.tooltip.whatAreTheseMetricsLink": "これらのメトリックは何か。", "xpack.infra.infra.nodeDetails.apmTabLabel": "APM", "xpack.infra.infra.nodeDetails.createAlertLink": "インベントリルールの作成", "xpack.infra.infra.nodeDetails.openAsPage": "ページとして開く", @@ -18406,6 +19072,8 @@ "xpack.infra.logs.alertDetails.chartHistory.avgTimeToRecover": "回復までの平均時間", "xpack.infra.logs.alertDetails.chartHistory.chartTitle": "ログしきい値アラート履歴", "xpack.infra.logs.alertDetails.chartHistory.last30days": "過去30日間", + "xpack.infra.logs.alertDetails.explainLogRateSpikes.sectionTitle": "ログレートスパイクを説明", + "xpack.infra.logs.alertDetails.explainLogSpikeTitle": "考えられる原因と修正方法", "xpack.infra.logs.alertDropdown.inlineLogViewCreateAlertContent": "インラインログビューではアラートの作成がサポートされていません", "xpack.infra.logs.alertDropdown.inlineLogViewCreateAlertTitle": "インラインログビュー", "xpack.infra.logs.alertDropdown.readOnlyCreateAlertContent": "アラートを作成するには、このアプリケーションで上位のアクセス権が必要です。", @@ -18450,7 +19118,8 @@ "xpack.infra.logs.alerting.comparator.symbol.notMatchPhrase": "語句と一致しない", "xpack.infra.logs.alerting.threshold.alertReasonMessageActionVariableDescription": "アラートの理由の簡潔な説明", "xpack.infra.logs.alerting.threshold.conditionsActionVariableDescription": "ログエントリが満たす必要がある条件", - "xpack.infra.logs.alerting.threshold.defaultActionMessage": "\\{\\{^context.isRatio\\}\\}\\{\\{#context.group\\}\\}\\{\\{context.group\\}\\} - \\{\\{/context.group\\}\\}\\{\\{context.matchingDocuments\\}\\}ログエントリが次の条件と一致しました。\\{\\{context.conditions\\}\\}\\{\\{/context.isRatio\\}\\}\\{\\{#context.isRatio\\}\\}\\{\\{#context.group\\}\\}\\{\\{context.group\\}\\} - \\{\\{/context.group\\}\\} \\{\\{context.denominatorConditions\\}\\}と一致するログエントリ数に対する\\{\\{context.numeratorConditions\\}\\}と一致するログエントリ数の比率は\\{\\{context.ratio\\}\\}\\{\\{/context.isRatio\\}\\}でした", + "xpack.infra.logs.alerting.threshold.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\}はアクティブです。\n\n\\{\\{^context.isRatio\\}\\}\\{\\{#context.group\\}\\}\\{\\{context.group\\}\\} - \\{\\{/context.group\\}\\}\\{\\{context.matchingDocuments\\}\\}ログエントリは次の条件と一致しました:\\{\\{context.conditions\\}\\}\\{\\{/context.isRatio\\}\\}\n\\{\\{#context.isRatio\\}\\}\\{\\{#context.group\\}\\}\\{\\{context.group\\}\\} - \\{\\{/context.group\\}\\} \\{\\{context.numeratorConditions\\}\\}と一致するログエントリの件数の\\{\\{context.denominatorConditions\\}\\}と一致するログエントリの件数に対する比率は\\{\\{context.ratio\\}\\}\\{\\{/context.isRatio\\}\\}でした\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.infra.logs.alerting.threshold.defaultRecoveryMessage": "\\{\\{rule.name\\}\\}が回復しました。\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.infra.logs.alerting.threshold.denominatorConditionsActionVariableDescription": "比率の分母が満たす必要がある条件", "xpack.infra.logs.alerting.threshold.documentCountActionVariableDescription": "指定された条件と一致したログエントリ数", "xpack.infra.logs.alerting.threshold.everythingSeriesName": "ログエントリ", @@ -18462,7 +19131,7 @@ "xpack.infra.logs.alerting.threshold.ratioCriteriaQueryAText": "クエリA", "xpack.infra.logs.alerting.threshold.ratioCriteriaQueryBText": "クエリB", "xpack.infra.logs.alerting.threshold.timestampActionVariableDescription": "アラートがトリガーされた時点のOTCタイムスタンプ", - "xpack.infra.logs.alerting.threshold.viewInAppUrlActionVariableDescription": "アラートとコンテキストを調査するために使用できる、Elastic内のビューまたは機能へのリンク", + "xpack.infra.logs.alerting.threshold.viewInAppUrlActionVariableDescription": "アラートソースにリンク", "xpack.infra.logs.alertName": "ログしきい値", "xpack.infra.logs.analsysisSetup.indexQualityWarningTooltipMessage": "これらのインデックスからのログメッセージの分析中に、結果の品質を低下させる可能性がある一部の問題が検出されました。これらのインデックスや問題のあるデータセットを分析から除外することを検討してください。", "xpack.infra.logs.analysis.analyzeInMlButtonLabel": "ML で分析", @@ -18596,18 +19265,17 @@ "xpack.infra.logStreamEmbeddable.description": "ライブストリーミングログのテーブルを追加します。", "xpack.infra.logStreamEmbeddable.displayName": "ログストリーム", "xpack.infra.logStreamEmbeddable.title": "ログストリーム", - "xpack.infra.metadataEmbeddable.errorMessage": "データの読み込みエラーが発生しました。{reload}し、ホスト詳細をもう一度開いてください。", "xpack.infra.metadataEmbeddable.AddFilterAriaLabel": "フィルターを追加", - "xpack.infra.metadataEmbeddable.filterAdded": "フィルターが追加されました", - "xpack.infra.metadataEmbeddable.filterAriaLabel": "フィルター", - "xpack.infra.metadataEmbeddable.setFilterByValueTooltip": "値でフィルタリング", - "xpack.infra.metadataEmbeddable.setRemoveFilterTooltip": "フィルターを削除", "xpack.infra.metadataEmbeddable.errorAction": "ページを再読み込み", "xpack.infra.metadataEmbeddable.errorTitle": "申し訳ございません、エラーが発生しました", "xpack.infra.metadataEmbeddable.field": "フィールド", + "xpack.infra.metadataEmbeddable.filterAdded": "フィルターが追加されました", + "xpack.infra.metadataEmbeddable.filterAriaLabel": "フィルター", "xpack.infra.metadataEmbeddable.loading": "読み込み中...", "xpack.infra.metadataEmbeddable.noMetadataFound": "メタデータが見つかりません。", "xpack.infra.metadataEmbeddable.searchForMetadata": "メタデータを検索...", + "xpack.infra.metadataEmbeddable.setFilterByValueTooltip": "値でフィルタリング", + "xpack.infra.metadataEmbeddable.setRemoveFilterTooltip": "フィルターを削除", "xpack.infra.metadataEmbeddable.value": "値", "xpack.infra.metricDetailPage.awsMetricsLayout.cpuUtilSection.percentSeriesLabel": "パーセント", "xpack.infra.metricDetailPage.awsMetricsLayout.cpuUtilSection.sectionLabel": "CPU 使用状況", @@ -18772,7 +19440,7 @@ "xpack.infra.metrics.alertFlyout.error.customMetrics.aggTypeRequired": "集約が必要です", "xpack.infra.metrics.alertFlyout.error.customMetrics.fieldRequired": "フィールドが必要です", "xpack.infra.metrics.alertFlyout.error.customMetricsError": "1つ以上のカスタムメトリックを定義する必要があります", - "xpack.infra.metrics.alertFlyout.error.equation.invalidCharacters": "等式フィールドでは次の文字のみを使用できます:A-Z、+、-、/、*、(、)、?、!、&、:、|、>、<、=", + "xpack.infra.metrics.alertFlyout.error.equation.invalidCharacters": "等式フィールドでは次の文字のみを使用できます:A-Z、+、-、/、*、(、)、?、!、&、:、|、>、<、=", "xpack.infra.metrics.alertFlyout.error.invalidFilterQuery": "フィルタークエリは無効です。", "xpack.infra.metrics.alertFlyout.error.metricRequired": "メトリックが必要です。", "xpack.infra.metrics.alertFlyout.error.mlCapabilitiesRequired": "機械学習が無効なときには、異常アラートを作成できません。", @@ -18801,7 +19469,7 @@ "xpack.infra.metrics.alertFlyout.removeCondition": "条件を削除", "xpack.infra.metrics.alertFlyout.removeWarningThreshold": "warningThresholdを削除", "xpack.infra.metrics.alertFlyout.warningThreshold": "警告", - "xpack.infra.metrics.alerting.alertDetailUrlActionVariableDescription": "このアラートに関連する詳細とコンテキストを示すElastic内のビューへのリンク", + "xpack.infra.metrics.alerting.alertDetailUrlActionVariableDescription": "アラートトラブルシューティングビューにリンクして、さらに詳しい状況や詳細を確認できます。server.publicBaseUrlが構成されていない場合は、空の文字列になります。", "xpack.infra.metrics.alerting.alertStateActionVariableDescription": "現在のアラートの状態", "xpack.infra.metrics.alerting.anomaly.defaultActionMessage": "\\{\\{alertName\\}\\}は\\{\\{context.alertState\\}\\}の状態です\n\n\\{\\{context.metric\\}\\}は\\{\\{context.timestamp\\}\\}で標準を超える\\{\\{context.summary\\}\\}でした\n\n標準の値:\\{\\{context.typical\\}\\}\n実際の値:\\{\\{context.actual\\}\\}\n", "xpack.infra.metrics.alerting.anomaly.fired": "実行", @@ -18821,9 +19489,12 @@ "xpack.infra.metrics.alerting.groupByKeysActionVariableDescription": "データを報告しているグループを含むオブジェクト", "xpack.infra.metrics.alerting.hostActionVariableDescription": "ソースで使用可能な場合に、ECSで定義されたホストオブジェクト。", "xpack.infra.metrics.alerting.inventory.noDataFormattedValue": "[データなし]", - "xpack.infra.metrics.alerting.inventory.threshold.defaultActionMessage": "\\{\\{alertName\\}\\} - \\{\\{context.group\\}\\}は状態\\{\\{context.alertState\\}\\}です\n\n理由:\n\\{\\{context.reason\\}\\}\n", + "xpack.infra.metrics.alerting.inventory.threshold.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\}は次の条件でアクティブです。\n\n- 影響済み:\\{\\{context.group\\}\\}\n- メトリック: \\{\\{context.metric\\}\\}\n- 観測された値:\\{\\{context.value\\}\\}\n- しきい値:\\{\\{context.threshold\\}\\}\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.infra.metrics.alerting.inventory.threshold.defaultRecoveryMessage": "\\{\\{rule.name\\}\\}が回復しました。\n\n- 影響済み:\\{\\{context.group\\}\\}\n- メトリック: \\{\\{context.metric\\}\\}\n- しきい値:\\{\\{context.threshold\\}\\}\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.infra.metrics.alerting.inventory.threshold.fired": "アラート", "xpack.infra.metrics.alerting.labelsActionVariableDescription": "このアラートがトリガーされたエンティティに関連付けられたラベルのリスト。", + "xpack.infra.metrics.alerting.metric.threshold.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\}は次の条件でアクティブです。\n\n- 影響済み:\\{\\{context.group\\}\\}\n- メトリック: \\{\\{context.metric\\}\\}\n- 観測された値:\\{\\{context.value\\}\\}\n- しきい値:\\{\\{context.threshold\\}\\}\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.infra.metrics.alerting.metric.threshold.defaultRecoveryMessage": "\\{\\{rule.name\\}\\}が回復しました。\n\n- 影響済み:\\{\\{context.group\\}\\}\n- メトリック: \\{\\{context.metric\\}\\}\n- しきい値:\\{\\{context.threshold\\}\\}\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.infra.metrics.alerting.metricActionVariableDescription": "指定された条件のメトリック名。使用方法:(ctx.metric.condition0、ctx.metric.condition1など)。", "xpack.infra.metrics.alerting.noDataFormattedValue": "[データなし]", "xpack.infra.metrics.alerting.orchestratorActionVariableDescription": "ソースで使用可能な場合に、ECSで定義されたオーケストレーターオブジェクト。", @@ -18848,7 +19519,7 @@ "xpack.infra.metrics.alerting.thresholdActionVariableDescription": "指定された条件のメトリックのしきい値。使用方法:(ctx.threshold.condition0、ctx.threshold.condition1など)。", "xpack.infra.metrics.alerting.timestampDescription": "アラートが検出された時点のタイムスタンプ。", "xpack.infra.metrics.alerting.valueActionVariableDescription": "指定された条件のメトリックの値。使用方法:(ctx.value.condition0、ctx.value.condition1など)。", - "xpack.infra.metrics.alerting.viewInAppUrlActionVariableDescription": "詳細な調査に役立つ、Elastic内のビューまたは機能へのリンク", + "xpack.infra.metrics.alerting.viewInAppUrlActionVariableDescription": "アラートソースにリンク", "xpack.infra.metrics.alertName": "メトリックしきい値", "xpack.infra.metrics.anomaly.alertFlyout.alertDescription": "異常スコアが定義されたしきい値を超えたときにアラートを発行します。", "xpack.infra.metrics.anomaly.alertName": "インフラストラクチャーの異常", @@ -18895,6 +19566,7 @@ "xpack.infra.metrics.nodeDetails.processListError": "プロセスデータを読み込めません", "xpack.infra.metrics.nodeDetails.processListRetry": "再試行", "xpack.infra.metrics.nodeDetails.searchForProcesses": "プロセスを検索…", + "xpack.infra.metrics.nodeDetails.tabs.metadata": "メタデータ", "xpack.infra.metrics.nodeDetails.tabs.processes": "プロセス", "xpack.infra.metrics.pluginTitle": "インフラストラクチャー", "xpack.infra.metrics.refetchButtonLabel": "新規データを確認", @@ -19058,6 +19730,7 @@ "xpack.infra.nodeDetails.no": "いいえ", "xpack.infra.nodeDetails.tabs.anomalies": "異常", "xpack.infra.nodeDetails.tabs.logs": "ログ", + "xpack.infra.nodeDetails.tabs.logs.title": "ログ", "xpack.infra.nodeDetails.tabs.metadata.agentHeader": "エージェント", "xpack.infra.nodeDetails.tabs.metadata.cloudHeader": "クラウド", "xpack.infra.nodeDetails.tabs.metadata.filterAriaLabel": "フィルター", @@ -19070,6 +19743,7 @@ "xpack.infra.nodeDetails.yes": "はい", "xpack.infra.nodesToWaffleMap.groupsWithGroups.allName": "すべて", "xpack.infra.nodesToWaffleMap.groupsWithNodes.allName": "すべて", + "xpack.infra.notAvailableLabel": "N/A", "xpack.infra.openView.actionNames.deleteConfirmation": "ビューを削除しますか?", "xpack.infra.openView.cancelButton": "キャンセル", "xpack.infra.openView.columnNames.actions": "アクション", @@ -19082,6 +19756,7 @@ "xpack.infra.sampleDataLinkLabel": "ログ", "xpack.infra.savedView.defaultViewNameHosts": "デフォルトビュー", "xpack.infra.savedView.errorOnCreate.title": "ビューの保存中にエラーが発生しました。", + "xpack.infra.savedView.errorOnDelete.title": "ビューの削除中にエラーが発生しました。", "xpack.infra.savedView.findError.title": "ビューの読み込み中にエラーが発生しました。", "xpack.infra.savedView.manageViews": "ビューの管理", "xpack.infra.savedView.saveNewView": "新しいビューの保存", @@ -19105,6 +19780,8 @@ "xpack.infra.sourceConfiguration.logIndicesTitle": "ログインデックス", "xpack.infra.sourceConfiguration.messageLogColumnDescription": "このシステムフィールドは、ドキュメントフィールドから取得されたログエントリーメッセージを表示します。", "xpack.infra.sourceConfiguration.metricIndicesDescription": "メトリックデータを含む一致するインデックスのインデックスパターンです", + "xpack.infra.sourceConfiguration.metricIndicesDoNotExist": "入力されたパターンがインデックスと一致しないため、メトリックデータを検索できませんでした。", + "xpack.infra.sourceConfiguration.metricIndicesDoNotExistTitle": "一致するインデックスが見つかりません", "xpack.infra.sourceConfiguration.metricIndicesLabel": "メトリックインデックス", "xpack.infra.sourceConfiguration.metricIndicesTitle": "メトリックインデックス", "xpack.infra.sourceConfiguration.missingHttp": "ソースの読み込みに失敗しました:HTTPクライアントがありません。", @@ -19116,6 +19793,8 @@ "xpack.infra.sourceConfiguration.noLogColumnsTitle": "列がありません", "xpack.infra.sourceConfiguration.noRemoteClusterMessage": "リモートクラスターに接続できません。このため、必要なメトリックとデータを取得できません。\nこの問題を解決するには、インデックス構成を確認し、構成が正しいことを確かめてください。", "xpack.infra.sourceConfiguration.noRemoteClusterTitle": "リモートクラスターに接続できませんでした", + "xpack.infra.sourceConfiguration.remoteClusterConnectionDoNotExist": "リモートクラスターが利用可能であるか、リモート接続の設定が正しいことを確認します。", + "xpack.infra.sourceConfiguration.remoteClusterConnectionDoNotExistTitle": "リモートクラスターに接続できませんでした", "xpack.infra.sourceConfiguration.systemColumnBadgeLabel": "システム", "xpack.infra.sourceConfiguration.unsavedFormPrompt": "終了してよろしいですか?変更内容は失われます", "xpack.infra.sourceConfiguration.updateFailureBody": "変更をメトリック構成に適用できませんでした。しばらくたってから再試行してください。", @@ -19219,47 +19898,6 @@ "xpack.infra.waffle.unableToSelectMetricErrorTitle": "メトリックのオプションまたは値を選択できません。", "xpack.infra.waffleTime.autoRefreshButtonLabel": "自動更新", "xpack.infra.waffleTime.stopRefreshingButtonLabel": "更新中止", - "xpack.logsShared.dataSearch.shardFailureErrorMessage": "インデックス{indexName}:{errorMessage}", - "xpack.logsShared.logFlyout.flyoutSubTitle": "インデックス{indexName}から", - "xpack.logsShared.logFlyout.flyoutTitle": "ログエントリ{logEntryId}の詳細", - "xpack.logsShared.logs.extendTimeframeByDaysButton": "タイムフレームを{amount, number}{amount, plural, other {日}}延長", - "xpack.logsShared.logs.extendTimeframeByHoursButton": "タイムフレームを{amount, number}{amount, plural, other {時間}}延長", - "xpack.logsShared.logs.extendTimeframeByMillisecondsButton": "タイムフレームを{amount, number}{amount, plural, other {ミリ秒}}延長", - "xpack.logsShared.logs.extendTimeframeByMinutesButton": "タイムフレームを{amount, number}{amount, plural, other {分}}延長", - "xpack.logsShared.logs.extendTimeframeByMonthsButton": "タイムフレームを{amount, number}{amount, plural, other {月}}延長", - "xpack.logsShared.logs.extendTimeframeBySecondsButton": "タイムフレームを{amount, number}{amount, plural, other {秒}}延長", - "xpack.logsShared.logs.extendTimeframeByWeeksButton": "タイムフレームを{amount, number}{amount, plural, other {週}}延長", - "xpack.logsShared.logs.extendTimeframeByYearsButton": "タイムフレームを{amount, number}{amount, plural, other {年}}延長", - "xpack.logsShared.logs.lastUpdate": "最終更新:{timestamp}", - "xpack.logsShared.logs.showingEntriesFromTimestamp": "{timestamp}以降のエントリーを表示中", - "xpack.logsShared.logs.showingEntriesUntilTimestamp": "{timestamp}までのエントリーを表示中", - "xpack.logsShared.dataSearch.abortedRequestErrorMessage": "リクエストが中断されましたか。", - "xpack.logsShared.dataSearch.cancelButtonLabel": "リクエストのキャンセル", - "xpack.logsShared.dataSearch.loadingErrorRetryButtonLabel": "再試行", - "xpack.logsShared.lobs.logEntryActionsViewInContextButton": "コンテキストで表示", - "xpack.logsShared.logEntryActionsMenu.apmActionLabel": "APMで表示", - "xpack.logsShared.logEntryActionsMenu.buttonLabel": "調査", - "xpack.logsShared.logEntryActionsMenu.uptimeActionLabel": "監視ステータスを表示", - "xpack.logsShared.logEntryItemView.logEntryActionsMenuToolTip": "行のアクションを表示", - "xpack.logsShared.logFlyout.fieldColumnLabel": "フィールド", - "xpack.logsShared.logFlyout.filterAriaLabel": "フィルター", - "xpack.logsShared.logFlyout.loadingErrorCalloutTitle": "ログエントリの検索中のエラー", - "xpack.logsShared.logFlyout.loadingMessage": "シャードのログエントリを検索しています", - "xpack.logsShared.logFlyout.setFilterTooltip": "フィルターでイベントを表示", - "xpack.logsShared.logFlyout.valueColumnLabel": "値", - "xpack.logsShared.logs.emptyView.checkForNewDataButtonLabel": "新規データを確認", - "xpack.logsShared.logs.emptyView.noLogMessageDescription": "フィルターを調整してみてください。", - "xpack.logsShared.logs.emptyView.noLogMessageTitle": "表示するログメッセージがありません。", - "xpack.logsShared.logs.jumpToTailText": "最も新しいエントリーに移動", - "xpack.logsShared.logs.loadingNewEntriesText": "新しいエントリーを読み込み中", - "xpack.logsShared.logs.logEntryActionsDetailsButton": "詳細を表示", - "xpack.logsShared.logs.scrollableLogTextStreamView.loadingEntriesLabel": "エントリーを読み込み中", - "xpack.logsShared.logs.stream.messageColumnTitle": "メッセージ", - "xpack.logsShared.logs.stream.timestampColumnTitle": "タイムスタンプ", - "xpack.logsShared.logs.streamingNewEntriesText": "新しいエントリーをストリーム中", - "xpack.logsShared.logs.streamLive": "ライブストリーム", - "xpack.logsShared.logStream.kqlErrorTitle": "無効なKQL式", - "xpack.logsShared.logStream.unknownErrorTitle": "エラーが発生しました", "xpack.ingestPipelines.app.deniedPrivilegeDescription": "インジェストパイプラインを使用するには、{privilegesCount, plural, other {これらのクラスター権限}}が必要です:{missingPrivileges}。", "xpack.ingestPipelines.clone.loadSourcePipelineErrorTitle": "{name}を読み込めません。", "xpack.ingestPipelines.createFromCsv.errorMessage": "{message}", @@ -19336,6 +19974,9 @@ "xpack.ingestPipelines.pipelineEditor.redactForm.prefixFieldHelpText": "このトークンを使用して、編集されたセクションを開始します。指定しない場合、デフォルトの{defaultValue}が使われます。", "xpack.ingestPipelines.pipelineEditor.redactForm.suffixFieldHelpText": "このトークンを使用して、編集されたセクションを終了します。指定しない場合、デフォルトの{defaultValue}が使われます。", "xpack.ingestPipelines.pipelineEditor.removeProcessorModal.titleText": "{type}プロセッサーの削除", + "xpack.ingestPipelines.pipelineEditor.reroute.datasetFieldHelperText": "データストリーム名のデータセット部分のフィールド参照または固定値。インデックス名の条件のほかに、{dash}を使用することはできず、100文字以下でなければなりません。デフォルトは{defaultValue}です。", + "xpack.ingestPipelines.pipelineEditor.reroute.destinationFieldHelperText": "ターゲットの固定値。{dataset}または{namespace}が設定されているときには設定できません。", + "xpack.ingestPipelines.pipelineEditor.reroute.namespaceFieldHelperText": "データストリーム名のネームスペース部分のフィールド参照または固定値。インデックス名の条件を満たし、100文字以下でなければなりません。デフォルトは{defaultValue}です。", "xpack.ingestPipelines.pipelineEditor.scriptForm.langFieldHelpText": "スクリプト言語。デフォルトは{lang}です。", "xpack.ingestPipelines.pipelineEditor.setForm.copyFromFieldHelpText": "{field}にコピーするフィールド。", "xpack.ingestPipelines.pipelineEditor.setForm.ignoreEmptyValueFieldHelpText": "{valueField}が{nullValue}であるか、空の文字列である場合は、フィールドを更新しません。", @@ -19404,7 +20045,7 @@ "xpack.ingestPipelines.createFromCsv.fetchPipeline.unexpectedErrorDetails": "予期しないエラー", "xpack.ingestPipelines.createFromCsv.fetchPipeline.unexpectedErrorTitle": "問題が発生しました", "xpack.ingestPipelines.createFromCsv.fileUpload.processButton": "CSVの処理", - "xpack.ingestPipelines.createFromCsv.fileUpload.selectOrDragAndDropFileDescription": "CSVファイルを選択するかドラッグ &amp; ドロップしてください", + "xpack.ingestPipelines.createFromCsv.fileUpload.selectOrDragAndDropFileDescription": "CSVファイルを選択するかドラッグ&ドロップしてください", "xpack.ingestPipelines.createFromCsv.fileUpload.settingDescription": "CSVでアクションが指定されていない場合、フィールドをコピーするか名前を変更するかどうか。", "xpack.ingestPipelines.createFromCsv.instructions.continued": "追加のデータ変換を実行するには、結果のスターターパイプラインにプロセッサーを追加します。", "xpack.ingestPipelines.createFromCsv.pageTitle": "CSVからパイプラインを作成", @@ -19756,6 +20397,8 @@ "xpack.ingestPipelines.pipelineEditor.onFailureProcessorsDocumentationLink": "詳細情報", "xpack.ingestPipelines.pipelineEditor.onFailureProcessorsLabel": "エラーハンドラー", "xpack.ingestPipelines.pipelineEditor.onFailureTreeTitle": "障害プロセッサー", + "xpack.ingestPipelines.pipelineEditor.pipelineForm.ignoreMissingPipelineFieldHelpText": "失敗せずに、不足しているパイプラインを無視します。", + "xpack.ingestPipelines.pipelineEditor.pipelineForm.ignoreMissingPipelineFieldLabel": "不足しているパイプラインを無視", "xpack.ingestPipelines.pipelineEditor.pipelineForm.pipelineNameFieldHelpText": "実行するインジェストパイプラインの名前。", "xpack.ingestPipelines.pipelineEditor.pipelineForm.pipelineNameFieldLabel": "パイプライン名", "xpack.ingestPipelines.pipelineEditor.pipelineForm.pipelineNameRequiredError": "値が必要です。", @@ -19784,6 +20427,11 @@ "xpack.ingestPipelines.pipelineEditor.renameForm.targetFieldRequiredError": "値が必要です。", "xpack.ingestPipelines.pipelineEditor.requiredCopyFrom": "コピー元値は必須です。", "xpack.ingestPipelines.pipelineEditor.requiredValue": "値が必要です。", + "xpack.ingestPipelines.pipelineEditor.reroute.datasetFieldLabel": "データセット(任意)", + "xpack.ingestPipelines.pipelineEditor.reroute.destinationFieldLabel": "デスティネーション(任意)", + "xpack.ingestPipelines.pipelineEditor.reroute.namespaceFieldLabel": "ネームスペース(任意)", + "xpack.ingestPipelines.pipelineEditor.rerouteForm.datasetLengthError": "値は100文字以下でなければなりません。", + "xpack.ingestPipelines.pipelineEditor.rerouteForm.namespaceLengthError": "値は100文字以下でなければなりません。", "xpack.ingestPipelines.pipelineEditor.scriptForm.idRequiredError": "値が必要です。", "xpack.ingestPipelines.pipelineEditor.scriptForm.langFieldLabel": "言語(任意)", "xpack.ingestPipelines.pipelineEditor.scriptForm.paramsFieldAriaLabel": "パラメーターJSONエディター", @@ -19870,6 +20518,7 @@ "xpack.ingestPipelines.processors.defaultDescription.fail": "実行を停止する例外を発生させます", "xpack.ingestPipelines.processors.defaultDescription.fingerprint": "ドキュメントのコンテンツのハッシュを計算します。", "xpack.ingestPipelines.processors.defaultDescription.networkDirection": "特定のソースIPアドレスのネットワーク方向を計算します。", + "xpack.ingestPipelines.processors.defaultDescription.reroute": "ドキュメントを別のターゲットインデックスまたはデータストリームにルーティングします", "xpack.ingestPipelines.processors.defaultDescription.sort.orderAscendingLabel": "昇順", "xpack.ingestPipelines.processors.defaultDescription.sort.orderDescendingLabel": "降順", "xpack.ingestPipelines.processors.description.append": "フィールド配列の末尾に値を追加します。フィールドに単一の値が含まれている場合、プロセッサーはまず値を配列に変換します。フィールドが存在しない場合、プロセッサーは追加された値を含む配列を作成します。", @@ -19901,6 +20550,7 @@ "xpack.ingestPipelines.processors.description.registeredDomain": "登録されたドメイン(有効な最上位ドメイン)、サブドメイン、最上位ドメインを完全修飾ドメイン名から抽出します。", "xpack.ingestPipelines.processors.description.remove": "1つ以上のフィールドを削除します。", "xpack.ingestPipelines.processors.description.rename": "既存のフィールドの名前を変更します。", + "xpack.ingestPipelines.processors.description.reroute": "ドキュメントを別のターゲットインデックスまたはデータストリームにルーティングします。", "xpack.ingestPipelines.processors.description.script": "受信ドキュメントでスクリプトを実行します。", "xpack.ingestPipelines.processors.description.set": "フィールドの値を設定します。", "xpack.ingestPipelines.processors.description.setSecurityUser": "ユーザー名と電子メールアドレスなどの現在のユーザーの詳細情報を受信ドキュメントに追加します。インデックスリクエストには認証されたユーザーが必要です。", @@ -19942,6 +20592,7 @@ "xpack.ingestPipelines.processors.label.registeredDomain": "登録ドメイン", "xpack.ingestPipelines.processors.label.remove": "削除", "xpack.ingestPipelines.processors.label.rename": "名前の変更", + "xpack.ingestPipelines.processors.label.reroute": "再ルーティング", "xpack.ingestPipelines.processors.label.script": "スクリプト", "xpack.ingestPipelines.processors.label.set": "設定", "xpack.ingestPipelines.processors.label.setSecurityUser": "セキュリティユーザーの設定", @@ -19981,6 +20632,7 @@ "xpack.ingestPipelines.testPipelineFlyout.successNotificationText": "パイプラインが実行されました", "xpack.ingestPipelines.testPipelineFlyout.title": "パイプラインをテスト", "xpack.kubernetesSecurity.treeNavigation.loadMore": "{name}詳細表示", + "xpack.kubernetesSecurity.beta": "ベータ", "xpack.kubernetesSecurity.chartsToggle.hide": "グラフを非表示", "xpack.kubernetesSecurity.chartsToggle.show": "チャートを表示", "xpack.kubernetesSecurity.containerNameWidget.containerImage": "コンテナーイメージ", @@ -19993,8 +20645,8 @@ "xpack.kubernetesSecurity.countWidget.pods": "ポッド", "xpack.kubernetesSecurity.entryUserChart.nonRoot": "非ルート", "xpack.kubernetesSecurity.entryUserChart.root": "ルート", - "xpack.kubernetesSecurity.entryUserChart.title": "セッションエントリユーザー", - "xpack.kubernetesSecurity.entryUserChart.tooltip": "セッションユーザーは、セッションに関連付けられた最初のLinuxユーザーです。このユーザーは、リモートログインの認証から設定されるか、initで開始されたサービスセッションでは自動的に設定される場合があります。", + "xpack.kubernetesSecurity.entryUserChart.title": "エントリセッションユーザー", + "xpack.kubernetesSecurity.entryUserChart.tooltip": "エントリセッションユーザーは、セッションに関連付けられた最初のLinuxユーザーです。このユーザーは、リモートログインの認証から設定されるか、initで開始されたサービスセッションでは自動的に設定される場合があります。", "xpack.kubernetesSecurity.searchGroup.cluster": "クラスター", "xpack.kubernetesSecurity.searchGroup.groupBy": "グループ分けの条件", "xpack.kubernetesSecurity.searchGroup.sortBy": "並べ替え基準", @@ -20056,6 +20708,7 @@ "xpack.lens.indexPattern.cardinalityOf": "{name}のユニークカウント", "xpack.lens.indexPattern.CounterRateOf": "{name}のカウンターレート", "xpack.lens.indexPattern.cumulativeSumOf": "{name}の累積和", + "xpack.lens.indexPattern.customFormat.description": "Numeral.jsのフォーマットパターン(デフォルト:{defaultPattern})", "xpack.lens.indexPattern.dateHistogram.autoLongerExplanation": "間隔を選択するために、Lensでは、指定された時間範囲が{targetBarSetting}詳細設定で分割され、データに最適な間隔が計算されます。たとえば、時間範囲が4日の場合、データは1時間のバケットに分割されます。バーの最大数を設定するには、{maxBarSetting}詳細設定を使用します。", "xpack.lens.indexPattern.dateHistogram.restrictedInterval": "アグリゲーションの制限により間隔は {intervalValue} に固定されています。", "xpack.lens.indexPattern.derivativeOf": "{name}の差異", @@ -20080,6 +20733,7 @@ "xpack.lens.indexPattern.formulaPartLabel": "{label}の部分", "xpack.lens.indexPattern.formulaUseAlternative": "式の演算{operation}には{params}引数がありません。{alternativeFn}演算を使用してください", "xpack.lens.indexPattern.formulaWithTooManyArguments": "演算{operation}の引数が多すぎます", + "xpack.lens.indexPattern.interval.noTargetBars": "\"{uiSettingVar}\"値がありません", "xpack.lens.indexPattern.invalidReferenceConfiguration": "ディメンション\"{dimensionLabel}\"の構成が正しくありません", "xpack.lens.indexPattern.lastValue.invalidTypeSortField": "フィールド{invalidField}は日付フィールドではないため、並べ替えで使用できません", "xpack.lens.indexPattern.lastValue.sortFieldNotFound": "並べ替えフィールド{sortField}が見つかりませんでした。", @@ -20111,6 +20765,7 @@ "xpack.lens.indexPattern.reducedTimeRangeWithDateHistogram": "時間範囲の縮小は、データヒストグラムなしでのみ使用できます。データヒストグラムディメンションを削除するか、縮小された時間範囲を{column}から削除してください。", "xpack.lens.indexPattern.reducedTimeRangeWithoutTimefield": "時間範囲の縮小は、データビューの指定されたデフォルト時間フィールドでのみ使用できます。デフォルト時間フィールドで別のデータビューを使用するか、縮小された時間範囲を{column}から削除してください。", "xpack.lens.indexPattern.referenceLineDimensionEditorLabel": "{groupLabel}基準線", + "xpack.lens.indexPattern.significantTermsOf": "{name}の有意な値", "xpack.lens.indexPattern.standardDeviationOf": "{name}の標準偏差", "xpack.lens.indexPattern.staticValueError": "{value}の固定値が有効な数値ではありません", "xpack.lens.indexPattern.staticValueLabelWithValue": "固定値:{value}", @@ -20133,6 +20788,7 @@ "xpack.lens.messagesButton.label.errors": "{errorCount} {errorCount, plural, other {エラー}}", "xpack.lens.messagesButton.label.errorsAndWarnings": "{errorCount} {errorCount, plural, other {エラー}}, {warningCount} {warningCount, plural, other {警告}}", "xpack.lens.messagesButton.label.warnings": "{warningCount} {warningCount, plural, other {警告}}", + "xpack.lens.modalTitle.revertAnnotationGroupTitle": "\"{title}\"の変更を元に戻しますか?", "xpack.lens.pie.arrayValues": "次のディメンションには配列値があります:{label}。可視化が想定通りに表示されない場合があります。", "xpack.lens.pie.multiMetricAccessorLabel": "{number}メトリック", "xpack.lens.pie.suggestionLabel": "{chartName}", @@ -20147,6 +20803,11 @@ "xpack.lens.xyChart.annotationError.textFieldNotFound": "テキストフィールド{textField}がデータビュー{dataView}で見つかりません", "xpack.lens.xyChart.annotationError.timeFieldNotFound": "時刻フィールド{timeField}がデータビュー{dataView}で見つかりません", "xpack.lens.xyChart.annotationError.tooltipFieldNotFound": "フィールド{missingFields, plural, other {フィールド}}{missingTooltipFields}がデータビュー{dataView}で見つかりません", + "xpack.lens.xyChart.annotations.notificationReverted": "\"{title}\"が元に戻されました", + "xpack.lens.xyChart.annotations.notificationUnlinked": "\"{title}\"のリンクが解除されました", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.errorToastTitle": "\"{title}\"を保存できませんでした", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.successToastBody": "{link}で表示または管理します。", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.successToastTitle": "\"{title}\"が保存されました", "xpack.lens.xySuggestions.dateSuggestion": "{xTitle} の {yTitle}", "xpack.lens.xySuggestions.nonDateSuggestion": "{yTitle} / {xTitle}", "xpack.lens.xyVisualization.arrayValues": "{label}には配列値が含まれます。可視化が想定通りに表示されない場合があります。", @@ -20174,8 +20835,8 @@ "xpack.lens.formula.gtFunction.markdown": "\n2つの値で大なりの比較を実行します。\n「ifelse」比較関数の条件として使用されます。\n>記号も使用できます。\n\n例:バイトの平均がメモリーの平均量より大きい場合は、trueを返します\n`average(bytes) > average(memory)`\n\n例: `gt(average(bytes), 1000)`\n ", "xpack.lens.formula.ifElseFunction.markdown": "\n条件の要素がtrueかfalseかに応じて、値を返します。\n\n例:顧客ごとの平均収益。ただし、場合によっては、顧客IDが提供されないことがあり、その場合は別の顧客としてカウントされます\n`sum(total)/(unique_count(customer_id) + ifelse( count() > count(kql='customer_id:*'), 1, 0))`\n ", "xpack.lens.formula.logFunction.markdown": "\nオプションで底をとる対数。デフォルトでは自然対数の底*e*を使用します。\n\n例:値を格納するために必要なビット数を計算します\n```\nlog(sum(bytes))\nlog(sum(bytes), 2)\n```\n ", - "xpack.lens.formula.lteFunction.markdown": "\n2つの値で小なりイコールの比較を実行します。\n「ifelse」比較関数の条件として使用されます。\n<=記号も使用できます。\n\n例:バイトの平均がメモリーの平均量以下である場合は、trueを返します\n`average(bytes) <= average(memory)`\n\n例: `lte(average(bytes), 1000)`\n ", - "xpack.lens.formula.ltFunction.markdown": "\n2つの値で小なりの比較を実行します。\n「ifelse」比較関数の条件として使用されます。\n<記号も使用できます。\n\n例:バイトの平均がメモリーの平均量より少ない場合は、trueを返します\n`average(bytes) <= average(memory)`\n\n例: `lt(average(bytes), 1000)`\n ", + "xpack.lens.formula.lteFunction.markdown": "\n2つの値で小なりイコールの比較を実行します。\n「ifelse」比較関数の条件として使用されます。\n<=記号も使用できます。\n\n例:バイトの平均がメモリーの平均量以下である場合は、trueを返します\n`average(bytes) <= average(memory)`\n\n例: `lte(average(bytes), 1000)`\n ", + "xpack.lens.formula.ltFunction.markdown": "\n2つの値で小なりの比較を実行します。\n「ifelse」比較関数の条件として使用されます。\n<記号も使用できます。\n\n例:バイトの平均がメモリーの平均量より少ない場合は、trueを返します\n`average(bytes) <= average(memory)`\n\n例: `lt(average(bytes), 1000)`\n ", "xpack.lens.formula.maxFunction.markdown": "\n2つの数値の間の最大値が検出されます。\n\n例:2つのフィールドの平均の最大値が検出されます。\n`pick_max(average(bytes), average(memory))`\n ", "xpack.lens.formula.minFunction.markdown": "\n2つの数値の間の最小値が検出されます。\n\n例:2つのフィールドの平均の最小値が検索されます。\n`pick_min(average(bytes), average(memory))`\n ", "xpack.lens.formula.modFunction.markdown": "\n関数を数値で除算した後の余り\n\n例:値の最後の3ビットを計算します\n`mod(sum(price), 1000)`\n ", @@ -20195,9 +20856,11 @@ "xpack.lens.indexPattern.counterRate.documentation.markdown": "\n増加し続けるカウンターのレートを計算します。この関数は、経時的に単調に増加する種類の測定を含むカウンターメトリックフィールドでのみ結果を生成します。\n値が小さくなる場合は、カウンターリセットであると解釈されます。最も正確な結果を得るには、フィールドの「max`」で「counter_rate」を計算してください。\n\nこの計算はフィルターで定義された別の系列または上位値のディメンションに対して個別に実行されます。\n式で使用されるときには、現在の間隔を使用します。\n\n例:Memcachedサーバーで経時的に受信されたバイトの比率を可視化します。\n`counter_rate(max(memcached.stats.read.bytes))`\n ", "xpack.lens.indexPattern.cumulativeSum.documentation.markdown": "\n経時的なメトリックの累計値を計算し、系列のすべての前の値を各値に追加します。この関数を使用するには、日付ヒストグラムディメンションも構成する必要があります。\n\nこの計算はフィルターで定義された別の系列または上位値のディメンションに対して個別に実行されます。\n\n例:経時的に累積された受信バイト数を可視化します。\n`cumulative_sum(sum(bytes))`\n ", "xpack.lens.indexPattern.differences.documentation.markdown": "\n経時的にメトリックの最後の値に対する差異を計算します。この関数を使用するには、日付ヒストグラムディメンションも構成する必要があります。\n差異ではデータが連続する必要があります。差異を使用するときにデータが空の場合は、データヒストグラム間隔を大きくしてみてください。\n\nこの計算はフィルターで定義された別の系列または上位値のディメンションに対して個別に実行されます。\n\n例:経時的に受信したバイト数の変化を可視化します。\n`differences(sum(bytes))`\n ", + "xpack.lens.indexPattern.interval.documentation.markdown": "\nミリ秒(ms)で指定した、日付ヒストグラムの最小間隔。\n ", "xpack.lens.indexPattern.lastValue.documentation.markdown": "\n最後のドキュメントからフィールドの値を返し、データビューのデフォルト時刻フィールドで並べ替えます。\n\nこの関数はエンティティの最新の状態を取得する際に役立ちます。\n\n例:サーバーAの現在のステータスを取得:\n`last_value(server.status, kql='server.name=\"A\"')`\n ", "xpack.lens.indexPattern.metric.documentation.markdown": "\nフィールドの{metric}を返します。この関数は数値フィールドでのみ動作します。\n\n例:価格の{metric}を取得:\n`{metric}(price)`\n\n例:英国からの注文の価格の{metric}を取得:\n`{metric}(price, kql='location:UK')`\n ", "xpack.lens.indexPattern.movingAverage.documentation.markdown": "\n経時的なメトリックの移動平均を計算します。最後のn番目の値を平均化し、現在の値を計算します。この関数を使用するには、日付ヒストグラムディメンションも構成する必要があります。\nデフォルトウィンドウ値は{defaultValue}です\n\nこの計算はフィルターで定義された別の系列または上位値のディメンションに対して個別に実行されます。\n\n指名パラメーター「window」を取ります。これは現在値の平均計算に含める最後の値の数を指定します。\n\n例:測定の線を平滑化:\n`moving_average(sum(bytes), window=5)`\n ", + "xpack.lens.indexPattern.now.documentation.markdown": "\n ミリ秒(ms)で表された、Kibanaで使用される現在の日時。\n ", "xpack.lens.indexPattern.overall_average.documentation.markdown": "\n現在のグラフの系列のすべてのデータポイントのメトリックの平均を計算します。系列は日付ヒストグラムまたは間隔関数を使用してディメンションによって定義されます。\n上位の値やフィルターなどのデータを分解する他のディメンションは別の系列として処理されます。\n\n日付ヒストグラムまたは間隔関数が現在のグラフで使用されている場合、使用されている関数に関係なく、「overall_average」はすべてのディメンションで平均値を計算します。\n\n例:平均からの収束:\n`sum(bytes) - overall_average(sum(bytes))`\n ", "xpack.lens.indexPattern.overall_max.documentation.markdown": "\n現在のグラフの系列のすべてのデータポイントのメトリックの最大値を計算します。系列は日付ヒストグラムまたは間隔関数を使用してディメンションによって定義されます。\n上位の値やフィルターなどのデータを分解する他のディメンションは別の系列として処理されます。\n\n日付ヒストグラムまたは間隔関数が現在のグラフで使用されている場合、使用されている関数に関係なく、「overall_max」はすべてのディメンションで最大値を計算します。\n\n例:範囲の割合\n`(sum(bytes) - overall_min(sum(bytes))) / (overall_max(sum(bytes)) - overall_min(sum(bytes)))`\n ", "xpack.lens.indexPattern.overall_min.documentation.markdown": "\n現在のグラフの系列のすべてのデータポイントのメトリックの最小値を計算します。系列は日付ヒストグラムまたは間隔関数を使用してディメンションによって定義されます。\n上位の値やフィルターなどのデータを分解する他のディメンションは別の系列として処理されます。\n\n日付ヒストグラムまたは間隔関数が現在のグラフで使用されている場合、使用されている関数に関係なく、「overall_min」はすべてのディメンションで最小値を計算します。\n\n例:範囲の割合\n`(sum(bytes) - overall_min(sum(bytes)) / (overall_max(sum(bytes)) - overall_min(sum(bytes)))`\n ", @@ -20206,6 +20869,7 @@ "xpack.lens.indexPattern.percentileRanks.documentation.markdown": "\n特定の値未満の値の割合が返されます。たとえば、値が観察された値の95%以上の場合、95パーセンタイルランクであるとされます。\n\n例:100未満の値のパーセンタイルを取得します。\n`percentile_rank(bytes, value=100)`\n ", "xpack.lens.indexPattern.standardDeviation.documentation.markdown": "\nフィールドの分散または散布度が返されます。この関数は数値フィールドでのみ動作します。\n\n#### 例\n\n価格の標準偏差を取得するには、standard_deviation(price)を使用します。\n\n英国からの注文書の価格の分散を取得するには、square(standard_deviation(price, kql='location:UK'))を使用します。\n ", "xpack.lens.indexPattern.time_scale.documentation.markdown": "\n\nこの高度な機能は、特定の期間に対してカウントと合計を正規化する際に役立ちます。すでに特定の期間に対して正規化され、保存されたメトリックとの統合が可能です。\n\nこの機能は、現在のグラフで日付ヒストグラム関数が使用されている場合にのみ使用できます。\n\n例:すでに正規化されているメトリックを、正規化が必要な別のメトリックと比較した比率。\n`normalize_by_unit(counter_rate(max(system.diskio.write.bytes)), unit='s') / last_value(apache.status.bytes_per_second)`\n ", + "xpack.lens.indexPattern.timeRange.documentation.markdown": "\nミリ秒(ms)で指定された時間範囲。\n ", "xpack.lens.AggBasedLabel": "集約に基づく可視化", "xpack.lens.app.addToLibrary": "ライブラリに保存", "xpack.lens.app.cancel": "キャンセル", @@ -20278,6 +20942,9 @@ "xpack.lens.collapse.sum": "合計", "xpack.lens.configPanel.addLayerButton": "レイヤーを追加", "xpack.lens.configPanel.experimentalLabel": "テクニカルプレビュー", + "xpack.lens.configPanel.loadFromLibrary": "ライブラリから読み込み", + "xpack.lens.configPanel.newAnnotation": "新しい注釈", + "xpack.lens.configPanel.selectAnnotationMethod": "注釈方法を選択", "xpack.lens.configPanel.selectLayerType": "レイヤータイプを選択", "xpack.lens.configPanel.selectVisualization": "ビジュアライゼーションを選択してください", "xpack.lens.configPanel.visualizationType": "ビジュアライゼーションタイプ", @@ -20287,6 +20954,7 @@ "xpack.lens.configure.invalidConfigTooltipClick": "詳細はクリックしてください。", "xpack.lens.configure.invalidReferenceLineDimension": "この基準線は存在しない軸に割り当てられています。この基準線を別の使用可能な軸に移動するか、削除することができます。", "xpack.lens.confirmModal.cancelButtonLabel": "キャンセル", + "xpack.lens.content.name": "レンズビジュアライゼーション", "xpack.lens.dashboardLabel": "ダッシュボード", "xpack.lens.datatable.addLayer": "ビジュアライゼーション", "xpack.lens.datatable.breakdownColumn": "メトリックの分割基準", @@ -20296,7 +20964,7 @@ "xpack.lens.datatable.breakdownRows": "行", "xpack.lens.datatable.breakdownRows.description": "フィールドで表の行を分割します。これは高カーディナリティ内訳にお勧めです。", "xpack.lens.datatable.column.help": "データテーブル列", - "xpack.lens.datatable.conjunctionSign": " & ", + "xpack.lens.datatable.conjunctionSign": " & ", "xpack.lens.datatable.expressionHelpLabel": "データベースレンダー", "xpack.lens.datatable.groupLabel": "タブ", "xpack.lens.datatable.headingLabel": "値", @@ -20329,6 +20997,7 @@ "xpack.lens.editorFrame.layerSettings.headingAppearance": "見た目", "xpack.lens.editorFrame.layerSettings.headingData": "データ", "xpack.lens.editorFrame.layerSettingsTitle": "レイヤー設定", + "xpack.lens.editorFrame.loadFromLibrary": "ライブラリから注釈を選択", "xpack.lens.editorFrame.networkErrorMessage": "ネットワークエラーです。しばらくたってから再試行するか、管理者に連絡してください。", "xpack.lens.editorFrame.optionalDimensionLabel": "オプション", "xpack.lens.editorFrame.previewErrorLabel": "レンダリングのプレビューに失敗しました", @@ -20394,6 +21063,8 @@ "xpack.lens.formulaDocumentation.columnCalculationSectionDescription": "各行でこれらの関数が実行されますが、コンテキストとして列全体が提供されます。これはウィンドウ関数とも呼ばれます。", "xpack.lens.formulaDocumentation.comparisonSection": "比較", "xpack.lens.formulaDocumentation.comparisonSectionDescription": "これらの関数は値を比較するために使用されます。", + "xpack.lens.formulaDocumentation.constantsSection": "Kibanaコンテキスト", + "xpack.lens.formulaDocumentation.constantsSectionDescription": "これらの関数は、Kibanaのコンテキスト変数(日付ヒストグラムの「interval」、現在の「now」、選択した「time_range」)を取得するために使用され、日付の計算処理を行うのに役立ちます。", "xpack.lens.formulaDocumentation.elasticsearchSection": "Elasticsearch", "xpack.lens.formulaDocumentation.elasticsearchSectionDescription": "これらの関数は結果テーブルの各行の未加工ドキュメントで実行され、内訳ディメンションと一致するすべてのドキュメントを単一の値に集約します。", "xpack.lens.formulaDocumentation.filterRatio": "フィルター比率", @@ -20477,6 +21148,7 @@ "xpack.lens.indexPattern.chooseFieldLabel": "この関数を使用するには、フィールドを選択してください。", "xpack.lens.indexPattern.chooseSubFunction": "サブ関数を選択", "xpack.lens.indexPattern.columnFormatLabel": "値の形式", + "xpack.lens.indexPattern.compactLabel": "値の圧縮", "xpack.lens.indexPattern.count": "カウント", "xpack.lens.indexPattern.count.documentation.quick": "\nドキュメントの総数。フィールドを入力すると、フィールド値の合計数がカウントされます。1つのドキュメントに複数の値があるフィールドでCount関数を使用すると、すべての値がカウントされます。\n ", "xpack.lens.indexPattern.count.signature": "[field: string]", @@ -20487,6 +21159,8 @@ "xpack.lens.indexPattern.cumulative_sum.signature": "メトリック:数値", "xpack.lens.indexPattern.cumulativeSum": "累積和", "xpack.lens.indexPattern.cumulativeSum.documentation.quick": "\n 経時的に増加するすべての値の合計。\n ", + "xpack.lens.indexPattern.custom.patternLabel": "フォーマット", + "xpack.lens.indexPattern.customFormatLabel": "カスタム形式", "xpack.lens.indexPattern.dataViewLoadError": "データビューの読み込み中にエラーが発生しました", "xpack.lens.indexPattern.dateHistogram": "日付ヒストグラム", "xpack.lens.indexPattern.dateHistogram.autoAdvancedExplanation": "間隔は次のロジックに従います。", @@ -20507,6 +21181,8 @@ "xpack.lens.indexPattern.dateHistogram.selectOptionHelpText": "オプションを選択するかカスタム値を作成します。", "xpack.lens.indexPattern.dateHistogram.titleHelp": "日付ヒストグラムの仕組み", "xpack.lens.indexPattern.dateHistogram.upTo": "最大", + "xpack.lens.indexPattern.dateRange.dataViewNoTimeBased": "現在のデータビューは時間ベースではありません", + "xpack.lens.indexPattern.dateRange.noTimeRange": "現在の時間範囲がありません", "xpack.lens.indexPattern.decimalPlacesLabel": "小数点以下", "xpack.lens.indexPattern.defaultFormatLabel": "デフォルト", "xpack.lens.indexPattern.derivative": "差異", @@ -20553,6 +21229,8 @@ "xpack.lens.indexPattern.helpPartiallyApplicableFunctionLabel": "この関数は、ロールアップされた履歴データの全時間範囲をサポートしていないため、一部の結果しか返されない場合があります。", "xpack.lens.indexPattern.hideZero": "ゼロ値を非表示", "xpack.lens.indexPattern.incompleteOperation": "(未完了)", + "xpack.lens.indexPattern.interval.noDateHistogramColumn": "日付ヒストグラム列が設定されていないと、間隔を計算できません", + "xpack.lens.indexPattern.interval.noTimeRange": "現在の時間範囲がありません", "xpack.lens.indexPattern.intervals": "間隔", "xpack.lens.indexPattern.invalidFieldLabel": "無効なフィールドです。データビューを確認するか、別のフィールドを選択してください。", "xpack.lens.indexPattern.invalidOperationLabel": "選択した関数はこのフィールドで動作しません。", @@ -20643,7 +21321,7 @@ "xpack.lens.indexPattern.ranges.increaseButtonLabel": "粒度を上げる", "xpack.lens.indexPattern.ranges.lessThanOrEqualAppend": "≤", "xpack.lens.indexPattern.ranges.lessThanOrEqualTooltip": "以下", - "xpack.lens.indexPattern.ranges.lessThanPrepend": "<", + "xpack.lens.indexPattern.ranges.lessThanPrepend": "<", "xpack.lens.indexPattern.ranges.lessThanTooltip": "より小さい", "xpack.lens.indexPattern.records": "記録", "xpack.lens.indexPattern.reducedTimeRange.15m": "15分", @@ -20701,6 +21379,7 @@ "xpack.lens.indexPattern.terms.orderDescending": "降順", "xpack.lens.indexPattern.terms.orderDirection": "ランク方向", "xpack.lens.indexPattern.terms.orderRare": "希少性", + "xpack.lens.indexPattern.terms.orderSignificant": "有意性", "xpack.lens.indexPattern.terms.otherBucketDescription": "残りの値を「その他」としてグループ化", "xpack.lens.indexPattern.terms.otherLabel": "その他", "xpack.lens.indexPattern.terms.percentile.": "パーセンタイル順位", @@ -20737,6 +21416,12 @@ "xpack.lens.label.gauge.labelMinor.header": "サブタイトル", "xpack.lens.label.header": "ラベル", "xpack.lens.label.shared.axisHeader": "軸のタイトル", + "xpack.lens.label.tagcloud.fontSizeLabel": "フォントサイズ", + "xpack.lens.label.tagcloud.orientation.multiple": "複数", + "xpack.lens.label.tagcloud.orientation.rightAngled": "直角", + "xpack.lens.label.tagcloud.orientation.single": "単一", + "xpack.lens.label.tagcloud.orientationLabel": "向き", + "xpack.lens.label.tagcloud.showLabel": "ラベルを表示", "xpack.lens.labelInput.label": "ラベル", "xpack.lens.layer.actions.contextMenuAriaLabel": "レイヤー操作", "xpack.lens.layer.cancelDelete": "キャンセル", @@ -20748,10 +21433,14 @@ "xpack.lens.layer.confirmModal.deleteRefLine": "このレイヤーを削除すると、基準線と構成が削除されます。", "xpack.lens.layer.confirmModal.deleteVis": "このレイヤーを削除すると、ビジュアライゼーションと構成が削除されます。", "xpack.lens.layer.confirmModal.dontAskAgain": "次回以降確認しない", + "xpack.lens.layer.revertModal.revertAnnotationGroupDescription": "このアクションは、保存されていない変更をすべて削除し、この注釈グループの最新の保存済みバージョンをビジュアライゼーションに復元します。失われた保存されていない変更は復元できません。", + "xpack.lens.layer.unlinkConfirm": "変更を元に戻す", "xpack.lens.layerActions.layerSettingsAction": "レイヤー設定", "xpack.lens.layerPanel.ignoreGlobalFilters": "グローバルフィルターを無視", "xpack.lens.layerPanel.layerVisualizationType": "レイヤービジュアライゼーションタイプ", "xpack.lens.layerPanel.missingDataView": "データビューが見つかりません", + "xpack.lens.layerSettings.ignoreGlobalFilters": "グローバルフィルターを使用", + "xpack.lens.layerTitle.fallbackLabel": "レイヤー", "xpack.lens.legacyMetric.addLayer": "ビジュアライゼーション", "xpack.lens.legacyMetric.alignLabel.center": "中央に合わせる", "xpack.lens.legacyMetric.alignLabel.left": "左に合わせる", @@ -20775,7 +21464,14 @@ "xpack.lens.legacyMetric.titlePositions.top": "トップ", "xpack.lens.legacyUrlConflict.objectNoun": "レンズビジュアライゼーション", "xpack.lens.lensSavedObjectLabel": "レンズビジュアライゼーション", + "xpack.lens.lineCurve.smooth": "平滑化", + "xpack.lens.lineCurve.step": "手順", + "xpack.lens.lineCurve.straight": "直線", + "xpack.lens.lineCurveDescription.smooth": "ポイント間の平滑化された線", + "xpack.lens.lineCurveDescription.step": "ポイント間のインデントされた線", + "xpack.lens.lineCurveDescription.straight": "ポイント間の直線", "xpack.lens.lineMarker.positionRequirementTooltip": "位置を変更するには、アイコンを選択するか、名前を表示する必要があります", + "xpack.lens.loadAnnotationsLibrary.cancel": "キャンセル", "xpack.lens.metric.addLayer": "ビジュアライゼーション", "xpack.lens.metric.breakdownBy": "内訳の基準", "xpack.lens.metric.color": "色", @@ -20985,6 +21681,11 @@ "xpack.lens.table.visualOptionsHeaderRowHeightLabel": "ヘッダー行高さ", "xpack.lens.table.visualOptionsPaginateTable": "表のページ制御", "xpack.lens.table.visualOptionsPaginateTableTooltip": "項目が9件以下の場合、ページ制御は非表示です", + "xpack.lens.tagcloud.addLayer": "ビジュアライゼーションレイヤーを追加", + "xpack.lens.tagcloud.appearanceLabel": "見た目", + "xpack.lens.tagcloud.label": "タグクラウド", + "xpack.lens.tagcloud.metricValueLabel": "メトリック", + "xpack.lens.tagcloud.tagLabel": "タグ", "xpack.lens.textBasedLanguages.chooseField": "フィールド", "xpack.lens.textBasedLanguages.missingField": "見つからないフィールド", "xpack.lens.timeScale.normalizeNone": "なし", @@ -21008,6 +21709,17 @@ "xpack.lens.xyChart.addReferenceLineLayerLabel": "基準線", "xpack.lens.xyChart.addReferenceLineLayerLabelDisabledHelp": "一部のデータを追加して、基準レイヤーを有効にする", "xpack.lens.xyChart.annotationError.timeFieldEmpty": "時刻フィールドがありません", + "xpack.lens.xyChart.annotations.addAnnotationGroupToLibraryDescription": "注釈グループを別の保存済みオブジェクトとして保存します", + "xpack.lens.xyChart.annotations.notificationRevertedExplanation": "この注釈グループの最新の保存されたバージョンが復元されました。", + "xpack.lens.xyChart.annotations.revertChanges": "変更を元に戻す", + "xpack.lens.xyChart.annotations.revertChangesDescription": "注釈グループを最後に保存した状態に復元します。", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary": "注釈グループを保存", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.annotationLibrary": "注釈ライブラリ", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.confirmButton": "グループを保存", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.modalTitle": "注釈グループをライブラリに保存", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.objectType": "グループ", + "xpack.lens.xyChart.annotations.unlinkFromLibrary": "ライブラリからのリンクを解除", + "xpack.lens.xyChart.annotations.unlinksFromLibrary": "注釈グループをLens保存済みオブジェクトの一部として保存します", "xpack.lens.xyChart.axisOrientation.angled": "傾斜", "xpack.lens.xyChart.axisOrientation.horizontal": "横", "xpack.lens.xyChart.axisOrientation.label": "向き", @@ -21056,6 +21768,7 @@ "xpack.lens.xyChart.legendVisibility.hide": "非表示", "xpack.lens.xyChart.legendVisibility.show": "表示", "xpack.lens.xyChart.lineColor.label": "色", + "xpack.lens.xyChart.lineInterpolationLabel": "線補間", "xpack.lens.xyChart.lineMarker.auto": "自動", "xpack.lens.xyChart.lineMarker.position": "装飾位置", "xpack.lens.xyChart.markerPosition.above": "トップ", @@ -21077,6 +21790,7 @@ "xpack.lens.xyChart.splitSeries": "内訳", "xpack.lens.xyChart.topAxisDisabledHelpText": "この設定は、上の軸が有効であるときにのみ適用されます。", "xpack.lens.xyChart.topAxisLabel": "上の軸", + "xpack.lens.xyChart.unsavedChanges": "保存されていない変更", "xpack.lens.xyChart.valuesHistogramDisabledHelpText": "この設定はヒストグラムで変更できません。", "xpack.lens.xyChart.valuesPercentageDisabledHelpText": "この設定は割合エリアグラフで変更できません。", "xpack.lens.xyChart.valuesStackedDisabledHelpText": "この設定は積み上げ棒グラフまたは割合棒グラフで変更できません", @@ -21090,7 +21804,7 @@ "xpack.lens.xySuggestions.lineChartTitle": "折れ線グラフ", "xpack.lens.xySuggestions.stackedChartTitle": "スタック", "xpack.lens.xySuggestions.unstackedChartTitle": "スタックが解除されました", - "xpack.lens.xySuggestions.yAxixConjunctionSign": " & ", + "xpack.lens.xySuggestions.yAxixConjunctionSign": " & ", "xpack.lens.xyVisualization.areaLabel": "エリア", "xpack.lens.xyVisualization.barGroupLabel": "棒", "xpack.lens.xyVisualization.barHorizontalFullLabel": "横棒", @@ -21301,6 +22015,8 @@ "xpack.maps.blendedVectorLayer.clusteredLayerName": "クラスター化された{displayName}", "xpack.maps.common.esSpatialRelation.clusterFilterLabel": "クラスター{gridId}と交差します", "xpack.maps.deleteLayerConfirmModal.multiLayerWarning": "このレイヤーを削除すと、{numChildren}個のネストされた{numChildren, plural, other {レイヤー}}も削除されます。", + "xpack.maps.distanceSource.requestDescription": "データビューからメトリックを取得します:{dataViewName}、地理空間フィールド:{geoFieldName}", + "xpack.maps.distanceSource.requestName": "距離結合リクエスト内の{leftSourceName}", "xpack.maps.embeddable.boundsFilterLabel": "マップ境界内の{geoFieldsLabel}", "xpack.maps.es_geo_utils.convert.unsupportedGeometryTypeErrorMessage": "{geometryType} ジオメトリから Geojson に変換できません。サポートされていません", "xpack.maps.es_geo_utils.distanceFilterAlias": "{pointLabel}の{distanceKm}km以内", @@ -21314,6 +22030,10 @@ "xpack.maps.esSearch.topHitsEntitiesCountMsg": "{entityCount}エンティティが見つかりました。", "xpack.maps.esSearch.topHitsResultsTrimmedMsg": "結果は~{totalEntities}の{entityCount}エンティティに制限されています。", "xpack.maps.esSearch.topHitsSizeMsg": "エンティティごとに上位の{topHitsSize}ドキュメントを表示しています。", + "xpack.maps.esSearchSource.requestDescription": "データビューからドキュメントを取得します:{dataViewName}、地理空間フィールド:{geoFieldName}", + "xpack.maps.esSearchSource.requestName": "{layerName}ドキュメントリクエスト", + "xpack.maps.esSearchSource.topHits.requestDescription": "データビューから上位の一致を取得します:{dataViewName}、表現:{entitiesFieldName}、地理空間フィールド:{geoFieldName}", + "xpack.maps.esSearchSource.topHits.requestName": "{layerName}の上位の一致リクエスト", "xpack.maps.fileUpload.trimmedResultsMsg": "結果は{numFeatures}機能、ファイルの{previewCoverage}%に制限されています。", "xpack.maps.filterByMapExtentMenuItem.displayName": "マップ境界で{containerLabel}をフィルター", "xpack.maps.filterByMapExtentMenuItem.displayNameTooltip": "マップをズームおよびパンすると、{containerLabel}が更新され、マップ境界に表示されるデータのみが表示されます。", @@ -21322,6 +22042,8 @@ "xpack.maps.keydownScrollZoom.keydownToZoomInstructions": "マップをズームするには、{key}を押しながらスクロールします", "xpack.maps.labelPosition.iconSizeJoinFieldNotSupportMsg": "{labelPositionPropertyLabel}は、{iconSizePropertyLabel}結合フィールド{iconSizeFieldName}でサポートされていません。有効化するには、{iconSizePropertyLabel}をソースフィールドに設定します。", "xpack.maps.layer.zoomFeedbackTooltip": "レイヤーはズームレベル {minZoom} から {maxZoom} の間で表示されます。", + "xpack.maps.layerPanel.join.joinExpression.noEditorMsg": "{type}結合を編集できません。", + "xpack.maps.layerPanel.joinEditor.spatialJoin.disabled.esSourceOnly": "{sourceType}の空間結合はサポートされていません。", "xpack.maps.layerPanel.metricsExpression.useMetricsDescription": "{metricsLength, plural, other {およびメトリックを使用}}", "xpack.maps.layers.newVectorLayerWizard.createIndexError": "名前{message}のインデックスを作成できませんでした", "xpack.maps.layers.newVectorLayerWizard.indexPermissionsError": "データを作成し、\"{indexName}\"に書き込むには、「create」および「create_index」インデックス権限が必要です。", @@ -21334,6 +22056,7 @@ "xpack.maps.mask.maskLabel": "{hideNoun}を非表示", "xpack.maps.mask.whenJoinMetric": "{whenLabel}結合メトリック", "xpack.maps.maskLegend.is": "{aggLabel}は", + "xpack.maps.pewPew.requestName": "{layerName}パスリクエスト", "xpack.maps.scalingDocs.clustersDetails": "結果が{maxResultWindow}ドキュメントを超えたときにクラスターを表示します。結果が{maxResultWindow}未満のときにドキュメントを表示します。", "xpack.maps.scalingDocs.limitDetails": "最初の{maxResultWindow}ドキュメントから特徴量を表示します。", "xpack.maps.scalingDocs.maxResultWindow": "{link}のインデックス設定によって提供される{maxResultWindow}制約。", @@ -21348,22 +22071,36 @@ "xpack.maps.source.emsTile.unableToFindTileIdErrorMessage": "ID {id} の EMS タイル構成が見つかりません。{info}", "xpack.maps.source.emsTileSourceDescription": "{host}からのベースマップサービス", "xpack.maps.source.esAggSource.topTermLabel": "上位{fieldLabel}", - "xpack.maps.source.esGeoLine.entityRequestName": "{layerName}エンティティ", - "xpack.maps.source.esGeoLine.trackRequestName": "{layerName}追跡", + "xpack.maps.source.esGeoLine.entityRequestDescription": "データビューからマップバッファー内の表現を取得します:{dataViewName}、表現:{splitFieldName}", + "xpack.maps.source.esGeoLine.entityRequestName": "{layerName}表現リクエスト", + "xpack.maps.source.esGeoLine.trackRequestDescription": "データビューから{numEntities}個の表現のトラックを取得します:{dataViewName}、地理空間フィールド:{geoFieldName}", + "xpack.maps.source.esGeoLine.trackRequestName": "{layerName}トラックリクエスト", "xpack.maps.source.esGeoLineDisabledReason": "{title}には Gold ライセンスが必要です。", + "xpack.maps.source.esGrid.compositeInspector.requestName": "{layerName} {bucketsName}複合リクエスト({requestCount})", + "xpack.maps.source.esGrid.compositeInspectorDescription": "データビューから{bucketsName}を取得します:{dataViewName}、地理空間フィールド:{geoFieldName}", "xpack.maps.source.esGrid.compositePaginationErrorMessage": "{layerName}はリクエスト過多の原因になります。「グリッド解像度」を下げるか、またはトップ用語「メトリック」の数を減らしてください。", + "xpack.maps.source.esGrid.inspector.requestDescription": "データビューから{bucketsName}を取得します:{dataViewName}、地理空間フィールド:{geoFieldName}", + "xpack.maps.source.esGrid.inspector.requestName": "{layerName} {bucketsName}リクエスト", "xpack.maps.source.esGrid.resolutionParamErrorMessage": "グリッド解像度パラメーターが認識されません: {resolution}", "xpack.maps.source.esJoin.countLabel": "{indexPatternLabel}のカウント", "xpack.maps.source.esSearch.clusterScalingLabel": "結果が{maxResultWindow}を超えたらクラスターを表示", "xpack.maps.source.esSearch.convertToGeoJsonErrorMsg": "検索への応答を geoJson 機能コレクションに変換できません。エラー: {errorMsg}", "xpack.maps.source.esSearch.limitScalingLabel": "結果を{maxResultWindow}に制限", "xpack.maps.source.esSearch.loadTooltipPropertiesErrorMsg": "ドキュメントが見つかりません。_id: {docId}", - "xpack.maps.source.esSearch.mvtScalingJoinMsg": "ベクトルタイルは1つの用語結合をサポートします。レイヤーには{numberOfJoins}用語結合があります。ベクトルタイルに切り替えると、最初の用語結合が保持され、すべての他の用語結合がレイヤー構成から削除されます。", + "xpack.maps.source.esSearch.mvtScalingJoinMsg": "ベクトルタイルは1つの用語結合をサポートします。レイヤーには{numberOfJoins}個の結合があります。ベクトルタイルに切り替えると、最初の結合が保持され、すべての他の用語結合がレイヤー構成から削除されます。", "xpack.maps.source.esSource.noGeoFieldErrorMessage": "データビュー\"{indexPatternLabel}\"には現在ジオフィールド\"{geoField}\"が含まれていません", "xpack.maps.source.esSource.requestFailedErrorMessage": "Elasticsearch検索リクエストを実行できませんでした。エラー:{message}", "xpack.maps.source.esSource.stylePropsMetaRequestName": "{layerName} - メタデータ", "xpack.maps.source.MVTSingleLayerVectorSourceEditor.urlHelpMessage": ".mvtベクトルタイルサービスのURL。例:{url}", + "xpack.maps.source.pewPew.inspectorDescription": "データビューからパスを取得します:{dataViewName}、ソース:{sourceFieldName}、デスティネーション:{destFieldName}", + "xpack.maps.spatialJoin.wizardForm.withinExpressionValue": "レイヤー特徴量の{distance} {units}", + "xpack.maps.spatialJoinExpression.noDataViewTitle": "データビュー{dataViewId}を読み込めません。", + "xpack.maps.spatialJoinExpression.value": "{geoField}からの特徴量", "xpack.maps.style.fieldSelect.OriginLabel": "{fieldOrigin}からのフィールド", + "xpack.maps.termJoinExpression.topTerms": "上位{size}", + "xpack.maps.termJoinExpression.value": "{term}からの{topTerms}用語", + "xpack.maps.termSource.requestDescription": "データビューからメトリックを取得します:{dataViewName}、用語フィールド:{termFieldName}", + "xpack.maps.termSource.requestName": "{leftSourceName}用語結合リクエスト", "xpack.maps.tiles.resultsCompleteMsg": "{countPrefix}{count}件のドキュメントが見つかりました。", "xpack.maps.tiles.resultsTrimmedMsg": "結果は{countPrefix}{count}ドキュメントに制限されています。", "xpack.maps.tileStatusTracker.layerErrorMsg": "{count}ルールを読み込めません:{tileErrors}", @@ -21461,6 +22198,7 @@ "xpack.maps.emsVectorTileLayer.layerDescription": "Elastic Maps Service(EMS)によって提供される基準マップ。", "xpack.maps.emsVectorTileStyleEditor.colorBlendPickerLabel": "色ブレンド", "xpack.maps.emsVectorTileStyleEditor.colorBlendPickerPlaceholder": "色なし", + "xpack.maps.esDistanceSource.noFeatureCollectionMsg": "距離結合を実行できません。特徴量が提供されていません。距離結合を有効にするには、[スケーリング]で[結果を制限]を選択します。", "xpack.maps.esSearch.scaleTitle": "スケーリング", "xpack.maps.esSearch.sortTitle": "並べ替え", "xpack.maps.esSearch.tooltipsTitle": "ツールチップフィールド", @@ -21497,6 +22235,8 @@ "xpack.maps.indexData.indexExists": "インデックス'{index}'が見つかりません。有効なインデックスを設定する必要があります", "xpack.maps.indexSettings.fetchErrorMsg": "データビュー'{indexPatternTitle}'のインデックス設定を取得できません。\n '{viewIndexMetaRole}'ロールがあることを確認してください。", "xpack.maps.initialLayers.unableToParseTitle": "初期レイヤーはマップに追加されません", + "xpack.maps.input.fieldSelectPlaceholder": "フィールドを選択", + "xpack.maps.input.relationshipLabel": "関係", "xpack.maps.inspector.centerLatLabel": "中央緯度", "xpack.maps.inspector.centerLonLabel": "中央経度", "xpack.maps.inspector.mapboxStyleTitle": "マップボックススタイル", @@ -21513,9 +22253,13 @@ "xpack.maps.inspector.vectorTileViewHelpText": "データの収集で使用されるベクトルタイル検索要求を表示", "xpack.maps.inspector.vectorTileViewTitle": "ベクトルタイル", "xpack.maps.inspector.zoomLabel": "ズーム", - "xpack.maps.joinDocs.intro": "用語結合強化レイヤーと、データに基づくスタイル設定のプロパティ。用語結合は次のように動作します。", + "xpack.maps.joinDocs.intro": "データドリブンのスタイリングとツールチップコンテンツのために、レイヤー特徴量にメトリックを追加します。", "xpack.maps.joinDocs.linkLabel": "用語結合の例", - "xpack.maps.joinDocs.noMatches": "対応する用語アグリゲーションがない特徴量はマップに表示されません。", + "xpack.maps.joinDocs.noMatches": "一致するレイヤー特徴量はマップに表示されません。", + "xpack.maps.joinDocs.spatialJoinIntro": "空間結合は、地理空間関係を使用して、レイヤー特徴量とElasticsearchのジオクエリフィルター集約からメトリックを結合します。", + "xpack.maps.joinDocs.spatialJoinTitle": "空間結合", + "xpack.maps.joinDocs.termJoinTitle": "用語結合", + "xpack.maps.joinDocs.termsJoinIntro": "用語結合は共有キーを使用して、レイヤーの特徴量とElasticsearchの用語集約からのメトリックを結合します。", "xpack.maps.keydownScrollZoom.keydownClickAndDragZoomInstructions": "Shiftを押しながらドラッグすると、バウンディングボックス内に合うようにマップをズームします", "xpack.maps.kilometersAbbr": "km", "xpack.maps.layer.isUsingBoundsFilter": "表示されるマップ領域で絞り込まれた結果", @@ -21553,10 +22297,16 @@ "xpack.maps.layerPanel.join.applyGlobalTimeCheckboxLabel": "結合するグローバル時刻を適用", "xpack.maps.layerPanel.join.deleteJoinAriaLabel": "ジョブの削除", "xpack.maps.layerPanel.join.deleteJoinTitle": "ジョブの削除", + "xpack.maps.layerPanel.joinEditor.spatialJoin.addButtonLabel": "空間結合を追加", + "xpack.maps.layerPanel.joinEditor.spatialJoin.disabled.geoJsonOnly": "ベクトルタイルでは空間結合はサポートされていません。", + "xpack.maps.layerPanel.joinEditor.spatialJoin.disabled.pointsOnly": "geo_shapeジオメトリでは空間結合はサポートされていません。", + "xpack.maps.layerPanel.joinEditor.termJoin.addButtonLabel": "用語結合を追加", + "xpack.maps.layerPanel.joinEditor.termJoin.mvtSingleJoinMsg": "ベクトルタイルはシングル結合のみをサポートできます。", + "xpack.maps.layerPanel.joinEditor.title": "結合", "xpack.maps.layerPanel.layerSettingsTitle": "レイヤー設定", - "xpack.maps.layerPanel.metricsExpression.helpText": "右のソースのメトリックを構成します。これらの値はレイヤー機能に追加されます。", + "xpack.maps.layerPanel.metricsExpression.helpText": "メトリックがレイヤー特徴量に追加され、データドリブンのスタイリングとツールチップコンテンツのために使用されます。", "xpack.maps.layerPanel.metricsExpression.joinMustBeSetErrorMessage": "JOIN の設定が必要です", - "xpack.maps.layerPanel.metricsExpression.metricsPopoverTitle": "メトリック", + "xpack.maps.layerPanel.metricsExpression.metricsPopoverTitle": "結合メトリックを構成", "xpack.maps.layerPanel.settingsPanel.DisableTooltips": "ツールヒントを表示", "xpack.maps.layerPanel.settingsPanel.fittableFlagLabel": "データ境界への適合計算にレイヤーを含める", "xpack.maps.layerPanel.settingsPanel.fittableFlagTooltip": "データ境界に合わせると、マップ範囲が調整され、すべてのデータが表示されます。レイヤーは参照データを提供する場合があります。データ境界への適合計算には含めないでください。このオプションを使用すると、データ境界への適合計算からレイヤーを除外します。", @@ -21714,13 +22464,16 @@ "xpack.maps.sampleData.flightsSpec.mapsTitle": "[フライト] 出発地の時間の遅延", "xpack.maps.sampleDataLinkLabel": "マップ", "xpack.maps.saveDuplicateRejectedDescription": "重複ファイルの保存確認が拒否されました", - "xpack.maps.scalingDocs.clustersUseCase": "このオプションを使用して、大きいデータセットを表示します。用語結合はサポートされていません。", + "xpack.maps.scalingDocs.clustersUseCase": "このオプションを使用して、大きいデータセットを表示します。", + "xpack.maps.scalingDocs.doesNotSupportJoins": "結合はサポートされていません。", "xpack.maps.scalingDocs.limitUseCase.formatLabels": "書式設定されたラベル", - "xpack.maps.scalingDocs.limitUseCase.joinFieldsWithLayoutStyles": "用語結合メトリックのデータに基づくスタイルと、[ラベル]、[ラベルサイズ]、[シンボルのサイズ]アイコン、[シンボルの向き]スタイルプロパティ", - "xpack.maps.scalingDocs.limitUseCase.multipleJoins": "複数の用語結合", + "xpack.maps.scalingDocs.limitUseCase.joinFieldsWithLayoutStyles": "結合メトリックのデータに基づくスタイルと、[ラベル]、[ラベルサイズ]、[シンボルのサイズ]アイコン、[シンボルの向き]スタイルプロパティ", + "xpack.maps.scalingDocs.limitUseCase.multipleJoins": "空間結合", "xpack.maps.scalingDocs.limitUseCase.scriptedFields": "スクリプト化されたフィールドのデータに基づくスタイル", + "xpack.maps.scalingDocs.limitUseCase.spatialJoins": "複数の用語結合", "xpack.maps.scalingDocs.limitUseCases": "次の理由でベクトルタイルを使用できない場合は、このオプションを使用します。", "xpack.maps.scalingDocs.mvtUseCase": "このオプションを使用すると、最速読み込み時間で大きいデータセットを表示します。", + "xpack.maps.scalingDocs.title": "スケーリング", "xpack.maps.security.desc": "セキュリティレイヤー", "xpack.maps.security.disabledDesc": "セキュリティデータビューが見つかりません。セキュリティを開始するには、[セキュリティ]>[概要]に移動します。", "xpack.maps.security.title": "セキュリティ", @@ -21792,12 +22545,12 @@ "xpack.maps.source.esGrid.vectorTileModal.confirmBtnLabel": "承諾", "xpack.maps.source.esGrid.vectorTileModal.message": "高解像度はElasticsearchベクトルタイルAPIのベクトルタイルを使用します。ElasticsearchベクトルタイルAPIは「上位の用語」メトリックをサポートしていません。高精細グリッド解像度に切り替えると、すべての「上位の用語」メトリックがレイヤー構成から削除されます。", "xpack.maps.source.esGrid.vectorTileModal.title": "「上位の用語」メトリックはサポートされていません", - "xpack.maps.source.esGridClustersDescription": "Elasticsearchドキュメントをグリッドと六角形にグループ化し、各グループのメトリックを表示", + "xpack.maps.source.esGridClustersDescription": "ドキュメントをグリッドや六角形にグループ化", "xpack.maps.source.esGridClustersTitle": "クラスター", - "xpack.maps.source.esGridHeatmapDescription": "密度を示すグリッドでグループ化された地理空間データ", + "xpack.maps.source.esGridHeatmapDescription": "ドキュメントをグリッドにグループ化して密度を表示", "xpack.maps.source.esGridHeatmapTitle": "ヒートマップ", "xpack.maps.source.esSearch.ascendingLabel": "昇順", - "xpack.maps.source.esSearch.clusterScalingJoinMsg": "クラスターのスケーリングは用語結合をサポートしていません。クラスターに切り替えると、すべての用語結合がレイヤー構成から削除されます。", + "xpack.maps.source.esSearch.clusterScalingJoinMsg": "クラスターのスケーリングは結合をサポートしていません。クラスターに切り替えると、すべての結合がレイヤー構成から削除されます。", "xpack.maps.source.esSearch.descendingLabel": "降順", "xpack.maps.source.esSearch.extentFilterLabel": "マップの表示範囲でデータを動的にフィルタリング", "xpack.maps.source.esSearch.fieldNotFoundMsg": "インデックスパターン'{indexPatternName}'に'{fieldName}'が見つかりません。", @@ -21806,6 +22559,7 @@ "xpack.maps.source.esSearch.geoFieldTypeLabel": "地理空間フィールドタイプ", "xpack.maps.source.esSearch.indexOverOneLengthEditError": "データビューは複数のインデックスを参照しています。データビューごとに1つのインデックスのみが許可されています。", "xpack.maps.source.esSearch.indexZeroLengthEditError": "データビューはどのインデックスも参照していません。", + "xpack.maps.source.esSearch.mvtNoSpatialJoinMsg": "ベクトルタイルは空間結合をサポートしません。ベクトルタイルに切り替えると、すべての空間結合がレイヤー構成から削除されます。", "xpack.maps.source.esSearch.scalingModal.cancelBtnLabel": "キャンセル", "xpack.maps.source.esSearch.scalingModal.confirmBtnLabel": "承諾", "xpack.maps.source.esSearch.scalingModal.title": "サポートされていない構成を削除しますか?", @@ -21863,6 +22617,18 @@ "xpack.maps.source.wms.urlLabel": "Url", "xpack.maps.source.wmsDescription": "OGC スタンダード WMS のマップ", "xpack.maps.source.wmsTitle": "ウェブマップサービス", + "xpack.maps.spatialJoin.wizard.leftSourceTitle": "レイヤー特徴量ソース", + "xpack.maps.spatialJoin.wizardForm.distanceInputAriaLabel": "距離入力", + "xpack.maps.spatialJoin.wizardForm.distanceLabel": "距離", + "xpack.maps.spatialJoin.wizardForm.invalidDistanceMessage": "値は0よりも大きい数値でなければなりません", + "xpack.maps.spatialJoin.wizardForm.kilometersAbbreviation": "km", + "xpack.maps.spatialJoin.wizardForm.rightSourceTitle": "結合ソース", + "xpack.maps.spatialJoin.wizardForm.withinExpressionDescription": "within", + "xpack.maps.spatialJoinExpression.description": "次と結合", + "xpack.maps.spatialJoinExpression.emptyValue": "-- 空間結合を設定 --", + "xpack.maps.spatialJoinExpression.popoverTitle": "空間結合を設定", + "xpack.maps.spatialJoinWizard.description": "地理空間関係でドキュメントをグループ化", + "xpack.maps.spatialJoinWizard.title": "空間結合", "xpack.maps.style.customColorPaletteLabel": "カスタムカラーパレット", "xpack.maps.style.customColorRampLabel": "カスタマカラーランプ", "xpack.maps.style.field.unsupportedWithVectorTileMsg": "ベクトルタイルでは、'{styleLabel}'はこのフィールドをサポートしません。このフィールドで'{styleLabel}'のスタイルを設定するには、[スケーリング]で[結果を制限]を選択します。", @@ -21940,6 +22706,18 @@ "xpack.maps.synchronizeMovementAction.title": "マップ移動を同期", "xpack.maps.synchronizeMovementAction.tooltipContent": "マップを同期します。これで、1つのマップでズーム、パンすると、移動が他のマップにも反映されます。", "xpack.maps.synchronizeMovementModal.onlyOneMapSelectedError": "マップ移動を同期する別のマップを選択", + "xpack.maps.termJoinExpression.description": "次と結合", + "xpack.maps.termJoinExpression.helpText": "レイヤー特徴量(左のソース)をElasticsearch集約の結果(右のソース)と結合する共有キーを設定します。", + "xpack.maps.termJoinExpression.leftFieldLabel": "左のフィールド", + "xpack.maps.termJoinExpression.leftSourceLabel": "左のソース", + "xpack.maps.termJoinExpression.leftSourceLabelHelpText": "共有キーを含む左のソースフィールド。", + "xpack.maps.termJoinExpression.placeholder": "-- 用語結合を設定 --", + "xpack.maps.termJoinExpression.popoverTitle": "用語結合を設定", + "xpack.maps.termJoinExpression.rightFieldLabel": "右のフィールド", + "xpack.maps.termJoinExpression.rightSizeHelpText": "右フィールドの語句の制限。", + "xpack.maps.termJoinExpression.rightSizeLabel": "右サイズ", + "xpack.maps.termJoinExpression.rightSourceLabel": "右のソース", + "xpack.maps.termJoinExpression.rightSourceLabelHelpText": "共有キーを含む右のソースフィールド。", "xpack.maps.tileMap.function.help": "タイルマップのビジュアライゼーションです", "xpack.maps.tileMap.vis.description": "マップ上に緯度と経度の座標を表示します。", "xpack.maps.tileMap.vis.title": "座標マップ", @@ -22205,7 +22983,7 @@ "xpack.ml.formatters.metricChangeDescription.moreThanOneAndFiveHundredthsxLowerDescription": "{factor}x低い", "xpack.ml.formatters.metricChangeDescription.moreThanOneAndHalfxHigherDescription": "{factor}x高い", "xpack.ml.formatters.metricChangeDescription.moreThanOneAndHalfxLowerDescription": "{factor}x低い", - "xpack.ml.importExport.exportFlyout.exportJobDependenciesWarningCallout.calendarList": "{num, plural, other {カレンダーを使用しています}}: {calendars}", + "xpack.ml.importExport.exportFlyout.exportJobDependenciesWarningCallout.calendarList": "{num, plural, other {カレンダーを使用しています}}:{calendars}", "xpack.ml.importExport.exportFlyout.exportJobDependenciesWarningCallout.calendarOnlyTitle": "{jobCount, plural, other {#個のジョブが}} {calendarCount, plural, other {カレンダーを使用しています}}", "xpack.ml.importExport.exportFlyout.exportJobDependenciesWarningCallout.filterAndCalendarTitle": "{jobCount, plural, other {#個のジョブが}}フィルターリストとカレンダーを使用しています", "xpack.ml.importExport.exportFlyout.exportJobDependenciesWarningCallout.filterList": "フィルターリスト:{num, plural, other {リスト}}:{filters}", @@ -22455,13 +23233,19 @@ "xpack.ml.timeSeriesExplorer.timeSeriesChart.scheduledEventsLabel": "予定イベント {counter}", "xpack.ml.timeSeriesExplorer.timeSeriesChart.updatedAnnotationNotificationMessage": "ID {jobId}のジョブの注釈が更新されました。", "xpack.ml.timeSeriesExplorer.timeSeriesChart.zoomAggregationIntervalLabel": "(アグリゲーション間隔:{focusAggInt}、バケットスパン:{bucketSpan})", + "xpack.ml.trainedModels.modelsList.deleteModal.approvePipelinesDeletionLabel": "{pipelinesCount, plural, other {パイプライン}}削除", + "xpack.ml.trainedModels.modelsList.deleteModal.warningMessage": "学習済みモデルとそれに関連付けられた{pipelinesCount, plural, other {パイプライン}}を削除すると、これらのリソースが完全に削除されます。{pipelinesCount, plural, other {パイプライン}}を削除すると、{pipelinesCount, plural, other {パイプライン}}にデータを送信するように構成されたすべてのプロセスはデータを送信できなくなります。学習済みモデルのみを削除すると、そのモデルに{pipelinesCount, plural, other {依存する}}{pipelinesCount, plural, other {パイプライン}}が失敗します。", + "xpack.ml.trainedModels.modelsList.downloadFailed": "\"{modelId}\"をダウンロードできませんでした", + "xpack.ml.trainedModels.modelsList.downloadSuccess": "\"{modelId}\"モデルのダウンロードが正常に開始しました。", "xpack.ml.trainedModels.modelsList.fetchDeletionErrorMessage": "{modelsCount, plural, other {モデル}}の削除が失敗しました", "xpack.ml.trainedModels.modelsList.forceStopDialog.title": "モデル{modelId}の{deploymentCount, plural, other {デプロイ}}を停止しますか?", "xpack.ml.trainedModels.modelsList.selectedModelsMessage": "{modelsCount, plural, other {#個のモデル}}が選択済み", "xpack.ml.trainedModels.modelsList.startDeployment.modalTitle": "{modelId}デプロイを開始", "xpack.ml.trainedModels.modelsList.startFailed": "\"{modelId}\"の開始に失敗しました", "xpack.ml.trainedModels.modelsList.startSuccess": "\"{modelId}\"のデプロイが正常に開始しました。", + "xpack.ml.trainedModels.modelsList.stopDeploymentWarning": "\"{deploymentId}\"の停止に失敗しました", "xpack.ml.trainedModels.modelsList.stopFailed": "\"{modelId}\"の停止に失敗しました", + "xpack.ml.trainedModels.modelsList.stopSuccess": "\"{modelId}\"の{numberOfDeployments, plural, other {デプロイ}}が正常に停止しました。", "xpack.ml.trainedModels.modelsList.updateDeployment.modalTitle": "{modelId}デプロイを更新", "xpack.ml.trainedModels.modelsList.updateFailed": "\"{modelId}\"を更新できませんでした", "xpack.ml.trainedModels.modelsList.updateSuccess": "\"{modelId}\"のデプロイが正常に更新されました。", @@ -22470,7 +23254,7 @@ "xpack.ml.trainedModels.testModelsFlyout.langIdent.output.titleUnknown": "不明な言語コード:{langCode}", "xpack.ml.validateJob.modal.linkToJobTipsText": "詳細は{mlJobTipsLink}をご覧ください。", "xpack.ml.validateJob.modal.validateJobTitle": "ジョブ{title}を検証", - "xpack.ml.accessDenied.description": "機械学習プラグインを表示するアクセス権がありません。プラグインにアクセスするには、機械学習機能をこのスペースで表示する必要があります。", + "xpack.ml.accessDenied.description": "このページを表示するアクセス権がありません。", "xpack.ml.actions.applyEntityFieldsFiltersTitle": "値でフィルター", "xpack.ml.actions.applyInfluencersFiltersTitle": "値でフィルター", "xpack.ml.actions.applyTimeRangeSelectionTitle": "時間範囲選択を適用", @@ -22664,6 +23448,7 @@ "xpack.ml.anomaliesTable.timeColumnName": "時間", "xpack.ml.anomaliesTable.typicalSortColumnName": "通常", "xpack.ml.anomalyChartsEmbeddable.errorMessage": "ML異常エクスプローラーデータを読み込めません", + "xpack.ml.anomalyChartsEmbeddable.maxSeriesToPlotError": "プロットする系列の最大数は1~50でなければなりません。", "xpack.ml.anomalyChartsEmbeddable.maxSeriesToPlotLabel": "プロットする最大系列数", "xpack.ml.anomalyChartsEmbeddable.panelTitleLabel": "パネルタイトル", "xpack.ml.anomalyChartsEmbeddable.setupModal.cancelButtonLabel": "キャンセル", @@ -22726,7 +23511,7 @@ "xpack.ml.calendarsEdit.importedEvents.includePastEventsLabel": "過去のイベントを含める", "xpack.ml.calendarsEdit.importedEvents.recurringEventsNotSupportedDescription": "定期イベントはサポートされていません。初めのイベントのみがインポートされます。", "xpack.ml.calendarsEdit.importModal.couldNotParseICSFileErrorMessage": "ICS ファイルをパースできませんでした。", - "xpack.ml.calendarsEdit.importModal.selectOrDragAndDropFilePromptText": "ファイルを選択するかドラッグ &amp; ドロップしてください", + "xpack.ml.calendarsEdit.importModal.selectOrDragAndDropFilePromptText": "ファイルを選択するかドラッグ&ドロップしてください", "xpack.ml.calendarsEdit.newEventModal.addButtonLabel": "追加", "xpack.ml.calendarsEdit.newEventModal.cancelButtonLabel": "キャンセル", "xpack.ml.calendarsEdit.newEventModal.createNewEventTitle": "新規イベントの作成", @@ -22795,7 +23580,8 @@ "xpack.ml.customUrlEditorList.testCustomUrlTooltip": "カスタム URL をテスト", "xpack.ml.customUrlEditorList.timeRangeLabel": "時間範囲", "xpack.ml.customUrlEditorList.urlLabel": "URL", - "xpack.ml.customUrlsEditor.addCustomTimeRangeSwitchLabel": "カスタム時間範囲スイッチを追加", + "xpack.ml.customUrlsEditor.addCustomTimeRangeSwitchLabel": "カスタム時間範囲を追加しますか?", + "xpack.ml.customUrlsEditor.addIntervalTimeRangeSwitchLabel": "間隔時間範囲を追加", "xpack.ml.customUrlsEditor.createNewCustomUrlTitle": "新規カスタム URL の作成", "xpack.ml.customUrlsEditor.customTimeRangeEndDate": "終了日", "xpack.ml.customUrlsEditor.customTimeRangeLabel": "カスタム時間範囲", @@ -22809,6 +23595,7 @@ "xpack.ml.customUrlsEditor.queryEntitiesLabel": "エントリーをクエリ", "xpack.ml.customUrlsEditor.selectEntitiesPlaceholder": "エントリーを選択", "xpack.ml.customUrlsEditor.timeRangeLabel": "時間範囲", + "xpack.ml.customUrlsEditor.timeRangeTooltip": "設定していない場合は、時間範囲のデフォルトはグローバル設定です。", "xpack.ml.customUrlsEditor.urlLabel": "URL", "xpack.ml.customUrlsList.invalidIntervalFormatErrorMessage": "無効な間隔のフォーマット", "xpack.ml.dataframe.analytics.classificationExploration.classificationDocsLink": "分類評価ドキュメント ", @@ -23171,8 +23958,8 @@ "xpack.ml.dataframe.analyticsList.editFlyoutUpdateButtonText": "更新", "xpack.ml.dataframe.analyticsList.editJobFlyout.customUrlsTitle": "カスタムURL", "xpack.ml.dataframe.analyticsList.editJobFlyout.jobDetailsTitle": "ジョブの詳細", - "xpack.ml.dataFrame.analyticsList.emptyPromptButtonText": "ジョブを作成", - "xpack.ml.dataFrame.analyticsList.emptyPromptTitle": "最初のデータフレーム分析ジョブを作成", + "xpack.ml.dataFrame.analyticsList.emptyPromptButtonText": "データフレーム分析ジョブを作成", + "xpack.ml.dataFrame.analyticsList.emptyPromptTitle": "データフレーム分析でデータを分析", "xpack.ml.dataFrame.analyticsList.errorPromptTitle": "データフレーム分析リストの取得中にエラーが発生しました。", "xpack.ml.dataframe.analyticsList.expandedRow.tabs.jobSettings.analysisStats": "分析統計情報", "xpack.ml.dataframe.analyticsList.expandedRow.tabs.jobSettings.dataCounts": "データ件数", @@ -23251,6 +24038,7 @@ "xpack.ml.dataGrid.invalidSortingColumnError": "列「{columnId}」は並べ替えに使用できません。", "xpack.ml.dataGridChart.histogramNotAvailable": "グラフはサポートされていません。", "xpack.ml.dataGridChart.notEnoughData": "0個のドキュメントにフィールドが含まれます。", + "xpack.ml.dataSourceContext.errorTitle": "データビューまたは保存された検索を取得できません", "xpack.ml.dataViewNotBasedOnTimeSeriesNotificationDescription": "異常検知は時間ベースのインデックスでのみ実行されます", "xpack.ml.dataVisualizer.dataView.docTitle": "インデックスデータビジュアライザー", "xpack.ml.dataVisualizer.docTitle": "データビジュアライザー", @@ -23280,7 +24068,9 @@ "xpack.ml.datePicker.shortRefreshIntervalTimeFilterWarningMessage": "詳細設定の更新間隔がサポートされている最小間隔よりも短くなっています。", "xpack.ml.datePicker.shortRefreshIntervalURLWarningMessage": "URLの更新間隔がサポートされている最小間隔よりも短くなっています。", "xpack.ml.deepLink.aiOps": "AIOps", + "xpack.ml.deepLink.analyticsMap": "分析マップ", "xpack.ml.deepLink.anomalyDetection": "異常検知", + "xpack.ml.deepLink.anomalyExplorer": "異常エクスプローラー", "xpack.ml.deepLink.calendarSettings": "カレンダー", "xpack.ml.deepLink.changePointDetection": "変化点検出", "xpack.ml.deepLink.dataFrameAnalytics": "データフレーム分析", @@ -23292,9 +24082,12 @@ "xpack.ml.deepLink.logPatternAnalysis": "ログパターン分析", "xpack.ml.deepLink.memoryUsage": "メモリー使用状況", "xpack.ml.deepLink.modelManagement": "モデル管理", + "xpack.ml.deepLink.nodes": "ノード", "xpack.ml.deepLink.notifications": "通知", "xpack.ml.deepLink.overview": "概要", + "xpack.ml.deepLink.resultExplorer": "結果エクスプローラー", "xpack.ml.deepLink.settings": "設定", + "xpack.ml.deepLink.singleMetricViewer": "シングルメトリックビューアー", "xpack.ml.deepLink.trainedModels": "学習済みモデル", "xpack.ml.deleteSpaceAwareItemCheckModal.buttonTextCanUnTagConfirm": "現在のスペースから削除", "xpack.ml.deleteSpaceAwareItemCheckModal.buttonTextClose": "閉じる", @@ -23472,7 +24265,7 @@ "xpack.ml.importExport.importFlyout.closeButton.importButton": "インポート", "xpack.ml.importExport.importFlyout.deleteButtonAria": "削除", "xpack.ml.importExport.importFlyout.destIndex": "デスティネーションインデックス", - "xpack.ml.importExport.importFlyout.fileSelect": "ファイルを選択するかドラッグ &amp; ドロップしてください", + "xpack.ml.importExport.importFlyout.fileSelect": "ファイルを選択するかドラッグ&ドロップしてください", "xpack.ml.importExport.importFlyout.flyoutHeader": "ジョブのインポート", "xpack.ml.importExport.importFlyout.jobId": "ジョブID", "xpack.ml.importExport.importFlyout.validateDestIndex.destIndexEmpty": "有効なデスティネーションインデックス名を入力", @@ -23486,6 +24279,7 @@ "xpack.ml.indexDatavisualizer.actionsPanel.dataframeDescription": "異常値検出、回帰分析、分類分析を作成します。", "xpack.ml.indexDatavisualizer.actionsPanel.dataframeTitle": "データフレーム分析", "xpack.ml.inference.modelsList.analyticsMapActionLabel": "分析マップ", + "xpack.ml.inference.modelsList.downloadModelActionLabel": "モデルをダウンロード", "xpack.ml.inference.modelsList.startModelDeploymentActionLabel": "デプロイを開始", "xpack.ml.inference.modelsList.stopModelDeploymentActionLabel": "デプロイを停止", "xpack.ml.inference.modelsList.testModelActionLabel": "モデルの学習", @@ -23778,7 +24572,10 @@ "xpack.ml.management.jobsList.accessDeniedTitle": "アクセスが拒否されました", "xpack.ml.management.jobsList.analyticsDocsLabel": "分析ジョブドキュメント", "xpack.ml.management.jobsList.anomalyDetectionDocsLabel": "異常検知ジョブドキュメント", - "xpack.ml.management.jobsList.insufficientLicenseLabel": "サブスクリプション機能のアップグレード", + "xpack.ml.management.jobsList.insufficientLicenseDescription": "ロック解除するには、オプションを選択してください。", + "xpack.ml.management.jobsList.insufficientLicenseDescription.startTrialLink": "トライアルを開始", + "xpack.ml.management.jobsList.insufficientLicenseDescription.SubscriptionLink": "サブスクリプションのアップグレード", + "xpack.ml.management.jobsList.insufficientLicenseLabel": "機械学習はサブスクリプション機能です", "xpack.ml.management.jobsList.jobsListTagline": "機械学習分析と異常検知項目を表示、エクスポート、インポートします。", "xpack.ml.management.jobsList.jobsListTitle": "機械学習", "xpack.ml.management.jobsList.noGrantedPrivilegesDescription": "機械学習ジョブを管理するアクセス権がありません。プラグインにアクセスするには、機械学習機能をこのスペースで表示する必要があります。", @@ -24112,7 +24909,7 @@ "xpack.ml.newJob.wizard.jobDetailsStep.jobGroupSelect.description": " ジョブのオプションのグループ分けです。新規グループを作成するか、既存のグループのリストから選択できます。", "xpack.ml.newJob.wizard.jobDetailsStep.jobGroupSelect.placeholder": "ジョブを選択または作成", "xpack.ml.newJob.wizard.jobDetailsStep.jobGroupSelect.title": "グループ", - "xpack.ml.newJob.wizard.jobDetailsStep.jobId.description": "ジョブの固有の識別子です。スペースと / ? , \" < > | * は使用できません", + "xpack.ml.newJob.wizard.jobDetailsStep.jobId.description": "ジョブの固有の識別子です。スペースと / ? , \" < > | * は使用できません", "xpack.ml.newJob.wizard.jobDetailsStep.jobId.title": "ジョブID", "xpack.ml.newJob.wizard.jobType.advancedAriaLabel": "高度なジョブ", "xpack.ml.newJob.wizard.jobType.advancedDescription": "より高度なユースケースでは、ジョブの作成にすべてのオプションを使用します。", @@ -24358,6 +25155,7 @@ "xpack.ml.notifications.typeLabel": "型", "xpack.ml.notificationsIndicator.unreadErrors": "未読のエラーまたは警告のインジケーター", "xpack.ml.notificationsIndicator.unreadIcon": "未読の通知インジケーター。", + "xpack.ml.overview.adJobsPanel.header": "異常検知ジョブ", "xpack.ml.overview.analytics.resultActions.openJobText": "ジョブ結果を表示", "xpack.ml.overview.analytics.viewJobActionName": "ジョブを表示", "xpack.ml.overview.analytics.viewResultsActionName": "結果を表示", @@ -24365,13 +25163,13 @@ "xpack.ml.overview.analyticsList.errorPromptTitle": "データフレーム分析リストの取得中にエラーが発生しました。", "xpack.ml.overview.analyticsList.id": "ID", "xpack.ml.overview.analyticsList.manageJobsButtonText": "ジョブの管理", - "xpack.ml.overview.analyticsList.PanelTitle": "分析", + "xpack.ml.overview.analyticsList.PanelTitle": "データフレーム分析ジョブ", "xpack.ml.overview.analyticsList.reatedTimeColumnName": "作成時刻", "xpack.ml.overview.analyticsList.status": "ステータス", "xpack.ml.overview.analyticsList.tableActionLabel": "アクション", "xpack.ml.overview.analyticsList.type": "型", - "xpack.ml.overview.anomalyDetection.createFirstJobMessage": "初めての異常検知ジョブを作成しましょう。", - "xpack.ml.overview.anomalyDetection.createJobButtonText": "ジョブを作成", + "xpack.ml.overview.anomalyDetection.createFirstJobMessage": "異常検知を開始", + "xpack.ml.overview.anomalyDetection.createJobButtonText": "異常検知ジョブの作成", "xpack.ml.overview.anomalyDetection.emptyPromptText": "異常検知により、時系列データの異常な動作を検出できます。データに隠れた異常を自動的に検出して問題をよりすばやく解決しましょう。", "xpack.ml.overview.anomalyDetection.errorPromptTitle": "異常検出ジョブリストの取得中にエラーが発生しました。", "xpack.ml.overview.anomalyDetection.errorWithFetchingSwimLanesData": "異常結果の取得中にエラーが発生しました", @@ -24392,17 +25190,20 @@ "xpack.ml.overview.anomalyDetection.tableTypicalTooltip": "異常レコード結果の標準的な値。", "xpack.ml.overview.anomalyDetection.viewJobsActionName": "ジョブを表示", "xpack.ml.overview.anomalyDetection.viewResultsActionName": "異常エクスプローラーで表示", + "xpack.ml.overview.nodesPanel.header": "ノード", + "xpack.ml.overview.nodesPanel.totalNodesLabel": "合計", + "xpack.ml.overview.nodesPanel.viewNodeLink": "ノードの表示", "xpack.ml.overview.notificationsLabel": "通知", "xpack.ml.overview.overviewLabel": "概要", "xpack.ml.overview.statsBar.failedAnalyticsLabel": "失敗", "xpack.ml.overview.statsBar.runningAnalyticsLabel": "実行中", "xpack.ml.overview.statsBar.stoppedAnalyticsLabel": "停止", - "xpack.ml.overview.statsBar.totalAnalyticsLabel": "分析ジョブ合計", + "xpack.ml.overview.statsBar.totalAnalyticsLabel": "合計", "xpack.ml.overviewJobsList.statsBar.activeMLNodesLabel": "アクティブな ML ノード", - "xpack.ml.overviewJobsList.statsBar.closedJobsLabel": "ジョブを作成", - "xpack.ml.overviewJobsList.statsBar.failedJobsLabel": "失敗したジョブ", - "xpack.ml.overviewJobsList.statsBar.openJobsLabel": "ジョブを開く", - "xpack.ml.overviewJobsList.statsBar.totalJobsLabel": "合計ジョブ数", + "xpack.ml.overviewJobsList.statsBar.closedJobsLabel": "対応済", + "xpack.ml.overviewJobsList.statsBar.failedJobsLabel": "失敗", + "xpack.ml.overviewJobsList.statsBar.openJobsLabel": "未対応", + "xpack.ml.overviewJobsList.statsBar.totalJobsLabel": "合計", "xpack.ml.plugin.title": "機械学習", "xpack.ml.previewAlert.actualLabel": "実際:", "xpack.ml.previewAlert.hideResultsButtonLabel": "結果を非表示", @@ -24705,11 +25506,14 @@ "xpack.ml.trainedModels.modelsList.builtInModelMessage": "ビルトインモデル", "xpack.ml.trainedModels.modelsList.collapseRow": "縮小", "xpack.ml.trainedModels.modelsList.createdAtHeader": "作成日時:", + "xpack.ml.trainedModels.modelsList.deleteDisabledWithDeploymentsTooltip": "モデルはデプロイを開始しました", "xpack.ml.trainedModels.modelsList.deleteModal.cancelButtonLabel": "キャンセル", "xpack.ml.trainedModels.modelsList.deleteModal.deleteButtonLabel": "削除", "xpack.ml.trainedModels.modelsList.deleteModelActionLabel": "モデルを削除", "xpack.ml.trainedModels.modelsList.deleteModelsButtonLabel": "削除", "xpack.ml.trainedModels.modelsList.disableSelectableMessage": "モデルにはパイプラインが関連付けられています", + "xpack.ml.trainedModels.modelsList.downloadStatusCheckErrorMessage": "ダウンロードステータスを確認できませんでした", + "xpack.ml.trainedModels.modelsList.elserDescription": "Elastic Learned Sparse EncodeR v1(テクニカルプレビュー)", "xpack.ml.trainedModels.modelsList.expandedRow.analyticsConfigTitle": "分析構成", "xpack.ml.trainedModels.modelsList.expandedRow.configTabLabel": "構成", "xpack.ml.trainedModels.modelsList.expandedRow.deploymentStatsTitle": "デプロイ統計情報", @@ -26443,38 +27247,168 @@ "xpack.monitoring.updateLicenseButtonLabel": "ライセンスを更新", "xpack.monitoring.updateLicenseTitle": "ライセンスの更新", "xpack.monitoring.useAvailableLicenseDescription": "すでに新しいライセンスがある場合は、今すぐアップロードしてください。", + "xpack.observability_onboarding.apiKeyBanner.failed.description": "問題が発生しました:{message}", + "xpack.observability_onboarding.apiKeyBanner.noPermissions.description": "必要なクラスター特権は{requiredClusterPrivileges}です。インデックス{indices}で必要なインデックス特権は{requiredIndexPrivileges}です。認証されたユーザーのロールにすべての必要な特権を追加してください。", + "xpack.observability_onboarding.configureLogs.customConfig.helper": "ここでは、YAML構成オプションを使用して、構成に追加できます。この作業では構成ファイルが破損する可能性があるため、注意してください。{learnMoreLink}", + "xpack.observability_onboarding.configureLogs.namespace.helper": "この設定により、統合のデータストリームの名前が変更されます。{learnMoreLink}", + "xpack.observability_onboarding.installElasticAgent.configStep.auto.description": "次のエージェント構成が、インストールスクリプトによってダウンロードされ、({configPath})に書き込まれます。これにより、既存のエージェント構成がすべて上書きされます。", + "xpack.observability_onboarding.installElasticAgent.configStep.manual.description": "Elasticエージェントがインストールされているホストで、次の構成をelastic agent.ymlにコピーします({configPath})。", + "xpack.observability_onboarding.installElasticAgent.progress.eaConfig.completedTitle": "Elasticエージェント構成が{configPath}に書き込まれました", + "xpack.observability_onboarding.apiKeyBanner.created": "APIキーが作成されました。", + "xpack.observability_onboarding.apiKeyBanner.created.description": "必ずこの情報を安全な場所に保管してください。続行すると、表示されなくなります。", + "xpack.observability_onboarding.apiKeyBanner.failed": "APIキーを作成できませんでした。", + "xpack.observability_onboarding.apiKeyBanner.field.copyButton": "クリップボードにコピー", + "xpack.observability_onboarding.apiKeyBanner.field.label": "APIキー", + "xpack.observability_onboarding.apiKeyBanner.loading": "APIキーを作成中", + "xpack.observability_onboarding.apiKeyBanner.noPermissions": "ユーザーにはAPIキーを作成する権限がありません。", + "xpack.observability_onboarding.breadcrumbs.onboarding": "オンボーディング", + "xpack.observability_onboarding.card.apm.title": "アプリケーションのパフォーマンスを監視(APM / トレース)", + "xpack.observability_onboarding.card.customLogs.description.text": "収集するログを選択し、インジェストパイプラインを設定し、データを探索します。", + "xpack.observability_onboarding.card.customLogs.title": "カスタムログを収集", + "xpack.observability_onboarding.card.integrations.title": "Elasticの統合による300以上のデータインジェスト方法を見る", + "xpack.observability_onboarding.card.k8s.title": "Kubernetesクラスターの監視", + "xpack.observability_onboarding.card.systemLogs.description1": "ログデータを取り込み、すぐに分析を開始するための最短経路。", + "xpack.observability_onboarding.card.systemLogs.quickstartBadge": "クイックスタート", + "xpack.observability_onboarding.card.systemLogs.title": "システムログを収集", + "xpack.observability_onboarding.configureLogs.advancedSettings": "高度な設定", + "xpack.observability_onboarding.configureLogs.customConfig": "カスタム構成", + "xpack.observability_onboarding.configureLogs.dataset.helper": "ログの名前を設定します。すべて小文字、最大100文字、特殊文字は「_」に置き換えられます。", + "xpack.observability_onboarding.configureLogs.dataset.name": "データセット名", + "xpack.observability_onboarding.configureLogs.dataset.placeholder": "データセット名", + "xpack.observability_onboarding.configureLogs.description": "ホスト上のログファイルへのパスを入力します。", + "xpack.observability_onboarding.configureLogs.learnMore": "詳細", + "xpack.observability_onboarding.configureLogs.logFile.addRow": "行の追加", + "xpack.observability_onboarding.configureLogs.logFile.helper": "ログファイルのパスまたはログパターンを使用できます。", + "xpack.observability_onboarding.configureLogs.logFile.path": "ログファイルパス", + "xpack.observability_onboarding.configureLogs.logFile.placeholder": "例:/var/log/application.*", + "xpack.observability_onboarding.configureLogs.namespace": "名前空間", + "xpack.observability_onboarding.configureLogs.namespace.placeholder": "名前空間", + "xpack.observability_onboarding.configureLogs.serviceName": "サービス名", + "xpack.observability_onboarding.configureLogs.serviceName.helper": "データが収集されるサービスの名前を設定します。", + "xpack.observability_onboarding.configureLogs.serviceName.placeholder": "サービスの名前を設定", + "xpack.observability_onboarding.configureLogs.title": "Elasticにログファイルを配信", + "xpack.observability_onboarding.exploreOtherIntegrations": "その他の統合を見る", + "xpack.observability_onboarding.fetcher.error.status": "エラー", + "xpack.observability_onboarding.fetcher.error.title": "リソースの取得中にエラーが発生しました", + "xpack.observability_onboarding.fetcher.error.url": "URL", + "xpack.observability_onboarding.form.optional": "オプション", + "xpack.observability_onboarding.header.feedback": "フィードバックを作成する", + "xpack.observability_onboarding.home.description": "一元化されたプラットフォームで、複数のクラウドネイティブの分散システムを横断的に監視し、洞察を得ます。", + "xpack.observability_onboarding.home.title": "オブザーバビリティの導入", + "xpack.observability_onboarding.installElasticAgent.configStep.downloadConfigButton": "構成ファイルのダウンロード", + "xpack.observability_onboarding.installElasticAgent.configStep.yamlCodeBlockdescription": "Elasticエージェントyaml構成", + "xpack.observability_onboarding.installElasticAgent.description": "Elasticエージェントをホストに追加し、Elastic Cloudへのデータ送信を開始します。各エージェントの構成ファイルを自分でダウンロードして管理する場合はスタンドアロンで実行します。Fleetで管理されるインターフェースですべてのエージェントを一元管理する場合はFleetで登録します。", + "xpack.observability_onboarding.installElasticAgent.installStep.autoDownloadConfig": "構成の自動ダウンロード", + "xpack.observability_onboarding.installElasticAgent.installStep.choosePlatform": "プラットフォームを選択", + "xpack.observability_onboarding.installElasticAgent.installStep.choosePlatform.linux": "Linux", + "xpack.observability_onboarding.installElasticAgent.installStep.choosePlatform.macOS": "MacOS", + "xpack.observability_onboarding.installElasticAgent.installStep.choosePlatform.windows": "Windows", + "xpack.observability_onboarding.installElasticAgent.installStep.description": "プラットフォームを選択し、ターミナルにインストールするコマンドを実行し、Elasticエージェントを登録、起動します。各ホストでこの手順を実行します。その他のプラットフォームについては、ダウンロードページを参照してください。 ホスト要件とその他のインストールオプションを確認してください。", + "xpack.observability_onboarding.installElasticAgent.installStep.title": "Elasticエージェントをインストール", + "xpack.observability_onboarding.installElasticAgent.progress.eaConfig.incompleteTitle": "エージェントの構成", + "xpack.observability_onboarding.installElasticAgent.progress.eaConfig.loadingTitle": "Elasticエージェント構成をダウンロード中", + "xpack.observability_onboarding.installElasticAgent.progress.eaDownload.completedTitle": "Elasticエージェントがダウンロードされました", + "xpack.observability_onboarding.installElasticAgent.progress.eaDownload.incompleteTitle": "Elasticエージェントをダウンロード", + "xpack.observability_onboarding.installElasticAgent.progress.eaDownload.loadingTitle": "Elasticエージェントをダウンロード中", + "xpack.observability_onboarding.installElasticAgent.progress.eaExtract.completedTitle": "Elasticエージェントが展開されました", + "xpack.observability_onboarding.installElasticAgent.progress.eaExtract.incompleteTitle": "Elasticエージェントを展開", + "xpack.observability_onboarding.installElasticAgent.progress.eaExtract.loadingTitle": "Elasticエージェントを展開中", + "xpack.observability_onboarding.installElasticAgent.progress.eaInstall.completedTitle": "Elasticエージェントがインストールされました", + "xpack.observability_onboarding.installElasticAgent.progress.eaInstall.incompleteTitle": "Elasticエージェントのインストール", + "xpack.observability_onboarding.installElasticAgent.progress.eaInstall.loadingTitle": "Elasticエージェントをインストール中", + "xpack.observability_onboarding.installElasticAgent.progress.eaStatus.completedTitle": "Elasticエージェントに接続しました", + "xpack.observability_onboarding.installElasticAgent.progress.eaStatus.incompleteTitle": "Elasticエージェントに接続", + "xpack.observability_onboarding.installElasticAgent.progress.eaStatus.loadingTitle": "Elasticエージェントに接続中", + "xpack.observability_onboarding.installElasticAgent.progress.logsIngest.completedTitle": "ログを送信中です。", + "xpack.observability_onboarding.installElasticAgent.progress.logsIngest.incompleteTitle": "送信されたログを確認", + "xpack.observability_onboarding.installElasticAgent.progress.logsIngest.loadingTitle": "ログの送信を待機中", + "xpack.observability_onboarding.installElasticAgent.title": "データを収集するためのシッパーをインストール", + "xpack.observability_onboarding.selectLogs.chooseType": "どのログを収集しますか?", + "xpack.observability_onboarding.selectLogs.httpEndpointLogs": "HTTPエンドポイント", + "xpack.observability_onboarding.selectLogs.httpEndpointLogs.description": "待機中のHTTPポートからJSONデータを収集します。", + "xpack.observability_onboarding.selectLogs.networkStreamingLogs": "ネットワークストリーミングログ", + "xpack.observability_onboarding.selectLogs.other": "その他", + "xpack.observability_onboarding.selectLogs.streamLogFiles": "ログファイルを配信", + "xpack.observability_onboarding.selectLogs.streamLogFiles.description": "ログファイルまたはディレクトリを配信", + "xpack.observability_onboarding.selectLogs.sysLog": "TCP/UDP/Syslog", + "xpack.observability_onboarding.selectLogs.sysLog.description": "TCPまたはUDPポート経由またはsyslogサーバーからログを配信します。", + "xpack.observability_onboarding.selectLogs.uploadLogFiles": "ログファイルをアップロード", + "xpack.observability_onboarding.selectLogs.uploadLogFiles.description": "分析するため、CSV、TSV、JSON、他のログファイルタイプからアップロードします。", + "xpack.observability_onboarding.selectLogs.useOwnShipper": "APIキーを取得", + "xpack.observability_onboarding.selectLogs.useOwnShipper.description": "APIキーを生成し、ログデータを収集するために独自のシッパーを使用します。", + "xpack.observability_onboarding.steps.back": "戻る", + "xpack.observability_onboarding.steps.configureLogs": "ログを構成", + "xpack.observability_onboarding.steps.continue": "続行", + "xpack.observability_onboarding.steps.exploreLogs": "ログを探索", + "xpack.observability_onboarding.steps.inspect": "検査", + "xpack.observability_onboarding.steps.installShipper": "シッパーをインストール", + "xpack.observability_onboarding.steps.selectLogs": "ログを選択", + "xpack.observability_onboarding.title.collectCustomLogs": "カスタムログを収集", "xpack.observability.apmEnableContinuousRollupsDescription": "{betaLabel}連続ロールアップが有効な場合、UIは適切な解像度でメトリックを選択します。より大きな時間範囲では、より低い解像度の測定基準が使用され、読み込み時間が改善されます。", "xpack.observability.apmEnableServiceMetricsDescription": "{betaLabel}サービストランザクションメトリックの使用を有効にします。これは、サービスインベントリなどの特定のビューで使用できる低カーディナリティのメトリックで、読み込み時間を短縮します。", "xpack.observability.apmProgressiveLoadingDescription": "{technicalPreviewLabel} APMビューでデータのプログレッシブ読み込みを行うかどうか。サンプリングされていないデータをバックグラウンドで読み込みながら、最初は低いサンプリングレート、低い精度、高速の応答時間でデータを要求できます", + "xpack.observability.apmServiceInventoryOptimizedSortingDescription": "{technicalPreviewLabel}サービス名によるデフォルトAPMサービスインベントリおよびストレージエクスプローラーページの並べ替え(機械学習が適用されていないサービス)。", + "xpack.observability.apmTraceExplorerTabDescription": "{technicalPreviewLabel} APMトレースエクスプローラー機能を有効にし、KQLまたはEQLでトレースを検索、検査できます。", + "xpack.observability.enableAgentExplorerDescription": "{betaLabel}エージェントエクスプローラー表示を有効にします。", + "xpack.observability.enableAwsLambdaMetricsDescription": "{technicalPreviewLabel} [サービスメトリック]タブにAmazon Lambdaメトリックを表示します。", "xpack.observability.enableCriticalPathDescription": "{technicalPreviewLabel} 任意で、トレースのクリティカルパスを表示します。", + "xpack.observability.enableInfrastructureHostsViewDescription": "{betaLabel}インフラアプリでホストビューを有効にします。", "xpack.observability.inspector.stats.queryTimeValue": "{queryTime}ms", "xpack.observability.pages.alertDetails.pageTitle.title": "{ruleCategory} {ruleCategory, select, Anomaly {が検出されました} Inventory {しきい値を超えました} other {を超えました}}", "xpack.observability.ruleDetails.ruleLoadError": "ルールを読み込めません。理由:{message}", - "xpack.observability.slo.alerting.burnRate.reason": "{actionGroupName}: 過去{longWindowDuration}のバーンレートは{longWindowBurnRate}で、過去{shortWindowDuration}のバーンレートは{shortWindowBurnRate}です。両期間とも{burnRateThreshold}を超えたらアラート", + "xpack.observability.slo.alerting.burnRate.reason": "{actionGroupName}:過去{longWindowDuration}のバーンレートは{longWindowBurnRate}で、過去{shortWindowDuration}のバーンレートは{shortWindowBurnRate}です。両期間とも{burnRateThreshold}を超えたらアラート", + "xpack.observability.slo.burnRateWindow.thresholdTip": "しきい値は{target}xです", + "xpack.observability.slo.clone.errorNotification": "{name}を複製できませんでした", + "xpack.observability.slo.clone.successNotification": "{name}の作成が正常に完了しました", + "xpack.observability.slo.create.errorNotification": "{name}の作成中に問題が発生しました", + "xpack.observability.slo.create.successNotification": "{name}の作成が正常に完了しました", "xpack.observability.slo.duration.day": "{duration, plural, other {#日}}", "xpack.observability.slo.duration.hour": "{duration, plural, other {#時間}}", "xpack.observability.slo.duration.minute": "{duration, plural, other {#分}}", "xpack.observability.slo.duration.month": "{duration, plural, other {#月}}", "xpack.observability.slo.duration.week": "{duration, plural, other {#週}}", "xpack.observability.slo.duration.year": "{duration, plural, other {#年}}", - "xpack.observability.slo.indicatorTypeBadge.exploreInApm": "AMPで{service}を探索", + "xpack.observability.slo.indicatorTypeBadge.exploreInApm": "{service}詳細を表示", "xpack.observability.slo.list.sortByType": "{type}で並べ替え", "xpack.observability.slo.rules.burnRate.errors.invalidThresholdValue": "バーンレートしきい値は1以上{maxBurnRate}以下でなければなりません。", "xpack.observability.slo.rules.errorBudgetExhaustion.text": "予算オーバーエラーまで{formatedHours}時間。", "xpack.observability.slo.rules.longWindowDuration.tooltip": "バーンレートが計算されるルックバック期間。ルックバック期間を{shortWindowDuration}分(ルックバック期間の1/12)と短くすることで、より高速な復帰が可能になります", "xpack.observability.slo.slo.activeAlertsBadge.label": "{count, plural, other {#件のアラート}}", + "xpack.observability.slo.slo.delete.errorNotification": "{name}の削除に失敗しました", + "xpack.observability.slo.slo.delete.successNotification": "{name}が削除されました", "xpack.observability.slo.slo.deleteConfirmationModal.deleteButtonLabel": "{name}削除", "xpack.observability.slo.slo.deleteConfirmationModal.descriptionText": "削除された{name}は復元できません。", "xpack.observability.slo.slo.stats.objective": "{objective}目標", "xpack.observability.slo.slo.timeWindow.calendar": "{elapsed}/{total}日", "xpack.observability.slo.sloDetails.errorBudgetChartPanel.duration": "過去{duration}", - "xpack.observability.slo.sloDetails.overview.calendarAlignedTimeWindow": "{duration}", + "xpack.observability.slo.sloDetails.overview.calendarAlignedTimeWindow": "{duration}カレンダーが調整されました", "xpack.observability.slo.sloDetails.overview.observedValueSubtitle": "{objective}(目的は{value})", "xpack.observability.slo.sloDetails.overview.rollingTimeWindow": "{duration}ローリング", + "xpack.observability.slo.sloDetails.overview.timeslicesBudgetingMethodDetails": "{duration}スライス、{target}ターゲット", "xpack.observability.slo.sloDetails.sliHistoryChartPanel.duration": "過去{duration}", + "xpack.observability.slo.sloEdit.customKql.indexSelection.indexPatternFoundLabel": "{searchPattern}({num, plural, other {#個のインデックス}}と一致)", + "xpack.observability.slo.sloEdit.rollingTimeWindow.days": "{number}日", + "xpack.observability.slo.update.errorNotification": "{name}の更新中にエラーが発生しました", + "xpack.observability.slo.update.successNotification": "正常に{name}を更新しました", + "xpack.observability.syntheticsThrottlingEnabledExperimentDescription": "シンセティック監視構成で調整設定を有効にします。設定が有効でも、モニターで調整を使用できない場合があります。内部使用専用です。{link}", + "xpack.observability.threshold.rule.alertDetailsAppSection.criterion.subtitle": "最後の{lookback} {timeLabel}", + "xpack.observability.threshold.rule.alertFlyout.alertPerRedundantFilterError": "フィルタークエリには{groupCount, plural, other {これらのフィールド}}に対する一致が含まれているため、このルールによって、想定を下回る{matchedGroups}に関するアラートが発行される場合があります。詳細については、{filteringAndGroupingLink}を参照してください。", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.aggregationLabel": "アグリゲーション{name}", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.fieldLabel": "フィールド{name}", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.filterLabel": "KQLフィルター{name}", + "xpack.observability.threshold.rule.alertFlyout.ofExpression.helpTextDetail": "メトリックが見つからない場合は、{documentationLink}。", + "xpack.observability.threshold.rule.alerts.dataTimeRangeLabel": "最後の{lookback} {timeLabel}", + "xpack.observability.threshold.rule.alerts.dataTimeRangeLabelWithGrouping": "{id}のデータの最後の{lookback} {timeLabel}", + "xpack.observability.threshold.rule.threshold.errorAlertReason": "{metric}のデータのクエリを試行しているときに、Elasticsearchが失敗しました", + "xpack.observability.threshold.rule.threshold.firedAlertReason": "{metric}は最後の{duration}{group}の{currentValue}です。{comparator} {threshold}のときにアラートを通知します。", + "xpack.observability.threshold.rule.threshold.noDataAlertReason": "{metric}は最後の{interval}{group}でデータがないことを報告しました", + "xpack.observability.threshold.rule.threshold.queryErrorAlertReason": "アラートは正しくない形式のKQLクエリを使用しています:{filterQueryText}", + "xpack.observability.threshold.rule.threshold.recoveredAlertReason": "{metric} が {comparator} に、{group} が {threshold} のしきい値(現在の値は {currentValue})になりました", + "xpack.observability.threshold.rule.threshold.thresholdRange": "{a}および{b}", + "xpack.observability.threshold.rule.thresholdExtraTitle": "{comparator} {threshold}のときにアラートを通知", "xpack.observability.transactionRateLabel": "{value} tpm", "xpack.observability.ux.coreVitals.averageMessage": " {bad}未満", - "xpack.observability.ux.coreVitals.paletteLegend.rankPercentage": "{labelsInd} ({ranksInd}%)", + "xpack.observability.ux.coreVitals.paletteLegend.rankPercentage": "{labelsInd}({ranksInd}%)", "xpack.observability.ux.dashboard.webCoreVitals.traffic": "トラフィックの{trafficPerc}が表示されました", "xpack.observability.ux.dashboard.webVitals.palette.tooltip": "{percentage} %のユーザーが{exp}の経験をしているのは、{value}{averageMessage}よりも{title}{isOrTakes}{moreOrLess}の方が多いからです。", "xpack.observability.alertDetails.actionsButtonLabel": "アクション", @@ -26545,6 +27479,7 @@ "xpack.observability.cases.caseFeatureNoPermissionsMessage": "ケースを表示するには、Kibana スペースでケース機能の権限が必要です。詳細については、Kibana管理者に連絡してください。", "xpack.observability.cases.caseFeatureNoPermissionsTitle": "Kibana機能権限が必要です", "xpack.observability.cases.caseView.goToDocumentationButton": "ドキュメンテーションを表示", + "xpack.observability.coPilotPrompt.chatLoading": "応答を待機中...", "xpack.observability.defaultApmServiceEnvironment": "デフォルトのサービス環境", "xpack.observability.defaultApmServiceEnvironmentDescription": "APMアプリのデフォルト環境を設定します。空にすると、すべての環境からのデータがデフォルトで表示されます。", "xpack.observability.emptySection.apps.alert.description": "オブザーバビリティで複雑な条件を検出し、それらの条件が満たされたときにアクションをトリガーします。", @@ -26573,6 +27508,8 @@ "xpack.observability.enableInfrastructureHostsView": "インフラストラクチャーホストビュー", "xpack.observability.enableInspectEsQueriesExperimentDescription": "API応答でElasticsearchクエリを調査します。", "xpack.observability.enableInspectEsQueriesExperimentName": "ESクエリを調査", + "xpack.observability.enableLegacyUptimeApp": "常にレガシーアップタイムアプリを表示", + "xpack.observability.enableLegacyUptimeAppDescription": "デフォルトでは、1週間以上データがない場合、レガシーアップタイムアプリはインターフェースから表示されなくなります。このオプションを有効にすると、常に表示されます。", "xpack.observability.experimentalBadgeDescription": "この機能はテクニカルプレビュー中であり、将来のリリースでは変更されたり完全に削除されたりする場合があります。Elasticは最善の努力を講じてすべての問題の修正に努めますが、テクニカルプレビュー中の機能には正式なGA機能のサポートSLAが適用されません。", "xpack.observability.experimentalBadgeLabel": "テクニカルプレビュー", "xpack.observability.featureCatalogueDescription": "専用UIで、ログ、メトリック、アプリケーショントレース、システム可用性を連結します。", @@ -26617,6 +27554,7 @@ "xpack.observability.inspector.stats.kibanaApiRouteLabel": "Kibana APIルート", "xpack.observability.inspector.stats.queryTimeDescription": "クエリの処理の所要時間です。リクエストの送信やブラウザーでのパースの時間は含まれません。", "xpack.observability.inspector.stats.queryTimeLabel": "クエリ時間", + "xpack.observability.logs.alertDetails.feedbackButtonLabel": "ご意見をお聞かせください。", "xpack.observability.maxSuggestionsUiSettingDescription": "オートコンプリート選択ボックスに取得される候補の最大数。", "xpack.observability.maxSuggestionsUiSettingName": "最大候補数", "xpack.observability.news.readFullStory": "詳細なストーリーを読む", @@ -26695,7 +27633,11 @@ "xpack.observability.section.errorPanel": "データの取得時にエラーが発生しました。再試行してください", "xpack.observability.serviceGroupMaxServicesUiSettingDescription": "特定のサービスグループのサービス数を制限", "xpack.observability.serviceGroupMaxServicesUiSettingName": "サービスグループの最大サービス", - "xpack.observability.slo.alerting.burnRate.alertAction": "アラート", + "xpack.observability.slo.alerting.alertDetailsUrlDescription": "アラートトラブルシューティングビューにリンクして、さらに詳しい状況や詳細を確認できます。server.publicBaseUrlが構成されていない場合は、空の文字列になります。", + "xpack.observability.slo.alerting.burnRate.alertAction": "重大", + "xpack.observability.slo.alerting.burnRate.highPriorityAction": "高", + "xpack.observability.slo.alerting.burnRate.lowPriorityAction": "低", + "xpack.observability.slo.alerting.burnRate.mediumPriorityAction": "中", "xpack.observability.slo.alerting.reasonDescription": "アラートの理由の簡潔な説明", "xpack.observability.slo.alerting.sloIdDescription": "SLO一意のID。", "xpack.observability.slo.alerting.sloNameDescription": "SLO名。", @@ -26705,20 +27647,48 @@ "xpack.observability.slo.alerting.windowDescription": "関連付けられたバーンレート値の期間。", "xpack.observability.slo.budgetingMethod.occurrences": "オカレンス", "xpack.observability.slo.budgetingMethod.timeslices": "タイムスライス", + "xpack.observability.slo.burnRate.criticalLongLabel": "1時間", + "xpack.observability.slo.burnRate.criticalShortLabel": "5分", + "xpack.observability.slo.burnRate.criticalTitle": "重大バーンレート", + "xpack.observability.slo.burnRate.highLongLabel": "6時間", + "xpack.observability.slo.burnRate.highShortLabel": "30分", + "xpack.observability.slo.burnRate.highTitle": "高バーンレート", + "xpack.observability.slo.burnRate.lowLongLabel": "3日", + "xpack.observability.slo.burnRate.lowShortLabel": "6時間", + "xpack.observability.slo.burnRate.lowTitle": "低バーンレート", + "xpack.observability.slo.burnRate.mediumLongLabel": "24時間", + "xpack.observability.slo.burnRate.mediumShortLabel": "2時間", + "xpack.observability.slo.burnRate.mediumTitle": "中バーンレート", + "xpack.observability.slo.burnRate.technicalPreviewBadgeDescription": "この機能はテクニカルプレビュー中であり、将来のバージョンで変更または削除される可能性があります。デザインとコードは正式に一般公開された機能より完成度が低く、現状のまま保証なしで提供されています。テクニカルプレビュー機能は、正式に一般公開された機能に適用されるサポートサービスレベル契約の対象外です。", + "xpack.observability.slo.burnRate.technicalPreviewBadgeTitle": "テクニカルプレビュー", + "xpack.observability.slo.burnRate.title": "バーンレート時間枠", + "xpack.observability.slo.duration.daily": "日ごと", + "xpack.observability.slo.duration.hourly": "1 時間ごと", + "xpack.observability.slo.duration.minutely": "毎分", + "xpack.observability.slo.duration.monthly": "月ごと", + "xpack.observability.slo.duration.weekly": "週ごと", + "xpack.observability.slo.duration.yearly": "年ごと", "xpack.observability.slo.feedbackButtonLabel": "ご意見をお聞かせください。", + "xpack.observability.slo.globalDiagnosis.errorNotification": "この機能を使用する権限がありません。", "xpack.observability.slo.indicators.apmAvailability": "APM可用性", "xpack.observability.slo.indicators.apmLatency": "APMレイテンシ", "xpack.observability.slo.indicators.customKql": "カスタムKQL", + "xpack.observability.slo.indicators.customMetric": "カスタムメトリック", "xpack.observability.slo.list.emptyMessage": "条件に合った結果はありません。", "xpack.observability.slo.list.emptyTitle": "成果がありません", "xpack.observability.slo.list.errorMessage": "SLOオブジェクトの読み込みエラーが発生しました。ヘルプについては、管理者にお問い合わせください。", + "xpack.observability.slo.list.errorNotification": "SLOの取得中に問題が発生しました", "xpack.observability.slo.list.errorTitle": "SLOを読み込めません", "xpack.observability.slo.list.indicatorTypeFilter": "インジケータータイプ", "xpack.observability.slo.list.search": "検索", "xpack.observability.slo.list.sortBy": "並べ替え基準", "xpack.observability.slo.list.sortBy.creationTime": "作成時刻", "xpack.observability.slo.list.sortBy.indicatorType": "インジケータータイプ", - "xpack.observability.slo.rules.burnRate.defaultActionMessage": "SLO '\\{\\{context.sloName\\}\\}'のルール\\{\\{rule.name\\}\\}によって次の処理が開始されています。\n- 理由:\\{\\{context.reason\\}\\}\n- 過去\\{\\{context.longWindow.duration\\}\\}のバーンレートが\\{\\{context.longWindow.burnRate\\}\\}である\n- 過去\\{\\{context.shortWindow.duration\\}\\}のバーンレートが\\{\\{context.shortWindow.burnRate\\}\\}である\n- バーンレートしきい値が\\{\\{context.burnRateThreshold\\}\\}に設定されている\n- SLO詳細ページのビュー\\{\\{context.viewInAppUrl\\}\\}", + "xpack.observability.slo.rules.actionGroupSelectorLabel": "アクショングループ", + "xpack.observability.slo.rules.addWindowAriaLabel": "時間枠を追加", + "xpack.observability.slo.rules.addWIndowLabel": "時間枠を追加", + "xpack.observability.slo.rules.burnRate.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\}は次の条件でアクティブです。\n\n- SLO: \\{\\{context.sloName\\}\\}'\n- 過去\\{\\{context.longWindow.duration\\}\\}のバーンレートが\\{\\{context.longWindow.burnRate\\}\\}である\n- 過去\\{\\{context.shortWindow.duration\\}\\}のバーンレートが\\{\\{context.shortWindow.burnRate\\}\\}である\n- Threshold: \\{\\{context.burnRateThreshold\\}\\}\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.observability.slo.rules.burnRate.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\}が回復しました。\n\n- SLO: \\{\\{context.sloName\\}\\}'\n- 過去\\{\\{context.longWindow.duration\\}\\}のバーンレートが\\{\\{context.longWindow.burnRate\\}\\}である\n- 過去\\{\\{context.shortWindow.duration\\}\\}のバーンレートが\\{\\{context.shortWindow.burnRate\\}\\}である\n- Threshold: \\{\\{context.burnRateThreshold\\}\\}\n\n[アラート詳細を表示](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.observability.slo.rules.burnRate.description": "SLOバーンレートが定義された期間で高すぎるときにアラートを通知します。", "xpack.observability.slo.rules.burnRate.errors.burnRateThresholdRequired": "バーンレートしきい値は必須です。", "xpack.observability.slo.rules.burnRate.errors.sloRequired": "SLOが必要です。", @@ -26726,8 +27696,9 @@ "xpack.observability.slo.rules.burnRate.name": "SLOバーンレート", "xpack.observability.slo.rules.burnRate.rowLabel": "バーンレートしきい値", "xpack.observability.slo.rules.burnRate.tooltip": "バーンレートは、サービスがルックバック期間でエラー予算をどの程度速く消費するのかを示します。", - "xpack.observability.slo.rules.longWindow.errorText": "ループバック期間は1~24時間でなければなりません。", - "xpack.observability.slo.rules.longWindow.rowLabel": "ループバック期間(時間)", + "xpack.observability.slo.rules.deleteWindowLabel": "時間枠を削除", + "xpack.observability.slo.rules.longWindow.errorText": "ループバック期間は1~72時間でなければなりません。", + "xpack.observability.slo.rules.longWindow.rowLabel": "ルックバック(時間)", "xpack.observability.slo.rules.longWindow.valueLabel": "ルックバック期間(時間)", "xpack.observability.slo.rules.sloSelector.ariaLabel": "SLO", "xpack.observability.slo.rules.sloSelector.placeholder": "SLOを選択", @@ -26736,11 +27707,7 @@ "xpack.observability.slo.slo.deleteConfirmationModal.cancelButtonLabel": "キャンセル", "xpack.observability.slo.slo.deleteConfirmationModal.title": "よろしいですか?", "xpack.observability.slo.slo.item.actions.clone": "クローンを作成", - "xpack.observability.slo.item.actions.createRule": "新しいアラートルールを作成", "xpack.observability.slo.slo.item.actions.delete": "削除", - "xpack.observability.slo.item.actions.details": "詳細", - "xpack.observability.slo.item.actions.edit": "編集", - "xpack.observability.slo.item.actions.manageRules": "ルールの管理", "xpack.observability.slo.slo.rulesBadge.popover": "このSLOではまだルールが構成されていません。SLOに違反したときにアラートを受信しません。", "xpack.observability.slo.slo.stats.budgetRemaining": "残り予算", "xpack.observability.slo.sloDetails.errorBudgetChartPanel.chartTitle": "残り予算エラー", @@ -26786,14 +27753,22 @@ "xpack.observability.slo.sloEdit.apmLatency.transactionType.placeholder": "トランザクションタイプを選択", "xpack.observability.slo.sloEdit.budgetingMethod.label": "予算設定方法", "xpack.observability.slo.sloEdit.budgetingMethod.tooltip": "出現に基づくSLOは、該当期間における、合計イベント数に対する良好なイベント数の比率を使用します。タイムスライスに基づくSLOは、該当期間における、合計タイムスライス数に対する良好なタイムスライス数の比率を使用します。", + "xpack.observability.slo.sloEdit.calendarTimeWindow.monthly": "月ごと", + "xpack.observability.slo.sloEdit.calendarTimeWindow.weekly": "週ごと", "xpack.observability.slo.sloEdit.cancelButton": "キャンセル", + "xpack.observability.slo.sloEdit.copyJsonButton": "JSONをコピー", + "xpack.observability.slo.sloEdit.copyJsonFailedNotification": "JSONをクリップボードにコピーできませんでした", + "xpack.observability.slo.sloEdit.copyJsonNotification": "JSONがクリップボードにコピーされました", "xpack.observability.slo.sloEdit.createAlert.ruleName": "SLOバーンレートアラートルール", "xpack.observability.slo.sloEdit.createAlert.title": "作成", "xpack.observability.slo.sloEdit.createSloButton": "SLOの作成", + "xpack.observability.slo.sloEdit.customKql.indexSelection.dataViewOptionsLabel": "既存のデータビューを選択", "xpack.observability.slo.sloEdit.customKql.indexSelection.helpText": "* で検索クエリの範囲を広げます。", "xpack.observability.slo.sloEdit.customKql.indexSelection.indexPatternLabel": "インデックスパターンを使用", "xpack.observability.slo.sloEdit.customKql.indexSelection.label": "インデックス", - "xpack.observability.slo.sloEdit.customKql.indexSelection.placeholder": "インデックスまたはインデックスパターンを選択", + "xpack.observability.slo.sloEdit.customKql.indexSelection.placeholder": "データビューを選択するか、インデックスパターンを使用してください。", + "xpack.observability.slo.sloEdit.dataPreviewChart.xTitle": "過去 1 時間", + "xpack.observability.slo.sloEdit.dataPreviewChart.yTitle": "SLI", "xpack.observability.slo.sloEdit.definition.sliType": "SLIタイプを選択", "xpack.observability.slo.sloEdit.definition.title": "SLIを定義", "xpack.observability.slo.sloEdit.description.sloDescription": "説明", @@ -26815,6 +27790,26 @@ "xpack.observability.slo.sloEdit.sliType.customKql.totalQuery": "合計クエリ", "xpack.observability.slo.sloEdit.sliType.customKql.totalQuery.tooltip": "このKQLクエリは、良好なイベントと問題があるイベントの両方を含む、SLO計算に関連するすべてのイベントを返します。", "xpack.observability.slo.sloEdit.sliType.customKql.totalQueryPlaceholder": "合計イベントを定義", + "xpack.observability.slo.sloEdit.sliType.customMetric.addMetricAriaLabel": "メトリックを追加", + "xpack.observability.slo.sloEdit.sliType.customMetric.addMetricLabel": "メトリックを追加", + "xpack.observability.slo.sloEdit.sliType.customMetric.customFilter": "インデックスで適用するカスタムフィルター", + "xpack.observability.slo.sloEdit.sliType.customMetric.customFilter.tooltip": "このKQLクエリを使用して、一部の関連する条件でドキュメントをフィルタリングできます。", + "xpack.observability.slo.sloEdit.sliType.customMetric.deleteLabel": "メトリックを削除", + "xpack.observability.slo.sloEdit.sliType.customMetric.equation.invalidCharacters": "等式フィールドでは次の文字のみを使用できます:A-Z、+、-、/、*、(、)、?、!、&、:、|、>、<、=", + "xpack.observability.slo.sloEdit.sliType.customMetric.equationHelpText": "基本的な数式をサポートします。有効な文字:A-Z、+、-、/、*、(、)、?、!、&、:、|、>、<、=", + "xpack.observability.slo.sloEdit.sliType.customMetric.goodEquation.tooltip": "これは基本的な数学ロジック(A + B / C)とブールロジック(A < B ?A :B)をサポートします。", + "xpack.observability.slo.sloEdit.sliType.customMetric.goodEquationLabel": "正しい式", + "xpack.observability.slo.sloEdit.sliType.customMetric.goodMetric.tooltip": "このフィールドのデータは「sum」集計で集約されます。", + "xpack.observability.slo.sloEdit.sliType.customMetric.goodMetricLabel": "正しいメトリック", + "xpack.observability.slo.sloEdit.sliType.customMetric.metricField.placeholder": "メトリックフィールドを選択", + "xpack.observability.slo.sloEdit.sliType.customMetric.queryFilter": "クエリのフィルター", + "xpack.observability.slo.sloEdit.sliType.customMetric.sumLabel": "の合計", + "xpack.observability.slo.sloEdit.sliType.customMetric.timestampField.label": "タイムスタンプフィールド", + "xpack.observability.slo.sloEdit.sliType.customMetric.timestampField.placeholder": "タイムスタンプフィールドを選択", + "xpack.observability.slo.sloEdit.sliType.customMetric.totalEquation.tooltip": "これは基本的な数学ロジック(A + B / C)とブールロジック(A < B ?A :B)をサポートします。", + "xpack.observability.slo.sloEdit.sliType.customMetric.totalEquationLabel": "全式", + "xpack.observability.slo.sloEdit.sliType.customMetric.totalMetric.tooltip": "このフィールドのデータは「sum」集計で集約されます。", + "xpack.observability.slo.sloEdit.sliType.customMetric.totalMetricLabel": "全メトリック", "xpack.observability.slo.sloEdit.tags.label": "タグ", "xpack.observability.slo.sloEdit.tags.placeholder": "タグを追加", "xpack.observability.slo.sloEdit.targetSlo.label": "目標 / SLO(%)", @@ -26823,6 +27818,12 @@ "xpack.observability.slo.sloEdit.timeSliceTarget.tooltip": "スライスが良好か問題があるかどうかを判断するために使用される、個別のタイムスライス目標。", "xpack.observability.slo.sloEdit.timesliceWindow.label": "タイムスライス期間(分)", "xpack.observability.slo.sloEdit.timesliceWindow.tooltip": "データを評価するために使用されるタイムスライス期間サイズ。", + "xpack.observability.slo.sloEdit.timeWindow.calendarAligned": "カレンダーが調整されました", + "xpack.observability.slo.sloEdit.timeWindow.rolling": "ローリング", + "xpack.observability.slo.sloEdit.timeWindowDuration.label": "期間", + "xpack.observability.slo.sloEdit.timeWindowDuration.tooltip": "SLOを計算するために使用される時間枠期間。", + "xpack.observability.slo.sloEdit.timeWindowType.label": "時間枠", + "xpack.observability.slo.sloEdit.timeWindowType.tooltip": "ローリング時間枠とカレンダー時間枠のどちらかを選択します。", "xpack.observability.slo.sloList.pageHeader.createNewButtonLabel": "新規SLOを作成", "xpack.observability.slo.sloList.welcomePrompt.buttonLabel": "SLOの作成", "xpack.observability.slo.sloList.welcomePrompt.getStartedMessage": "開始するには、まずSLOを作成します。", @@ -26842,7 +27843,7 @@ "xpack.observability.slo.sloStatusBadge.violated": "違反", "xpack.observability.sloCreatePageTitle": "新規SLOを作成", "xpack.observability.sloEditPageTitle": "SLOの編集", - "xpack.observability.slos.sloDetails.headerControl.exploreInApm": "APMで探索", + "xpack.observability.slos.sloDetails.headerControl.exploreInApm": "サービス詳細", "xpack.observability.slosLinkTitle": "SLO", "xpack.observability.slosPage.autoRefreshButtonLabel": "自動更新", "xpack.observability.slosPage.stopRefreshingButtonLabel": "更新中止", @@ -26879,8 +27880,101 @@ "xpack.observability.statusVisualization.ux.goToAppTitle": "ダッシュボードを表示", "xpack.observability.statusVisualization.ux.link": "データの追加", "xpack.observability.statusVisualization.ux.title": "ユーザーエクスペリエンス", + "xpack.observability.syntheticsThrottlingEnabledExperimentName": "シンセティック調整を有効にする(実験)", + "xpack.observability.threshold.rule..charts.errorMessage": "問題が発生しました", + "xpack.observability.threshold.rule..charts.noDataMessage": "グラフデータがありません", + "xpack.observability.threshold.rule..timeLabels.days": "日", + "xpack.observability.threshold.rule..timeLabels.hours": "時間", + "xpack.observability.threshold.rule..timeLabels.minutes": "分", + "xpack.observability.threshold.rule..timeLabels.seconds": "秒", + "xpack.observability.threshold.rule.alertDetailsAppSection.summaryField.rule": "ルール", + "xpack.observability.threshold.rule.alertDetailsAppSection.thresholdTitle": "しきい値を超えました", + "xpack.observability.threshold.rule.alertDetailUrlActionVariableDescription": "アラートトラブルシューティングビューにリンクして、さらに詳しい状況や詳細を確認できます。server.publicBaseUrlが構成されていない場合は、空の文字列になります。", + "xpack.observability.threshold.rule.alertDropdownTitle": "アラートとルール", + "xpack.observability.threshold.rule.alertFlyout.addCondition": "条件を追加", + "xpack.observability.threshold.rule.alertFlyout.advancedOptions": "高度なオプション", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.avg": "平均", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.cardinality": "基数", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.count": "ドキュメントカウント", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.max": "最高", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.min": "最低", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.p95": "95パーセンタイル", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.p99": "99パーセンタイル", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.rate": "レート", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.sum": "合計", + "xpack.observability.threshold.rule.alertFlyout.alertDescription": "オブザーバビリティデータタイプが特定の値以上になったときにアラートを送信します。", + "xpack.observability.threshold.rule.alertFlyout.alertOnGroupDisappear": "グループがデータのレポートを停止する場合にアラートで通知する", + "xpack.observability.threshold.rule.alertFlyout.alertOnNoData": "データがない場合に通知する", + "xpack.observability.threshold.rule.alertFlyout.alertPerRedundantFilterError.docsLink": "ドキュメント", + "xpack.observability.threshold.rule.alertFlyout.conditions": "条件", + "xpack.observability.threshold.rule.alertFlyout.createAlertPerHelpText": "すべての一意の値についてアラートを作成します。例:「host.id」または「cloud.region」。", + "xpack.observability.threshold.rule.alertFlyout.createAlertPerText": "アラートのグループ化条件(オプション)", + "xpack.observability.threshold.rule.alertFlyout.customEquation": "カスタム等式", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.addCustomRow": "集約/フィールドを追加", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.deleteRowButton": "削除", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.equationHelpMessage": "基本数学式をサポートします", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.labelHelpMessage": "カスタムラベルにはアラートグラフと理由/アラートタイトルに表示されます", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.labelLabel": "ラベル(任意)", + "xpack.observability.threshold.rule.alertFlyout.docCountNoDataDisabledHelpText": "[この設定は、ドキュメントカウントアグリゲーターには適用されません。]", + "xpack.observability.threshold.rule.alertFlyout.error.aggregationRequired": "集約が必要です。", + "xpack.observability.threshold.rule.alertFlyout.error.customMetrics.aggTypeRequired": "集約が必要です", + "xpack.observability.threshold.rule.alertFlyout.error.customMetrics.fieldRequired": "フィールドが必要です", + "xpack.observability.threshold.rule.alertFlyout.error.customMetricsError": "1つ以上のカスタムメトリックを定義する必要があります", + "xpack.observability.threshold.rule.alertFlyout.error.equation.invalidCharacters": "等式フィールドでは次の文字のみを使用できます:A-Z、+、-、/、*、(、)、?、!、&、:、|、>、<、=", + "xpack.observability.threshold.rule.alertFlyout.error.invalidFilterQuery": "フィルタークエリは無効です。", + "xpack.observability.threshold.rule.alertFlyout.error.metricRequired": "メトリックが必要です。", + "xpack.observability.threshold.rule.alertFlyout.error.thresholdRequired": "しきい値が必要です。", + "xpack.observability.threshold.rule.alertFlyout.error.thresholdTypeRequired": "しきい値には有効な数値を含める必要があります。", + "xpack.observability.threshold.rule.alertFlyout.error.timeRequred": "ページサイズが必要です。", + "xpack.observability.threshold.rule.alertFlyout.expandRowLabel": "行を展開します。", + "xpack.observability.threshold.rule.alertFlyout.filterHelpText": "KQL式を使用して、アラートトリガーの範囲を制限します。", + "xpack.observability.threshold.rule.alertFlyout.filterLabel": "フィルター(任意)", + "xpack.observability.threshold.rule.alertFlyout.groupDisappearHelpText": "以前に検出されたグループが結果を報告しなくなった場合は、これを有効にすると、アクションがトリガーされます。自動的に急速にノードを開始および停止することがある動的に拡張するインフラストラクチャーでは、これは推奨されません。", + "xpack.observability.threshold.rule.alertFlyout.noDataHelpText": "有効にすると、メトリックが想定された期間内にデータを報告しない場合、またはアラートがElasticsearchをクエリできない場合に、アクションをトリガーします", + "xpack.observability.threshold.rule.alertFlyout.ofExpression.popoverLinkLabel": "データの追加方法", + "xpack.observability.threshold.rule.alertFlyout.outsideRangeLabel": "is not between", + "xpack.observability.threshold.rule.alertFlyout.removeCondition": "条件を削除", + "xpack.observability.threshold.rule.alerting.noDataFormattedValue": "[データなし]", + "xpack.observability.threshold.rule.alerting.threshold.defaultActionMessage": "\\{\\{alertName\\}\\} - \\{\\{context.group\\}\\}は状態\\{\\{context.alertState\\}\\}です\n\n 理由:\n \\{\\{context.reason\\}\\}\n ", + "xpack.observability.threshold.rule.alerting.threshold.fired": "アラート", + "xpack.observability.threshold.rule.alerting.threshold.nodata": "データなし", + "xpack.observability.threshold.rule.alerting.threshold.noDataFormattedValue": "[データなし]", + "xpack.observability.threshold.rule.alertsButton": "アラートとルール", + "xpack.observability.threshold.rule.cloudActionVariableDescription": "ソースで使用可能な場合に、ECSで定義されたクラウドオブジェクト。", + "xpack.observability.threshold.rule.containerActionVariableDescription": "ソースで使用可能な場合に、ECSで定義されたコンテナーオブジェクト。", + "xpack.observability.threshold.rule.createInventoryRuleButton": "インベントリルールの作成", + "xpack.observability.threshold.rule.createThresholdRuleButton": "しきい値ルールを作成", + "xpack.observability.threshold.rule.groupByKeysActionVariableDescription": "データを報告しているグループを含むオブジェクト", + "xpack.observability.threshold.rule.homePage.toolbar.kqlSearchFieldPlaceholder": "インフラストラクチャーデータを検索…(例:host.name:host-1)", + "xpack.observability.threshold.rule.hostActionVariableDescription": "ソースで使用可能な場合に、ECSで定義されたホストオブジェクト。", + "xpack.observability.threshold.rule.infrastructureDropdownMenu": "インフラストラクチャー", + "xpack.observability.threshold.rule.infrastructureDropdownTitle": "インフラストラクチャールール", + "xpack.observability.threshold.rule.labelsActionVariableDescription": "このアラートがトリガーされたエンティティに関連付けられたラベルのリスト。", + "xpack.observability.threshold.rule.manageRules": "ルールの管理", + "xpack.observability.threshold.rule.metricsDropdownMenu": "メトリック", + "xpack.observability.threshold.rule.metricsDropdownTitle": "メトリックルール", + "xpack.observability.threshold.rule.orchestratorActionVariableDescription": "ソースで使用可能な場合に、ECSで定義されたオーケストレーターオブジェクト。", + "xpack.observability.threshold.rule.reasonActionVariableDescription": "アラートの理由の簡潔な説明", + "xpack.observability.threshold.rule.sourceConfiguration.missingHttp": "ソースの読み込みに失敗しました:HTTPクライアントがありません。", + "xpack.observability.threshold.rule.sourceConfiguration.updateFailureBody": "変更をメトリック構成に適用できませんでした。しばらくたってから再試行してください。", + "xpack.observability.threshold.rule.sourceConfiguration.updateFailureTitle": "構成の更新が失敗しました", + "xpack.observability.threshold.rule.sourceConfiguration.updateSuccessTitle": "メトリック設定は正常に更新されました", + "xpack.observability.threshold.rule.tagsActionVariableDescription": "このアラートがトリガーされたエンティティに関連付けられたタグのリスト。", + "xpack.observability.threshold.rule.threshold.aboveRecovery": "より大", + "xpack.observability.threshold.rule.threshold.belowRecovery": "より小", + "xpack.observability.threshold.rule.threshold.betweenRecovery": "の間", + "xpack.observability.threshold.rule.threshold.customEquation": "カスタム等式", + "xpack.observability.threshold.rule.threshold.documentCount": "ドキュメントカウント", + "xpack.observability.threshold.rule.timestampDescription": "アラートが検出された時点のタイムスタンプ。", + "xpack.observability.threshold.rule.valueActionVariableDescription": "指定された条件のメトリックの値。使用方法:(ctx.value.condition0、ctx.value.condition1など)。", + "xpack.observability.threshold.rule.viewInAppUrlActionVariableDescription": "アラートソースにリンク", + "xpack.observability.threshold.ruleExplorer.groupByAriaLabel": "graph/", + "xpack.observability.threshold.ruleExplorer.groupByLabel": "すべて", + "xpack.observability.threshold.ruleName": "しきい値(テクニカルプレビュー)", + "xpack.observability.thresholdRule.expressionItems.descriptionLabel": "タイミング", "xpack.observability.uiSettings.betaLabel": "ベータ", "xpack.observability.uiSettings.technicalPreviewLabel": "テクニカルプレビュー", + "xpack.observability.uiSettings.throttlingDocsLinkText": "こちらで通知をお読みください。", "xpack.observability.ux.coreVitals.average": "平均", "xpack.observability.ux.coreVitals.cls": "累積レイアウト変更", "xpack.observability.ux.coreVitals.cls.help": "累積レイアウト変更(CLS):視覚的な安定性を計測します。優れたユーザーエクスペリエンスを実現するには、ページのCLSを0.1未満に保ってください。", @@ -26905,6 +27999,43 @@ "xpack.observability.ux.dashboard.webCoreVitals.help": "詳細", "xpack.observability.ux.dashboard.webCoreVitals.helpAriaLabel": "ヘルプ", "xpack.observability.ux.service.help": "最大トラフィックのRUMサービスが選択されています", + "xpack.observabilityShared.inspector.stats.queryTimeValue": "{queryTime}ms", + "xpack.observabilityShared.breadcrumbs.observabilityLinkText": "Observability", + "xpack.observabilityShared.inspector.stats.dataViewDescription": "Elasticsearchインデックスに接続したデータビューです。", + "xpack.observabilityShared.inspector.stats.dataViewLabel": "データビュー", + "xpack.observabilityShared.inspector.stats.hitsDescription": "クエリにより返されたドキュメントの数です。", + "xpack.observabilityShared.inspector.stats.hitsLabel": "ヒット数", + "xpack.observabilityShared.inspector.stats.hitsTotalDescription": "クエリに一致するドキュメントの数です。", + "xpack.observabilityShared.inspector.stats.hitsTotalLabel": "ヒット数(合計)", + "xpack.observabilityShared.inspector.stats.kibanaApiQueryParametersDescription": "Elasticsearch要求を開始したKibana API要求で使用されているクエリパラメーター。", + "xpack.observabilityShared.inspector.stats.kibanaApiQueryParametersLabel": "Kibana APIクエリパラメーター", + "xpack.observabilityShared.inspector.stats.kibanaApiRouteDescription": "Elasticsearch要求を開始したKibana API要求のルート。", + "xpack.observabilityShared.inspector.stats.kibanaApiRouteLabel": "Kibana APIルート", + "xpack.observabilityShared.inspector.stats.queryTimeDescription": "クエリの処理の所要時間です。リクエストの送信やブラウザーでのパースの時間は含まれません。", + "xpack.observabilityShared.inspector.stats.queryTimeLabel": "クエリ時間", + "xpack.observabilityShared.navigation.betaBadge": "ベータ", + "xpack.observabilityShared.navigation.experimentalBadgeLabel": "テクニカルプレビュー", + "xpack.observabilityShared.navigation.newBadge": "新規", + "xpack.observabilityShared.pageLayout.sideNavTitle": "Observability", + "xpack.observabilityShared.tour.alertsStep.imageAltText": "アラートデモ", + "xpack.observabilityShared.tour.alertsStep.tourContent": "電子メール、PagerDuty、Slackなどのサードパーティプラットフォーム統合でアラートをトリガーする条件を定義して検出します。", + "xpack.observabilityShared.tour.alertsStep.tourTitle": "変更が発生したときに通知", + "xpack.observabilityShared.tour.endButtonLabel": "ツアーを終了", + "xpack.observabilityShared.tour.guidedSetupStep.tourContent": "Elasticオブザーバビリティに進む最も簡単な方法は、データアシスタントで推奨された次のステップに従うことです。", + "xpack.observabilityShared.tour.guidedSetupStep.tourTitle": "Elasticオブザーバビリティのその他の機能", + "xpack.observabilityShared.tour.metricsExplorerStep.imageAltText": "メトリックエクスプローラーのデモ", + "xpack.observabilityShared.tour.metricsExplorerStep.tourContent": "システム、クラウド、ネットワーク、その他のインフラストラクチャーソースからメトリックをストリーム、グループ化、可視化します。", + "xpack.observabilityShared.tour.metricsExplorerStep.tourTitle": "インフラストラクチャーの正常性を監視", + "xpack.observabilityShared.tour.nextButtonLabel": "次へ", + "xpack.observabilityShared.tour.observabilityOverviewStep.tourContent": "クイックガイドを表示し、オブザーバビリティデータすべてを1つのスタックに格納する利点をご覧ください。", + "xpack.observabilityShared.tour.observabilityOverviewStep.tourTitle": "Elasticオブザーバビリティへようこそ", + "xpack.observabilityShared.tour.servicesStep.imageAltText": "サービスのデモ", + "xpack.observabilityShared.tour.servicesStep.tourContent": "サービスに関する詳細情報を収集し、パフォーマンスの問題をすばやく検出、修正できます。", + "xpack.observabilityShared.tour.servicesStep.tourTitle": "アプリケーションの問題を特定して解決", + "xpack.observabilityShared.tour.skipButtonLabel": "ツアーをスキップ", + "xpack.observabilityShared.tour.streamStep.imageAltText": "ログストリームのデモ", + "xpack.observabilityShared.tour.streamStep.tourContent": "アプリケーション、サーバー、仮想マシン、コネクターからのログイベントを監視、フィルター、検査します。", + "xpack.observabilityShared.tour.streamStep.tourTitle": "リアルタイムでログを追跡", "xpack.osquery.action.missingPrivileges": "このページにアクセスするには、{osquery} Kibana権限について管理者に確認してください。", "xpack.osquery.agentPolicy.confirmModalCalloutDescription": "選択した{agentPolicyCount, plural, other {エージェントポリシー}}が一部のエージェントですでに使用されていることをFleetが検出しました。このアクションの結果として、Fleetはこの{agentPolicyCount, plural, other {エージェントポリシー}}を使用しているすべてのエージェントに更新をデプロイします。", "xpack.osquery.agentPolicy.confirmModalCalloutTitle": "{agentCount, plural, other {#個のエージェント}}が更新されます", @@ -26932,6 +28063,7 @@ "xpack.osquery.packs.table.runActionAriaLabel": "{packName}の実行", "xpack.osquery.packUploader.unsupportedFileTypeText": "ファイルタイプ{fileType}はサポートされていません。{supportedFileTypes}構成ファイルをアップロードしてください", "xpack.osquery.results.multipleAgentsResponded": "{agentsResponded, plural, other {#個のエージェント}}が応答しましたが、osqueryデータが報告されていません。", + "xpack.osquery.results.permissionDenied": "これらの結果にアクセスするには、{osquery} Kibana権限について管理者に確認してください。", "xpack.osquery.savedQueryList.queriesTable.editActionAriaLabel": "{savedQueryName}の編集", "xpack.osquery.savedQueryList.queriesTable.runActionAriaLabel": "{savedQueryName}の実行", "xpack.osquery.updatePack.successToastMessageText": "正常に\"{packName}\"パックを更新しました", @@ -27052,6 +28184,7 @@ "xpack.osquery.liveQueryActions.details.id": "Id", "xpack.osquery.liveQueryActions.details.query": "クエリ", "xpack.osquery.liveQueryActions.details.title": "クエリ詳細", + "xpack.osquery.liveQueryActions.error.licenseTooLow": "対応アクションを使用するには、少なくともPlatinumライセンスが必要です。", "xpack.osquery.liveQueryActions.error.notFoundParameters": "このクエリは、使用されているパラメーターとその値がアラートで見つからないため、呼び出されていません。", "xpack.osquery.liveQueryActions.table.agentsColumnTitle": "エージェント", "xpack.osquery.liveQueryActions.table.createdAtColumnTitle": "作成日時:", @@ -27188,6 +28321,8 @@ "xpack.profiling.maxValue": "最大:{max}", "xpack.profiling.noDataConfig.action.dataRetention": "Elasticsearchに格納されたプロファイリングデータには、標準データ保存コストが適用されます。{dataRetentionLink}の詳細をご覧ください。", "xpack.profiling.stackFrames.subChart.avg": "平均:{percentage}", + "xpack.profiling.tabs.symbols.step3.doc-ref": "高度なユースケースのドキュメントは{link}で提供されています。", + "xpack.profiling.tabs.symbols.step3.replace": "{es_token}などを実際の値で置換します。{help}を渡すと、他の引数のリストを取得できます。", "xpack.profiling.appPageTemplate.pageTitle": "ユニバーサルプロファイリング", "xpack.profiling.asyncComponent.errorLoadingData": "データを読み込めませんでした", "xpack.profiling.breadcrumb.differentialFlamegraph": "差分flamegraph", @@ -27206,6 +28341,10 @@ "xpack.profiling.cpu.self.label": "セルフCPU", "xpack.profiling.cpu.total.hint": "関数とその関数から呼び出されたすべての関数の実行にかかるCPU時間を示します。", "xpack.profiling.cpu.total.label": "合計CPU", + "xpack.profiling.differentialComparisonMode.absoluteButtonLabel": "Abs", + "xpack.profiling.differentialComparisonMode.legend": "このスイッチでは、両方のグラフの絶対比較と相対比較を切り替えることができます", + "xpack.profiling.differentialComparisonMode.relativeButtonLabel": "Rel", + "xpack.profiling.differentialComparisonMode.title": "フォーマット", "xpack.profiling.featureRegistry.profilingFeatureName": "ユニバーサルプロファイリング", "xpack.profiling.flameGraphInformationWindow.annualizedCo2ExclusiveLabel": "年間換算CO2(子を除く)", "xpack.profiling.flameGraphInformationWindow.annualizedCo2InclusiveLabel": "年間換算CO2", @@ -27243,6 +28382,7 @@ "xpack.profiling.frameInformationWindow.missingSymbols.native.downloadBinary": "elastic-profilingバイナリをダウンロード", "xpack.profiling.frameInformationWindow.missingSymbols.native.readMore": "続きを読む", "xpack.profiling.frameInformationWindow.missingSymbols.native.title": "シンボルがありません", + "xpack.profiling.frameInformationWindow.optimizeFunction": "関数を最適化", "xpack.profiling.frameInformationWindow.selectFrame": "フレームをクリックすると、詳細が表示されます", "xpack.profiling.functionsView.annualizedCo2": "年間換算CO2", "xpack.profiling.functionsView.annualizedDollarCost": "年間換算ドル建てコスト", @@ -27253,7 +28393,7 @@ "xpack.profiling.functionsView.newLabel": "新規", "xpack.profiling.functionsView.rankColumnLabel": "ランク", "xpack.profiling.functionsView.samplesColumnLabel": "サンプル(推定)", - "xpack.profiling.functionsView.totalSampleCountLabel": " 合計サンプル推定:", + "xpack.profiling.functionsView.totalSampleCountLabel": "合計サンプル推定:", "xpack.profiling.header.betaBadgeTooltip": "このモジュールはGAではありません。不具合が発生したら報告してください。", "xpack.profiling.header.giveFeedbackLink": "フィードバックを作成する", "xpack.profiling.headerActionMenu.addData": "データの追加", @@ -27279,6 +28419,12 @@ "xpack.profiling.normalizationMenu.baseline": "ベースライン", "xpack.profiling.normalizationMenu.comparison": "比較", "xpack.profiling.normalizationMenu.menuPopoverButtonAriaLabel": "正規化メニューを開く", + "xpack.profiling.normalizationMenu.normalizeBy": "正規化", + "xpack.profiling.normalizationMenu.normalizeByScaleTooltip": "[時間で正規化]を選択すると、異なる期間でコンピューターのセットを比較します。たとえば、過去1時間と過去24時間を比較する場合は、短い方の時間枠(1時間)が乗算され、長い方の時間枠(24時間)と照合されます。", + "xpack.profiling.normalizationMenu.normalizeByTimeTooltip": "[比率で正規化]を選択し、ベースラインと比較比率を設定すると、異なるサイズのコンピューターのセットを比較します。たとえば、コンピューターの10%のデプロイをコンピューターの90%のデプロイと比較できます。", + "xpack.profiling.normalizationMenu.scale": "倍率", + "xpack.profiling.normalizationMenu.time": "時間", + "xpack.profiling.normalizationMode.selectModeLegend": "フレームグラフの正規化モードを選択", "xpack.profiling.notAvailableLabel": "N/A", "xpack.profiling.stackTracesView.containersTabLabel": "コンテナー", "xpack.profiling.stackTracesView.deploymentsTabLabel": "デプロイ", @@ -27302,6 +28448,11 @@ "xpack.profiling.tabs.debTitle": "DEBパッケージ", "xpack.profiling.tabs.dockerRunContainerStep": "ユニバーサルプロファイリングコンテナーを実行:", "xpack.profiling.tabs.dockerTitle": "Docker", + "xpack.profiling.tabs.elasticAgentIntegrarion.step1": "資格情報をコピー", + "xpack.profiling.tabs.elasticAgentIntegrarion.step1.hint": "ユニバーサルプロファイリングを設定するには、以下の資格情報が必要です。次のステップで必要となるため、安全な場所に保存してください。", + "xpack.profiling.tabs.elasticAgentIntegrarion.step2": "Fleet", + "xpack.profiling.tabs.elasticAgentIntegrarion.step2.button": "Fleetでユニバーサルプロファイリングエージェントを管理", + "xpack.profiling.tabs.elasticAgentIntegrarion.title": "Elasticエージェント統合", "xpack.profiling.tabs.kubernetesInstallStep": "Helm経由でホストエージェントをインストール:", "xpack.profiling.tabs.kubernetesRepositoryStep": "ユニバーサルプロファイリングホストエージェントHelmリポジトリを構成:", "xpack.profiling.tabs.kubernetesTitle": "Kubernetes", @@ -27312,10 +28463,11 @@ "xpack.profiling.tabs.rpmInstallPackageStep": "RPMパッケージをインストール(ルート権限が必要):", "xpack.profiling.tabs.rpmStartSystemdServiceStep": "ユニバーサルプロファイリングシステムサービスを開始(ルート権限が必要):", "xpack.profiling.tabs.rpmTitle": "RPMパッケージ", - "xpack.profiling.tabs.symbols.step1": "下のURLからsymbtoolバイナリをダウンロード:", - "xpack.profiling.tabs.symbols.step2": "Elasticsearchトークンを生成:", + "xpack.profiling.tabs.symbols.step1": "symbtoolをダウンロードして展開", + "xpack.profiling.tabs.symbols.step2": "Elasticsearchトークンを生成", "xpack.profiling.tabs.symbols.step2.instructions": "手順", - "xpack.profiling.tabs.symbols.step3": "実行:", + "xpack.profiling.tabs.symbols.step3": "シンボルをアップロード", + "xpack.profiling.tabs.symbols.step3.doc-ref.link": "対応するドキュメントページ", "xpack.profiling.tabs.symbols.title": "シンボルをアップロード", "xpack.profiling.topn.otherBucketLabel": "その他", "xpack.profiling.universalProfiling": "ユニバーサルプロファイリング", @@ -27984,6 +29136,7 @@ "xpack.savedObjectsTagging.tagAttributeLabels.description": "説明", "xpack.savedObjectsTagging.tagAttributeLabels.name": "名前", "xpack.savedObjectsTagging.uiApi.saveModal.label": "タグ", + "xpack.savedObjectsTagging.uiApi.saveModal.optional": "オプション", "xpack.savedObjectsTagging.uiApi.searchBar.filterButtonLabel": "タグ", "xpack.savedObjectsTagging.uiApi.table.columnTagsDescription": "この保存されたオブジェクトに関連付けられたタグ", "xpack.savedObjectsTagging.uiApi.table.columnTagsName": "タグ", @@ -28105,12 +29258,12 @@ "xpack.security.management.users.confirmDelete.userDeletingErrorNotificationMessage": "ユーザー{username}の削除中にエラーが発生しました", "xpack.security.management.users.confirmDelete.userSuccessfullyDeletedNotificationMessage": "ユーザー{username}が削除されました", "xpack.security.management.users.confirmDeleteUsers.confirmButton": "{isLoading, select, true {{count, plural, other {ユーザー}}を削除中…} other {{count, plural, other {ユーザー}}削除}}", - "xpack.security.management.users.confirmDeleteUsers.description": "{count, plural, other {これらのユーザー}}は完全に削除され、Elasticへのアクセスが削除されました{count, plural, other {:}}", + "xpack.security.management.users.confirmDeleteUsers.description": "{count, plural, other {これらのユーザー}}は完全に削除され、Elasticへのアクセスが削除されました{count, plural, other {:}}", "xpack.security.management.users.confirmDisableUsers.confirmButton": "{isLoading, select, true {{count, plural, other {ユーザー}}を無効化中...} other {{count, plural, other {ユーザー}}を無効化}}", "xpack.security.management.users.confirmDisableUsers.confirmSystemPasswordButton": "{isLoading, select, true {ユーザーを無効化中...} other {私はこのユーザーを無効化することを理解しています}}", - "xpack.security.management.users.confirmDisableUsers.description": "{count, plural, other {これらのユーザー}}はElasticにアクセスできなくなります{count, plural, other {:}}", + "xpack.security.management.users.confirmDisableUsers.description": "{count, plural, other {これらのユーザー}}はElasticにアクセスできなくなります{count, plural, other {:}}", "xpack.security.management.users.confirmEnableUsers.confirmButton": "{isLoading, select, true {{count, plural, other {ユーザー}}を有効化中...} other {{count, plural, other {ユーザー}}を有効化}}", - "xpack.security.management.users.confirmEnableUsers.description": "{count, plural, other {これらのユーザー}}はElasticにアクセスできなくなります{count, plural, other {:}}", + "xpack.security.management.users.confirmEnableUsers.description": "{count, plural, other {これらのユーザー}}はElasticにアクセスできなくなります{count, plural, other {:}}", "xpack.security.management.users.deleteUsersButtonLabel": "{numSelected}人のユーザー{numSelected, plural, other {s}}を削除", "xpack.security.management.users.editUser.settingPasswordErrorMessage": "パスワードの設定中にエラーが発生しました:{message}", "xpack.security.management.users.extendedUserDeprecationNotice": "ユーザー{username}は廃止予定です。{reason}", @@ -28171,7 +29324,7 @@ "xpack.security.accountManagement.userProfile.fullNameLabel": "フルネーム", "xpack.security.accountManagement.userProfile.imageAvatarTypeLabel": "画像", "xpack.security.accountManagement.userProfile.imageUrlLabel": "画像", - "xpack.security.accountManagement.userProfile.imageUrlPromptText": "画像を選択するかドラッグ &amp; ドロップしてください", + "xpack.security.accountManagement.userProfile.imageUrlPromptText": "画像を選択するかドラッグ&ドロップしてください", "xpack.security.accountManagement.userProfile.imageUrlRequiredError": "画像をアップロードします。", "xpack.security.accountManagement.userProfile.initialsAvatarTypeLabel": "イニシャル", "xpack.security.accountManagement.userProfile.initialsLabel": "イニシャル", @@ -28179,6 +29332,7 @@ "xpack.security.accountManagement.userProfile.initialsRequiredError": "イニシャルを追加", "xpack.security.accountManagement.userProfile.lightModeButton": "ライト", "xpack.security.accountManagement.userProfile.noneProvided": "何も入力されていません", + "xpack.security.accountManagement.userProfile.overriddenMessage": "この設定は Kibana サーバーにより上書きされ、変更することはできません。", "xpack.security.accountManagement.userProfile.passwordGroupDescription": "強力なパスワードでデータを保護します。", "xpack.security.accountManagement.userProfile.passwordGroupTitle": "パスワード", "xpack.security.accountManagement.userProfile.passwordLabel": "パスワード", @@ -28733,7 +29887,10 @@ "xpack.securitySolution.alertDetails.overview.originalHostRiskClassification": "元の{riskEntity}リスク分類", "xpack.securitySolution.alertDetails.overview.riskDataTooltipContent": "リスク分類は、{riskEntity}で使用可能なときにのみ表示されます。{riskScoreDocumentationLink}が環境内で有効であることを確認します。", "xpack.securitySolution.alerts.alertDetails.summary.cases.subTitle": "このアラートを含む直近に作成された{caseCount}件のケースを表示しています", + "xpack.securitySolution.alertSummaryView.alertSummaryViewContextDescription": "アラート({view}から)", + "xpack.securitySolution.alertSummaryView.eventSummaryViewContextDescription": "イベント({view}から)", "xpack.securitySolution.anomaliesTable.table.unit": "{totalCount, plural, =1 {異常} other {異常}}", + "xpack.securitySolution.api.alertTags.validationError": "tags_to_addおよびtags_to_removeパラメーターで重複するタグ{duplicates}が見つかりました。", "xpack.securitySolution.artifactCard.comments.label.hide": "コメントを非表示({count})", "xpack.securitySolution.artifactCard.comments.label.show": "コメントを表示({count})", "xpack.securitySolution.artifactCard.policyEffectScope": "{count}個の{count, plural, other {ポリシー}}に適用", @@ -28746,6 +29903,7 @@ "xpack.securitySolution.artifactListPage.flyoutEditItemLoadFailure": "編集する項目を取得できませんでした。理由:{errorMessage}", "xpack.securitySolution.artifactListPage.flyoutEditSubmitSuccess": "\"{name}\"が更新されました。", "xpack.securitySolution.artifactListPage.showingTotal": "{total, plural, other {#個のアーティファクト}}を表示中", + "xpack.securitySolution.assistant.getComments.at": "日時:{timestamp}", "xpack.securitySolution.authenticationsTable.hostsUnit": "{totalCount, plural, =1 {ホスト} other {ホスト}}", "xpack.securitySolution.authenticationsTable.rows": "{numRows} {numRows, plural, =0 {行} =1 {行} other {行}}", "xpack.securitySolution.authenticationsTable.usersUnit": "{totalCount, plural, =1 {ユーザー} other {ユーザー}}", @@ -28758,6 +29916,9 @@ "xpack.securitySolution.bulkActions.openedAlertSuccessToastMessage": "{totalAlerts}件の{totalAlerts, plural, =1 {アラート} other {アラート}}が正常にオープンされました。", "xpack.securitySolution.bulkActions.updateAlertStatusFailed": "{conflicts}{conflicts, plural, =1 {アラート} other {アラート}}を更新できませんでした。", "xpack.securitySolution.bulkActions.updateAlertStatusFailedDetailed": "{updated}{updated, plural, =1 {アラート} other {アラート}}は正常に更新されましたが、{conflicts}を更新できませんでした\n {conflicts, plural, =1 {それ} other {それら}}はすでに修正されているためです。", + "xpack.securitySolution.bulkActions.updateAlertTagsFailed": "{conflicts}{conflicts, plural, =1 {アラート} other {アラート}}のタグを更新できませんでした。", + "xpack.securitySolution.bulkActions.updateAlertTagsFailedDetailed": "{updated}{updated, plural, =1 {アラート} other {アラート}}は正常に更新されましたが、{conflicts}を更新できませんでした\n {conflicts, plural, =1 {それ} other {それら}}はすでに修正されているためです。", + "xpack.securitySolution.bulkActions.updateAlertTagsSuccessToastMessage": "{totalAlerts}{totalAlerts, plural, =1 {アラート} other {アラート}}のタグを正常に更新しました。", "xpack.securitySolution.cases.caseTable.caseDetailsLinkAria": "クリックすると、タイトル{detailName}のケースを表示します", "xpack.securitySolution.components.alertsTreemap.noDataReasonLabel": "{stackByField1}フィールドがどのグループにも存在しませんでした", "xpack.securitySolution.components.alertsTreemap.riskLabel": "(リスク{riskScore})", @@ -28789,8 +29950,9 @@ "xpack.securitySolution.createPackagePolicy.stepConfigure.packagePolicyTypeInteractiveOnlyInfo": "{ssh}や{telnet}などのプログラムを使用してユーザーが開始したライブシステムとの連携を取り込みます。{recommendation}", "xpack.securitySolution.createPackagePolicy.stepConfigure.quickSettingsTranslation": "簡易設定を使用して、{environments}への統合を構成します。統合を作成した後には、構成を変更できます。", "xpack.securitySolution.createPackagePolicy.stepConfigure.seeDocumentation": "詳細については、{documentation}を参照してください。", - "xpack.securitySolution.dashboards.getSecuritySolutionDashboardsErrorTitle": "ダッシュボードを取得できませんでした - {message}", - "xpack.securitySolution.dashboards.getSecuritySolutionTagsErrorTitle": "\"{tagName}\"の作成に失敗しました - {message}", + "xpack.securitySolution.dashboards.createSecuritySolutionTagErrorTitle": "\"{tagName}\"の作成に失敗しました - {message}", + "xpack.securitySolution.dashboards.getSecuritySolutionDashboardsErrorTitle": "ダッシュボードが見つかりませんでした - {message}", + "xpack.securitySolution.dashboards.getSecuritySolutionTagsErrorTitle": "{tagName}タグが見つかりませんでした - {message}", "xpack.securitySolution.dataProviders.groupAreaAriaLabel": "グループ{group}に属しています", "xpack.securitySolution.dataProviders.showOptionsDataProviderAriaLabel": "{field} {value}オプションはEnterキーを押します。ドラッグを開始するには、スペースを押します", "xpack.securitySolution.dataQualityDashboard.securitySolutionDefaultIndexTooltip": "{settingName}設定のインデックスとパターン", @@ -28820,6 +29982,7 @@ "xpack.securitySolution.detectionEngine.components.importRuleModal.importFailedDetailedTitle": "{message}", "xpack.securitySolution.detectionEngine.components.importRuleModal.importFailedTitle": "{totalRules}個の{totalRules, plural, =1 {ルール} other {ルール}}をインポートできませんでした", "xpack.securitySolution.detectionEngine.components.importRuleModal.successfullyImportedRulesTitle": "{totalRules}個の{totalRules, plural, =1 {ルール} other {ルール}}が正常にインポートされました", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsTooltipContent": "{suppressBy}フィールドが欠落しているイベントを処理する方法を選択します。欠落しているフィールドがあるイベントをグループ化するか、各イベントに対して個別のアラートを作成します。{learnMoreLink}", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldShouldLoadQueryDynamicallyLabel": "各ルールの実行時に、保存されたクエリ\"{savedQueryName}\"を動的に読み込みます", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.machineLearningJobIdHelpText": "手始めに使えるように、一般的なジョブがいくつか提供されています。独自のカスタムジョブを追加するには、{machineLearning}アプリケーションでジョブに「security」のグループを割り当て、ここに表示されるようにします。", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.mlEnableJobMulti": "選択したMLジョブ{jobNames}は現在実行されていません。このルールを有効にすると、これらのジョブをすべて開始します。", @@ -28827,6 +29990,7 @@ "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.ruleTypeField.mlTypeDisabledDescription": "MLへのアクセスには{subscriptionsLink}が必要です。", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.threatMatchIndexForbiddenError": "インデックスパターンには{forbiddenString}を使用できません。特定のインデックスパターンを選択してください。", "xpack.securitySolution.detectionEngine.createRule.stepRuleActions.invalidMustacheTemplateErrorMessage": "{key}は有効なmustacheテンプレートではありません", + "xpack.securitySolution.detectionEngine.createRule.stepRuleActions.snoozeDescription": "いつアクションを実行するか、いつアクションをスヌーズするかを選択します。スヌーズされたアクションに対しては通知が作成されません。{docs}。", "xpack.securitySolution.detectionEngine.missingPrivilegesCallOut.messageBody.messageDetail": "{essence} {indexPrivileges} {featurePrivileges}関連ドキュメント:{docs}", "xpack.securitySolution.detectionEngine.missingPrivilegesCallOut.messageBody.missingFeaturePrivileges": "{index}機能の{privileges}権限が見つかりません。{explanation}", "xpack.securitySolution.detectionEngine.missingPrivilegesCallOut.messageBody.missingIndexPrivileges": "{index}インデックスの{privileges}権限が見つかりません。{explanation}", @@ -28835,16 +29999,27 @@ "xpack.securitySolution.detectionEngine.mlUnavailableTitle": "{totalRules}個の{totalRules, plural, =1 {ルール} other {ルール}}では機械学習を有効化する必要があります。", "xpack.securitySolution.detectionEngine.needAdminForUpdateCallOutBody.messageBody.messageDetail": "{essence}関連ドキュメント:{docs}", "xpack.securitySolution.detectionEngine.needsIndexPermissionsMessage": "検出エンジンを使用するには、必要なクラスターとインデックス権限のユーザーが最初にこのページにアクセスする必要があります。{additionalContext}ヘルプについては、Elastic Stack管理者にお問い合わせください。", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.installRuleFailed": "{failed, plural, other {#個のルール}}のインストールに失敗しました。", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.installRuleSkipped": "インストール中に{skipped, plural, other {#個のルール}}がスキップされました。", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.installRuleSuccess": "{succeeded, plural, other {#個のルール}}が正常にインストールされました。", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.upgradeRuleFailed": "{failed, plural, other {#個のルール}}を更新できませんでした。", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.upgradeRuleSkipped": "{skipped, plural, other {#個のルール}}が更新中にスキップされました。", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.upgradeRuleSuccess": "{succeeded, plural, other {#個のルール}}が正常に更新されました。", "xpack.securitySolution.detectionEngine.queryPreview.viewDetailsForRowAriaLabel": "行{ariaRowindex}、列{columnValues}のアラートまたはイベントの詳細を表示", "xpack.securitySolution.detectionEngine.relatedIntegrations.popoverDescription": "{integrationsCount, plural, =1 {次の統合} other {次の統合の1つ以上}}をインストールおよび構成し、この検知ルールの必要なデータをインジェスト:", "xpack.securitySolution.detectionEngine.relatedIntegrations.popoverDescriptionInstalledVersionTooltip": "バージョン不一致 - 解決してください。`{requiredVersion}`バージョンが必要なときに`{installedVersion}`バージョンがインストールされています", "xpack.securitySolution.detectionEngine.relatedIntegrations.popoverTitle": "[{integrationsCount}]個の関連する{integrationsCount, plural, =1 {統合} other {統合}}が利用可能です", "xpack.securitySolution.detectionEngine.rule.editRule.errorMsgDescription": "{countError, plural, other {これらのタブ}}には無効な入力があります:{tabHasError}", + "xpack.securitySolution.detectionEngine.ruleDetails.onceInEveryDaysLabel": "{daysCount, plural, other {毎}} {daysCount, plural, other {#日}}に1回", + "xpack.securitySolution.detectionEngine.ruleDetails.onceInEveryHoursLabel": "{hoursCount, plural, other {毎}} {hoursCount, plural, other {#時間}}に1回", + "xpack.securitySolution.detectionEngine.ruleDetails.onceInEveryMinutesLabel": "{minutesCount, plural, other {毎}} {minutesCount, plural, other {#分}}に1回", + "xpack.securitySolution.detectionEngine.ruleDetails.onceInEverySecondsLabel": "{secondsCount, plural, other {毎}} {secondsCount, plural, other {#秒}}に1回", "xpack.securitySolution.detectionEngine.ruleDetails.ruleCreationDescription": "作成者:{by}、日付:{date}", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.gapDurationColumnTooltip": "ルール実行のギャップの期間(hh:mm:ss:SSS)。ルールルックバックを調整するか、ギャップの軽減については{seeDocs}してください。", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.searchLimitExceededLabel": "{totalItems}件以上のルール実行が指定されたフィルターと一致します。最新の「@timestamp」で最初の{maxItems}を表示しています。さらにフィルターを絞り込み、追加の実行イベントを表示します。", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.totalExecutionsLabel": "{totalItems} {totalItems, plural, =1 {ルール実行} other {ルール実行}}を表示中", "xpack.securitySolution.detectionEngine.ruleDetails.ruleUpdateDescription": "更新者:{by}、日付:{date}", + "xpack.securitySolution.detectionEngine.rules.addRules.installSelectedRules": "{numberOfSelectedRules}個の選択したルールをインストール", "xpack.securitySolution.detectionEngine.rules.all.exceptions.rulesPopoverButton": "+{rulesCount} {rulesCount, plural, =1 {ルール} other {ルール}}", "xpack.securitySolution.detectionEngine.rules.all.exceptions.showingExceptionLists": "{totalLists} {totalLists, plural, =1 {リスト} other {リスト}}を表示中", "xpack.securitySolution.detectionEngine.rules.allRules.bulkAction.enable.successToastDescription": "{totalRules, plural, =1 {{totalRules}個のルール} other {{totalRules}個のルール}}が正常に有効にされました", @@ -28863,7 +30038,7 @@ "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.modalBody": "{rulesCount, plural, other {#個のルール}}を複製しています。複製する項目を選択:", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.with": "{rulesCount, plural, other {ルール}}と{rulesCount, plural, other {それらの}}アクティブな例外", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.without": "{rulesCount, plural, other {ルール}}のみ", - "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.includeExpiredExceptionsCheckboxLabel": "{rulesCount, plural, other {ルール}}と{rulesCount, plural, other {それらの}}すべての例外(アクティブおよび期限切れ)", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.includeExpiredExceptionsCheckboxLabel": "{rulesCount, plural, other {ルール}}と{rulesCount, plural, other {それらの}}例外", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.successToastDescription": "{totalRules, plural, =1 {{totalRules}個のルール} other {{totalRules}個のルール}}が正常に複製されました", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.addRuleActions.infoCalloutTitle": "選択した{rulesCount, plural, other {#個のルール}}に対するアクションを設定", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.addRuleActions.warningCalloutMessage": "{rulesCount, plural, other {#個の選択したルール}}のルールアクションを上書きしようとしています。変更を適用するには、{saveButton}をクリックします。", @@ -28890,8 +30065,10 @@ "xpack.securitySolution.detectionEngine.rules.reloadMissingPrePackagedRulesButton": "{missingRules}個のElastic事前構築済み{missingRules, plural, =1 {ルール} other {ルール}}をインストール ", "xpack.securitySolution.detectionEngine.rules.reloadMissingPrePackagedTimelinesButton": "{missingTimelines}個のElastic事前構築済み{missingTimelines, plural, =1 {タイムライン} other {タイムライン}}をインストール ", "xpack.securitySolution.detectionEngine.rules.update.successfullySavedRuleTitle": "{ruleName} が保存されました", + "xpack.securitySolution.detectionEngine.rules.updatePrebuiltRulesCalloutTitle": "インストールされたルールの更新が利用可能です。{link}で確認して更新してください。", "xpack.securitySolution.detectionEngine.rules.updatePrePackagedRulesAndTimelinesButton": "{updateRules}個のElastic事前構築済み{updateRules, plural, =1 {ルール} other {ルール}}と{updateTimelines}個のElastic事前構築済み{updateTimelines, plural, =1 {タイムライン} other {タイムライン}}を更新", "xpack.securitySolution.detectionEngine.rules.updatePrePackagedTimelinesButton": "{updateTimelines}個のElastic事前構築済み{updateTimelines, plural, =1 {タイムライン} other {タイムライン}}を更新", + "xpack.securitySolution.detectionEngine.rules.upgradeRules.upgradeSelected": "{numberOfSelectedRules}個の選択したルールを更新", "xpack.securitySolution.detectionEngine.signals.alertReasonDescription": "{eventCategory, select, null {} other {{eventCategory}{whitespace}}}イベント{hasFieldOfInterest, select, false {} other {{whitespace}の}}{processName, select, null {} other {{whitespace}プロセス{processName}、}}{processParentName, select, null {} other {{whitespace}親プロセス{processParentName}、}}{fileName, select, null {} other {{whitespace}ファイル{fileName}、}}{sourceAddress, select, null {} other {{whitespace}ソース{sourceAddress}}}{sourcePort, select, null {} other {:{sourcePort}、}}{destinationAddress, select, null {} other {{whitespace}{destinationAddress}のデスティネーション}}{destinationPort, select, null {} other {:{destinationPort}、}}{userName, select, null {} other {{whitespace}{userName}によって}}{hostName, select, null {} other {{whitespace}{hostName}で}}で{alertSeverity}アラート{alertName}が作成されました。", "xpack.securitySolution.detectionEngine.stepDefineRule.dataViewNotFoundDescription": "ID \"{dataView}\"のデータビューが見つかりませんでした。削除された可能性があります。", "xpack.securitySolution.detectionResponse.alertsByStatus.totalAlerts": "合計{totalAlerts, plural, =1 {アラート} other {アラート}}", @@ -29003,6 +30180,10 @@ "xpack.securitySolution.entityAnalytics.riskDashboard.riskToolTip": "{riskEntity}リスク分類は、{riskEntityLowercase}リスクスコアによって決定されます。「重大」または「高」に分類された{riskEntity}は、リスクが高いことが表示されます。", "xpack.securitySolution.event.summary.threat_indicator.showMatches": "すべての{count}件のインジケーター一致アラートを表示", "xpack.securitySolution.eventDetails.nestedColumnCheckboxAriaLabel": "{field}フィールドはオブジェクトであり、列として追加できるネストされたフィールドに分解されます", + "xpack.securitySolution.eventDetails.responseActions.endpoint.executed": "{command}コマンドを実行しました", + "xpack.securitySolution.eventDetails.responseActions.endpoint.failed": "{command}コマンドを実行できませんでした", + "xpack.securitySolution.eventDetails.responseActions.endpoint.pending": "{command}コマンドを実行しています", + "xpack.securitySolution.eventDetails.responseActions.endpoint.tried": "{command}コマンドを実行しようとしました", "xpack.securitySolution.eventDetails.viewColumnCheckboxAriaLabel": "{field}列を表示", "xpack.securitySolution.eventFilter.flyoutForm.creationSuccessToastTitle": "\"{name}\"がイベントフィルターリストに追加されました。", "xpack.securitySolution.eventFilters.deleteSuccess": "\"{itemName}\"がイベントフィルターリストから削除されました。", @@ -29032,6 +30213,10 @@ "xpack.securitySolution.exceptions.viewer.lastUpdated": "{updated}を更新しました", "xpack.securitySolution.exceptions.viewer.paginationDetails": "{partOne}/{partTwo}ページを表示中", "xpack.securitySolution.fieldBrowser.descriptionForScreenReaderOnly": "フィールド{field}の説明:", + "xpack.securitySolution.flyout.correlations.ancestryAlertsHeading": "上位項目に関連する{count, plural, other {#件のアラート}}", + "xpack.securitySolution.flyout.correlations.relatedCasesHeading": "{count}件の関連する{count, plural, other {ケース}}", + "xpack.securitySolution.flyout.correlations.sessionAlertsHeading": "セッションに関連する{count, plural, other {#件のアラート}}", + "xpack.securitySolution.flyout.correlations.sourceAlertsHeading": "ソースイベントに関連する{count, plural, other {#件のアラート}}", "xpack.securitySolution.flyout.documentDetails.overviewTab.viewAllButton": "すべての{text}を表示", "xpack.securitySolution.flyout.errorMessage": "{message}の表示中にエラーが発生しました", "xpack.securitySolution.flyout.errorTitle": "{title}を表示できません", @@ -29075,6 +30260,7 @@ "xpack.securitySolution.lists.uploadValueListExtensionValidationMessage": "ファイルは次の種類のいずれかでなければなりません:[{fileTypes}]", "xpack.securitySolution.markdown.insight.filterBuilderText": "タイムラインクエリビルダーを入力するフィルターを作成します。アラートドキュメントの値を使用するには、値フィールドのカスタムオプションとして二重括弧{example}でフィールド名を囲みます。", "xpack.securitySolution.markdown.osquery.missingPrivileges": "このページにアクセスするには、{osquery} Kibana権限について管理者に確認してください。", + "xpack.securitySolution.markdown.premiumPluginLinkPrefix": "これらのインタラクティブなマークダウン機能を使用するには、{link}する必要があります。", "xpack.securitySolution.markdownEditor.plugins.insightConfigError": "インサイトJSON構成を解析できません:{err}", "xpack.securitySolution.markdownEditor.plugins.timeline.failedRetrieveTimelineErrorMsg": "タイムラインIDを取得できませんでした:{timelineId}", "xpack.securitySolution.markdownEditor.plugins.timeline.toolTip.timelineId": "タイムラインID:{timelineId}", @@ -29104,7 +30290,6 @@ "xpack.securitySolution.open.timeline.successfullyExportedTimelinesTitle": "{totalTimelines, plural, =0 {すべてのタイムライン} =1 {{totalTimelines}個のタイムライン} other {{totalTimelines}個のタイムライン}}が正常にエクスポートされました", "xpack.securitySolution.open.timeline.successfullyExportedTimelineTemplatesTitle": "{totalTimelineTemplates, plural, =0 {すべてのタイムライン} =1 {{totalTimelineTemplates}個のタイムラインテンプレート} other {{totalTimelineTemplates}個のタイムラインテンプレート}}が正常にエクスポートされました", "xpack.securitySolution.osquery.action.missingPrivileges": "このページにアクセスするには、{osquery} Kibana権限について管理者に確認してください。", - "xpack.securitySolution.responseActions.results.missingPrivileges": "これらの結果にアクセスするには、{integration} Kibana権限について管理者に確認してください。", "xpack.securitySolution.overview.ctiDashboardSubtitle": "{totalCount}個の{totalCount, plural, other {インジケーター}}を表示中", "xpack.securitySolution.overview.overviewHost.hostsSubtitle": "{formattedHostEventsCount}個の{hostEventsCount, plural, other {イベント}}を表示中", "xpack.securitySolution.overview.overviewNetwork.networkSubtitle": "{formattedNetworkEventsCount}個の{networkEventsCount, plural, other {イベント}}を表示中", @@ -29125,7 +30310,10 @@ "xpack.securitySolution.resolver.unboundedRequest.toast": "選択した時間では結果が見つかりません。{from} - {to}まで拡大します。", "xpack.securitySolution.responder.header.lastSeen": "前回の認識:{date}", "xpack.securitySolution.responder.hostOffline.callout.body": "ホスト{name}はオフラインであるため、応答が遅延する可能性があります。保留中のコマンドは、ホストが再接続されたときに実行されます。", + "xpack.securitySolution.responder.missingEncryptionKey.callout.body": "暗号鍵を構成して機密情報を保護し、環境のセキュリティを高めることをお勧めします。暗号鍵を構成しないと、一部の機能が想定通りに実行されない場合があります。{viewMore}。", "xpack.securitySolution.responseActionFileDownloadLink.passcodeInfo": "(ZIPファイルのパスコード:{passcode})。", + "xpack.securitySolution.responseActions.endpoint.commandDescription": "エンドポイント対応アクションを選択します。対応アクションは、Elastic Defendがインストールされているホストでのみ実行されます。{docs}", + "xpack.securitySolution.responseActions.results.missingPrivileges": "これらの結果にアクセスするには、{integration} Kibana権限について管理者に確認してください。", "xpack.securitySolution.responseActionsList.flyout.title": "対応アクション履歴:{hostname}", "xpack.securitySolution.responseActionsList.investigationGuideSuggestion": "調査ガイドに{queriesLength, plural, other {クエリ}}があります。{queriesLength, plural, other {対応アクションとして}}追加しますか?", "xpack.securitySolution.responseActionsList.list.filter.emptyMessage": "利用可能な {filterName} がありません", @@ -29136,6 +30324,7 @@ "xpack.securitySolution.responseActionsList.list.item.wasSuccessful": "{command}は正常に完了しました", "xpack.securitySolution.responseActionsList.list.recordRange": "{total} {recordsLabel}件中{range}を表示中", "xpack.securitySolution.responseActionsList.list.recordRangeLabel": "{records, plural, other {対応アクション}}", + "xpack.securitySolution.riskEngine.calculateScores.dataViewNotFoundError": "指定したデータビュー({dataViewId})が見つかりませんでした。既存のデータビューを使用するか、パラメーターを省略してデフォルトのリスク入力を使用します。", "xpack.securitySolution.riskInformation.explanation": "この機能は変換を利用します。また、5日間の範囲で、スクリプトメトリックアグリゲーションを使用して、「オープン」ステータスの検知ルールアラートに基づいて{riskEntityLower}リスクスコアを計算します。変換は毎時実行され、新しい検知ルールアラートを受信するとスコアが常に更新されます。", "xpack.securitySolution.riskInformation.introduction": "{riskEntity}リスクスコア機能は、環境内のリスクが高い{riskEntityLowerPlural}を明らかにします。", "xpack.securitySolution.riskInformation.learnMore": "{riskEntity}リスク{riskScoreDocumentationLink}の詳細をご覧ください", @@ -29149,6 +30338,7 @@ "xpack.securitySolution.riskScore.savedObjects.bulkCreateSuccessTitle": "{totalCount}個の{totalCount, plural, =1 {保存されたオブジェクト} other {保存されたオブジェクト}}が正常にインポートされました", "xpack.securitySolution.riskScore.savedObjects.enableRiskScoreSuccessTitle": "{items}が正常にインポートされました", "xpack.securitySolution.riskScore.savedObjects.failedToCreateTagTitle": "保存されたオブジェクトをインポートできませんでした:タグ{tagName}を作成できなかったため、{savedObjectTemplate}が作成されませんでした", + "xpack.securitySolution.riskScore.savedObjects.failedToFindTagTitle": "保存されたオブジェクトをインポートできませんでした:タグ{tagName}が見つからなかったため、{savedObjectTemplate}が作成されませんでした。", "xpack.securitySolution.riskScore.savedObjects.templateAlreadyExistsTitle": "保存されたオブジェクトをインポートできませんでした:{savedObjectTemplate}はすでに存在するため、作成されませんでした", "xpack.securitySolution.riskScore.savedObjects.templateNotFoundTitle": "保存されたオブジェクトをインポートできませんでした:{savedObjectTemplate}が見つからないため、作成されませんでした", "xpack.securitySolution.riskScore.transform.notFoundTitle": "{transformId}が見つからないため、変換を確認できませんでした", @@ -29158,6 +30348,7 @@ "xpack.securitySolution.rule_exceptions.flyoutComponents.addToListsOptions.addToListsTooltipTitle": "共有例外リストはルール全体で共有された例外のグループです。{rulesCount, plural, =1 {このルールには関連付けられた共有例外リストがありません} other {現在、これらのルールには関連付けられた共有例外リストがありません}}。作成するには、共有例外リストページを開きます。", "xpack.securitySolution.rule_exceptions.itemComments.hideCommentsLabel": "({comments}){comments, plural, =1 {コメント} other {コメント}}を非表示", "xpack.securitySolution.rule_exceptions.itemComments.showCommentsLabel": "({comments}){comments, plural, =1 {コメント} other {コメント}}を表示", + "xpack.securitySolution.ruleExceptions.addExceptionFlyout.addRuleExceptionFromAlertComment": "例外条件には、{alertId}からの関連するデータがあらかじめ入力されます。", "xpack.securitySolution.ruleExceptions.addExceptionFlyout.addRuleExceptionToastSuccessText": "例外がルール - {ruleName}追加されました。", "xpack.securitySolution.ruleExceptions.addExceptionFlyout.closeAlerts.successDetails": "ルール例外が共有リストに追加されました:{listNames}。", "xpack.securitySolution.ruleExceptions.addExceptionFlyout.commentsTitle": "コメントを追加({comments})", @@ -29207,6 +30398,7 @@ "xpack.securitySolution.trustedApps.flyoutCreateSubmitSuccess": "\"{name}\"は信頼できるアプリケーションに追加されました。", "xpack.securitySolution.trustedApps.flyoutEditSubmitSuccess": "\"{name}\"が更新されました。", "xpack.securitySolution.trustedApps.showingTotal": "{total} {total, plural, other {信頼できるアプリケーション}}を表示中", + "xpack.securitySolution.uiSettings.defaultAlertTagsDescription": "

    セキュリティソリューションルールで生成されたアラートで使用するタグオプションのリスト。

    ", "xpack.securitySolution.uiSettings.defaultAnomalyScoreDescription": "

    機械学習ジョブの異常がこの値を超えると、セキュリティアプリに表示されます。

    有効な値:0 ~ 100。

    ", "xpack.securitySolution.uiSettings.defaultIndexDescription": "

    セキュリティアプリがイベントを収集するElasticsearchインデックスのコンマ区切りのリストです。

    ", "xpack.securitySolution.uiSettings.defaultRefreshIntervalDescription": "

    セキュリティ時間フィルターのミリ単位のデフォルトの更新間隔です。

    ", @@ -29226,6 +30418,7 @@ "xpack.securitySolution.usersRiskTable.filteredUsersTitle": "{severity}リスクユーザーを表示", "xpack.securitySolution.usersTable.rows": "{numRows} {numRows, plural, =0 {行} =1 {行} other {行}}", "xpack.securitySolution.usersTable.unit": "{totalCount, plural, =1 {ユーザー} other {ユーザー}}", + "xpack.securitySolution.visualizationActions.countOfFieldLabel": "{field}のカウント", "xpack.securitySolution.visualizationActions.topValueLabel": "{field} のトップの値", "xpack.securitySolution.visualizationActions.uniqueCountLabel": "{field}のユニークカウント", "xpack.securitySolution.accessibility.tooltipWithKeyboardShortcut.pressTooltipLabel": "プレス", @@ -29241,6 +30434,9 @@ "xpack.securitySolution.actions.toggleColumnToggle.label": "表の列を切り替える", "xpack.securitySolution.actionsContextMenu.label": "未対応", "xpack.securitySolution.actionTypeForm.accordion.deleteIconAriaLabel": "削除", + "xpack.securitySolution.addRules.goBackToRulesTableButton": "インストールされたElasticルールに戻る", + "xpack.securitySolution.addRules.installRuleButton": "ルールをインストール", + "xpack.securitySolution.addRules.upgradeRuleButton": "ルールを更新", "xpack.securitySolution.administration.os.linux": "Linux", "xpack.securitySolution.administration.os.macos": "Mac", "xpack.securitySolution.administration.os.windows": "Windows", @@ -29340,6 +30536,10 @@ "xpack.securitySolution.alerts.severityMapping.severityTitle": "デフォルト重要度", "xpack.securitySolution.alerts.severityMapping.sourceFieldTitle": "ソースフィールド", "xpack.securitySolution.alerts.severityMapping.sourceValueTitle": "ソース値", + "xpack.securitySolution.alertSummaryView.alertSummaryViewContextTooltip": "このアラートをコンテキストとして追加", + "xpack.securitySolution.alertSummaryView.alertSummaryViewConversationId": "アラート概要", + "xpack.securitySolution.alertSummaryView.eventSummaryViewContextTooltip": "このイベントをコンテキストとして追加", + "xpack.securitySolution.alertSummaryView.eventSummaryViewConversationId": "イベント概要", "xpack.securitySolution.alertsView.osqueryAlertTitle": "Osqueryの実行", "xpack.securitySolution.allHost.errorSearchDescription": "すべてのホスト検索でエラーが発生しました", "xpack.securitySolution.allHost.failSearchDescription": "すべてのホストで検索を実行できませんでした", @@ -29395,6 +30595,7 @@ "xpack.securitySolution.appLinks.users.description": "ユーザーデータの概要を包括的に捉え、環境内の認証およびユーザー動作を把握できます。", "xpack.securitySolution.appLinks.users.events": "イベント", "xpack.securitySolution.appLinks.users.risk": "ユーザーリスク", + "xpack.securitySolution.appLinks.vulnerabilityDashboardDescription": "Cloud Native Vulnerability Management(CNVM)では、クラウドワークロードの脆弱性を特定できます。", "xpack.securitySolution.artifactCard.conditions.and": "AND", "xpack.securitySolution.artifactCard.conditions.existsOperator": "存在する", "xpack.securitySolution.artifactCard.conditions.linux": "Linux", @@ -29442,6 +30643,38 @@ "xpack.securitySolution.artifactListPage.pageTitle": "アーティファクト", "xpack.securitySolution.artifactListPage.searchPlaceholderInfo": "次のフィールドで検索:名前、説明、コメント、値", "xpack.securitySolution.artifactMinifiedCard.descriptionLabel": "説明", + "xpack.securitySolution.assistant.commentActions.addedNoteToTimelineToast": "メモをタイムラインに追加しました", + "xpack.securitySolution.assistant.commentActions.addMessageContentAsTimelineNoteAriaLabel": "メッセージコンテンツをタイムラインメモとして追加", + "xpack.securitySolution.assistant.commentActions.addNoteToTimelineTooltip": "メモをタイムラインに追加", + "xpack.securitySolution.assistant.commentActions.addToCaseExistingCase": "既存のケースに追加", + "xpack.securitySolution.assistant.commentActions.copyToClipboard": "クリップボードにコピー", + "xpack.securitySolution.assistant.commentActions.elasticAiAssistantTitle": "Elastic AI Assistant", + "xpack.securitySolution.assistant.content.promptContexts.indexTitle": "インデックス", + "xpack.securitySolution.assistant.content.promptContexts.viewTitle": "表示", + "xpack.securitySolution.assistant.content.prompts.system.defaultSystemPromptName": "デフォルトシステムプロンプト", + "xpack.securitySolution.assistant.content.prompts.system.ifYouDontKnowTheAnswer": "Elasticセキュリティに関連していない質問には回答しないでください。", + "xpack.securitySolution.assistant.content.prompts.system.superheroPersonality": "サイバーセキュリティの専門家に情報を伝えるつもりで、できるだけ詳細で関連性のある回答を入力してください。", + "xpack.securitySolution.assistant.content.prompts.system.superheroSystemPromptName": "拡張システムプロンプト", + "xpack.securitySolution.assistant.content.prompts.system.useTheFollowingContextToAnswer": "次のコンテキストを使用して、質問に回答します。", + "xpack.securitySolution.assistant.content.prompts.system.youAreAHelpfulExpertAssistant": "あなたはElasticセキュリティに関する質問に答える、親切で専門的なアシスタントです。", + "xpack.securitySolution.assistant.content.prompts.user.finallySuggestInvestigationGuideAndFormatAsMarkdown": "説明、推奨されるアクション、箇条書きのトリアージステップを追加します。提供された MITRE ATT&CKデータを使用して、MITREからのコンテキストや推奨事項を追加し、MITREのWebサイトの関連ページにハイパーリンクを貼ります。コンテキストのユーザーとホストのリスクスコアデータを必ず含めてください。回答には、エンドポイント対応アクション、ElasticエージェントOSQueryマネージャー統合(osqueryクエリの例を付けて)、タイムライン、エンティティ分析など、Elasticセキュリティ固有の機能を指す手順を含め、関連するElasticセキュリティのドキュメントすべてにリンクしてください。", + "xpack.securitySolution.assistant.content.prompts.user.thenSummarizeSuggestedKqlAndEqlQueries": "上記のコンテキストからイベントを評価し、Elasticセキュリティのケース用に、出力をマークダウン構文で正しく書式設定してください。", + "xpack.securitySolution.assistant.conversations.timelineConversationTitle": "Timeline", + "xpack.securitySolution.assistant.getComments.assistant": "アシスタント", + "xpack.securitySolution.assistant.getComments.you": "あなた", + "xpack.securitySolution.assistant.quickPrompts.alertSummarizationPrompt": "セキュリティ運用とインシデント対応のエキスパートとして、添付されたアラートの内訳を説明し、それが私の組織にとって何を意味するのかを要約してください。", + "xpack.securitySolution.assistant.quickPrompts.alertSummarizationTitle": "アラート要約", + "xpack.securitySolution.assistant.quickPrompts.AutomationPrompt": "ログやイベントの収集には、どのFleet対応Elasticエージェント統合を使用すべきですか。", + "xpack.securitySolution.assistant.quickPrompts.AutomationTitle": "エージェント統合のアドバイス", + "xpack.securitySolution.assistant.quickPrompts.ruleCreationPrompt": "Elasticセキュリティのエキスパートユーザーとして、以下のユースケースを検出するための正確で有効なEQLクエリを作成してください。回答は、Elasticセキュリティのタイムラインまたは検出ルールですぐに使用できるように書式設定してください。そのユースケースに対応するルールがすでにElasticセキュリティに組み込まれている場合、または類似のルールが組み込まれている場合は、そのルールへのリンクと説明を入力してください。", + "xpack.securitySolution.assistant.quickPrompts.ruleCreationTitle": "クエリ生成", + "xpack.securitySolution.assistant.quickPrompts.splQueryConversionPrompt": "以前のSIEMプラットフォームから次のクエリを受け取りました。Elasticセキュリティのエキスパートユーザーとして、同等のElastic EQLを提案してください。すぐにそれをElasticのセキュリティタイムラインにコピーできます。", + "xpack.securitySolution.assistant.quickPrompts.splQueryConversionTitle": "クエリ変換", + "xpack.securitySolution.assistant.quickPrompts.threatInvestigationGuidesPrompt": "Elasticセキュリティ、Elasticエージェント、インジェストパイプラインのエキスパートユーザーとして、ElasticエージェントとKibanaのFleetを使用して次のデータをインジェストし、Elastic Common Schemaに変換する方法について、正確で書式設定された段階的な手順を挙げてください。", + "xpack.securitySolution.assistant.quickPrompts.threatInvestigationGuidesTitle": "カスタムデータインジェストヘルパー", + "xpack.securitySolution.assistant.quickPrompts.workflowAnalysisPrompt": "Elasticセキュリティのエキスパートユーザーとして、次の方法に関するワークフローと段階的な手順を提案してください。", + "xpack.securitySolution.assistant.quickPrompts.workflowAnalysisTitle": "ワークフロー提案", + "xpack.securitySolution.assistant.title": "Elastic AI Assistant", "xpack.securitySolution.auditd.abortedAuditStartupDescription": "中断された監査のスタートアップ", "xpack.securitySolution.auditd.accessErrorDescription": "アクセスエラー", "xpack.securitySolution.auditd.accessPermissionDescription": "アクセス権限", @@ -29622,11 +30855,16 @@ "xpack.securitySolution.blocklist.warnings.values.wildcardPresent": "ファイル名のワイルドカードはエンドポイントのパフォーマンスに影響します", "xpack.securitySolution.bulkActions.acknowledgedAlertFailedToastMessage": "アラートを確認済みに設定できませんでした", "xpack.securitySolution.bulkActions.acknowledgedSelectedTitle": "確認済みに設定", + "xpack.securitySolution.bulkActions.alertTagsContextMenuItemTitle": "アラートタグを管理", + "xpack.securitySolution.bulkActions.alertTagsMenuEmptyMessage": "タグのオプションがありません。詳細設定でタグのオプションを追加してください。", + "xpack.securitySolution.bulkActions.alertTagsMenuSearchNoTagsFoundMessage": "現在の検索と一致するタグがありません", + "xpack.securitySolution.bulkActions.alertTagsMenuSearchPlaceholderMessage": "タグの検索", "xpack.securitySolution.bulkActions.closedAlertFailedToastMessage": "アラートをクローズできませんでした。", "xpack.securitySolution.bulkActions.closeSelectedTitle": "クローズ済みに設定", "xpack.securitySolution.bulkActions.openedAlertFailedToastMessage": "アラートを開けませんでした", "xpack.securitySolution.bulkActions.openSelectedTitle": "開封済みに設定", "xpack.securitySolution.bulkActions.updateAlertStatusFailedSingleAlert": "アラートを更新できませんでした。アラートはすでに修正されています。", + "xpack.securitySolution.bulkActions.updateAlertTagsFailedToastMessage": "アラートタグを更新できませんでした。", "xpack.securitySolution.callouts.dismissButton": "閉じる", "xpack.securitySolution.cases.pageTitle": "ケース", "xpack.securitySolution.certificate.fingerprint.clientCertLabel": "クライアント証明書", @@ -29850,9 +31088,17 @@ "xpack.securitySolution.dataQualityDashboard.betaBadge": "ベータ", "xpack.securitySolution.dataQualityDashboard.elasticCommonSchemaReferenceLink": "Elastic Common Schema(ECS)", "xpack.securitySolution.dataQualityDashboard.pageTitle": "データ品質", + "xpack.securitySolution.dataView.fetchFields.warning": "詳細フィールド情報を取得できませんでした", "xpack.securitySolution.dataViewSelectorText1": "Kibanaを使用 ", "xpack.securitySolution.dataViewSelectorText2": " または ", "xpack.securitySolution.dataViewSelectorText3": " 検索するルールのデータソースとして個別に指定します。", + "xpack.securitySolution.defaultAlertTags.duplicate": "複製", + "xpack.securitySolution.defaultAlertTags.falsePositive": "誤検知", + "xpack.securitySolution.defaultAlertTags.furtherInvestigationRequired": "詳細な調査が必要です", + "xpack.securitySolution.detectionEngine.actionNotifyWhen.forEachOption": "各アラート。ルール実行単位。", + "xpack.securitySolution.detectionEngine.actionNotifyWhen.periodically": "定期的", + "xpack.securitySolution.detectionEngine.actionNotifyWhen.summaryOption": "アラートの概要。ルール実行単位。", + "xpack.securitySolution.detectionEngine.actionsSectionLabel": "アクション", "xpack.securitySolution.detectionEngine.alerts.acknowledgedAlertFailedToastMessage": "アラートを確認済みに設定できませんでした", "xpack.securitySolution.detectionEngine.alerts.acknowledgedAlertsTitle": "確認済み", "xpack.securitySolution.detectionEngine.alerts.actions.addBulkToTimeline": "タイムラインで調査", @@ -29977,7 +31223,7 @@ "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldFalsePositiveLabel": "誤検出の例", "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldLicenseHelpText": "ライセンス名を追加", "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldLicenseLabel": "ライセンス", - "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldMitreThreatLabel": "MITRE ATT&CK\\u2122", + "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldMitreThreatLabel": "MITRE ATT&CK\\u2122", "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldNameLabel": "名前", "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldNewTermsFieldHelpText": "新しい用語を確認するフィールドを選択します。", "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldReferenceUrlsLabel": "参照URL", @@ -30014,9 +31260,11 @@ "xpack.securitySolution.detectionEngine.createRule.stepAboutRuleForm.severityOptionHighDescription": "高", "xpack.securitySolution.detectionEngine.createRule.stepAboutRuleForm.severityOptionLowDescription": "低", "xpack.securitySolution.detectionEngine.createRule.stepAboutRuleForm.severityOptionMediumDescription": "中", - "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsDoNotSuppressLabel": "非表示にしない", - "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsLabel": "[非表示]フィールドが存在しない場合", - "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsSuppressLabel": "見つからないフィールド値で非表示", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsDoNotSuppressLabel": "フィールドが欠落しているイベントのアラートを抑制しない", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsLabel": "抑制フィールドが欠落している場合", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsSuppressLabel": "フィールドが欠落しているイベントのアラートを抑制してグループ化", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsTooltipLink": "詳細", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsTooltipSuppressByDescription": "アラートを非表示", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.customQueryFieldInvalidError": "KQL が無効です", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.customQueryFieldRequiredError": "カスタムクエリが必要です。", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.customThreatQueryFieldRequiredEmptyError": "すべての一致には、フィールドと脅威インデックスフィールドの両方が必要です。", @@ -30030,6 +31278,7 @@ "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldMachineLearningJobIdLabel": "機械学習ジョブ", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldQuerBarLabel": "カスタムクエリ", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldRuleTypeLabel": "ルールタイプ", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldShouldLoadQueryDynamicallyLabelWithoutName": "各ルールの実行時に、保存されたクエリを動的に読み込みます", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldThreatIndexPatternsLabel": "インジケーターインデックスパターン", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldThreatMappingLabel": "インジケーターマッピング", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldThreatQueryBarLabel": "インジケーターインデックスクエリ", @@ -30070,10 +31319,11 @@ "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.savedQueryFieldRequiredError": "保存されたクエリを読み込めませんでした。新しいクエリを選択するか、カスタムクエリを追加してください。", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.SavedQueryFormRowLabel": "保存されたクエリ", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.source": "送信元", - "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.suppressionMissingFieldsLabel": "[非表示]フィールドが存在しない場合", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.suppressionMissingFieldsLabel": "抑制フィールドが欠落している場合", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.threatMatchingIcesHelperDescription": "脅威インデックスを選択", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.threatMatchoutputIndiceNameFieldRequiredError": "インデックスパターンが最低1つ必要です。", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.thresholdField.thresholdFieldPlaceholderText": "すべての結果", + "xpack.securitySolution.detectionEngine.createRule.stepRuleActions.docsLinkText": "詳細", "xpack.securitySolution.detectionEngine.createRule.stepRuleActions.noReadActionsPrivileges": "ルールアクションを作成できません。「Actions」プラグインの「読み取り」アクセス権がありません。", "xpack.securitySolution.detectionEngine.createRule.stepScheduleRule.completeWithEnablingTitle": "ルールを作成して有効にする", "xpack.securitySolution.detectionEngine.createRule.stepScheduleRule.completeWithoutEnablingTitle": "有効にせずにルールを作成", @@ -30913,6 +32163,8 @@ "xpack.securitySolution.detectionEngine.noApiIntegrationKeyCallOutTitle": "API統合キーが必要です", "xpack.securitySolution.detectionEngine.noIndexTitle": "検出エンジンを設定しましょう", "xpack.securitySolution.detectionEngine.pageTitle": "検出エンジン", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.ruleInstallationFailed": "ルールのインストールが失敗しました", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.ruleUpgradeFailed": "ルールのアップグレードが失敗しました", "xpack.securitySolution.detectionEngine.queryPreview.actions": "アクション", "xpack.securitySolution.detectionEngine.queryPreview.histogramDisclaimer": "注:複数のevent.category値のアラートは2回以上カウントされます。", "xpack.securitySolution.detectionEngine.queryPreview.mlHistogramDisclaimer": "注:複数のhost.name値のアラートは2回以上カウントされます。", @@ -30935,10 +32187,10 @@ "xpack.securitySolution.detectionEngine.relatedIntegrations.uninstalledTitle": "未インストール", "xpack.securitySolution.detectionEngine.relatedIntegrations.uninstalledTooltip": "統合はインストールされていません。統合リンクに従って、インストールし、統合を構成してください。", "xpack.securitySolution.detectionEngine.rule.editRule.actionSectionsTitle": "アクション", - "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionDoNotSuppressOnMissingFieldsDescription": "非表示にしない", + "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionDoNotSuppressOnMissingFieldsDescription": "フィールドが欠落しているイベントのアラートを抑制しない", "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionInsufficientLicense": "アラート非表示が構成されていますが、ライセンス不足のため適用されません", "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionPerRuleExecution": "1つのルール実行", - "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionSuppressOnMissingFieldsDescription": "見つからないフィールド値で非表示", + "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionSuppressOnMissingFieldsDescription": "フィールドが欠落しているイベントのアラートを抑制してグループ化", "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionTechnicalPreview": "テクニカルプレビュー", "xpack.securitySolution.detectionEngine.ruleDescription.eqlEventCategoryFieldLabel": "イベントカテゴリーフィールド", "xpack.securitySolution.detectionEngine.ruleDescription.eqlTiebreakerFieldLabel": "タイブレーカーフィールド", @@ -30950,11 +32202,16 @@ "xpack.securitySolution.detectionEngine.ruleDescription.mlStopJobLabel": "ジョブを停止", "xpack.securitySolution.detectionEngine.ruleDescription.thresholdResultsAggregatedByDescription": "結果集約条件", "xpack.securitySolution.detectionEngine.ruleDescription.thresholdResultsAllDescription": "すべての結果", + "xpack.securitySolution.detectionEngine.ruleDetails.actions.actionsFetchErrorDescription": "アクションを表示できません", + "xpack.securitySolution.detectionEngine.ruleDetails.actions.connectorsFetchError": "コネクターを取得できませんでした", + "xpack.securitySolution.detectionEngine.ruleDetails.actions.connectorTypesFetchError": "コネクタータイプを取得できませんでした", "xpack.securitySolution.detectionEngine.ruleDetails.backToRulesButton": "ルール", "xpack.securitySolution.detectionEngine.ruleDetails.deletedRule": "削除されたルール", "xpack.securitySolution.detectionEngine.ruleDetails.enableRuleLabel": "有効にする", "xpack.securitySolution.detectionEngine.ruleDetails.endpointExceptionsTab": "エンドポイント例外", + "xpack.securitySolution.detectionEngine.ruleDetails.notificationActions": "通知アクション", "xpack.securitySolution.detectionEngine.ruleDetails.pageTitle": "ルール詳細", + "xpack.securitySolution.detectionEngine.ruleDetails.responseActions": "対応アクション", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExceptionsTab": "ルール例外", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionEventsTab": "実行イベント", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.actionFieldNotFoundErrorDescription": "アラートインデックスにフィールド'kibana.alert.rule.execution.uuid'が見つかりません。", @@ -30964,10 +32221,14 @@ "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.actionSearchFiltersUpdatedDescription": "検索フィルターが更新され、選択したルール実行のアラートが表示されます", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.actionSearchFiltersUpdatedRestoreButtonTitle": "前回のフィルターを復元", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.actionSearchFiltersUpdatedTitle": "グローバル検索フィルターが更新されました", + "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.collapse": "縮小", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.durationColumn": "期間", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.durationColumnTooltip": "ルールを実行するのにかかる時間(hh:mm:ss:SSS)。", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.durationGreaterThanYearDescription": "> 1年", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.durationNotAvailableDescription": "N/A", + "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.expand": "拡張", + "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.expandRow": "行を展開", + "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.fullMessage": "完全なメッセージ", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.gapDurationColumn": "ギャップ期間", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.gapTooltipSeeDocsDescription": "ドキュメントを参照", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.indexDurationColumn": "インデックス期間", @@ -30988,6 +32249,14 @@ "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.timestampColumnTooltip": "日時ルール実行が開始されました。", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionResultsTab": "実行結果", "xpack.securitySolution.detectionEngine.ruleDetails.unknownDescription": "不明", + "xpack.securitySolution.detectionEngine.ruleManagement.detectionRulesConversationId": "検出ルール", + "xpack.securitySolution.detectionEngine.ruleManagement.explainThenSummarizeRuleDetails": "上記の選択したルールを説明してください。各ルールについて、関連する理由、Elasticの検出ルールリポジトリで公開されているクエリとその詳細な説明、検出された場合の組織にとっての一般的な意味を強調します。", + "xpack.securitySolution.detectionEngine.ruleManagement.ruleManagementContextDescription": "選択した検出ルール", + "xpack.securitySolution.detectionEngine.ruleManagement.ruleManagementContextTooltip": "このアラートをコンテキストとして追加", + "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.allRules.tabs.addRules": "ルールの追加", + "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.allRules.tabs.monitoring": "ルール監視", + "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.allRules.tabs.rules": "ルールがインストールされました", + "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.allRules.tabs.updates": "ルールの更新", "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.mlJobsWarning.popover.buttonLabel": "ルール詳細ページを表示して調査してください", "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.mlJobsWarning.popover.description": "次のジョブが実行されていないため、ルールで正しくない結果が生成されている可能性があります。", "xpack.securitySolution.detectionEngine.ruleMonitoring.eventTypeFilter.filterTitle": "イベントタイプ", @@ -31011,8 +32280,14 @@ "xpack.securitySolution.detectionEngine.ruleNotifyWhen.onThrottleInterval.display": "カスタム頻度", "xpack.securitySolution.detectionEngine.ruleNotifyWhen.onThrottleInterval.label": "カスタム頻度", "xpack.securitySolution.detectionEngine.rules.aboutRuleTitle": "ルールについて", + "xpack.securitySolution.detectionEngine.rules.addElasticRulesButtonTitle": "Elasticルールを追加", "xpack.securitySolution.detectionEngine.rules.addNewRuleTitle": "新規ルールを作成", "xpack.securitySolution.detectionEngine.rules.addPageTitle": "作成", + "xpack.securitySolution.detectionEngine.rules.addRules.installAllButtonTitle": "すべてインストール", + "xpack.securitySolution.detectionEngine.rules.addRules.noRulesBodyTitle": "インストール用にあらかじめ構築された検出ルールはありません", + "xpack.securitySolution.detectionEngine.rules.addRules.noRulesTitle": "すべてのElasticルールがインストールされました", + "xpack.securitySolution.detectionEngine.rules.addRules.pageTitle": "Elasticルールを追加", + "xpack.securitySolution.detectionEngine.rules.addRules.searchBarPlaceholder": "ルール名で検索", "xpack.securitySolution.detectionEngine.rules.all.exceptions.actionsTitle": "アクション", "xpack.securitySolution.detectionEngine.rules.all.exceptions.dateCreatedTitle": "日付が作成されました", "xpack.securitySolution.detectionEngine.rules.all.exceptions.dateUpdatedTitle": "前回編集", @@ -31057,7 +32332,7 @@ "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.errorToastTitle": "ルールの複製エラー", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.cancelButton": "キャンセル", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.continueButton": "複製", - "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.tooltip": " 例外を複製する場合は、参照によって共有例外リストが複製されます。それから、ルール例外がコピーされ、新しい例外が作成されます", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.tooltip": "個々のルールに関連する例外項目が重複しています。共有例外リストにリンクされた例外項目は重複していません。代わりに、重複したルールは、例外項目を含む共有例外リストを参照しています。", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.successToastTitle": "ルールが複製されました", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicateTitle": "複製", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.addRuleActions.formTitle": "ルールアクションを追加", @@ -31106,7 +32381,7 @@ "xpack.securitySolution.detectionEngine.rules.allRules.exportFilenameTitle": "rules_export", "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.nextStepLabel": "次のステップに進む", "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.previousStepLabel": "前のステップに戻る", - "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.searchCapabilitiesDescription": "「filebeat-*」などのインデックスパターンや、「Defense Evasion」や「TA0005」などのMITRE ATT&CK™方式または手法でルールを検索できます。", + "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.searchCapabilitiesDescription": "「filebeat-*」などのインデックスパターンや、「Defense Evasion」や「TA0005」などのMITRE ATT&CK™方式または手法でルールを検索できます。", "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.searchCapabilitiesTitle": "拡張検索機能", "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.tourTitle": "新機能", "xpack.securitySolution.detectionEngine.rules.allRules.filters.customRulesTitle": "カスタムルール", @@ -31116,12 +32391,13 @@ "xpack.securitySolution.detectionEngine.rules.allRules.filters.noRulesBodyTitle": "上記のフィルターでルールが見つかりませんでした。", "xpack.securitySolution.detectionEngine.rules.allRules.filters.noRulesTitle": "ルールが見つかりませんでした", "xpack.securitySolution.detectionEngine.rules.allRules.filters.noTagsAvailableDescription": "利用可能なタグがありません", + "xpack.securitySolution.detectionEngine.rules.allRules.filters.ruleExecutionStatusFilter": "フィルタリングする基準のルールの実行ステータスを選択", "xpack.securitySolution.detectionEngine.rules.allRules.filters.rulesTagSearchText": "ルールタグ検索", "xpack.securitySolution.detectionEngine.rules.allRules.filters.searchTagsPlaceholder": "タグの検索", "xpack.securitySolution.detectionEngine.rules.allRules.filters.tagsLabel": "タグ", "xpack.securitySolution.detectionEngine.rules.allRules.refreshTitle": "更新", "xpack.securitySolution.detectionEngine.rules.allRules.searchAriaLabel": "ルールの検索", - "xpack.securitySolution.detectionEngine.rules.allRules.searchPlaceholder": "ルール名、インデックスパターン(例:「filebeat-*」)、またはMITRE ATT&CK™方式や手法(例:「Defense Evasion」や「TA0005」)", + "xpack.securitySolution.detectionEngine.rules.allRules.searchPlaceholder": "ルール名、インデックスパターン(例:「filebeat-*」)、またはMITRE ATT&CK™方式や手法(例:「Defense Evasion」や「TA0005」)", "xpack.securitySolution.detectionEngine.rules.allRules.tabs.monitoring": "ルール監視", "xpack.securitySolution.detectionEngine.rules.allRules.tabs.rules": "ルール", "xpack.securitySolution.detectionEngine.rules.clearRulesTableFilters": "フィルターを消去", @@ -31132,6 +32408,7 @@ "xpack.securitySolution.detectionEngine.rules.continueButtonTitle": "続行", "xpack.securitySolution.detectionEngine.rules.defineRuleTitle": "ルールの定義", "xpack.securitySolution.detectionEngine.rules.deleteDescription": "削除", + "xpack.securitySolution.detectionEngine.rules.dismissTitle": "閉じる", "xpack.securitySolution.detectionEngine.rules.editPageTitle": "編集", "xpack.securitySolution.detectionEngine.rules.guidedOnboarding.enableFirstRule.title": "ルールを有効化", "xpack.securitySolution.detectionEngine.rules.guidedOnboarding.installPrebuiltRules.content": "開始するには、Elasticの構築済みルールを読み込む必要があります。", @@ -31142,6 +32419,7 @@ "xpack.securitySolution.detectionEngine.rules.loadPrePackagedRulesAndTemplatesButton": "Elastic 事前構築済みルールおよびタイムラインテンプレートを読み込む", "xpack.securitySolution.detectionEngine.rules.loadPrePackagedRulesButton": "Elastic 事前構築済みルールを読み込む", "xpack.securitySolution.detectionEngine.rules.loadPrePackagedTimelineTemplatesButton": "Elastic 事前構築済みタイムラインテンプレートを読み込む", + "xpack.securitySolution.detectionEngine.rules.newPrebuiltRulesCalloutTitle": "新しいElasticルールをインストールできます。[Elasticルールを追加]ボタンをクリックして、レビューとインストールを行います。", "xpack.securitySolution.detectionEngine.rules.optionalFieldDescription": "オプション", "xpack.securitySolution.detectionEngine.rules.pageTitle": "ルール", "xpack.securitySolution.detectionEngine.rules.prePackagedRules.createOwnRuletButton": "独自のルールの作成", @@ -31152,13 +32430,19 @@ "xpack.securitySolution.detectionEngine.rules.refreshRulePopoverSelectionHelpText": "注:選択されている項目があるため、更新は無効です。", "xpack.securitySolution.detectionEngine.rules.releaseNotesHelp": "リリースノート", "xpack.securitySolution.detectionEngine.rules.ruleActionsTitle": "ルールアクション", + "xpack.securitySolution.detectionEngine.rules.ruleUpdatesLinkTitle": "ルールの更新", "xpack.securitySolution.detectionEngine.rules.scheduleRuleTitle": "ルールのスケジュール", "xpack.securitySolution.detectionEngine.rules.stepAboutTitle": "概要", "xpack.securitySolution.detectionEngine.rules.stepActionsTitle": "アクション", "xpack.securitySolution.detectionEngine.rules.stepDefinitionTitle": "定義", "xpack.securitySolution.detectionEngine.rules.stepScheduleTitle": "スケジュール", + "xpack.securitySolution.detectionEngine.rules.tour.createRuleTourContent.eql": "EQLでは、シーケンス内で発生してはならないイベントを指定できるようになりました。", "xpack.securitySolution.detectionEngine.rules.tour.createRuleTourTitle": "新しいセキュリティルール機能が利用可能です", "xpack.securitySolution.detectionEngine.rules.updateButtonTitle": "更新", + "xpack.securitySolution.detectionEngine.rules.upgradeRules.noRulesBodyTitle": "現在、インストールされているElasticルールに利用可能な更新はありません。", + "xpack.securitySolution.detectionEngine.rules.upgradeRules.noRulesTitle": "すべてのElasticルールが最新です", + "xpack.securitySolution.detectionEngine.rules.upgradeRules.searchBarPlaceholder": "ルール名で検索", + "xpack.securitySolution.detectionEngine.rules.upgradeRules.upgradeAll": "すべて更新", "xpack.securitySolution.detectionEngine.rulesSnoozeBadge.error.unableToFetch": "スヌーズ設定を取得できません", "xpack.securitySolution.detectionEngine.ruleStatus.errorCalloutTitle": "ルール失敗", "xpack.securitySolution.detectionEngine.ruleStatus.partialErrorCalloutTitle": "警告", @@ -31192,7 +32476,9 @@ "xpack.securitySolution.detectionResponse.caseColumnStatus": "ステータス", "xpack.securitySolution.detectionResponse.caseColumnTime": "時間", "xpack.securitySolution.detectionResponse.casesByStatusSectionTitle": "ケース", + "xpack.securitySolution.detectionResponse.casesByStatusSectionTooltip": "ケースはSIEMグローバルKQL検索でフィルタリングできません。", "xpack.securitySolution.detectionResponse.caseSectionTitle": "最近作成したケース", + "xpack.securitySolution.detectionResponse.caseSectionTooltip": "最近作成されたケースはSIEMグローバルKQL検索でフィルタリングできません。", "xpack.securitySolution.detectionResponse.criticalAlerts": "重大アラートを開く", "xpack.securitySolution.detectionResponse.criticalAlertsDescription": "現在の時間範囲で未解決の重大なアラートの件数", "xpack.securitySolution.detectionResponse.errorMessage": "ケースデータの取得エラー", @@ -31268,6 +32554,7 @@ "xpack.securitySolution.effectedPolicySelect.viewPolicyLinkLabel": "ポリシーを表示", "xpack.securitySolution.emptyString.emptyStringDescription": "空の文字列", "xpack.securitySolution.enableRiskScore.enableRiskScorePopoverTitle": "モジュールを有効にする前に、アラートが使用可能でなければなりません", + "xpack.securitySolution.endpoint.action.chooseFromTheList": "リストからアクションを選択", "xpack.securitySolution.endpoint.action.permissionDenied": "パーミッションが拒否されました", "xpack.securitySolution.endpoint.actions.agentDetails": "エージェント詳細を表示", "xpack.securitySolution.endpoint.actions.agentPolicy": "エージェントポリシーを表示", @@ -31421,8 +32708,12 @@ "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.base_url": "グローバルアーチファクトマニフェストをダウンロードするベース URL。デフォルト:https://artifacts.security.elastic.co", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.interval": "グローバルアーチファクトマニフェストダウンロードの試行間隔(秒)。デフォルト:3600.", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.manifest_relative_url": "グローバルアーチファクトマニフェストをダウンロードする相対 URL。デフォルト: /downloads/endpoint/manifest/artifacts-.zip.", + "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.proxy_disable": "グローバルアーティファクトマニフェストのダウンロード時にプロキシ設定を使用するかどうか。デフォルト:false。", + "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.proxy_url": "グローバルアーティファクトマニフェストのダウンロード時に使用するプロキシサーバー。デフォルト:なし", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.public_key": "グローバルアーチファクトマニフェスト署名を検証するために使用される PEM 暗号化公開鍵。", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.user.ca_cert": "Fleet Server認証局のPEM暗号化証明書。", + "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.user.proxy_disable": "ユーザーアーティファクトマニフェストのダウンロード時にプロキシ設定を使用するかどうか。デフォルト:false。", + "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.user.proxy_url": "ユーザーアーティファクトマニフェストのダウンロード時に使用するプロキシサーバー。デフォルト:なし", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.user.public_key": "ユーザーアーチファクトマニフェスト署名を検証するために使用される PEM 暗号化公開鍵。", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.capture_env_vars": "取り込む環境変数のカンマ区切りリスト(最大5件)。", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.diagnostic.enabled": "「false」の値は、エンドポイントで診断機能の実行が無効になります。デフォルト:true", @@ -31451,8 +32742,12 @@ "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.base_url": "グローバルアーチファクトマニフェストをダウンロードする URL。", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.interval": "グローバルアーチファクトマニフェストダウンロードの試行間隔(秒)。デフォルト:3600.", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.manifest_relative_url": "グローバルアーチファクトマニフェストをダウンロードする相対 URL。デフォルト: /downloads/endpoint/manifest/artifacts-.zip.", + "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.proxy_disable": "グローバルアーティファクトマニフェストのダウンロード時にプロキシ設定を使用するかどうか。デフォルト:false。", + "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.proxy_url": "グローバルアーティファクトマニフェストのダウンロード時に使用するプロキシサーバー。デフォルト:なし", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.public_key": "グローバルアーチファクトマニフェスト署名を検証するために使用される PEM 暗号化公開鍵。", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.user.ca_cert": "Fleet Server認証局のPEM暗号化証明書。", + "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.user.proxy_disable": "ユーザーアーティファクトマニフェストのダウンロード時にプロキシ設定を使用するかどうか。デフォルト:false。", + "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.user.proxy_url": "ユーザーアーティファクトマニフェストのダウンロード時に使用するプロキシサーバー。デフォルト:なし", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.user.public_key": "ユーザーアーチファクトマニフェスト署名を検証するために使用される PEM 暗号化公開鍵。", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.capture_env_vars": "取り込む環境変数のカンマ区切りリスト(最大5件)。", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.diagnostic.enabled": "「false」の値は、エンドポイントで診断機能の実行が無効になります。デフォルト:true", @@ -31478,11 +32773,16 @@ "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.agent.connection_delay": "最初のポリシー応答を送信する前にエージェント接続を待機する時間(秒)。デフォルト:60.", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.alerts.cloud_lookup": "値「false」はWindowsアラートのクラウドルックアップを無効にします。デフォルト:true", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.alerts.rollback.self_healing.enabled": "自己修復では、防御アラートがトリガーされたときに、攻撃アーティファクトが消去されます。警告:データ損失が発生する可能性があります。デフォルト:false。", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.alerts.rollback.self_healing.registry_enabled": "レジストリをベースとしたマルウェアアーティファクトの自己修復を有効にします。rollback.self_healing.enabledも有効になっている必要があります。デフォルト:true", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.base_url": "グローバルアーチファクトマニフェストをダウンロードする URL。", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.interval": "グローバルアーチファクトマニフェストダウンロードの試行間隔(秒)。デフォルト:3600.", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.manifest_relative_url": "グローバルアーチファクトマニフェストをダウンロードする相対 URL。デフォルト: /downloads/endpoint/manifest/artifacts-.zip.", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.proxy_disable": "グローバルアーティファクトマニフェストのダウンロード時にプロキシ設定を使用するかどうか。デフォルト:false。", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.proxy_url": "グローバルアーティファクトマニフェストのダウンロード時に使用するプロキシサーバー。デフォルト:なし", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.public_key": "グローバルアーチファクトマニフェスト署名を検証するために使用される PEM 暗号化公開鍵。", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.user.ca_cert": "Fleet Server認証局のPEM暗号化証明書。", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.user.proxy_disable": "ユーザーアーティファクトマニフェストのダウンロード時にプロキシ設定を使用するかどうか。デフォルト:false。", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.user.proxy_url": "ユーザーアーティファクトマニフェストのダウンロード時に使用するプロキシサーバー。デフォルト:なし", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.user.public_key": "ユーザーアーチファクトマニフェスト署名を検証するために使用される PEM 暗号化公開鍵。", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.diagnostic.enabled": "「false」の値は、エンドポイントで診断機能の実行が無効になります。デフォルト:true", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.diagnostic.rollback_telemetry_enabled": "診断ロールバックテレメトリを有効にします。デフォルト:true", @@ -31491,6 +32791,12 @@ "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.elasticsearch.tls.verify_hostname": "ピアのホスト名が証明書で定義されていることを検証するかどうか。デフォルト:true", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.elasticsearch.tls.verify_peer": "ピアが提示した証明書を検証するかどうか。デフォルト:true", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.event_filter.default": "Elasticからデフォルトのイベントフィルタールールをダウンロードします。 デフォルト:true", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.api": "APIイベントを有効にするかどうかを制御します。APIイベント収集を無効にするにはfalseを設定します。デフォルト:true", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.callstacks.emit_in_events": "設定されている場合、コールスタックは、それらが収集される通常のイベントに含まれます。そうでない場合は、行動保護ルールのトリガーとなるイベントにのみ含まれます。これを設定すると、データ量が大幅に増える可能性があります。デフォルト:false。", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.callstacks.file": "ファイルイベント中にコールスタックを収集しますか? デフォルト:true", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.callstacks.image_load": "画像/ライブラリの読み込みイベント中にコールスタックを収集しますか? デフォルト:true", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.callstacks.process": "プロセスイベント中にコールスタックを収集しますか? デフォルト:true", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.callstacks.registry": "レジストリイベント中にコールスタックを収集しますか? デフォルト:true", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.etw": "ETWイベントの収集を有効にします。デフォルト:true", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.kernel.asyncimageload": "「false」の値は、カーネル非同期イメージ読み込みイベントを有効にする他の構成設定を上書きします。デフォルト:true", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.kernel.connect": "カーネルドライバーに接続するかどうか。デフォルト:true", @@ -31760,10 +33066,19 @@ "xpack.securitySolution.endpointActionResponseCodes.killProcess.notPermittedSuccess": "指定されたプロセスを終了できません", "xpack.securitySolution.endpointActionResponseCodes.suspendProcess.notFoundError": "指定されたプロセスが見つかりませんでした", "xpack.securitySolution.endpointActionResponseCodes.suspendProcess.notPermittedSuccess": "指定されたプロセスを一時停止できません", + "xpack.securitySolution.endpointActionResponseCodes.upload.failure": "アップロード失敗", + "xpack.securitySolution.endpointActionResponseCodes.upload.fileAccessForbidden": "ファイルを取得できませんでした。アクセスが禁止されている(403)か、許可されていません(401)", + "xpack.securitySolution.endpointActionResponseCodes.upload.fileAlreadyExists": "この名前のファイルはすでに存在します。上書きする場合は、「--overwrite」引数を使用します", + "xpack.securitySolution.endpointActionResponseCodes.upload.fileCorruption": "ファイルのディスクへの保存または完全性の検証に失敗しました", + "xpack.securitySolution.endpointActionResponseCodes.upload.fileNotFound": "ファイルを取得できませんでした。ファイルが見つかりませんでした(404)", + "xpack.securitySolution.endpointActionResponseCodes.upload.fileTooLarge": "ファイルを保存できませんでした。サイズが許可された最大値を超えています", + "xpack.securitySolution.endpointActionResponseCodes.upload.timeout": "タイムアウトのため、ファイルの取得に失敗しました", "xpack.securitySolution.endpointConsoleCommands.emptyArgumentMessage": "引数を空にすることはできません", "xpack.securitySolution.endpointConsoleCommands.entityId.arg.comment": "終了するプロセスを表すエンティティID", "xpack.securitySolution.endpointConsoleCommands.execute.about": "ホストでコマンドを実行", - "xpack.securitySolution.endpointConsoleCommands.execute.args.command.about": "実行するコマンド", + "xpack.securitySolution.endpointConsoleCommands.execute.args.command.about": "実行するコマンド。", + "xpack.securitySolution.endpointConsoleCommands.execute.args.command.aboutConsecutiveDashes": "入力された値に連続する複数のダッシュがある場合はエスケープする必要があります。例:", + "xpack.securitySolution.endpointConsoleCommands.execute.args.command.aboutQuotes": "値で指定された引用符は、エスケープせずに使用できます。例:", "xpack.securitySolution.endpointConsoleCommands.execute.args.timeout.about": "エンドポイントがスクリプトの完了まで待機する際のタイムアウトの時間単位(h:時間、m:分、s:秒)。例:37m指定されていない場合は、デフォルトの4時間です。", "xpack.securitySolution.endpointConsoleCommands.getFile.about": "ホストからファイルを取得", "xpack.securitySolution.endpointConsoleCommands.getFile.pathArgAbout": "取得する完全ファイルパス", @@ -31781,6 +33096,9 @@ "xpack.securitySolution.endpointConsoleCommands.suspendProcess.entityId.arg.comment": "一時停止するプロセスを表すエンティティID", "xpack.securitySolution.endpointConsoleCommands.suspendProcess.pid.arg.comment": "一時停止するプロセスを表すPID", "xpack.securitySolution.endpointConsoleCommands.suspendProcess.unsupportedCommandInfo": "このバージョンのエンドポイントはこのコマンドをサポートしていません。最新の対応アクションを使用するには、Fleetでエージェントをアップグレードしてください。", + "xpack.securitySolution.endpointConsoleCommands.upload.about": "ファイルをホストにアップロード", + "xpack.securitySolution.endpointConsoleCommands.upload.args.file.about": "ホストに送信されるファイル", + "xpack.securitySolution.endpointConsoleCommands.upload.args.overwrite.about": "ホストにファイルがすでに存在する場合は上書き", "xpack.securitySolution.endpointDetails.activityLog.logEntry.action.endOfLog": "表示する情報がありません", "xpack.securitySolution.endpointDetails.activityLog.logEntry.action.failedEndpointIsolateAction": "要求を送信できませんでした。ホストの分離", "xpack.securitySolution.endpointDetails.activityLog.logEntry.action.failedEndpointReleaseAction": "要求を送信できませんでした。ホストのリリース", @@ -31820,9 +33138,15 @@ "xpack.securitySolution.endpointResponseActionsConsoleCommands.enterOrAddOptionalComment": "Enterを押して実行するか、任意のコメントを入力します", "xpack.securitySolution.endpointResponseActionsConsoleCommands.enterPidOrEntityId": "実行するPIDまたはエンティティIDを入力", "xpack.securitySolution.endpointsTab": "エンドポイント", + "xpack.securitySolution.endpointUploadActionResult.freeDiskSpace": "ドライブの空きディスク容量", + "xpack.securitySolution.endpointUploadActionResult.host": "ホスト", + "xpack.securitySolution.endpointUploadActionResult.missingAgentResult": "エラー:エージェントの結果がありません", + "xpack.securitySolution.endpointUploadActionResult.pendingMessage": "アクションが保留中です。", + "xpack.securitySolution.endpointUploadActionResult.savedTo": "ファイルの保存先", "xpack.securitySolution.enpdoint.resolver.panelutils.invaliddate": "無効な日付", "xpack.securitySolution.enpdoint.resolver.panelutils.noTimestampRetrieved": "タイムスタンプが取得されていません", "xpack.securitySolution.entityAnalytics.anomalies.anomaliesTitle": "異常", + "xpack.securitySolution.entityAnalytics.anomalies.anomaliesTooltip": "異常表はSIEMグローバルKQL検索でフィルタリングできません。", "xpack.securitySolution.entityAnalytics.anomalies.anomalyCount": "カウント", "xpack.securitySolution.entityAnalytics.anomalies.AnomalyDetectionDocsTitle": "機械学習を使用した異常検知", "xpack.securitySolution.entityAnalytics.anomalies.anomalyName": "異常名", @@ -31840,7 +33164,10 @@ "xpack.securitySolution.entityAnalytics.hostsRiskDashboard.hostsTableTooltip": "ホストリスク表は時間範囲の影響を受けません。この表は、各ホストの最後に記録されたリスクスコアを示します。", "xpack.securitySolution.entityAnalytics.hostsRiskDashboard.title": "ホストリスクスコア", "xpack.securitySolution.entityAnalytics.pageDesc": "Entity Analyticsを使用して、ネットワーク内のユーザーとホストから脅威を検出", + "xpack.securitySolution.entityAnalytics.riskDashboard.hostsTableTooltip": "ホストリスクスコアパネルには、リスクのあるホストの一覧と最新のリスクスコアが表示されます。KQL検索バーのグローバルフィルターを使って、この一覧をフィルタリングできます。時間範囲ピッカーフィルターは、選択した時間範囲内のアラートのみを表示し、リスクのあるホストの一覧をフィルタリングしません。", "xpack.securitySolution.entityAnalytics.riskDashboard.learnMore": "詳細", + "xpack.securitySolution.entityAnalytics.riskDashboard.tableTooltipTitle": "テクニカルプレビュー", + "xpack.securitySolution.entityAnalytics.riskDashboard.usersTableTooltip": "ユーザーリスクスコアパネルには、リスクのあるユーザーの一覧と最新のリスクスコアが表示されます。KQL検索バーのグローバルフィルターを使って、この一覧をフィルタリングできます。時間範囲ピッカーフィルターは、選択した時間範囲内のアラートのみを表示し、リスクのあるユーザーの一覧をフィルタリングしません。", "xpack.securitySolution.entityAnalytics.riskDashboard.viewAllLabel": "すべて表示", "xpack.securitySolution.entityAnalytics.technicalPreviewLabel": "テクニカルプレビュー", "xpack.securitySolution.entityAnalytics.totalLabel": "合計", @@ -31863,8 +33190,11 @@ "xpack.securitySolution.eventDetails.multiFieldBadge": "複数フィールド", "xpack.securitySolution.eventDetails.multiFieldTooltipContent": "複数フィールドにはフィールドごとに複数の値を入力できます", "xpack.securitySolution.eventDetails.osqueryView": "Osquery結果", + "xpack.securitySolution.eventDetails.responseActionsView": "対応の結果", + "xpack.securitySolution.eventDetails.summaryView": "まとめ", "xpack.securitySolution.eventDetails.table": "表", "xpack.securitySolution.eventDetails.table.actions": "アクション", + "xpack.securitySolution.eventDetails.timelineView": "Timeline", "xpack.securitySolution.eventDetails.value": "値", "xpack.securitySolution.eventDetails.viewAllFields": "テーブルのすべてのフィールドを表示", "xpack.securitySolution.eventFilter.form.description.placeholder": "説明", @@ -32068,6 +33398,7 @@ "xpack.securitySolution.expandedValue.links.viewRuleReference": "ルール参照を表示", "xpack.securitySolution.expandedValue.links.viewUserSummary": "ユーザー概要を表示", "xpack.securitySolution.expandedValue.showTopN.showTopValues": "上位の値を表示", + "xpack.securitySolution.explore.landing.pageTitle": "探索", "xpack.securitySolution.featureCatalogueDescription": "インフラストラクチャー全体の統合保護のため、脅威を防止、収集、検出し、それに対応します。", "xpack.securitySolution.featureRegistry.deleteSubFeatureDetails": "ケースとコメントを削除", "xpack.securitySolution.featureRegistry.deleteSubFeatureName": "削除", @@ -32152,13 +33483,19 @@ "xpack.securitySolution.fleetIntegration.elasticDefend.eventFilter.nonInteractiveSessions.name": "非インタラクティブセッション", "xpack.securitySolution.flyout.analyzerErrorMessage": "アナライザー", "xpack.securitySolution.flyout.button.timeline": "タイムライン", + "xpack.securitySolution.flyout.correlations.caseNameColumnTitle": "名前", + "xpack.securitySolution.flyout.correlations.reasonColumnTitle": "理由", + "xpack.securitySolution.flyout.correlations.ruleColumnTitle": "ルール", + "xpack.securitySolution.flyout.correlations.severityColumnTitle": "深刻度", + "xpack.securitySolution.flyout.correlations.statusColumnTitle": "ステータス", + "xpack.securitySolution.flyout.correlations.timestampColumnTitle": "タイムスタンプ", "xpack.securitySolution.flyout.documentDetails.alertReasonTitle": "アラートの理由", "xpack.securitySolution.flyout.documentDetails.analyzerGraphButton": "アナライザーグラフ", "xpack.securitySolution.flyout.documentDetails.analyzerPreviewText": "アナライザープレビュー。", "xpack.securitySolution.flyout.documentDetails.analyzerPreviewTitle": "アナライザープレビュー", "xpack.securitySolution.flyout.documentDetails.collapseDetailButton": "アラート詳細を折りたたむ", "xpack.securitySolution.flyout.documentDetails.correlationsButton": "相関関係", - "xpack.securitySolution.flyout.documentDetails.aboutTitle": "説明", + "xpack.securitySolution.flyout.documentDetails.correlationsTitle": "相関関係", "xpack.securitySolution.flyout.documentDetails.documentDescriptionCollapseButton": "縮小", "xpack.securitySolution.flyout.documentDetails.documentDescriptionExpandButton": "拡張", "xpack.securitySolution.flyout.documentDetails.documentDescriptionTitle": "ドキュメント説明", @@ -32171,31 +33508,73 @@ "xpack.securitySolution.flyout.documentDetails.insightsOptions": "インサイトオプション", "xpack.securitySolution.flyout.documentDetails.insightsTab": "インサイト", "xpack.securitySolution.flyout.documentDetails.insightsTitle": "インサイト", + "xpack.securitySolution.flyout.documentDetails.investigationGuideText": "調査ガイド", "xpack.securitySolution.flyout.documentDetails.investigationSectionTitle": "調査", "xpack.securitySolution.flyout.documentDetails.investigationsTab": "調査", "xpack.securitySolution.flyout.documentDetails.jsonTab": "JSON", "xpack.securitySolution.flyout.documentDetails.overviewTab": "概要", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.ancestryAlert": "上位項目に関連するアラート", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.ancestryAlerts": "上位項目に関連するアラート", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.relatedCase": "関連するケース", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.relatedCases": "関連するケース", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.sameSessionAlert": "セッションに関連するアラート", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.sameSessionAlerts": "セッションに関連するアラート", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.sameSourceEventAlert": "同じソースイベントに関連するアラート", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.sameSourceEventAlerts": "同じソースイベントに関連するアラート", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlationsText": "相関のフィールド", "xpack.securitySolution.flyout.documentDetails.overviewTab.entitiesText": "エンティティ", + "xpack.securitySolution.flyout.documentDetails.overviewTab.prevalenceRowText": "共通しない", + "xpack.securitySolution.flyout.documentDetails.overviewTab.prevalenceText": "発生率のフィールド", "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatEnrichment": "脅威インテリジェンスで拡張されたフィールド", "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatEnrichments": "脅威インテリジェンスで拡張されたフィールド", "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatMatch": "脅威一致が検出されました", "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatMatches": "脅威一致が検出されました", "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligenceText": "脅威インテリジェンスのフィールド", "xpack.securitySolution.flyout.documentDetails.prevalenceButton": "発生率", + "xpack.securitySolution.flyout.documentDetails.prevalenceTitle": "発生率", + "xpack.securitySolution.flyout.documentDetails.responseButton": "応答", "xpack.securitySolution.flyout.documentDetails.riskScoreTitle": "リスクスコア", "xpack.securitySolution.flyout.documentDetails.ruleDescriptionTitle": "ルールの説明", + "xpack.securitySolution.flyout.documentDetails.sessionPreview.commandText": "グループ基準", + "xpack.securitySolution.flyout.documentDetails.sessionPreview.processText": "開始済み", + "xpack.securitySolution.flyout.documentDetails.sessionPreview.ruleText": "ルールがある", + "xpack.securitySolution.flyout.documentDetails.sessionPreview.timeText": "に", + "xpack.securitySolution.flyout.documentDetails.sessionPreview.title": "セッションビューアープレビュー", "xpack.securitySolution.flyout.documentDetails.sessionViewButton": "セッションビュー", "xpack.securitySolution.flyout.documentDetails.severityTitle": "深刻度", + "xpack.securitySolution.flyout.documentDetails.share": "アラートを共有", "xpack.securitySolution.flyout.documentDetails.tableTab": "表", "xpack.securitySolution.flyout.documentDetails.technicalPreviewMessage": "この機能はテクニカルプレビュー中であり、将来のリリースでは変更されたり完全に削除されたりする場合があります。Elasticは最善の努力を講じてすべての問題の修正に努めますが、テクニカルプレビュー中の機能には正式なGA機能のサポートSLAが適用されません。", "xpack.securitySolution.flyout.documentDetails.technicalPreviewTitle": "テクニカルプレビュー", "xpack.securitySolution.flyout.documentDetails.threatIntelligenceButton": "脅威インテリジェンス", "xpack.securitySolution.flyout.documentDetails.threatIntelligenceTitle": "脅威インテリジェンス", + "xpack.securitySolution.flyout.documentDetails.viewRuleText": "ルールを表示", "xpack.securitySolution.flyout.documentDetails.visualizationsTitle": "ビジュアライゼーション", "xpack.securitySolution.flyout.documentDetails.visualizeOptions": "Visualizeオプション", "xpack.securitySolution.flyout.documentDetails.visualizeTab": "可視化", "xpack.securitySolution.flyout.documentErrorMessage": "ドキュメントフィールドおよび値", "xpack.securitySolution.flyout.documentErrorTitle": "ドキュメント情報", + "xpack.securitySolution.flyout.entities.failRelatedHostsDescription": "関連するホストで検索を実行できませんでした", + "xpack.securitySolution.flyout.entities.failRelatedUsersDescription": "関連するユーザーで検索を実行できませんでした", + "xpack.securitySolution.flyout.entities.hostsInfoTitle": "ホスト情報", + "xpack.securitySolution.flyout.entities.hostsTitle": "ホスト", + "xpack.securitySolution.flyout.entities.relatedEntitiesIpColumn": "IPアドレス", + "xpack.securitySolution.flyout.entities.relatedEntitiesNameColumn": "名前", + "xpack.securitySolution.flyout.entities.relatedHostsTitle": "関連するホスト", + "xpack.securitySolution.flyout.entities.relatedHostsToolTip": "アラート後、ユーザーはこれらのホストへの認証に成功しました。", + "xpack.securitySolution.flyout.entities.relatedUsersTitle": "関連するユーザー", + "xpack.securitySolution.flyout.entities.relatedUsersToolTip": "アラート後、ユーザーは影響を受けるホストへの認証に成功しました。", + "xpack.securitySolution.flyout.entities.usersInfoTitle": "ユーザー情報", + "xpack.securitySolution.flyout.entities.usersTitle": "ユーザー", + "xpack.securitySolution.flyout.prevalenceErrorMessage": "発生率", + "xpack.securitySolution.flyout.prevalenceTableAlertCountColumnTitle": "アラート件数", + "xpack.securitySolution.flyout.prevalenceTableDocCountColumnTitle": "ドキュメントカウント", + "xpack.securitySolution.flyout.prevalenceTableHostPrevalenceColumnTitle": "ホスト発生率", + "xpack.securitySolution.flyout.prevalenceTableNameColumnTitle": "名前", + "xpack.securitySolution.flyout.prevalenceTableTypeColumnTitle": "型", + "xpack.securitySolution.flyout.prevalenceTableUserPrevalenceColumnTitle": "ユーザー発生率", + "xpack.securitySolution.flyout.response.empty": "このイベントに対する対応アクションは定義されていません。", + "xpack.securitySolution.flyout.response.title": "対応", "xpack.securitySolution.flyout.sessionViewErrorMessage": "セッションビュー", "xpack.securitySolution.footer.autoRefreshActiveDescription": "自動更新アクション", "xpack.securitySolution.footer.cancel": "キャンセル", @@ -32424,12 +33803,12 @@ "xpack.securitySolution.kpiUsers.totalUsers.errorSearchDescription": "統計ユーザーKPI検索でエラーが発生しました", "xpack.securitySolution.kpiUsers.totalUsers.title": "ユーザー", "xpack.securitySolution.kubernetes.columnContainer": "コンテナー", - "xpack.securitySolution.kubernetes.columnEntryUser": "セッションエントリユーザー", - "xpack.securitySolution.kubernetes.columnExecutable": "セッションリーダー", + "xpack.securitySolution.kubernetes.columnEntryUser": "ユーザーID", + "xpack.securitySolution.kubernetes.columnExecutable": "実行ファイル", "xpack.securitySolution.kubernetes.columnInteractive": "インタラクティブ", "xpack.securitySolution.kubernetes.columnNode": "ノード", "xpack.securitySolution.kubernetes.columnPod": "ポッド", - "xpack.securitySolution.kubernetes.columnSessionStart": "データが接続されました", + "xpack.securitySolution.kubernetes.columnSessionStart": "開始日", "xpack.securitySolution.landing.threatHunting.hostsDescription": "すべてのホストとホスト関連のセキュリティイベントに関する包括的な概要。", "xpack.securitySolution.lastEventTime.errorSearchDescription": "前回のイベント時刻検索でエラーが発生しました。", "xpack.securitySolution.lastEventTime.failSearchDescription": "前回のイベント時刻で検索を実行できませんでした", @@ -32447,7 +33826,7 @@ "xpack.securitySolution.lists.referenceModalCancelButton": "キャンセル", "xpack.securitySolution.lists.referenceModalDeleteButton": "値リストの削除", "xpack.securitySolution.lists.referenceModalTitle": "値リストの削除", - "xpack.securitySolution.lists.uploadValueListPrompt": "ファイルを選択するかドラッグ &amp; ドロップしてください", + "xpack.securitySolution.lists.uploadValueListPrompt": "ファイルを選択するかドラッグ&ドロップしてください", "xpack.securitySolution.lists.valueListImportButton": "値リストのインポート", "xpack.securitySolution.lists.valueListsExportError": "値リストのエクスポート中にエラーが発生しました。", "xpack.securitySolution.lists.valueListsForm.ipRadioLabel": "IP アドレス", @@ -32483,6 +33862,9 @@ "xpack.securitySolution.markdown.insight.modalCancelButtonLabel": "キャンセル", "xpack.securitySolution.markdown.insight.relativeTimerange": "相対的時間範囲", "xpack.securitySolution.markdown.insight.relativeTimerangeText": "アラートの作成日時に相対的な、クエリを限定するための時間範囲を選択します(任意)。", + "xpack.securitySolution.markdown.insight.title": "調査", + "xpack.securitySolution.markdown.insight.upsell": "プラチナにアップグレードして、調査ガイドのインサイトを利用", + "xpack.securitySolution.markdown.invalid": "無効なマークダウンが検出されました", "xpack.securitySolution.markdown.osquery.addModalConfirmButtonLabel": "クエリを追加", "xpack.securitySolution.markdown.osquery.addModalTitle": "クエリを追加", "xpack.securitySolution.markdown.osquery.editModalConfirmButtonLabel": "変更を保存", @@ -32491,6 +33873,8 @@ "xpack.securitySolution.markdown.osquery.modalCancelButtonLabel": "キャンセル", "xpack.securitySolution.markdown.osquery.permissionDenied": "パーミッションが拒否されました", "xpack.securitySolution.markdown.osquery.runOsqueryButtonLabel": "Osqueryの実行", + "xpack.securitySolution.markdown.platinumWarning": "以下のマークダウンは、サブスクリプション機能を使用する場合があります", + "xpack.securitySolution.markdown.premiumPluginLinkSuffix": "試用版を開始するか、サブスクリプションをアップグレード", "xpack.securitySolution.markdownEditor.plugins.insightProviderError": "インサイトプロバイダー構成を解析できません", "xpack.securitySolution.markdownEditor.plugins.timeline.insertTimelineButtonLabel": "タイムラインリンクの挿入", "xpack.securitySolution.markdownEditor.plugins.timeline.noParenthesesErrorMsg": "想定される左括弧", @@ -32524,6 +33908,7 @@ "xpack.securitySolution.modalAllErrors.close.button": "閉じる", "xpack.securitySolution.modalAllErrors.seeAllErrors.button": "完全なエラーを表示", "xpack.securitySolution.modalAllErrors.title": "ビジュアライゼーションにエラーがあります", + "xpack.securitySolution.navigation.addRules": "ルールの追加", "xpack.securitySolution.navigation.administration": "管理", "xpack.securitySolution.navigation.administration.policies": "ポリシー", "xpack.securitySolution.navigation.alerts": "アラート", @@ -32848,6 +34233,7 @@ "xpack.securitySolution.responder.hostOffline.callout.title": "オフラインのホスト", "xpack.securitySolution.responder.missingEncryptionKey.callout.dismissButton.label": "閉じる", "xpack.securitySolution.responder.missingEncryptionKey.callout.title": "暗号化鍵を設定", + "xpack.securitySolution.responder.missingEncryptionKey.docsLink": "詳細", "xpack.securitySolution.responseActionExecuteAccordion.currentWorkingDirectory": "実行元", "xpack.securitySolution.responseActionExecuteAccordion.errorButtonTextRegular": "実行エラー", "xpack.securitySolution.responseActionExecuteAccordion.errorButtonTextTruncated": "実行エラー(切り詰め)", @@ -32861,8 +34247,12 @@ "xpack.securitySolution.responseActionFileDownloadLink.downloadButtonLabel": "ここをクリックすると、ダウンロードします", "xpack.securitySolution.responseActionFileDownloadLink.fileNoLongerAvailable": "ファイルが有効期限切れであり、ダウンロードできません。", "xpack.securitySolution.responseActionFileDownloadLink.fileTruncated": "ファイルのサイズ制限のため、提供されるzipファイルの出力データは切り詰められます。", - "xpack.securitySolution.responseActions.endpoint.commandLabel": "コマンド", + "xpack.securitySolution.responseActions.endpoint.commandLabel": "対応アクション", + "xpack.securitySolution.responseActions.endpoint.commentDescription": "アクションについての説明やメモを残してください。自分のコメントは、対応アクションの履歴ログで確認できます。", "xpack.securitySolution.responseActions.endpoint.commentLabel": "コメント(任意)", + "xpack.securitySolution.responseActions.endpoint.commentLearnMore": "詳細", + "xpack.securitySolution.responseActions.endpoint.isolate": "分離", + "xpack.securitySolution.responseActions.endpoint.isolateDescription": "ホストをネットワークから隔離して、脅威のさらなる拡散を防ぎ、潜在的な被害を抑える", "xpack.securitySolution.responseActions.endpoint.validations.commandIsRequiredErrorMessage": "コマンドは必須です。", "xpack.securitySolution.responseActionsHistory.empty.content": "対応アクションログは実行されません", "xpack.securitySolution.responseActionsHistory.empty.link": "対応アクションの詳細を読む", @@ -32871,15 +34261,22 @@ "xpack.securitySolution.responseActionsList.addButton": "追加", "xpack.securitySolution.responseActionsList.empty.body": "検索内容またはフィルターセットを変更してください", "xpack.securitySolution.responseActionsList.empty.title": "検索条件と一致する結果がありません。", + "xpack.securitySolution.responseActionsList.endpoint.cautionDescription": "このホストを解放するまで、ネットワーク上の他のホストとの通信を自動的にブロックすることが確実な場合のみ、このオプションを選択してください。", + "xpack.securitySolution.responseActionsList.endpoint.cautionTitle": "十分ご注意ください", + "xpack.securitySolution.responseActionsList.error.hostNotEnrolled": "ホストにはElastic Defend統合がインストールされていません", + "xpack.securitySolution.responseActionsList.error.licenseTooLow": "対応アクションを使用するには、少なくともEnterpriseライセンスが必要です。", "xpack.securitySolution.responseActionsList.list.command": "コマンド", "xpack.securitySolution.responseActionsList.list.comments": "コメント", "xpack.securitySolution.responseActionsList.list.errorMessage": "応答アクションの取得エラー", "xpack.securitySolution.responseActionsList.list.expandButton.collapse": "縮小", "xpack.securitySolution.responseActionsList.list.expandButton.expand": "拡張", "xpack.securitySolution.responseActionsList.list.filter.actions": "アクション", + "xpack.securitySolution.responseActionsList.list.filter.automated": "ルールによってトリガー済み", "xpack.securitySolution.responseActionsList.list.filter.clearAll": "すべて消去", "xpack.securitySolution.responseActionsList.list.filter.Hosts": "ホスト", + "xpack.securitySolution.responseActionsList.list.filter.manual": "手動でトリガー済み", "xpack.securitySolution.responseActionsList.list.filter.statuses": "ステータス", + "xpack.securitySolution.responseActionsList.list.filter.type": "型", "xpack.securitySolution.responseActionsList.list.filter.users": "ユーザー名でフィルター", "xpack.securitySolution.responseActionsList.list.hosts": "ホスト", "xpack.securitySolution.responseActionsList.list.item.badge.failed": "失敗", @@ -32887,6 +34284,7 @@ "xpack.securitySolution.responseActionsList.list.item.badge.successful": "成功", "xpack.securitySolution.responseActionsList.list.item.expandSection.comment": "コメント", "xpack.securitySolution.responseActionsList.list.item.expandSection.completedAt": "実行が完了しました", + "xpack.securitySolution.responseActionsList.list.item.expandSection.hostname": "ホスト名", "xpack.securitySolution.responseActionsList.list.item.expandSection.input": "インプット", "xpack.securitySolution.responseActionsList.list.item.expandSection.output": "アウトプット", "xpack.securitySolution.responseActionsList.list.item.expandSection.parameters": "パラメーター", @@ -32920,7 +34318,7 @@ "xpack.securitySolution.riskScore.errorSearchDescription": "リスクスコア検索でエラーが発生しました", "xpack.securitySolution.riskScore.failSearchDescription": "リスクスコアで検索を実行できませんでした", "xpack.securitySolution.riskScore.hostRiskScoresEnabledTitle": "ホストリスクスコア有効", - "xpack.securitySolution.riskScore.hostsDashboardWarningPanelBody": "環境内のホストからはホストリスクスコアデータが検出されませんでした。モジュールを有効化した後、データの生成までに1時間かかる場合があります。", + "xpack.securitySolution.riskScore.hostsDashboardWarningPanelBody": "ホストリスクスコアデータが見つかりません。グローバルKQL検索バーにグローバルフィルターがあるかどうかを確認してください。ホストリスクモジュールを有効にしたばかりの場合は、リスクエンジンがホストリスクスコアデータを生成し、このパネルに表示するまでに1時間かかることがあります。", "xpack.securitySolution.riskScore.hostsDashboardWarningPanelTitle": "表示するホストリスクスコアデータがありません", "xpack.securitySolution.riskScore.install.errorMessageTitle": "インストールエラー", "xpack.securitySolution.riskScore.kpi.failSearchDescription": "リスクスコアで検索を実行できませんでした", @@ -32939,7 +34337,7 @@ "xpack.securitySolution.riskScore.upgradeConfirmation.content": "アップグレードを実行すると、既存のリスクスコアが環境から削除されます。既存のリスクデータを保持するには、リスクスコアパッケージをアップグレードしてください。アップグレードしますか?", "xpack.securitySolution.riskScore.userRiskScoresEnabledTitle": "ユーザーリスクスコア有効", "xpack.securitySolution.riskScore.usersDashboardRestartTooltip": "リスクスコア計算の実行には少し時間がかかる場合があります。ただし、再起動を押すと、すぐに強制的に実行できます。", - "xpack.securitySolution.riskScore.usersDashboardWarningPanelBody": "環境内のユーザーからはユーザーリスクスコアデータが検出されませんでした。モジュールを有効化した後、データの生成までに1時間かかる場合があります。", + "xpack.securitySolution.riskScore.usersDashboardWarningPanelBody": "ユーザーリスクスコアデータが見つかりません。グローバルKQL検索バーにグローバルフィルターがあるかどうかを確認してください。ユーザーリスクモジュールを有効にしたばかりの場合は、リスクエンジンがユーザーリスクスコアデータを生成し、このパネルに表示するまでに1時間かかることがあります。", "xpack.securitySolution.riskScore.usersDashboardWarningPanelTitle": "表示するユーザーリスクスコアデータがありません", "xpack.securitySolution.riskTabBody.viewDashboardButtonLabel": "ソースダッシュボードを表示", "xpack.securitySolution.rowRenderer.executedProcessDescription": "実行されたプロセス", @@ -33288,6 +34686,7 @@ "xpack.securitySolution.timeline.tabs.notesTabTimelineTitle": "メモ", "xpack.securitySolution.timeline.tabs.pinnedTabTimelineTitle": "ピン付け済み", "xpack.securitySolution.timeline.tabs.queyTabTimelineTitle": "クエリ", + "xpack.securitySolution.timeline.tabs.securityAssistantTimelineTitle": "セキュリティアシスタント", "xpack.securitySolution.timeline.tabs.sessionTabTimelineTitle": "セッションビュー", "xpack.securitySolution.timeline.tcp": "TCP", "xpack.securitySolution.timeline.toggleEventDetailsTitle": "イベントの詳細を展開", @@ -33396,6 +34795,7 @@ "xpack.securitySolution.trustedapps.trustedapp.entry.operator": "演算子", "xpack.securitySolution.trustedapps.trustedapp.entry.value": "値", "xpack.securitySolution.trustedAppsTab": "信頼できるアプリケーション", + "xpack.securitySolution.uiSettings.defaultAlertTagsLabel": "アラートタグオプション", "xpack.securitySolution.uiSettings.defaultAnomalyScoreLabel": "デフォルトの異常しきい値", "xpack.securitySolution.uiSettings.defaultIndexLabel": "デフォルトのインデックス", "xpack.securitySolution.uiSettings.defaultRefreshIntervalLabel": "タイムピッカーの更新間隔", @@ -33481,6 +34881,120 @@ "xpack.securitySolution.zeek.sfDescription": "通常のSYN/FIN完了", "xpack.securitySolution.zeek.shDescription": "接続元がFINに続きSYNを送信しました。レスポンダーからSYN-ACKはありません", "xpack.securitySolution.zeek.shrDescription": "レスポンダーがFINに続きSYNを送信しました。接続元からSYN-ACKはありません", + "xpack.serverlessSearch.apiKey.activeKeys": "{number}個のアクティブなキーがあります。", + "xpack.serverlessSearch.apiKey.expiresHelpText": "このAPIキーは{expirationDate}に有効期限切れになります", + "xpack.serverlessSearch.header.greeting.title": "{name}様", + "xpack.serverlessSearch.ingestData.clientDocLink": "{languageName}APIリファレンス", + "xpack.serverlessSearch.installClient.clientDocLink": "{languageName}クライアントドキュメント", + "xpack.serverlessSearch.selectClient.description": "Elasticは複数の一般的な言語でクライアントを構築および保守します。Elasticのコミュニティはさらに多くを提供しています。お気に入りの言語クライアントを選択するか、{console}を起動して開始します。", + "xpack.serverlessSearch.apiCallout.content": "Consoleを使用すると、言語クライアントをインストールせずに、ElasticsearchとKibanaのREST APIを直接呼び出すことができます。", + "xpack.serverlessSearch.apiCallOut.title": "コンソールでAPIを呼び出し", + "xpack.serverlessSearch.apiKey.apiKeyStepDescription": "このキーは一度しか表示されないため、安全な場所に保存しておいてください。当社はお客様のAPIキーを保存しません。キーを紛失した場合は、代替キーを生成する必要があります。", + "xpack.serverlessSearch.apiKey.apiKeyStepTitle": "このAPIキーを保存", + "xpack.serverlessSearch.apiKey.description": "Elasticsearchプロジェクトに安全に接続するには、これらの一意の識別子が必要です。", + "xpack.serverlessSearch.apiKey.expiresField.daysLabel": "日", + "xpack.serverlessSearch.apiKey.expiresField.neverLabel": "なし", + "xpack.serverlessSearch.apiKey.expiresFieldHelpText": "APIキーは定期的にローテーションしてください。", + "xpack.serverlessSearch.apiKey.expiresFieldLabel": "有効期限", + "xpack.serverlessSearch.apiKey.expiresFieldUnit": "日", + "xpack.serverlessSearch.apiKey.flyout.errorTitle": "APIキーの作成エラー", + "xpack.serverlessSearch.apiKey.flyOutCreateLabel": "APIキーを作成", + "xpack.serverlessSearch.apiKey.flyoutTitle": "APIキーを作成する", + "xpack.serverlessSearch.apiKey.manageLabel": "管理", + "xpack.serverlessSearch.apiKey.metadata.description": "設定可能なキーと値のペアを使用して、APIキーに関する情報を追加したり、Elasticsearchリソースへのアクセスをカスタマイズしたりします。", + "xpack.serverlessSearch.apiKey.metadata.title": "メタデータ", + "xpack.serverlessSearch.apiKey.metadataLinkLabel": "ロールメタデータを構成する方法", + "xpack.serverlessSearch.apiKey.nameFieldHelpText": "良い名前は、APIキーの目的を明確に示します。", + "xpack.serverlessSearch.apiKey.nameFieldLabel": "名前", + "xpack.serverlessSearch.apiKey.newButtonLabel": "新規", + "xpack.serverlessSearch.apiKey.privileges.description": "APIキーごとに定義済みのロールやカスタム権限を使用して、特定のElasticsearch APIやリソースへのアクセスを制御します。", + "xpack.serverlessSearch.apiKey.privileges.title": "セキュリティ権限", + "xpack.serverlessSearch.apiKey.roleDescriptorsLinkLabel": "ロール記述子を構造化する方法をご覧ください", + "xpack.serverlessSearch.apiKey.setup.description": "APIキーを作成するための基本構成詳細情報。", + "xpack.serverlessSearch.apiKey.setup.title": "セットアップ", + "xpack.serverlessSearch.apiKey.stepOneDescription": "認証と認可のための一意の識別子。", + "xpack.serverlessSearch.apiKey.stepOneTitle": "APIキーを生成して保存", + "xpack.serverlessSearch.apiKey.stepTwoDescription": "特定のプロジェクトの一意の識別子。", + "xpack.serverlessSearch.apiKey.stepTwoTitle": "一意のCloud IDを保存", + "xpack.serverlessSearch.apiKey.title": "APIキーとCloud IDを保存", + "xpack.serverlessSearch.apiKey.userFieldHelpText": "APIキーを作成するユーザーのID。", + "xpack.serverlessSearch.apiKey.userFieldLabel": "ユーザー", + "xpack.serverlessSearch.back": "戻る", + "xpack.serverlessSearch.cancel": "キャンセル", + "xpack.serverlessSearch.codeBox.copyButtonLabel": "コピー", + "xpack.serverlessSearch.codeBox.selectAriaLabel": "プログラミング言語を選択", + "xpack.serverlessSearch.configureClient.advancedConfigLabel": "高度な構成", + "xpack.serverlessSearch.configureClient.basicConfigLabel": "基本構成", + "xpack.serverlessSearch.configureClient.description": "一意のAPIキーとCloud IDでクライアントを初期化", + "xpack.serverlessSearch.configureClient.title": "クライアントを構成", + "xpack.serverlessSearch.disabled": "無効", + "xpack.serverlessSearch.enabled": "有効", + "xpack.serverlessSearch.footer.billing.title": "請求と使用状況", + "xpack.serverlessSearch.footer.community.title": "コミュニティに参加", + "xpack.serverlessSearch.footer.discoverCard.buttonText": "Discoverでデータを探索", + "xpack.serverlessSearch.footer.discoverCard.description": "Discoverを使えば、データをすばやく検索してフィルタリングし、フィールドの構造に関する情報を取得し、調査結果を可視化して表示できます。", + "xpack.serverlessSearch.footer.discoverCard.title": "Discoverでデータを探索して可視化", + "xpack.serverlessSearch.footer.feedback.title": "フィードバックを作成する", + "xpack.serverlessSearch.footer.inviteUsers.title": "その他のユーザーを招待", + "xpack.serverlessSearch.footer.pipelinesCard.buttonText": "インジェストパイプラインを構成", + "xpack.serverlessSearch.footer.pipelinesCard.description": "Elasticsearchでインデックス化する前にデータを前処理します。ELSERなどの機械学習モデルを使用して、フィールドを削除したり、テキストから値を抽出したり、データを強化したりします。", + "xpack.serverlessSearch.footer.pipelinesCard.title": "パイプラインを使用してデータを変換", + "xpack.serverlessSearch.footer.searchUI.buttonText": "Search UIで構築", + "xpack.serverlessSearch.footer.searchUI.description": "Search UIはElasticが管理している無料のオープンソースJavaScriptライブラリで、モダンで魅力的な検索エクスペリエンスをすばやく開発できます。", + "xpack.serverlessSearch.footer.searchUI.title": "Search UIでユーザーインターフェースを構築", + "xpack.serverlessSearch.footer.title": "次のステップ", + "xpack.serverlessSearch.githubLink.curl.label": "curl", + "xpack.serverlessSearch.githubLink.javascript.label": "elasticsearch", + "xpack.serverlessSearch.githubLink.ruby.label": "elasticsearch-ruby", + "xpack.serverlessSearch.header.description": "プログラミング言語のクライアントを設定し、データを取り込めば、数分で検索を開始できます。", + "xpack.serverlessSearch.header.title": "Elasticsearchをはじめよう", + "xpack.serverlessSearch.ingestData.beatsDescription": "Elasticsearch向けの軽量の、専用データ転送機能。Beatsを使用して、サーバーから運用データを送信します。", + "xpack.serverlessSearch.ingestData.beatsLink": "beats", + "xpack.serverlessSearch.ingestData.beatsTitle": "ビート", + "xpack.serverlessSearch.ingestData.connectorsDescription": "サードパーティのソースからElasticsearchにデータを同期するための特別な統合。Elasticコネクターを使って、さまざまなデータベースやオブジェクトストアからコンテンツを同期できます。", + "xpack.serverlessSearch.ingestData.connectorsPythonLink": "connectors-python", + "xpack.serverlessSearch.ingestData.connectorsTitle": "コネクタークライアント", + "xpack.serverlessSearch.ingestData.description": "データストリームやインデックスにデータを追加して、データを検索可能にします。アプリケーションとワークフローに合ったインジェスト方法を選択します。", + "xpack.serverlessSearch.ingestData.ingestApiDescription": "データをインデックス化する最も柔軟な方法で、カスタマイズや最適化オプションを完全に制御できます。", + "xpack.serverlessSearch.ingestData.ingestApiLabel": "API経由でインジェスト", + "xpack.serverlessSearch.ingestData.ingestIntegrationDescription": "データを変換してElasticsearchに送信するために最適化された専用のインジェストツール。", + "xpack.serverlessSearch.ingestData.ingestIntegrationLabel": "統合経由でインジェスト", + "xpack.serverlessSearch.ingestData.ingestLegendLabel": "インジェスチョン方法を選択", + "xpack.serverlessSearch.ingestData.integrationsLink": "統合について", + "xpack.serverlessSearch.ingestData.logstashDescription": "データストリームやインデックスにデータを追加して、データを検索可能にします。アプリケーションとワークフローに合ったインジェスト方法を選択します。", + "xpack.serverlessSearch.ingestData.logstashLink": "Logstash", + "xpack.serverlessSearch.ingestData.logstashTitle": "Logstash", + "xpack.serverlessSearch.ingestData.title": "データをインジェスト", + "xpack.serverlessSearch.installClient.description": "Elasticは複数の一般的な言語でクライアントを構築および保守します。Elasticのコミュニティはさらに多くを提供しています。開始するには、お気に入りの言語クライアントをインストールします。", + "xpack.serverlessSearch.installClient.title": "クライアントをインスト-ル", + "xpack.serverlessSearch.invalidJsonError": "無効なJSON", + "xpack.serverlessSearch.languages.cURL": "cURL", + "xpack.serverlessSearch.languages.javascript": "JavaScript / Node.js", + "xpack.serverlessSearch.languages.ruby": "Ruby", + "xpack.serverlessSearch.learnMore": "詳細", + "xpack.serverlessSearch.nav.content": "コンテンツ", + "xpack.serverlessSearch.nav.content.indexingApi": "インデックスAPI", + "xpack.serverlessSearch.nav.content.indices": "インデックス", + "xpack.serverlessSearch.nav.devTools": "開発ツール", + "xpack.serverlessSearch.nav.explore": "探索", + "xpack.serverlessSearch.nav.gettingStarted": "はじめて使う", + "xpack.serverlessSearch.nav.security": "セキュリティ", + "xpack.serverlessSearch.next": "次へ", + "xpack.serverlessSearch.optional": "オプション", + "xpack.serverlessSearch.required": "必須", + "xpack.serverlessSearch.searchQuery.description": "これで、Elasticsearchデータの検索や集約の実験を始める準備が整いました。", + "xpack.serverlessSearch.searchQuery.title": "最初の検索クエリを作成", + "xpack.serverlessSearch.selectClient.apiRequestConsoleDocLink": "コンソールでAPIリクエストを実行 ", + "xpack.serverlessSearch.selectClient.callout.description": "コンソールでは、REST APIを使用してすぐに開始できます。インストールは不要です。", + "xpack.serverlessSearch.selectClient.callout.link": "今すぐコンソールを試す", + "xpack.serverlessSearch.selectClient.callout.title": "今すぐコンソールで試す", + "xpack.serverlessSearch.selectClient.description.console.link": "コンソール", + "xpack.serverlessSearch.selectClient.elasticsearchClientDocLink": "Elasticsearchクライアント ", + "xpack.serverlessSearch.selectClient.heading": "1つ選択", + "xpack.serverlessSearch.selectClient.title": "クライアントを選択", + "xpack.serverlessSearch.testConnection.description": "テストリクエストを送信して、言語クライアントとElasticsearchインスタンスが起動し、実行中であることを確認してください。", + "xpack.serverlessSearch.testConnection.title": "接続をテスト", + "xpack.serverlessSearch.tryInConsoleButton": "コンソールで試す", "xpack.sessionView.alertFilteredCountStatusLabel": " {count}件のアラートを表示中", "xpack.sessionView.alertTotalCountStatusLabel": "{count}件のアラートを表示中", "xpack.sessionView.processTree.loadMore": "{pageSize}次のイベントを表示", @@ -33803,7 +35317,7 @@ "xpack.snapshotRestore.policyForm.stepLogistics.policyScheduleLabel": "スケジュール", "xpack.snapshotRestore.policyForm.stepLogistics.policySnapshotNameHelpTextDocLink": "詳細情報", "xpack.snapshotRestore.policyForm.stepLogistics.policySnapshotNameLabel": "スナップショット名", - "xpack.snapshotRestore.policyForm.stepLogistics.policySnapshotNamePlaceholder": "<daily-snap-\\{now d\\}>", + "xpack.snapshotRestore.policyForm.stepLogistics.policySnapshotNamePlaceholder": "", "xpack.snapshotRestore.policyForm.stepLogistics.repositoryDescription": "スナップショットを格納する際のレポジトリです。", "xpack.snapshotRestore.policyForm.stepLogistics.repositoryDescriptionTitle": "レポジトリ", "xpack.snapshotRestore.policyForm.stepLogistics.scheduleDescription": "スナップショットを撮影する頻度です。", @@ -34575,6 +36089,10 @@ "xpack.stackAlerts.esQuery.ui.thresholdHelp.duplicateMatches": "{excludePrevious}をオンにすると、クエリが複数回実行され、クエリとの一致が複数回出現するドキュメントは、最初のしきい値計算でのみ使用されます。", "xpack.stackAlerts.esQuery.ui.thresholdHelp.timeWindow": "時間枠は、検索する時間の範囲を示します。検出でのギャップを回避するには、この値を{checkField}フィールドで選択した値以上の値に設定します。", "xpack.stackAlerts.esQuery.ui.validation.error.invalidSizeRangeText": "サイズは0~{max, number}の範囲でなければなりません。", + "xpack.stackAlerts.geoContainment.adjustQuery": "クエリ\"{query}\"を調整し、ドキュメントと一致するようにします。", + "xpack.stackAlerts.geoContainment.boundariesFetchError": "追跡包含境界を取得できません。エラー:{error}", + "xpack.stackAlerts.geoContainment.entityContainmentFetchError": "エンティティコンテインメントを取得できません。エラー:{error}", + "xpack.stackAlerts.geoContainment.noBoundariesError": "追跡包含境界が見つかりません。インデックス\"{index}\"にドキュメントがあることを確認します。", "xpack.stackAlerts.geoContainment.noGeoFieldInIndexPattern.message": "データビューには許可された地理空間フィールドが含まれていません。{geoFields}型のいずれかが必要です。", "xpack.stackAlerts.indexThreshold.alertTypeContextSubjectTitle": "アラート{name}グループ{group}がしきい値を満たしました", "xpack.stackAlerts.indexThreshold.alertTypeRecoveryContextSubjectTitle": "アラート{name}グループ{group}が回復されました", @@ -34613,6 +36131,7 @@ "xpack.stackAlerts.esQuery.termFieldRequiredErrorMessage": "[termField]:[groupBy]がトップのときにはtermFieldが必要です", "xpack.stackAlerts.esQuery.termSizeRequiredErrorMessage": "[termSize]:[groupBy]がトップのときにはtermSizeが必要です", "xpack.stackAlerts.esQuery.ui.alertParams.fixErrorInExpressionBelowValidationMessage": "下の表現のエラーを修正してください。", + "xpack.stackAlerts.esQuery.ui.alertType.defaultActionMessage": "Elasticsearchクエリアラート'\\{\\{alertName\\}\\}'が有効です。\n\n- 値:\\{\\{context.value\\}\\}\n- 満たされた条件:\\{\\{context.conditions\\}\\} over \\{\\{params.timeWindowSize\\}\\}\\{\\{params.timeWindowUnit\\}\\}\n- タイムスタンプ:\\{\\{context.date\\}\\}\n- リンク:\\{\\{context.link\\}\\}", "xpack.stackAlerts.esQuery.ui.alertType.descriptionText": "前回のクエリ実行中に一致が見つかったときにアラートを発行します。", "xpack.stackAlerts.esQuery.ui.conditionsPrompt": "グループ、しきい値、時間枠を設定", "xpack.stackAlerts.esQuery.ui.copyQuery": "クエリをコピー", @@ -34708,6 +36227,7 @@ "xpack.stackAlerts.indexThreshold.actionVariableContextValueLabel": "しきい値を超えた値。", "xpack.stackAlerts.indexThreshold.alertTypeTitle": "インデックスしきい値", "xpack.stackAlerts.threshold.ui.alertParams.fixErrorInExpressionBelowValidationMessage": "下の表現のエラーを修正してください。", + "xpack.stackAlerts.threshold.ui.alertType.defaultActionMessage": "アラート '\\{\\{alertName\\}\\}' はグループ '\\{\\{context.group\\}\\}' でアクティブです:\n\n- 値:\\{\\{context.value\\}\\}\n- 満たされた条件:\\{\\{context.conditions\\}\\} over \\{\\{params.timeWindowSize\\}\\}\\{\\{params.timeWindowUnit\\}\\}\n- タイムスタンプ:\\{\\{context.date\\}\\}", "xpack.stackAlerts.threshold.ui.alertType.descriptionText": "アグリゲーションされたクエリがしきい値に達したときにアラートを発行します。", "xpack.stackAlerts.threshold.ui.conditionPrompt": "条件を定義してください", "xpack.stackAlerts.threshold.ui.filterKQLHelpText": "KQL式を使用して、アラートトリガーの範囲を制限します。", @@ -34734,6 +36254,11 @@ "xpack.stackConnectors.components.casesWebhook.error.missingVariables": "必須の{variableCount, plural, other {変数}}が見つかりません:{variables}", "xpack.stackConnectors.components.email.error.invalidEmail": "電子メールアドレス{email}が無効です。", "xpack.stackConnectors.components.email.error.notAllowed": "電子メールアドレス{email}が許可されていません。", + "xpack.stackConnectors.components.genAi.azureAiApiKeyDocumentation": "HTTP基本認証のAzure APIキー。Azure OpenAI APIキーの生成の詳細については、{genAiAPIKeyDocs}を参照してください。", + "xpack.stackConnectors.components.genAi.azureAiDocumentation": "Azure OpenAI APIエンドポイントURL。URLの詳細については、{genAiAPIUrlDocs}を参照してください。", + "xpack.stackConnectors.components.genAi.dashboardLink": "\"{connectorName}\"コネクターの{apiProvider}使用状況ダッシュボードを表示", + "xpack.stackConnectors.components.genAi.openAiApiKeyDocumentation": "HTTP基本認証のOpenAI API認証キー。OpenAI APIキーの詳細については、{genAiAPIKeyDocs}を参照してください。", + "xpack.stackConnectors.components.genAi.openAiDocumentation": "OpenAI APIエンドポイントURL。URLの詳細については、{genAiAPIUrlDocs}を参照してください。", "xpack.stackConnectors.components.index.error.badIndexOverrideValue": "アラート履歴インデックスの先頭は\"{alertHistoryPrefix}\"でなければなりません。", "xpack.stackConnectors.components.index.preconfiguredIndexHelpText": "ドキュメントは{alertHistoryIndex}インデックスにインデックスされます。", "xpack.stackConnectors.components.jira.unableToGetIssueMessage": "ID {id}の問題を取得できません", @@ -34747,6 +36272,7 @@ "xpack.stackConnectors.components.serviceNow.updateSuccessToastTitle": "{connectorName}コネクターが更新されました", "xpack.stackConnectors.components.swimlane.unableToGetApplicationMessage": "id {id}のアプリケーションフィールドを取得できません", "xpack.stackConnectors.email.customViewInKibanaMessage": "このメッセージはElasticによって送信されました。[{kibanaFooterLinkText}]({link})", + "xpack.stackConnectors.genAi.configurationErrorApiProvider": "生成AIアクションの構成エラー:{err}", "xpack.stackConnectors.jira.configuration.apiAllowedHostsError": "コネクターアクションの構成エラー:{message}", "xpack.stackConnectors.pagerduty.configurationError": "pagerdutyアクションの設定エラー:{message}", "xpack.stackConnectors.pagerduty.invalidTimestampErrorMessage": "タイムスタンプ\"{timestamp}\"の解析エラー", @@ -34804,6 +36330,7 @@ "xpack.stackConnectors.components.casesWebhook.deleteHeaderButton": "削除", "xpack.stackConnectors.components.casesWebhook.descriptionTextAreaFieldLabel": "説明", "xpack.stackConnectors.components.casesWebhook.docLink": "Webフックの構成 - ケース管理コネクター。", + "xpack.stackConnectors.components.casesWebhook.error.requiredAuthPasswordText": "パスワードが必要です。", "xpack.stackConnectors.components.casesWebhook.error.requiredAuthUserNameText": "ユーザー名が必要です。", "xpack.stackConnectors.components.casesWebhook.error.requiredCreateCommentIncidentText": "コメントオブジェクトの作成は有効なJSONでなければなりません。", "xpack.stackConnectors.components.casesWebhook.error.requiredCreateCommentMethodText": "コメントメソッドを作成は必須です。", @@ -34859,6 +36386,18 @@ "xpack.stackConnectors.components.casesWebhook.viewIncidentUrlHelp": "外部システムでケースを表示するURL。変数セレクターを使用して、外部システムIDまたは外部システムタイトルをURLに追加します。", "xpack.stackConnectors.components.casesWebhook.viewIncidentUrlTextFieldLabel": "外部ケース表示URL", "xpack.stackConnectors.components.casesWebhookxpack.stackConnectors.components.casesWebhook.connectorTypeTitle": "Webフック - ケース管理データ", + "xpack.stackConnectors.components.d3security.bodyCodeEditorAriaLabel": "コードエディター", + "xpack.stackConnectors.components.d3security.bodyFieldLabel": "本文", + "xpack.stackConnectors.components.d3security.connectorTypeTitle": "D3データ", + "xpack.stackConnectors.components.d3Security.connectorTypeTitle": "D3セキュリティ", + "xpack.stackConnectors.components.d3security.eventTypeFieldLabel": "イベントタイプ", + "xpack.stackConnectors.components.d3security.invalidActionText": "無効なアクション名です。", + "xpack.stackConnectors.components.d3security.requiredActionText": "アクションが必要です。", + "xpack.stackConnectors.components.d3security.requiredBodyTextField": "本文が必要です。", + "xpack.stackConnectors.components.d3security.selectMessageText": "D3 SOARでイベントやトリガーのプレイブックのワークフローアクションを作成します。", + "xpack.stackConnectors.components.d3security.severityFieldLabel": "深刻度", + "xpack.stackConnectors.components.d3security.tokenFieldLabel": "トークン", + "xpack.stackConnectors.components.d3security.urlFieldLabel": "URL", "xpack.stackConnectors.components.email.addBccButton": "Bcc", "xpack.stackConnectors.components.email.addCcButton": "Cc", "xpack.stackConnectors.components.email.amazonSesServerTypeLabel": "Amazon SES", @@ -34875,6 +36414,7 @@ "xpack.stackConnectors.components.email.error.requiredFromText": "送信元が必要です。", "xpack.stackConnectors.components.email.error.requiredHostText": "ホストが必要です。", "xpack.stackConnectors.components.email.error.requiredMessageText": "メッセージが必要です。", + "xpack.stackConnectors.components.email.error.requiredPasswordText": "パスワードが必要です。", "xpack.stackConnectors.components.email.error.requiredPortText": "ポートが必要です。", "xpack.stackConnectors.components.email.error.requiredServiceText": "サービスは必須です。", "xpack.stackConnectors.components.email.error.requiredSubjectText": "件名が必要です。", @@ -34895,6 +36435,7 @@ "xpack.stackConnectors.components.email.recipientBccTextFieldLabel": "Bcc", "xpack.stackConnectors.components.email.recipientCopyTextFieldLabel": "Cc", "xpack.stackConnectors.components.email.recipientTextFieldLabel": "終了:", + "xpack.stackConnectors.components.email.requiredClientSecretText": "クライアントシークレットは必須です。", "xpack.stackConnectors.components.email.secureSwitchLabel": "セキュア", "xpack.stackConnectors.components.email.selectMessageText": "サーバーからメールを送信します。", "xpack.stackConnectors.components.email.serviceTextFieldLabel": "サービス", @@ -34902,6 +36443,20 @@ "xpack.stackConnectors.components.email.tenantIdFieldLabel": "テナントID", "xpack.stackConnectors.components.email.updateErrorNotificationText": "サービス構成を取得できません", "xpack.stackConnectors.components.email.userTextFieldLabel": "ユーザー名", + "xpack.stackConnectors.components.genAi.apiKeySecret": "API キー", + "xpack.stackConnectors.components.genAi.apiProviderLabel": "OpenAIプロバイダーを選択", + "xpack.stackConnectors.components.genAi.apiUrlTextFieldLabel": "URL", + "xpack.stackConnectors.components.genAi.azureAi": "Azure OpenAI", + "xpack.stackConnectors.components.genAi.bodyCodeEditorAriaLabel": "コードエディター", + "xpack.stackConnectors.components.genAi.bodyFieldLabel": "本文", + "xpack.stackConnectors.components.genAi.connectorTypeTitle": "生成AI", + "xpack.stackConnectors.components.genAi.documentation": "ドキュメンテーション", + "xpack.stackConnectors.components.genAi.error.dashboardApiError": "生成AIトークン使用状況ダッシュボードの検索エラー。", + "xpack.stackConnectors.components.genAi.error.requiredApiProviderText": "APIプロバイダーは必須です。", + "xpack.stackConnectors.components.genAi.error.requiredGenerativeAiBodyText": "本文が必要です。", + "xpack.stackConnectors.components.genAi.openAi": "OpenAI", + "xpack.stackConnectors.components.genAi.selectMessageText": "生成AIシステムにリクエストを送信します。", + "xpack.stackConnectors.components.genAi.urlTextFieldLabel": "URL", "xpack.stackConnectors.components.index.configureIndexHelpLabel": "インデックスコネクターを構成しています。", "xpack.stackConnectors.components.index.connectorSectionTitle": "インデックスを書き出す", "xpack.stackConnectors.components.index.connectorTypeTitle": "データをインデックスする", @@ -35061,7 +36616,9 @@ "xpack.stackConnectors.components.serviceNow.privateKeyPassTextFieldLabel": "秘密鍵パスワード", "xpack.stackConnectors.components.serviceNow.privateKeyTextFieldLabel": "秘密鍵", "xpack.stackConnectors.components.serviceNow.requiredClientIdTextField": "クライアントIDは必須です。", + "xpack.stackConnectors.components.serviceNow.requiredClientSecretTextField": "クライアントシークレットは必須です。", "xpack.stackConnectors.components.serviceNow.requiredKeyIdTextField": "JWT VerifierキーIDは必須です。", + "xpack.stackConnectors.components.serviceNow.requiredPasswordTextField": "パスワードが必要です。", "xpack.stackConnectors.components.serviceNow.requiredPrivateKeyTextField": "秘密鍵は必須です。", "xpack.stackConnectors.components.serviceNow.requiredSeverityTextField": "重要度は必須です。", "xpack.stackConnectors.components.serviceNow.requiredShortDescTextField": "短い説明が必要です。", @@ -35099,11 +36656,21 @@ "xpack.stackConnectors.components.serviceNowSIR.correlationIDHelpLabel": "インシデントを更新するID", "xpack.stackConnectors.components.serviceNowSIR.selectMessageText": "ServiceNow SecOpsでインシデントを作成します。", "xpack.stackConnectors.components.serviceNowSIR.title": "セキュリティインシデント", + "xpack.stackConnectors.components.slack_api.allowedChannelsLabel": "チャンネル", + "xpack.stackConnectors.components.slack_api.apiKeyDocumentation": "Slack Web APIトークンを作成", + "xpack.stackConnectors.components.slack_api.connectorTypeTitle": "Slack に送信", + "xpack.stackConnectors.components.slack_api.error.requiredSlackChannel": "チャンネルが必要です。", + "xpack.stackConnectors.components.slack_api.error.requiredSlackMessageText": "メッセージが必要です。", + "xpack.stackConnectors.components.slack_api.errorFetchChannelsText": "チャンネルを取得できません。トークンの有効期限を確認してください", + "xpack.stackConnectors.components.slack_api.selectMessageText": "メッセージをSlackチャンネルに送信します。", + "xpack.stackConnectors.components.slack_api.successFetchChannelsText": "すべてのチャンネルを取得", + "xpack.stackConnectors.components.slack_api.tokenTextFieldLabel": "APIトークン", + "xpack.stackConnectors.components.slack_api.webApi": "Web API", "xpack.stackConnectors.components.slack..error.requiredSlackMessageText": "メッセージが必要です。", "xpack.stackConnectors.components.slack.connectorTypeTitle": "Slack に送信", "xpack.stackConnectors.components.slack.error.invalidWebhookUrlText": "Web フック URL が無効です。", "xpack.stackConnectors.components.slack.messageTextAreaFieldLabel": "メッセージ", - "xpack.stackConnectors.components.slack.selectMessageText": "Slack チャネルにメッセージを送信します。", + "xpack.stackConnectors.components.slack.selectMessageText": "メッセージをSlackチャンネルに送信します。", "xpack.stackConnectors.components.slack.webApi": "Web API", "xpack.stackConnectors.components.slack.webhook": "Web フック", "xpack.stackConnectors.components.slack.webhookUrlHelpLabel": "Slack Web フック URL を作成", @@ -35123,10 +36690,12 @@ "xpack.stackConnectors.components.swimlane.emptyMappingWarningDesc": "このコネクターを選択できません。必要なアラートフィールドマッピングがありません。このコネクターを編集して、必要なフィールドマッピングを追加するか、タイプがアラートのコネクターを選択できます。", "xpack.stackConnectors.components.swimlane.emptyMappingWarningTitle": "このコネクターにはフィールドマッピングがありません。", "xpack.stackConnectors.components.swimlane.error.requiredAlertID": "アラートIDは必須です。", + "xpack.stackConnectors.components.swimlane.error.requiredApiToken": "APIトークンが必要です", "xpack.stackConnectors.components.swimlane.error.requiredAppIdText": "アプリIDは必須です。", "xpack.stackConnectors.components.swimlane.error.requiredCaseID": "ケースIDは必須です。", "xpack.stackConnectors.components.swimlane.error.requiredCaseName": "ケース名は必須です。", "xpack.stackConnectors.components.swimlane.error.requiredComments": "コメントは必須です。", + "xpack.stackConnectors.components.swimlane.error.requiredConnectorType": "コネクタータイプは必須です。", "xpack.stackConnectors.components.swimlane.error.requiredDescription": "説明が必要です。", "xpack.stackConnectors.components.swimlane.error.requiredRuleName": "ルール名は必須です。", "xpack.stackConnectors.components.swimlane.error.requiredSeverity": "重要度は必須です。", @@ -35155,6 +36724,7 @@ "xpack.stackConnectors.components.webhook.error.requiredAuthUserNameText": "ユーザー名が必要です。", "xpack.stackConnectors.components.webhook.error.requiredMethodText": "メソッドが必要です。", "xpack.stackConnectors.components.webhook.error.requiredWebhookBodyText": "本文が必要です。", + "xpack.stackConnectors.components.webhook.error.requiredWebhookPasswordText": "パスワードが必要です。", "xpack.stackConnectors.components.webhook.hasAuthSwitchLabel": "この Web フックの認証が必要です", "xpack.stackConnectors.components.webhook.headerKeyTextFieldLabel": "キー", "xpack.stackConnectors.components.webhook.headerValueTextFieldLabel": "値", @@ -35172,6 +36742,8 @@ "xpack.stackConnectors.components.xmatters.connectorTypeTitle": "xMattersデータ", "xpack.stackConnectors.components.xmatters.error.invalidUrlTextField": "URL が無効です。", "xpack.stackConnectors.components.xmatters.error.invalidUsernameTextField": "ユーザー名が無効です。", + "xpack.stackConnectors.components.xmatters.error.requiredConnectorSettingsText": "認証方法は必須です。", + "xpack.stackConnectors.components.xmatters.error.requiredPasswordText": "パスワードが必要です。", "xpack.stackConnectors.components.xmatters.error.requiredUrlText": "URL が必要です。", "xpack.stackConnectors.components.xmatters.initiationUrlHelpText": "完全なxMatters URLを含めます。", "xpack.stackConnectors.components.xmatters.passwordTextFieldLabel": "パスワード", @@ -35192,6 +36764,7 @@ "xpack.stackConnectors.email.sentByKibanaMessage": "このメッセージはElasticによって送信されました。", "xpack.stackConnectors.email.title": "メール", "xpack.stackConnectors.error.requiredWebhookBodyText": "本文が必要です。", + "xpack.stackConnectors.error.requiredWebhookTorqTokenText": "Torq統合トークンは必須です。", "xpack.stackConnectors.error.requireValidJSONBody": "本文は有効なJSONでなければなりません。", "xpack.stackConnectors.esIndex.errorIndexingErrorMessage": "エラーインデックス作成ドキュメント", "xpack.stackConnectors.esIndex.title": "インデックス", @@ -35203,6 +36776,9 @@ "xpack.stackConnectors.pagerduty.unexpectedNullResponseErrorMessage": "pagerdutyからの予期しないnull応答", "xpack.stackConnectors.resilient.title": "IBM Resilient", "xpack.stackConnectors.sections.ospgenie.loadingJsonEditor": "JSONエディターを読み込んでいます", + "xpack.stackConnectors.security.genAi.params.error.invalidActionText": "無効なアクション名です。", + "xpack.stackConnectors.security.genAi.params.error.invalidBodyText": "本文は有効なJSON形式ではありません。", + "xpack.stackConnectors.security.genAi.params.error.requiredActionText": "アクションが必要です。", "xpack.stackConnectors.security.tines.config.authenticationTitle": "認証", "xpack.stackConnectors.security.tines.config.emailTextFieldLabel": "メール", "xpack.stackConnectors.security.tines.config.error.invalidUrlTextField": "テナントURLが無効です。", @@ -35255,6 +36831,7 @@ "xpack.stackConnectors.slack.configurationErrorNoHostname": "slack アクションの構成エラー:Web フック URL からホスト名をパースできません", "xpack.stackConnectors.slack.errorPostingErrorMessage": "slack メッセージの投稿エラー", "xpack.stackConnectors.slack.errorPostingRetryLaterErrorMessage": "slack メッセージの投稿エラー、後ほど再試行", + "xpack.stackConnectors.slack.params.channelsComboBoxLabel": "チャンネル", "xpack.stackConnectors.slack.params.componentError.getChannelsRequestFailed": "Slackチャンネルリストを取得できませんでした", "xpack.stackConnectors.slack.title": "Slack", "xpack.stackConnectors.slack.unexpectedNullResponseErrorMessage": "Slack から予期せぬ null 応答", @@ -35314,6 +36891,13 @@ "xpack.synthetics.alerts.monitorStatus.defaultRecoveryMessage": "{observerLocation}から{monitorUrl}のurlを持つモニター{monitorName}に対するアラートが回復しました", "xpack.synthetics.alerts.monitorStatus.defaultRecoverySubjectMessage": "URL {monitorUrl}のモニター\"{monitorName}\"が回復しました", "xpack.synthetics.alerts.monitorStatus.defaultSubjectMessage": "url {monitorUrl}のモニタ{monitorName}がダウンしています", + "xpack.synthetics.alerts.monitorStatus.upCheck.reasonWithoutDuration": "モニターが再起動しました。{checkedAt}に正常に実行されました。", + "xpack.synthetics.alerts.syntheticsMonitorStatus.defaultActionMessage": "\"{monitorName}\"は{locationName}からの{status}です。- Elastic Synthetics\n\n詳細:\n\n- モニター名:{monitorName} \n- {monitorUrlLabel}: {monitorUrl} \n- モニタータイプ:{monitorType} \n- 確認日時:{checkedAt} \n- 場所:{locationName} \n- 受信したエラー:{lastErrorMessage} \n{linkMessage}", + "xpack.synthetics.alerts.syntheticsMonitorStatus.defaultRecoveryMessage": "{locationName}からの\"{monitorName}\"のアラートはアクティブではありません:{recoveryReason}。- Elastic Synthetics\n\n詳細:\n\n- モニター名:{monitorName} \n- {monitorUrlLabel}: {monitorUrl} \n- モニタータイプ:{monitorType} \n- 場所:{locationName} \n- 最後に受信したエラー:{lastErrorMessage} \n{linkMessage}", + "xpack.synthetics.alerts.syntheticsMonitorStatus.defaultRecoverySubjectMessage": "\"{monitorName}\"({locationName}){recoveryStatus} - Elastic Synthetics", + "xpack.synthetics.alerts.syntheticsMonitorStatus.defaultSubjectMessage": "\"{monitorName}\"({locationName})は停止しています - Elastic Synthetics", + "xpack.synthetics.alerts.syntheticsMonitorTLS.defaultRecoverySubjectMessage": "証明書{commonName}のアラートが解決しました - Elastic Synthetics", + "xpack.synthetics.alerts.syntheticsMonitorTLS.defaultSubjectMessage": "証明書{commonName}のアラートがトリガーされました - Elastic Synthetics", "xpack.synthetics.alerts.tls.defaultActionMessage": "発行者{issuer}のTLS証明書{commonName}が{status}であることを検出しました。証明書{summary}", "xpack.synthetics.alerts.tls.defaultRecoveryMessage": "発行者{issuer}のTLS証明書{commonName}のアラートが回復しました", "xpack.synthetics.alerts.tls.legacy.defaultActionMessage": "期限切れになるか古くなりすぎた{count}個のTLS証明書証明書を検知しました。\n{expiringConditionalOpen}\n有効期限切れになる証明書件数:{expiringCount}\n有効期限切れになる証明書:{expiringCommonNameAndDate}\n{expiringConditionalClose}\n{agingConditionalOpen}\n古い証明書件数:{agingCount}\n古い証明書:{agingCommonNameAndDate}\n{agingConditionalClose}\n", @@ -35346,6 +36930,7 @@ "xpack.synthetics.management.monitorList.recordRange": "{total} {monitorsLabel}件中{range}を表示中", "xpack.synthetics.management.monitorList.recordRangeLabel": "{monitorCount, plural, other {監視}}", "xpack.synthetics.management.monitorList.recordTotal": "{total} {monitorsLabel}を表示中", + "xpack.synthetics.manualTestRun.failedTest.name": "{name}の手動テスト実行が失敗しました", "xpack.synthetics.monitor.stepOfSteps": "ステップ:{stepNumber}/{totalSteps}", "xpack.synthetics.monitorAddEdit.throttling.connectionProfile": "({download} Mbps, {upload} Mbps, {latency}ミリ秒)", "xpack.synthetics.monitorConfig.monitorScriptEditStep.description": "Elastic Synthetics Recorderを使用して、スクリプトを生成してアップロードします。あるいは、スクリプトエディターで、既存の{playwright}スクリプトを編集(または新規貼り付け)することもできます。", @@ -35354,6 +36939,7 @@ "xpack.synthetics.monitorConfig.schedule.label": "{value, number}{value, plural, other {時間}}毎", "xpack.synthetics.monitorConfig.schedule.minutes.label": "{value, number}{value, plural, other {分}}毎", "xpack.synthetics.monitorConfig.syntheticsArgs.mode.helpText": "{any}の場合は、1つのホスト名に対して1つのIPアドレスのみで通信確認が行われます。{all}の場合は、1つのホスト名に対してすべての解決可能なIPアドレスで通信確認が行われます。DNSロードバランサーを使用していて、指定したホスト名に対してすべてのIPアドレスで通信確認を行う場合には、{all}が有効です。", + "xpack.synthetics.monitorConfig.throttlingDisabled.label": "接続プロファイル({icon}調整に関する重要な情報:{link})", "xpack.synthetics.monitorDetail.days": "{n, plural, other {日}}", "xpack.synthetics.monitorDetail.hours": "{n, plural, other {時間}}", "xpack.synthetics.monitorDetail.minutes": "{n, plural, other {分}}", @@ -35368,7 +36954,7 @@ "xpack.synthetics.monitorManagement.agentCallout.content": "このプライベートロケーションで「Browser」モニターを実行するには、必ず{code} Dockコンテナーを使用してください。これには、これらのモニターを実行するために必要な依存関係が含まれています。詳細については、{link}。", "xpack.synthetics.monitorManagement.agentMissingCallout.content": "エージェントが関連付けられていないエージェントポリシーを選択しました。1つ以上のエージェントがこのポリシーに登録されていることを確認してください。場所を作成する前か後に、エージェントを追加できます。詳細については、{link}。", "xpack.synthetics.monitorManagement.anotherPrivateLocation": "このエージェントポリシーは、すでに次の場所に関連付けられています:{locationName}。", - "xpack.synthetics.monitorManagement.cannotDelete.description": "この場所は、{monCount, number}個の{monCount, plural, other {モニター}}が実行されているため、削除できません。\n この場所をモニターから削除してから、この場所を削除してください。", + "xpack.synthetics.monitorManagement.cannotDelete.description": "この場所を削除できません。{monCount, number}{monCount, plural, other {モニター}}で使用されています。\n まず、すべてのモニターからこの場所を削除してください。", "xpack.synthetics.monitorManagement.deleteLocationName": "\"{location}\"の削除", "xpack.synthetics.monitorManagement.deleteMonitorNameLabel": "モニター\"{name}\"を削除しますか?", "xpack.synthetics.monitorManagement.lastXDays": "最後の{count, number} {count, plural, other {日}}", @@ -35379,8 +36965,8 @@ "xpack.synthetics.monitorManagement.service.error.status": "ステータス:{status}。", "xpack.synthetics.monitorManagement.stepCompleted": "{stepCount, number}{stepCount, plural, other {ステップ}}完了", "xpack.synthetics.monitorManagement.timeTaken": "所要時間:{timeTaken}", - "xpack.synthetics.monitorManagement.viewMonitors": "場所\"{name}\"では{count, number}個の{count, plural, other {モニター}}が実行されています。", - "xpack.synthetics.monitorManagementRoute.title": "モニター管理 | {baseTitle}", + "xpack.synthetics.monitorManagement.viewMonitors": "{name}は{count, number}{count, plural, other {モニター}}で使用されています。", + "xpack.synthetics.monitorManagementRoute.title": "シンセティック管理 | {baseTitle}", "xpack.synthetics.monitorNotFound.title": "Syntheticsモニターが見つかりません | {baseTitle}", "xpack.synthetics.overview.actions.disabledSuccessLabel": "モニター\"{name}\"は正常に無効にされました。", "xpack.synthetics.overview.actions.disabledSuccessLabel.alert": "モニター「{name}」に対するアラートが無効化されました。", @@ -35399,16 +36985,28 @@ "xpack.synthetics.paramManagement.paramDeleteFailuresMessage.name": "パラメータ{name}が正常に削除されました。", "xpack.synthetics.paramManagement.paramDeleteSuccessMessage.name": "パラメータ{name}が正常に削除されました。", "xpack.synthetics.params.description": "ブラウザーや軽量モニターの設定に使用できる変数やパラメーター(認証情報やURLなど)を定義します。{learnMore}", + "xpack.synthetics.params.unprivileged.unprivilegedDescription": "Syntheticsアプリデータの使用状況と保持設定を表示する追加の権限が必要です。{docsLink}", "xpack.synthetics.pingList.expandedRow.bodySize": "本文サイズは{bodyBytes}です。", "xpack.synthetics.pingList.expandedRow.truncated": "初めの{contentBytes}バイトを表示中。", "xpack.synthetics.pingList.recencyMessage": "確認:{fromNow}", - "xpack.synthetics.project.readOnly.callout.content": "この監視は外部プロジェクトから追加されました:{projectId}。このページからは、有効化、無効化、削除のみが可能です。設定を変更するためには、そのソースファイルを編集し、そのプロジェクトから再度プッシュする必要があります。", + "xpack.synthetics.project.readOnly.callout.content": "この監視は外部プロジェクトから追加されました:{projectId}。このページでは、モニターとアラートの有効化と無効化、モニターの削除のみが可能です。設定を変更するためには、そのソースファイルを編集し、そのプロジェクトから再度プッシュする必要があります。", "xpack.synthetics.projectMonitorApi.validation.invalidUrlOrHosts.description": "`{monitorType}`プロジェクトのモニターは、バージョン`{version}`の`{key}`フィールドに正確に1つの値を持つ必要があります。モニターが作成、更新されていません。", "xpack.synthetics.prompt.errors.notFound.body": "申し訳ありませんが、id {monitorId}のモニターが見つかりません。削除されたか、表示権限がない可能性があります。", + "xpack.synthetics.rules.tls.defaultActionMessage": "検出されたTLS証明書{commonName}は{status}です - Elastic Synthetics\n\n詳細:\n\n- まとめ:{summary}\n- 共通名:{commonName}\n- 発行者:{issuer}\n- モニター:{monitorName} \n- モニターURL:{monitorUrl} \n- モニタータイプ:{monitorType} \n- 場所:{locationName}", + "xpack.synthetics.rules.tls.validAfterExpiredString": "{relativeDate}日前の{date}に有効期限切れになりました。", + "xpack.synthetics.rules.tls.validAfterExpiringString": "{relativeDate}日後の{date}に有効期限切れになります。", + "xpack.synthetics.rules.tls.validBeforeExpiredString": "{date}以降有効、{relativeDate}日前。", + "xpack.synthetics.rules.tls.validBeforeExpiringString": "{date}まで有効、今から{relativeDate}日間。", + "xpack.synthetics.server.monitors.invalidScheduleDetails": "無効なスケジュール{schedule}分がモニター構成に入力されました。サポートされているモニタースケジュールを使用してください。", + "xpack.synthetics.server.monitors.invalidSchemaError": "モニターは有効なタイプ{type}のモニターではありません。", "xpack.synthetics.server.projectMonitors.invalidPrivateLocationError": "非公開の場所\"{location}\"が無効です。削除するか、有効な非公開の場所で置換してください。", "xpack.synthetics.server.projectMonitors.invalidPublicLocationError": "場所\"{location}\"が無効です。削除するか、有効な場所で置換してください。", "xpack.synthetics.service.projectMonitors.cannotUpdateMonitorToDifferentTypeDetails": "タイプ{previousType}のモニター{monitorId}はタイプ{currentType}に更新することができません。最初にモニターを削除して再試行してください。", + "xpack.synthetics.service.projectMonitors.failedToCreateMonitors": "モニター{journeyId}を作成できませんでした", "xpack.synthetics.service.projectMonitors.failedToCreateXMonitors": "{length}モニターを作成できませんでした", + "xpack.synthetics.service.projectMonitors.failedToUpdateJourney": "ジャーニー{journeyId}を更新できませんでした", + "xpack.synthetics.service.projectMonitors.failedToUpdateXMonitors": "{length}モニターを更新できませんでした", + "xpack.synthetics.settingsRoute.params.deleteCount": "{count}個のパラメーターを削除", "xpack.synthetics.settingsRoute.retentionCalloutDescription": "データ保持設定を変更するには、インデックスのライフサイクルポリシーを作成し、{stackManagement}で関連するカスタムコンポーネントテンプレートに関連付けることをお勧めします。詳細については、{docsLink}。", "xpack.synthetics.settingsRoute.table.retentionPeriodValue": "{value}日 + ロールーバー", "xpack.synthetics.settingsRoute.title": "設定 | {baseTitle}", @@ -35427,7 +37025,7 @@ "xpack.synthetics.synthetics.testDetails.stepNav": "{stepIndex} / {totalSteps}", "xpack.synthetics.tableTitle.showing": "{total} {label}件中{count}を表示中", "xpack.synthetics.tagsList.filter": "クリックして、タグ{tag}を使用して一覧をフィルターします", - "xpack.synthetics.testRun.runErrorLocation.reason": "場所{locationName}でモニターを実行できませんでした。{reason}", + "xpack.synthetics.testRun.runErrorLocation.reason": "場所\"{locationName}\"でテストを実行できませんでした。{reason}。", "xpack.synthetics.testRunDetailsRoute.title": "テスト実行詳細 | {baseTitle}", "xpack.synthetics.waterfall.networkRequests.count": "{total} {networkRequestsLabel}件中{countShown}を表示中", "xpack.synthetics.waterfall.networkRequests.pluralizedCount": "{total, plural, other {ネットワークリクエスト}}", @@ -35436,11 +37034,13 @@ "xpack.synthetics.addEditMonitor.scriptEditor.helpText": "インラインで定義されたSyntheticテストスクリプトを実行します。", "xpack.synthetics.addEditMonitor.scriptEditor.label": "スクリプトエディター", "xpack.synthetics.addEditMonitor.scriptEditor.placeholder": "// ここにPlaywrightスクリプトを貼り付け...", + "xpack.synthetics.alertDropdown.noPermissions": "このアクションを実行する十分な権限がありません。", "xpack.synthetics.alerting.noConnectorsCallout.button": "今すぐ構成", "xpack.synthetics.alerting.noConnectorsCallout.content": "アラートが有効なモニターがありますが、それらのアラートを送信するようにデフォルトコネクターが構成されていません。", "xpack.synthetics.alerting.noConnectorsCallout.header": "アラートが送信されていません", "xpack.synthetics.alertRule.monitorStatus.description": "Synthetics監視ステータスルールアクションを管理します。", "xpack.synthetics.alertRules.actionGroups.monitorStatus": "Synthetics監視ステータス", + "xpack.synthetics.alertRules.actionGroups.tls": "シンセティックTLS証明書", "xpack.synthetics.alertRules.monitorStatus": "Synthetics監視ステータス", "xpack.synthetics.alertRules.monitorStatus.actionVariables.context.alertDetailUrl.description": "このアラートの詳細とコンテキストを示すビューへのリンク", "xpack.synthetics.alertRules.monitorStatus.actionVariables.context.alertReasonMessage.description": "アラートの理由の簡潔な説明", @@ -35463,11 +37063,22 @@ "xpack.synthetics.alertRules.monitorStatus.actionVariables.state.monitorUrl": "モニターのURL。", "xpack.synthetics.alertRules.monitorStatus.actionVariables.state.observerHostname": "チェックが実行される場所のホスト名。", "xpack.synthetics.alertRules.monitorStatus.actionVariables.state.status": "監視ステータス(例:「ダウン」)。", + "xpack.synthetics.alertRules.monitorStatus.browser.label": "ブラウザー", + "xpack.synthetics.alertRules.monitorStatus.host.label": "ホスト", + "xpack.synthetics.alertRules.monitorStatus.unavailableUrlLabel": "(使用不可)", "xpack.synthetics.alerts.durationAnomaly.clientName": "アップタイム期間異常", "xpack.synthetics.alerts.durationAnomaly.description": "アップタイム監視期間が異常なときにアラートを発行します。", + "xpack.synthetics.alerts.monitorStatus.absoluteLink.label": "- リンク", "xpack.synthetics.alerts.monitorStatus.clientName": "稼働状況の監視ステータス", + "xpack.synthetics.alerts.monitorStatus.defaultRecovery.status": "回復しました", + "xpack.synthetics.alerts.monitorStatus.deleteMonitor.reason": "モニターが削除されました", + "xpack.synthetics.alerts.monitorStatus.deleteMonitor.status": "が削除されました", "xpack.synthetics.alerts.monitorStatus.description": "監視が停止しているか、可用性しきい値に違反したときにアラートを発行します。", "xpack.synthetics.alerts.monitorStatus.downLabel": "ダウン", + "xpack.synthetics.alerts.monitorStatus.relativeLink.label": "- 相対リンク", + "xpack.synthetics.alerts.monitorStatus.removedLocation.reason": "この場所はモニターから削除されました", + "xpack.synthetics.alerts.monitorStatus.removedLocation.status": "回復しました", + "xpack.synthetics.alerts.monitorStatus.upCheck.status": "現在起動しています", "xpack.synthetics.alerts.searchPlaceholder.kql": "KQL構文を使用してフィルタリング", "xpack.synthetics.alerts.settings.addConnector": "コネクターの追加", "xpack.synthetics.alerts.syntheticsMonitorStatus.clientName": "監視ステータス", @@ -35554,6 +37165,9 @@ "xpack.synthetics.createPackagePolicy.stepConfigure.requestBodyType.XML": "XML", "xpack.synthetics.createPackagePolicy.stepConfigure.responseBodyIndex.always": "常に実行", "xpack.synthetics.createPackagePolicy.stepConfigure.responseBodyIndex.onError": "エラー時", + "xpack.synthetics.dataRetention.unprivileged.cluster": "表示するには、「read_ilm」、「monitor」、ElasticsearchクラスターでILMポリシーを管理するには、「manage_ilm」を設定する必要があります。", + "xpack.synthetics.dataRetention.unprivileged.index": "次のElasticsearchインデックスの「read」、「monitor」:「synthetics-*」", + "xpack.synthetics.dataRetention.unprivileged.unprivilegedTitle": "不足している権限", "xpack.synthetics.dcl.label": "DCL", "xpack.synthetics.detailsPanel.alerts": "アラート", "xpack.synthetics.detailsPanel.alerts.active": "アクティブ", @@ -35564,7 +37178,7 @@ "xpack.synthetics.detailsPanel.last24Hours": "過去 24 時間", "xpack.synthetics.detailsPanel.last30Days": "過去30日間", "xpack.synthetics.detailsPanel.monitorDetails": "モニター詳細", - "xpack.synthetics.detailsPanel.monitorDetails.enabled": "有効", + "xpack.synthetics.detailsPanel.monitorDetails.enabled": "有効(すべての場所)", "xpack.synthetics.detailsPanel.monitorDetails.monitorType": "モニタータイプ", "xpack.synthetics.detailsPanel.monitorDuration": "監視期間", "xpack.synthetics.detailsPanel.summary": "まとめ", @@ -35577,7 +37191,9 @@ "xpack.synthetics.durationTrend.percentile75": "75番目", "xpack.synthetics.editMonitor.errorDetailsRoute.title": "詳細を入力", "xpack.synthetics.editMonitor.pageHeader.title": "モニターを編集", - "xpack.synthetics.emptyState.enablement.disabledDescription": "Syntheticsアプリは現在無効です。Syntheticsアプリでは、世界中のホスティングされたテスト場所から軽量でリアルなブラウザーモニターを実行できます。Syntheticsアプリを有効にするには、管理者に連絡してください。", + "xpack.synthetics.emptyState.enablement.contactAdministrator": "管理者のみがこの機能を有効化できます。", + "xpack.synthetics.emptyState.enablement.disabledDescription": "実際のブラウザーシミュレーションと軽量のエンドポイントpingに基づいて自動チェックを実行し、世界中のあらゆる場所からユーザーのエクスペリエンスを測定します。", + "xpack.synthetics.emptyState.enablement.title": "Syntheticsでサービスとアプリケーションのステータスを監視", "xpack.synthetics.emptyStateError.notAuthorized": "アップタイムデータの表示が承認されていません。システム管理者にお問い合わせください。", "xpack.synthetics.emptyStateError.title": "エラー", "xpack.synthetics.errorDetails.errorDuration": "エラー期間", @@ -35604,6 +37220,7 @@ "xpack.synthetics.fieldLabels.fcp": "初回コンテンツの描画(FCP)", "xpack.synthetics.fieldLabels.lcp": "最大コンテンツの描画(LCP)", "xpack.synthetics.fieldLabels.transferSize": "transferSizeプロパティは、取得したリソースのサイズを表します。サイズには応答ヘッダーフィールドと応答ペイロードボディが含まれます", + "xpack.synthetics.getCerts.failed": "TLS証明書を取得できませんでした。", "xpack.synthetics.gettingStarted.createLocationHeading": "Synthetic Monitoringの基本", "xpack.synthetics.gettingStarted.createLocationLabel": "場所を作成", "xpack.synthetics.gettingStarted.createSingle.description": " Elastic Synthetics Monitoringの開始。", @@ -35617,7 +37234,9 @@ "xpack.synthetics.gettingStarted.privateLocationLabel": "非公開の場所", "xpack.synthetics.historyPanel.durationTrends": "期間傾向", "xpack.synthetics.historyPanel.stats": "統計", + "xpack.synthetics.inProgress.label": "手動テスト実行が進行中です。", "xpack.synthetics.inspectButtonText": "検査", + "xpack.synthetics.invalidLicense.licenseManagementLink": "ライセンスを更新", "xpack.synthetics.keyValuePairsField.key.ariaLabel": "キー", "xpack.synthetics.keyValuePairsField.key.label": "キー", "xpack.synthetics.keyValuePairsField.value.ariaLabel": "値", @@ -35626,6 +37245,8 @@ "xpack.synthetics.leftOver.errors.createIssue": "問題を作成しています。", "xpack.synthetics.leftOver.errors.delete": "統合の削除", "xpack.synthetics.leftOver.errors.title": "統合を削除するには、下のボタンをクリックしてください。通常はこれは発生しません。モニターが削除されたため、統合は自動的に削除されるようになっています。これが頻繁に発生する場合は、次の方法で報告してください ", + "xpack.synthetics.license.invalidLicenseDescription": "現在ご使用のライセンスが期限切れか有効でなくなったため、Synthetics UIを利用できません。", + "xpack.synthetics.license.invalidLicenseTitle": "無効なライセンス", "xpack.synthetics.locations.error.content": "テスト場所の読み込みエラーが発生しました。しばらくたってから再試行してください。", "xpack.synthetics.locations.error.label": "テスト場所を読み込めません", "xpack.synthetics.management.actions": "アクション", @@ -35695,8 +37316,10 @@ "xpack.synthetics.monitorConfig.clientKey.label": "クライアントキー", "xpack.synthetics.monitorConfig.clientKeyPassphrase.helpText": "TLSクライアント認証用の証明書鍵パスフレーズ。", "xpack.synthetics.monitorConfig.clientKeyPassphrase.label": "クライアントキーパスフレーズ", + "xpack.synthetics.monitorConfig.create.alertTlsEnabled.label": "このモニターでTLSアラートを有効化します。", "xpack.synthetics.monitorConfig.customTLS.label": "カスタムTLS構成を使用", - "xpack.synthetics.monitorConfig.edit.enabled.label": "無効なモニターはテストを実行しません。", + "xpack.synthetics.monitorConfig.edit.alertTlsEnabled.label": "無効化すると、このモニターでTLSアラートを停止します。", + "xpack.synthetics.monitorConfig.edit.enabled.label": "無効化すると、モニターはテストを実行しません。いつでも有効化できます。", "xpack.synthetics.monitorConfig.enabled.label": "モニターを有効にする", "xpack.synthetics.monitorConfig.enabledAlerting.label": "ステータスアラートを有効にする", "xpack.synthetics.monitorConfig.frequency.helpText": "このテストをどの程度の頻度で実行しますか?頻度が高いほど、合計コストが上がります。", @@ -35834,13 +37457,14 @@ "xpack.synthetics.monitorConfig.textAssertion.helpText": "指定したテキストがレンダリングされるときに読み込まれるページを考慮します。", "xpack.synthetics.monitorConfig.textAssertion.label": "テキストアサーション", "xpack.synthetics.monitorConfig.throttling.helpText": "ネットワークスロットリングをシミュレートします(ダウンロード、アップロード、レイテンシ)。", + "xpack.synthetics.monitorConfig.throttlingDisabled.link": "通知", "xpack.synthetics.monitorConfig.timeout.formatError": "タイムアウトが無効です。", "xpack.synthetics.monitorConfig.timeout.greaterThan0Error": "タイムアウトは0以上でなければなりません。", "xpack.synthetics.monitorConfig.timeout.helpText": "接続のテストとデータの交換に許可された合計時間。", "xpack.synthetics.monitorConfig.timeout.label": "タイムアウト(秒)", "xpack.synthetics.monitorConfig.timeout.scheduleError": "タイムアウトは監視頻度未満でなければなりません。", "xpack.synthetics.monitorConfig.tlsVersion.label": "サポートされているTLSプロトコル", - "xpack.synthetics.monitorConfig.uploader.label": ".jsファイルを選択するかドラッグ &amp; ドロップしてください", + "xpack.synthetics.monitorConfig.uploader.label": ".jsファイルを選択するかドラッグ&ドロップしてください", "xpack.synthetics.monitorConfig.urls.helpText": "例:サービスエンドポイント", "xpack.synthetics.monitorConfig.urls.label": "URL", "xpack.synthetics.monitorConfig.urlsSingle.helpText": "例:https://www.elastic.co.", @@ -35877,6 +37501,7 @@ "xpack.synthetics.monitorDetails.summary.message": "メッセージ", "xpack.synthetics.monitorDetails.summary.result": "結果", "xpack.synthetics.monitorDetails.summary.screenshot": "スクリーンショット", + "xpack.synthetics.monitorDetails.summary.successful": "成功", "xpack.synthetics.monitorDetails.summary.testRuns": "テスト実行", "xpack.synthetics.monitorDetails.summary.totalRuns": "合計実行回数", "xpack.synthetics.monitorDetails.summary.viewErrorDetails": "エラー詳細を表示", @@ -35887,12 +37512,19 @@ "xpack.synthetics.monitorEditPage.error.label": "モニター構成を読み込めません", "xpack.synthetics.monitorErrorsTab.title": "エラー", "xpack.synthetics.monitorHistoryTab.title": "履歴", + "xpack.synthetics.monitorInspect.closeLabel": "閉じる", + "xpack.synthetics.monitorInspect.configLabel": "構成", + "xpack.synthetics.monitorInspect.formattedConfigLabel.description": "このモニターの書式設定された構成を表示します。", + "xpack.synthetics.monitorInspect.formattedConfigLabel.valid": "有効な形式の構成のみを検査できます。", + "xpack.synthetics.monitorInspect.hideParams": "パラメーター値を非表示", + "xpack.synthetics.monitorInspect.inspectLabel": "構成を検査", + "xpack.synthetics.monitorInspect.sourceCodeLabel": "ソースコード", "xpack.synthetics.monitorLastRun.lastRunLabel": "前回の実行", "xpack.synthetics.monitorList.closeFlyoutText": "閉じる", "xpack.synthetics.monitorList.durationChart.durationSeriesName": "期間", "xpack.synthetics.monitorList.durationChart.previousPeriodSeriesName": "前の期間", "xpack.synthetics.monitorList.durationHeaderText": "期間", - "xpack.synthetics.monitorList.enabledItemText": "有効", + "xpack.synthetics.monitorList.enabledItemText": "有効(すべての場所)", "xpack.synthetics.monitorList.errorSummary": "エラー概要", "xpack.synthetics.monitorList.goToMonitorLinkText": "モニターに移動", "xpack.synthetics.monitorList.lastModified": "最終更新:", @@ -35914,6 +37546,7 @@ "xpack.synthetics.monitorList.testRunLogs": "テスト実行ログ", "xpack.synthetics.monitorList.timestamp": "タイムスタンプ", "xpack.synthetics.monitorList.type": "型", + "xpack.synthetics.monitorList.unAvailable": "(使用不可)", "xpack.synthetics.monitorList.viewInDiscover": "Discoverに表示", "xpack.synthetics.monitorLocation.locationContextMenuTitleLabel": "場所に移動", "xpack.synthetics.monitorLocation.locationLabel": "場所", @@ -35934,9 +37567,9 @@ "xpack.synthetics.monitorManagement.apiKey.label": "API キー", "xpack.synthetics.monitorManagement.apiKeyWarning.label": "このAPIキーは1回だけ表示されます。自分の記録用にコピーして保管してください。", "xpack.synthetics.monitorManagement.areYouSure": "この場所を削除しますか?", - "xpack.synthetics.monitorManagement.callout.description.disabled": "モニター管理では、Elasticのグローバルマネージドテストロケーションでモニターを実行するために、有効なAPIキーが必要です。以前に一度モニター管理を有効化したことがある場合は、APIキーが有効ではなくなっている可能性があります。", - "xpack.synthetics.monitorManagement.callout.disabled": "モニター管理は現在無効です", - "xpack.synthetics.monitorManagement.callout.disabled.adminContact": "管理者がSyntheticsアプリにアクセスすると、モニター管理が有効化されます。", + "xpack.synthetics.monitorManagement.callout.description.disabled": "Syntheticsアプリでは、Elasticのグローバルマネージドテストロケーションでモニターを実行するために、有効なAPIキーが必要です。以前に一度Syntheticsアプリを有効化したことがある場合は、APIキーが有効ではなくなっている可能性があります。", + "xpack.synthetics.monitorManagement.callout.disabled": "Syntheticsアプリは現在無効です", + "xpack.synthetics.monitorManagement.callout.disabled.adminContact": "管理者がSyntheticsアプリにアクセスすると、Syntheticsアプリが有効化されます。", "xpack.synthetics.monitorManagement.cancelLabel": "キャンセル", "xpack.synthetics.monitorManagement.closeButtonLabel": "閉じる", "xpack.synthetics.monitorManagement.completed": "完了", @@ -35953,13 +37586,14 @@ "xpack.synthetics.monitorManagement.disabled.label": "無効", "xpack.synthetics.monitorManagement.discardLabel": "キャンセル", "xpack.synthetics.monitorManagement.editMonitorCrumb": "モニターを編集", - "xpack.synthetics.monitorManagement.editMonitorError": "モニター管理の読み込みエラー", - "xpack.synthetics.monitorManagement.editMonitorError.description": "モニター管理設定を読み込めませんでした。サポートに問い合わせてください。", + "xpack.synthetics.monitorManagement.editMonitorError": "Syntheticsアプリの読み込みエラー", + "xpack.synthetics.monitorManagement.editMonitorError.description": "Syntheticsアプリ設定を読み込めませんでした。サポートに問い合わせてください。", "xpack.synthetics.monitorManagement.emptyState.enablement.doc": "ドキュメントを読む", "xpack.synthetics.monitorManagement.emptyState.enablement.learnMore": "詳細について", "xpack.synthetics.monitorManagement.emptyState.enablement.title": "有効にする", "xpack.synthetics.monitorManagement.failed": "失敗", "xpack.synthetics.monitorManagement.failedRun": "ステップを実行できませんでした", + "xpack.synthetics.monitorManagement.failedScheduling": "手動テスト実行の結果を取得できませんでした。", "xpack.synthetics.monitorManagement.filter.frequencyLabel": "頻度", "xpack.synthetics.monitorManagement.filter.locationLabel": "場所", "xpack.synthetics.monitorManagement.filter.placeholder": "名前、URL、ホスト、タグ、プロジェクト、または場所で検索", @@ -35974,14 +37608,14 @@ "xpack.synthetics.monitorManagement.getProjectApiKey.label": "プロジェクトAPIキーを生成", "xpack.synthetics.monitorManagement.getProjectAPIKeyLabel.generate": "プロジェクトAPIキーを生成", "xpack.synthetics.monitorManagement.inProgress": "進行中", - "xpack.synthetics.monitorManagement.label": "モニター管理", + "xpack.synthetics.monitorManagement.label": "Syntheticsアプリ", "xpack.synthetics.monitorManagement.learnMore": "詳細については、", "xpack.synthetics.monitorManagement.learnMore.label": "詳細", - "xpack.synthetics.monitorManagement.loading.label": "モニター管理を読み込んでいます", + "xpack.synthetics.monitorManagement.loading.label": "Syntheticsアプリを読み込み中", "xpack.synthetics.monitorManagement.loadingSteps": "ステップを読み込んでいます...", "xpack.synthetics.monitorManagement.locationName": "場所名", "xpack.synthetics.monitorManagement.locationsLabel": "場所", - "xpack.synthetics.monitorManagement.manageMonitorLoadingLabel": "モニター管理を読み込んでいます", + "xpack.synthetics.monitorManagement.manageMonitorLoadingLabel": "Syntheticsアプリを読み込み中", "xpack.synthetics.monitorManagement.manageMonitorLoadingLabel.callout.learnMore": "詳細情報", "xpack.synthetics.monitorManagement.monitorAddedSuccessMessage": "モニターが正常に追加されました。", "xpack.synthetics.monitorManagement.monitorAddedSuccessMessage.subtext": "次回は定義されたスケジュールに従って実行されます。", @@ -35991,12 +37625,12 @@ "xpack.synthetics.monitorManagement.monitorList.disclaimer.title": "このモニターを削除しても、プロジェクトのソースからは削除されません", "xpack.synthetics.monitorManagement.monitors": "監視", "xpack.synthetics.monitorManagement.monitorsTab.title": "管理", - "xpack.synthetics.monitorManagement.monitorSync.failure.content": "1つ以上の場所でモニターを同期するときに問題が発生しました。", + "xpack.synthetics.monitorManagement.monitorSync.failure.content": "1つ以上の場所でモニターを実行するときに問題が発生しました。", "xpack.synthetics.monitorManagement.monitorSync.failure.dismissLabel": "閉じる", "xpack.synthetics.monitorManagement.monitorSync.failure.notAvailable": "利用不可", "xpack.synthetics.monitorManagement.monitorSync.failure.reasonLabel": "理由", "xpack.synthetics.monitorManagement.monitorSync.failure.statusLabel": "ステータス", - "xpack.synthetics.monitorManagement.monitorSync.failure.title": "モニターをSyntheticsサービスと同期できませんでした", + "xpack.synthetics.monitorManagement.monitorSync.failure.title": "一部のモニターは正常に実行されていません", "xpack.synthetics.monitorManagement.nameRequired": "場所名は必須です", "xpack.synthetics.monitorManagement.noSyntheticsPermissions": "このアクションを実行する十分な権限がありません。", "xpack.synthetics.monitorManagement.overviewTab.title": "概要", @@ -36016,13 +37650,14 @@ "xpack.synthetics.monitorManagement.requestAccess": "アクセスをリクエストする", "xpack.synthetics.monitorManagement.saveLabel": "保存", "xpack.synthetics.monitorManagement.selectOneOrMoreLocations": "1つ以上の場所を選択してください。", + "xpack.synthetics.monitorManagement.selectOneOrMoreLocationsDetails": "モニターが実行される場所を選択します。", "xpack.synthetics.monitorManagement.selectPolicyHost": "エージェントポリシーを選択", "xpack.synthetics.monitorManagement.selectPolicyHost.helpText": "エージェントポリシーごとに1つのElasticエージェントを使用することをお勧めします。", "xpack.synthetics.monitorManagement.service.error.title": "モニター構成を同期できません", "xpack.synthetics.monitorManagement.startAddingLocationsDescription": "非公開の場所では、独自の施設からモニターを実行できます。Fleet経由で制御および保守できるElasticエージェントとエージェントポリシーが必要です。", "xpack.synthetics.monitorManagement.steps": "ステップ", "xpack.synthetics.monitorManagement.summary.heading": "まとめ", - "xpack.synthetics.monitorManagement.syntheticsEnableLabel.management": "モニター管理を有効にする", + "xpack.synthetics.monitorManagement.syntheticsEnableLabel.management": "Syntheticsアプリを有効にする", "xpack.synthetics.monitorManagement.testResult": "テスト結果", "xpack.synthetics.monitorManagement.testResults": "テスト結果", "xpack.synthetics.monitorManagement.testRuns.label": "テスト実行", @@ -36030,7 +37665,7 @@ "xpack.synthetics.monitorManagement.urlRequiredLabel": "URLが必要です", "xpack.synthetics.monitorManagement.useEnv.label": "環境変数として使用", "xpack.synthetics.monitorManagement.value.required": "値が必要です", - "xpack.synthetics.monitorManagement.viewLocationMonitors": "場所モニターを表示", + "xpack.synthetics.monitorManagement.viewLocationMonitors": "モニターを表示", "xpack.synthetics.monitorManagement.viewTestRunDetails": "テスト結果詳細を表示", "xpack.synthetics.monitorManagement.websiteUrlHelpText": "例:会社のホームページまたはhttps://elastic.co。", "xpack.synthetics.monitorManagement.websiteUrlLabel": "WebサイトのURL", @@ -36045,6 +37680,7 @@ "xpack.synthetics.monitorStatus.failed": "失敗", "xpack.synthetics.monitorStatus.failedLabel": "失敗", "xpack.synthetics.monitorStatus.pendingLabel": "保留中", + "xpack.synthetics.monitorStatus.recoveredLabel": "回復済み", "xpack.synthetics.monitorStatus.skipped": "スキップ", "xpack.synthetics.monitorStatus.statusLabel": "ステータス", "xpack.synthetics.monitorStatus.succeededLabel": "成功", @@ -36068,12 +37704,12 @@ "xpack.synthetics.noFindingsStates.unprivileged.unprivilegedTitle": "権限が必要です", "xpack.synthetics.notFoundBody": "申し訳ございません。お探しのページは見つかりません。削除または名前変更されたか、存在していなかった可能性があります。", "xpack.synthetics.notFoundTitle": "ページが見つかりません", - "xpack.synthetics.overview.actions.disableLabelDisableAlert": "ステータスアラートを無効にする", + "xpack.synthetics.overview.actions.disableLabelDisableAlert": "ステータスアラートを無効にする(すべての場所)", "xpack.synthetics.overview.actions.disablingLabel": "モニターを無効にしています", "xpack.synthetics.overview.actions.editMonitor.name": "モニターを編集", - "xpack.synthetics.overview.actions.enableLabelDisableAlert": "ステータスアラートを有効にする", - "xpack.synthetics.overview.actions.enableLabelDisableMonitor": "モニターを無効にする", - "xpack.synthetics.overview.actions.enableLabelEnableMonitor": "モニターを有効にする", + "xpack.synthetics.overview.actions.enableLabelDisableAlert": "ステータスアラートを有効にする(すべての場所)", + "xpack.synthetics.overview.actions.enableLabelDisableMonitor": "モニターを無効にする(すべての場所)", + "xpack.synthetics.overview.actions.enableLabelEnableMonitor": "モニターを有効にする(すべての場所)", "xpack.synthetics.overview.actions.enablingLabel": "モニターを有効にしています", "xpack.synthetics.overview.actions.goToMonitor.name": "モニターに移動", "xpack.synthetics.overview.actions.menu.title": "アクション", @@ -36126,6 +37762,7 @@ "xpack.synthetics.overview.status.headingText": "現在のステータス", "xpack.synthetics.overview.status.pending.description": "保留中", "xpack.synthetics.overview.status.up.description": "アップ", + "xpack.synthetics.overview.SyntheticsHeading": "監視", "xpack.synthetics.overviewPage.overviewCrumb": "概要", "xpack.synthetics.page_header.analyzeData.label": "[データの探索]ビューに移動して、合成/ユーザーデータを可視化", "xpack.synthetics.page_header.settingsLink": "設定", @@ -36150,6 +37787,7 @@ "xpack.synthetics.pingList.timestampColumnLabel": "タイムスタンプ", "xpack.synthetics.pluginDescription": "Synthetics監視", "xpack.synthetics.privateLocations.learnMore.label": "詳細情報", + "xpack.synthetics.privateLocations.needFleetPermission.description": "エージェントポリシーが利用可能になると、通常のSyntheticsアプリの権限で非公開の場所とモニターを管理できるようになります。", "xpack.synthetics.project.readOnly.callout.title": "この構成は読み取り専用です。", "xpack.synthetics.projectMonitorApi.validation.invalidConfiguration.title": "無効なHeartbeat構成", "xpack.synthetics.projectMonitorApi.validation.invalidNamespace.title": "無効なネームスペース", @@ -36159,14 +37797,27 @@ "xpack.synthetics.routes.baseTitle": "Synthetics - Kibana", "xpack.synthetics.routes.createNewMonitor": "ホームに移動", "xpack.synthetics.routes.goToSynthetics": "Syntheticsホームページに移動", + "xpack.synthetics.rules.tls.agingLabel": "古すぎます", + "xpack.synthetics.rules.tls.clientName": "シンセティックTLS", + "xpack.synthetics.rules.tls.criteriaExpression.ariaLabel": "このアラートで監視されているモニターの条件を示す式", + "xpack.synthetics.rules.tls.description": "シンセティック監視のTLS証明書の有効期限が近いときにアラートを発行します。", + "xpack.synthetics.rules.tls.expiredLabel": "期限切れ", + "xpack.synthetics.rules.tls.expiringLabel": "まもなく期限切れ", + "xpack.synthetics.rules.tls.invalidLabel": "無効", "xpack.synthetics.runTest.failure": "手動でテストを実行できませんでした", "xpack.synthetics.seconds.label": "秒", "xpack.synthetics.seconds.shortForm.label": "秒", "xpack.synthetics.send": "送信", + "xpack.synthetics.server.monitors.invalidConfigurationError": "無効な設定のため、モニターを保存または更新できませんでした。", + "xpack.synthetics.server.monitors.invalidPayloadError": "ペイロードは有効なモニターオブジェクトではありません", + "xpack.synthetics.server.monitors.invalidScheduleError": "モニタースケジュールが無効です", + "xpack.synthetics.server.monitors.invalidTypeError": "モニタータイプが無効です", "xpack.synthetics.server.project.delete.toolarge": "削除リクエストペイロードが大きすぎます。リクエストごとに送信できる削除するモニターは250以下にしてください", "xpack.synthetics.server.projectMonitors.locationEmptyError": "1つ以上の場所または非公開の場所をこのモニターに追加する必要があります。", "xpack.synthetics.service.projectMonitors.cannotUpdateMonitorToDifferentType": "モニターを別のタイプに更新できません。", "xpack.synthetics.service.projectMonitors.failedToUpdateMonitor": "モニターを作成または更新できません", + "xpack.synthetics.settings.addParams.fail": "グローバルパラメーターを追加できませんでした。", + "xpack.synthetics.settings.addParams.success": "グローバルパラメーターを正常に追加しました。", "xpack.synthetics.settings.alertDefaultForm.requiredEmail": "終了:選択した電子メールコネクターには電子メールアドレスが必須です", "xpack.synthetics.settings.applyChanges": "変更を適用", "xpack.synthetics.settings.blank.error": "空白にすることはできません。", @@ -36174,12 +37825,15 @@ "xpack.synthetics.settings.cannotEditText": "現在、このユーザーには Uptime アプリの「読み取り」権があります。これらの設定を編集するには「すべて」のパーミッションレベルを有効にします。", "xpack.synthetics.settings.cannotEditTitle": "設定を編集するパーミッションがありません。", "xpack.synthetics.settings.defaultConnectors": "デフォルトコネクター", - "xpack.synthetics.settings.defaultConnectors.description": "アラートで使用する1つ以上のコネクターを選択します。これらの設定はすべてのSyntheticsベースのアラートに適用されます。", + "xpack.synthetics.settings.defaultConnectors.description": "アラートで使用する1つ以上のコネクターを選択します。これらの設定はすべてのシンセティックベースのアラートに適用されます。", "xpack.synthetics.settings.discardChanges": "変更を破棄", - "xpack.synthetics.settings.enableAlerting": "監視ステータスルールタイプは正常に更新されました。次のルールアラートは変更を考慮します。", + "xpack.synthetics.settings.editParams.fail": "グローバルパラメーターを編集できませんでした。", + "xpack.synthetics.settings.editParams.success": "グローバルパラメーターを正常に編集しました。", + "xpack.synthetics.settings.enableAlerting": "監視ステータスルールは正常に更新されました。変更は次回のルール実行時に有効になります。", "xpack.synthetics.settings.enabledAlert.fail": "監視ステータスルールタイプを更新できませんでした。", - "xpack.synthetics.settings.enablement.fail": "モニター管理を有効にできませんでした", + "xpack.synthetics.settings.enablement.fail": "Syntheticsアプリを有効化できませんでした", "xpack.synthetics.settings.error.couldNotSave": "設定を保存できませんでした!", + "xpack.synthetics.settings.getParams.failed": "グローバルパラメーターを取得できませんでした。", "xpack.synthetics.settings.invalid.error": "値は0よりも大きい値でなければなりません。", "xpack.synthetics.settings.invalid.nanError": "値は整数でなければなりません。", "xpack.synthetics.settings.noSpace.error": "インデックス名にはスペースを使用できません", @@ -36206,6 +37860,7 @@ "xpack.synthetics.settingsRoute.params.tableCaption": "Syntheticsグローバルパラメーター", "xpack.synthetics.settingsRoute.params.tags": "タグ", "xpack.synthetics.settingsRoute.params.value": "値", + "xpack.synthetics.settingsRoute.policy.manageILM": "ILMポリシーを管理するには、「manage_ilm」クラスター権限が必要です。", "xpack.synthetics.settingsRoute.privateLocations.deleteLabel": "非公開の場所を削除", "xpack.synthetics.settingsRoute.readDocs": "ドキュメントを読む", "xpack.synthetics.settingsRoute.retentionCalloutTitle": "Syntheticsデータは、管理されたインデックスライフサイクルポリシーで構成されます", @@ -36223,7 +37878,7 @@ "xpack.synthetics.settingsTabs.privateLocations": "非公開の場所", "xpack.synthetics.sourceConfiguration.alertConnectors.defaultEmail": "デフォルトの電子メールアドレス", "xpack.synthetics.sourceConfiguration.alertDefaultForm.emailConnectorPlaceHolder": "終了:電子メールコネクターの電子メールアドレス", - "xpack.synthetics.sourceConfiguration.alertDefaultForm.selectConnector": "1つ以上のコネクターを選択してください", + "xpack.synthetics.sourceConfiguration.alertDefaultForm.selectConnector": "1つ以上のコネクターを選択", "xpack.synthetics.sourceConfiguration.defaultConnectors": "デフォルトコネクター", "xpack.synthetics.sourceConfiguration.defaultConnectors.description.defaultEmail": "選択した電子メールアラートコネクターには電子メール設定が必須です。", "xpack.synthetics.stackManagement": "スタック管理", @@ -36308,9 +37963,10 @@ "xpack.synthetics.testDuration.label": "テスト期間", "xpack.synthetics.testResults.expandedRow.response_body.notRecorded": "本文が記録されていません。モニター設定の詳細オプションで、インデックス応答オプションを[常時]に設定して、本文を記録します。", "xpack.synthetics.testRun.description": "モニターをテストし、保存する前に結果を検証します", - "xpack.synthetics.testRun.pushError": "モニターをサービスにプッシュできませんでした。", + "xpack.synthetics.testRun.pushError": "このテストは現在実行できません。しばらくたってから再試行してください。", "xpack.synthetics.testRun.pushing.description": "モニターをサービスにプッシュしています...", - "xpack.synthetics.testRun.runErrorLabel": "テストの実行エラー", + "xpack.synthetics.testRun.runErrorLabel": "今すぐテストを実行できません", + "xpack.synthetics.testRun.testErrorLabel": "テストの実行エラー", "xpack.synthetics.testRunDetailsRoute.page.title": "テスト実行詳細", "xpack.synthetics.timestamp.label": "@timestamp", "xpack.synthetics.tls": "TLS", @@ -36319,6 +37975,8 @@ "xpack.synthetics.tls.expirationExpression.description": "次の日数以内に有効期限切れになる証明書があります:", "xpack.synthetics.toggleAlertButton.content": "監視ステータスルール", "xpack.synthetics.toggleAlertFlyout.ariaLabel": "ルールの追加フライアウトを開く", + "xpack.synthetics.toggleAlertFlyout.tls.ariaLabel": "TLSルールフライアウトを開いて追加", + "xpack.synthetics.toggleTlsAlertButton.label.content": "TLS証明書ルール", "xpack.synthetics.totalDuration.metrics": "ステップ期間", "xpack.synthetics.totalDuration.transferSize": "転送サイズ", "xpack.synthetics.uptimeFeatureCatalogueTitle": "アップタイム", @@ -36330,412 +37988,6 @@ "xpack.synthetics.waterfall.networkRequests.filteredOut": "除外済み", "xpack.synthetics.waterfall.networkRequests.heading": "ネットワークリクエスト", "xpack.synthetics.waterfallChart.sidebar.url.https": "https", - "xpack.uptime.alerts.monitorExpression.label": "フィルター{title}を削除", - "xpack.uptime.alerts.monitorStatus.actionVariables.down": "は、過去{interval}回のうち{count}回失敗しています。> {numTimes}のときにアラートを通知します。", - "xpack.uptime.alerts.monitorStatus.actionVariables.downAndAvailabilityMessage": "{downMonitorsMessage} {availabilityBreachMessage}", - "xpack.uptime.alerts.monitorStatus.monitorCallOut.title": "このアラートは約{snapshotCount}個のモニターに適用されます。", - "xpack.uptime.alerts.monitorStatus.reasonMessage": "{location}から「{name}」をモニター、{status}、{checkedAt}で確認します。", - "xpack.uptime.alerts.monitorStatus.timerangeValueField.value": "最後の{value}", - "xpack.uptime.alerts.tls.validAfterExpiredString": "{date}に有効期限切れ、{relativeDate}日前。", - "xpack.uptime.alerts.tls.validAfterExpiringString": "{relativeDate}日後の{date}に有効期限切れになります。", - "xpack.uptime.alerts.tls.validBeforeExpiredString": "{date}以降有効、{relativeDate}日前。", - "xpack.uptime.alerts.tls.validBeforeExpiringString": "{date}まで有効、今から{relativeDate}日間。", - "xpack.uptime.availabilityLabelText": "{value} %", - "xpack.uptime.charts.mlAnnotation.header": "スコア:{score}", - "xpack.uptime.charts.mlAnnotation.severity": "重要度:{severity}", - "xpack.uptime.controls.selectSeverity.scoreDetailsDescription": "スコア{value}以上", - "xpack.uptime.deprecateNoticeModal.forMoreInformation": "詳細については、{docsLink}", - "xpack.uptime.durationChart.emptyPrompt.description": "このモニターは選択された時間範囲で一度も {emphasizedText} していません。", - "xpack.uptime.integration.deprecation.content": "Elastic Synthetics統合を使用して、少なくとも1つのモニターが設定されています。Elastic 8.8以降、統合は非推奨となり、これらのモニターを編集することはできません。プロジェクトモニターに移行するか、オブザーバビリティで直接利用できる新しいSyntheticsアプリに追加してください。詳細は{link}をご覧ください。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.manageMLJobDescription": "ジョブの作成後、{mlJobsPageLink} で管理と詳細の確認ができます。", - "xpack.uptime.monitorCharts.durationChart.leftAxis.title": "期間({unit})", - "xpack.uptime.monitorCharts.monitorDuration.titleLabelWithAnomaly": "監視期間(異常:{noOfAnomalies})", - "xpack.uptime.monitorList.defineConnector.description": "{link}でデフォルトコネクターを定義し、モニターステータスアラートを有効にします。", - "xpack.uptime.monitorList.drawer.missingLocation": "一部のHeartbeatインスタンスには位置情報が定義されていません。Heartbeat構成への{link}。", - "xpack.uptime.monitorList.drawer.statusRowLocationList": "前回の確認時に\"{status}\"ステータスだった場所のリスト。", - "xpack.uptime.monitorList.expandDrawerButton.ariaLabel": "ID {id}のモニターの行を展開", - "xpack.uptime.monitorList.infraIntegrationAction.docker.tooltip": "コンテナーID「{containerId}」のインフラストラクチャUIを確認します", - "xpack.uptime.monitorList.infraIntegrationAction.ip.tooltip": "IP「{ip}」のインフラストラクチャUIを確認します", - "xpack.uptime.monitorList.infraIntegrationAction.kubernetes.tooltip": "ポッドUID「{podUid}」のインフラストラクチャUIを確認します。", - "xpack.uptime.monitorList.loggingIntegrationAction.container.tooltip": "コンテナーID「{containerId}」のロギングUIを確認します", - "xpack.uptime.monitorList.loggingIntegrationAction.ip.tooltip": "IP \"{ip}\"のロギングUIを確認", - "xpack.uptime.monitorList.loggingIntegrationAction.kubernetes.tooltip": "ポッドUID「{podUid}」のログを確認します", - "xpack.uptime.monitorList.monitorType.filter": "タイプ{type}ですべての監視をフィルター", - "xpack.uptime.monitorList.mostRecentError.title": "最近のエラー({timestamp})", - "xpack.uptime.monitorList.noDownHistory": "このモニターは選択された時間範囲で一度も {emphasizedText} していません。", - "xpack.uptime.monitorList.observabilityIntegrationsColumn.apmIntegrationLink.tooltip": "ここをクリックすると、APMのドメイン「{domain}」、または明示的に定義された「サービス名」を確認します。", - "xpack.uptime.monitorList.observabilityIntegrationsColumn.popoverIconButton.ariaLabel": "URL {monitorUrl}で監査のための統合ポップオーバーを開く", - "xpack.uptime.monitorList.pageSizePopoverButtonText": "ページごとの行数:{size}", - "xpack.uptime.monitorList.pageSizeSelect.numRowsItemMessage": "{numRows}行", - "xpack.uptime.monitorList.redirects.title.number": "{number}", - "xpack.uptime.monitorList.statusColumn.checkedTimestamp": "確認:{timestamp}", - "xpack.uptime.monitorList.statusColumn.locStatusMessage": "{noLoc}場所", - "xpack.uptime.monitorList.statusColumn.locStatusMessage.multiple": "{noLoc}場所", - "xpack.uptime.monitorList.statusColumn.locStatusMessage.tooltip.down": "{locs}でダウン", - "xpack.uptime.monitorList.statusColumn.locStatusMessage.tooltip.up": "{locs}でアップ", - "xpack.uptime.monitorList.table.description": "列にステータス、名前、URL、IP、ダウンタイム履歴、統合が入力されたモニターステータス表です。この表は現在 {length} 項目を表示しています。", - "xpack.uptime.monitorList.tags.filter": "タグ{tag}ですべての監視をフィルター", - "xpack.uptime.monitorRoute.title": "モニター | {baseTitle}", - "xpack.uptime.monitorStatusBar.locations.oneLocStatus": "{loc}場所で{status}", - "xpack.uptime.monitorStatusBar.locations.upStatus": "{loc}場所で{status}", - "xpack.uptime.overview.alerts.enabled.success.description": "この監視が停止しているときには、メッセージが{actionConnectors}に送信されます。", - "xpack.uptime.pingist.durationSecondsColumnFormatting": "{seconds}秒", - "xpack.uptime.pingist.durationSecondsColumnFormatting.singular": "{seconds}秒", - "xpack.uptime.pingList.durationMsColumnFormatting": "{millis} ms", - "xpack.uptime.pingList.expandedRow.response_body.notRecorded": "本文が記録されていません。応答本文の記録に関する詳細は、{docsLink}をお読みください。", - "xpack.uptime.public.pages.mappingError.bodyDocsLink": "この問題のトラブルシューティングについては、{docsLink}を参照してください。", - "xpack.uptime.public.pages.mappingError.bodyMessage": "正しくないマッピングが検出されました。Heartbeat {setup}コマンドを実行していない可能性があります。", - "xpack.uptime.snapshot.donutChart.ariaLabel": "現在のステータスを表す円グラフ、{total} 個中 {down} 個のモニターがダウンしています。", - "xpack.uptime.snapshotHistogram.description": "{startTime} から {endTime} までの期間のアップタイムステータスを表示する棒グラフです。", - "xpack.uptime.sourceConfiguration.ageThresholdDefaultValue": "デフォルト値は{defaultValue}です", - "xpack.uptime.sourceConfiguration.expirationThresholdDefaultValue": "デフォルト値は{defaultValue}です", - "xpack.uptime.sourceConfiguration.heartbeatIndicesDefaultValue": "デフォルト値は{defaultValue}です", - "xpack.uptime.stepDetailRoute.title": "Synthetics詳細 | {baseTitle}", - "xpack.uptime.synthetics.emptyJourney.message.checkGroupField": "ジャーニーのチェックグループは{codeBlock}です。", - "xpack.uptime.synthetics.executedStep.screenshot.notSucceeded": "{status}チェックのスクリーンショット", - "xpack.uptime.synthetics.journey.allFailedMessage": "{total}ステップ - すべて失敗またはスキップされました", - "xpack.uptime.synthetics.journey.allSucceededMessage": "{total}ステップ - すべて成功しました", - "xpack.uptime.synthetics.journey.partialSuccessMessage": "{total}ステップ - {succeeded}成功しました", - "xpack.uptime.synthetics.pingTimestamp.captionContent": "ステップ:{stepNumber}/{totalSteps}", - "xpack.uptime.synthetics.screenshotDisplay.altText": "名前\"{stepName}\"のステップのスクリーンショット", - "xpack.uptime.synthetics.step.duration": "{value}秒", - "xpack.uptime.synthetics.waterfall.offsetUnit": "{offset} ms", - "xpack.uptime.synthetics.waterfall.requestsHighlightedMessage": "({numHighlightedRequests}がフィルターと一致します)", - "xpack.uptime.synthetics.waterfall.requestsTotalMessage": "{numNetworkRequests}件のネットワークリクエスト", - "xpack.uptime.synthetics.waterfall.requestsTotalMessage.first": "最初の{count}件", - "xpack.uptime.addDataButtonLabel": "データの追加", - "xpack.uptime.alertDropdown.noWritePermissions": "このアプリでアラートを作成するには、アップタイムへの読み書きアクセス権が必要です。", - "xpack.uptime.alerts.anomaly.criteriaExpression.ariaLabel": "選択したモニターの条件を表示する式。", - "xpack.uptime.alerts.anomaly.criteriaExpression.description": "監視するとき", - "xpack.uptime.alerts.anomaly.scoreExpression.ariaLabel": "異常アラートしきい値の条件を表示する式。", - "xpack.uptime.alerts.anomaly.scoreExpression.description": "異常と重要度があります", - "xpack.uptime.alerts.createRulesPanel.title": "ルールを作成", - "xpack.uptime.alerts.durationAnomaly": "アップタイム期間異常", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.anomalyStartTimestamp": "異常の開始のISO8601タイムスタンプ", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.expectedResponseTime": "想定応答時間", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.monitor": "名前、IDS、優先名の人間にとってわかりやすい表示(My Monitorなど)", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.monitorId": "モニターのID。", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.monitorUrl": "モニターのURL。", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.observerLocation": "Heartbeatチェックが実行されるオブサーバーの位置情報。", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.severity": "異常の重要度。", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.severityScore": "異常重要度スコア。", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.slowestAnomalyResponse": "単位(ミリ秒、秒)が関連付けられた異常バケット中の最も遅い応答時間。", - "xpack.uptime.alerts.monitorStatus": "稼働状況の監視ステータス", - "xpack.uptime.alerts.monitorStatus.actionVariables.context.alertDetailUrl.description": "このアラートに関連する詳細とコンテキストを示すElastic内のビューへのリンク", - "xpack.uptime.alerts.monitorStatus.actionVariables.context.alertReasonMessage.description": "アラートの理由の簡潔な説明", - "xpack.uptime.alerts.monitorStatus.actionVariables.context.message.description": "現在ダウンしているモニターを要約する生成されたメッセージ。", - "xpack.uptime.alerts.monitorStatus.actionVariables.context.viewInAppUrl.description": "アラートとコンテキストを調査するために使用できる、Elastic内のビューまたは機能へのリンク", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.checkedAt": "モニターチェックのタイムスタンプ。", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.currentTriggerStarted": "アラートがトリガーされた場合、現在のトリガー状態が開始するときを示すタイムスタンプ", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.firstCheckedAt": "このアラートが最初に確認されるときを示すタイムスタンプ", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.firstTriggeredAt": "このアラートが最初にトリガーされたときを示すタイムスタンプ", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.isTriggered": "アラートが現在トリガーしているかどうかを示すフラグ", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.lastCheckedAt": "アラートの直近の確認時刻を示すタイムスタンプ", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.lastErrorMessage": "最新のエラーメッセージを監視", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.lastResolvedAt": "このアラートの直近の解決を示すタイムスタンプ", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.lastTriggeredAt": "アラートの直近のトリガー時刻を示すタイムスタンプ", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.monitor": "名前、IDS、優先名の人間にとってわかりやすい表示(My Monitorなど)", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.monitorId": "モニターのID。", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.monitorType": "モニターのタイプ(HTTP/TCPなど)。", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.monitorUrl": "モニターのURL。", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.observerHostname": "Heartbeatチェックが実行されるオブザーバーのホスト名。", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.observerLocation": "Heartbeatチェックが実行されるオブザーバーの位置情報。", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.statusMessage": "ステータスメッセージ。例:停止、または可用性チェックの場合は可用性しきい値未満、あるいは両方", - "xpack.uptime.alerts.monitorStatus.addFilter": "フィルターを追加します", - "xpack.uptime.alerts.monitorStatus.addFilter.location": "場所", - "xpack.uptime.alerts.monitorStatus.addFilter.port": "ポート", - "xpack.uptime.alerts.monitorStatus.addFilter.tag": "タグ", - "xpack.uptime.alerts.monitorStatus.addFilter.type": "型", - "xpack.uptime.alerts.monitorStatus.availability.isEnabledCheckbox.label": "可用性", - "xpack.uptime.alerts.monitorStatus.availability.threshold.anyMonitorDescription": "任意のモニターがアップ", - "xpack.uptime.alerts.monitorStatus.availability.threshold.ariaLabel": "このアラートの可用性しきい値を指定", - "xpack.uptime.alerts.monitorStatus.availability.threshold.description": "一致するモニターがアップしています", - "xpack.uptime.alerts.monitorStatus.availability.threshold.input.ariaLabel": "このアラートで確認する可用性しきい値を入力", - "xpack.uptime.alerts.monitorStatus.availability.timerangeValueField.ariaLabel": "アラートの可用性チェックの時間単位の数を入力", - "xpack.uptime.alerts.monitorStatus.availability.timerangeValueField.expression": "最後内", - "xpack.uptime.alerts.monitorStatus.availability.timerangeValueField.popover.ariaLabel": "可用性追跡時間範囲を指定", - "xpack.uptime.alerts.monitorStatus.availability.unit.headline": "時間範囲単位を選択します", - "xpack.uptime.alerts.monitorStatus.availability.unit.selectable": "この選択を使用して、このアラートの可用性範囲単位を設定", - "xpack.uptime.alerts.monitorStatus.filterBar.ariaLabel": "監視状態アラートのフィルター基準を許可するインプット", - "xpack.uptime.alerts.monitorStatus.filters.anyLocation": "任意の場所", - "xpack.uptime.alerts.monitorStatus.filters.anyPort": "任意のポート", - "xpack.uptime.alerts.monitorStatus.filters.anyTag": "任意のタグ", - "xpack.uptime.alerts.monitorStatus.filters.anyType": "任意のタイプ", - "xpack.uptime.alerts.monitorStatus.filters.from": "開始:", - "xpack.uptime.alerts.monitorStatus.filters.fromLocation": "開始場所", - "xpack.uptime.alerts.monitorStatus.filters.location.label": "アラートのクエリに適用する場所フィルターを選択します。", - "xpack.uptime.alerts.monitorStatus.filters.of": "/", - "xpack.uptime.alerts.monitorStatus.filters.ofType": "型", - "xpack.uptime.alerts.monitorStatus.filters.port.label": "アラートのクエリに適用するポートフィルターを選択します。", - "xpack.uptime.alerts.monitorStatus.filters.scheme.label": "アラートのクエリに適用するプロトコルスキームフィルターを選択します。", - "xpack.uptime.alerts.monitorStatus.filters.tag.label": "アラートのクエリに適用するタグフィルターを選択します。", - "xpack.uptime.alerts.monitorStatus.filters.using": "使用", - "xpack.uptime.alerts.monitorStatus.filters.usingPort": "ポートを使用", - "xpack.uptime.alerts.monitorStatus.filters.with": "使用", - "xpack.uptime.alerts.monitorStatus.filters.withTag": "タグを使用", - "xpack.uptime.alerts.monitorStatus.numTimesExpression.anyMonitors.description": "任意のモニターがダウン >=", - "xpack.uptime.alerts.monitorStatus.numTimesExpression.ariaLabel": "ダウンカウントインプットのポップオーバーを開く", - "xpack.uptime.alerts.monitorStatus.numTimesExpression.matchingMonitors.description": "一致するモニターがダウン >=", - "xpack.uptime.alerts.monitorStatus.numTimesField.ariaLabel": "アラートのトリガーに必要な停止回数を入力します", - "xpack.uptime.alerts.monitorStatus.oldAlertCallout.title": "古いアラートを編集している可能性があります。一部のフィールドは自動入力されない場合があります。", - "xpack.uptime.alerts.monitorStatus.statusEnabledCheck.label": "ステータス確認", - "xpack.uptime.alerts.monitorStatus.timerangeOption.days": "日", - "xpack.uptime.alerts.monitorStatus.timerangeOption.hours": "時間", - "xpack.uptime.alerts.monitorStatus.timerangeOption.minutes": "分", - "xpack.uptime.alerts.monitorStatus.timerangeOption.months": "か月", - "xpack.uptime.alerts.monitorStatus.timerangeOption.seconds": "秒", - "xpack.uptime.alerts.monitorStatus.timerangeOption.weeks": "週間", - "xpack.uptime.alerts.monitorStatus.timerangeOption.years": "年", - "xpack.uptime.alerts.monitorStatus.timerangeSelectionHeader": "時間範囲単位を選択します", - "xpack.uptime.alerts.monitorStatus.timerangeUnitExpression.ariaLabel": "時間範囲単位選択フィールドのポップオーバーを開く", - "xpack.uptime.alerts.monitorStatus.timerangeUnitSelectable": "アラートで使用する時間範囲単位の選択可能フィールド", - "xpack.uptime.alerts.monitorStatus.timerangeValueExpression.ariaLabel": "時間範囲値フィールドのポップオーバーを開く", - "xpack.uptime.alerts.monitorStatus.timerangeValueField.ariaLabel": "アラートの範囲のための時間単位の数を入力してください", - "xpack.uptime.alerts.monitorStatus.timerangeValueField.expression": "within", - "xpack.uptime.alerts.timerangeUnitSelectable.daysOption.ariaLabel": "「日」の時間範囲選択項目", - "xpack.uptime.alerts.timerangeUnitSelectable.hoursOption.ariaLabel": "「時間」の時間範囲選択項目", - "xpack.uptime.alerts.timerangeUnitSelectable.minutesOption.ariaLabel": "「分」の時間範囲選択項目", - "xpack.uptime.alerts.timerangeUnitSelectable.monthsOption.ariaLabel": "「月」の時間範囲選択項目", - "xpack.uptime.alerts.timerangeUnitSelectable.secondsOption.ariaLabel": "「秒」の時間範囲選択項目", - "xpack.uptime.alerts.timerangeUnitSelectable.weeksOption.ariaLabel": "「週」の時間範囲選択項目", - "xpack.uptime.alerts.timerangeUnitSelectable.yearsOption.ariaLabel": "「年」の時間範囲選択項目", - "xpack.uptime.alerts.tls": "アップタイムTLS", - "xpack.uptime.alerts.tls.actionVariables.state.agingCommonNameAndDate": "検出された証明書の共通名と有効期限日時。", - "xpack.uptime.alerts.tls.actionVariables.state.agingCount": "検出された古くなりすぎた証明書数。", - "xpack.uptime.alerts.tls.actionVariables.state.count": "アラート実行によって検出された証明書数", - "xpack.uptime.alerts.tls.actionVariables.state.expiringCommonNameAndDate": "検出された証明書の共通名と有効期限日時", - "xpack.uptime.alerts.tls.actionVariables.state.expiringCount": "アラートによって検出された期限切れになる証明書数", - "xpack.uptime.alerts.tls.agingLabel": "古すぎます", - "xpack.uptime.alerts.tls.criteriaExpression.ariaLabel": "このアラートで監視されるモニターの条件を示す式", - "xpack.uptime.alerts.tls.expiredLabel": "期限切れ", - "xpack.uptime.alerts.tls.expiringLabel": "まもなく期限切れ", - "xpack.uptime.alerts.tls.invalidLabel": "無効", - "xpack.uptime.alerts.tlsLegacy": "アップタイムTLS(レガシー)", - "xpack.uptime.alertsPopover.toggleButton.ariaLabel": "アラートおよびルールコンテキストメニューを開く", - "xpack.uptime.apmIntegrationAction.description": "このモニターの検索 APM", - "xpack.uptime.apmIntegrationAction.text": "APMデータを表示", - "xpack.uptime.breadcrumbs.legacyOverviewBreadcrumbText": "アップタイム", - "xpack.uptime.controls.selectSeverity.criticalLabel": "致命的", - "xpack.uptime.controls.selectSeverity.majorLabel": "メジャー", - "xpack.uptime.controls.selectSeverity.minorLabel": "マイナー", - "xpack.uptime.controls.selectSeverity.warningLabel": "警告", - "xpack.uptime.deprecateNoticeModal.addPrivateLocations": "Fleetポリシーに対して非公開の場所を追加", - "xpack.uptime.deprecateNoticeModal.automateMonitors": "プロジェクトモニターを使用してモニターの作成を自動化", - "xpack.uptime.deprecateNoticeModal.description": "Elastic Synthetics統合は廃止予定です。その代わり、エンドポイント、ページ、ユーザージャーニーをSyntheticsアプリから直接監視できるようになり、より効率的になりました:", - "xpack.uptime.deprecateNoticeModal.elasticManagedLocations": "Elasticが管理する複数の場所で、またはお客様の非公開の場所からモニターを実行", - "xpack.uptime.deprecateNoticeModal.goBack": "戻る", - "xpack.uptime.deprecateNoticeModal.goToSynthetics": "Syntheticsに移動", - "xpack.uptime.deprecateNoticeModal.headerText": "SyntheticsでSynthetic Monitoringがすぐに使えるようになりました", - "xpack.uptime.deprecateNoticeModal.manageMonitors": "軽量化とブラウザーモニターの一元管理", - "xpack.uptime.deprecateNoticeModal.readDocs": "ドキュメントをお読みください。", - "xpack.uptime.durationChart.emptyPrompt.title": "利用可能な期間データがありません", - "xpack.uptime.editPackagePolicy.inSynthetics": "Syntheticsで編集", - "xpack.uptime.editPackagePolicy.inSyntheticsDesc": "このパッケージポリシーは、Syntheticsアプリで管理されます。", - "xpack.uptime.emptyState.loadingMessage": "読み込み中…", - "xpack.uptime.emptyStateError.notFoundPage": "ページが見つかりません", - "xpack.uptime.enableAlert.editAlert": "アラートを編集", - "xpack.uptime.filterBar.ariaLabel": "概要ページのインプットフィルター基準", - "xpack.uptime.filterBar.filterAllLabel": "すべて", - "xpack.uptime.filterBar.options.location.name": "場所", - "xpack.uptime.filterBar.options.portLabel": "ポート", - "xpack.uptime.filterBar.options.schemeLabel": "スキーム", - "xpack.uptime.filterBar.options.tagsLabel": "タグ", - "xpack.uptime.fleetIntegration.assets.description": "Syntheticsでモニターを表示", - "xpack.uptime.fleetIntegration.assets.name": "監視", - "xpack.uptime.integration.deprecation.dismiss": "閉じる", - "xpack.uptime.integration.deprecation.link": "Synthetics移行ドキュメント", - "xpack.uptime.integration.deprecation.title": "Elastic Synthetics統合モニターを移行", - "xpack.uptime.integrationLink.missingDataMessage": "この統合に必要なデータが見つかりませんでした。", - "xpack.uptime.kueryBar.searchPlaceholder.kql": "KQL構文を使用して、モニターID、名前、タイプ(例:monitor.type: \"http\" AND tags: \"dev\")などを検索", - "xpack.uptime.kueryBar.searchPlaceholder.simpleText": "モニターID、名前、URL、ポート、またはタグで検索", - "xpack.uptime.locationName.helpLinkAnnotation": "場所を追加", - "xpack.uptime.mappingErrorRoute.breadcrumb": "マッピングエラー", - "xpack.uptime.mappingErrorRoute.pageHeader.title": "マッピングエラー", - "xpack.uptime.mappingErrorRoute.title": "Synthetics | マッピングエラー", - "xpack.uptime.ml.durationChart.exploreInMlApp": "ML アプリで探索", - "xpack.uptime.ml.enableAnomalyDetectionPanel.add_job_permissions_needed": "権限が必要です", - "xpack.uptime.ml.enableAnomalyDetectionPanel.anomalyDetectionTitle": "異常検知", - "xpack.uptime.ml.enableAnomalyDetectionPanel.cancelLabel": "キャンセル", - "xpack.uptime.ml.enableAnomalyDetectionPanel.createMLJobDescription": "ここでは機械学習ジョブを作成し、\n アップタイム監視の対応期間の異常スコアを計算できます。有効にすると、詳細ページの監視期間グラフには\n 想定された境界が表示され、異常があるグラフに注釈が付けられます。また、\n 地理的な地域にわたって遅延が増える期間を特定することもできます。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.createNewJobButtonLabel": "新規ジョブを作成", - "xpack.uptime.ml.enableAnomalyDetectionPanel.disableAnomalyAlert": "異常アラートを無効にする", - "xpack.uptime.ml.enableAnomalyDetectionPanel.disableAnomalyDetectionTitle": "異常検知を無効にする", - "xpack.uptime.ml.enableAnomalyDetectionPanel.enable_or_manage_job": "異常検知ジョブを有効にできます。ジョブがすでに存在する場合はジョブまたはアラートを管理できます。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.enableAnomalyAlert": "異常アラートを有効にする", - "xpack.uptime.ml.enableAnomalyDetectionPanel.enableAnomalyDetectionTitle": "異常検知を有効にする", - "xpack.uptime.ml.enableAnomalyDetectionPanel.insufficient_permissions_add_job": "機械学習でこの機能を使用するには、Kibana権限が必要です。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreatedLazyNotificationText": "分析は機械学習ノードが使用可能になるのを待機しています。応答時間グラフに結果が追加されるまで、しばらく時間がかかる可能性があります。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreatedNotificationText": "これで応答時間グラフについての分析が実行されます。応答時間グラフに結果が追加されるまで、しばらく時間がかかる可能性があります。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreatedNotificationText.viewJobLinkText": "ジョブを表示", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreatedNotificationTitle": "ジョブの作成が正常に完了しました", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreationFailedNotificationText": "現在のライセンスでは機械学習ジョブの作成が許可されていないか、ジョブがすでに存在する可能性があります。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreationFailedNotificationTitle": "ジョブの作成に失敗", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobDeletionConfirmLabel": "異常検知ジョブを削除しますか?", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobDeletionNotificationTitle": "ジョブを削除しました", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobDeletionSuccessNotificationText": "ジョブの削除が正常に完了しました", - "xpack.uptime.ml.enableAnomalyDetectionPanel.manageAnomalyDetectionTitle": "異常検知を管理", - "xpack.uptime.ml.enableAnomalyDetectionPanel.manageMLJobDescription.mlJobsPageLinkText": "機械学習ジョブの管理ページ", - "xpack.uptime.ml.enableAnomalyDetectionPanel.manageMLJobDescription.noteText": "注:ジョブが結果の計算を開始するまでに少し時間がかかる場合があります。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.noPermissionsTooltip": "異常アラートを作成するには、アップタイムへの読み書きアクセス権が必要です。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.startTrial": "無料の 14 日トライアルを開始", - "xpack.uptime.ml.enableAnomalyDetectionPanel.startTrialDesc": "期間異常検知機能を利用するには、Elastic Platinum ライセンスが必要です。", - "xpack.uptime.monitorCharts.durationChart.wrapper.label": "場所でグループ化された、モニターのping期間を示すグラフ。", - "xpack.uptime.monitorCharts.monitorDuration.titleLabel": "監視期間", - "xpack.uptime.monitorDetails.ml.confirmAlertDeleteMessage": "異常のアラートを削除しますか?", - "xpack.uptime.monitorDetails.ml.confirmDeleteMessage": "このジョブを削除してよろしいですか?", - "xpack.uptime.monitorDetails.ml.deleteJobWarning": "ジョブの削除に時間がかかる可能性があります。削除はバックグラウンドで実行され、データの表示がすぐに消えないことがあります。", - "xpack.uptime.monitorDetails.ml.deleteMessage": "ジョブを削除中...", - "xpack.uptime.monitorDetails.statusBar.pingType.browser": "ブラウザー", - "xpack.uptime.monitorDetails.statusBar.pingType.http": "HTTP", - "xpack.uptime.monitorDetails.statusBar.pingType.icmp": "ICMP", - "xpack.uptime.monitorDetails.statusBar.pingType.tcp": "TCP", - "xpack.uptime.monitorDetails.title.disclaimer.description": "(ベータ)", - "xpack.uptime.monitorDetails.title.disclaimer.link": "詳細を表示", - "xpack.uptime.monitorDetails.title.pingType.browser": "ブラウザー", - "xpack.uptime.monitorDetails.title.pingType.http": "HTTP ping", - "xpack.uptime.monitorDetails.title.pingType.icmp": "ICMP ping", - "xpack.uptime.monitorDetails.title.pingType.tcp": "TCP ping", - "xpack.uptime.monitorList.defineConnector.popover.description": "ステータスアラートを受信します。", - "xpack.uptime.monitorList.disableDownAlert": "ステータスアラートを無効にする", - "xpack.uptime.monitorList.downLineSeries.downLabel": "ダウン", - "xpack.uptime.monitorList.drawer.mostRecentRun": "直近のテスト実行", - "xpack.uptime.monitorList.drawer.url": "Url", - "xpack.uptime.monitorList.enabledAlerts.noAlert": "このモニターではルールが有効ではありません。", - "xpack.uptime.monitorList.enabledAlerts.title": "有効なルール", - "xpack.uptime.monitorList.enableDownAlert": "ステータスアラートを有効にする", - "xpack.uptime.monitorList.geoName.helpLinkAnnotation": "場所を追加", - "xpack.uptime.monitorList.infraIntegrationAction.container.message": "コンテナーメトリックを表示", - "xpack.uptime.monitorList.infraIntegrationAction.docker.description": "このモニターのコンテナーIDのインフラストラクチャーUIを確認します", - "xpack.uptime.monitorList.infraIntegrationAction.ip.ariaLabel": "このモニターのIPアドレスのインフラストラクチャーUIを確認します", - "xpack.uptime.monitorList.infraIntegrationAction.ip.message": "ホストメトリックを表示", - "xpack.uptime.monitorList.infraIntegrationAction.kubernetes.description": "このモニターのポッドIDのインフラストラクチャーUIを確認します", - "xpack.uptime.monitorList.infraIntegrationAction.kubernetes.message": "ポッドメトリックを表示", - "xpack.uptime.monitorList.integrationGroup.emptyMessage": "統合されたアプリケーションがありません", - "xpack.uptime.monitorList.loading": "読み込み中...", - "xpack.uptime.monitorList.locations.expand": "クリックすると、残りの場所が表示されます", - "xpack.uptime.monitorList.loggingIntegrationAction.container.id": "コンテナーログを表示", - "xpack.uptime.monitorList.loggingIntegrationAction.container.message": "コンテナーログを表示", - "xpack.uptime.monitorList.loggingIntegrationAction.ip.description": "このモニターのIPアドレスのロギングUIを確認", - "xpack.uptime.monitorList.loggingIntegrationAction.ip.message": "ホストログを表示", - "xpack.uptime.monitorList.loggingIntegrationAction.kubernetes.ariaLabel": "ポッドログを表示", - "xpack.uptime.monitorList.loggingIntegrationAction.kubernetes.message": "ポッドログを表示", - "xpack.uptime.monitorList.monitorHistoryColumnLabel": "ダウンタイム履歴", - "xpack.uptime.monitorList.monitoringStatusTitle": "監視", - "xpack.uptime.monitorList.nameColumnLabel": "名前", - "xpack.uptime.monitorList.noItemForSelectedFiltersMessage": "選択されたフィルター条件でモニターが見つかりませんでした", - "xpack.uptime.monitorList.noItemMessage": "アップタイムモニターが見つかりません", - "xpack.uptime.monitorList.noMessage.troubleshoot": "絶対日付範囲を使用してください。監視が後から表示される場合は、HeartbeatまたはKibanaがインストールされたシステムクロックに問題がある可能性があります。", - "xpack.uptime.monitorList.observabilityInvestigateColumn.popoverIconButton.label": "調査", - "xpack.uptime.monitorList.statusAlert.label": "ステータスアラート", - "xpack.uptime.monitorList.statusColumnLabel": "ステータス", - "xpack.uptime.monitorList.tags.expand": "クリックすると、残りのタグが表示されます", - "xpack.uptime.monitorList.tlsColumnLabel": "TLS 証明書", - "xpack.uptime.monitorList.troubleshoot.systemClockOutOfSync": "システムクロックが同期されていない可能性があります", - "xpack.uptime.monitorList.troubleshoot.tryDateRange": "絶対日付範囲を適用", - "xpack.uptime.monitorList.troubleshoot.whereAreMyMonitors": "モニターの場所", - "xpack.uptime.monitorStatusBar.durationTextAriaLabel": "ミリ秒単位の監視時間", - "xpack.uptime.monitorStatusBar.healthStatusMessageAriaLabel": "監視ステータス", - "xpack.uptime.monitorStatusBar.loadingMessage": "読み込み中…", - "xpack.uptime.monitorStatusBar.monitor.availability": "全体的な可用性", - "xpack.uptime.monitorStatusBar.monitor.availabilityReport.availability": "可用性", - "xpack.uptime.monitorStatusBar.monitor.availabilityReport.location": "場所", - "xpack.uptime.monitorStatusBar.monitor.id": "監視ID", - "xpack.uptime.monitorStatusBar.monitor.monitoringFrom": "監視元", - "xpack.uptime.monitorStatusBar.monitor.monitoringFrom.listToMap": "マップビューに変更し、場所別に可用性を確認します。", - "xpack.uptime.monitorStatusBar.monitor.monitoringFrom.MapToList": "リストビューに変更し、場所別に可用性を確認します。", - "xpack.uptime.monitorStatusBar.monitorUrlLinkAriaLabel": "監視 URL リンク", - "xpack.uptime.monitorStatusBar.sslCertificate.title": "TLS 証明書", - "xpack.uptime.monitorStatusBar.timestampFromNowTextAriaLabel": "最終確認からの経過時間", - "xpack.uptime.monitorStatusBar.type.ariaLabel": "モニタータイプ", - "xpack.uptime.monitorStatusBar.type.label": "型", - "xpack.uptime.navigateToAlertingButton.content": "ルールの管理", - "xpack.uptime.navigateToAlertingUi": "Uptime を離れてアラート管理ページに移動します", - "xpack.uptime.noDataConfig.beatsCard.description": "サイトとサービスの可用性をアクティブに監視するアラートを受信し、問題をより迅速に解決して、ユーザーエクスペリエンスを最適化します。", - "xpack.uptime.noDataConfig.beatsCard.title": "Heartbeatでモニターを追加", - "xpack.uptime.noDataConfig.solutionName": "Observability", - "xpack.uptime.notFountPage.homeLinkText": "ホームへ戻る", - "xpack.uptime.openAlertContextPanel.label": "ルールを作成", - "xpack.uptime.overview.alerts.disabled.failed": "ルールを無効にできません。", - "xpack.uptime.overview.alerts.disabled.success": "ルールが正常に無効にされました。", - "xpack.uptime.overview.alerts.enabled.failed": "ルールを有効にできません。", - "xpack.uptime.overview.alerts.enabled.success": "ルールが正常に有効にされました。 ", - "xpack.uptime.overview.uptimeHeading": "稼働状況監視", - "xpack.uptime.overviewPageLink.disabled.ariaLabel": "無効になったページ付けボタンです。モニターリストがこれ以上ナビゲーションできないことを示しています。", - "xpack.uptime.overviewPageLink.next.ariaLabel": "次の結果ページ", - "xpack.uptime.overviewPageLink.prev.ariaLabel": "前の結果ページ", - "xpack.uptime.page_header.addDataLink.label": "アップタイムデータの追加に関するチュートリアルに移動", - "xpack.uptime.page_header.defineConnector.popover.defaultLink": "デフォルトのコネクターを定義", - "xpack.uptime.page_header.defineConnector.settingsLink": "設定", - "xpack.uptime.page_header.manageLink.not": "モニター管理はUptimeでは利用できなくなりました。Syntheticsアプリを使用してください。", - "xpack.uptime.page_header.manageMonitors": "モニター管理", - "xpack.uptime.pingList.checkHistoryTitle": "履歴", - "xpack.uptime.pingList.columns.failedStep": "失敗したステップ", - "xpack.uptime.pingList.drawer.body.docsLink": "ドキュメント", - "xpack.uptime.pingList.stepDurationHeader": "ステップ期間", - "xpack.uptime.pingList.synthetics.performanceBreakDown": "パフォーマンスの内訳を表示", - "xpack.uptime.pingList.synthetics.waterfall.filters.popover": "クリックすると、ウォーターフォールフィルターが開きます", - "xpack.uptime.public.pages.mappingError.title": "Heartbeatマッピングが見つかりません", - "xpack.uptime.routes.legacyBaseTitle": "アップタイム - Kibana", - "xpack.uptime.settings.heading": "アップタイム設定", - "xpack.uptime.snapshot.monitor": "監視", - "xpack.uptime.snapshot.monitors": "監視", - "xpack.uptime.snapshot.noDataDescription": "選択した時間範囲に ping はありません。", - "xpack.uptime.snapshot.noDataTitle": "利用可能な ping データがありません", - "xpack.uptime.snapshot.pingsOverTimeTitle": "一定時間のピング", - "xpack.uptime.snapshotHistogram.series.pings": "モニター接続確認", - "xpack.uptime.snapshotHistogram.xAxisId": "ピング X 軸", - "xpack.uptime.snapshotHistogram.yAxis.title": "ピング", - "xpack.uptime.snapshotHistogram.yAxisId": "ピングY軸", - "xpack.uptime.sourceConfiguration.ageLimit.units.days": "日", - "xpack.uptime.sourceConfiguration.ageLimitThresholdInput.ariaLabel": "TLS証明書が有効である最大日数を制御するインプット。この期間を過ぎると、Kibanaで警告が表示されます。", - "xpack.uptime.sourceConfiguration.alertConnectors": "アラートコネクター", - "xpack.uptime.sourceConfiguration.alertDefaultForm.requiredEmail": "電子メールコネクターには宛先電子メールアドレスが必須です", - "xpack.uptime.sourceConfiguration.alertDefaults": "アラートデフォルト", - "xpack.uptime.sourceConfiguration.applySettingsButtonLabel": "変更を適用", - "xpack.uptime.sourceConfiguration.certificateExpirationThresholdInput.ariaLabel": "TLS証明書の満了日までの最小日数を制御するインプット。この期間を過ぎると、Kibanaで警告が表示されます。", - "xpack.uptime.sourceConfiguration.certificateThresholdDescription": "証明書エラーを表示し、アラートを通知するしきい値を変更します。注:すべての構成されたアラートに影響します。", - "xpack.uptime.sourceConfiguration.certificationSectionTitle": "証明書の有効期限", - "xpack.uptime.sourceConfiguration.defaultConnectors.description": "アラートを送信するために使用されるデフォルトコネクター。", - "xpack.uptime.sourceConfiguration.discardSettingsButtonLabel": "キャンセル", - "xpack.uptime.sourceConfiguration.errorStateLabel": "有効期限しきい値", - "xpack.uptime.sourceConfiguration.expirationThreshold": "有効期限/使用期間しきい値", - "xpack.uptime.sourceConfiguration.heartbeatIndicesDescription": "Heartbeat データを含むインデックス照合用のインデックスパターン", - "xpack.uptime.sourceConfiguration.heartbeatIndicesLabel": "Heartbeat インデックス", - "xpack.uptime.sourceConfiguration.heartbeatIndicesTitle": "アップタイムインデックス", - "xpack.uptime.sourceConfiguration.indicesSectionTitle": "インデックス", - "xpack.uptime.sourceConfiguration.warningStateLabel": "使用期間上限", - "xpack.uptime.stepList.collapseRow": "縮小", - "xpack.uptime.stepList.expandRow": "拡張", - "xpack.uptime.stepList.stepName": "ステップ名", - "xpack.uptime.synthetics.consoleStepList.message": "実行できませんでした。記録されたコンソール出力は次のとおりです。", - "xpack.uptime.synthetics.consoleStepList.title": "ステップが実行されませんでした", - "xpack.uptime.synthetics.emptyJourney.message.footer": "表示する詳細情報はありません。", - "xpack.uptime.synthetics.emptyJourney.message.heading": "ステップが含まれていませんでした。", - "xpack.uptime.synthetics.emptyJourney.title": "ステップがありません。", - "xpack.uptime.synthetics.executedStep.consoleOutput.label": "コンソール出力", - "xpack.uptime.synthetics.executedStep.errorHeading": "エラーメッセージ", - "xpack.uptime.synthetics.executedStep.screenshot.not": "スクリーンショット", - "xpack.uptime.synthetics.executedStep.scriptHeading.label": "このステップで実行されたスクリプト", - "xpack.uptime.synthetics.executedStep.stackTrace": "スタックトレース", - "xpack.uptime.synthetics.imageLoadingSpinner.ariaLabel": "画像を示すアニメーションスピナーを読み込んでいます", - "xpack.uptime.synthetics.journey.loadingSteps": "ステップを読み込んでいます...", - "xpack.uptime.synthetics.nextStepButton.ariaLabel": "次のステップ", - "xpack.uptime.synthetics.performanceBreakDown.label": "パフォーマンスの内訳", - "xpack.uptime.synthetics.prevStepButton.airaLabel": "前のステップ", - "xpack.uptime.synthetics.screenshot.loadingImageMessage": "読み込み中", - "xpack.uptime.synthetics.screenshot.noImageMessage": "画像がありません", - "xpack.uptime.synthetics.screenshotDisplay.altTextWithoutName": "スクリーンショット", - "xpack.uptime.synthetics.statusBadge.failedMessage": "失敗", - "xpack.uptime.synthetics.statusBadge.skippedMessage": "スキップ", - "xpack.uptime.synthetics.statusBadge.succeededMessage": "成功", - "xpack.uptime.synthetics.step.durationTrend": "ステップ期間傾向", - "xpack.uptime.synthetics.stepDetail.noData": "このステップのデータが見つかりませんでした", - "xpack.uptime.synthetics.stepList.nextCheck": "次の確認", - "xpack.uptime.synthetics.stepList.previousCheck": "前の確認", - "xpack.uptime.synthetics.thumbnail.fullSize.alt": "このステップのサムネイルのスクリーンショットの大きいバージョン。", - "xpack.uptime.title": "アップタイム", - "xpack.uptime.toggleTlsAlertButton.ariaLabel": "TLSルールフライアウトを開く", - "xpack.uptime.toggleTlsAlertButton.content": "TLSルール", "xpack.threatIntelligence.common.emptyPage.body3": "Elastic Threat Intelligenceを開始するには、[統合]ページから1つ以上の脅威インテリジェンス統合を有効にするか、Filebeatを使用してデータを取り込みます。詳細については、{docsLink}。", "xpack.threatIntelligence.addToBlockList": "ブロックリストエントリの追加", "xpack.threatIntelligence.addToExistingCase": "既存のケースに追加", @@ -37204,7 +38456,6 @@ "xpack.transform.transformList.editFlyoutFormMaxPageSearchSizeHelpText": "各チェックポイントの複合集計で使用する、初期ページサイズ。", "xpack.transform.transformList.editFlyoutFormMaxPageSearchSizeLabel": "最大ページ検索サイズ", "xpack.transform.transformList.editFlyoutFormNumberAboveZeroNotValidErrorMessage": "値は1以上の整数でなければなりません。", - "xpack.transform.transformSettingValidations.numberGreaterThanOrEqualToNegativeOneNotValidErrorMessage": "再試行回数は0~100の範囲でなければなりません。-1を指定すると、再試行回数が無制限に設定されます。", "xpack.transform.transformList.editFlyoutFormNumFailureRetriesHelpText": "回復可能な失敗時の再試行回数。この回数を超えると、トランスフォームタスクが失敗に設定されます。-1を指定すると、再試行回数が無制限に設定されます。", "xpack.transform.transformList.editFlyoutFormRequiredErrorMessage": "必須フィールド。", "xpack.transform.transformList.editFlyoutFormRetentionPolicyDateFieldHelpText": "デスティネーションインデックスで古いドキュメントを特定するために使用できる日付フィールドを選択します。", @@ -37273,6 +38524,11 @@ "xpack.transform.transformNodes.noTransformNodesCallOutTitle": "利用可能なトランスフォームノードがありません。", "xpack.transform.transformNodes.noTransformNodesLearnMoreLinkText": "詳細", "xpack.transform.transformsDescription": "トランスフォームを使用して、既存のElasticsearchインデックスを要約されたエンティティ中心のインデックスにピボットするか、最新のドキュメントのインデックス付きビューを作成し、高速アクセスを可能にします。", + "xpack.transform.transformSettingsValidations.numberOfRetriesInvalidErrorMessage": "再試行回数は0~100の範囲でなければなりません。-1を指定すると、再試行回数が無制限に設定されます。", + "xpack.transform.transformSettingValidations.maxPageSearchSizeInvalidMessage": "最大ページ検索サイズは10~65536の範囲の整数でなければなりません。", + "xpack.transform.transformSettingValidations.numberGreaterThanOrEqualToNegativeOneNotValidErrorMessage": "再試行回数は0~100の範囲でなければなりません。-1を指定すると、再試行回数が無制限に設定されます。", + "xpack.transform.transformSettingValidations.numberRange10To10000NotValidErrorMessage": "値は10~10000の範囲の整数でなければなりません。", + "xpack.transform.transformSettingValidations.retentionPolicyMaxAgeInvalidMessage": "無効な最大年齢形式です。60秒以上が必要です。", "xpack.transform.transformsTitle": "トランスフォーム", "xpack.transform.transformsWizard.cloneTransformTitle": "クローントランスフォーム", "xpack.transform.transformsWizard.createTransformTitle": "トランスフォームの作成", @@ -37401,16 +38657,15 @@ "xpack.triggersActionsUI.sections.rulesList.lastRunOutcomeWarningDescription": "警告:{total}", "xpack.triggersActionsUI.sections.rulesList.removeAllSnoozeSchedules": "{count, plural, other {#件のスケジュール}}を削除しますか?", "xpack.triggersActionsUI.sections.rulesList.rulesListAutoRefresh.lastUpdateText": "{lastUpdateText}を更新しました", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.days": "{value, plural, other {#日}}", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.hours": "{value, plural, other {#時間}}", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.minutes": "{value, plural, other {#分}}", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.months": "{value, plural, other {#月}}", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.seconds": "{value, plural, other {#秒}}", "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.snoozedTooltip": "通知は{snoozeTime}間スヌーズされます", "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.snoozeScheduledTooltip": "通知は{schedStart}からスヌーズされるようにスケジュールされました", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.timeRemaining": "残り時間", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.seconds": "{value, plural, one {# 年} other {# 年}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.minutes": "{value, plural, one {# 分} other {# 分}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.hours": "{value, plural, one {# 時間} other {# 時間}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.days": "{value, plural, one {# 日} other {# 日}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.weeks": "{value, plural, one {# 週間} other {# 週間}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.months": "{value, plural, one {# 月} other {# 月}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.years": "{value, plural, one {# 年} other {# 年}}", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.weeks": "{value, plural, other {#週}}", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.years": "{value, plural, other {#年}}", "xpack.triggersActionsUI.sections.rulesList.rulesListTable.columns.intervalTooltipText": "ルール間隔{interval}は構成された最小間隔{minimumInterval}を下回ります。これはアラートのパフォーマンスに影響する場合があります。", "xpack.triggersActionsUI.sections.rulesList.rulesListTable.columns.ruleExecutionPercentileTooltip": "このルールの過去の{sampleLimit}実行時間(mm:ss)の{percentileOrdinal}パーセンタイル。", "xpack.triggersActionsUI.sections.rulesList.selectAllRulesButton": "すべての{formattedTotalRules}件の{totalRules, plural, =1 {ルール} other {ルール}}を選択", @@ -37461,10 +38716,13 @@ "xpack.triggersActionsUI.alerts.table.actions.alertsAlreadyAttachedToCase": "すべての選択されたアラートはすでにケースに関連付けられています", "xpack.triggersActionsUI.alerts.table.actions.noAlertsAddedToCaseTitle": "ケースに追加されたアラートはありません", "xpack.triggersActionsUI.alertsSearchBar.placeholder": "検索アラート(例:kibana.alert.evaluation.threshold > 75)", + "xpack.triggersActionsUI.alertsTable.api.bulkGetMaintenanceWindow.errorTitle": "保守時間枠データの取得エラー", "xpack.triggersActionsUI.alertsTable.configuration.errorBody": "アラートテーブルの読み込みエラーが発生しました。このテーブルには必要な構成がありません。ヘルプについては、管理者にお問い合わせください", "xpack.triggersActionsUI.alertsTable.configuration.errorTitle": "アラートテーブルを読み込めません", "xpack.triggersActionsUI.alertsTable.lastUpdated.updated": "更新しました", "xpack.triggersActionsUI.alertsTable.lastUpdated.updating": "更新中...", + "xpack.triggersActionsUI.alertsTable.maintenanceWindowTooltip.endTime": "終了", + "xpack.triggersActionsUI.alertsTable.maintenanceWindowTooltip.startTime": "開始", "xpack.triggersActionsUI.appName": "ルール", "xpack.triggersActionsUI.bulkActions.columnHeader.AriaLabel": "すべての行を選択", "xpack.triggersActionsUI.cases.api.bulkGet": "ケースデータの取得エラー", @@ -37575,6 +38833,7 @@ "xpack.triggersActionsUI.licenseCheck.actionTypeDisabledByLicenseLinkTitle": "ライセンスオプションを表示", "xpack.triggersActionsUI.licenseCheck.actionTypeDisabledByLicenseMessageDescription": "このアクションを再び有効にするには、ライセンスをアップグレードしてください。", "xpack.triggersActionsUI.logs.breadcrumbTitle": "ログ", + "xpack.triggersActionsUI.maintenanceWindows.label": "保守時間枠", "xpack.triggersActionsUI.managementSection.connectors.displayDescription": "サードパーティソフトウェアをアラートデータに連携します。", "xpack.triggersActionsUI.managementSection.connectors.displayName": "コネクター", "xpack.triggersActionsUI.managementSection.displayDescription": "ルールを使用する条件を検出します。", @@ -37701,6 +38960,7 @@ "xpack.triggersActionsUI.sections.alertsTable.alertsFlyout.reason": "理由", "xpack.triggersActionsUI.sections.alertsTable.column.actions": "アクション", "xpack.triggersActionsUI.sections.alertsTable.leadingControl.viewDetails": "詳細を表示", + "xpack.triggersActionsUI.sections.alertsTable.title": "アラートテーブル", "xpack.triggersActionsUI.sections.confirmConnectorEditClose.cancelButtonLabel": "キャンセル", "xpack.triggersActionsUI.sections.confirmConnectorEditClose.confirmConnectorCloseMessage": "保存されていない変更は回復できません。", "xpack.triggersActionsUI.sections.confirmConnectorEditClose.discardButtonLabel": "変更を破棄", @@ -37840,6 +39100,7 @@ "xpack.triggersActionsUI.sections.ruleDetails.scheduleIntervalToastMessageButton": "ルールを編集", "xpack.triggersActionsUI.sections.ruleDetails.scheduleIntervalToastTitle": "構成設定", "xpack.triggersActionsUI.sections.ruleDetails.updateAPIKeyButtonLabel": "APIキーの更新", + "xpack.triggersActionsUI.sections.ruleDetails.userManagedApikey": "このルールはAPIキーに関連付けられています。", "xpack.triggersActionsUI.sections.ruleDetails.viewRuleInAppButtonLabel": "アプリで表示", "xpack.triggersActionsUI.sections.ruleEdit.cancelButtonLabel": "キャンセル", "xpack.triggersActionsUI.sections.ruleEdit.changeInPrivilegesLabel": "このルールを保存すると権限が変更され、動作が変わる場合があります。", @@ -37864,7 +39125,7 @@ "xpack.triggersActionsUI.sections.ruleForm.error.requiredIntervalText": "確認間隔が必要です。", "xpack.triggersActionsUI.sections.ruleForm.error.requiredNameText": "名前が必要です。", "xpack.triggersActionsUI.sections.ruleForm.error.requiredRuleTypeIdText": "ルールタイプは必須です。", - "xpack.triggersActionsUI.sections.ruleForm.frequencyNotifyWhen.label": "アクションの実行間隔", + "xpack.triggersActionsUI.sections.ruleForm.frequencyNotifyWhen.label": "次の間隔で実行", "xpack.triggersActionsUI.sections.ruleForm.loadingRuleTypeParamsDescription": "ルールタイプパラメーターを読み込んでいます…", "xpack.triggersActionsUI.sections.ruleForm.loadingRuleTypesDescription": "ルールタイプを読み込んでいます…", "xpack.triggersActionsUI.sections.ruleForm.renotifyFieldLabel": "通知", @@ -37966,6 +39227,7 @@ "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.noSnoozeAppliedTooltip": "アラートが生成されたときに通知", "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.openSnoozePanel": "スヌーズパネルを開く", "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.snoozedIndefinitelyTooltip": "通知は無期限にスヌーズされました", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.timeRemaining": "残り時間", "xpack.triggersActionsUI.sections.rulesList.rulesListSnoozePanel.snoozeFailed": "ルールスヌーズ設定を変更できません", "xpack.triggersActionsUI.sections.rulesList.rulesListSnoozePanel.snoozeSuccess": "ルールが正常にスヌーズされました", "xpack.triggersActionsUI.sections.rulesList.rulesListSnoozePanel.unsnoozeSuccess": "ルールが正常にスヌーズ解除されました", @@ -38031,6 +39293,7 @@ "xpack.triggersActionsUI.sections.rulesList.unableToLoadRuleTypesMessage": "ルールタイプを読み込めません", "xpack.triggersActionsUI.sections.rulesList.unableToRunRuleSoon": "ルールの実行をスケジュールできません", "xpack.triggersActionsUI.sections.rulesList.weeksLabel": "週", + "xpack.triggersActionsUI.sections.ruleTagFilter.loading": "タグを読み込み中", "xpack.triggersActionsUI.sections.testConnectorForm.awaitingExecutionDescription": "ルールを実行すると、結果がここに表示されます。", "xpack.triggersActionsUI.sections.testConnectorForm.createActionHeader": "アクションを作成", "xpack.triggersActionsUI.sections.testConnectorForm.executeTestButton": "実行", @@ -38841,11 +40104,38 @@ "cases.components.tooltip.by": "グループ基準", "cases.components.tooltip.closed": "終了", "cases.components.tooltip.opened": "オープン", + "defaultNavigation.analytics.dataExploration": "データ探索", + "defaultNavigation.devTools.developerTools": "開発者ツール", + "defaultNavigation.management.alertAndInsights": "アラートとインサイト", + "defaultNavigation.management.ingest": "投入", + "defaultNavigation.management.integrationManagement": "統合管理", + "defaultNavigation.management.sectionLabel": "管理", + "defaultNavigation.management.stackManagement": "スタック管理", + "defaultNavigation.management.stackManagementData": "データ", + "defaultNavigation.ml.aiopsLabs": "AIOps Labs", + "defaultNavigation.ml.anomalyDetection": "異常検知", + "defaultNavigation.ml.dataFrameAnalytics": "データフレーム分析", + "defaultNavigation.ml.dataView": "データビュー", + "defaultNavigation.ml.dataVisualizer": "データビジュアライザー", + "defaultNavigation.ml.file": "ファイル", + "defaultNavigation.ml.jobs": "ジョブ", + "defaultNavigation.ml.machineLearning": "機械学習", + "defaultNavigation.ml.modelManagement": "モデル管理", "devTools.badge.betaLabel": "ベータ", "devTools.badge.readOnly.text": "読み取り専用", "devTools.badge.readOnly.tooltip": "を保存できませんでした", "devTools.breadcrumb.homeLabel": "開発ツール", "devTools.devToolsTitle": "開発ツール", + "eventAnnotation.annotationList.add": "注釈の追加", + "eventAnnotation.content.name": "注釈グループ", + "eventAnnotation.edit.back": "戻る", + "eventAnnotation.edit.cancel": "キャンセル", + "eventAnnotation.edit.save": "注釈グループを保存", + "eventAnnotation.eventAnnotationGroup.metadata.name": "注釈グループ", + "eventAnnotation.eventAnnotationGroup.savedObjectFinder.emptyCTA": "注釈レイヤーを作成", + "eventAnnotation.eventAnnotationGroup.savedObjectFinder.emptyPromptDescription": "現在、ライブラリから選択できる注釈はありません。注釈を追加するには、新しいレイヤーを作成します。", + "eventAnnotation.eventAnnotationGroup.savedObjectFinder.emptyPromptTitle": "まず、注釈レイヤーを追加します", + "eventAnnotation.eventAnnotationGroup.savedObjectFinder.notFoundLabel": "一致する注釈グループが見つかりません。", "eventAnnotation.fetch.description": "イベント注釈の取得", "eventAnnotation.fetchEventAnnotations.args.annotationConfigs": "注釈構成", "eventAnnotation.fetchEventAnnotations.args.interval.help": "このアグリゲーションで使用する間隔", @@ -38857,6 +40147,15 @@ "eventAnnotation.group.args.annotationConfigs.ignoreGlobalFilters.help": "注釈のグローバルフィルターを無視するスイッチ", "eventAnnotation.group.args.annotationGroups": "注釈グループ", "eventAnnotation.group.description": "イベント注釈グループ", + "eventAnnotation.groupEditor.addAnnotation": "注釈", + "eventAnnotation.groupEditor.dataView": "データビュー", + "eventAnnotation.groupEditor.description": "説明", + "eventAnnotation.groupEditor.details": "詳細", + "eventAnnotation.groupEditor.optional": "オプション", + "eventAnnotation.groupEditor.title": "タイトル", + "eventAnnotation.groupEditor.titleRequired": "タイトルが必要です。", + "eventAnnotation.groupEditorFlyout.title": "注釈グループを編集", + "eventAnnotation.listingViewTitle": "注釈グループ", "eventAnnotation.manualAnnotation.args.color": "行の色", "eventAnnotation.manualAnnotation.args.icon": "注釈行で使用される任意のアイコン", "eventAnnotation.manualAnnotation.args.id": "注釈のID", @@ -38888,6 +40187,51 @@ "eventAnnotation.rangeAnnotation.args.label": "注釈の名前", "eventAnnotation.rangeAnnotation.args.time": "注釈のタイムスタンプ", "eventAnnotation.rangeAnnotation.description": "手動注釈の構成", + "eventAnnotation.tableList.dataView": "データビュー", + "eventAnnotation.tableList.emptyPrompt.body": "Lensビジュアライゼーションエディターでは、複数のビジュアライゼーションで使用する注釈を作成して保存できます。", + "eventAnnotation.tableList.emptyPrompt.cta": "Lensで新しい注釈を作成", + "eventAnnotation.tableList.emptyPrompt.title": "Lensで最初の注釈を作成", + "eventAnnotation.tableList.entityName": "注釈グループ", + "eventAnnotation.tableList.entityNamePlural": "注釈グループ", + "eventAnnotation.tableList.listTitle": "注釈ライブラリ", + "eventAnnotation.xyChart.annotation.hide": "注釈を非表示", + "eventAnnotation.xyChart.annotation.manual": "固定日付", + "eventAnnotation.xyChart.annotation.query": "カスタムクエリ", + "eventAnnotation.xyChart.annotation.queryField": "ターゲット日付フィールド", + "eventAnnotation.xyChart.annotation.queryInput": "注釈クエリ", + "eventAnnotation.xyChart.annotation.tooltip": "追加フィールドを表示", + "eventAnnotation.xyChart.annotation.tooltip.addField": "フィールドの追加", + "eventAnnotation.xyChart.annotation.tooltip.deleteButtonLabel": "削除", + "eventAnnotation.xyChart.annotation.tooltip.noFields": "選択されていません", + "eventAnnotation.xyChart.annotationDate": "注釈日", + "eventAnnotation.xyChart.annotationDate.from": "開始:", + "eventAnnotation.xyChart.annotationDate.placementType": "配置タイプ", + "eventAnnotation.xyChart.annotationDate.to": "終了:", + "eventAnnotation.xyChart.appearance": "見た目", + "eventAnnotation.xyChart.applyAsRange": "範囲として適用", + "eventAnnotation.xyChart.defaultAnnotationLabel": "イベント", + "eventAnnotation.xyChart.defaultRangeAnnotationLabel": "イベント範囲", + "eventAnnotation.xyChart.fillStyle": "塗りつぶし", + "eventAnnotation.xyChart.fillStyle.inside": "内部", + "eventAnnotation.xyChart.fillStyle.outside": "外側", + "eventAnnotation.xyChart.iconSelect.alertIconLabel": "アラート", + "eventAnnotation.xyChart.iconSelect.asteriskIconLabel": "アスタリスク", + "eventAnnotation.xyChart.iconSelect.bellIconLabel": "ベル", + "eventAnnotation.xyChart.iconSelect.boltIconLabel": "ボルト", + "eventAnnotation.xyChart.iconSelect.bugIconLabel": "バグ", + "eventAnnotation.xyChart.iconSelect.circleIconLabel": "円", + "eventAnnotation.xyChart.iconSelect.commentIconLabel": "コメント", + "eventAnnotation.xyChart.iconSelect.flagIconLabel": "旗", + "eventAnnotation.xyChart.iconSelect.heartLabel": "ハート", + "eventAnnotation.xyChart.iconSelect.mapMarkerLabel": "マップマーカー", + "eventAnnotation.xyChart.iconSelect.mapPinLabel": "マップピン", + "eventAnnotation.xyChart.iconSelect.starFilledLabel": "塗りつぶされた星", + "eventAnnotation.xyChart.iconSelect.starLabel": "星", + "eventAnnotation.xyChart.iconSelect.tagIconLabel": "タグ", + "eventAnnotation.xyChart.iconSelect.triangleIconLabel": "三角形", + "eventAnnotation.xyChart.lineColor.label": "色", + "eventAnnotation.xyChart.placement": "配置", + "eventAnnotation.xyChart.tooltip": "ツールチップ", "expandableFlyout.previewSection.backButton": "戻る", "expandableFlyout.previewSection.closeButton": "閉じる", "expressionHeatmap.function.args.addTooltipHelpText": "カーソルを置いたときにツールチップを表示", @@ -38946,6 +40290,7 @@ "expressionTagcloud.feedbackMessage.truncatedTagsDescription": "描写時間が長くなるのを防ぐため、タグの数が切り捨てられています。", "expressionTagcloud.functions.tagcloud.args.ariaLabelHelpText": "tagcloudのariaラベルを指定します", "expressionTagcloud.functions.tagcloud.args.bucketHelpText": "バケットディメンションの構成です。", + "expressionTagcloud.functions.tagcloud.args.isPreviewHelpText": "isPreviewをtrueに設定すると、スペース不足警告が表示されません", "expressionTagcloud.functions.tagcloud.args.maxFontSizeHelpText": "最大フォントサイズ", "expressionTagcloud.functions.tagcloud.args.metricHelpText": "メトリックディメンションの構成です。", "expressionTagcloud.functions.tagcloud.args.minFontSizeHelpText": "最小フォントサイズ", @@ -39075,6 +40420,10 @@ "monaco.painlessLanguage.autocomplete.paramsKeywordDescription": "スクリプトに渡された変数にアクセスします。", "observabilityAlertDetails.alertActiveTimeRangeAnnotation.detailsTooltip": "アクティブ", "observabilityAlertDetails.alertAnnotation.detailsTooltip": "アラートが開始しました", + "observabilityAlertDetails.alertThresholdAnnotation.detailsTooltip": "アラートが開始しました", + "observabilityAlertDetails.alertThresholdTimeRangeRect.detailsTooltip": "しきい値", + "randomSampling.ui.sliderControl.accuracyLabel": "精度", + "randomSampling.ui.sliderControl.performanceLabel": "パフォーマンス", "reporting.common.browserCouldNotLaunchErrorMessage": "ブラウザーが起動していないため、スクリーンショットを生成できません。詳細については、サーバーログを参照してください。", "reporting.common.cloud.insufficientSystemMemoryError": "メモリ不足のため、このレポートを生成できません。", "reporting.common.pdfWorkerOutOfMemoryErrorMessage": "メモリ不足のため、PDFを生成できません。PDFのサイズを小さくして、このレポートを再試行してください。", @@ -39279,33 +40628,6 @@ "xpack.features.ossFeatures.visualizeShortUrlSubFeatureName": "短い URL", "xpack.features.savedObjectsManagementFeatureName": "保存されたオブジェクトの管理", "xpack.features.visualizeFeatureName": "Visualizeライブラリ", - "xpack.observability_onboarding.breadcrumbs.onboarding": "オンボーディング", - "xpack.observability_onboarding.fetcher.error.status": "エラー", - "xpack.observability_onboarding.fetcher.error.title": "リソースの取得中にエラーが発生しました", - "xpack.observability_onboarding.fetcher.error.url": "URL", - "xpack.observabilityShared.navigation.betaBadge": "ベータ", - "xpack.observabilityShared.navigation.experimentalBadgeLabel": "テクニカルプレビュー", - "xpack.observabilityShared.navigation.newBadge": "新規", - "xpack.observabilityShared.pageLayout.sideNavTitle": "Observability", - "xpack.observabilityShared.tour.alertsStep.imageAltText": "アラートデモ", - "xpack.observabilityShared.tour.alertsStep.tourContent": "電子メール、PagerDuty、Slackなどのサードパーティプラットフォーム統合でアラートをトリガーする条件を定義して検出します。", - "xpack.observabilityShared.tour.alertsStep.tourTitle": "変更が発生したときに通知", - "xpack.observabilityShared.tour.endButtonLabel": "ツアーを終了", - "xpack.observabilityShared.tour.guidedSetupStep.tourContent": "Elasticオブザーバビリティに進む最も簡単な方法は、データアシスタントで推奨された次のステップに従うことです。", - "xpack.observabilityShared.tour.guidedSetupStep.tourTitle": "Elasticオブザーバビリティのその他の機能", - "xpack.observabilityShared.tour.metricsExplorerStep.imageAltText": "メトリックエクスプローラーのデモ", - "xpack.observabilityShared.tour.metricsExplorerStep.tourContent": "システム、クラウド、ネットワーク、その他のインフラストラクチャーソースからメトリックをストリーム、グループ化、可視化します。", - "xpack.observabilityShared.tour.metricsExplorerStep.tourTitle": "インフラストラクチャーの正常性を監視", - "xpack.observabilityShared.tour.nextButtonLabel": "次へ", - "xpack.observabilityShared.tour.observabilityOverviewStep.tourContent": "クイックガイドを表示し、オブザーバビリティデータすべてを1つのスタックに格納する利点をご覧ください。", - "xpack.observabilityShared.tour.observabilityOverviewStep.tourTitle": "Elasticオブザーバビリティへようこそ", - "xpack.observabilityShared.tour.servicesStep.imageAltText": "サービスのデモ", - "xpack.observabilityShared.tour.servicesStep.tourContent": "サービスに関する詳細情報を収集し、パフォーマンスの問題をすばやく検出、修正できます。", - "xpack.observabilityShared.tour.servicesStep.tourTitle": "アプリケーションの問題を特定して解決", - "xpack.observabilityShared.tour.skipButtonLabel": "ツアーをスキップ", - "xpack.observabilityShared.tour.streamStep.imageAltText": "ログストリームのデモ", - "xpack.observabilityShared.tour.streamStep.tourContent": "アプリケーション、サーバー、仮想マシン、コネクターからのログイベントを監視、フィルター、検査します。", - "xpack.observabilityShared.tour.streamStep.tourTitle": "リアルタイムでログを追跡", "xpack.painlessLab.apiReferenceButtonLabel": "API リファレンス", "xpack.painlessLab.context.defaultLabel": "スクリプト結果は文字列に変換されます", "xpack.painlessLab.context.filterLabel": "フィルターのスクリプトクエリのコンテキストを使用する", @@ -39342,6 +40664,7 @@ "xpack.painlessLab.resetButtonLabel": "スクリプトをリセット", "xpack.painlessLab.showRequestButtonLabel": "API リクエストを表示", "xpack.painlessLab.title": "Painless Lab", - "xpack.painlessLab.walkthroughButtonLabel": "実地検証" + "xpack.painlessLab.walkthroughButtonLabel": "実地検証", + "xpack.serverlessObservability.nav.getStarted": "使ってみる" } -} \ No newline at end of file +} diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index d046edf795cd4..b45d16fbafd74 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -302,9 +302,11 @@ "console.requestOptionsButtonAriaLabel": "请求选项", "console.requestTimeElapasedBadgeTooltipContent": "已用时间", "console.sendRequestButtonTooltip": "单击以发送请求", + "console.settingsPage.accessibilityOverlayLabel": "辅助功能覆盖", "console.settingsPage.autocompleteLabel": "自动完成", "console.settingsPage.cancelButtonLabel": "取消", "console.settingsPage.dataStreamsLabelText": "数据流", + "console.settingsPage.enableAccessibilityOverlayLabel": "启用辅助功能覆盖", "console.settingsPage.enableKeyboardShortcutsLabel": "启用键盘快捷键", "console.settingsPage.fieldsLabelText": "字段", "console.settingsPage.fontSizeLabel": "字体大小", @@ -394,6 +396,8 @@ "contentManagement.tableList.tagFilterPanel.manageAllTagsLinkLabel": "管理标签", "contentManagement.tableList.updatedDateUnknownLabel": "上次更新时间未知", "controls.controlGroup.ariaActions.moveControlButtonAction": "移动控件 {controlTitle}", + "controls.controlGroup.manageControl.controlTypeSettings.formGroupDescription": "{controlType} 控件的定制设置。", + "controls.controlGroup.manageControl.controlTypeSettings.formGroupTitle": "{controlType} 设置", "controls.optionsList.controlAndPopover.exists": "{negate, plural, other {存在}}", "controls.optionsList.errors.dataViewNotFound": "找不到数据视图:{dataViewId}", "controls.optionsList.errors.fieldNotFound": "找不到字段:{fieldName}", @@ -411,20 +415,26 @@ "controls.controlGroup.emptyState.badgeText": "新建", "controls.controlGroup.emptyState.callToAction": "使用控件可以更有效地筛选数据,允许您仅显示要浏览的数据。", "controls.controlGroup.emptyState.dismissButton": "关闭", - "controls.controlGroup.emptyState.twoLineLoadingTitle": "......", - "controls.controlGroup.floatingActions.editTitle": "编辑控件", - "controls.controlGroup.floatingActions.removeTitle": "删除控件", + "controls.controlGroup.emptyState.twoLineLoadingTitle": "...", + "controls.controlGroup.floatingActions.clearTitle": "清除", + "controls.controlGroup.floatingActions.editTitle": "编辑", + "controls.controlGroup.floatingActions.removeTitle": "删除", "controls.controlGroup.manageControl.cancelTitle": "取消", - "controls.controlGroup.manageControl.dataSource.controlTypesTitle": "控件类型", "controls.controlGroup.manageControl.createFlyoutTitle": "创建控件", + "controls.controlGroup.manageControl.dataSource.controlTypesTitle": "控件类型", "controls.controlGroup.manageControl.dataSource.dataViewTitle": "数据视图", - "controls.controlGroup.manageControl.editFlyoutTitle": "编辑控件", "controls.controlGroup.manageControl.dataSource.fieldTitle": "字段", - "controls.controlGroup.manageControl.displaySettings.growSwitchTitle": "扩大宽度以适应可用空间", - "controls.controlGroup.manageControl.saveChangesTitle": "保存并关闭", + "controls.controlGroup.manageControl.dataSource.formGroupDescription": "选择要为其创建控件的数据视图和字段。", + "controls.controlGroup.manageControl.dataSource.formGroupTitle": "数据源", + "controls.controlGroup.manageControl.dataSource.noControlTypeMessage": "尚未选择字段", "controls.controlGroup.manageControl.dataSource.selectDataViewMessage": "请选择数据视图", + "controls.controlGroup.manageControl.displaySettings.formGroupDescription": "更改控件在仪表板上的显示方式。", + "controls.controlGroup.manageControl.displaySettings.formGroupTitle": "显示设置", + "controls.controlGroup.manageControl.displaySettings.growSwitchTitle": "扩大宽度以适应可用空间", "controls.controlGroup.manageControl.displaySettings.titleInputTitle": "标签", "controls.controlGroup.manageControl.displaySettings.widthInputTitle": "最小宽度", + "controls.controlGroup.manageControl.editFlyoutTitle": "编辑控件", + "controls.controlGroup.manageControl.saveChangesTitle": "保存并关闭", "controls.controlGroup.management.addControl": "添加控件", "controls.controlGroup.management.delete": "删除控件", "controls.controlGroup.management.delete.cancel": "取消", @@ -470,8 +480,17 @@ "controls.optionsList.control.separator": ",", "controls.optionsList.description": "添加用于选择字段值的菜单。", "controls.optionsList.displayName": "选项列表", + "controls.optionsList.editor.additionalSettingsTitle": "其他设置", + "controls.optionsList.editor.multiSelectLabel": "允许多选", + "controls.optionsList.editor.prefixSearchLabel": "前缀", + "controls.optionsList.editor.prefixSearchTooltip": "匹配以给定搜索字符串开头的值。", "controls.optionsList.editor.runPastTimeout": "忽略超时以获取结果", "controls.optionsList.editor.runPastTimeout.tooltip": "等待显示结果,直到列表完成。此设置用于大型数据集,但可能需要更长时间来填充结果。", + "controls.optionsList.editor.searchOptionsTitle": "正在搜索", + "controls.optionsList.editor.selectionOptionsTitle": "选择的内容", + "controls.optionsList.editor.singleSelectLabel": "只允许单一选择", + "controls.optionsList.editor.wildcardSearchLabel": "Contains", + "controls.optionsList.editor.wildcardSearchTooltip": "匹配包含给定搜索字符串的值。可能需要更长时间来填充结果。", "controls.optionsList.popover.allOptionsTitle": "显示所有选项", "controls.optionsList.popover.allowExpensiveQueriesWarning": "允许资源密集型查询的集群设置已关闭,因此会禁用某些功能。", "controls.optionsList.popover.empty": "找不到选项", @@ -481,6 +500,7 @@ "controls.optionsList.popover.includeLabel": "包括", "controls.optionsList.popover.invalidSelectionScreenReaderText": "选择无效。", "controls.optionsList.popover.loadingMore": "正在加载更多选项......", + "controls.optionsList.popover.prefixSearchPlaceholder": "开头为……", "controls.optionsList.popover.selectedOptionsTitle": "仅显示选定选项", "controls.optionsList.popover.selectionsEmpty": "您未选择任何内容", "controls.optionsList.popover.sortBy.alphabetical": "按字母顺序", @@ -491,6 +511,7 @@ "controls.optionsList.popover.sortOrder.asc": "升序", "controls.optionsList.popover.sortOrder.desc": "降序", "controls.optionsList.popover.sortTitle": "排序", + "controls.optionsList.popover.wildcardSearchPlaceholder": "包含……", "controls.rangeSlider.description": "添加用于选择字段值范围的控件。", "controls.rangeSlider.displayName": "范围滑块", "controls.rangeSlider.popover.noAvailableDataHelpText": "没有可显示的数据。调整时间范围和筛选。", @@ -621,7 +642,7 @@ "core.euiTablePagination.rowsPerPageOption": "{rowsPerPage} 行", "core.euiTourStepIndicator.ariaLabel": "第 {number} 步{status}", "core.euiTreeView.ariaLabel": "{ariaLabel} 的 {nodeLabel} 子对象", - "core.savedObjects.deprecations.unknownTypes.message": "在 Kibana 系统索引中有{objectCount, plural, other { }}{objectCount, plural, other {# 个对象}}的类型未知。不再支持使用未知的已保存对象类型进行升级。为确保未来成功升级,请重新启用插件,或从 Kibana 索引中删除这些文档", + "core.savedObjects.deprecations.unknownTypes.message": "在 Kibana 系统索引中有{objectCount, plural, other {有}}{objectCount, plural, other {# 个对象}}的类型未知。不再支持使用未知的已保存对象类型进行升级。为确保未来成功升级,请重新启用插件,或从 Kibana 索引中删除这些文档", "core.statusPage.loadStatus.serverStatusCodeErrorMessage": "无法使用状态代码 {responseStatus} 请求服务器状态", "core.statusPage.metricsTiles.columns.heapUsedHeader": "已使用堆数(共 {heapTotal} 个)", "core.statusPage.metricsTiles.columns.utilizationHeader": "使用率(活动:{active}/空闲:{idle})", @@ -756,6 +777,7 @@ "core.euiFlyout.screenReaderNonModalDialog": "您位于非模式对话框中。要关闭对话框,请按 Esc 键。", "core.euiForm.addressFormErrors": "请解决突出显示的错误。", "core.euiFormControlLayoutClearButton.label": "清除输入", + "core.euiFormControlLayoutDelimited.delimiterLabel": "到", "core.euiFullscreenSelector.fullscreenButton": "进入全屏", "core.euiFullscreenSelector.fullscreenButtonActive": "退出全屏", "core.euiHeaderLinks.appNavigation": "应用菜单", @@ -763,6 +785,10 @@ "core.euiHue.label": "选择 HSV 颜色模式“色调”值", "core.euiImageButton.closeFullScreen": "按 Esc 键或单击以关闭图像全屏模式", "core.euiImageButton.openFullScreen": "单击以全屏模式打开此图像", + "core.euiInlineEditForm.activateEditModeDescription": "单击以编辑此内联文本。", + "core.euiInlineEditForm.cancelButtonAriaLabel": "取消编辑", + "core.euiInlineEditForm.inputKeyboardInstructions": "按 Enter 键保存已编辑文本。按 Esc 键取消编辑。", + "core.euiInlineEditForm.saveButtonAriaLabel": "保存编辑", "core.euiKeyboardShortcuts.ctrl": "Ctrl 键", "core.euiKeyboardShortcuts.ctrlEndDescription": "移至当前页的最后一个单元格", "core.euiKeyboardShortcuts.ctrlHomeDescription": "移至当前页的第一个单元格", @@ -854,7 +880,14 @@ "core.euiSelectable.placeholderName": "筛选选项", "core.euiSelectable.screenReaderInstructions": "使用向上和向下箭头键将焦点移到选项上。按 Enter 键进行选择。按 Esc 键折叠选项。", "core.euiSelectableListItem.checkedOption": "选中的选项。", + "core.euiSelectableListItem.checkOptionInstructions": "要选中此选项,请按 Enter 键。", "core.euiSelectableListItem.excludedOption": "排除的选项。", + "core.euiSelectableListItem.excludeOptionInstructions": "要排除此选项,请按 Enter 键。", + "core.euiSelectableListItem.mixedOption": "混合(不确定)选项。", + "core.euiSelectableListItem.mixedOptionExcludeInstructions": "要对所有内容排除此选项,请按 Enter 键两次。", + "core.euiSelectableListItem.mixedOptionInstructions": "要对所有内容选中此选项,请按 Enter 键一次。", + "core.euiSelectableListItem.mixedOptionUncheckInstructions": "要对所有内容取消选中此选项,请按 Enter 键两次。", + "core.euiSelectableListItem.uncheckOptionInstructions": "要取消选中此选项,请按 Enter 键。", "core.euiSelectableTemplateSitewide.loadingResults": "正在加载结果", "core.euiSelectableTemplateSitewide.noResults": "没有可用结果", "core.euiSelectableTemplateSitewide.onFocusBadgeGoTo": "前往", @@ -1014,6 +1047,8 @@ "core.ui.overlays.banner.attentionTitle": "注意", "core.ui.overlays.banner.closeButtonLabel": "关闭", "core.ui.primaryNav.addData": "添加集成", + "core.ui.primaryNav.cloud.linkToDeployments": "我的部署", + "core.ui.primaryNav.goToHome.ariaLabel": "前往主页", "core.ui.primaryNav.pinnedLinksAriaLabel": "置顶链接", "core.ui.primaryNav.screenReaderLabel": "主分片", "core.ui.primaryNav.toggleNavAriaLabel": "切换主导航", @@ -1095,6 +1130,8 @@ "customIntegrations.languageClients.sample.readme.install": "安装样例语言客户端", "customIntegrations.languageClients.sample.readme.intro": "开始使用样例语言客户端需要完成一些步骤。", "customIntegrations.languageClients.sample.readme.title": "Elasticsearch 样例客户端", + "customIntegrations.placeholders.EscDescription": "通过 Elastic Sink 连接器从 Confluent Cloud 中收集数据。", + "customIntegrations.placeholders.EscTitle": "Confluent Cloud", "customIntegrations.placeholders.EsfDescription": "使用 AWS 无服务器应用程序存储库中可用的 AWS Lambda 应用程序收集日志。", "customIntegrations.placeholders.EsfTitle": "AWS 无服务器应用程序存储库", "dashboard.addPanel.newEmbeddableAddedSuccessMessageTitle": "{savedObjectName} 已添加", @@ -1164,6 +1201,15 @@ "dashboard.embedUrlParamExtension.query": "查询", "dashboard.embedUrlParamExtension.timeFilter": "时间筛选", "dashboard.embedUrlParamExtension.topMenu": "顶部菜单", + "dashboard.emptyScreen.addFromLibrary": "从库中添加", + "dashboard.emptyScreen.createVisualization": "创建可视化", + "dashboard.emptyScreen.editDashboard": "编辑仪表板", + "dashboard.emptyScreen.editModeSubtitle": "创建数据可视化,或从 Visualize 库中添加一个可视化。", + "dashboard.emptyScreen.editModeTitle": "此仪表板是空的。让我们来填充它!", + "dashboard.emptyScreen.noPermissionsSubtitle": "您还需要其他权限,才能编辑此仪表板。", + "dashboard.emptyScreen.noPermissionsTitle": "此仪表板是空的。", + "dashboard.emptyScreen.viewModeSubtitle": "进入编辑模式,然后开始添加可视化。", + "dashboard.emptyScreen.viewModeTitle": "将可视化添加到仪表板", "dashboard.factory.displayName": "仪表板", "dashboard.featureCatalogue.dashboardDescription": "显示和共享可视化和已保存搜索的集合。", "dashboard.featureCatalogue.dashboardSubtitle": "在仪表板中分析数据。", @@ -1589,6 +1635,7 @@ "data.search.aggs.buckets.significantTerms.includeLabel": "包括", "data.search.aggs.buckets.significantTerms.json.help": "聚合发送至 Elasticsearch 时要包括的高级 json", "data.search.aggs.buckets.significantTerms.schema.help": "要用于此聚合的方案", + "data.search.aggs.buckets.significantTerms.shardSize.help": "由每个分片提供并返回给协调节点的词数目", "data.search.aggs.buckets.significantTerms.size.help": "要检索的存储桶数目上限", "data.search.aggs.buckets.significantTermsTitle": "重要词", "data.search.aggs.buckets.significantText.customLabel.help": "表示此聚合的定制标签", @@ -1968,6 +2015,7 @@ "data.search.functions.dateRange.help": "创建日期范围", "data.search.functions.dateRange.to.help": "指定结束日期", "data.search.functions.esaggs.aggConfigs.help": "使用 agg_type 函数配置的聚合列表", + "data.search.functions.esaggs.ignoreGlobalFilters.help": "是忽略还是使用全局查询和筛选", "data.search.functions.esaggs.index.help": "使用 indexPatternLoad 检索的数据视图", "data.search.functions.esaggs.metricsAtAllLevels.help": "是否包括具有每个存储桶级别的指标的列", "data.search.functions.esaggs.partialRows.help": "是否返回仅包含部分数据的行", @@ -2118,15 +2166,10 @@ "data.sessions.management.flyoutTitle": "检查搜索会话", "data.triggers.applyFilterDescription": "应用 kibana 筛选时。可能是单个值或范围筛选。", "data.triggers.applyFilterTitle": "应用筛选", - "savedSearch.kibana_context.filters.help": "指定 Kibana 常规筛选", - "savedSearch.kibana_context.help": "更新 kibana 全局上下文", - "savedSearch.kibana_context.q.help": "指定 Kibana 自由格式文本查询", - "savedSearch.kibana_context.savedSearchId.help": "指定要用于查询和筛选的已保存搜索 ID", - "savedSearch.kibana_context.timeRange.help": "指定 Kibana 时间范围筛选", - "savedSearch.legacyURLConflict.errorMessage": "此搜索具有与旧版别名相同的 URL。请禁用别名以解决此错误:{json}", "dataViews.deprecations.scriptedFieldsMessage": "您具有 {numberOfIndexPatternsWithScriptedFields} 个使用脚本字段的数据视图 ({titlesPreview}...)。脚本字段已过时,将在未来移除。请改为使用运行时脚本。", "dataViews.fetchFieldErrorTitle": "提取数据视图 {title}(ID:{id})的字段时出错", "dataViews.aliasLabel": "别名", + "dataViews.contentManagementType": "数据视图", "dataViews.dataStreamLabel": "数据流", "dataViews.deprecations.scriptedFields.manualStepOneMessage": "导航到“堆栈管理”>“Kibana”>“数据视图”。", "dataViews.deprecations.scriptedFields.manualStepTwoMessage": "更新 {numberOfIndexPatternsWithScriptedFields} 个具有脚本字段的数据视图以改为使用运行时字段。多数情况下,要迁移现有脚本,您需要将“return ;”更改为“emit();”。至少有一个脚本字段的数据视图:{allTitles}", @@ -2163,7 +2206,7 @@ "discover.docTable.totalDocuments": "{totalDocuments} 个文档", "discover.dscTour.stepAddFields.description": "单击 {plusIcon} 以添加您感兴趣的字段。", "discover.dscTour.stepExpand.description": "单击 {expandIcon} 以查看、比较和筛选文档。", - "discover.errorCalloutFormattedTitle": "{title}{errorMessage}", + "discover.errorCalloutFormattedTitle": "{title}: {errorMessage}", "discover.grid.copyClipboardButtonTitle": "复制 {column} 的值", "discover.grid.copyColumnValuesToClipboard.toastTitle": "“{column}”列的值已复制到剪贴板", "discover.grid.filterForAria": "筛留此 {value}", @@ -2371,6 +2414,7 @@ "discover.grid.flyout.toastColumnRemoved": "已移除列“{columnName}”", "discover.grid.selectDoc": "选择文档“{rowNumber}”", "discover.grid.tableRow.detailHeading": "已展开文档", + "discover.grid.tableRow.textBasedDetailHeading": "已展开行", "discover.grid.tableRow.viewSingleDocumentLinkTextSimple": "单个文档", "discover.grid.tableRow.viewSurroundingDocumentsHover": "检查在此文档之前和之后出现的文档。在周围文档视图中,仅已固定筛选仍处于活动状态。", "discover.grid.tableRow.viewSurroundingDocumentsLinkTextSimple": "周围文档", @@ -2519,6 +2563,7 @@ "domDragDrop.dropTargets.swap": "交换", "domDragDrop.keyboardInstructions": "按空格键或 enter 键开始拖动。拖动时,请左右箭头键在拖动目标之间移动。再次按空格键或 enter 键结束操作。", "domDragDrop.keyboardInstructionsReorder": "按空格键或 enter 键开始拖动。拖动时,请使用上下箭头键重新排列组中的项目,使用左右箭头键在组之外选择拖动目标。再次按空格键或 enter 键结束操作。", + "embeddableApi.addPanel.savedObjectAddedToContainerSuccessMessageTitle": "{savedObjectName} 已添加", "embeddableApi.attributeService.saveToLibraryError": "保存时出错。错误:{errorMessage}", "embeddableApi.errors.embeddableFactoryNotFound": "{type} 无法加载。请升级到具有适当许可的默认 Elasticsearch 和 Kibana 分发。", "embeddableApi.panel.editPanel.displayName": "编辑 {value}", @@ -2526,6 +2571,8 @@ "embeddableApi.panel.enhancedDashboardPanelAriaLabel": "仪表板面板:{title}", "embeddableApi.panel.optionsMenu.panelOptionsButtonAriaLabelWithIndex": "面板 {index} 的选项", "embeddableApi.panel.optionsMenu.panelOptionsButtonEnhancedAriaLabel": "{title} 的面板选项", + "embeddableApi.addPanel.noMatchingObjectsMessage": "未找到任何匹配对象。", + "embeddableApi.addPanel.Title": "从库中添加", "embeddableApi.cellValueTrigger.description": "操作在可视化上的单元格值选项中显示", "embeddableApi.cellValueTrigger.title": "单元格值", "embeddableApi.contextMenuTrigger.description": "会将一个新操作添加到该面板的上下文菜单", @@ -2722,7 +2769,7 @@ "expressionImage.renderer.image.helpDescription": "呈现图像", "expressionMetric.functions.metric.args.labelFontHelpText": "标签的 {CSS} 字体属性。例如:{FONT_FAMILY} 或 {FONT_WEIGHT}。", "expressionMetric.functions.metric.args.metricFontHelpText": "指标的 {CSS} 字体属性。例如:{FONT_FAMILY} 或 {FONT_WEIGHT}。", - "expressionMetric.functions.metric.args.metricFormatHelpText": "{NUMERALJS} 格式字符串。例如:{example1} 或 {example2}。", + "expressionMetric.functions.metric.args.metricFormatHelpText": "{NUMERALJS} 格式字符串。例如,{example1} 或 {example2}。", "expressionMetric.functions.metric.args.labelHelpText": "描述指标的文本。", "expressionMetric.functions.metricHelpText": "在标签上显示数字。", "expressionMetric.renderer.metric.displayName": "指标", @@ -2758,6 +2805,7 @@ "expressionPartitionVis.legend.filterOptionsLegend": "{legendDataLabel},筛选选项", "expressionPartitionVis.negativeValuesFound": "{chartType} 图表无法使用负值进行呈现。", "expressionPartitionVis.reusable.function.errors.moreThenNumberBuckets": "不支持 {maxLength} 个以上的存储桶。", + "expressionPartitionVis.emptySlice": "(空)", "expressionPartitionVis.legend.filterForValueButtonAriaLabel": "筛留值", "expressionPartitionVis.legend.filterOutValueButtonAriaLabel": "筛除值", "expressionPartitionVis.legend.legendActionsAria": "图例操作", @@ -3156,6 +3204,7 @@ "generateCsv.escapedFormulaValues": "CSV 可能包含值已转义的公式", "grouping.eventsTab.unit": "{totalCount, plural, =1 {事件} other {事件}}", "grouping.groupByPanelTitle": "最多选择 {groupingLevelsCount} 个分组", + "grouping.nullGroup.title": "选定分组依据字段 {selectedGroup} 缺少此 {unit} 组的值。", "grouping.total.unit": "{totalCount, plural, =1 {组} other {组}}", "grouping.additionalActions.takeAction": "采取操作", "grouping.alerts.label": "告警分组依据", @@ -3199,15 +3248,18 @@ "guidedOnboarding.quitGuideModal.quitButtonLabel": "退出指南", "guidedOnboardingPackage.gettingStarted.cards.apmObservability.title": "监测我的应用程序{lineBreak}性能(APM/跟踪)", "guidedOnboardingPackage.gettingStarted.cards.appSearch.title": "在 Elasticsearch 之上{lineBreak}构建应用程序", - "guidedOnboardingPackage.gettingStarted.cards.cloudSecurity.title": "借助{lineBreak}云安全态势管理 (CSPM) 保护我的云资产", + "guidedOnboardingPackage.gettingStarted.cards.cloudSecurity.title": "借助云{lineBreak}安全态势管理 (CSPM) 保护我的云资产", "guidedOnboardingPackage.gettingStarted.cards.databaseSearch.title": "跨数据库和{lineBreak}业务系统进行搜索", "guidedOnboardingPackage.gettingStarted.cards.hostsSecurity.title": "通过 Endpoint Security{lineBreak}保护我的主机", "guidedOnboardingPackage.gettingStarted.cards.progressLabel": "已完成 {numberCompleteSteps} 个(共 {numberSteps} 个)步骤", "guidedOnboardingPackage.gettingStarted.cards.siemSecurity.title": "通过 SIEM{lineBreak}在我的数据中检测威胁", "guidedOnboardingPackage.gettingStarted.cards.completeLabel": "指南完成", + "guidedOnboardingPackage.gettingStarted.cards.esreSearch.title": "构建语义搜索体验", "guidedOnboardingPackage.gettingStarted.cards.hostsObservability.title": "监测我的主机指标", "guidedOnboardingPackage.gettingStarted.cards.kubernetesObservability.title": "监测 Kubernetes 集群", "guidedOnboardingPackage.gettingStarted.cards.logsObservability.title": "收集并分析我的日志", + "guidedOnboardingPackage.gettingStarted.cards.syntheticsObservability.title": "创建 Synthetic 监测", + "guidedOnboardingPackage.gettingStarted.cards.vectorSearch.title": "设置矢量搜索", "guidedOnboardingPackage.gettingStarted.cards.websiteSearch.title": "添加搜索到我的网站", "guidedOnboardingPackage.gettingStarted.guideFilter.all.buttonLabel": "全部", "guidedOnboardingPackage.gettingStarted.guideFilter.observability.buttonLabel": "Observability", @@ -3467,8 +3519,8 @@ "home.guidedOnboarding.gettingStarted.errorSectionRefreshButton": "刷新", "home.guidedOnboarding.gettingStarted.errorSectionTitle": "无法加载指南状态", "home.guidedOnboarding.gettingStarted.loadingIndicator": "正在加载指南状态......", - "home.guidedOnboarding.gettingStarted.skip.buttonLabel": "我想执行其他操作。", - "home.guidedOnboarding.gettingStarted.useCaseSelectionSubtitle": "选择一个选项,我们将帮助您开始使用。", + "home.guidedOnboarding.gettingStarted.skip.buttonLabel": "我想要自行浏览。", + "home.guidedOnboarding.gettingStarted.useCaseSelectionSubtitle": "选择指南以帮助您充分利用自己的数据。", "home.guidedOnboarding.gettingStarted.useCaseSelectionTitle": "您希望先做什么?", "home.header.title": "欢迎归来", "home.letsStartDescription": "从任何源将数据添加到您的集群,然后对其进行实时分析和可视化。使用我们的解决方案可随处添加搜索,观察您的生态系统,并防范安全威胁。", @@ -4084,7 +4136,7 @@ "indexPatternEditor.status.matchAnyLabel.matchAnyDetail": "您的索引模式可以匹配 {sourceCount, plural, other {# 个源}}。", "indexPatternEditor.status.notMatchLabel.allIndicesLabel": "{indicesLength, plural, other {# 个源}}", "indexPatternEditor.status.notMatchLabel.notMatchDetail": "输入的索引模式不匹配任何数据流、索引或索引别名。您可以匹配 {strongIndices}。", - "indexPatternEditor.status.partialMatchLabel.partialMatchDetail": "索引模式不匹配任何数据流、索引或索引别名,但 {strongIndices}{matchedIndicesLength, plural, other { }}类似。", + "indexPatternEditor.status.partialMatchLabel.partialMatchDetail": "索引模式不匹配任何数据流、索引或索引别名,但 {strongIndices}{matchedIndicesLength, plural, other {有}}类似。", "indexPatternEditor.status.partialMatchLabel.strongIndicesLabel": "{matchedIndicesLength, plural, other {# 个源}}", "indexPatternEditor.status.successLabel.successDetail": "您的索引模式匹配 {sourceCount} 个{sourceCount, plural, other {源}}。", "indexPatternEditor.createIndex.noMatch": "名称必须匹配一个或多个数据流、索引或索引别名。", @@ -4137,10 +4189,11 @@ "indexPatternEditor.status.notMatchLabel.notMatchNoIndicesDetail": "输入的索引模式不匹配任何数据流、索引或索引别名。", "indexPatternEditor.title": "创建数据视图", "indexPatternEditor.titleDocsPopover.ariaLabel": "索引模式示例", - "indexPatternEditor.titleDocsPopover.dontUseSpecialCharactersDescription": "不允许使用空格和字符 /?\"<>|。", + "indexPatternEditor.titleDocsPopover.dontUseSpecialCharactersDescription": "不允许使用空格和字符 /?\"<>|。", "indexPatternEditor.titleDocsPopover.indexPatternDescription": "索引模式是您用于匹配一个或多个数据流、索引或别名的字符串。", "indexPatternEditor.titleDocsPopover.title": "索引模式", "indexPatternEditor.titleDocsPopover.useCommasDescription": "用逗号 (,) 分隔多个单一源。", + "indexPatternEditor.titleDocsPopover.useCrossClusterSearchDescription": "对于跨集群搜索,请以集群名称开头,后接冒号 (:)。", "indexPatternEditor.titleDocsPopover.useMinusDescription": "通过在某个源前面放置减号 (-) 来排除该源。", "indexPatternEditor.titleDocsPopover.useWildcardDescription": "使用通配符 (*) 匹配多个源。", "indexPatternEditor.titleEditMode": "编辑数据视图", @@ -4804,6 +4857,7 @@ "savedObjects.saveModal.cancelButtonLabel": "取消", "savedObjects.saveModal.descriptionLabel": "描述", "savedObjects.saveModal.duplicateTitleDescription": "保存“{title}”时会创建重复的标题。", + "savedObjects.saveModal.optional": "可选", "savedObjects.saveModal.saveButtonLabel": "保存", "savedObjects.saveModal.titleLabel": "标题", "savedObjects.saveModalOrigin.addToOriginLabel": "添加", @@ -4950,6 +5004,8 @@ "savedObjectsManagement.view.indexPatternDoesNotExistErrorMessage": "与此对象关联的数据视图不再存在。", "savedObjectsManagement.view.savedObjectProblemErrorMessage": "此已保存对象有问题", "savedObjectsManagement.view.savedSearchDoesNotExistErrorMessage": "与此对象关联的已保存搜索已不存在。", + "savedSearch.legacyURLConflict.errorMessage": "此搜索具有与旧版别名相同的 URL。请禁用别名以解决此错误:{json}", + "savedSearch.contentManagementType": "已保存搜索", "securitySolutionPackages.dataTable.eventsTab.unit": "{totalCount, plural, =1 {告警} other {告警}}", "securitySolutionPackages.dataTable.unit": "{totalCount, plural, =1 {告警} other {告警}}", "securitySolutionPackages.ecsDataQualityDashboard.allTab.allFieldsTableTitle": "所有字段 - {indexName}", @@ -4959,6 +5015,7 @@ "securitySolutionPackages.ecsDataQualityDashboard.createADataQualityCaseForIndexHeaderText": "为索引 {indexName} 创建数据质量案例", "securitySolutionPackages.ecsDataQualityDashboard.customTab.customFieldsTableTitle": "定制字段 - {indexName}", "securitySolutionPackages.ecsDataQualityDashboard.customTab.ecsComplaintFieldsTableTitle": "符合 ECS 规范的字段 - {indexName}", + "securitySolutionPackages.ecsDataQualityDashboard.dataQualityPromptContextPill": "数据质量 ({indexName})", "securitySolutionPackages.ecsDataQualityDashboard.emptyErrorPrompt.errorLoadingMappingsBody": "加载映射时出现问题:{error}", "securitySolutionPackages.ecsDataQualityDashboard.emptyErrorPrompt.errorLoadingMetadataTitle": "将不会检查与 {pattern} 模式匹配的索引", "securitySolutionPackages.ecsDataQualityDashboard.emptyErrorPrompt.errorLoadingUnallowedValuesBody": "加载不允许使用的值时出现错误:{error}", @@ -5015,6 +5072,8 @@ "securitySolutionPackages.ecsDataQualityDashboard.compareFieldsTable.searchFieldsPlaceholder": "搜索字段", "securitySolutionPackages.ecsDataQualityDashboard.copyToClipboardButton": "复制到剪贴板", "securitySolutionPackages.ecsDataQualityDashboard.createADataQualityCaseHeaderText": "创建数据质量案例", + "securitySolutionPackages.ecsDataQualityDashboard.dataQualityPromptContextPillTooltip": "将此数据质量报告添加为上下文", + "securitySolutionPackages.ecsDataQualityDashboard.dataQualitySuggestedUserPrompt": "解释上述结果,并说明某些选项以解决不兼容问题。", "securitySolutionPackages.ecsDataQualityDashboard.defaultPanelTitle": "检查索引映射", "securitySolutionPackages.ecsDataQualityDashboard.ecsSummaryDonutChart.chartTitle": "字段映射", "securitySolutionPackages.ecsDataQualityDashboard.ecsSummaryDonutChart.fieldsLabel": "字段", @@ -5053,6 +5112,7 @@ "securitySolutionPackages.ecsDataQualityDashboard.ilmPhasesEmptyPromptTitle": "选择一个或多个 ILM 阶段", "securitySolutionPackages.ecsDataQualityDashboard.ilmPhasesEmptyPromptUnmanagedLabel": "未受管", "securitySolutionPackages.ecsDataQualityDashboard.ilmPhasesEmptyPromptWarmLabel": "温", + "securitySolutionPackages.ecsDataQualityDashboard.incompatibleTab.dataQualityDashboardConversationId": "数据质量仪表板", "securitySolutionPackages.ecsDataQualityDashboard.indexLifecycleManagementPhasesTooltip": "将检查具有这些索引生命周期管理 (ILM) 阶段的索引以了解数据质量", "securitySolutionPackages.ecsDataQualityDashboard.indexNameLabel": "索引名称", "securitySolutionPackages.ecsDataQualityDashboard.indexProperties.addToNewCaseButton": "添加到新案例", @@ -5177,6 +5237,7 @@ "sharedUXPackages.filePicker.deleteFileQuestion": "是否确定要删除“{fileName}”?", "sharedUXPackages.filePicker.selectFilesButtonLable": "选择 {nrOfFiles} 个文件", "sharedUXPackages.fileUpload.fileTooLargeErrorMessage": "文件太大。最大大小为 {expectedSize, plural, other {# 字节}}。", + "sharedUXPackages.fileUpload.mimeTypeNotSupportedErrorMessage": "不支持文件 MIME 类型“{mimeType}”。支持的 MIME 类型为:{supportedMimeTypes}。", "sharedUXPackages.noDataPage.intro": "添加您的数据以开始,或{link}{solution}。", "sharedUXPackages.noDataPage.welcomeTitle": "欢迎使用 Elastic {solution}!", "sharedUXPackages.solutionNav.mobileTitleText": "{solutionName} {menuText}", @@ -5187,6 +5248,7 @@ "sharedUXPackages.card.noData.noPermission.description": "尚未启用此集成。您的管理员具有打开它所需的权限。", "sharedUXPackages.card.noData.noPermission.title": "请联系您的管理员", "sharedUXPackages.card.noData.title": "添加 Elastic 代理", + "sharedUXPackages.chrome.sideNavigation.recentlyAccessed.title": "最近", "sharedUXPackages.codeEditor.ariaLabel": "代码编辑器", "sharedUXPackages.codeEditor.enterKeyLabel": "Enter", "sharedUXPackages.codeEditor.escapeKeyLabel": "Esc", @@ -5237,8 +5299,9 @@ "sharedUXPackages.userProfileComponents.userProfilesSelectable.searchPlaceholder": "搜索", "sharedUXPackages.userProfileComponents.userProfilesSelectable.suggestedLabel": "已建议", "telemetry.callout.appliesSettingTitle": "对此设置的更改将应用到{allOfKibanaText} 且会自动保存。", + "telemetry.dataManagementDisclaimerPrivacy": "{optInStatus} 这便于我们了解用户最感兴趣的内容,以便我们改善产品和服务。请参阅我们的{privacyStatementLink}。", "telemetry.seeExampleOfClusterDataAndEndpointSecuity": "查看我们收集的{clusterData}和{securityData}示例。", - "telemetry.telemetryConfigAndLinkDescription": "启用使用情况数据收集可帮助我们管理并改善产品和服务。有关详情,请参阅我们的{privacyStatementLink}。", + "telemetry.telemetryConfigAndLinkDescription": "启用使用情况收集便于我们了解用户最感兴趣的内容,以便我们改善产品和服务。请参阅我们的{privacyStatementLink}。", "telemetry.callout.appliesSettingTitle.allOfKibanaText": "整个 Kibana", "telemetry.callout.clusterStatisticsDescription": "这是我们将收集的基本集群统计信息的示例。其包括索引、分片和节点的数目。还包括概括性的使用情况统计信息,例如监测是否打开。", "telemetry.callout.clusterStatisticsTitle": "集群统计信息", @@ -5247,22 +5310,119 @@ "telemetry.callout.errorUnprivilegedUserDescription": "您无权查看未加密的集群统计信息。", "telemetry.callout.errorUnprivilegedUserTitle": "显示集群统计信息时出错", "telemetry.clusterData": "集群数据", - "telemetry.dataManagementDisableCollectionLink": "请在此禁用使用情况数据。", - "telemetry.dataManagementDisclaimerPrivacyLink": "隐私声明。", - "telemetry.dataManagementEnableCollectionLink": "请在此处启用使用情况数据。", + "telemetry.dataManagementDisableCollectionLink": "禁用使用情况收集。", + "telemetry.dataManagementDisclaimerPrivacyLink": "隐私声明", + "telemetry.dataManagementEnableCollectionLink": "启用使用情况收集。", + "telemetry.disabledStatus": "已禁用使用情况收集。", + "telemetry.enabledStatus": "已启用使用情况收集。", "telemetry.optInErrorToastText": "尝试设置使用情况统计信息首选项时发生错误。", "telemetry.optInErrorToastTitle": "错误", "telemetry.optInNoticeSeenErrorTitle": "错误", "telemetry.optInNoticeSeenErrorToastText": "关闭声明时发生错误", - "telemetry.optInSuccessOff": "使用情况数据收集已关闭。", - "telemetry.optInSuccessOn": "使用情况数据收集已打开。", - "telemetry.provideUsageDataAriaName": "提供使用情况数据", - "telemetry.provideUsageDataTitle": "提供使用情况数据", + "telemetry.optInSuccessOff": "不再与 Elastic 共享使用情况。", + "telemetry.optInSuccessOn": "已启用与 Elastic 共享使用情况。", + "telemetry.provideUsageDataAriaName": "与 Elastic 共享使用情况", + "telemetry.provideUsageDataTitle": "与 Elastic 共享使用情况", "telemetry.readOurUsageDataPrivacyStatementLinkText": "隐私声明", "telemetry.securityData": "安全数据", + "telemetry.telemetryConstant": "遥测", "telemetry.telemetryOptedInDismissMessage": "关闭", "telemetry.telemetryOptedInNoticeTitle": "帮助我们改进 Elastic Stack", - "telemetry.usageDataTitle": "使用情况数据", + "telemetry.usageCollectionConstant": "使用情况收集", + "telemetry.usageDataTitle": "使用情况收集", + "textBasedEditor.query.textBasedLanguagesEditor.errorCount": "{count} {count, plural, other {错误}}", + "textBasedEditor.query.textBasedLanguagesEditor.lineCount": "{count} {count, plural, other {行}}", + "textBasedEditor.query.textBasedLanguagesEditor.lineNumber": "第 {lineNumber} 行", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.addOperator.markdown": "### Add (+)\n```\nSELECT 1 + 1 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.andOperator.markdown": "### AND\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no > 10000 AND emp_no < 10005 ORDER BY emp_no LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.averageFunction.markdown": "### AVG\n返回输入值的算术平均值。\n```\nAVG(numeric_field)\n```\n- 数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n```\nSELECT AVG(salary) AS avg FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.between.markdown": "### Between\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no BETWEEN 9990 AND 10003 ORDER BY emp_no\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.comparison.markdown": "### Comparison (<, <=, >, >=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no < 10003 ORDER BY emp_no LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countAllFunction.markdown": "### Count (All)\n返回所有非 null 输入值的总数(计数)。COUNT() 与 COUNT(ALL ) 等价。\n\n```\nCOUNT(ALL field_name) \n```\n- 字段名称。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n```\nSELECT COUNT(ALL last_name) AS count_all, COUNT(DISTINCT last_name) count_distinct FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countDistinctFunction.markdown": "### Count (Distinct)\n返回输入值中的不同非 null 值的总数。\n\n```\nCOUNT(DISTINCT field_name)\n```\n- 输入:字段名称。\n- 输出:数字值。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n```\nSELECT COUNT(DISTINCT hire_date) unique_hires, COUNT(hire_date) AS hires FROM emp\n\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countFunction.markdown": "### Count\n返回输入值的总数(计数)。\n\n\n```\nCOUNT(expression)\n```\n- 表达式为字段名称、通配符 (*) 或任何数字值。对于 COUNT(*) 或 COUNT(),将考虑所有值,包括 null 或缺失的值。对于 COUNT(),将不考虑 null 值。\n```\nSELECT COUNT(*) AS count FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.divideOperator.markdown": "### Divide (/)\n```\nSELECT 6 / 3 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.equality.markdown": "### Equality (=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no = 10000 LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.firstFunction.markdown": "### FIRST / FIRST_VALUE\n返回按 ordering_field_name 列排序的 field_name 输入列中的第一个非 null 值(如果存在)。如果未提供 ordering_field_name,则仅 field_name 列用于排序。\n\n```\nFIRST(\n field_name \n [, ordering_field_name])\n```\n- 字段名称:用于聚合的目标字段\n- ordering_field_name:用于排序的可选字段。\n\n```\nSELECT gender, FIRST(first_name, birth_date) FROM emp GROUP BY gender ORDER BY gender\n```\n\n- FIRST 不能用在 HAVING 子句中。\n- FIRST 不能用于文本类型的列,除非也将该字段另存为关键字。\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.inequality.markdown": "### Inequality (<> or !=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no <> 10000 ORDER BY emp_no LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.inOperator.markdown": "### IN (, , ...)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no IN (10000, 10001, 10002, 999) ORDER BY emp_no LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.kurtosisFunction.markdown": "### KURTOSIS\n量化字段 field_name 中输入值的分布形状。\n\n```\nKURTOSIS(field_name) \n```\n- 数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, KURTOSIS(salary) AS k FROM emp\n```\n\n- KURTOSIS 不能用于标量函数或运算符上面,而只能直接用于字段。 \n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.lastFunction.markdown": "### LAST / LAST_VALUE\n这是 FIRST/FIRST_VALUE 的反向函数。返回按 ordering_field_name 列降序排序的 field_name 输入列中的最后一个非 null 值(如果存在)。如果未提供 ordering_field_name,则仅 field_name 列用于排序。 \n\n```\nLAST(\n field_name \n [, ordering_field_name])\n```\n- 字段名称:用于聚合的目标字段\n- ordering_field_name:用于排序的可选字段。\n```\nSELECT gender, LAST(first_name) FROM emp GROUP BY gender ORDER BY gender\n```\n- LAST 不能用在 HAVING 子句中。\n- LAST 不能用于文本类型的列,除非也将该字段另存为关键字。\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.madFunction.markdown": "### MAD\n衡量字段 field_name 中输入值的可变性。\n\n```\nMAD(field_name) \n```\n- 数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, AVG(salary) AS avg, MAD(salary) AS mad FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.markdown": "## 关于 Elasticsearch SQL\n\n使用 Elasticsearch SQL 在 Elasticsearch 内部搜索并聚合数据。此查询语言通过熟悉的语法提供了全文本搜索。这里提供了一个查询示例:\n \n```\nSELECT * FROM library \nORDER BY page_count DESC LIMIT 5\n```\n \nElasticsearch SQL:\n\n- 提供了一组全面的内置运算符和函数。\n- 遵循 SQL 术语和约定。\n- 每行接受一个命令。命令指通过结束输入流终止的一连串令牌\n \n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.maxFunction.markdown": "### MAX\n返回字段 field_name 中所有输入值的最大值。\n\n```\nMAX(field_name) \n```\n- 数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MAX(salary) AS max FROM emp\n```\n\n- 类型为文本或关键字的字段的 MAX 将转换为 FIRST/FIRST_VALUE,因此不能用在 HAVING 子句中。\n\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.minFunction.markdown": "### MIN\n返回字段 field_name 中所有输入值的最小值。\n\n```\nMIN(field_name) \n```\n- 数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min FROM emp\n```\n\n- 类型为文本或关键字的字段的 MIN 将转换为 FIRST/FIRST_VALUE,因此不能用在 HAVING 子句中。\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.moduloOperator.markdown": "### Modulo or remainder(%)\n```\nSELECT 5 % 2 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.multiplyOperator.markdown": "### Multiply (*)\n```\nSELECT 2 * 3 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.negateOperator.markdown": "### Negate (unary -)\n```\nSELECT - 1 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.notOperator.markdown": "### NOT\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE NOT emp_no = 10000 LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullNotNull.markdown": "### IS NULL/IS NOT NULL\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no IS NOT NULL AND gender IS NULL\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullSafeEquality.markdown": "### Null safe equality:\n```\nSELECT 'elastic' <=> null AS \"equals\"\n\n 等于\n---------------\nfalse\n```\n```\nSELECT null <=> null AS \"equals\"\n\n 等于\n---------------\ntrue\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.orOperator.markdown": "### OR\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no < 10003 OR emp_no = 10005 ORDER BY emp_no LIMIT 5\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileFunction.markdown": "### PERCENTILE\n返回字段 field_name 中输入值的第 n 个百分位(用 numeric_exp 参数表示)。\n\n```\nPERCENTILE(\n field_name, \n percentile[, \n method[, \n method_parameter]])\n```\n- field_name:数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n- 百分位数:数字表达式(必须为常数并且不得基于字段)。如果为 null,该函数将返回 null。\n- 方法:百分位数算法的可选字符串文本。可能的值:tdigest 或 hdr。默认值为 tdigest。\n- method_parameter:配置百分位数算法的可选数字文本。为 tdigest 配置表达式,或为 hdr 配置 number_of_significant_value_digits。默认值与后备算法的默认值相同。\n\n```\n精选\n languages,\n PERCENTILE(salary, 97.3, 'tdigest', 100.0) AS \"97.3_TDigest\",\n PERCENTILE(salary, 97.3, 'hdr', 3) AS \"97.3_HDR\"\nFROM emp\nGROUP BY languages\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileRankFunction.markdown": "### PERCENTILE_RANK\n返回字段 field_name 中输入值的第 n 个百分位等级(用 numeric_exp 参数表示)。\n\n```\nPERCENTILE_RANK(\n field_name, \n value[, \n method[, \n method_parameter]]) \n```\n- field_name:数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n- 百分位数:数字表达式(必须为常数并且不得基于字段)。如果为 null,该函数将返回 null。\n- 方法:百分位数算法的可选字符串文本。可能的值:tdigest 或 hdr。默认值为 tdigest。\n- method_parameter:配置百分位数算法的可选数字文本。为 tdigest 配置表达式,或为 hdr 配置 number_of_significant_value_digits。默认值与后备算法的默认值相同。\n\n```\n精选\n languages,\n ROUND(PERCENTILE_RANK(salary, 65000, 'tdigest', 100.0), 2) AS \"rank_TDigest\",\n ROUND(PERCENTILE_RANK(salary, 65000, 'hdr', 3), 2) AS \"rank_HDR\"\nFROM emp\nGROUP BY languages\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.skewnessFunction.markdown": "### SKEWNESS\n量化字段 field_name 中输入值的非对称分布。\n\n```\nSKEWNESS(field_name) \n```\n- field_name:数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, SKEWNESS(salary) AS s FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevpopFunction.markdown": "### STDDEV_POP\n返回字段 field_name 中输入值的填充标准偏差。\n\n```\nSTDDEV_POP(field_name) \n```\n- field_name:数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, STDDEV_POP(salary) AS stddev FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevsampFunction.markdown": "### STDDEV_SAMP\n返回字段 field_name 中输入值的样例标准偏差。\n\n```\nSTDDEV_SAMP(field_name) \n```\n- field_name:数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, STDDEV_SAMP(salary) AS stddev FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.subtractOperator.markdown": "### Subtract (infix -)\n```\nSELECT 1 - 1 AS x\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumFunction.markdown": "### SUM\n返回字段 field_name 中所有输入值的总和。\n\n```\nSUM(field_name) \n```\n- 数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT SUM(salary) AS sum FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumofsquaresFunction.markdown": "### SUM_OF_SQUARES\n返回字段 field_name 中输入值的平方和。\n\n```\nSUM_OF_SQUARES(field_name) \n```\n- field_name:数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, SUM_OF_SQUARES(salary) AS sumsq\n FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.varpopFunction.markdown": "### VAR_POP\n返回字段 field_name 中输入值的总体方差。\n\n```\nVAR_POP(field_name) \n```\n- field_name:数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, VAR_POP(salary) AS varpop FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.varsampFunction.markdown": "### VAR_SAMP\n返回字段 field_name 中输入值的样例方差。\n\n```\nVAR_SAMP(field_name) \n```\n- field_name:数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, VAR_SAMP(salary) AS varsamp FROM emp\n```\n ", + "textBasedEditor.query.textBasedLanguagesEditor.aggregateFunctions": "聚合函数", + "textBasedEditor.query.textBasedLanguagesEditor.aggregateFunctionsDocumentationDescription": "用于从一组输入值计算单一结果的函数。Elasticsearch SQL 仅在与分组(隐式或显式)一起时才支持聚合函数。", + "textBasedEditor.query.textBasedLanguagesEditor.comparisonOperators": "比较运算符", + "textBasedEditor.query.textBasedLanguagesEditor.comparisonOperatorsDocumentationDescription": "用于比较一个或多个表达式的布尔运算符。", + "textBasedEditor.query.textBasedLanguagesEditor.disableWordWrapLabel": "禁用自动换行", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.AddOperator": "添加", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.AndOperator": "且", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.averageFunction": "平均值", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.between": "介于", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.comparison": "对比", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countAllFunction": "Count (All)", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countDistinctFunction": "Count (Distinct)", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.countFunction": "计数", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.divideOperator": "除", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.equality": "等于", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.firstFunction": "First / First_value", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.inequality": "不等于", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.inOperator": "IN", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.kurtosisFunction": "峰度", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.lastFunction": "Last / Last_value", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.madFunction": "Mad", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.maxFunction": "最大值", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.minFunction": "最小值", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.moduloOperator": "模数或余数", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.multiplyOperator": "乘积", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.negateOperator": "求反", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.NotOperator": "非", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullNotNull": "IS NULL 和 IS NOT NULL", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullSafeEquality": "Null safe equality (<=>)", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.OrOperator": "OR", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileFunction": "百分位数", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileRankFunction": "百分位等级", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.skewnessFunction": "偏度", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevpopFunction": "STDDEV_POP", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevsampFunction": "STDDEV_SAMP", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.SubtractOperator": "减", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumFunction": "求和", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumofsquaresFunction": "平方和", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.varpopFunction": "VAR_POP", + "textBasedEditor.query.textBasedLanguagesEditor.documentation.varsampFunction": "VAR_SAMP", + "textBasedEditor.query.textBasedLanguagesEditor.documentationLabel": "文档", + "textBasedEditor.query.textBasedLanguagesEditor.EnableWordWrapLabel": "启用自动换行", + "textBasedEditor.query.textBasedLanguagesEditor.errorsTitle": "错误", + "textBasedEditor.query.textBasedLanguagesEditor.expandTooltip": "展开查询编辑器", + "textBasedEditor.query.textBasedLanguagesEditor.howItWorks": "运作方式", + "textBasedEditor.query.textBasedLanguagesEditor.logicalOperators": "逻辑运算符", + "textBasedEditor.query.textBasedLanguagesEditor.logicalOperatorsDocumentationDescription": "用于评估一个或多个表达式的布尔运算符。", + "textBasedEditor.query.textBasedLanguagesEditor.mathOperators": "数学运算符", + "textBasedEditor.query.textBasedLanguagesEditor.mathOperatorsDocumentationDescription": "执行影响一个或两个值的数学运算。结果为数值类型的值。", + "textBasedEditor.query.textBasedLanguagesEditor.MinimizeEditor": "最小化编辑器", + "textBasedEditor.query.textBasedLanguagesEditor.minimizeTooltip": "压缩查询编辑器", + "textBasedEditor.query.textBasedLanguagesEditor.runQuery": "运行查询", + "textBasedEditor.query.textBasedLanguagesEditor.timestampDetected": "已检测到 @timestamp", + "textBasedEditor.query.textBasedLanguagesEditor.timestampNotDetected": "未检测到 @timestamp", "timelion.help.functions.aggregate.args.functionHelpText": "以下选项之一:{functions}", "timelion.help.functions.aggregateHelpText": "基于对序列中所有点的处理结果创建静态线。可用函数:{functions}", "timelion.help.functions.common.args.fitHelpText": "用于将序列拟合到目标时间跨度和时间间隔的算法。可用:{fitFunctions}", @@ -5528,8 +5688,8 @@ "unifiedFieldList.fieldListGrouped.fieldSearchForSelectedFieldsLiveRegion": "{selectedFields} 个选定{selectedFields, plural, other {字段}}。", "unifiedFieldList.fieldListGrouped.fieldSearchForUnmappedFieldsLiveRegion": "{unmappedFields} 个未映射{unmappedFields, plural, other {字段}}。", "unifiedFieldList.fieldPopover.addFieldToWorkspaceLabel": "添加“{field}”字段", - "unifiedFieldList.fieldStats.bucketPercentageTooltip": "{formattedPercentage}({count, plural, other {# 个记录}})", - "unifiedFieldList.fieldStats.calculatedFromSampleRecordsLabel": "基于 {sampledDocumentsFormatted} 个样例{sampledDocuments, plural, other {个记录}}计算。", + "unifiedFieldList.fieldStats.bucketPercentageTooltip": "{formattedPercentage} ({count, plural, other {# 个记录}})", + "unifiedFieldList.fieldStats.calculatedFromSampleRecordsLabel": "基于 {sampledDocumentsFormatted} 个样例{sampledDocuments, plural, other {记录}}计算。", "unifiedFieldList.fieldStats.calculatedFromTotalRecordsLabel": "基于 {totalDocumentsFormatted} 个{totalDocuments, plural, other {记录}}计算。", "unifiedFieldList.fieldStats.filterOutValueButtonAriaLabel": "筛除 {field}“{value}”", "unifiedFieldList.fieldStats.filterValueButtonAriaLabel": "筛留 {field}“{value}”", @@ -5615,6 +5775,9 @@ "unifiedFieldList.fieldStats.fieldTimeDistributionLabel": "时间分布", "unifiedFieldList.fieldStats.noFieldDataDescription": "没有适用于当前搜索的字段数据。", "unifiedFieldList.fieldStats.notAvailableForThisFieldDescription": "分析不适用于此字段。", + "unifiedFieldList.fieldStats.numberSummary.maxLabel": "最大值", + "unifiedFieldList.fieldStats.numberSummary.minLabel": "最小值", + "unifiedFieldList.fieldStats.numberSummary.summaryTableTitle": "摘要", "unifiedFieldList.fieldStats.otherDocsLabel": "其他", "unifiedFieldList.fieldStats.topValuesLabel": "排名最前值", "unifiedFieldList.fieldTypeFilter.clearAllLink": "全部清除", @@ -5660,6 +5823,7 @@ "unifiedHistogram.inspectorRequestDescriptionTotalHits": "此请求将查询 Elasticsearch 以获取总命中数。", "unifiedHistogram.lensTitle": "编辑可视化", "unifiedHistogram.resetChartHeight": "重置为默认高度", + "unifiedHistogram.saveVisualizationButton": "保存可视化", "unifiedHistogram.showChart": "显示图表", "unifiedHistogram.suggestionSelectorPlaceholder": "选择可视化", "unifiedHistogram.timeIntervals": "时间间隔", @@ -5683,9 +5847,10 @@ "unifiedSearch.query.queryBar.KQLNestedQuerySyntaxInfoText": "似乎您正在查询嵌套字段。您可以使用不同的方式构造嵌套查询的 KQL 语法,具体取决于您想要的结果。详细了解我们的 {link}。", "unifiedSearch.query.queryBar.searchInputAriaLabel": "开始键入内容,以搜索并筛选 {pageType} 页面", "unifiedSearch.query.queryBar.searchInputPlaceholder": "使用 {language} 语法筛选数据", + "unifiedSearch.query.queryBar.textBasedNonTimestampWarning": "{language} 查询的日期范围选择要求数据集中存在 @timestamp 字段。", "unifiedSearch.search.searchBar.savedQueryPopoverConfirmDeletionTitle": "删除“{savedQueryName}”?", "unifiedSearch.search.searchBar.savedQueryPopoverSaveChangesButtonAriaLabel": "将更改保存到 {title}", - "unifiedSearch.search.unableToGetSavedQueryToastTitle": "无法加载已保存查询 {savedQueryId}", + "unifiedSearch.search.unableToGetSavedQueryToastTitle": "无法加载查询 {savedQueryId}", "unifiedSearch.filter.applyFilterActionTitle": "将筛选应用于当前视图", "unifiedSearch.filter.applyFilters.popupHeader": "选择要应用的筛选", "unifiedSearch.filter.applyFiltersPopup.cancelButtonLabel": "取消", @@ -5732,6 +5897,7 @@ "unifiedSearch.filter.filterEditor.isOneOfOperatorOptionLabel": "属于", "unifiedSearch.filter.filterEditor.isOperatorOptionLabel": "是", "unifiedSearch.filter.filterEditor.queryDslAriaLabel": "Elasticsearch 查询 DSL 编辑器", + "unifiedSearch.filter.filterEditor.queryDslDocsLinkLabel": "了解查询 DSL 语法", "unifiedSearch.filter.filterEditor.queryDslLabel": "Elasticsearch 查询 DSL", "unifiedSearch.filter.filterEditor.rangeEndInputPlaceholder": "结束", "unifiedSearch.filter.filterEditor.rangeInputLabel": "范围", @@ -5808,6 +5974,7 @@ "unifiedSearch.query.queryBar.searchInputPlaceholderForText": "筛选您的数据", "unifiedSearch.query.queryBar.syntaxOptionsTitle": "语法选项", "unifiedSearch.query.queryBar.textBasedLanguagesTechPreviewLabel": "技术预览", + "unifiedSearch.queryBarTopRow.datePicker.disabledLabel": "所有时间", "unifiedSearch.queryBarTopRow.submitButton.refresh": "刷新查询", "unifiedSearch.queryBarTopRow.submitButton.run": "运行查询", "unifiedSearch.queryBarTopRow.submitButton.update": "需要更新", @@ -5830,97 +5997,6 @@ "unifiedSearch.switchLanguage.buttonText": "切换语言按钮。", "unifiedSearch.triggers.updateFilterReferencesTrigger": "更新筛选参考", "unifiedSearch.triggers.updateFilterReferencesTriggerDescription": "更新筛选参考", - "textBasedEditor.query.textBasedLanguagesEditor.errorCount": "{count} 个{count, plural, other {错误}}", - "textBasedEditor.query.textBasedLanguagesEditor.lineCount": "{count} {count, plural, other {行}}", - "textBasedEditor.query.textBasedLanguagesEditor.lineNumber": "第 {lineNumber} 行", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.addOperator.markdown": "### Add (+)\n```\nSELECT 1 + 1 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.andOperator.markdown": "### AND\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no > 10000 AND emp_no < 10005 ORDER BY emp_no LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.averageFunction.markdown": "### AVG\n返回输入值的算术平均值。\n```\nAVG(numeric_field)\n```\n- 数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n```\nSELECT AVG(salary) AS avg FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.between.markdown": "### Between\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no BETWEEN 9990 AND 10003 ORDER BY emp_no\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.comparison.markdown": "### Comparison (<, <=, >, >=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no < 10003 ORDER BY emp_no LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countAllFunction.markdown": "### Count (All)\n返回所有非 null 输入值的总数(计数)。COUNT() 与 COUNT(ALL ) 等价。\n\n```\nCOUNT(ALL field_name) \n```\n- 字段名称。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n```\nSELECT COUNT(ALL last_name) AS count_all, COUNT(DISTINCT last_name) count_distinct FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countDistinctFunction.markdown": "### Count (Distinct)\n返回输入值中的不同非 null 值的总数。\n\n```\nCOUNT(DISTINCT field_name)\n```\n- 输入:字段名称。\n- 输出:数字值。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n```\nSELECT COUNT(DISTINCT hire_date) unique_hires, COUNT(hire_date) AS hires FROM emp\n\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countFunction.markdown": "### Count\n返回输入值的总数(计数)。\n\n\n```\nCOUNT(expression)\n```\n- 表达式为字段名称、通配符 (*) 或任何数字值。对于 COUNT(*) 或 COUNT(),将考虑所有值,包括 null 或缺失的值。对于 COUNT(),将不考虑 null 值。\n```\nSELECT COUNT(*) AS count FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.divideOperator.markdown": "### Divide (/)\n```\nSELECT 6 / 3 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.equality.markdown": "### Equality (=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no = 10000 LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.firstFunction.markdown": "### FIRST / FIRST_VALUE\n返回按 ordering_field_name 列排序的 field_name 输入列中的第一个非 null 值(如果存在)。如果未提供 ordering_field_name,则仅 field_name 列用于排序。\n\n```\nFIRST(\n field_name \n [, ordering_field_name])\n```\n- 字段名称:用于聚合的目标字段\n- ordering_field_name:用于排序的可选字段。\n\n```\nSELECT gender, FIRST(first_name, birth_date) FROM emp GROUP BY gender ORDER BY gender\n```\n\n- FIRST 不能用在 HAVING 子句中。\n- FIRST 不能用于文本类型的列,除非也将该字段另存为关键字。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.inequality.markdown": "### Inequality (<> or !=)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no <> 10000 ORDER BY emp_no LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.inOperator.markdown": "### IN (, , ...)\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no IN (10000, 10001, 10002, 999) ORDER BY emp_no LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.kurtosisFunction.markdown": "### KURTOSIS\n量化字段 field_name 中输入值的分布形状。\n\n```\nKURTOSIS(field_name) \n```\n- 数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, KURTOSIS(salary) AS k FROM emp\n```\n\n- KURTOSIS 不能用于标量函数或运算符上面,而只能直接用于字段。 \n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.lastFunction.markdown": "### LAST / LAST_VALUE\n这是 FIRST/FIRST_VALUE 的反向函数。返回按 ordering_field_name 列降序排序的 field_name 输入列中的最后一个非 null 值(如果存在)。如果未提供 ordering_field_name,则仅 field_name 列用于排序。 \n\n```\nLAST(\n field_name \n [, ordering_field_name])\n```\n- 字段名称:用于聚合的目标字段\n- ordering_field_name:用于排序的可选字段。\n```\nSELECT gender, LAST(first_name) FROM emp GROUP BY gender ORDER BY gender\n```\n- LAST 不能用在 HAVING 子句中。\n- LAST 不能用于文本类型的列,除非也将该字段另存为关键字。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.madFunction.markdown": "### MAD\n衡量字段 field_name 中输入值的可变性。\n\n```\nMAD(field_name) \n```\n- 数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, AVG(salary) AS avg, MAD(salary) AS mad FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.markdown": "## 关于 Elasticsearch SQL\n\n使用 Elasticsearch SQL 在 Elasticsearch 内部搜索并聚合数据。此查询语言通过熟悉的语法提供了全文本搜索。这里提供了一个查询示例:\n \n```\nSELECT * FROM library \nORDER BY page_count DESC LIMIT 5\n```\n \nElasticsearch SQL:\n\n- 提供了一组全面的内置运算符和函数。\n- 遵循 SQL 术语和约定。\n- 每行接受一个命令。命令指通过结束输入流终止的一连串令牌\n \n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.maxFunction.markdown": "### MAX\n返回字段 field_name 中所有输入值的最大值。\n\n```\nMAX(field_name) \n```\n- 数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MAX(salary) AS max FROM emp\n```\n\n- 类型为文本或关键字的字段的 MAX 将转换为 FIRST/FIRST_VALUE,因此不能用在 HAVING 子句中。\n\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.minFunction.markdown": "### MIN\n返回字段 field_name 中所有输入值的最小值。\n\n```\nMIN(field_name) \n```\n- 数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min FROM emp\n```\n\n- 类型为文本或关键字的字段的 MIN 将转换为 FIRST/FIRST_VALUE,因此不能用在 HAVING 子句中。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.moduloOperator.markdown": "### Modulo or remainder(%)\n```\nSELECT 5 % 2 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.multiplyOperator.markdown": "### Multiply (*)\n```\nSELECT 2 * 3 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.negateOperator.markdown": "### Negate (unary -)\n```\nSELECT - 1 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.notOperator.markdown": "### NOT\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE NOT emp_no = 10000 LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullNotNull.markdown": "### IS NULL/IS NOT NULL\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no IS NOT NULL AND gender IS NULL\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullSafeEquality.markdown": "### Null safe equality:\n```\nSELECT 'elastic' <=> null AS \"equals\"\n\n 等于\n---------------\nfalse\n```\n```\nSELECT null <=> null AS \"equals\"\n\n 等于\n---------------\ntrue\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.orOperator.markdown": "### OR\n```\nSELECT last_name l FROM \"test_emp\" \nWHERE emp_no < 10003 OR emp_no = 10005 ORDER BY emp_no LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileFunction.markdown": "### PERCENTILE\n返回字段 field_name 中输入值的第 n 个百分位(用 numeric_exp 参数表示)。\n\n```\nPERCENTILE(\n field_name, \n percentile[, \n method[, \n method_parameter]])\n```\n- field_name:数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n- 百分位数:数字表达式(必须为常数并且不得基于字段)。如果为 null,该函数将返回 null。\n- 方法:百分位数算法的可选字符串文本。可能的值:tdigest 或 hdr。默认值为 tdigest。\n- method_parameter:配置百分位数算法的可选数字文本。为 tdigest 配置表达式,或为 hdr 配置 number_of_significant_value_digits。默认值与后备算法的默认值相同。\n\n```\n精选\n languages,\n PERCENTILE(salary, 97.3, 'tdigest', 100.0) AS \"97.3_TDigest\",\n PERCENTILE(salary, 97.3, 'hdr', 3) AS \"97.3_HDR\"\nFROM emp\nGROUP BY languages\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileRankFunction.markdown": "### PERCENTILE_RANK\n返回字段 field_name 中输入值的第 n 个百分位等级(用 numeric_exp 参数表示)。\n\n```\nPERCENTILE_RANK(\n field_name, \n value[, \n method[, \n method_parameter]]) \n```\n- field_name:数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n- 百分位数:数字表达式(必须为常数并且不得基于字段)。如果为 null,该函数将返回 null。\n- 方法:百分位数算法的可选字符串文本。可能的值:tdigest 或 hdr。默认值为 tdigest。\n- method_parameter:配置百分位数算法的可选数字文本。为 tdigest 配置表达式,或为 hdr 配置 number_of_significant_value_digits。默认值与后备算法的默认值相同。\n\n```\n精选\n languages,\n ROUND(PERCENTILE_RANK(salary, 65000, 'tdigest', 100.0), 2) AS \"rank_TDigest\",\n ROUND(PERCENTILE_RANK(salary, 65000, 'hdr', 3), 2) AS \"rank_HDR\"\nFROM emp\nGROUP BY languages\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.skewnessFunction.markdown": "### SKEWNESS\n量化字段 field_name 中输入值的非对称分布。\n\n```\nSKEWNESS(field_name) \n```\n- field_name:数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, SKEWNESS(salary) AS s FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevpopFunction.markdown": "### STDDEV_POP\n返回字段 field_name 中输入值的填充标准偏差。\n\n```\nSTDDEV_POP(field_name) \n```\n- field_name:数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, STDDEV_POP(salary) AS stddev FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevsampFunction.markdown": "### STDDEV_SAMP\n返回字段 field_name 中输入值的样例标准偏差。\n\n```\nSTDDEV_SAMP(field_name) \n```\n- field_name:数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, STDDEV_SAMP(salary) AS stddev FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.subtractOperator.markdown": "### Subtract (infix -)\n```\nSELECT 1 - 1 AS x\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumFunction.markdown": "### SUM\n返回字段 field_name 中所有输入值的总和。\n\n```\nSUM(field_name) \n```\n- 数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT SUM(salary) AS sum FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumofsquaresFunction.markdown": "### SUM_OF_SQUARES\n返回字段 field_name 中输入值的平方和。\n\n```\nSUM_OF_SQUARES(field_name) \n```\n- field_name:数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, SUM_OF_SQUARES(salary) AS sumsq\n FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.varpopFunction.markdown": "### VAR_POP\n返回字段 field_name 中输入值的总体方差。\n\n```\nVAR_POP(field_name) \n```\n- field_name:数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, VAR_POP(salary) AS varpop FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.varsampFunction.markdown": "### VAR_SAMP\n返回字段 field_name 中输入值的样例方差。\n\n```\nVAR_SAMP(field_name) \n```\n- field_name:数字字段。如果此字段仅包含 null 值,此函数将返回 null。否则,该函数将忽略此字段中的 null 值。\n\n```\nSELECT MIN(salary) AS min, MAX(salary) AS max, VAR_SAMP(salary) AS varsamp FROM emp\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.aggregateFunctions": "聚合函数", - "textBasedEditor.query.textBasedLanguagesEditor.aggregateFunctionsDocumentationDescription": "用于从一组输入值计算单一结果的函数。Elasticsearch SQL 仅在与分组(隐式或显式)一起时才支持聚合函数。", - "textBasedEditor.query.textBasedLanguagesEditor.comparisonOperators": "比较运算符", - "textBasedEditor.query.textBasedLanguagesEditor.comparisonOperatorsDocumentationDescription": "用于比较一个或多个表达式的布尔运算符。", - "textBasedEditor.query.textBasedLanguagesEditor.disableWordWrapLabel": "禁用自动换行", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.AddOperator": "添加", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.AndOperator": "且", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.averageFunction": "平均值", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.between": "介于", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.comparison": "对比", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countAllFunction": "Count (All)", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countDistinctFunction": "Count (Distinct)", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.countFunction": "计数", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.divideOperator": "除", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.equality": "等于", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.firstFunction": "First / First_value", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.inequality": "不等于", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.inOperator": "IN", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.kurtosisFunction": "峰度", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.lastFunction": "Last / Last_value", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.madFunction": "Mad", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.maxFunction": "最大值", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.minFunction": "最小值", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.moduloOperator": "模数或余数", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.multiplyOperator": "乘积", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.negateOperator": "求反", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.NotOperator": "非", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullNotNull": "IS NULL 和 IS NOT NULL", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.nullSafeEquality": "Null safe equality (<=>)", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.OrOperator": "OR", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileFunction": "百分位数", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.percentileRankFunction": "百分位等级", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.skewnessFunction": "偏度", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevpopFunction": "STDDEV_POP", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.stsdevsampFunction": "STDDEV_SAMP", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.SubtractOperator": "减", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumFunction": "求和", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.sumofsquaresFunction": "平方和", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.varpopFunction": "VAR_POP", - "textBasedEditor.query.textBasedLanguagesEditor.documentation.varsampFunction": "VAR_SAMP", - "textBasedEditor.query.textBasedLanguagesEditor.documentationLabel": "文档", - "textBasedEditor.query.textBasedLanguagesEditor.EnableWordWrapLabel": "启用自动换行", - "textBasedEditor.query.textBasedLanguagesEditor.errorsTitle": "错误", - "textBasedEditor.query.textBasedLanguagesEditor.expandTooltip": "展开查询编辑器", - "textBasedEditor.query.textBasedLanguagesEditor.howItWorks": "运作方式", - "textBasedEditor.query.textBasedLanguagesEditor.logicalOperators": "逻辑运算符", - "textBasedEditor.query.textBasedLanguagesEditor.logicalOperatorsDocumentationDescription": "用于评估一个或多个表达式的布尔运算符。", - "textBasedEditor.query.textBasedLanguagesEditor.mathOperators": "数学运算符", - "textBasedEditor.query.textBasedLanguagesEditor.mathOperatorsDocumentationDescription": "执行影响一个或两个值的数学运算。结果为数值类型的值。", - "textBasedEditor.query.textBasedLanguagesEditor.MinimizeEditor": "最小化编辑器", - "textBasedEditor.query.textBasedLanguagesEditor.minimizeTooltip": "压缩查询编辑器", - "textBasedEditor.query.textBasedLanguagesEditor.runQuery": "运行查询", "userProfileComponents.userProfilesSelectable.limitReachedMessage": "您已最多选择 {count, plural, other {# 个用户}}", "userProfileComponents.userProfilesSelectable.selectedStatusMessage": "{count, plural, other {# 个用户已选择}}", "userProfileComponents.userProfilesSelectable.clearButtonLabel": "移除所有用户", @@ -6032,7 +6108,7 @@ "visDefaultEditor.controls.ranges.fromLabel": "自", "visDefaultEditor.controls.ranges.greaterThanOrEqualPrepend": "≥", "visDefaultEditor.controls.ranges.greaterThanOrEqualTooltip": "大于或等于", - "visDefaultEditor.controls.ranges.lessThanPrepend": "<", + "visDefaultEditor.controls.ranges.lessThanPrepend": "<", "visDefaultEditor.controls.ranges.lessThanTooltip": "小于", "visDefaultEditor.controls.ranges.toLabel": "至", "visDefaultEditor.controls.rowsLabel": "行", @@ -6160,7 +6236,7 @@ "visTypeTimeseries.errors.fieldNotFound": "未找到字段“{field}”", "visTypeTimeseries.externalUrlErrorModal.bodyMessage": "在 {kibanaConfigFileName} 中配置 {externalUrlPolicy} 以允许访问 {url}。", "visTypeTimeseries.fieldSelect.fieldIsNotValid": "“{fieldParameter}”选择无效,无法用于当前索引。", - "visTypeTimeseries.fieldUtils.multiFieldLabel": "{firstFieldLabel} + {count, plural, other {其他}} {count} 个", + "visTypeTimeseries.fieldUtils.multiFieldLabel": "{firstFieldLabel} + {count} {count, plural, other {其他}}", "visTypeTimeseries.indexPattern.detailLevelHelpText": "根据时间范围控制 auto 和 gte 时间间隔。默认时间间隔受高级设置 {histogramTargetBars} 和 {histogramMaxBars} 影响。", "visTypeTimeseries.indexPattern.timeRange.error": "不能将“{mode}”与当前索引类型一起使用。", "visTypeTimeseries.indexPatternSelect.defaultDataViewText": "正在显示默认数据视图。{queryAllIndicesHelpText}", @@ -6262,8 +6338,8 @@ "visTypeTimeseries.colorRules.greaterThanLabel": "> 大于", "visTypeTimeseries.colorRules.greaterThanOrEqualLabel": ">= 大于等于", "visTypeTimeseries.colorRules.ifMetricIsLabel": "如果指标", - "visTypeTimeseries.colorRules.lessThanLabel": "< 小于", - "visTypeTimeseries.colorRules.lessThanOrEqualLabel": "<= 小于等于", + "visTypeTimeseries.colorRules.lessThanLabel": "< 小于", + "visTypeTimeseries.colorRules.lessThanOrEqualLabel": "<= 小于等于", "visTypeTimeseries.colorRules.valueAriaLabel": "值", "visTypeTimeseries.cumulativeSum.aggregationLabel": "聚合", "visTypeTimeseries.cumulativeSum.metricLabel": "指标", @@ -6905,6 +6981,7 @@ "visualizations.confirmModal.overwriteConfirmationMessage": "确定要覆盖“{title}”?", "visualizations.confirmModal.overwriteTitle": "覆盖 {name}?", "visualizations.confirmModal.saveDuplicateConfirmationMessage": "保存“{name}”会创建重复的标题。是否确定要保存?", + "visualizations.editVisualization.readOnlyErrorMessage": "{visTypeTitle} 可视化为只读状态,无法在编辑器中打开", "visualizations.embeddable.legacyURLConflict.errorMessage": "此可视化具有与旧版别名相同的 URL。请禁用别名以解决此错误:{json}", "visualizations.experimentalVisInfoText": "在未来版本中可能会更改或完全移除。Elastic 将尽最大努力来修复任何问题,但处于技术预览状态的功能不受正式 GA 功能支持 SLA 的约束。如欲提供反馈,请在 {githubLink} 中创建问题。", "visualizations.fallbackDataView.label": "找不到 {type}", @@ -7028,6 +7105,41 @@ "visualizations.visualizeListingBreadcrumbsTitle": "Visualize 库", "visualizations.visualizeListingDashboardAppName": "Dashboard 应用程序", "visualizations.visualizeListingDeleteErrorTitle": "删除可视化时出错", + "visualizationUiComponents.dimensionButton.editConfig": "编辑 {label} 配置", + "visualizationUiComponents.dimensionButton.removeColumnLabel": "从“{groupLabel}”中删除配置", + "visualizationUiComponents.dimensionButtonIcon.colorIndicatorLabel": "此维度的颜色:{hex}", + "visualizationUiComponents.queryInput.queryPlaceholderKql": "{example}", + "visualizationUiComponents.queryInput.queryPlaceholderLucene": "{example}", + "visualizationUiComponents.colorPicker.seriesColor.auto": "自动", + "visualizationUiComponents.colorPicker.seriesColor.label": "系列颜色", + "visualizationUiComponents.colorPicker.tooltip.auto": "Lens 自动为您选取颜色,除非您指定定制颜色。", + "visualizationUiComponents.colorPicker.tooltip.custom": "清除定制颜色以返回到“自动”模式。", + "visualizationUiComponents.configure.invalidConfigTooltip": "配置无效。", + "visualizationUiComponents.configure.invalidConfigTooltipClick": "单击了解更多详情。", + "visualizationUiComponents.customBucketContainer.dragToReorder": "拖动以重新排序", + "visualizationUiComponents.dimensionButtonIcon.aggregateIndicatorLabel": "此维度在图表中不可见,因为所有个体值都聚合到单一值中", + "visualizationUiComponents.dimensionButtonIcon.customIconIndicatorLabel": "此维度正在使用定制图标", + "visualizationUiComponents.dimensionButtonIcon.invisibleIndicatorLabel": "此维度当前在图表中不可见", + "visualizationUiComponents.dimensionButtonIcon.noColorIndicatorLabel": "此维度没有单独的颜色", + "visualizationUiComponents.dimensionButtonIcon.paletteColorIndicatorLabel": "此维度正在使用调色板", + "visualizationUiComponents.emptyTitle": "[未命名]", + "visualizationUiComponents.fieldPicker.fieldPlaceholder": "选择字段", + "visualizationUiComponents.fieldsBucketContainer.deleteButtonDisabled": "至少需要一个项目。", + "visualizationUiComponents.fieldsBucketContainer.dragHandleDisabled": "重新排序需要多个项目。", + "visualizationUiComponents.fieldsBucketContainer.dragToReorder": "拖动以重新排序", + "visualizationUiComponents.filterQueryInput.clickToEdit": "单击以编辑", + "visualizationUiComponents.filterQueryInput.emptyFilterQuery": "(空)", + "visualizationUiComponents.filterQueryInput.label": "筛选依据", + "visualizationUiComponents.iconSelect.label": "图标装饰", + "visualizationUiComponents.lineMarker.textVisibility": "文本装饰", + "visualizationUiComponents.nameInput.columnLabel": "名称", + "visualizationUiComponents.xyChart.lineMarker.textVisibility.field": "字段", + "visualizationUiComponents.xyChart.lineMarker.textVisibility.name": "名称", + "visualizationUiComponents.xyChart.lineMarker.textVisibility.none": "无", + "visualizationUiComponents.xyChart.lineStyle.dashed": "虚线", + "visualizationUiComponents.xyChart.lineStyle.dotted": "点线", + "visualizationUiComponents.xyChart.lineStyle.label": "折线图", + "visualizationUiComponents.xyChart.lineStyle.solid": "纯色", "xpack.actions.actionsClient.invalidDate": "参数 {field} 的日期无效:“{dateValue}”", "xpack.actions.actionTypeRegistry.get.missingActionTypeErrorMessage": "未注册操作类型“{id}”。", "xpack.actions.actionTypeRegistry.register.duplicateActionTypeErrorMessage": "操作类型“{id}”已注册。", @@ -7050,6 +7162,7 @@ "xpack.actions.availableConnectorFeatures.cases": "案例", "xpack.actions.availableConnectorFeatures.compatibility.alertingRules": "告警规则", "xpack.actions.availableConnectorFeatures.compatibility.cases": "案例", + "xpack.actions.availableConnectorFeatures.compatibility.general": "常规", "xpack.actions.availableConnectorFeatures.securitySolution": "安全解决方案", "xpack.actions.availableConnectorFeatures.uptime": "运行时间", "xpack.actions.builtin.cases.jiraTitle": "Jira", @@ -7059,6 +7172,7 @@ "xpack.aiops.analysis.errorCallOutTitle": "运行分析时发生以下{errorCount, plural, other {错误}}。", "xpack.aiops.categorizeFlyout.title": "{name} 的模式分析", "xpack.aiops.changePointDetection.cardinalityWarningMessage": "“{splitField}”字段基数为 {cardinality},这超出了 {cardinalityLimit} 的限制。仅分析前 {cardinalityLimit} 个分区(按文档计数排序)。", + "xpack.aiops.dataViewNotBasedOnTimeSeriesWarning.title": "数据视图“{dataViewTitle}”并非基于时间序列。", "xpack.aiops.explainLogRateSpikes.loadingState.identifiedFieldCandidates": "已识别 {fieldCandidatesCount, plural, other {# 个字段候选项}}。", "xpack.aiops.explainLogRateSpikes.loadingState.identifiedFieldValuePairs": "已识别 {fieldValuePairsCount, plural, other {# 个重要的字段/值对}}。", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.groupColumnTooltip": "显示多达 {maxItemCount} 个按唯一性和文档计数排序的组项目。展开行以查看所有字段/值对。", @@ -7083,6 +7197,7 @@ "xpack.aiops.analysis.fieldSelectorAriaLabel": "筛选字段", "xpack.aiops.analysis.fieldSelectorNotEnoughFieldsSelected": "分组至少需要 2 个供选择的字段。", "xpack.aiops.analysis.fieldSelectorPlaceholder": "搜索", + "xpack.aiops.analysisCompleteLabel": "分析已完成", "xpack.aiops.cancelAnalysisButtonTitle": "取消", "xpack.aiops.categorizeFieldAction.displayName": "对字段归类", "xpack.aiops.categorizeFlyout.loading.title": "正在加载模式分析", @@ -7120,6 +7235,7 @@ "xpack.aiops.changePointDetection.typeColumn": "类型", "xpack.aiops.changePointDetection.viewSelectedButtonLabel": "已选择视图", "xpack.aiops.changePointDetection.viewSelectedChartsToltip": "选择更改点以便仔细查看。", + "xpack.aiops.changePointTimeSeriesWarning.description": "仅针对基于时间的索引运行更改点检测。", "xpack.aiops.correlations.highImpactText": "高", "xpack.aiops.correlations.lowImpactText": "低", "xpack.aiops.correlations.mediumImpactText": "中", @@ -7142,14 +7258,14 @@ "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.impactLabelColumnTooltip": "字段对消息速率差异的影响水平。", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.logRateColumnTooltip": "字段对消息速率差异的影响的视觉表示形式", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.logRateLabel": "日志速率", - "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.pValueColumnTooltip": "值的频率更改的意义;值越小表示变化越大", + "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.pValueColumnTooltip": "值的频率更改的意义;值越小表示变化越大;对此列排序会自动在文档计数列上进行二次排序。", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.pValueLabel": "p-value", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTable.uniqueColumnTooltip": "此字段/值对只在该分组中出现", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.groupLabel": "组", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.impactLabelColumnTooltip": "组对消息速率差异的影响水平", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.logRateColumnTooltip": "组对消息速率差异的影响的视觉表示形式。", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.logRateLabel": "日志速率", - "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.pValueColumnTooltip": "值的频率更改的意义;值越小表示变化越大。", + "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.pValueColumnTooltip": "值的频率更改的意义;值越小表示变化越大;对此列排序会自动在文档计数列上进行二次排序。", "xpack.aiops.explainLogRateSpikes.spikeAnalysisTableGroups.pValueLabel": "p-value", "xpack.aiops.explainLogRateSpikesPage.emptyPromptBody": "“解释日志速率峰值”功能会从统计上识别有助于达到日志速率峰值的重要字段/值组合。", "xpack.aiops.explainLogRateSpikesPage.emptyPromptTitle": "单击直方图中的某个峰值可开始分析。", @@ -7194,20 +7310,26 @@ "xpack.aiops.logCategorization.randomSamplerSettingsPopUp.randomSamplerPercentageRowLabel": "采样百分比", "xpack.aiops.logCategorization.randomSamplerSettingsPopUp.randomSamplerRowLabel": "随机采样", "xpack.aiops.logCategorization.runButton": "运行模式分析", + "xpack.aiops.logCategorizationTimeSeriesWarning.description": "仅针对基于时间的索引运行日志模式分析。", + "xpack.aiops.logRateSpikesTimeSeriesWarning.description": "仅针对基于时间的索引运行日志速率峰值。", "xpack.aiops.miniHistogram.noDataLabel": "不可用", "xpack.aiops.progressAriaLabel": "进度", - "xpack.aiops.rerunAnalysisButtonTitle": "重新运行分析", + "xpack.aiops.rerunAnalysisButtonTitle": "运行分析", "xpack.aiops.rerunAnalysisTooltipContent": "由于选择内容更新,分析数据可能已过时。重新运行分析。", + "xpack.aiops.resetLabel": "重置", "xpack.aiops.searchPanel.invalidSyntax": "语法无效", "xpack.aiops.searchPanel.queryBarPlaceholderText": "搜索……(例如,status:200 AND extension:\"PHP\")", + "xpack.aiops.spikeAnalysisGroupsTable.actionsColumnName": "操作", "xpack.aiops.spikeAnalysisPage.documentCountStatsSplitGroupLabel": "选定的组", "xpack.aiops.spikeAnalysisTable.actionsColumnName": "操作", "xpack.aiops.spikeAnalysisTable.autoGeneratedDiscoverLinkErrorMessage": "无法链接到 Discover;此索引的数据视图不存在", "xpack.aiops.spikeAnalysisTable.autoGeneratedLogPatternAnalysisLinkErrorMessage": "无法链接到日志模式分析;此索引的数据视图不存在", "xpack.aiops.spikeAnalysisTable.discoverLocatorMissingErrorMessage": "未检测到 Discover 的定位器", "xpack.aiops.spikeAnalysisTable.discoverNotEnabledErrorMessage": "Discover 未启用", - "xpack.aiops.spikeAnalysisTable.groupedSwitchLabel.groupResults": "对结果分组", + "xpack.aiops.spikeAnalysisTable.groupedSwitchLabel.groupResults": "智能分组", "xpack.aiops.spikeAnalysisTable.groupedSwitchLabel.groupResultsHelpMessage": "对组唯一的项目将用星号 (*) 标注。", + "xpack.aiops.spikeAnalysisTable.groupedSwitchLabel.groupResultsOff": "关闭", + "xpack.aiops.spikeAnalysisTable.groupedSwitchLabel.groupResultsOn": "开启", "xpack.aiops.spikeAnalysisTable.linksMenu.copyToClipboardButtonLabel": "复制到剪贴板", "xpack.aiops.spikeAnalysisTable.linksMenu.copyToClipboardGroupMessage": "将组项目作为 KQL 语法复制到剪贴板", "xpack.aiops.spikeAnalysisTable.linksMenu.copyToClipboardSignificantTermMessage": "将字段/值对作为 KQL 语法复制到剪贴板", @@ -7290,13 +7412,16 @@ "xpack.alerting.maintenanceWindows.archiveCallout.subtitle": "将不保存您在此处所做的更改。是否确定要放弃这些未保存更改并归档此维护窗口?", "xpack.alerting.maintenanceWindows.badge.experimentalDescription": "此功能处于技术预览状态,在未来版本中可能会更改或完全移除。Elastic 将尽最大努力来修复任何问题,但处于技术预览状态的功能不受正式 GA 功能支持 SLA 的约束。", "xpack.alerting.maintenanceWindows.badge.experimentalLabel": "技术预览", + "xpack.alerting.maintenanceWindows.badge.readOnly.text": "只读", + "xpack.alerting.maintenanceWindows.badge.readOnly.tooltip": "无法创建或编辑维护窗口", "xpack.alerting.maintenanceWindows.cancelAndArchiveModal.subtitle": "规则通知立即恢复。已取消所有正在运行和即将发生的维护窗口事件,且该窗口已进入删除队列。", "xpack.alerting.maintenanceWindows.cancelAndArchiveModal.title": "取消并归档维护窗口", "xpack.alerting.maintenanceWindows.cancelModal.button": "继续运行", "xpack.alerting.maintenanceWindows.cancelModal.subtitle": "规则通知立即恢复。已取消正在运行的维护窗口事件;即将发生的事件不受影响。", "xpack.alerting.maintenanceWindows.cancelModal.title": "取消维护窗口", - "xpack.alerting.maintenanceWindows.create.description": "计划单一或重复期间,这段时间将停止规则通知,并且告警处于维护模式。", + "xpack.alerting.maintenanceWindows.create.description": "计划在其间新告警不发送通知的单一或重复时段。", "xpack.alerting.maintenanceWindows.create.maintenanceWindow": "创建维护窗口", + "xpack.alerting.maintenanceWindows.createForm.byweekdayFieldRequiredError": "“工作日”必填。", "xpack.alerting.maintenanceWindows.createForm.cancel": "取消", "xpack.alerting.maintenanceWindows.createForm.count.after": "之后", "xpack.alerting.maintenanceWindows.createForm.count.occurrence": "发生", @@ -7324,7 +7449,12 @@ "xpack.alerting.maintenanceWindows.emptyPrompt.description": "计划停止规则通知的时段。", "xpack.alerting.maintenanceWindows.emptyPrompt.documentation": "文档", "xpack.alerting.maintenanceWindows.emptyPrompt.title": "创建您的首个维护窗口", + "xpack.alerting.maintenanceWindows.licenseCallout.startTrial": "开始试用", + "xpack.alerting.maintenanceWindows.licenseCallout.updgradeToPlatinumTitle": "维护窗口为订阅功能", + "xpack.alerting.maintenanceWindows.licenseCallout.upgradeSubscription": "升级订阅", + "xpack.alerting.maintenanceWindows.licenseCallout.upgradeToPlatinumSubtitle": "选择选项以对其解锁。", "xpack.alerting.maintenanceWindows.name": "名称", + "xpack.alerting.maintenanceWindows.refreshButton": "刷新", "xpack.alerting.maintenanceWindows.returnLink": "返回", "xpack.alerting.maintenanceWindows.save.maintenanceWindow": "保存维护窗口", "xpack.alerting.maintenanceWindows.table.alerts": "告警", @@ -7377,7 +7507,9 @@ "xpack.apm.agentExplorerInstanceTable.agentVersionColumnLabel.multipleVersions": "{versionsCount, plural, other {# 个版本}}", "xpack.apm.agentExplorerInstanceTable.noServiceNodeName.tooltip.linkToDocs": "您可以通过 {seeDocs} 配置服务节点名称。", "xpack.apm.agentExplorerTable.agentVersionColumnLabel.multipleVersions": "{versionsCount, plural, other {# 个版本}}", + "xpack.apm.alertDetails.latencyAlertHistoryChart.error.toastDescription": "提取 {serviceName} 的延迟告警历史记录图表数据时出错", "xpack.apm.alerts.anomalySeverity.scoreDetailsDescription": "分数 {value} {value, select, critical {} other {及以上}}", + "xpack.apm.alerts.timeLabelForData": "过去 {lookback} {timeLabel}的数据,显示 {displayedGroups}/{totalGroups} 个组", "xpack.apm.alertTypes.errorCount.reason": "对于 {group},过去 {interval}的错误计数为 {measured}。大于 {threshold} 时告警。", "xpack.apm.alertTypes.minimumWindowSize.description": "建议的最小值为 {sizeValue} {sizeUnit}。这是为了确保告警具有足够的待评估数据。如果选择的值太小,可能无法按预期触发告警。", "xpack.apm.alertTypes.transactionDuration.reason": "对于 {group},过去 {interval}的 {aggregationType} 延迟为 {measured}。大于 {threshold} 时告警。", @@ -7410,7 +7542,34 @@ "xpack.apm.instancesLatencyDistributionChartTooltipInstancesTitle": "{instancesCount} {instancesCount, plural, other {实例}}", "xpack.apm.itemsBadge.placeholder": "{itemsCount, plural, other {# 项}}", "xpack.apm.kueryBar.placeholder": "搜索{event, select, transaction {事务} metric {指标} error {错误} other {事务、错误和指标}}(例如 {queryExample})", + "xpack.apm.onboarding.apiKey.error.calloutMessage": "错误:{errorMessage}", + "xpack.apm.onboarding.apiKey.warning.calloutMessage": "用户缺失以下权限 - {missingPrivilege}。请将缺失的 APM 应用程序权限添加到已通过身份验证的用户的角色", + "xpack.apm.onboarding.config_otel.description1": "(1) OpenTelemetry 代理和 SDK 必须支持 {otelExporterOtlpEndpoint}{otelExporterOtlpHeaders} 和 {otelResourceAttributes} 变量;某些不稳定的组件可能尚未符合此要求。", + "xpack.apm.onboarding.config_otel.description3": "{otelInstrumentationGuide}中提供了环境变量、命令行参数和配置代码片段(根据 OpenTelemetry 规范)的详细列表。某些不稳定的 OpenTelemetry 客户端可能不支持所有功能,并可能需要备选配置机制。", + "xpack.apm.onboarding.django.configure.textPost": "有关高级用法,请参阅[文档]({documentationLink})。", + "xpack.apm.onboarding.dotNet.configureAgent.textPost": "如果您未将 `IConfiguration` 实例传递给代理(例如非 ASP.NET Core 应用程序), 您还可以通过环境变量配置代理。\n 有关高级用法,请参阅[文档]({documentationLink}),包括 [Profiler 自动检测]({profilerLink}) 快速入门。", + "xpack.apm.onboarding.dotNet.download.textPre": "将代理软件包从 [NuGet]({allNuGetPackagesLink}) 添加到 .NET 应用程序。有多个 NuGet 软件包可用于不同的用例。\n\n对于具有 Entity Framework Core 的 ASP.NET Core 应用程序,请下载 [Elastic.Apm.NetCoreAll]({netCoreAllApmPackageLink}) 软件包。此软件包将自动将每个 代理组件添加到您的应用程序。\n\n 如果您希望最大程度减少依存关系,您可以将 [Elastic.Apm.AspNetCore]({aspNetCorePackageLink}) 软件包仅用于 ASP.NET Core 监测,或将 [Elastic.Apm.EfCore]({efCorePackageLink}) 软件包仅用于 Entity Framework Core 监测。\n\n 如果 仅希望将公共代理 API 用于手动检测,请使用 [Elastic.Apm]({elasticApmPackageLink}) 软件包。", + "xpack.apm.onboarding.flask.configure.textPost": "有关高级用法,请参阅[文档]({documentationLink})。", + "xpack.apm.onboarding.go.configure.textPost": "有关高级配置,请参阅[文档]({documentationLink})。", + "xpack.apm.onboarding.go.instrument.textPost": "有关检测 Go 源代码的详细指南,请参阅[文档]({documentationLink})。", + "xpack.apm.onboarding.java.download.textPre": "从 [Maven Central]({mavenCentralLink}) 下载代理 jar。 **切勿**将该代理添加为您的应用程序的依赖项。", + "xpack.apm.onboarding.java.startApplication.textPost": "有关配置选项和高级用法,请参阅[文档]({documentationLink})。", + "xpack.apm.onboarding.java.startApplication.textPre": "添加 `-javaagent` 标志并使用系统属性配置代理。\n\n * 设置所需的服务名称(允许使用的字符:a-z、A-Z、0-9、-、_ 和空格)\n * 设置定制 APM Server URL(默认值:{customApmServerUrl})\n * 设置 APM Server 机密令牌\n * 设置服务环境\n * 设置您的应用程序的基础软件包", + "xpack.apm.onboarding.node.configure.textPost": "请参阅[文档]({documentationLink})以了解高级用法,包括如何使用 [Babel/ES 模块]({babelEsModulesLink})。", + "xpack.apm.onboarding.otel.configureAgent.textPost": "有关配置选项和高级用法,请参阅[文档]({documentationLink})。\n\n", + "xpack.apm.onboarding.otel.configureAgent.textPre": "在启动应用程序的过程中指定以下 OpenTelemetry 设置。请注意,除这些配置设置以外,OpenTelemetry SDK 还需要一些启动代码。有关更多详情,请参阅 [Elastic OpenTelemetry 文档]({openTelemetryDocumentationLink}) 和 [OpenTelemetry 社区检测指南]({openTelemetryInstrumentationLink})。", + "xpack.apm.onboarding.otel.download.textPre": "请参阅 [OpenTelemetry 检测指南]({openTelemetryInstrumentationLink}) 下载适合您语言的 OpenTelemetry 代理或 SDK。", + "xpack.apm.onboarding.php.configureAgent.textPost": "有关配置选项和高级用法,请参阅[文档]({documentationLink})。\n\n", + "xpack.apm.onboarding.php.download.textPre": "从 [GitHub 版本]({githubReleasesLink}) 下载与您的平台对应的软件包。", + "xpack.apm.onboarding.php.installPackage.textPost": "有关其他受支持平台和高级安装的安装命令,请参阅[文档]({documentationLink})。", + "xpack.apm.onboarding.rack.configure.textPost": "有关配置选项和高级用法,请参阅[文档]({documentationLink})。\n\n", + "xpack.apm.onboarding.rack.createConfig.textPre": "创建配置文件 {configFile}:", + "xpack.apm.onboarding.rails.configure.textPost": "有关配置选项和高级用法,请参阅[文档]({documentationLink})。\n\n", + "xpack.apm.onboarding.rails.configure.textPre": "您的应用启动时,APM 自动启动。通过创建配置文件 {configFile} 来配置代理", + "xpack.apm.onboarding.shared_clients.configure.commands.serverUrlHint": "设置定制 APM Server URL(默认值:{defaultApmServerUrl})。此 URL 必须为完全限定 URL,包括协议(http 或 https)和端口。", + "xpack.apm.onboarding.specProvider.longDescription": "应用程序性能监测 (APM) 从您的应用程序内收集深入全面的性能指标和错误。其允许您实时监测数以千计的应用程序的性能。[了解详情]({learnMoreLink})。", "xpack.apm.propertiesTable.agentFeature.noResultFound": "没有“{value}”的结果。", + "xpack.apm.runtimeMetricsJsonDashboards.loadFailure.toast.title": "为运行时“{runtimeName}”上的代理“{agentName}”加载仪表板时出错。", "xpack.apm.serverlessMetrics.summary.lambdaFunctions": "Lambda {serverlessFunctionsTotal, plural, other {函数}}", "xpack.apm.serviceGroups.cardsList.alertCount": "{alertsCount} {alertsCount, plural, other {告警}}", "xpack.apm.serviceGroups.cardsList.serviceCount": "{servicesCount} {servicesCount, plural, other {服务}}", @@ -7460,6 +7619,7 @@ "xpack.apm.spanLinks.combo.parentsLinks": "传出链接 ({linkedParents})", "xpack.apm.stacktraceTab.libraryFramesToogleButtonLabel": "{count, plural, other {# 个库帧}}", "xpack.apm.storageExplorer.longLoadingTimeCalloutText": "为 {kibanaAdvancedSettingsLink} 中的服务列表启用渐进数据加载和优化排序。", + "xpack.apm.tooltip.maxGroup.message": "正收集的 APM 数据的基数过高。请复查 {apmServerDocs} 以缓解该情况。", "xpack.apm.transactionDetails.errorCount": "{errorCount, number} {errorCount, plural, other {错误}}", "xpack.apm.transactionDetails.transFlyout.callout.agentDroppedSpansMessage": "报告此事务的 APM 代理基于其配置丢弃了 {dropped} 个跨度。", "xpack.apm.transactionOverview.treemap.subtitle": "显示总数和最常用 {currentTreemap} 的树状图", @@ -7499,7 +7659,7 @@ "xpack.apm.unifiedSearchBar.placeholder": "搜索{event, select, transaction {事务} metric {指标} error {错误} other {事务、错误和指标}}(例如 {queryExample})", "xpack.apm.waterfall.errorCount": "{errorCount, plural, other {查看 # 个相关错误}}", "xpack.apm.waterfall.exceedsMax": "此跟踪中的项目数为 {traceItemCount},这高于 {maxTraceItems} 的当前限值。请增加该限值以查看完整追溯信息", - "xpack.apm.waterfall.spanLinks.badge": "{total} 个{total, plural, other {跨度链接}}", + "xpack.apm.waterfall.spanLinks.badge": "{total} {total, plural, other {跨度链接}}", "xpack.apm.waterfall.spanLinks.tooltip.linkedChildren": "{linkedChildren} 传入", "xpack.apm.waterfall.spanLinks.tooltip.linkedParents": "{linkedParents} 传出", "xpack.apm.waterfall.spanLinks.tooltip.title": "找到 {total} 个{total, plural, other {跨度链接}}", @@ -7600,6 +7760,8 @@ "xpack.apm.agentConfig.servicePage.service.fieldLabel": "服务名称", "xpack.apm.agentConfig.servicePage.service.placeholder": "选择选项", "xpack.apm.agentConfig.servicePage.service.title": "服务", + "xpack.apm.agentConfig.sessionSampleRate.description": "默认情况下,代理会对由应用程序生成的所有信号(如跨度、指标和日志)进行采样。要减少开销和存储需要,可以将采样率设置介于 0.0 和 1.0 之间的值。减少到 1.0 以下时,将在每次会话时采样数据。这就是为了在特定的会话中不会丢失上下文。", + "xpack.apm.agentConfig.sessionSampleRate.label": "会话采样率", "xpack.apm.agentConfig.settingsPage.notFound.message": "请求的配置不存在", "xpack.apm.agentConfig.settingsPage.notFound.title": "抱歉,有错误", "xpack.apm.agentConfig.settingsPage.saveButton": "保存配置", @@ -7648,7 +7810,7 @@ "xpack.apm.agentConfig.usePathAsTransactionName.label": "将路径用作事务名称", "xpack.apm.agentExplorer.agentLanguageSelect.label": "代理语言", "xpack.apm.agentExplorer.agentLanguageSelect.placeholder": "全部", - "xpack.apm.agentExplorer.callout.24hoursData": "基于最近 24 小时的信息", + "xpack.apm.agentExplorer.callout.24hoursData": "基于过去 24 小时的信息", "xpack.apm.agentExplorer.docsLink.elastic.logo": "Elastic 徽标", "xpack.apm.agentExplorer.docsLink.message": "文档", "xpack.apm.agentExplorer.docsLink.otel.logo": "OpenTelemetry 徽标", @@ -7704,13 +7866,16 @@ "xpack.apm.agentMetrics.serverless.transactionDuration": "事务持续时间", "xpack.apm.aggregatedTransactions.fallback.badge": "基于采样的事务", "xpack.apm.aggregatedTransactions.fallback.tooltip": "此页面正在使用事务事件数据,因为当前时间范围内未找到任何指标事件,或者已根据指标事件文档中不可用的字段应用了筛选。", + "xpack.apm.alertDetails.error.toastDescription": "无法加载告警详情页面的图表。如果告警为新建告警,请尝试刷新该页面", + "xpack.apm.alertDetails.error.toastTitle": "识别告警时间范围时出错。", + "xpack.apm.alertDetails.latencyAlertHistoryChart.error.toastTitle": "延迟告警历史记录图表错误", "xpack.apm.alerting.fields.environment": "环境", "xpack.apm.alerting.fields.error.group.id": "错误分组密钥", "xpack.apm.alerting.fields.service": "服务", "xpack.apm.alerting.fields.transaction.name": "名称", "xpack.apm.alerting.fields.type": "类型", "xpack.apm.alerting.transaction.name.custom.text": "将 \\{searchValue\\} 添加为新事务名称", - "xpack.apm.alerts.action_variables.alertDetailsUrl": "Elastic 内视图的链接,显示与此告警相关的进一步详细信息和上下文", + "xpack.apm.alerts.action_variables.alertDetailsUrl": "链接到告警故障排除视图获取进一步的上下文和详情。如果未配置 server.publicBaseUrl,这将为空字符串。", "xpack.apm.alerts.action_variables.environment": "创建告警的事务类型", "xpack.apm.alerts.action_variables.errorGroupingKey": "为其创建了告警的错误分组密钥", "xpack.apm.alerts.action_variables.intervalSize": "符合告警条件的时段的长度和单位", @@ -7720,18 +7885,28 @@ "xpack.apm.alerts.action_variables.transactionName": "为其创建了告警的事务名称", "xpack.apm.alerts.action_variables.transactionType": "创建告警的事务类型", "xpack.apm.alerts.action_variables.triggerValue": "超过阈值并触发告警的值", - "xpack.apm.alerts.action_variables.viewInAppUrl": "Elastic 中可用于进一步调查告警及其上下文的视图或功能的链接", + "xpack.apm.alerts.action_variables.viewInAppUrl": "链接到告警源", "xpack.apm.alerts.anomalySeverity.criticalLabel": "紧急", "xpack.apm.alerts.anomalySeverity.majorLabel": "重大", "xpack.apm.alerts.anomalySeverity.minor": "轻微", "xpack.apm.alerts.anomalySeverity.warningLabel": "警告", + "xpack.apm.alerts.charts.errorMessage": "哇哦,出问题了", + "xpack.apm.alerts.charts.noDataMessage": "没有可用图表数据", + "xpack.apm.alerts.timeLabels.days": "天", + "xpack.apm.alerts.timeLabels.hours": "小时", + "xpack.apm.alerts.timeLabels.minutes": "分钟", + "xpack.apm.alerts.timeLabels.seconds": "秒", "xpack.apm.alertTypes.anomaly.description": "服务的延迟、吞吐量或失败事务率异常时告警。", - "xpack.apm.alertTypes.errorCount.defaultActionMessage": "由于以下条件 \\{\\{alertName\\}\\} 告警触发:\n\n- 服务名称:\\{\\{context.serviceName\\}\\}\n- 环境:\\{\\{context.environment\\}\\}\n- 阈值:\\{\\{context.threshold\\}\\}\n- 已触发的值:在过去 \\{\\{context.interval\\}\\}有 \\{\\{context.triggerValue\\}\\} 个错误", + "xpack.apm.alertTypes.errorCount.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} 为活动状态,条件如下:\n\n- 服务名称:\\{\\{context.serviceName\\}\\}\n- 环境:\\{\\{context.environment\\}\\}\n- 错误计数:在过去 \\{\\{context.interval\\}\\}有 \\{\\{context.triggerValue\\}\\} 个错误\n- 阈值:\\{\\{context.threshold\\}\\}\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.apm.alertTypes.errorCount.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} 已恢复。\n\n- 服务名称:\\{\\{context.serviceName\\}\\}\n- 环境:\\{\\{context.environment\\}\\}\n- 错误计数:在过去 \\{\\{context.interval\\}\\}有 \\{\\{context.triggerValue\\}\\} 个错误\n- 阈值:\\{\\{context.threshold\\}\\}\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.apm.alertTypes.errorCount.description": "当服务中的错误数量超过定义的阈值时告警。", - "xpack.apm.alertTypes.transactionDuration.defaultActionMessage": "由于以下条件 \\{\\{alertName\\}\\} 告警触发:\n\n- 服务名称:\\{\\{context.serviceName\\}\\}\n- 事务类型:\\{\\{context.transactionType\\}\\}\n- 事务名称:\\{\\{context.transactionName\\}\\}\n- 环境:\\{\\{context.environment\\}\\}\n- 延迟阈值:\\{\\{context.threshold\\}\\}ms\n- 观察的延迟:在过去 \\{\\{context.interval\\}\\}为 \\{\\{context.triggerValue\\}\\}", + "xpack.apm.alertTypes.transactionDuration.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} 为活动状态,条件如下:\n\n- 服务名称:\\{\\{context.serviceName\\}\\}\n- 事务类型:\\{\\{context.transactionType\\}\\}\n- 事务名称:\\{\\{context.transactionName\\}\\}\n- 环境:\\{\\{context.environment\\}\\}\n- 延迟:在过去 \\{\\{context.interval\\}\\}为 \\{\\{context.triggerValue\\}\\}\n- 阈值:\\{\\{context.threshold\\}\\}ms\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.apm.alertTypes.transactionDuration.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} 已恢复。\n\n- 服务名称:\\{\\{context.serviceName\\}\\}\n- 事务类型:\\{\\{context.transactionType\\}\\}\n- 事务名称:\\{\\{context.transactionName\\}\\}\n- 环境:\\{\\{context.environment\\}\\}\n- 延迟:在过去 \\{\\{context.interval\\}\\}为 \\{\\{context.triggerValue\\}\\}\n- 阈值:\\{\\{context.threshold\\}\\}ms\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.apm.alertTypes.transactionDuration.description": "当服务中特定事务类型的延迟超过定义的阈值时告警。", - "xpack.apm.alertTypes.transactionDurationAnomaly.defaultActionMessage": "由于以下条件 \\{\\{alertName\\}\\} 告警触发:\n\n- 服务名称:\\{\\{context.serviceName\\}\\}\n- 类型:\\{\\{context.transactionType\\}\\}\n- 环境:\\{\\{context.environment\\}\\}\n- 严重性阈值:\\{\\{context.threshold\\}\\}\n- 严重性值:\\{\\{context.triggerValue\\}\\}\n", - "xpack.apm.alertTypes.transactionErrorRate.defaultActionMessage": "由于以下条件 \\{\\{alertName\\}\\} 告警触发:\n\n- 服务名称:\\{\\{context.serviceName\\}\\}\n- 类型:\\{\\{context.transactionType\\}\\}\n- 环境:\\{\\{context.environment\\}\\}\n- 阈值:\\{\\{context.threshold\\}\\}%\n- 已触发的值:在过去 \\{\\{context.interval\\}\\}有 \\{\\{context.triggerValue\\}\\}% 的错误", + "xpack.apm.alertTypes.transactionDurationAnomaly.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} 为活动状态,条件如下:\n\n- 服务名称:\\{\\{context.serviceName\\}\\}\n- 事务类型:\\{\\{context.transactionType\\}\\}\n- 环境:\\{\\{context.environment\\}\\}\n- 严重性:\\{\\{context.triggerValue\\}\\}\n- 阈值:\\{\\{context.threshold\\}\\}\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.apm.alertTypes.transactionDurationAnomaly.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} 已恢复。\n\n- 服务名称:\\{\\{context.serviceName\\}\\}\n- 事务类型:\\{\\{context.transactionType\\}\\}\n- 环境:\\{\\{context.environment\\}\\}\n- 严重性:\\{\\{context.triggerValue\\}\\}\n- 阈值:\\{\\{context.threshold\\}\\}\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.apm.alertTypes.transactionErrorRate.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} 为活动状态,条件如下:\n\n- 服务名称:\\{\\{context.serviceName\\}\\}\n- 事务类型:\\{\\{context.transactionType\\}\\}\n- 环境:\\{\\{context.environment\\}\\}\n- 失败事务率:在过去 \\{\\{context.interval\\}\\}有 \\{\\{context.triggerValue\\}\\}% 的错误\n- 阈值:\\{\\{context.threshold\\}\\}%\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.apm.alertTypes.transactionErrorRate.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} 已恢复。\n\n- 服务名称:\\{\\{context.serviceName\\}\\}\n- 事务类型:\\{\\{context.transactionType\\}\\}\n- 环境:\\{\\{context.environment\\}\\}\n- 失败事务率:在过去 \\{\\{context.interval\\}\\}有 \\{\\{context.triggerValue\\}\\}% 的错误\n- 阈值:\\{\\{context.threshold\\}\\}%\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.apm.alertTypes.transactionErrorRate.description": "当服务中的事务错误率超过定义的阈值时告警。", "xpack.apm.analyzeDataButton.label": "浏览数据", "xpack.apm.analyzeDataButton.tooltip": "“浏览数据”允许您选择和筛选任意维度中的结果数据以及查找性能问题的原因或影响", @@ -7880,6 +8055,12 @@ "xpack.apm.deprecations.steps.schema": "选择“架构”选项卡", "xpack.apm.deprecations.steps.settings": "单击“设置”", "xpack.apm.deprecations.steps.switch": "单击“切换到 Elastic 代理”。将指导您完成此过程", + "xpack.apm.diagnostics.tab.datastreams": "数据流", + "xpack.apm.diagnostics.tab.import_export": "导入/导出", + "xpack.apm.diagnostics.tab.index_pattern_settings": "索引模式设置", + "xpack.apm.diagnostics.tab.index_templates": "索引模板", + "xpack.apm.diagnostics.tab.indices": "索引", + "xpack.apm.diagnostics.tab.summary": "摘要", "xpack.apm.durationDistribution.chart.currentEventMarkerLabel": "当前样例", "xpack.apm.durationDistribution.chart.latencyLabel": "延迟", "xpack.apm.durationDistribution.chart.numberOfSpansLabel": "跨度", @@ -7899,6 +8080,7 @@ "xpack.apm.errorGroup.tabs.exceptionStacktraceLabel": "异常堆栈跟踪", "xpack.apm.errorGroup.tabs.logStacktraceLabel": "日志堆栈跟踪", "xpack.apm.errorGroup.tabs.metadataLabel": "元数据", + "xpack.apm.errorGroupCoPilotPrompt.explainErrorTitle": "这是什么错误?", "xpack.apm.errorGroupDetails.culpritLabel": "原因", "xpack.apm.errorGroupDetails.exceptionMessageLabel": "异常消息", "xpack.apm.errorGroupDetails.logMessageLabel": "日志消息", @@ -7916,6 +8098,7 @@ "xpack.apm.errorRate.chart.errorRate": "失败事务率(平均值)", "xpack.apm.errorRate.tip": "选定服务的失败事务百分比。状态代码为 4xx 的 HTTP 服务器事务(客户端错误)不会视为失败,因为是调用方而不是服务器造成了失败。", "xpack.apm.errorSampleDetails.errorOccurrenceTitle": "错误示例", + "xpack.apm.errorSampleDetails.investigateMenu": "调查", "xpack.apm.errorSampleDetails.relatedTransactionSample": "相关的事务样本", "xpack.apm.errorSampleDetails.sampleNotFound": "找不到所选错误", "xpack.apm.errorSampleDetails.serviceEnvironment": "环境", @@ -8104,6 +8287,7 @@ "xpack.apm.home.serviceLogsTabLabel": "日志", "xpack.apm.home.serviceMapTabLabel": "服务地图", "xpack.apm.home.servicesTable.tooltip.activeAlertsExplanation": "活动告警", + "xpack.apm.home.transactionsTableColumnName.tooltip.activeAlertsExplanation": "活动告警", "xpack.apm.infraTabs.emptyMessageIllustrationAlternativeText": "带有惊叹号的放大镜", "xpack.apm.infraTabs.emptyMessagePromptDescription": "尝试搜索更长的时间段。", "xpack.apm.infraTabs.emptyMessagePromptTimeRangeTitle": "展开时间范围", @@ -8134,6 +8318,7 @@ "xpack.apm.labs": "实验", "xpack.apm.labs.cancel": "取消", "xpack.apm.labs.description": "试用正处于技术预览状态和开发中的 APM 功能。", + "xpack.apm.labs.feedbackButtonLabel": "告诉我们您的看法!", "xpack.apm.labs.reload": "重新加载以应用更改", "xpack.apm.latencyChartHistory.alertsTriggered": "已触发告警", "xpack.apm.latencyChartHistory.avgTimeToRecover": "恢复的平均时间", @@ -8203,6 +8388,85 @@ "xpack.apm.noDataConfig.addDataButtonLabel": "添加数据", "xpack.apm.noDataConfig.solutionName": "Observability", "xpack.apm.notAvailableLabel": "不可用", + "xpack.apm.onboarding.agent.column.configSettings": "配置设置", + "xpack.apm.onboarding.agent.column.configValue": "配置值", + "xpack.apm.onboarding.agentStatus.check": "检查代理状态", + "xpack.apm.onboarding.agentStatus.success.calloutMessage": "已从一个或多个代理成功接收数据", + "xpack.apm.onboarding.agentStatus.warning.calloutMessage": "尚未从代理收到任何数据", + "xpack.apm.onboarding.agentStatusCheck.textPre": "确保您的应用程序正在运行且代理正在发送数据。", + "xpack.apm.onboarding.agentStatusCheck.title": "代理状态", + "xpack.apm.onboarding.apiKey.create": "创建 API 密钥", + "xpack.apm.onboarding.apiKey.error.calloutTitle": "无法创建 API 密钥", + "xpack.apm.onboarding.apiKey.success.calloutMessage": "记得将此信息存储在安全位置。在您继续后,将不再显示该信息", + "xpack.apm.onboarding.apiKey.success.calloutTitle": "已创建 API 密钥", + "xpack.apm.onboarding.apiKey.warning.calloutTitle": "用户无权创建 API 密钥", + "xpack.apm.onboarding.appName": "APM", + "xpack.apm.onboarding.betaLabel": "公测版", + "xpack.apm.onboarding.config_otel.column.configSettings": "配置设置 (1)", + "xpack.apm.onboarding.config_otel.column.configValue": "配置值", + "xpack.apm.onboarding.config_otel.column.notes": "备注", + "xpack.apm.onboarding.config_otel.description2": "某些 SDK 可能不支持“OTEL_METRICS_EXPORTER”和“OTEL_LOGS_EXPORTER”环境变量。", + "xpack.apm.onboarding.config_otel.instrumentationGuide": "OpenTelemetry 检测指南", + "xpack.apm.onboarding.django.configure.textPre": "代理是在应用程序进程内运行的库。APM 服务是基于 `SERVICE_NAME` 以编程方式创建的。", + "xpack.apm.onboarding.django.configure.title": "配置代理", + "xpack.apm.onboarding.django.install.textPre": "将 Python 的 APM 代理安装为依赖项。", + "xpack.apm.onboarding.django.install.title": "安装 APM 代理", + "xpack.apm.onboarding.djangoClient.configure.commands.addAgentComment": "将代理添加到已安装应用", + "xpack.apm.onboarding.djangoClient.configure.commands.addTracingMiddlewareComment": "添加我们的跟踪中间件以发送性能指标", + "xpack.apm.onboarding.dotNet.configureAgent.title": "样例 appsettings.json 文件:", + "xpack.apm.onboarding.dotNet.configureApplication.textPost": "传递 `IConfiguration` 实例为可选操作,通过此操作,代理将通过此 `IConfiguration` 实例 读取配置设置(例如,从 `appsettings.json` 文件)。", + "xpack.apm.onboarding.dotNet.configureApplication.textPre": "对于具有 `Elastic.Apm.NetCoreAll` 软件包的 ASP.NET Core,请在 `Startup.cs` 文件内的 `Configure` 方法中调用 `UseAllElasticApm`。", + "xpack.apm.onboarding.dotNet.configureApplication.title": "将代理添加到应用程序", + "xpack.apm.onboarding.dotNet.download.title": "下载 APM 代理", + "xpack.apm.onboarding.dotnetClient.createConfig.commands.defaultServiceName": "默认值为应用程序的入口程序集。", + "xpack.apm.onboarding.flask.configure.textPre": "代理是在应用程序进程内运行的库。APM 服务是基于 `SERVICE_NAME` 以编程方式创建的。", + "xpack.apm.onboarding.flask.configure.title": "配置代理", + "xpack.apm.onboarding.flask.install.textPre": "将 Python 的 APM 代理安装为依赖项。", + "xpack.apm.onboarding.flask.install.title": "安装 APM 代理", + "xpack.apm.onboarding.flaskClient.configure.commands.configureElasticApmComment": "或在您的应用程序设置中使用 ELASTIC_APM", + "xpack.apm.onboarding.flaskClient.configure.commands.initializeUsingEnvironmentVariablesComment": "使用环境变量初始化", + "xpack.apm.onboarding.footer.cta": "启动 APM", + "xpack.apm.onboarding.footer.exploreYourDataDescription": "完成所有步骤后,您便可以随时浏览自己的数据。", + "xpack.apm.onboarding.go.configure.textPre": "代理是在应用程序进程内运行的库。APM 服务将基于可执行文件名称或 `ELASTIC_APM_SERVICE_NAME` 环境变量以编程方式进行创建。", + "xpack.apm.onboarding.go.configure.title": "配置代理", + "xpack.apm.onboarding.go.goClient.title": "检测您的应用程序", + "xpack.apm.onboarding.go.install.textPre": "安装 Go 的 APM 代理软件包。", + "xpack.apm.onboarding.go.install.title": "安装 APM 代理", + "xpack.apm.onboarding.go.instrument.textPre": "使用以下已提供检测模块之一或直接使用跟踪器 API 来检测 Go 应用程序。", + "xpack.apm.onboarding.goClient.configure.commands.initializeUsingEnvironmentVariablesComment": "使用环境变量初始化:", + "xpack.apm.onboarding.goClient.configure.commands.usedExecutableNameComment": "如果未指定,将会使用可执行文件名称。", + "xpack.apm.onboarding.introduction.imageAltDescription": "主仪表板的截图。", + "xpack.apm.onboarding.java.download.title": "下载 APM 代理", + "xpack.apm.onboarding.java.startApplication.title": "使用 javaagent 标志启动您的应用程序", + "xpack.apm.onboarding.node.configure.textPre": "代理是在应用程序进程内运行的库。 APM 服务是基于 `serviceName` 以编程方式创建的。 此代理不仅支持各种框架,而且还可与您的定制堆栈结合使用。", + "xpack.apm.onboarding.node.configure.title": "配置代理", + "xpack.apm.onboarding.node.install.textPre": "将 Node.js 的 APM 代理安装为您的应用程序的依赖项。", + "xpack.apm.onboarding.node.install.title": "安装 APM 代理", + "xpack.apm.onboarding.nodeClient.configure.commands.addThisToTheFileTopComment": "将其添加到您的应用中加载的第一个文件的最上面", + "xpack.apm.onboarding.nodeClient.createConfig.commands.serviceName": "覆盖 package.json 中的服务名称。", + "xpack.apm.onboarding.otel.configureAgent.title": "在您的应用程序中配置 OpenTelemetry", + "xpack.apm.onboarding.otel.download.title": "下载 OpenTelemetry APM 代理或 SDK", + "xpack.apm.onboarding.php.Configure the agent.textPre": "您的应用启动时,APM 自动启动。或者通过 `php.ini` 文件配置代理:", + "xpack.apm.onboarding.php.configureAgent.title": "配置代理", + "xpack.apm.onboarding.php.download.title": "下载 APM 代理", + "xpack.apm.onboarding.php.installPackage.textPre": "有关 Alpine Linux 使用 APK 软件的示例:", + "xpack.apm.onboarding.php.installPackage.title": "安装下载的软件包", + "xpack.apm.onboarding.rack.configure.commands.optionalComment": "可选,默认为 config/elastic_apm.yml", + "xpack.apm.onboarding.rack.configure.commands.requiredComment": "必需", + "xpack.apm.onboarding.rack.configure.textPre": "对于 Rack 或兼容的框架(例如 Sinatra),在您的应用中加入中间件,然后启动代理。", + "xpack.apm.onboarding.rack.configure.title": "配置代理", + "xpack.apm.onboarding.rack.createConfig.title": "创建配置文件", + "xpack.apm.onboarding.rack.install.textPre": "将代理添加您的 Gemfile。", + "xpack.apm.onboarding.rack.install.title": "安装 APM 代理", + "xpack.apm.onboarding.rackClient.createConfig.commands.defaultsToTheNameOfRackAppClassComment": "默认为 Rack 应用的类名称。", + "xpack.apm.onboarding.rails.configure.title": "配置代理", + "xpack.apm.onboarding.rails.install.textPre": "将代理添加您的 Gemfile。", + "xpack.apm.onboarding.rails.install.title": "安装 APM 代理", + "xpack.apm.onboarding.railsClient.createConfig.commands.defaultServiceName": "默认为 Rails 应用的名称。", + "xpack.apm.onboarding.shared_clients.configure.commands.apiKeyHint": "APM Server 需要 API 密钥时使用。这用于确保只有您的代理可以向 APM Server 发送数据。代理可将 API 密钥用于替代机密令牌,APM Server 可以具有多个 API 密钥。同时使用机密令牌和 API 密钥时,优先使用 API 密钥并忽略机密令牌。", + "xpack.apm.onboarding.shared_clients.configure.commands.secretTokenHint": "APM Server 需要机密令牌时使用。必须使用同一令牌配置代理和 APM Server。这确保只有您的代理可以向 APM Server 发送数据。", + "xpack.apm.onboarding.shared_clients.configure.commands.serviceEnvironmentHint": "在其中部署此服务的环境的名称,如“生产”或“暂存”。在 APM UI 中,您可以通过环境在全局级别轻松筛选数据。跨代理命名环境时,保持一致至关重要。", + "xpack.apm.onboarding.shared_clients.configure.commands.serviceNameHint": "服务名称是 APM UI 中的初级筛选,用于分组错误并跟踪数据。允许使用的字符包括 a-z、A-Z、0-9、-、_ 和空格。", "xpack.apm.pages.alertDetails.alertSummary.actualValue": "实际值", "xpack.apm.pages.alertDetails.alertSummary.expectedValue": "预期值", "xpack.apm.pages.alertDetails.alertSummary.serviceEnv": "服务环境", @@ -8618,6 +8882,10 @@ "xpack.apm.settings.unsupportedConfigs.errorToast.title": "无法获取 APM Server 设置", "xpack.apm.settingsLinkLabel": "设置", "xpack.apm.setupInstructionsButtonLabel": "设置说明", + "xpack.apm.slo.callout.createButton": "创建 SLO", + "xpack.apm.slo.callout.description": "如果服务中断,您会多快做出响应?通过 SLO 确保实现高性能,较高速度并提供良好的用户体验", + "xpack.apm.slo.callout.dimissButton": "隐藏此项", + "xpack.apm.slo.callout.title": "利用 SLO 更快做出响应", "xpack.apm.spanLinks.callout.description": "链接是从当前跨度指向相同或不同跟踪中的另一跨度的指针。例如,这可以用在批处理操作中,其中的单一批处理程序会处理来自不同跟踪的多个请求,或在收到来自不同项目的请求时处理该请求。", "xpack.apm.spanLinks.callout.dimissButton": "关闭", "xpack.apm.spanLinks.callout.title": "跨度链接", @@ -8635,6 +8903,7 @@ "xpack.apm.storageExplorer.callout.dimissButton": "关闭", "xpack.apm.storageExplorer.crossClusterSearchCalloutText": "虽然获取文档计数适用于跨集群搜索,但只会对此集群中存储的数据显示索引统计信息(如大小)。", "xpack.apm.storageExplorer.crossClusterSearchCalloutTitle": "正在跨集群搜索?", + "xpack.apm.storageExplorer.downloadReport": "下载报告", "xpack.apm.storageExplorer.indexLifecyclePhase.all.description": "搜索所有生命周期阶段中的数据。", "xpack.apm.storageExplorer.indexLifecyclePhase.all.label": "全部", "xpack.apm.storageExplorer.indexLifecyclePhase.cold.description": "虽然仍可搜索,但通常会对此图层进行优化,以降低存储成本而不是提高搜索速度。", @@ -8684,13 +8953,15 @@ "xpack.apm.storageExplorer.sizeLabel.description": "每项服务的估计存储大小。此估值包括主分片和副本分片,并通过按服务的文档计数分摊索引总大小再除以文档总数来计算。", "xpack.apm.storageExplorer.sizeLabel.title": "大小", "xpack.apm.storageExplorer.summary.dailyDataGeneration": "每日数据生成", - "xpack.apm.storageExplorer.summary.diskSpaceUsedPct": "已用磁盘空间", + "xpack.apm.storageExplorer.summary.deltaInSize": "增量(APM 大小)", + "xpack.apm.storageExplorer.summary.deltaInSize.tooltip": "APM 索引使用的估计存储大小(基于选定筛选)。", + "xpack.apm.storageExplorer.summary.diskSpaceUsedPct": "相对已用磁盘空间", "xpack.apm.storageExplorer.summary.diskSpaceUsedPct.tooltip": "所有 APM 索引当前使用的存储容量与当前为 Elasticsearch 配置的最大存储容量比较的百分比。", "xpack.apm.storageExplorer.summary.indexManagementLink": "前往索引管理", "xpack.apm.storageExplorer.summary.numberOfServices": "服务数目", "xpack.apm.storageExplorer.summary.serviceInventoryLink": "前往服务库存", "xpack.apm.storageExplorer.summary.totalSize": "APM 总大小", - "xpack.apm.storageExplorer.summary.totalSize.tooltip": "所有 APM 索引当前的存储大小合计,忽略所有筛选。", + "xpack.apm.storageExplorer.summary.totalSize.tooltip": "所有 APM 索引(包括副本)的总存储大小,忽略筛选设置。", "xpack.apm.storageExplorer.summary.tracesPerMinute": "每分钟跟踪数", "xpack.apm.storageExplorer.table.caption": "Storage Explorer", "xpack.apm.storageExplorer.table.collapse": "折叠", @@ -8711,6 +8982,7 @@ "xpack.apm.timeseries.endzone": "选定的时间范围不包括此整个存储桶。其可能包含部分数据。", "xpack.apm.toggleHeight.showLessButtonLabel": "显示较少行", "xpack.apm.toggleHeight.showMoreButtonLabel": "显示更多行", + "xpack.apm.tooltip.link.apmServerDocs": "文档", "xpack.apm.traceExplorer.appName": "APM", "xpack.apm.traceExplorer.criticalPathTab": "已聚合关键路径", "xpack.apm.traceExplorer.waterfallTab": "瀑布", @@ -8829,6 +9101,7 @@ "xpack.apm.transactionsTable.loading": "正在加载……", "xpack.apm.transactionsTable.noResults": "找不到任何事务", "xpack.apm.transactionsTable.title": "事务", + "xpack.apm.transactionsTableColumnName.alertsColumnLabel": "活动告警", "xpack.apm.transactionTypesSelectCustomOptionText": "将 \\{searchValue\\} 添加为新事务类型", "xpack.apm.transactionTypesSelectPlaceholder": "选择事务类型", "xpack.apm.tutorial.agent_config.choosePolicy.helper": "将选定的策略配置添加到下面的代码片段。", @@ -8839,6 +9112,7 @@ "xpack.apm.tutorial.agent_config.manageFleetPolicies": "管理 Fleet 策略", "xpack.apm.tutorial.agent.column.configSettings": "配置设置", "xpack.apm.tutorial.agent.column.configValue": "配置值", + "xpack.apm.tutorial.apiKey.create": "创建 API 密钥", "xpack.apm.tutorial.apmAgents.statusCheck.btnLabel": "检查代理状态", "xpack.apm.tutorial.apmAgents.statusCheck.errorMessage": "尚未从代理收到任何数据", "xpack.apm.tutorial.apmAgents.statusCheck.successMessage": "已从一个或多个代理成功接收数据", @@ -10217,10 +10491,10 @@ "xpack.cases.actions.assignees.selectedAssignees": "已选定:{selectedAssignees}", "xpack.cases.actions.caseAlertSuccessToast": "{quantity, plural, =1 {告警} other {告警}}已添加到“{title}”", "xpack.cases.actions.caseSuccessToast": "{title} 已更新", - "xpack.cases.actions.closedCases": "已关闭{totalCases, plural, =1 {“{caseTitle}”} other {{totalCases} 个案例}}", + "xpack.cases.actions.closedCases": "已关闭{totalCases, plural, =1 {\"{caseTitle}\"} other {{totalCases} 个案例}}", "xpack.cases.actions.headerSubtitle": "选定案例:{totalCases}", - "xpack.cases.actions.markInProgressCases": "已将{totalCases, plural, =1 {“{caseTitle}”} other {{totalCases} 个案例}}标记为进行中", - "xpack.cases.actions.reopenedCases": "已打开{totalCases, plural, =1 {“{caseTitle}”} other {{totalCases} 个案例}}", + "xpack.cases.actions.markInProgressCases": "已将{totalCases, plural, =1 {\"{caseTitle}\"} other {{totalCases} 个案例}}标记为进行中", + "xpack.cases.actions.reopenedCases": "已打开{totalCases, plural, =1 {\"{caseTitle}\"} other {{totalCases} 个案例}}", "xpack.cases.actions.severity": "{totalCases, plural, =1 {案例“{caseTitle}”} other {{totalCases} 个案例}}已设置为{severity}", "xpack.cases.actions.tags.selectedTags": "已选定:{selectedTags}", "xpack.cases.actions.tags.totalTags": "标签总计:{totalTags}", @@ -10235,7 +10509,7 @@ "xpack.cases.caseTable.unit": "{totalCount, plural, =1 {案例} other {案例}}", "xpack.cases.caseView.actionLabel.selectedThirdParty": "已选择 {thirdParty} 作为事件管理系统", "xpack.cases.caseView.actionLabel.viewIncident": "查看 {incidentNumber}", - "xpack.cases.caseView.alerts.multipleAlerts": "{totalAlerts, plural, =1 {一} other {{totalAlerts}}} 个{totalAlerts, plural, =1 {告警} other {告警}}", + "xpack.cases.caseView.alerts.multipleAlerts": "{totalAlerts, plural, =1 {一} other {{totalAlerts}}} {totalAlerts, plural, =1 {告警} other {告警}}", "xpack.cases.caseView.alerts.removeAlerts": "移除 {totalAlerts, plural, =1 {告警} other {告警}}", "xpack.cases.caseView.alreadyPushedToExternalService": "已推送到 {externalService} 事件", "xpack.cases.caseView.doesNotExist.description": "找不到 ID 为 {caseId} 的案例。这很可能意味着案例已删除或 ID 不正确。", @@ -10253,6 +10527,7 @@ "xpack.cases.caseView.sendEmalLinkAria": "单击可向 {user} 发送电子邮件", "xpack.cases.caseView.totalUsersAssigned": "{total} 个已分配", "xpack.cases.caseView.updateNamedIncident": "更新 {thirdParty} 事件", + "xpack.cases.configure.addCategoryCustomOptionLabel": "将 {searchValue} 添加为类别", "xpack.cases.configure.addTagCustomOptionLabel": "将 {searchValue} 添加为标签", "xpack.cases.configure.commentVersionConflictWarning": "此 {markdownId} 已由另一用户更新。保存您的 {markdownId} 会覆盖其更新。", "xpack.cases.configure.connectorDeletedOrLicenseWarning": "选定连接器已删除或您没有{appropriateLicense}来使用它。选择不同的连接器或创建新的连接器。", @@ -10304,9 +10579,12 @@ "xpack.cases.actions.tags.selectAll": "全选", "xpack.cases.actions.tags.selectNone": "不选择任何内容", "xpack.cases.actions.viewCase": "查看案例", + "xpack.cases.actions.visualizationActions.addToExistingCase.displayName": "添加到现有案例", + "xpack.cases.actions.visualizationActions.addToNewCase.displayName": "添加到新案例", "xpack.cases.addConnector.title": "添加连接器", "xpack.cases.allCases.actions": "操作", "xpack.cases.allCases.comments": "注释", + "xpack.cases.allCases.noCategoriesAvailable": "没有可用类别", "xpack.cases.allCases.noTagsAvailable": "没有可用标签", "xpack.cases.allCasesView.filterAssignees.clearFilters": "清除筛选", "xpack.cases.allCasesView.filterAssignees.noAssigneesLabel": "无被分配人", @@ -10355,6 +10633,7 @@ "xpack.cases.caseView.actionLabel.updateIncident": "更新了事件", "xpack.cases.caseView.actionsConfigurationLink": "Kibana 中的告警和操作设置", "xpack.cases.caseView.activity": "活动", + "xpack.cases.caseView.addCategory": "添加了类别", "xpack.cases.caseView.alertCommentLabelTitle": "添加了告警,从", "xpack.cases.caseView.alerts.remove": "移除", "xpack.cases.caseView.assigned": "已分配", @@ -10370,6 +10649,8 @@ "xpack.cases.caseView.caseName": "案例名称", "xpack.cases.caseView.caseOpened": "案例已打开", "xpack.cases.caseView.caseRefresh": "刷新案例", + "xpack.cases.caseView.categories": "类别", + "xpack.cases.caseView.category": "类别", "xpack.cases.caseView.closeCase": "关闭案例", "xpack.cases.caseView.closedOn": "关闭日期", "xpack.cases.caseView.cloudDeploymentLink": "云部署", @@ -10401,7 +10682,9 @@ "xpack.cases.caseView.edit.quote": "引述", "xpack.cases.caseView.editActionsLinkAria": "单击可查看所有操作", "xpack.cases.caseView.editAssigneesAriaLabel": "单击以编辑被分配人", + "xpack.cases.caseView.editCategoriesLinkAria": "单击以编辑类别", "xpack.cases.caseView.editTagsLinkAria": "单击可编辑标签", + "xpack.cases.caseView.emptyCategoryValidationMsg": "不允许使用空类别", "xpack.cases.caseView.errorsPushServiceCallOutTitle": "选择外部连接器", "xpack.cases.caseView.fieldChanged": "已更改连接器字段", "xpack.cases.caseView.fieldRequiredError": "必填字段", @@ -10423,6 +10706,7 @@ "xpack.cases.caseView.files.noFilesAvailable": "没有文件可用", "xpack.cases.caseView.files.noPreviewAvailable": "没有预览可用", "xpack.cases.caseView.files.pdfMimeType": "PDF", + "xpack.cases.caseView.files.removedFile": "已移除文件", "xpack.cases.caseView.files.resultsCount": "正在显示", "xpack.cases.caseView.files.searchPlaceholder": "搜索文件", "xpack.cases.caseView.files.textMimeType": "文本", @@ -10447,6 +10731,7 @@ "xpack.cases.caseView.moveToCommentAria": "高亮显示引用的注释", "xpack.cases.caseView.name": "名称", "xpack.cases.caseView.noAssignees": "未分配任何用户", + "xpack.cases.caseView.noCategories": "未添加任何类别", "xpack.cases.caseView.noReportersAvailable": "没有报告者。", "xpack.cases.caseView.noTags": "未添加任何标签", "xpack.cases.caseView.openCase": "创建案例", @@ -10459,6 +10744,8 @@ "xpack.cases.caseView.pushToServiceDisableByConfigTitle": "在 Kibana 配置文件中启用外部服务", "xpack.cases.caseView.pushToServiceDisableByLicenseTitle": "升级适当的许可", "xpack.cases.caseView.releasedHost": "在主机上已提交释放请求", + "xpack.cases.caseView.removeCategory": "移除类别", + "xpack.cases.caseView.removeCategoryAriaLabel": "单击以移除类别", "xpack.cases.caseView.reopenCase": "重新打开案例", "xpack.cases.caseView.reporterLabel": "报告者", "xpack.cases.caseView.setSeverityTo": "将严重性设置为", @@ -10480,8 +10767,12 @@ "xpack.cases.caseView.unknownRule.label": "未知规则", "xpack.cases.caseView.updatedOn": "更新日期", "xpack.cases.caseView.updateThirdPartyIncident": "更新外部事件", + "xpack.cases.caseView.userAction.removeCategory": "已移除类别", "xpack.cases.caseView.userActions.createCase": "已创建案例", "xpack.cases.caseView.userActions.showMore": "显示更多", + "xpack.cases.caseView.visualizations.addedVisualization": "已添加可视化", + "xpack.cases.caseView.visualizations.openVisualizationButtonLabel": "打开可视化", + "xpack.cases.caseView.visualizations.removedVisualization": "已移除可视化", "xpack.cases.common.alertAddedToCase": "已添加到案例", "xpack.cases.common.alertLabel": "告警", "xpack.cases.common.alertsLabel": "告警", @@ -10515,6 +10806,7 @@ "xpack.cases.configureCases.warningTitle": "警告", "xpack.cases.configureCasesButton": "编辑外部连接", "xpack.cases.connectors.card.createCommentWarningTitle": "无法共享案例注释", + "xpack.cases.connectors.jira.issueTypeRequired": "“问题类型”必填", "xpack.cases.connectors.jira.issueTypesSelectFieldLabel": "问题类型", "xpack.cases.connectors.jira.parentIssueSearchLabel": "父问题", "xpack.cases.connectors.jira.prioritySelectFieldLabel": "优先级", @@ -10550,6 +10842,7 @@ "xpack.cases.connectors.swimlane.emptyMappingWarningDesc": "无法选择此连接器,因为其缺失所需的案例字段映射。您可以编辑此连接器以添加所需的字段映射或选择案例类型的连接器。", "xpack.cases.connectors.swimlane.emptyMappingWarningTitle": "此连接器缺失字段映射", "xpack.cases.connectors.swimlane.severityLabel": "严重性", + "xpack.cases.containers.categoriesErrorTitle": "提取类别时出错", "xpack.cases.containers.deleteSuccess": "已成功删除文件", "xpack.cases.containers.errorCreatingCaseTitle": "创建案例时出错", "xpack.cases.containers.errorDeletingFile": "删除文件时出错", @@ -10651,8 +10944,10 @@ "xpack.cases.userProfiles.learnPrivileges": "了解哪些权限会授予案例访问权限。", "xpack.cases.userProfiles.modifySearch": "请修改您的搜索或检查用户的权限。", "xpack.cases.userProfiles.userDoesNotExist": "用户不存在或不可用", - "xpack.cloudDefend.cloudDefendPage.errorRenderer.errorDescription": "{error} {statusCode}: {body}", + "xpack.cases.visualizationActions.addToExistingCaseSuccessContent": "已成功将可视化添加到案例", + "xpack.cloudDefend.cloudDefendPage.errorRenderer.errorDescription": "{error} {statusCode}:{body}", "xpack.cloudDefend.cloudDefendPage.packageNotInstalledRenderer.promptDescription": "添加 Defend for containers (D4C) 集成以开始。{learnMore}。", + "xpack.cloudDefend.errorGenericEmptyValue": "“{condition}”值不能为空", "xpack.cloudDefend.errorGenericRegexFailure": "“{condition}”值必须匹配以下模式:/{pattern}/", "xpack.cloudDefend.errorMaxSelectorsResponsesExceeded": "给定类型(如文件、进程)不能超过 {max} 个选择器 + 响应", "xpack.cloudDefend.errorMaxValueBytesExceeded": "“{condition}”值不能超过 {maxValueBytes} 字节", @@ -10690,12 +10985,19 @@ "xpack.cloudDefend.controlSelectorsHelp": "创建文件或进程选择器以匹配相关操作和/或条件。", "xpack.cloudDefend.controlYamlHelp": "通过在下面创建“文件”或“进程”选择器和响应来配置您的策略。", "xpack.cloudDefend.controlYamlView": "YAML 视图", - "xpack.cloudDefend.enableControl": "启用漂移防护", - "xpack.cloudDefend.enableControlHelp": "切换启用漂移防护策略以告警和/或阻止文件操作。", + "xpack.cloudDefend.createPackagePolicy.customAssetsTab.dashboardViewLabel": "查看 k8s 仪表板", + "xpack.cloudDefend.description": "描述", + "xpack.cloudDefend.enableControl": "启用策略", + "xpack.cloudDefend.enableControlHelp": "启用下面显示的偏移预防、告警和日志记录策略。", + "xpack.cloudDefend.errorActionRequired": "至少需要一项操作。", + "xpack.cloudDefend.errorBlockActionRequiresTargetFilePath": "“阻止”操作需要 targetFilePath 包含在所有使用 FIM 操作的“匹配”选择器中,或至少位于一个“排除”选择器中。请注意,不含操作的选择器会匹配所有操作,包括 createFile、modifyFile 或 deleteFile", "xpack.cloudDefend.errorConditionRequired": "每个选择器至少需要一个条件。", "xpack.cloudDefend.errorDuplicateName": "此名称已由其他选择器使用。", "xpack.cloudDefend.errorInvalidFullContainerImageName": "“容器映像全名”值必须为以下格式:image_repo/image_name,例如“docker.io/nginx”", "xpack.cloudDefend.errorInvalidName": "选择器名称必须为字母数字,并且不包含空格。", + "xpack.cloudDefend.errorInvalidPodLabel": "Kubernetes pod 标签值必须采用以下格式:“key:value”。可以在值的末尾使用通配符“*”,例如“key:val*”。要匹配空白标签值,请使用“key:”。", + "xpack.cloudDefend.errorInvalidProcessExecutable": "“进程可执行文件”值必须使用绝对路径。尾随的 * 通配符可用于匹配目标目录中的所有文件。使用双 ** 可以递归方式匹配所有文件。例如,/usr/bin/**", + "xpack.cloudDefend.errorInvalidTargetFilePath": "“目标文件路径”值必须使用绝对路径。尾随的 * 通配符可用于匹配目标目录中的所有文件。使用双 ** 可以递归方式匹配所有文件。例如,/etc/**", "xpack.cloudDefend.errorValueRequired": "至少需要一个值。", "xpack.cloudDefend.fileResponse": "文件响应", "xpack.cloudDefend.fileResponseIconTooltip": "文件响应。\n仅文件选择器可用于进行匹配/排除。", @@ -10725,6 +11027,8 @@ "xpack.cloudDefend.subscriptionNotAllowed.promptTitle": "升级以使用订阅功能", "xpack.cloudDefend.unusedSelector": "未在使用中", "xpack.cloudDefend.unusedSelectorHelp": "没有任何响应使用此选择器。", + "xpack.cloudDefend.warningFIMUsingSlashStarStarText": "使用 /** 类型的 targetFilePath 阻止 FIM 操作较为危险。这可能导致系统不稳定。请注意,不含操作的选择器会匹配所有操作,包括 createFile、modifyFile 或 deleteFile", + "xpack.cloudDefend.warningFIMUsingSlashStarStarTitle": "警告:正在阻止 FIM 操作", "xpack.crossClusterReplication.app.deniedPermissionDescription": "要使用跨集群复制,您必须具有{clusterPrivilegesCount, plural, other {以下集群权限}}:{clusterPrivileges}。", "xpack.crossClusterReplication.autoFollowPattern.leaderIndexPatternValidation.illegalCharacters": "从索引模式中删除{characterListLength, plural, other {字符}} {characterList}。", "xpack.crossClusterReplication.autoFollowPattern.pauseAction.errorMultipleNotificationTitle": "暂停 {count} 个自动跟随模式时出错", @@ -11038,10 +11342,10 @@ "xpack.crossClusterReplication.unfollowLeaderIndex.confirmModal.singleUnfollowDescription": "Follower 索引将转换为标准索引。它不再显示在跨集群复制中,但您可以在“索引管理”中管理它。此操作无法撤消。", "xpack.crossClusterReplication.unfollowLeaderIndex.confirmModal.unfollowSingleTitle": "取消跟随“{name}”的 Leader 索引?", "xpack.csp.benchmarks.benchmarkEmptyState.integrationsNotFoundForNameTitle": " 对于“{name}”", - "xpack.csp.benchmarks.benchmarksTable.errorRenderer.errorDescription": "{error} {statusCode}: {body}", + "xpack.csp.benchmarks.benchmarksTable.errorRenderer.errorDescription": "{error} {statusCode}:{body}", "xpack.csp.benchmarks.totalIntegrationsCountMessage": "正在显示 {pageCount} 个,共 {totalCount, plural, other {# 个集成}} 个", "xpack.csp.cloudPosturePage.cspmIntegration.packageNotInstalled.description": "使用我们的 {integrationFullName} (CSPM) 集成可在您的云基础设施中检测安全配置错误。", - "xpack.csp.cloudPosturePage.errorRenderer.errorDescription": "{error} {statusCode}: {body}", + "xpack.csp.cloudPosturePage.errorRenderer.errorDescription": "{error} {statusCode}:{body}", "xpack.csp.cloudPosturePage.kspmIntegration.packageNotInstalled.description": "使用我们的 {integrationFullName} (KSPM) 集成可在您的 Kubernetes 集群中检测安全配置错误。", "xpack.csp.cloudPosturePage.packageNotInstalledRenderer.promptDescription": "使用我们的云和 Kubernetes 安全态势管理解决方案,在您的云基础设施中检测并缓解潜在的配置风险,如可公开访问的 S3 存储桶。{learnMore}", "xpack.csp.complianceScoreBar.tooltipTitle": "{failed} 个失败和 {passed} 个通过的结果", @@ -11057,13 +11361,20 @@ "xpack.csp.findings.findingsTableCell.addNegatedFilterButtonTooltip": "添加 {field} 作废筛选", "xpack.csp.findings.findingsTableCell.addNegateFilterButton": "添加 {field} 作废筛选", "xpack.csp.findings.resourceFindings.resourceFindingsPageTitle": "{resourceName} {hyphen} 结果", - "xpack.csp.noFindingsStates.indexTimeout.indexTimeoutDescription": "成功部署 Elastic 代理后,应在不到 10 分钟内显示数据。{docs}", + "xpack.csp.noFindingsStates.indexTimeout.indexTimeoutDescription": "收集结果所需的时间长于预期。{docs}。", + "xpack.csp.noVulnerabilitiesStates.indexTimeout.indexTimeoutDescription": "扫描工作负载所需的时间长于预期。请查阅 {docs}", "xpack.csp.rules.rulePageHeader.pageHeaderTitle": "规则 - {integrationName}", "xpack.csp.rules.rulesTable.showingPageOfTotalLabel": "正在显示 {pageSize} 个规则(共 {total, plural, other {# 个规则}})", "xpack.csp.subscriptionNotAllowed.promptDescription": "要使用这些云安全功能,您必须 {link}。", "xpack.csp.vulnerabilities.totalVulnerabilities": "{total, plural, other {# 个漏洞}}", + "xpack.csp.vulnerabilities.vulnerabilitiesTableCell.addFilterButton": "添加 {columnId} 筛选", + "xpack.csp.vulnerabilities.vulnerabilitiesTableCell.addFilterButtonTooltip": "添加 {columnId} 筛选", + "xpack.csp.vulnerabilities.vulnerabilitiesTableCell.addNegatedFilterButtonTooltip": "添加 {columnId} 作废筛选", + "xpack.csp.vulnerabilities.vulnerabilitiesTableCell.addNegateFilterButton": "添加 {columnId} 作废筛选", "xpack.csp.vulnerabilities.vulnerabilityOverviewTab.descriptionText": "{description}", "xpack.csp.vulnerabilities.vulnerabilityOverviewTile.publishedDateText": "{date}", + "xpack.csp.vulnerabilitiesByResource.totalResources": "{total, plural, other {# 项资源}}", + "xpack.csp.vulnerabilitiesByResource.totalVulnerabilities": "{total, plural, other {# 个漏洞}}", "xpack.csp.awsIntegration.accessKeyIdLabel": "访问密钥 ID", "xpack.csp.awsIntegration.assumeRoleDescription": "IAM 角色 Amazon 资源名称 (ARN) 是您可在 AWS 帐户中创建的 IAM 身份。创建 IAM 角色时,用户可以定义该角色的权限。角色没有标准的长期凭据,如密码或访问密钥。", "xpack.csp.awsIntegration.assumeRoleLabel": "接管角色", @@ -11093,6 +11404,7 @@ "xpack.csp.benchmarks.benchmarksTable.monitoringColumnTitle": "监测", "xpack.csp.benchmarks.benchmarksTable.numberOfAgentsColumnTitle": "代理数目", "xpack.csp.benchmarks.benchmarksTable.rulesColumnTitle": "规则", + "xpack.csp.cloudPosturePage.betaLabel": "此功能为公测版,可能会进行更改。设计和代码相对于正式发行版功能还不够成熟,将按原样提供,且不提供任何保证。公测版功能不受正式发行版功能的支持服务水平协议约束。", "xpack.csp.cloudPosturePage.cspmIntegration.packageNotInstalled.buttonLabel": "添加 CSPM 集成", "xpack.csp.cloudPosturePage.cspmIntegration.packageNotInstalled.integrationNameLabel": "云安全态势管理", "xpack.csp.cloudPosturePage.defaultNoDataConfig.pageTitle": "未找到任何数据", @@ -11110,11 +11422,37 @@ "xpack.csp.cloudPosturePage.vulnerabilitiesInstalledEmptyPrompt.addVulMngtIntegrationButtonTitle": "安装云原生漏洞管理", "xpack.csp.cloudPosturePage.vulnerabilitiesInstalledEmptyPrompt.learnMoreButtonTitle": "了解详情", "xpack.csp.cloudPosturePage.vulnerabilitiesInstalledEmptyPrompt.promptDescription": "添加云原生漏洞管理集成以开始", + "xpack.csp.cnvmDashboard.statistics.cloudRegionTitle": "云区域", + "xpack.csp.cnvmDashboard.statistics.criticalTitle": "紧急", + "xpack.csp.cnvmDashboard.statistics.highTitle": "高", + "xpack.csp.cnvmDashboard.statistics.mediumTitle": "中", + "xpack.csp.cnvmDashboard.statistics.resourcesScannedTitle": "已扫描资源", + "xpack.csp.cnvmDashboardTable.panel.topPatchVulnerabilities.title": "排名前 10 可修补漏洞", + "xpack.csp.cnvmDashboardTable.panel.topVulnerabilities.title": "排名前 10 漏洞", + "xpack.csp.cnvmDashboardTable.panel.topVulnerableResources.title": "排名前 10 易受攻击资源", + "xpack.csp.cnvmDashboardTable.section.topPatchableVulnerabilities.column.fixedVersion": "修复版本", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.cve": "CVE", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.fixedVersion": "修复版本", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.packageName": "软件包名称", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.packageVersion": "软件包版本", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.severity": "严重性", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.version": "CVSS", + "xpack.csp.cnvmDashboardTable.section.topVulnerability.column.vulnerabilities": "漏洞", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.cve": "CVE", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.region": "地区", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.resource": "资源", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.version": "CVSS", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.vulnerabilities": "漏洞", + "xpack.csp.cnvmDashboardTable.section.topVulnerableResources.column.vulnerabilityCount": "漏洞", + "xpack.csp.compactFormattedNumber.naTitle": "不可用", "xpack.csp.complianceScoreChart.counterLink.failedFindingsTooltip": "失败的结果", "xpack.csp.complianceScoreChart.counterLink.passedFindingsTooltip": "通过的结果", + "xpack.csp.createPackagePolicy.customAssetsTab.cloudNativeVulnerabilityManagementTitleLabel": "云原生漏洞管理 ", + "xpack.csp.createPackagePolicy.customAssetsTab.cloudPostureTitleLabel": "云态势 ", "xpack.csp.createPackagePolicy.customAssetsTab.dashboardViewLabel": "查看 CSP 仪表板", "xpack.csp.createPackagePolicy.customAssetsTab.findingsViewLabel": "查看 CSP 结果 ", "xpack.csp.createPackagePolicy.customAssetsTab.rulesViewLabel": "查看 CSP 规则 ", + "xpack.csp.createPackagePolicy.customAssetsTab.vulnerabilityFindingsViewLabel": "查看漏洞结果 ", "xpack.csp.cspEvaluationBadge.failLabel": "失败", "xpack.csp.cspEvaluationBadge.passLabel": "通过", "xpack.csp.cspmIntegration.awsOption.benchmarkTitle": "CIS AWS", @@ -11190,6 +11528,7 @@ "xpack.csp.findings.findingsFlyout.ruleTab.referencesTitle": "参考", "xpack.csp.findings.findingsFlyout.ruleTab.tagsTitle": "标签", "xpack.csp.findings.findingsFlyout.ruleTabTitle": "规则", + "xpack.csp.findings.findingsFlyout.tableTabTitle": "表", "xpack.csp.findings.findingsTable.findingsTableColumn.clusterIdColumnLabel": "属于", "xpack.csp.findings.findingsTable.findingsTableColumn.clusterIdColumnTooltipLabel": "Kubernetes 集群 ID 或云帐户名称", "xpack.csp.findings.findingsTable.findingsTableColumn.lastCheckedColumnLabel": "上次检查时间", @@ -11215,6 +11554,7 @@ "xpack.csp.findings.resourceFindingsSharedValues.resourceTypeTitle": "资源类型", "xpack.csp.findings.search.queryErrorToastMessage": "查询错误", "xpack.csp.findings.searchBar.searchPlaceholder": "搜索结果(例如,rule.section:“APM 服务器”)", + "xpack.csp.findings.tabs.misconfigurations": "错误配置", "xpack.csp.findings.tabs.vulnerabilities": "漏洞", "xpack.csp.findings.title": "结果", "xpack.csp.fleetIntegration.cnvm.additionalChargesCalloutDescription": "请注意,由于使用量增加,使用此服务可能导致在您的下一份云服务提供商计费结算单上出现其他收费。", @@ -11226,6 +11566,8 @@ "xpack.csp.fleetIntegration.integrationNameLabel": "名称", "xpack.csp.fleetIntegration.integrationSettingsTitle": "集成设置", "xpack.csp.fleetIntegration.selectIntegrationTypeTitle": "选择您要配置的安全态势管理集成的类型", + "xpack.csp.flyout.tableTab.fieldLabel": "字段", + "xpack.csp.flyout.tableTab.fieldValueLabel": "值", "xpack.csp.integrationDashboard.noFindings.promptTitle": "结果评估状态", "xpack.csp.integrationDashboard.noFindingsPrompt.promptDescription": "正在等待要收集和索引的数据。如果此进程花费的时间长于预期,请联系我们的支持人员", "xpack.csp.kspmIntegration.aksOption.benchmarkTitle": "CIS AKS", @@ -11245,6 +11587,7 @@ "xpack.csp.navigation.findingsNavItemLabel": "结果", "xpack.csp.navigation.myBenchmarksNavItemLabel": "云态势基准", "xpack.csp.navigation.rulesNavItemLabel": "规则", + "xpack.csp.navigation.vulnerabilityDashboardNavItemLabel": "云原生漏洞管理", "xpack.csp.noFindingsStates.indexing.indexingButtonTitle": "正进行态势评估", "xpack.csp.noFindingsStates.indexing.indexingDescription": "正在等待要收集和索引的数据。请稍后返回检查以查看结果", "xpack.csp.noFindingsStates.indexTimeout.indexTimeoutDocLink": "了解详情", @@ -11255,6 +11598,11 @@ "xpack.csp.noFindingsStates.unprivileged.unprivilegedDescription": "要查看云态势数据,必须更新权限。有关详细信息,请联系您的 Kibana 管理员。", "xpack.csp.noFindingsStates.unprivileged.unprivilegedFooterMarkdown": "以下索引所需的 Elasticsearch 索引权限 `read`:", "xpack.csp.noFindingsStates.unprivileged.unprivilegedTitle": "需要权限", + "xpack.csp.noVulnerabilitiesStates.indexTimeout.indexTimeoutDocLink": "CNVM 常见问题解答", + "xpack.csp.noVulnerabilitiesStates.indexTimeout.indexTimeoutTitle": "已推迟结果", + "xpack.csp.noVulnerabilitiesStates.noAgentsDeployed.noAgentsDeployedButtonTitle": "安装代理", + "xpack.csp.noVulnerabilitiesStates.noAgentsDeployed.noAgentsDeployedDescription": "要开始检测漏洞,您需要将 Elastic 代理部署到您要监测的云帐户或 Kubernetes 集群中。", + "xpack.csp.noVulnerabilitiesStates.noAgentsDeployed.noAgentsDeployedTitle": "未安装任何代理", "xpack.csp.noVulnerabilitiesStates.scanningVulnerabilitiesEmptyPrompt.indexingButtonTitle": "正在扫描您的环境", "xpack.csp.noVulnerabilitiesStates.scanningVulnerabilitiesEmptyPrompt.indexingDescription": "结果一旦可用,将在此处显示。", "xpack.csp.noVulnerabilitiesStates.unprivileged.unprivilegedDescription": "要查看云态势数据,必须更新权限。有关详细信息,请联系您的 Kibana 管理员。", @@ -11270,14 +11618,25 @@ "xpack.csp.rules.rulesTable.cisSectionColumnLabel": "CIS 部分", "xpack.csp.rules.rulesTable.nameColumnLabel": "名称", "xpack.csp.rules.rulesTable.searchPlaceholder": "按规则名称搜索", + "xpack.csp.subscriptionNotAllowed.promptDescriptionNoLocator": "请联系管理员更改您的许可证。", "xpack.csp.subscriptionNotAllowed.promptLinkText": "开始试用或升级您的订阅", "xpack.csp.subscriptionNotAllowed.promptTitle": "升级以使用订阅功能", "xpack.csp.vulnerabilities": "漏洞", + "xpack.csp.vulnerabilities.flyoutTabs.fieldLabel": "字段", + "xpack.csp.vulnerabilities.flyoutTabs.fieldValueLabel": "值", + "xpack.csp.vulnerabilities.resourceVulnerabilities.backToResourcesPageButtonLabel": "返回到资源", + "xpack.csp.vulnerabilities.resourceVulnerabilities.regionTitle": "地区", + "xpack.csp.vulnerabilities.resourceVulnerabilities.resourceIdTitle": "资源 ID", "xpack.csp.vulnerabilities.searchBar.placeholder": "搜索漏洞(例如,vulnerability.severity:“CRITICAL”)", "xpack.csp.vulnerabilities.table.filterIn": "筛选范围", "xpack.csp.vulnerabilities.table.filterOut": "筛除", + "xpack.csp.vulnerabilities.vulnerabilitiesFindingFlyout.flyoutDescriptionList.packageTitle": "软件包", + "xpack.csp.vulnerabilities.vulnerabilitiesFindingFlyout.flyoutDescriptionList.resourceTitle": "资源", + "xpack.csp.vulnerabilities.vulnerabilitiesFindingFlyout.flyoutDescriptionList.versionTitle": "版本", "xpack.csp.vulnerabilities.vulnerabilityFindingFlyout.jsonTabLabel": "JSON", + "xpack.csp.vulnerabilities.vulnerabilityFindingFlyout.loadingAriaLabel": "正在加载", "xpack.csp.vulnerabilities.vulnerabilityFindingFlyout.overviewTabLabel": "概览", + "xpack.csp.vulnerabilities.vulnerabilityFindingFlyout.tableTabLabel": "表", "xpack.csp.vulnerabilities.vulnerabilityOverviewTab.cvsScore.unknownVendorName": "未知供应商", "xpack.csp.vulnerabilities.vulnerabilityOverviewTab.descriptionTitle": "描述", "xpack.csp.vulnerabilities.vulnerabilityOverviewTab.emptyFixesMessage": "尚没有修复可用。", @@ -11286,10 +11645,27 @@ "xpack.csp.vulnerabilities.vulnerabilityOverviewTile.cvsScore": "CVSS", "xpack.csp.vulnerabilities.vulnerabilityOverviewTile.dataSource": "数据源", "xpack.csp.vulnerabilities.vulnerabilityOverviewTile.publishedDate": "发布日期", + "xpack.csp.vulnerabilitiesByResource.severityMap.tooltipTitle": "严重性映射", + "xpack.csp.vulnerability_dashboard.cspPageTemplate.pageTitle": "云原生漏洞管理", + "xpack.csp.vulnerabilityByResourceTable.column.region": "地区", + "xpack.csp.vulnerabilityByResourceTable.column.resourceId": "资源 ID", + "xpack.csp.vulnerabilityByResourceTable.column.resourceName": "资源名称", + "xpack.csp.vulnerabilityByResourceTable.column.severityMap": "严重性映射", + "xpack.csp.vulnerabilityByResourceTable.column.vulnerabilities": "漏洞", + "xpack.csp.vulnerabilityDashboard.trendGraphChart.accountsDropDown.option.allTitle": "全部", + "xpack.csp.vulnerabilityDashboard.trendGraphChart.accountsDropDown.prepend.accountsTitle": "帐户", + "xpack.csp.vulnerabilityDashboard.trendGraphChart.trendBySeverityTitle": "趋势(按严重性)", + "xpack.csp.vulnerabilityDashboard.viewAllButton.buttonTitle": "查看全部", "xpack.csp.vulnerabilityTable.column.fixVersion": "修复版本", + "xpack.csp.vulnerabilityTable.column.package": "软件包", "xpack.csp.vulnerabilityTable.column.resource": "资源", "xpack.csp.vulnerabilityTable.column.severity": "严重性", + "xpack.csp.vulnerabilityTable.column.sortAscending": "低 -> 严重", + "xpack.csp.vulnerabilityTable.column.sortDescending": "严重 -> 低", + "xpack.csp.vulnerabilityTable.column.version": "版本", "xpack.csp.vulnerabilityTable.column.vulnerability": "漏洞", + "xpack.csp.vulnerabilityTable.panel.buttonText": "查看所有漏洞", + "xpack.csp.vulnerabilityTable.panel.tooltipText": "在结果中浏览", "xpack.csp.vulnMgmtIntegration.awsOption.nameTitle": "Amazon Web Services", "xpack.csp.vulnMgmtIntegration.azureOption.nameTitle": "Azure", "xpack.csp.vulnMgmtIntegration.azureOption.tooltipContent": "即将推出", @@ -11332,8 +11708,8 @@ "xpack.dataVisualizer.file.analysisSummary.timeFormatTitle": "时间{timestampFormats, plural, other {格式}}", "xpack.dataVisualizer.file.editFlyout.overrides.linesToSampleErrorMessage": "值必须大于 {min} 并小于或等于 {max}", "xpack.dataVisualizer.file.editFlyout.overrides.timestampEmptyValidationErrorMessage": "时间戳格式 {timestampFormat} 中没有时间格式字母组", - "xpack.dataVisualizer.file.editFlyout.overrides.timestampLetterSValidationErrorMessage": "{format}的字母 {length, plural, other {组 {lg}}} 不受支持,因为其未前置 ss 和 {sep} 中的分隔符", - "xpack.dataVisualizer.file.editFlyout.overrides.timestampLetterValidationErrorMessage": "{format}的字母 {length, plural, other {组 {lg}}} 不受支持", + "xpack.dataVisualizer.file.editFlyout.overrides.timestampLetterSValidationErrorMessage": "{format}的字母 {length, plural, other { 组 {lg} }} 不受支持,因为其未前置 ss 和 {sep} 中的分隔符", + "xpack.dataVisualizer.file.editFlyout.overrides.timestampLetterValidationErrorMessage": "{format}的字母 {length, plural, other { 组 {lg} }} 不受支持", "xpack.dataVisualizer.file.editFlyout.overrides.timestampQuestionMarkValidationErrorMessage": "时间戳格式 {timestampFormat} 不受支持,因为其包含问号字符 ({fieldPlaceholder})", "xpack.dataVisualizer.file.fileContents.firstLinesDescription": "前 {numberOfLines, plural, other {# 行}}", "xpack.dataVisualizer.file.fileErrorCallouts.fileSizeExceedsAllowedSizeByDiffFormatErrorMessage": "您选择用于上传的文件大小超过上限值 {maxFileSizeFormatted} 的 {diffFormatted}", @@ -11515,9 +11891,12 @@ "xpack.dataVisualizer.file.importSummary.importCompleteTitle": "导入完成", "xpack.dataVisualizer.file.importSummary.indexTitle": "索引", "xpack.dataVisualizer.file.importSummary.ingestPipelineTitle": "采集管道", + "xpack.dataVisualizer.file.importView.backButtonLabel": "返回", + "xpack.dataVisualizer.file.importView.cancelButtonLabel": "选择其他文件", "xpack.dataVisualizer.file.importView.dataViewNameAlreadyExistsErrorMessage": "数据视图名称已存在", "xpack.dataVisualizer.file.importView.importButtonLabel": "导入", "xpack.dataVisualizer.file.importView.importDataTitle": "导入数据", + "xpack.dataVisualizer.file.importView.importNewButtonLabel": "导入新文件", "xpack.dataVisualizer.file.importView.indexNameAlreadyExistsErrorMessage": "索引名称已存在", "xpack.dataVisualizer.file.importView.indexNameContainsIllegalCharactersErrorMessage": "索引名称包含非法字符", "xpack.dataVisualizer.file.importView.indexPatternDoesNotMatchDataViewErrorMessage": "数据视图与索引名称不匹配", @@ -11531,7 +11910,9 @@ "xpack.dataVisualizer.file.resultsLinks.indexManagementTitle": "索引管理", "xpack.dataVisualizer.file.resultsLinks.viewIndexInDiscoverTitle": "在 Discover 中查看索引", "xpack.dataVisualizer.file.resultsView.analysisExplanationButtonLabel": "分析说明", + "xpack.dataVisualizer.file.resultsView.cancelButtonLabel": "选择其他文件", "xpack.dataVisualizer.file.resultsView.fileStatsName": "文件统计", + "xpack.dataVisualizer.file.resultsView.importButtonLabel": "导入", "xpack.dataVisualizer.file.resultsView.overrideSettingsButtonLabel": "替代设置", "xpack.dataVisualizer.file.simpleImportSettings.createDataViewLabel": "创建数据视图", "xpack.dataVisualizer.file.simpleImportSettings.indexNameAriaLabel": "索引名称,必填字段", @@ -11596,6 +11977,103 @@ "xpack.dataVisualizer.searchPanel.randomSamplerMessage": "总文档计数和图表中将显示近似值,它们使用随机采样器聚合。", "xpack.dataVisualizer.searchPanel.showEmptyFields": "显示空字段", "xpack.dataVisualizer.title": "上传文件", + "xpack.elasticAssistant.dataAnonymizationEditor.contextEditor.selectAllFields": "选择所有 {totalFields} 个字段", + "xpack.elasticAssistant.dataAnonymizationEditor.contextEditor.selectedFields": "已选定 {selected} 个字段", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.allowedStat.allowedTooltip": "允许在对话中包含此上下文中的 {allowed} 个(共 {total} 个)字段", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.anonymizedStat.fieldsWillBeAnonymizedTooltip": "此上下文中的 {anonymized} 个{anonymized, plural, =1 {字段} other {字段}}将用随机值替换。会自动将响应重新转换为原始值。", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.anonymizedStat.noneOfTheDataWillBeAnonymizedTooltip": "{isDataAnonymizable, select, true {选择要用随机值替换的字段。会自动将响应重新转换为原始值。} other {此上下文无法进行匿名处理}}", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.availableStat.availableTooltip": "可在对话中包含此上下文中的 {total} 个字段", + "xpack.elasticAssistant.assistant.apiErrorTitle": "发送消息时出错。如果问题持续存在,请测试连接器配置。", + "xpack.elasticAssistant.assistant.clearChat": "清除聊天", + "xpack.elasticAssistant.assistant.connectors.addConnectorButton.connectorAddedDescription": "准备继续对话……", + "xpack.elasticAssistant.assistant.connectors.addConnectorButton.connectorAddedTitle": "已添加生成式 AI 连接器!", + "xpack.elasticAssistant.assistant.connectors.addConnectorButton.description": "配置连接器以继续对话", + "xpack.elasticAssistant.assistant.connectors.addConnectorButton.title": "添加生成式 AI 连接器", + "xpack.elasticAssistant.assistant.connectors.connectorSelector.ariaLabel": "对话选择器", + "xpack.elasticAssistant.assistant.connectors.connectorSelector.newConnectorOptions": "添加新连接器……", + "xpack.elasticAssistant.assistant.connectors.setup.skipTitle": "单击以跳过……", + "xpack.elasticAssistant.assistant.connectors.setup.timestampAtTitle": "处于", + "xpack.elasticAssistant.assistant.connectors.setup.userAssistantTitle": "助手", + "xpack.elasticAssistant.assistant.connectors.setup.userYouTitle": "您", + "xpack.elasticAssistant.assistant.content.prompts.system.defaultSystemPromptName": "默认系统提示", + "xpack.elasticAssistant.assistant.content.prompts.system.ifYouDontKnowTheAnswer": "不回答与 Elastic Security 无关的问题。", + "xpack.elasticAssistant.assistant.content.prompts.system.superheroPersonality": "提供可能的最详细、最相关的答案,就好像您正将此信息转发给网络安全专家一样。", + "xpack.elasticAssistant.assistant.content.prompts.system.superheroSystemPromptName": "已增强系统提示", + "xpack.elasticAssistant.assistant.content.prompts.system.useTheFollowingContextToAnswer": "使用以下上下文回答问题:", + "xpack.elasticAssistant.assistant.content.prompts.system.youAreAHelpfulExpertAssistant": "您是一位可帮助回答 Elastic Security 相关问题的专家助手。", + "xpack.elasticAssistant.assistant.content.prompts.user.finallySuggestInvestigationGuideAndFormatAsMarkdown": "添加描述、建议操作和带项目符号的分类步骤。使用提供的 MITRE ATT&CK 数据以从 MITRE 添加更多上下文和建议,以及指向 MITRE 网站上的相关页面的超链接。确保包括上下文中的用户和主机风险分数数据。您的响应应包含指向 Elastic Security 特定功能的步骤,包括终端响应操作、Elastic 代理 OSQuery 管理器集成(带示例 osquery 查询)、时间线和实体分析,以及所有相关 Elastic Security 文档的链接。", + "xpack.elasticAssistant.assistant.content.prompts.user.thenSummarizeSuggestedKqlAndEqlQueries": "评估来自上述上下文的事件,并以用于我的 Elastic Security 案例的 Markdown 语法对您的输出进行全面格式化。", + "xpack.elasticAssistant.assistant.conversationSelector.ariaLabel": "对话选择器", + "xpack.elasticAssistant.assistant.conversationSelector.CustomOptionTextTitle": "创建新对话:", + "xpack.elasticAssistant.assistant.conversationSelector.defaultConversationTitle": "已选择对话", + "xpack.elasticAssistant.assistant.conversationSelector.deleteConversationTitle": "删除对话", + "xpack.elasticAssistant.assistant.conversationSelector.nextConversationTitle": "下一个对话", + "xpack.elasticAssistant.assistant.conversationSelector.placeholderTitle": "选择或键入以新建……", + "xpack.elasticAssistant.assistant.conversationSelector.previousConversationTitle": "上一个对话", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.allActionsTooltip": "所有操作", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.allowAction": "允许", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.allowByDefaultAction": "默认允许", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.allowedColumnTitle": "已允许", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.alwaysSubmenu": "始终", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.anonymizeAction": "匿名处理", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.anonymizeByDefaultAction": "默认匿名处理", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.anonymizedColumnTitle": "已匿名处理", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.bulkActions": "批处理操作", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.defaultsSubmenu": "默认值", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.denyAction": "拒绝", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.denyByDefaultAction": "默认拒绝", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.fieldColumnTitle": "字段", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.noButtonLabel": "否", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.unanonymizeAction": "取消匿名处理", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.unanonymizeByDefaultAction": "默认取消匿名处理", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.valuesColumnTitle": "值", + "xpack.elasticAssistant.assistant.dataAnonymizationEditor.contextEditor.yesButtonLabel": "是", + "xpack.elasticAssistant.assistant.defaultAssistantTitle": "Elastic AI 助手", + "xpack.elasticAssistant.assistant.firstPromptEditor.addNewSystemPrompt": "添加新系统提示……", + "xpack.elasticAssistant.assistant.firstPromptEditor.addSystemPromptTooltip": "添加系统提示", + "xpack.elasticAssistant.assistant.firstPromptEditor.clearSystemPrompt": "清除系统提示", + "xpack.elasticAssistant.assistant.firstPromptEditor.commentsListAriaLabel": "注释列表", + "xpack.elasticAssistant.assistant.firstPromptEditor.editingPromptLabel": "正在编辑提示", + "xpack.elasticAssistant.assistant.firstPromptEditor.selectASystemPromptPlaceholder": "选择系统提示", + "xpack.elasticAssistant.assistant.firstPromptEditor.youLabel": "您", + "xpack.elasticAssistant.assistant.newChat.newChatButton": "聊天", + "xpack.elasticAssistant.assistant.newChatById.newChatByIdButton": "聊天", + "xpack.elasticAssistant.assistant.overlay.CancelButton": "取消", + "xpack.elasticAssistant.assistant.promptEditor.selectedPromotContexts.removeContextTooltip": "删除上下文", + "xpack.elasticAssistant.assistant.promptEditor.systemPrompt.slCancelButtonTitle": "取消", + "xpack.elasticAssistant.assistant.promptEditor.systemPrompt.slSaveButtonTitle": "保存", + "xpack.elasticAssistant.assistant.promptEditor.systemPrompt.systemPromptModal.systemPromptSelector.ariaLabel": "选择以编辑,或键入以新建", + "xpack.elasticAssistant.assistant.promptEditor.systemPrompt.systemPromptModal.systemPromptSelector.customOptionText": "创建新的已命名系统提示", + "xpack.elasticAssistant.assistant.promptEditor.systemPrompt.systemPromptModal.systemPromptSelector.deletePromptTitle": "删除系统提示", + "xpack.elasticAssistant.assistant.promptPlaceholder": "向我提出任何要求,从“汇总此告警”到“帮助我构建查询……”", + "xpack.elasticAssistant.assistant.quickPrompts.modalCancelButtonTitle": "取消", + "xpack.elasticAssistant.assistant.quickPrompts.modalSaveButtonTitle": "保存", + "xpack.elasticAssistant.assistant.quickPrompts.overflowAriaTitle": "显示溢出快速提示", + "xpack.elasticAssistant.assistant.quickPrompts.promptContextSelector.ariaLabel": "选择此快速提示适用于的提示上下文类别。", + "xpack.elasticAssistant.assistant.quickPrompts.promptContextSelector.placeholderLabel": "(快速提示将始终可见)。", + "xpack.elasticAssistant.assistant.quickPrompts.quickPromptSelector.ariaLabel": "选择以编辑,或键入以新建", + "xpack.elasticAssistant.assistant.quickPrompts.quickPromptSelector.customOptionText": "创建新的已命名快速提示", + "xpack.elasticAssistant.assistant.quickPrompts.quickPromptSelector.deletePromptTitle": "删除快速提示", + "xpack.elasticAssistant.assistant.settings.connectorHelpTextTitle": "用于提出请求的 Kibana 连接器", + "xpack.elasticAssistant.assistant.settings.showAnonymizedToggleLabel": "显示已匿名处理项", + "xpack.elasticAssistant.assistant.settings.showAnonymizedTooltip": "显示该助手接收和发送的已匿名处理值", + "xpack.elasticAssistant.assistant.submitMessage": "提交消息", + "xpack.elasticAssistant.assistant.useConversation.defaultConversationTitle": "默认", + "xpack.elasticAssistant.assistant.useConversation.elasticAiAssistantName": "助手", + "xpack.elasticAssistant.assistant.useConversation.elasticAiAssistantTitle": "Elastic AI 助手", + "xpack.elasticAssistant.assistant.useConversation.welcomeConversationTitle": "欢迎", + "xpack.elasticAssistant.connectors.useLoadActionTypes.errorMessage": "欢迎使用 Elastic AI 助手!我是您的 100% 开源门户,可帮助您熟练使用 Elastic。", + "xpack.elasticAssistant.connectors.useLoadConnectors.errorMessage": "欢迎使用 Elastic AI 助手!我是您的 100% 开源门户,可帮助您熟练使用 Elastic。", + "xpack.elasticAssistant.content.prompts.welcome.welcomeSecurityPrompt": "欢迎使用 Elastic AI 助手!我是您的 100% 开源门户,可帮助您熟练使用 Elastic Security。", + "xpack.elasticAssistant.dataAnonymization.settings.anonymizationSettings.calloutParagraph1": "默认允许使用以下字段", + "xpack.elasticAssistant.dataAnonymization.settings.anonymizationSettings.calloutParagraph2": "(可选)对这些字段启用匿名处理", + "xpack.elasticAssistant.dataAnonymization.settings.anonymizationSettings.calloutTitle": "匿名处理默认设置", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.allowedStat.allowedDescription": "已允许", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.anonymizedStat.anonymizeFieldsdDescription": "已匿名处理", + "xpack.elasticAssistant.dataAnonymizationEditor.stats.availableStat.availableDescription": "可用", + "xpack.elasticAssistant.securityAssistant.content.prompts.welcome.welcomeGeneral2Prompt": "首先,我们需要设置生成式 AI 连接器以继续这种聊天体验!使用生成式 AI 连接器,您将能够配置 Azure OpenAI Service 或 OpenAI API 帐户的访问权限,但请您相信,您将能够在 Elastic Cloud 实例中部署自己的模型,并于未来在此处使用那些模型……😉", + "xpack.elasticAssistant.securityAssistant.content.prompts.welcome.welcomeGeneral3Prompt": "接下来,单击下面的“添加连接器”按钮继续对话!", + "xpack.elasticAssistant.securityAssistant.content.prompts.welcome.welcomeGeneralPrompt": "欢迎使用 Elastic AI 助手!我是您的 100% 开放源代码门户,可帮助您熟练使用 Elastic。一段时间后,我将能够回答问题,并利用 Elastic 中的所有信息提供帮助等。到那时,我希望这个早期预览版本将为您打开思路,为我们的公开协作创造各种可能性。加油!", "xpack.embeddableEnhanced.actions.panelNotifications.manyDrilldowns": "面板有 {count} 个向下钻取", "xpack.embeddableEnhanced.actions.panelNotifications.oneDrilldown": "面板有 1 个向下钻取", "xpack.embeddableEnhanced.Drilldowns": "向下钻取", @@ -11603,6 +12081,7 @@ "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.searchui.stepTwo.moreInfoDescription": "请参阅 {link} 了解有关初始化跟踪器和触发事件的更多信息。", "xpack.enterpriseSearch.analytics.collections.notFound.headingTitle": "找不到“{query}”的结果", "xpack.enterpriseSearch.analytics.collectionsView.explorer.tableSummary": "正在显示 {items} 个,共 {totalItemsCount} 个", + "xpack.enterpriseSearch.analytics.collectionsView.explorer.tableSummaryIndeterminate": "正在显示前 {maxItemsCount} 个结果中的 {items} 个", "xpack.enterpriseSearch.appSearch.crawler.action.deleteDomain.confirmationPopupMessage": "确定要移除域“{domainUrl}”及其所有设置?", "xpack.enterpriseSearch.appSearch.crawler.addDomainForm.entryPointLabel": "网络爬虫入口点已设置为 {entryPointValue}", "xpack.enterpriseSearch.appSearch.crawler.automaticCrawlSchedule.formDescription": "不用担心,我们将为您开始爬网。{readMoreMessage}。", @@ -11675,15 +12154,8 @@ "xpack.enterpriseSearch.appSearch.sourceEngines.removeEngineConfirmDialogue.description": "这将从此元引擎中移除引擎“{engineName}”。所有现有设置将丢失。是否确定?", "xpack.enterpriseSearch.content.crawler.domainDetail.title": "管理 {domain}", "xpack.enterpriseSearch.content.crawler.extractionRules.deleteModal.description": "移除此规则还会删除 {fields, plural, other {# 个字段规则}}。此操作无法撤消。", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.actions.removeIndex.caption": "移除索引 {indexName}", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.actions.viewIndex.caption": "查看索引 {indexName}", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.conflict.callout.title": "有另外 {totalConflictsHiddenByTypeFilters, number} 个{totalConflictsHiddenByTypeFilters, plural, other {冲突}}未在此处显示", - "xpack.enterpriseSearch.searchApplications.list.deleteSearchApplication.successToast.title": "{searchApplicationName} 已删除", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.headerSubTitle": "请浏览我们的 {docsLink} 了解详情!", - "xpack.enterpriseSearch.searchApplications.list.indicesFlyout.subTitle": "查看与 {searchApplicationName} 关联的索引", - "xpack.enterpriseSearch.searchApplications.list.table.column.view.indices": "{indicesCount, number} {indicesCount, plural, other {索引}}", "xpack.enterpriseSearch.content.index.connector.syncRules.description": "添加同步规则以定制要从 {indexName} 同步哪些数据。默认包括所有内容,并根据按所列顺序显示的已配置同步规则集验证文档。", - "xpack.enterpriseSearch.content.index.connector.syncRules.flyout.errorTitle": "同步{idsLength, plural, other {规则}} {ids}{idsLength, plural, other { }}无效。", + "xpack.enterpriseSearch.content.index.connector.syncRules.flyout.errorTitle": "同步{idsLength, plural, other {规则}} {ids}{idsLength, plural, other {有}}无效。", "xpack.enterpriseSearch.content.index.pipelines.copyCustomizeCallout.description": "您的索引正使用默认采集管道 {defaultPipeline}。将该管道复制到特定于索引的配置中,以解锁创建定制采集和推理管道的功能。", "xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.modalBodyAPIText": "{apiIndex}对以下设置所做的更改仅供参考。这些设置不会持续用于您的索引或管道。", "xpack.enterpriseSearch.content.index.syncJobs.documents.volume.aboutLabel": "关于 {volume}", @@ -11692,12 +12164,15 @@ "xpack.enterpriseSearch.content.indices.configurationConnector.config.defaultValue": "如果留空,将使用默认值 {defaultValue}。", "xpack.enterpriseSearch.content.indices.configurationConnector.config.description.firstParagraph": "部署连接器后,请为您的定制数据源增强连接器客户端。您可以通过自己的其他实施逻辑定制几个 {link}。", "xpack.enterpriseSearch.content.indices.configurationConnector.config.description.thirdParagraph": "如果需要帮助,您始终可以在存储库中打开 {issuesLink},或在我们的 {discussLink} 论坛中提出问题。", + "xpack.enterpriseSearch.content.indices.configurationConnector.config.invalidInteger": "{label} 必须为整数。", "xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.connectorConnected": "您的连接器 {name} 已成功连接到 Enterprise Search。", - "xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.description.secondParagraph": "连接器存储库包含几个 {link},有助于您利用我们的框架针对定制数据源进行加速开发。", - "xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.description.thirdParagraph": "在此步骤中,您需要克隆或分叉存储库,然后将生成的 API 密钥和连接器 ID 复制到关联的 {link}。连接器 ID 会将此连接器标识到 Enterprise Search。", + "xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.description.secondParagraph": "连接器存储库包含几个 {link}。使用我们的框架针对定制数据源进行加速开发。", + "xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.description.thirdParagraph": "在此步骤中,您需要克隆或分叉存储库,然后将生成的 API 密钥和连接器 ID 复制到关联的 {link}。连接器 ID 会将此连接器标识到 Enterprise Search。此服务类型将决定要将连接器配置用于哪些类型的数据源。", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.config.sourceSecurityDocumentationLinkLabel": "{name} 身份验证", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.connectorConnected": "您的连接器 {name} 已成功连接到 Enterprise Search。", + "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.convertConnector.description": "是否要定制此本机连接器?将其转换为将在您自己的基础设施上进行自我管理的 {link}。", "xpack.enterpriseSearch.content.indices.configurationConnector.researchConfiguration.serviceDocumentationLinkLabel": "{name} 文档", + "xpack.enterpriseSearch.content.indices.connectorScheduling.page.description": "现已部署您的连接器。在此处计划重复内容和访问控制同步。如果要运行快速测试,请使用 {sync} 按钮启动一次性同步。", "xpack.enterpriseSearch.content.indices.deleteIndex.successToast.title": "您的索引 {indexName} 和任何关联的采集配置已成功删除", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.noModels.description": "您没有可供推理管道使用的已训练 Machine Learning 模型。{documentationLink}", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.name.helpText": "管道名称在部署内唯一,并且只能包含字母、数字、下划线和连字符。这会创建名为 {pipelineName} 的管道。", @@ -11712,19 +12187,22 @@ "xpack.enterpriseSearch.content.indices.pipelines.successToastDeleteMlPipeline.title": "已删除 Machine Learning 推理管道“{pipelineName}”", "xpack.enterpriseSearch.content.indices.pipelines.successToastDetachMlPipeline.title": "已从“{pipelineName}”中分离 Machine Learning 推理管道", "xpack.enterpriseSearch.content.indices.pipelines.tabs.jsonConfigurations.unmanaged.description": "从 Stack Management 中的 {ingestPipelines} 编辑此管道", + "xpack.enterpriseSearch.content.indices.selectConnector.description.selfManaged.text": "对于高级用例,请在自己的基础设施上部署 {connectorsClient}。定制现有连接器,或使用我们的连接器框架构建自己的连接器。{learnMore}", + "xpack.enterpriseSearch.content.indices.selectConnector.description.textcloud": "{native} 可直接用在 Elastic Cloud 部署中。无需额外的基础设施。自我管理的部署必须部署连接器服务才能运行本机连接器。{learnMore}", "xpack.enterpriseSearch.content.new_index.connectorTitleWithServiceType": "新的 {name} 搜索索引", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.alreadyExists.error": "名为 {indexName} 的索引已存在", + "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.formDescription": "此索引将存放您的数据源内容,并通过默认字段映射进行优化,以提供相关搜索体验。提供唯一的索引名称,并为索引设置默认的 {language_analyzer}(可选)。", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.isInvalid.error": "{indexName} 为无效索引名称", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.nameInputHelpText.lineOne": "您的索引将命名为:{indexName}", "xpack.enterpriseSearch.content.newIndex.steps.buildConnector.confirmModal.description": "名为 {indexName} 的已删除索引最初绑定到现有连接器配置。是否要将现有连接器配置替换成新的?", - "xpack.enterpriseSearch.searchApplications.list.description": "利用开箱即用的相关性、分析和个性化工具,搜索应用程序可帮助使最终用户能够搜索您的 Elasticsearch 数据。欲了解详情,{documentationUrl}。", - "xpack.enterpriseSearch.searchApplications.list.itemRange": "正在显示第 {from}-{to} 个(共 {total} 个)", + "xpack.enterpriseSearch.content.overview.documentExample.description.text": "生成 API 密钥并阅读{documentation},了解如何将文档发布到 Elasticsearch API 终端。将 Elastic {clients} 用于精简集成。", "xpack.enterpriseSearch.content.searchIndex.documents.documentList.description": "显示 {results} 个,共 {total} 个。搜索结果最多包含 {maximum} 个文档。", "xpack.enterpriseSearch.content.searchIndex.documents.documentList.pagination.itemsPerPage": "每页文档数:{docPerPage}", "xpack.enterpriseSearch.content.searchIndex.documents.documentList.paginationOptions.option": "{docCount} 个文档", "xpack.enterpriseSearch.content.searchIndex.documents.documentList.resultLimit": "仅前 {number} 个结果可用于分页。请使用搜索栏筛选结果。", "xpack.enterpriseSearch.content.searchIndex.documents.documentList.resultLimitTitle": "结果被限定为 {number} 个文档", "xpack.enterpriseSearch.content.searchIndex.mappings.description": "您的文档由一组字段构成。索引映射为每个字段提供类型(例如,{keyword}、{number}或{date})和其他子字段。这些索引映射确定您的相关性调整和搜索体验中可用的功能。", + "xpack.enterpriseSearch.content.searchIndex.nativeCloudCallout.content": "将其转换为将在您自己的基础设施上进行自我管理的 {link}。本机连接器只可用于您的 Elastic Cloud 部署。", "xpack.enterpriseSearch.content.searchIndices.actions.deleteIndex.caption": "删除索引 {indexName}", "xpack.enterpriseSearch.content.searchIndices.actions.viewIndex.caption": "查看索引 {indexName}", "xpack.enterpriseSearch.content.searchIndices.deleteModal.delete.description": "删除此索引还会删除它的所有数据及其 {ingestionMethod} 配置。任何关联的搜索应用程序将无法再访问此索引中存储的任何数据。", @@ -11749,6 +12227,19 @@ "xpack.enterpriseSearch.errorConnectingState.cloudErrorMessage": "您的云部署是否正在运行 Enterprise Search 节点?{deploymentSettingsLink}", "xpack.enterpriseSearch.errorConnectingState.description1": "由于以下错误,我们无法与主机 URL {enterpriseSearchUrl} 的 Enterprise Search 建立连接:", "xpack.enterpriseSearch.errorConnectingState.description2": "确保在 {configFile} 中已正确配置主机 URL。", + "xpack.enterpriseSearch.esre.elser.description": "轻松部署 {elser},以便只需单击几下即可实现即时文本语义搜索功能。此模型将使用“text_expansion”字段扩充您的文档和查询文本,提供开箱可用的无缝搜索功能。", + "xpack.enterpriseSearch.esre.elserPanel.step2.description": "创建索引后,请选中该索引,然后单击 {pipelinesName} 选项卡。", + "xpack.enterpriseSearch.esre.esreDocsSection.description": "要详细了解如何开始使用 ESRE 并使用具体的示例来测试这些工具,请访问 {esreDocumentation}。", + "xpack.enterpriseSearch.esre.esreDocsSection.faq.description": "通过这些{frequentlyAskedQuestions}了解 ESRE 是(不是)什么。", + "xpack.enterpriseSearch.esre.esreDocsSection.help.description": "需要帮助?请访问{discussForum}!", + "xpack.enterpriseSearch.esre.esreDocsSection.learn.description": "这些是复杂的主题,我们已汇编了一些{learningTopics}以帮助您开始使用。", + "xpack.enterpriseSearch.esre.measurePerformanceSection.description": "使用{behavioralAnalytics}仪表板和工具以可视化用户行为并评估您所做更改的影响。", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step1.description": "访问{behavioralAnalytics}并创建您的首个集合", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.description": "使用情绪分析、汇总或已命名实体识别等自然语言处理 (NLP) 工具来增强搜索结果的相关性。NLP 使用几个可加载的 {supportedMlModels},以通过附加字段智能分析并扩充文档。", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step3.description": "导航到您索引的 {pipelinesName} 选项卡,以创建使用已部署模型的推理管道。", + "xpack.enterpriseSearch.esre.rrfRankingPanel.description": "使用 {rrf} 将来自多个结果集的排名与不同相关性指标组合起来,而无需进行微调。", + "xpack.enterpriseSearch.esre.vectorSearchPanel.description": "通过添加来自 ML 模型的嵌入来使用{vectorDbCapabilities}。在 Elastic ML 节点上部署已训练模型并设置推理管道,以在采集文档时自动添加嵌入,便于您在 _search 中使用 kNN 矢量搜索方法。", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step3.description": "导航到您索引的 {pipelinesName} 选项卡,以创建使用已部署模型的推理管道。", "xpack.enterpriseSearch.index.connector.syncRules.description": "包括或排除高级别项目、文件类型和(文件或文件夹)路径\n 从 {indexName} 中同步。默认情况下包括所有内容。每个文档会\n 根据以下规则进行测试,并将应用第一个匹配的规则。", "xpack.enterpriseSearch.inferencePipelineCard.action.delete.disabledDescription": "无法删除此推理管道,因为它已用在多个管道中 [{indexReferences}]。您必须将此管道从所有管道(一个采集管道除外)分离,然后才能将其删除。", "xpack.enterpriseSearch.inferencePipelineCard.deleteConfirm.description": "您正从 Machine Learning 推理管道中移除并删除管道“{pipelineName}”。", @@ -11763,6 +12254,7 @@ "xpack.enterpriseSearch.server.routes.indices.existsErrorLogMessage": "解析请求到 {requestUrl} 时出错", "xpack.enterpriseSearch.server.routes.indices.pipelines.indexMissingError": "索引 {indexName} 不存在", "xpack.enterpriseSearch.server.routes.indices.pipelines.pipelineMissingError": "管道 {pipelineName} 不存在", + "xpack.enterpriseSearch.server.routes.indices.pipelines.pipelineNotFoundError": "管道 {pipelineName} 不存在", "xpack.enterpriseSearch.server.utils.invalidEnumValue": "字段 {fieldName} 的非法值 {value}", "xpack.enterpriseSearch.setupGuide.cloud.step1.instruction1": "访问 Elastic Cloud 控制台以{editDeploymentLink}。", "xpack.enterpriseSearch.setupGuide.cloud.step3.instruction1": "在为您的实例启用 Enterprise Search 之后,您可以定制该实例,包括容错、RAM 以及其他{optionsLink}。", @@ -11917,6 +12409,7 @@ "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptClientEmbed.title": "JavaScript 客户端", "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepOne.description": "在您要跟踪的每个网站页面或应用程序上嵌入行为分析 JavaScript 代码片段。", "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepOne.title": "嵌入到站点上", + "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepThree.description": "通过使用 trackSearch 或 trackSearchClick 方法跟踪单个搜索事件,如结果单击和搜索次数。", "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepThree.title": "跟踪搜索事件", "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepTwo.description": "必须先对客户端进行初始化,然后才能跟踪事件。建议在 Script 标记下方进行初始化。", "xpack.enterpriseSearch.analytics.collections.collectionsView.integrateTab.javascriptEmbed.stepTwo.title": "对客户端进行初始化", @@ -11951,6 +12444,7 @@ "xpack.enterpriseSearch.analytics.collectionsCreate.form.label": "集合名称", "xpack.enterpriseSearch.analytics.collectionsCreate.form.subtitle": "请认真考虑要如何命名集合。稍后无法对其重命名。", "xpack.enterpriseSearch.analytics.collectionsCreate.form.title": "命名您的集合", + "xpack.enterpriseSearch.analytics.collectionsCreate.invalidName": "集合名称只能包含小写字母、数字和连字符", "xpack.enterpriseSearch.analytics.collectionsDelete.action.successMessage": "已成功删除此集合", "xpack.enterpriseSearch.analytics.collectionsView.explorer.callout.button": "浏览", "xpack.enterpriseSearch.analytics.collectionsView.explorer.callout.description": "请查看 Discover 中的事件日志,详细了解您的应用程序指标。", @@ -11965,7 +12459,7 @@ "xpack.enterpriseSearch.analytics.collectionsView.integration.corsStep.description": "必须配置 CORS 以允许从您网站域向分析 API 终端提出请求。您可以通过在 Elasticsearch 配置文件中添加以下内容来完成此操作:", "xpack.enterpriseSearch.analytics.collectionsView.integration.corsStep.descriptionTwo": "或者,您也可以使用代理服务器将来自您网站域的分析请求路由到分析 API 终端,这将允许您免于配置 CORS。", "xpack.enterpriseSearch.analytics.collectionsView.integration.corsStep.learnMoreLink": "详细了解用于行为分析的 CORS。", - "xpack.enterpriseSearch.analytics.collectionsView.integration.description": "在您的搜索应用程序上轻松安装我们的跟踪器,以接收深度分析数据。无需搜索应用程序。", + "xpack.enterpriseSearch.analytics.collectionsView.integration.description": "在您的应用程序或网站上轻松安装我们的跟踪器,以接收深度分析数据。", "xpack.enterpriseSearch.analytics.collectionsView.integration.title": "跟踪器集成", "xpack.enterpriseSearch.analytics.collectionsView.manageButton": "管理", "xpack.enterpriseSearch.analytics.collectionsView.manageEventsDatastream": "管理事件数据流", @@ -11983,7 +12477,8 @@ "xpack.enterpriseSearch.analytics.productDescription": "用于对最终用户行为进行可视化并评估搜索应用程序性能的仪表板和工具。", "xpack.enterpriseSearch.analytics.productName": "行为分析", "xpack.enterpriseSearch.analytics.searchPlaceholder": "搜索集合名称", - "xpack.enterpriseSearch.applications.navTitle": "应用程序", + "xpack.enterpriseSearch.applications.navTitle": "搜索应用程序", + "xpack.enterpriseSearch.applications.productName": "应用程序", "xpack.enterpriseSearch.appSearch.actions.restoreDefaultsButonLabel": "还原默认值", "xpack.enterpriseSearch.appSearch.adminRoleTypeDescription": "管理员可以执行任何操作,但不包括管理帐户设置。", "xpack.enterpriseSearch.appSearch.allEnginesDescription": "分配给所有引擎包括之后创建和管理的所有当前和未来引擎。", @@ -12800,9 +13295,14 @@ "xpack.enterpriseSearch.appSearch.tokens.search.name": "公有搜索密钥", "xpack.enterpriseSearch.appSearch.tokens.update": "API 密钥“{name}”已更新", "xpack.enterpriseSearch.automaticCrawlSchedule.title": "爬网频率", + "xpack.enterpriseSearch.betaCalloutTitle": "公测版功能", + "xpack.enterpriseSearch.betaConnectorCalloutDescription": "此连接器为公测版。公测版功能可能会有所更改,并且不受公开发行版 (GA) 功能支持 SLA 的约束。Elastic 计划在未来版本中将此功能提升到 GA 版本。", + "xpack.enterpriseSearch.betaConnectorCalloutTitle": "公测版连接器", "xpack.enterpriseSearch.betaLabel": "公测版", "xpack.enterpriseSearch.connector.connectorTypePanel.title": "连接器类型", "xpack.enterpriseSearch.connector.connectorTypePanel.unknown.label": "未知", + "xpack.enterpriseSearch.connector.documentLevelSecurity.enablePanel.description": "允许您基于用户的权限,控制他们可以访问的文档。这确保了搜索结果将基于用户角色,仅为其返回相关授权信息。", + "xpack.enterpriseSearch.connector.documentLevelSecurity.enablePanel.heading": "文档级别安全性", "xpack.enterpriseSearch.connector.ingestionStatus.title": "采集状态", "xpack.enterpriseSearch.content,overview.documentExample.clientLibraries.label": "客户端库", "xpack.enterpriseSearch.content.analytics.api.generateAnalyticsApiKeyModal.apiKeyWarning": "Elastic 不会存储 API 密钥。一旦生成,您只能查看密钥一次。请确保将其保存在某个安全位置。如果失去它的访问权限,您需要从此屏幕生成新的 API 密钥。", @@ -12846,73 +13346,6 @@ "xpack.enterpriseSearch.content.crawler.extractionRulesTable.emptyMessageTitle": "没有内容提取规则", "xpack.enterpriseSearch.content.crawler.siteMaps": "站点地图", "xpack.enterpriseSearch.content.description": "Enterprise Search 提供了各种方法以便您轻松搜索数据。从网络爬虫、Elasticsearch 索引、API、直接上传或第三方连接器中选择。", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.apiKeyWarning": "Elastic 不会存储 API 密钥。一旦生成,您只能查看密钥一次。请确保将其保存在某个安全位置。如果失去它的访问权限,您需要从此屏幕生成新的 API 密钥。", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.cancel": "取消", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.csvDownloadButton": "下载 API 密钥", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.done": "完成", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.generateButton": "生成只读密钥", - "xpack.enterpriseSearch.searchApplication.searchApplication.api.generateApiKeyModal.title": "创建搜索应用程序只读 API 密钥", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.actions.columnTitle": "操作", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.actions.removeIndex.title": "从搜索应用程序中移除此索引", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.actions.viewIndex.title": "查看此索引", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addIndicesFlyout.cancelButton": "取消", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addIndicesFlyout.selectableLabel": "选择可搜索索引", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addIndicesFlyout.submitButton": "添加所选内容", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addIndicesFlyout.title": "添加新索引", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addNewIndicesButton": "添加新索引", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.docsCount.columnTitle": "文档计数", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.docsCount.notAvailableLabel": "不可用", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.health.columnTitle": "索引运行状况", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.name.columnTitle": "索引名称", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.removeIndexConfirm.description": "这不会删除该索引。您可以在稍后将其重新添加到此搜索应用程序。", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.removeIndexConfirm.text": "是,移除此索引", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.removeIndexConfirm.title": "从搜索应用程序中移除此索引", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.searchPlaceholder": "筛选索引", - "xpack.enterpriseSearch.searchApplications.indicesSelect.docsLabel": "文档:", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_indices.columnTitle": "在所有索引中?", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_indices.moreInfo": "更多信息", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_indices.no": "否", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_indices.yes": "是", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_name.columnTitle": "字段名称", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_type.columnTitle": "字段类型", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.field_type.conflict": "冲突", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.index.columnTitle": "父索引", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.notInAllIndices.description": "在我们的文档中", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.notInAllIndices.link": "详细了解字段映射。", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.notInAllIndices.title": "不是每个索引都映射了此字段。", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.type.columnTitle": "字段已映射为", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.fieldIndices.type.unmapped": "未映射", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters": "字段类型", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.clearAll": "全部清除 ", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.conflict.callout.clearFilters": "清除筛选 ", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.conflict.callout.subTitle": "要查看所有字段冲突,必须清除字段筛选", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.label": "筛选依据", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.filters.searchPlaceholder": "筛选列表 ", - "xpack.enterpriseSearch.searchApplications.searchApplication.schema.onlyShowConflicts": "仅显示冲突", - "xpack.enterpriseSearch.searchApplications.list.deleteSearchApplicationModal.confirmButton.title": "是,删除此搜索应用程序", - "xpack.enterpriseSearch.searchApplications.list.deleteSearchApplicationModal.delete.description": "删除搜索应用程序是不可逆操作。您的索引不会受到影响。", - "xpack.enterpriseSearch.searchApplications.list.deleteSearchApplicationModal.title": "永久删除此搜索应用程序?", - "xpack.enterpriseSearch.searchApplications.list.table.column.actions.deleteSearchApplicationLabel": "删除此搜索应用程序", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.header.createError.title": "创建搜索应用程序时出错", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.header.docsLink": "搜索应用程序文档", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.headerTitle": "创建搜索应用程序", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.searchApplicationName.placeholder": "搜索应用程序名称", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.searchApplicationName.title": "命名搜索应用程序", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.selectIndices.title": "选择索引", - "xpack.enterpriseSearch.searchApplications.createSearchApplication.submit": "创建", - "xpack.enterpriseSearch.searchApplications.list.empty.description": "下面我们指导您创建首个搜索应用程序。", - "xpack.enterpriseSearch.searchApplications.list.empty.title": "创建您的首个搜索应用程序", - "xpack.enterpriseSearch.searchApplications.searchApplication.indices.addIndicesFlyout.updateError.title": "更新引擎时出错", - "xpack.enterpriseSearch.searchApplications.list.indicesFlyout.table.docsCount.columnTitle": "文档计数", - "xpack.enterpriseSearch.searchApplications.list.indicesFlyout.table.health.columnTitle": "索引运行状况", - "xpack.enterpriseSearch.searchApplications.list.indicesFlyout.table.name.columnTitle": "索引名称", - "xpack.enterpriseSearch.searchApplications.list.indicesFlyout.title": "查看索引", - "xpack.enterpriseSearch.searchApplications.list.table.column.action.delete.buttonDescription": "删除此搜索应用程序", - "xpack.enterpriseSearch.searchApplications.list.table.column.actions": "操作", - "xpack.enterpriseSearch.searchApplications.list.table.column.actions.view.buttonDescription": "查看此搜索应用程序", - "xpack.enterpriseSearch.searchApplications.list.table.column.indices": "索引", - "xpack.enterpriseSearch.searchApplications.list.table.column.lastUpdated": "上次更新时间", - "xpack.enterpriseSearch.searchApplications.list.table.column.name": "搜索应用程序名称", "xpack.enterpriseSearch.content.filteringRules.policy.exclude": "排除", "xpack.enterpriseSearch.content.filteringRules.policy.include": "包括", "xpack.enterpriseSearch.content.filteringRules.rules.contains": "Contains", @@ -12931,6 +13364,7 @@ "xpack.enterpriseSearch.content.index.connector.syncRules.basicRulesDescription": "在集成筛选阶段,这些规则适用于文档。", "xpack.enterpriseSearch.content.index.connector.syncRules.basicRulesTitle": "基本规则", "xpack.enterpriseSearch.content.index.connector.syncRules.basicTabTitle": "基本规则", + "xpack.enterpriseSearch.content.index.connector.syncRules.flyout.betaDescription": "同步规则为公测版功能。公测版功能可能会有所更改,并且不受公开发行版 (GA) 功能支持 SLA 的约束。Elastic 计划在未来版本中将此功能提升到 GA 版本。", "xpack.enterpriseSearch.content.index.connector.syncRules.flyout.description": "在此规划和编辑规则,然后将其应用到下次同步。", "xpack.enterpriseSearch.content.index.connector.syncRules.flyout.revertButtonTitle": "恢复为活动规则", "xpack.enterpriseSearch.content.index.connector.syncRules.flyout.title": "起草规则", @@ -12955,16 +13389,29 @@ "xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.modalBodyConnectorText": "此管道会自动在通过 Enterprise Search 创建的所有网络爬虫和连接器索引上运行。", "xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.modalHeaderTitle": "管道设置", "xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.modalIngestLinkLabel": "详细了解 Enterprise Search 采集管道", + "xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.modalIngestLinkLocalExtractionLabel": "详细了解本地内容提取。", "xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.saveButtonLabel": "保存", "xpack.enterpriseSearch.content.index.pipelines.settings.extractBinaryDescription": "从图像和 PDF 文件中提取内容", + "xpack.enterpriseSearch.content.index.pipelines.settings.extractBinaryDisabledWarningContent": "由于对此连接器启用了本地内容提取,因此无法使用管道内容提取设置。", + "xpack.enterpriseSearch.content.index.pipelines.settings.extractBinaryDisabledWarningTitle": "无法配置内容提取", "xpack.enterpriseSearch.content.index.pipelines.settings.extractBinaryLabel": "内容提取", "xpack.enterpriseSearch.content.index.pipelines.settings.formHeader": "优化您的内容以进行搜索", "xpack.enterpriseSearch.content.index.pipelines.settings.mlInferenceLabel": "ML 推理管道", "xpack.enterpriseSearch.content.index.pipelines.settings.reduceWhitespaceDescription": "自动剪裁文档中的额外空白", "xpack.enterpriseSearch.content.index.pipelines.settings.reduceWhitespaceLabel": "减少空白", "xpack.enterpriseSearch.content.index.pipelines.settings.runMlInferenceDescrition": "使用兼容的已训练 ML 模型增强您的数据", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.deployedBody": "您可以在单线程配置中启动模型以用于测试,或调整性能以用于生产环境。", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.deployedTitle": "您的 ELSER 模型已部署,但尚未启动。", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.deployingBody": "同时,您可以继续使用其他上传的模型来创建管道。", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.deployingTitle": "您的 ELSER 模型正在部署。", "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.dismissButton": "关闭 ELSER 对外调用", "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.learnMoreLink": "了解详情", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedBody": "在您的定制推理管道中体验 ELSER 的强大功能。", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedSingleThreadedBody": "此单线程配置非常适合测试您的定制推理管道,但应微调性能以用于生产。", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedSingleThreadedTitle": "您的 ELSER 模型已通过单线程方式启动。", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedSingleThreadedTitleCompact": "您的 ELSER 模型正通过单线程方式运行。", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedTitle": "您的 ELSER 模型已启动。", + "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.startedTitleCompact": "您的 ELSER 模型正在运行。", "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.title": "通过 ELSER 改进您的结果", "xpack.enterpriseSearch.content.index.pipelines.textExpansionCallOut.titleBadge": "新建", "xpack.enterpriseSearch.content.index.searchApplication.createSearchApplication": "创建搜索应用程序", @@ -13028,8 +13475,11 @@ "xpack.enterpriseSearch.content.indices.configurationConnector.nameAndDescriptionFlyout.saveButtonLabel": "保存名称和描述", "xpack.enterpriseSearch.content.indices.configurationConnector.nameAndDescriptionFlyout.title": "描述此网络爬虫", "xpack.enterpriseSearch.content.indices.configurationConnector.nameAndDescriptionForm.description": "通过命名和描述此连接器,您的同事和更广泛的团队将了解本连接器的用途。", - "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.config.encryptionWarningMessage": "在此公测版中无法加密数据源凭据。将在 Elasticsearch 中以未加密方式存储您的数据源凭据。", + "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.config.encryptionWarningMessage": "在此版本中无法加密数据源凭据。将在 Elasticsearch 中以未加密方式存储您的数据源凭据。", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.config.securityDocumentationLinkLabel": "详细了解 Elasticsearch 安全", + "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.convertConnector.buttonTitle": "转换连接器", + "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.convertConnector.linkTitle": "连接器客户端", + "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.convertConnector.title": "定制您的连接器", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.schedulingReminder.description": "请记得在“计划”选项卡中设置同步计划,以继续刷新您的可搜索数据。", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.schedulingReminder.title": "可配置同步计划", "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.securityReminder.description": "在查询时将用户拥有的读取访问权限限定为索引文档并进行个性化。", @@ -13043,7 +13493,7 @@ "xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnectorAdvancedConfiguration.schedulingButtonLabel": "设置计划并同步", "xpack.enterpriseSearch.content.indices.configurationConnector.researchConfiguration.connectorDocumentationLinkLabel": "文档", "xpack.enterpriseSearch.content.indices.configurationConnector.researchConfiguration.description": "此连接器支持几种身份验证方法。请联系管理员获取正确的连接凭据。", - "xpack.enterpriseSearch.content.indices.configurationConnector.scheduleSync.description": "根据您的喜好配置连接器后,请记得设置定期同步计划,以确保文档已编制索引并具有相关性。您还可以触发一次性同步,而无需启用同步计划。", + "xpack.enterpriseSearch.content.indices.configurationConnector.scheduleSync.description": "配置后,请设置定期同步计划以使您的文档在一段时间内保持同步。您还可以直接触发一次性同步。", "xpack.enterpriseSearch.content.indices.configurationConnector.scheduling.successToast.title": "计划已成功更新", "xpack.enterpriseSearch.content.indices.configurationConnector.steps.deployConnector.title": "部署连接器", "xpack.enterpriseSearch.content.indices.configurationConnector.steps.enhance.title": "增强连接器客户端", @@ -13061,13 +13511,24 @@ "xpack.enterpriseSearch.content.indices.configurationConnector.warning.description": "如果您在完成连接器客户端之前至少同步一个文档,您必须重新创建搜索索引。", "xpack.enterpriseSearch.content.indices.connector.syncRules.advancedRules.error": "JSON 格式无效", "xpack.enterpriseSearch.content.indices.connector.syncRules.advancedRules.title": "高级规则", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.accessControlSync.description": "计划访问控制同步以使权限映射保持最新。", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.accessControlSync.title": "访问控制同步", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.fullSync.description": "同步您数据源中的所有数据。", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.fullSync.title": "完整内容同步", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.incrementalSync.description": "仅从数据源中提取已更新内容的轻量级同步作业。", + "xpack.enterpriseSearch.content.indices.connectorScheduling.accordion.incrementalSync.title": "增量内容同步", "xpack.enterpriseSearch.content.indices.connectorScheduling.error.title": "复查您的连接器配置以获取报告的错误。", "xpack.enterpriseSearch.content.indices.connectorScheduling.notConnected.button.label": "配置", "xpack.enterpriseSearch.content.indices.connectorScheduling.notConnected.description": "配置并部署连接器,然后返回此处设置同步计划。此计划将指示连接器与您的数据源进行同步以获取已更新文档的时间间隔。", "xpack.enterpriseSearch.content.indices.connectorScheduling.notConnected.title": "配置您的连接器以计划同步", + "xpack.enterpriseSearch.content.indices.connectorScheduling.page.sync.label": "同步", "xpack.enterpriseSearch.content.indices.connectorScheduling.resetButton.label": "重置", "xpack.enterpriseSearch.content.indices.connectorScheduling.saveButton.label": "保存", - "xpack.enterpriseSearch.content.indices.connectorScheduling.switch.label": "通过以下计划启用定期同步", + "xpack.enterpriseSearch.content.indices.connectorScheduling.schedulePanel.contentSync.description": "提取内容以创建或更新您的 Elasticsearch 文档。", + "xpack.enterpriseSearch.content.indices.connectorScheduling.schedulePanel.contentSync.title": "内容同步", + "xpack.enterpriseSearch.content.indices.connectorScheduling.schedulePanel.documentLevelSecurity.description": "基于用户的权限和角色,控制他们可以访问的文档。计划同步以使这些访问控制保持最新。", + "xpack.enterpriseSearch.content.indices.connectorScheduling.schedulePanel.documentLevelSecurity.title": "文档级别安全性", + "xpack.enterpriseSearch.content.indices.connectorScheduling.switch.label": "已启用", "xpack.enterpriseSearch.content.indices.connectorScheduling.unsaved.title": "您尚未保存更改,是否确定要离开?", "xpack.enterpriseSearch.content.indices.defaultPipelines.successToast.title": "已成功更新默认管道", "xpack.enterpriseSearch.content.indices.extractionRules.addContentField.title": "添加内容字段规则", @@ -13079,7 +13540,7 @@ "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.extractAs.stringLabel": "字符串", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.extractedLabel": "提取的值", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.fixedLabel": "固定值", - "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.htmlLabel": "CSS 选择器", + "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.htmlLabel": "CSS 选择器或 XPath 表达式", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.label": "使用以下来源的内容", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.requiredError": "需要为此内容字段提供值", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.content.title": "内容", @@ -13102,7 +13563,7 @@ "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.source.urlLabel": "URL", "xpack.enterpriseSearch.content.indices.extractionRules.editContentField.title": "编辑内容字段规则", "xpack.enterpriseSearch.content.indices.extractionRules.editRule.cancelButtonLabel": "取消", - "xpack.enterpriseSearch.content.indices.extractionRules.editRule.contentField.cssSelectorsLink": "详细了解 CSS 选择器", + "xpack.enterpriseSearch.content.indices.extractionRules.editRule.contentField.cssSelectorsLink": "详细了解 CSS 选择器和 XPath 表达式", "xpack.enterpriseSearch.content.indices.extractionRules.editRule.contentField.differentContentLink": "详细了解如何存储不同类型内容", "xpack.enterpriseSearch.content.indices.extractionRules.editRule.contentField.urlPatternsLinks": "详细了解 URL 模式", "xpack.enterpriseSearch.content.indices.extractionRules.editRule.descriptionError": "需要为内容提取规则提供描述", @@ -13149,6 +13610,7 @@ "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.modelLabel": "选择已训练 ML 模型", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.nameLabel": "名称", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.namePlaceholder": "为此管道输入唯一名称", + "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.pipelineNameExistsError": "名称已由其他管道使用。", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.title": "创建或选择管道", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.titleSelectTrainedModel": "选择已训练 ML 模型", "xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.fields.actions": "操作", @@ -13202,7 +13664,7 @@ "xpack.enterpriseSearch.content.indices.pipelines.missingPipeline.title": "缺少定制管道", "xpack.enterpriseSearch.content.indices.pipelines.mlInference.addButton.defaultIngestPipeline.disabledTooltip": "无法将 Machine Learning 推理管道处理器添加到默认采集管道。您必须先复制和定制默认采集管道,然后才能添加 Machine Learning 推理管道处理器。", "xpack.enterpriseSearch.content.indices.pipelines.mlInference.addButton.mlInferenceDisabled.disabledTooltip": "您必须在采集管道上启用 ML 推理管道才能添加 ML 推理管道处理器。", - "xpack.enterpriseSearch.content.indices.pipelines.mlInference.addButton.mlPermissions.disabledTooltip": "您无权在此集群上进行 Machine Learning。", + "xpack.enterpriseSearch.content.indices.pipelines.mlInference.addButton.mlPermissions.disabledTooltip": "您无权在此集群上使用 Machine Learning。", "xpack.enterpriseSearch.content.indices.pipelines.mlInference.addButtonLabel": "添加推理管道", "xpack.enterpriseSearch.content.indices.pipelines.mlInferencePipelines.docLink": "详细了解如何在 Elastic 中部署 Machine Learning 模型", "xpack.enterpriseSearch.content.indices.pipelines.mlInferencePipelines.subtitle": "推理管道将作为处理器从 Enterprise Search 采集管道中运行", @@ -13237,8 +13699,21 @@ "xpack.enterpriseSearch.content.indices.pipelines.tabs.pipelineInferenceLogs.tableColumn.message": "错误消息", "xpack.enterpriseSearch.content.indices.pipelines.tabs.pipelineInferenceLogs.tableColumn.timestamp": "时间戳", "xpack.enterpriseSearch.content.indices.pipelines.tabs.pipelineInferenceLogs.title": "推理错误", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCallOut.deployButton.label": "部署", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCallOut.fineTuneModelButton": "微调性能", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCallOut.startModelButton.label": "以单线程方式启动", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCallOut.viewModelsButton": "查看详情", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCreateError.mlNotificationsLink": "Machine Learning 通知", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionCreateError.title": "ELSER 部署出错", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionFetchError.title": "提取 ELSER 模型时出错", + "xpack.enterpriseSearch.content.indices.pipelines.textExpansionStartError.title": "启动 ELSER 部署时出错", + "xpack.enterpriseSearch.content.indices.searchIndex.convertConnector.buttonLabel": "转换连接器", + "xpack.enterpriseSearch.content.indices.selectConnector.callout.description.connectorsClient": "连接器客户端", + "xpack.enterpriseSearch.content.indices.selectConnector.callout.description.native": "本机连接器", + "xpack.enterpriseSearch.content.indices.selectConnector.callout.title": "Elastic 连接器", "xpack.enterpriseSearch.content.indices.selectConnector.connectorCheckable.documentationLinkLabel": "文档", - "xpack.enterpriseSearch.content.indices.selectConnector.description": "搜索连接器会同步来自第三方源的数据。", + "xpack.enterpriseSearch.content.indices.selectConnector.connectorCheckable.techPreviewLabel": "技术预览", + "xpack.enterpriseSearch.content.indices.selectConnector.description": "选择要将哪些第三方源同步到 Elastic。", "xpack.enterpriseSearch.content.indices.selectConnector.title": "选择连接器", "xpack.enterpriseSearch.content.indices.transforms.addInferencePipelineModal.footer.attach": "附加", "xpack.enterpriseSearch.content.indices.transforms.addInferencePipelineModal.footer.create": "创建管道", @@ -13269,21 +13744,25 @@ "xpack.enterpriseSearch.content.ml_inference.text_expansion": "ELSER 文本扩展", "xpack.enterpriseSearch.content.ml_inference.zero_shot_classification": "Zero-Shot 文本分类", "xpack.enterpriseSearch.content.nativeConnectors.azureBlob.name": "Azure Blob 存储", + "xpack.enterpriseSearch.content.nativeConnectors.confluence.name": "Confluence Cloud 和 Confluence Server", "xpack.enterpriseSearch.content.nativeConnectors.customConnector.name": "定制连接器", "xpack.enterpriseSearch.content.nativeConnectors.googleCloud.name": "Google Cloud Storage", + "xpack.enterpriseSearch.content.nativeConnectors.jira.name": "Jira Cloud 和 Jira Server", "xpack.enterpriseSearch.content.nativeConnectors.microsoftSQL.name": "Microsoft SQL", "xpack.enterpriseSearch.content.nativeConnectors.mongodb.name": "MongoDB", "xpack.enterpriseSearch.content.nativeConnectors.mysql.name": "MySQL", "xpack.enterpriseSearch.content.nativeConnectors.networkDrive.name": "网络驱动器", "xpack.enterpriseSearch.content.nativeConnectors.oracle.name": "Oracle", - "xpack.enterpriseSearch.content.nativeConnectors.postgresql.name": "Postgresql", + "xpack.enterpriseSearch.content.nativeConnectors.postgresql.name": "PostgreSQL", "xpack.enterpriseSearch.content.nativeConnectors.s3.name": "S3", + "xpack.enterpriseSearch.content.nativeConnectors.sharepoint_online.name": "Sharepoint", "xpack.enterpriseSearch.content.navTitle": "内容", - "xpack.enterpriseSearch.content.new_index.apiDescription": "搜索索引将存储您的数据。", + "xpack.enterpriseSearch.content.new_index.apiDescription": "使用 API 以编程方式将文档添加到 Elasticsearch 索引。首先创建索引。", "xpack.enterpriseSearch.content.new_index.apiTitle": "新搜索索引", + "xpack.enterpriseSearch.content.new_index.connectorDescriptionWithServiceType": "使用连接器同步、提取、转换和索引您数据源中的数据。连接器为直接写入到 Elasticsearch 索引中的 Elastic 集成。", "xpack.enterpriseSearch.content.new_index.connectorTitle": "新连接器搜索索引", - "xpack.enterpriseSearch.content.new_index.crawlerDescription": "搜索索引存储您的网络爬虫的数据。", - "xpack.enterpriseSearch.content.new_index.crawlerTitle": "新网络爬虫搜索索引", + "xpack.enterpriseSearch.content.new_index.crawlerDescription": "使用网络爬虫以编程方式发现、提取和索引网站和知识库中的可搜索内容。", + "xpack.enterpriseSearch.content.new_index.crawlerTitle": "网络爬虫搜索索引", "xpack.enterpriseSearch.content.new_index.defaultDescription": "搜索索引将存储您的数据。", "xpack.enterpriseSearch.content.new_index.genericTitle": "新搜索索引", "xpack.enterpriseSearch.content.new_index.successToast.title": "已成功创建索引", @@ -13295,13 +13774,16 @@ "xpack.enterpriseSearch.content.newIndex.methodCard.api.description": "通过连接 API 以编程方式添加文档", "xpack.enterpriseSearch.content.newIndex.methodCard.api.label": "使用 API", "xpack.enterpriseSearch.content.newIndex.methodCard.api.title": "API", - "xpack.enterpriseSearch.content.newIndex.methodCard.connector.description": "使用连接器框架为定制数据源快速构建连接器", + "xpack.enterpriseSearch.content.newIndex.methodCard.connector.description": "通过本机或定制连接器提取、转换、索引和同步数据源中的数据", "xpack.enterpriseSearch.content.newIndex.methodCard.connector.label": "使用连接器", "xpack.enterpriseSearch.content.newIndex.methodCard.connector.title": "连接器", - "xpack.enterpriseSearch.content.newIndex.methodCard.crawler.description": "发现、提取、索引和同步所有网站内容", + "xpack.enterpriseSearch.content.newIndex.methodCard.crawler.description": "发现、提取和索引网站和知识库中的可搜索内容", "xpack.enterpriseSearch.content.newIndex.methodCard.crawler.label": "使用网络爬虫", + "xpack.enterpriseSearch.content.newIndex.methodCard.crawler.nocodeLabel": "无代码", "xpack.enterpriseSearch.content.newIndex.methodCard.crawler.title": "网络爬虫", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.createIndex.buttonText": "创建索引", + "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.formDescription.linkText": "语言分析器", + "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.formTitle": "创建 Elasticsearch 索引", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.languageInputHelpText": "可以在稍后更改语言,但可能需要重新索引", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.languageInputLabel": "语言分析器", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.learnMoreApis.linkText": "详细了解采集 API", @@ -13311,8 +13793,13 @@ "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.nameInputHelpText.lineTwo": "名称应为小写,并且不能包含空格或特殊字符。", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.nameInputLabel": "索引名称", "xpack.enterpriseSearch.content.newIndex.newSearchIndexTemplate.nameInputPlaceholder": "设置索引的名称", - "xpack.enterpriseSearch.content.newIndex.pageDescription": "通过选择采集方法来创建搜索优化的 Elasticsearch 索引", + "xpack.enterpriseSearch.content.newIndex.pageDescription": "创建搜索优化的 Elasticsearch 索引来存储内容。首先选择采集方法。", "xpack.enterpriseSearch.content.newIndex.pageTitle": "选择采集方法", + "xpack.enterpriseSearch.content.newIndex.selectConnector.manageLicenseButtonLabel": "管理许可证", + "xpack.enterpriseSearch.content.newIndex.selectConnector.openPopoverLabel": "打开授权许可弹出框", + "xpack.enterpriseSearch.content.newIndex.selectConnector.subscriptionButtonLabel": "订阅计划", + "xpack.enterpriseSearch.content.newIndex.selectConnector.upgradeContent": "要使用此连接器,必须将您的许可证更新到白金级,或开始 30 天免费试用。", + "xpack.enterpriseSearch.content.newIndex.selectConnector.upgradeTitle": "升级到 Elastic 白金级", "xpack.enterpriseSearch.content.newIndex.steps.buildConnector.confirmModal.cancelButton.label": "取消", "xpack.enterpriseSearch.content.newIndex.steps.buildConnector.confirmModal.confirmButton.label": "替换配置", "xpack.enterpriseSearch.content.newIndex.steps.buildConnector.confirmModal.title": "替换现有连接器", @@ -13337,6 +13824,8 @@ "xpack.enterpriseSearch.content.overview.documentExample.clientLibraries.python": "Python", "xpack.enterpriseSearch.content.overview.documentExample.clientLibraries.ruby": "Ruby", "xpack.enterpriseSearch.content.overview.documentExample.clientLibraries.rust": "Rust", + "xpack.enterpriseSearch.content.overview.documentExample.description.clientsLink": "编程语言客户端", + "xpack.enterpriseSearch.content.overview.documentExample.description.documentationLink": "文档", "xpack.enterpriseSearch.content.overview.documentExample.generateApiKeyButton.label": "管理 API 密钥", "xpack.enterpriseSearch.content.overview.documentExample.title": "正在添加文档到您的索引", "xpack.enterpriseSearch.content.overview.emptyPrompt.body": "不建议将文档添加到外部管理的索引。", @@ -13349,18 +13838,6 @@ "xpack.enterpriseSearch.content.overview.generateApiKeyModal.learnMore": "进一步了解 API 密钥", "xpack.enterpriseSearch.content.overview.generateApiKeyModal.title": "生成 API 密钥", "xpack.enterpriseSearch.content.overview.optimizedRequest.label": "查看 Enterprise Search 优化的请求", - "xpack.enterpriseSearch.searchApplications.searchApplication.connect.pageTitle": "连接", - "xpack.enterpriseSearch.searchApplications.searchApplication.content.indicesTabTitle": "索引", - "xpack.enterpriseSearch.searchApplications.searchApplication.content.pageTitle": "内容", - "xpack.enterpriseSearch.searchApplications.searchApplication.content.schemaTabTitle": "架构", - "xpack.enterpriseSearch.searchApplications.list.createSearchApplicationButton.label": "创建", - "xpack.enterpriseSearch.searchApplications.list.createSearchApplicationTechnicalPreviewPopover.body": "此功能处于技术预览状态,在未来版本中可能会更改或完全移除。Elastic 将尽最大努力来修复任何问题,但处于技术预览状态的功能不受正式 GA 功能支持 SLA 的约束。", - "xpack.enterpriseSearch.searchApplications.list.createSearchApplicationTechnicalPreviewPopover.title": "技术预览", - "xpack.enterpriseSearch.searchApplications.list.documentation": "浏览我们的搜索应用程序文档", - "xpack.enterpriseSearch.searchApplications.list.searchBar.ariaLabel": "搜索应用程序", - "xpack.enterpriseSearch.searchApplications.list.searchBar.placeholder": "搜索应用程序", - "xpack.enterpriseSearch.searchApplications.list.searchBar.description": "通过名称或根据其包含的索引查找搜索应用程序。", - "xpack.enterpriseSearch.searchApplications.list.title": "搜索应用程序", "xpack.enterpriseSearch.content.searchIndex.cancelSyncs.successMessage": "已成功取消同步", "xpack.enterpriseSearch.content.searchIndex.configurationTabLabel": "配置", "xpack.enterpriseSearch.content.searchIndex.connectorErrorCallOut.title": "您的连接器报告了错误", @@ -13369,14 +13846,22 @@ "xpack.enterpriseSearch.content.searchIndex.documents.documentList.paginationAriaLabel": "文档列表分页", "xpack.enterpriseSearch.content.searchIndex.documents.noMappings": "找不到索引的文档", "xpack.enterpriseSearch.content.searchIndex.documents.searchField.placeholder": "在此索引中搜索文档", + "xpack.enterpriseSearch.content.searchIndex.documents.selector.accessControl.description": "浏览文档级别安全性字段", + "xpack.enterpriseSearch.content.searchIndex.documents.selector.accessControl.title": "访问控制索引", + "xpack.enterpriseSearch.content.searchIndex.documents.selector.contentIndex.description": "浏览内容字段", + "xpack.enterpriseSearch.content.searchIndex.documents.selector.contentIndex.title": "内容索引", "xpack.enterpriseSearch.content.searchIndex.documents.title": "浏览文档", "xpack.enterpriseSearch.content.searchIndex.documentsTabLabel": "文档", "xpack.enterpriseSearch.content.searchIndex.domainManagementTabLabel": "管理域", + "xpack.enterpriseSearch.content.searchIndex.index.accessControlSyncSuccess.message": "已成功计划访问控制同步,等待连接器提取", + "xpack.enterpriseSearch.content.searchIndex.index.incSyncSuccess.message": "已成功计划增量同步,等待连接器提取", "xpack.enterpriseSearch.content.searchIndex.index.recheckSuccess.message": "已重新检查您的连接器。", "xpack.enterpriseSearch.content.searchIndex.index.syncSuccess.message": "已成功计划同步,等待连接器提取", "xpack.enterpriseSearch.content.searchIndex.indexMappingsTabLabel": "索引映射", "xpack.enterpriseSearch.content.searchIndex.mappings.docLink": "了解详情", "xpack.enterpriseSearch.content.searchIndex.mappings.title": "关于索引映射", + "xpack.enterpriseSearch.content.searchIndex.nativeCloudCallout.connectorClient": "连接器客户端", + "xpack.enterpriseSearch.content.searchIndex.nativeCloudCallout.title": "在 Elastic Cloud 以外不再支持本机连接器", "xpack.enterpriseSearch.content.searchIndex.nav.documentsTitle": "文档", "xpack.enterpriseSearch.content.searchIndex.nav.indexMappingsTitle": "索引映射", "xpack.enterpriseSearch.content.searchIndex.nav.overviewTitle": "概览", @@ -13412,6 +13897,7 @@ "xpack.enterpriseSearch.content.searchIndices.deleteModal.syncsWarning.title": "进行中的同步", "xpack.enterpriseSearch.content.searchIndices.docsCount.columnTitle": "文档计数", "xpack.enterpriseSearch.content.searchIndices.health.columnTitle": "索引运行状况", + "xpack.enterpriseSearch.content.searchIndices.identitySync.columnTitle": "身份已同步", "xpack.enterpriseSearch.content.searchIndices.ingestionMethod.api": "API", "xpack.enterpriseSearch.content.searchIndices.ingestionMethod.columnTitle": "采集方法", "xpack.enterpriseSearch.content.searchIndices.ingestionMethod.connector": "连接器", @@ -13442,6 +13928,7 @@ "xpack.enterpriseSearch.content.searchIndices.searchIndices.searchBar.placeHolder": "筛选 Elasticsearch 索引", "xpack.enterpriseSearch.content.searchIndices.searchIndices.stepsTitle": "通过 Enterprise Search 构建出色的搜索体验", "xpack.enterpriseSearch.content.searchIndices.searchIndices.tableTitle": "可用索引", + "xpack.enterpriseSearch.content.searchIndices.syncJobType.columnTitle": "内容同步类型", "xpack.enterpriseSearch.content.searchIndices.syncStatus.columnTitle": "状态", "xpack.enterpriseSearch.content.settings.breadcrumb": "设置", "xpack.enterpriseSearch.content.settings.contactExtraction.label": "内容提取", @@ -13487,7 +13974,13 @@ "xpack.enterpriseSearch.content.syncJobs.flyout.syncStartedScheduled": "已按计划启动同步", "xpack.enterpriseSearch.content.syncJobs.flyout.title": "事件日志", "xpack.enterpriseSearch.content.syncJobs.lastSync.columnTitle": "上次同步", + "xpack.enterpriseSearch.content.syncJobs.lastSync.tableSelector.accessControl.label": "访问控制同步", + "xpack.enterpriseSearch.content.syncJobs.lastSync.tableSelector.content.label": "内容同步", + "xpack.enterpriseSearch.content.syncJobs.lastSync.tableSelector.legend": "选择要显示的同步作业类型。", + "xpack.enterpriseSearch.content.syncJobs.lastSync.tableSelector.name": "同步作业类型", "xpack.enterpriseSearch.content.syncJobs.syncDuration.columnTitle": "同步持续时间", + "xpack.enterpriseSearch.content.syncJobType.full": "完整内容", + "xpack.enterpriseSearch.content.syncJobType.incremental": "增量同步", "xpack.enterpriseSearch.content.syncStatus.canceled": "正在取消同步", "xpack.enterpriseSearch.content.syncStatus.canceling": "同步已取消", "xpack.enterpriseSearch.content.syncStatus.completed": "同步已完成", @@ -13629,6 +14122,7 @@ "xpack.enterpriseSearch.crawler.domainDetail.deleteDomainButtonLabel": "删除域", "xpack.enterpriseSearch.crawler.domainManagement.emptyState": "此索引上没有任何域。添加第一个域以开始爬网并索引文档。", "xpack.enterpriseSearch.crawler.domainManagement.emptyState.addDomainButtonLabel": "添加第一个域", + "xpack.enterpriseSearch.crawler.domainManagement.emptyState.description": "配置您要爬网的域,并在准备就绪后触发第一次爬网。", "xpack.enterpriseSearch.crawler.domainManagement.emptyState.title": "添加域到您的索引", "xpack.enterpriseSearch.crawler.domainsTable.action.add.successMessage": "已成功添加域“{domainUrl}”", "xpack.enterpriseSearch.crawler.domainsTable.action.delete.buttonLabel": "删除此域", @@ -13751,6 +14245,75 @@ "xpack.enterpriseSearch.errorConnectingState.troubleshootAuth": "检查您的用户身份验证:", "xpack.enterpriseSearch.errorConnectingState.troubleshootAuthNative": "必须使用 Elasticsearch 本机身份验证、SSO/SAML 或 OpenID Connect 执行身份验证。", "xpack.enterpriseSearch.errorConnectingState.troubleshootAuthSAML": "如果使用外部 SSO 提供程序,如 SAML 或 OpenID Connect,还必须在 Enterprise Search 上设置 SAML/OIDC Realm。", + "xpack.enterpriseSearch.esre.description": "工具套件,供开发者使用 Elastic 平台构建 AI 搜索驱动型应用程序。", + "xpack.enterpriseSearch.esre.elser.description.elserLinkText": "Elastic Learned Sparse Encoder", + "xpack.enterpriseSearch.esre.elserAccordion.description": "即时语义搜索功能", + "xpack.enterpriseSearch.esre.elserAccordion.title": "Elastic Learned Sparse Encoder", + "xpack.enterpriseSearch.esre.elserPanel.step1.buttonLabel": "创建索引", + "xpack.enterpriseSearch.esre.elserPanel.step1.title": "创建索引", + "xpack.enterpriseSearch.esre.elserPanel.step2.description.pipelinesName": "管道", + "xpack.enterpriseSearch.esre.elserPanel.step2.title": "导航到索引的“管道”选项卡", + "xpack.enterpriseSearch.esre.elserPanel.step3.description": "查找允许您一键部署 ELSER 并使用该模型创建推理管道的面板。", + "xpack.enterpriseSearch.esre.elserPanel.step3.title": "按照屏幕上显示的说明部署 ELSER", + "xpack.enterpriseSearch.esre.esreDocsSection.description.esreLinkText": "ESRE 文档", + "xpack.enterpriseSearch.esre.esreDocsSection.faq.title": "常见问题解答", + "xpack.enterpriseSearch.esre.esreDocsSection.help.title": "帮助", + "xpack.enterpriseSearch.esre.esreDocsSection.learn.discussForumLinkText": "ESRE 讨论论坛", + "xpack.enterpriseSearch.esre.esreDocsSection.learn.frequentlyAskedQuestionsLinkText": "常见问题解答", + "xpack.enterpriseSearch.esre.esreDocsSection.learn.learningTopicsLinkText": "学习主题", + "xpack.enterpriseSearch.esre.esreDocsSection.learn.title": "学习", + "xpack.enterpriseSearch.esre.esreDocsSection.title": "更深入地了解 ESRE 文档", + "xpack.enterpriseSearch.esre.guide.description": "借助 Elasticsearch Relevance Engine™ (ESRE),开发者可以使用 Elastic 平台构建 AI 搜索驱动型应用程序。ESRE 提供了一组工具和功能,其中包括我们专有的已训练 ML 模型 ELSER、我们的矢量搜索和嵌入功能,以及用于组合矢量和文本搜索的 RRF 排名。", + "xpack.enterpriseSearch.esre.guide.pageTitle": "利用 ESRE 增强您的搜索功能", + "xpack.enterpriseSearch.esre.linearCombinationAccordion.description": "来自多个排名的加权结果", + "xpack.enterpriseSearch.esre.linearCombinationAccordion.title": "线性组合", + "xpack.enterpriseSearch.esre.linearCombinationPanel.description": "用于计算相似度分数或数据点之间的距离。使用权重组合属性或功能,这将启用定制相关性因子。", + "xpack.enterpriseSearch.esre.linearCombinationPanel.step1.knnSearchCombineLinkText": "组合近似 kNN 与其他功能", + "xpack.enterpriseSearch.esre.linearCombinationPanel.step1.title": "了解如何在 _search 查询中使用线性组合", + "xpack.enterpriseSearch.esre.linearCombinationPanel.step2.buttonLabel": "打开 Console", + "xpack.enterpriseSearch.esre.linearCombinationPanel.step2.title": "立即在 Console 中试用", + "xpack.enterpriseSearch.esre.measurePerformanceSection.behavioralAnalyticsLinkText": "行为分析", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step1.behavioralAnalyticsLinkText": "行为分析", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step1.title": "创建集合", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step2.description": "创建集合后,请按照有关如何将跟踪器集成到应用程序或网站的指示操作。", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step2.title": "集成分析跟踪器", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step3.description": "我们的仪表板和工具将帮助您对最终用户行为进行可视化并评估搜索应用程序的性能。", + "xpack.enterpriseSearch.esre.measurePerformanceSection.step3.title": "查看仪表板", + "xpack.enterpriseSearch.esre.measurePerformanceSection.title": "评估性能", + "xpack.enterpriseSearch.esre.navTitle": "ESRE", + "xpack.enterpriseSearch.esre.nlpEnrichmentAccordion.description": "利用已训练 ML 模型进行富有洞察力的数据扩充", + "xpack.enterpriseSearch.esre.nlpEnrichmentAccordion.title": "NLP 扩充", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.description.supportedMlModelsLinkText": "受支持的 ML 模型", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step1.buttonLabel": "查看已训练模型", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step1.guideToTrainedModelsLinkText": "已训练模型指南", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step1.supportedNlpModelsLinkText": "受支持的 NLP 模型", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step1.title": "了解如何上传 ML 模型", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step2.buttonLabel": "创建索引", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step2.title": "创建索引", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step3.description.pipelinesName": "管道", + "xpack.enterpriseSearch.esre.nlpEnrichmentPanel.step3.title": "创建 ML 推理管道", + "xpack.enterpriseSearch.esre.productName": "ESRE", + "xpack.enterpriseSearch.esre.rankAggregationSection.description": "可选方法,用于融合或组合不同排名,以实现更高的总体排名性能。", + "xpack.enterpriseSearch.esre.rankAggregationSection.title": "使用排名聚合方法", + "xpack.enterpriseSearch.esre.rrfRankingAccordion.description": "智能组合排名,而无需配置", + "xpack.enterpriseSearch.esre.rrfRankingAccordion.title": "RRF 混合排名", + "xpack.enterpriseSearch.esre.rrfRankingPanel.rrfLinkText": "倒数排名融合 (RRF)", + "xpack.enterpriseSearch.esre.rrfRankingPanel.step1.rrfDocsLinkText": "倒数排名融合文档", + "xpack.enterpriseSearch.esre.rrfRankingPanel.step1.title": "发现在 _search 查询中使用 RRF 的示例", + "xpack.enterpriseSearch.esre.rrfRankingPanel.step2.buttonLabel": "打开 Console", + "xpack.enterpriseSearch.esre.rrfRankingPanel.step2.title": "立即在 Console 中试用", + "xpack.enterpriseSearch.esre.semanticSearch.description": "ESRE 组合了您选择的这些信息检索工具。", + "xpack.enterpriseSearch.esre.semanticSearch.title": "设置语义搜索", + "xpack.enterpriseSearch.esre.vectorSearchAccordion.description": "用于非结构化数据的强大相似度搜索", + "xpack.enterpriseSearch.esre.vectorSearchAccordion.title": "矢量搜索", + "xpack.enterpriseSearch.esre.vectorSearchPanel.description.vectorDbCapabilitiesLinkText": "Elasticsearch 的矢量 DB 功能", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step1.buttonLabel": "查看已训练模型", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step1.guideToTrainedModelsLinkText": "已训练模型指南", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step1.title": "了解如何上传 ML 模型", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step2.buttonLabel": "创建索引", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step2.title": "创建索引", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step3.description.pipelinesName": "管道", + "xpack.enterpriseSearch.esre.vectorSearchPanel.step3.title": "创建 ML 推理管道", "xpack.enterpriseSearch.guideConfig.addDataStep.description": "采集您的数据,创建索引,并使用可定制采集和推理管道扩充您的数据。", "xpack.enterpriseSearch.guideConfig.addDataStep.title": "添加数据", "xpack.enterpriseSearch.guideConfig.description": "我们将帮助您使用 Elastic 的网络爬虫、连接器和 API,利用您的数据构建搜索体验。", @@ -13782,6 +14345,9 @@ "xpack.enterpriseSearch.index.connector.syncRules.validatingDescription": "需要先验证规则草案,然后才能将其激活。这可能需要若干分钟。", "xpack.enterpriseSearch.index.connector.syncRules.validatingTitle": "正在验证同步规则草案", "xpack.enterpriseSearch.index.header.cancelSyncsTitle": "取消同步", + "xpack.enterpriseSearch.index.header.more.accessControlSync": "访问控制", + "xpack.enterpriseSearch.index.header.more.fullSync": "完整内容", + "xpack.enterpriseSearch.index.header.more.incrementalSync": "增量内容", "xpack.enterpriseSearch.inferencePipelineCard.action.delete": "删除管道", "xpack.enterpriseSearch.inferencePipelineCard.action.detach": "分离管道", "xpack.enterpriseSearch.inferencePipelineCard.action.title": "操作", @@ -13789,9 +14355,9 @@ "xpack.enterpriseSearch.inferencePipelineCard.actionButton": "操作", "xpack.enterpriseSearch.inferencePipelineCard.deleteConfirm.title": "删除管道", "xpack.enterpriseSearch.inferencePipelineCard.modelState.deploymentFailed": "部署失败", - "xpack.enterpriseSearch.inferencePipelineCard.modelState.notDeployed": "未部署", + "xpack.enterpriseSearch.inferencePipelineCard.modelState.notDeployed": "未开始", "xpack.enterpriseSearch.inferencePipelineCard.modelState.notDeployed.fixLink": "解决已训练模型中的问题", - "xpack.enterpriseSearch.inferencePipelineCard.modelState.notDeployed.tooltip": "当前未部署此已训练模型。访问该已训练模型页面以做出更改", + "xpack.enterpriseSearch.inferencePipelineCard.modelState.notDeployed.tooltip": "当前未启动此已训练模型。访问该已训练模型页面以做出更改", "xpack.enterpriseSearch.inferencePipelineCard.modelState.started": "已启动", "xpack.enterpriseSearch.inferencePipelineCard.modelState.started.tooltip": "此已训练模型正在运行并且完全可用", "xpack.enterpriseSearch.inferencePipelineCard.modelState.starting": "正在启动", @@ -13803,6 +14369,9 @@ "xpack.enterpriseSearch.integrations.apiName": "API", "xpack.enterpriseSearch.integrations.buildAConnectorDescription": "使用 Enterprise Search 搜索存储在定制数据源上的数据。", "xpack.enterpriseSearch.integrations.buildAConnectorName": "构建连接器", + "xpack.enterpriseSearch.integrations.connectors.confluenceDescription": "使用 Enterprise Search 在 Confluence Cloud 和 Confluence Server 上搜索您的内容。", + "xpack.enterpriseSearch.integrations.connectors.confluenceTitle": "Confluence Cloud 和 Confluence Server", + "xpack.enterpriseSearch.integrations.connectors.jiraDescription": "使用 Enterprise Search 在 Jira Cloud 和 Jira Server 上搜索您的内容。", "xpack.enterpriseSearch.integrations.webCrawlerDescription": "通过 Enterprise Search 网络爬虫将搜索功能添加到您的网站。", "xpack.enterpriseSearch.integrations.webCrawlerName": "网络爬虫", "xpack.enterpriseSearch.learnMore.link": "了解详情", @@ -13814,6 +14383,15 @@ "xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.directConnectionLabel": "直接连接", "xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.hostLabel": "服务器主机名", "xpack.enterpriseSearch.nativeConnectors.mongodb.name": "MongoDB", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.hostLabel": "主机", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.passwordLabel": "密码", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.retriesLabel": "根据请求重试", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.rowsFetchedLabel": "根据请求提取的行", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.schemaLabel": "架构", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.tablesLabel": "表的逗号分隔列表", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.usernameLabel": "用户名", + "xpack.enterpriseSearch.nativeConnectors.mssql.configuration.validateHostLabel": "验证主机", + "xpack.enterpriseSearch.nativeConnectors.mssql.name": "Microsoft SQL", "xpack.enterpriseSearch.nativeConnectors.mysql.configuration.hostLabel": "主机", "xpack.enterpriseSearch.nativeConnectors.mysql.configuration.passwordLabel": "密码", "xpack.enterpriseSearch.nativeConnectors.mysql.configuration.retriesLabel": "根据请求重试", @@ -13821,6 +14399,21 @@ "xpack.enterpriseSearch.nativeConnectors.mysql.configuration.tablesLabel": "表的逗号分隔列表", "xpack.enterpriseSearch.nativeConnectors.mysql.configuration.usernameLabel": "用户名", "xpack.enterpriseSearch.nativeConnectors.mysql.name": "MySQL", + "xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.hostLabel": "主机", + "xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.retriesLabel": "根据请求重试", + "xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.rowsFetchedLabel": "根据请求提取的行", + "xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.tablesLabel": "表的逗号分隔列表", + "xpack.enterpriseSearch.nativeConnectors.postgresql.name": "PostgreSQL", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.clientIdLabel": "客户端 ID", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.secretValueLabel": "机密值", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.siteCollectionsLabel": "网站的逗号分隔列表", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.siteCollectionsTooltip": "要从中采集数据的网站的逗号分隔列表。使用 * 以包括所有可用网站。", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.tenantIdLabel": "租户 ID", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.tenantNameLabel": "租户名称", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.textExtractionServiceLabel": "使用文本提取服务", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.configuration.textExtractionServiceTooltip": "需要独立部署的 Elastic 数据提取服务。还需要管道设置禁用文本提取。", + "xpack.enterpriseSearch.nativeConnectors.sharepoint_online.name": "Sharepoint", + "xpack.enterpriseSearch.nativeLabel": "原生", "xpack.enterpriseSearch.nav.analyticsCollections.explorerTitle": "浏览器", "xpack.enterpriseSearch.nav.analyticsCollections.integrationTitle": "集成", "xpack.enterpriseSearch.nav.analyticsCollections.overviewTitle": "概览", @@ -13831,9 +14424,8 @@ "xpack.enterpriseSearch.nav.contentSettingsTitle": "设置", "xpack.enterpriseSearch.nav.contentTitle": "内容", "xpack.enterpriseSearch.nav.elasticsearchTitle": "Elasticsearch", - "xpack.enterpriseSearch.nav.searchApplication.contentTitle": "内容", - "xpack.enterpriseSearch.nav.searchApplication.previewTitle": "预览", "xpack.enterpriseSearch.nav.enterpriseSearchOverviewTitle": "概览", + "xpack.enterpriseSearch.nav.esreTitle": "ESRE", "xpack.enterpriseSearch.nav.searchApplicationsTitle": "搜索应用程序", "xpack.enterpriseSearch.nav.searchExperiencesTitle": "搜索体验", "xpack.enterpriseSearch.nav.searchIndicesTitle": "索引", @@ -13901,11 +14493,6 @@ "xpack.enterpriseSearch.overview.iconRow.manyMoreBadge": "以及更多其他内容", "xpack.enterpriseSearch.overview.iconRow.sharePoint.title": "Microsoft SharePoint", "xpack.enterpriseSearch.overview.iconRow.sharePoint.tooltip": "索引来自 Microsoft SharePoint 的内容", - "xpack.enterpriseSearch.overview.insufficientPermissionsBody": "您无权查看此页面。如果您认为这可能是个错误,请联系您的管理员。", - "xpack.enterpriseSearch.overview.insufficientPermissionsButtonLabel": "前往 Kibana 仪表板", - "xpack.enterpriseSearch.overview.insufficientPermissionsFooterBody": "前往 Kibana 仪表板", - "xpack.enterpriseSearch.overview.insufficientPermissionsFooterLinkLabel": "阅读文档", - "xpack.enterpriseSearch.overview.insufficientPermissionsTitle": "权限不足", "xpack.enterpriseSearch.overview.navTitle": "概览", "xpack.enterpriseSearch.overview.pageTitle": "欢迎使用 Enterprise Search", "xpack.enterpriseSearch.overview.productSelector.title": "每个用例的搜索体验", @@ -14000,7 +14587,6 @@ "xpack.enterpriseSearch.schema.errorsTable.link.view": "查看", "xpack.enterpriseSearch.schema.fieldNameLabel": "字段名称", "xpack.enterpriseSearch.schema.fieldTypeLabel": "字段类型", - "xpack.enterpriseSearch.searchApplications.searchApplication.notFound.action1": "返回到搜索应用程序", "xpack.enterpriseSearch.searchExperiences.guide.description": "搜索 UI 是一个 JavaScript 库,您无需浪费时间进行重复工作便可实现卓越的搜索体验。它开箱即可兼容 Elasticsearch、App Search 和 Workplace Search,以便您专注于为用户、客户和员工构建最佳体验。", "xpack.enterpriseSearch.searchExperiences.guide.documentationLink": "访问搜索 UI 文档", "xpack.enterpriseSearch.searchExperiences.guide.features.1": "用途是进行搜索。Elastic 将构建并维护搜索 UI。", @@ -14033,6 +14619,7 @@ "xpack.enterpriseSearch.server.routes.createApiIndex.indexExistsError": "此索引已存在", "xpack.enterpriseSearch.server.routes.createMlInferencePipeline.ParameterConflictError": "如果未提供 source_field、destination_field 和 model_id,应仅提供 pipeline_definition 和 field_mappings", "xpack.enterpriseSearch.server.routes.createMlInferencePipeline.ParameterMissingError": "必须提供 pipeline_definition 和 fieldMappings,或 source_field 和 model_id", + "xpack.enterpriseSearch.server.routes.createSearchApplication.searchApplciationExistsError": "搜索应用程序名称已占用。请选择其他名称。", "xpack.enterpriseSearch.server.routes.indices.mlInference.pipelineProcessors.pipelineIsInUseError": "推理管道已用在不同索引的托管管道“{pipelineName}”中", "xpack.enterpriseSearch.server.routes.recreateConnector.connectorExistsError": "此索引的连接器已存在", "xpack.enterpriseSearch.server.routes.unauthorizedError": "您的权限不足。", @@ -14347,6 +14934,10 @@ "xpack.enterpriseSearch.workplaceSearch.integrations.azureBlobDescription": "使用 Enterprise Search 在 Azure Blob 存储上搜索您的内容。", "xpack.enterpriseSearch.workplaceSearch.integrations.boxDescription": "通过 Workplace Search 搜索存储在 Box 上的文件和文件夹。", "xpack.enterpriseSearch.workplaceSearch.integrations.boxName": "Box", + "xpack.enterpriseSearch.workplaceSearch.integrations.githubDescription": "通过 Workplace Search 搜索 GitHub 上的项目和存储库。", + "xpack.enterpriseSearch.workplaceSearch.integrations.githubEnterpriseServerDescription": "通过 Workplace Search 搜索 GitHub Enterprise Server 上的项目和存储库。", + "xpack.enterpriseSearch.workplaceSearch.integrations.githubEnterpriseServerName": "GitHub Enterprise Server", + "xpack.enterpriseSearch.workplaceSearch.integrations.githubName": "GitHub", "xpack.enterpriseSearch.workplaceSearch.integrations.gmailDescription": "通过 Workplace Search 搜索由 Gmail 管理的电子邮件。", "xpack.enterpriseSearch.workplaceSearch.integrations.gmailName": "Gmail", "xpack.enterpriseSearch.workplaceSearch.integrations.googleCloud": "Google Cloud Storage", @@ -14847,7 +15438,7 @@ "xpack.exploratoryView.expView.heading.addToCase": "添加到案例", "xpack.exploratoryView.expView.heading.addToCase.notification.error": "未能将可视化添加到所选案例。", "xpack.exploratoryView.expView.heading.addToCase.notification.viewCase": "查看案例", - "xpack.exploratoryView.expView.heading.embed": "嵌入 <></>", + "xpack.exploratoryView.expView.heading.embed": "嵌入 <>", "xpack.exploratoryView.expView.heading.embedTitle": "嵌入浏览视图(仅用于开发的功能)", "xpack.exploratoryView.expView.heading.label": "浏览数据", "xpack.exploratoryView.expView.heading.openInLens": "在 Lens 中打开", @@ -14900,6 +15491,7 @@ "xpack.exploratoryView.expView.seriesEditor.selectReportMetric": "选择报告指标", "xpack.exploratoryView.expView.seriesEditor.seriesName": "序列名称", "xpack.exploratoryView.expView.stepDuration": "步骤总持续时间", + "xpack.exploratoryView.expView.successful": "成功计数", "xpack.exploratoryView.expView.synthetics.blocked": "已阻止", "xpack.exploratoryView.expView.synthetics.connect": "连接", "xpack.exploratoryView.expView.synthetics.dns": "DNS", @@ -14992,7 +15584,7 @@ "xpack.fileUpload.indexNameContainsIllegalCharactersErrorMessage": "索引名称包含非法字符。", "xpack.fileUpload.indexNameForm.enterIndexNameLabel": "索引名称", "xpack.fileUpload.indexNameForm.guidelines.cannotBe": "不能为 . 或 ..", - "xpack.fileUpload.indexNameForm.guidelines.cannotInclude": "不能包含 \\\\、/、*、?、\"、<、>、|、 “ ”(空格字符)、,(逗号)、#", + "xpack.fileUpload.indexNameForm.guidelines.cannotInclude": "不能包含 \\\\、/、*、?、\"、<、>、|、 “ ”(空格字符)、,(逗号)、#", "xpack.fileUpload.indexNameForm.guidelines.cannotStartWith": "不能以 -、_、+ 开头", "xpack.fileUpload.indexNameForm.guidelines.length": "不能长于 255 字节(注意是字节, 因此多字节字符将更快达到 255 字节限制)", "xpack.fileUpload.indexNameForm.guidelines.lowercaseOnly": "仅小写", @@ -15061,10 +15653,12 @@ "xpack.fleet.agentPolicyForm.outputOptionDisabledTypeNotSupportedText": "Fleet 服务器或 APM 不支持代理集成的 {outputType} 输出。", "xpack.fleet.agentPolicyForm.outputOptionDisableOutputTypeText": "Fleet 服务器或 APM 不支持代理集成的 {outputType} 输出。", "xpack.fleet.agentPolicyForm.systemMonitoringTooltipText": "这还会添加 {system} 集成以收集系统日志和指标。", + "xpack.fleet.agentPolicyForm.tamperingDescription": "防止在本地卸载代理。启用后,只能在卸载命令中使用授权令牌卸载代理。单击 {linkName} 获取完整命令。", "xpack.fleet.agentPolicyList.noFilteredAgentPoliciesPrompt": "未找到代理策略。{clearFiltersLink}", "xpack.fleet.agentPolicySummaryLine.revisionNumber": "rev. {revNumber}", "xpack.fleet.agentReassignPolicy.flyoutDescription": "选择要将选定{count, plural, other {代理}}分配到的新代理策略。", "xpack.fleet.agentReassignPolicy.policyDescription": "选定代理策略将收集 {count, plural, other {{countValue} 个集成}}的数据:", + "xpack.fleet.agentUninstallCommandFlyout.description": "选择适当的平台,然后运行此命令以卸载 Elastic 代理。重复使用该命令以在多个主机上卸载代理。{learnMoreLink}", "xpack.fleet.apiRequestFlyout.devtoolsRequestDescription": "{learnMore}", "xpack.fleet.ConfirmForceInstallModal.calloutBody": "此集成包含真实性未知的未签名软件包,并可能包含恶意文件。详细了解 {learnMoreLink}。", "xpack.fleet.ConfirmForceInstallModal.calloutTitleWithPkg": "集成 {pkgName}-{pkgVersion} 未通过验证", @@ -15193,7 +15787,7 @@ "xpack.fleet.integrations.settings.confirmUpdateModal.body": "此操作会将更新部署到使用这些策略的所有代理上。Fleet 检测到 {packagePolicyCountText} {packagePolicyCount, plural, other {已}}准备就绪,可以升级,并且{packagePolicyCount, plural, other {已}}由 {agentCountText} 使用。", "xpack.fleet.integrations.settings.confirmUpdateModal.confirm": "升级 {packageName} 和策略", "xpack.fleet.integrations.settings.confirmUpdateModal.conflictCallOut.body": "{conflictCount, plural, other {存在}}冲突,不会自动升级。执行此升级后,您可以通过 Fleet 中的代理策略设置手动解决这些冲突。", - "xpack.fleet.integrations.settings.confirmUpdateModal.conflictCallOut.integrationPolicyCount": "{conflictCount, plural, other {# 个集成策略}}", + "xpack.fleet.integrations.settings.confirmUpdateModal.conflictCallOut.integrationPolicyCount": "{conflictCount, plural, other { # 个集成策略}}", "xpack.fleet.integrations.settings.confirmUpdateModal.updateTitle": "升级 {packageName} 和策略", "xpack.fleet.integrations.settings.packageInstallDescription": "安装此集成以设置专用于 {title} 数据的Kibana 和 Elasticsearch 资产。", "xpack.fleet.integrations.settings.packageInstallTitle": "安装 {title}", @@ -15248,7 +15842,7 @@ "xpack.fleet.settings.updateOutput.agentPolicyCount": "{agentPolicyCount, plural, other {# 个代理策略}}", "xpack.fleet.settings.updateOutput.agentsCount": "{agentCount, plural, other {# 个代理}}", "xpack.fleet.settings.updateOutput.confirmModalText": "此操作将更新 {outputName} 输出。这会更新{policies}和{agents}。此操作无法撤消。是否确定要继续?", - "xpack.fleet.setupPage.elasticsearchApiKeyFlagText": "{apiKeyLink}。将 {apiKeyFlag} 设置为 {true}。", + "xpack.fleet.setupPage.elasticsearchApiKeyFlagText": "{apiKeyLink}.将 {apiKeyFlag} 设置为 {true}。", "xpack.fleet.setupPage.elasticsearchSecurityFlagText": "{esSecurityLink}.将 {securityFlag} 设置为 {true}。", "xpack.fleet.setupPage.gettingStartedText": "有关更多信息,请阅读我们的{link}指南。", "xpack.fleet.setupPage.missingRequirementsElasticsearchTitle": "在您的 Elasticsearch 配置 ({esConfigFile}) 中,启用:", @@ -15343,6 +15937,9 @@ "xpack.fleet.agentDetails.viewDashboardButton.disabledNoIntegrationTooltip": "找不到代理仪表板,您需要安装 elastic_agent 集成。", "xpack.fleet.agentDetails.viewDashboardButton.disabledNoLogsAndMetricsTooltip": "未在代理策略中为代理启用日志和指标。", "xpack.fleet.agentDetails.viewDashboardButtonLabel": "查看更多代理指标", + "xpack.fleet.agentDetailsIntegrations.inputErrorTitle.degraded": "已降级", + "xpack.fleet.agentDetailsIntegrations.inputErrorTitle.failed": "失败", + "xpack.fleet.agentDetailsIntegrations.inputStatusDefaultDescription": "不可用", "xpack.fleet.agentDetailsIntegrations.inputsTypeLabel": "输入", "xpack.fleet.agentDetailsIntegrations.inputTypeEndpointText": "终端", "xpack.fleet.agentDetailsIntegrations.inputTypeLogText": "日志", @@ -15352,8 +15949,10 @@ "xpack.fleet.agentEnrenrollmentStepAgentPolicyollment.noEnrollmentTokensForSelectedPolicyCalloutDescription": "必须创建注册令牌,才能将代理注册到此策略", "xpack.fleet.agentEnrollment.agentDescription": "将 Elastic 代理添加到您的主机,以收集数据并将其发送到 Elastic Stack。", "xpack.fleet.agentEnrollment.closeFlyoutButtonLabel": "关闭", + "xpack.fleet.agentEnrollment.cloudFormation.launchButton": "启动 CloudFormation", "xpack.fleet.agentEnrollment.cloudFormation.loadingAriaLabel": "正在加载 CloudFormation 说明", "xpack.fleet.agentEnrollment.cloudFormation.noApiKey": "找不到注册令牌", + "xpack.fleet.agentEnrollment.cloudFormation.stepEnrollAndRunAgentTitle": "在云端安装 Elastic 代理", "xpack.fleet.agentEnrollment.confirmation.button": "查看注册的代理", "xpack.fleet.agentEnrollment.copyPolicyButton": "复制到剪贴板", "xpack.fleet.agentEnrollment.downloadDescriptionForK8s": "复制或下载 Kubernetes 清单。", @@ -15409,6 +16008,7 @@ "xpack.fleet.agentList.diagnosticsOneButton": "请求诊断 .zip", "xpack.fleet.agentList.errorFetchingDataTitle": "获取代理时出错", "xpack.fleet.agentList.forceUnenrollOneButton": "强制取消注册", + "xpack.fleet.agentList.getUninstallCommand": "卸载代理", "xpack.fleet.agentList.header.clearFiltersLinkText": "清除筛选", "xpack.fleet.agentList.hostColumnTitle": "主机", "xpack.fleet.agentList.inactiveAgentsTourStepContent": "某些代理已转入非活动状态并已被隐藏。使用状态筛选以显示非活动或已取消注册的代理。", @@ -15468,6 +16068,7 @@ "xpack.fleet.agentPolicyActionMenu.buttonText": "操作", "xpack.fleet.agentPolicyActionMenu.copyPolicyActionText": "复制策略", "xpack.fleet.agentPolicyActionMenu.enrollAgentActionText": "添加代理", + "xpack.fleet.agentPolicyActionMenu.getUninstallCommand": "在此策略上卸载代理", "xpack.fleet.agentPolicyActionMenu.viewPolicyText": "查看策略", "xpack.fleet.agentPolicyCreation.created": "代理策略已创建", "xpack.fleet.agentPolicyCreation.errorMessage": "此名称的代理策略已存在。", @@ -15512,6 +16113,9 @@ "xpack.fleet.agentPolicyForm.namespaceFieldLabel": "默认命名空间", "xpack.fleet.agentPolicyForm.newAgentPolicyFieldLabel": "新代理策略名称", "xpack.fleet.agentPolicyForm.systemMonitoringText": "收集系统日志和指标", + "xpack.fleet.agentPolicyForm.tamperingLabel": "代理篡改防护", + "xpack.fleet.agentPolicyForm.tamperingSwitchLabel": "防止篡改代理", + "xpack.fleet.agentPolicyForm.tamperingUninstallLink": "获取卸载命令", "xpack.fleet.agentPolicyForm.unenrollmentTimeoutDeprecatedLabel": "(已过时)", "xpack.fleet.agentPolicyForm.unenrollmentTimeoutDescription": "可选超时(秒)。若提供,且 Fleet 服务器的版本低于 8.7.0,代理断开连接此段时间后,将自动注销。", "xpack.fleet.agentPolicyForm.unenrollmentTimeoutLabel": "注销超时", @@ -15544,6 +16148,16 @@ "xpack.fleet.agentStatus.unenrolledLabel": "已取消注册", "xpack.fleet.agentStatus.unhealthyLabel": "运行不正常", "xpack.fleet.agentStatus.updatingLabel": "正在更新", + "xpack.fleet.agentUninstallCommandFlyout.errorFetchingToken": "无法获取卸载令牌", + "xpack.fleet.agentUninstallCommandFlyout.firstParagraph": "卸载 Elastic 代理并在 Fleet 中取消注册,以停止与主机进行通信。", + "xpack.fleet.agentUninstallCommandFlyout.learnMore": "了解详情", + "xpack.fleet.agentUninstallCommandFlyout.platformButtons.linuxOrMac": "Linux 或 Mac", + "xpack.fleet.agentUninstallCommandFlyout.platformButtons.windows": "Windows", + "xpack.fleet.agentUninstallCommandFlyout.platformSelectAriaLabel": "平台", + "xpack.fleet.agentUninstallCommandFlyout.subtitle": "在主机上卸载 Elastic 代理", + "xpack.fleet.agentUninstallCommandFlyout.title": "卸载代理", + "xpack.fleet.agentUninstallCommandFlyout.unknownError": "未知错误", + "xpack.fleet.agentUninstallCommandFlyout.validForPolicyId": "对以下代理策略有效:", "xpack.fleet.apiRequestFlyout.description": "针对 Kibana 执行这些请求", "xpack.fleet.apiRequestFlyout.learnMoreLink": "详细了解 Fleet API", "xpack.fleet.apiRequestFlyout.openFlyoutButton": "预览 API 请求", @@ -15803,6 +16417,8 @@ "xpack.fleet.editPackagePolicy.upgradeButton": "升级集成", "xpack.fleet.encryptionKeyRequired.calloutTitle": "需要其他设置", "xpack.fleet.encryptionKeyRequired.link": "了解详情", + "xpack.fleet.endpointUninstallCommandFlyout.description": "使用下面的卸载命令卸载终端集成...... [TODO]", + "xpack.fleet.endpointUninstallCommandFlyout.subtitle": "在主机上卸载 Elastic Defend 集成", "xpack.fleet.enrollemntAPIKeyList.emptyMessage": "未找到任何注册令牌。", "xpack.fleet.enrollemntAPIKeyList.loadingTokensMessage": "正在加载注册令牌......", "xpack.fleet.enrollment.addFleetServerButton": "添加 Fleet 服务器", @@ -15822,6 +16438,8 @@ "xpack.fleet.enrollmentInstructions.installationMessage.link": "安装文档", "xpack.fleet.enrollmentInstructions.k8sCallout": "我们建议将 Kubernetes 集成添加到您的代理策略,以从 Kubernetes 集群中获取有用的指标和日志。", "xpack.fleet.enrollmentInstructions.k8sInstallationMessage": "已自动生成以下清单,并在其中包括此 Elastic 代理实例的凭据,一旦该实例在您的 Kubernetes 集群中运行,将使用 Fleet 对其进行集中管理。", + "xpack.fleet.enrollmentInstructions.macCallout": "我们建议不要在 Mac 中部署此集成,因为当前尚不支持该集成。", + "xpack.fleet.enrollmentInstructions.placeHolderCallout": "我们强烈建议不要在 Kubernetes 集群中部署 CSPM。那样做可能导致冗余数据提取,这会造成 Elastic 帐户内的消耗成本增加,并有可能在您的云帐户中触发 API 速率限制。", "xpack.fleet.enrollmentInstructions.platformButtons.kubernetes": "Kubernetes", "xpack.fleet.enrollmentInstructions.platformButtons.linux": "Linux Tar", "xpack.fleet.enrollmentInstructions.platformButtons.linux.deb": "DEB", @@ -16109,10 +16727,11 @@ "xpack.fleet.packagePolicyValidation.boolValueError": "布尔值必须为 true 或 false", "xpack.fleet.packagePolicyValidation.invalidIntegerErrorMessage": "整数无效", "xpack.fleet.packagePolicyValidation.invalidIntegerMultiErrorMessage": "整数无效", + "xpack.fleet.packagePolicyValidation.invalidSecretReference": "机密引用无效,ID 必须为字符串", "xpack.fleet.packagePolicyValidation.invalidSelectValueErrorMessage": "选择类型的值无效", "xpack.fleet.packagePolicyValidation.invalidYamlFormatErrorMessage": "YAML 格式无效", "xpack.fleet.packagePolicyValidation.nameRequiredErrorMessage": "“名称”必填", - "xpack.fleet.packagePolicyValidation.quoteStringErrorMessage": "以特殊 YAML 字符(* 或 &)开头的字符串需要使用双引号引起。", + "xpack.fleet.packagePolicyValidation.quoteStringErrorMessage": "以特殊 YAML 字符(* 或 &)开头的字符串需要使用双引号引起。", "xpack.fleet.permissionDeniedErrorTitle": "权限被拒绝", "xpack.fleet.permissionsRequestErrorMessageDescription": "检查 Fleet 权限时遇到问题", "xpack.fleet.permissionsRequestErrorMessageTitle": "无法检查权限", @@ -16411,6 +17030,7 @@ "xpack.globalSearch.find.invalidLicenseError": "GlobalSearch API 已禁用,因为许可状态无效:{errorMessage}", "xpack.globalSearchBar.searchbar.overflowTagsAriaLabel": "另外 {n} 个{n, plural, other {标签}}:{tags}", "xpack.globalSearchBar.searchBar.shortcutDescription.shortcutDetail": "{shortcutDescription} {commandDescription}", + "xpack.globalSearchBar.searchBar.closeSearchAriaText": "关闭搜索栏", "xpack.globalSearchBar.searchBar.helpText.helpTextConjunction": "或", "xpack.globalSearchBar.searchBar.helpText.helpTextPrefix": "筛选依据", "xpack.globalSearchBar.searchBar.mobileSearchButtonAriaLabel": "全站点搜索", @@ -16425,9 +17045,13 @@ "xpack.globalSearchBar.searchBar.shortcutTooltip.description": "快捷键", "xpack.globalSearchBar.searchBar.shortcutTooltip.macCommandDescription": "Command + /", "xpack.globalSearchBar.searchBar.shortcutTooltip.windowsCommandDescription": "Control + /", + "xpack.globalSearchBar.searchBar.showSearchAriaText": "显示搜索栏", "xpack.globalSearchBar.suggestions.filterByTagLabel": "按标签名称筛选", "xpack.globalSearchBar.suggestions.filterByTypeLabel": "按类型筛选", "xpack.graph.blocklist.noEntriesDescription": "您没有任何已阻止词。选择顶点并单击右侧控制面板上的 {stopSign} 以阻止它们。与已阻止词匹配的文档不再可供浏览,并且与它们的关系已隐藏。", + "xpack.graph.confirmModal.overwriteConfirmationMessage": "确定要覆盖“{title}”?", + "xpack.graph.confirmModal.overwriteTitle": "覆盖 {name}?", + "xpack.graph.confirmModal.saveDuplicateConfirmationMessage": "保存“{name}”会创建重复的标题。是否确定要保存?", "xpack.graph.fatalError.errorStatusMessage": "错误 {errStatus} {errStatusText}:{errMessage}", "xpack.graph.fieldManager.disabledFieldBadgeDescription": "已禁用字段 {field}:单击以配置。按 Shift 键并单击可启用", "xpack.graph.fieldManager.fieldBadgeDescription": "字段 {field}:单击以配置。按 Shift 键并单击可禁用", @@ -16461,6 +17085,11 @@ "xpack.graph.clearWorkspace.confirmButtonLabel": "更改数据源", "xpack.graph.clearWorkspace.confirmText": "如果更改数据源,您当前的字段和顶点将会重置。", "xpack.graph.clearWorkspace.modalTitle": "未保存的更改", + "xpack.graph.confirmModal.cancelButtonLabel": "取消", + "xpack.graph.confirmModal.overwriteButtonLabel": "覆盖", + "xpack.graph.confirmModal.saveDuplicateButtonLabel": "保存", + "xpack.graph.confirmModal.saveDuplicateConfirmationTitle": "此可视化已存在", + "xpack.graph.content.name": "Graph 可视化", "xpack.graph.drilldowns.description": "使用向下钻取以链接到其他应用程序。选定的顶点成为 URL 的一部分。", "xpack.graph.errorToastTitle": "Graph 错误", "xpack.graph.exploreGraph.timedOutWarningText": "浏览超时", @@ -16559,10 +17188,12 @@ "xpack.graph.outlinkEncoders.textLuceneTitle": "Lucene 转义文本", "xpack.graph.outlinkEncoders.textPlainDescription": "所选顶点标签的文本,采用纯 URL 编码的字符串形式", "xpack.graph.outlinkEncoders.textPlainTitle": "纯文本", - "xpack.graph.pageTitle": "Graph", + "xpack.graph.overwriteRejectedDescription": "已拒绝覆盖确认", + "xpack.graph.pageTitle": "图表", "xpack.graph.pluginDescription": "显示并分析 Elasticsearch 数据中的相关关系。", "xpack.graph.pluginSubtitle": "显示模式和关系。", - "xpack.graph.sampleData.label": "Graph", + "xpack.graph.sampleData.label": "图表", + "xpack.graph.saveDuplicateRejectedDescription": "已拒绝使用重复标题保存确认", "xpack.graph.savedWorkspace.workspaceNameTitle": "新建 Graph 工作区", "xpack.graph.saveWorkspace.successNotification.noDataSavedText": "配置会被保存,但不保存数据", "xpack.graph.serverSideErrors.unavailableGraphErrorMessage": "Graph 不可用", @@ -18106,17 +18737,18 @@ "xpack.infra.deprecations.tiebreakerAdjustIndexing": "调整索引以将“{field}”用作决胜属性。", "xpack.infra.deprecations.timestampAdjustIndexing": "调整索引以将“{field}”用作时间戳。", "xpack.infra.homePage.toolbar.showingLastOneMinuteDataText": "选定时间过去 {duration}的数据", - "xpack.infra.hostsViewPage.errorOnCreateOrLoadDataview": "尝试创建以下数据视图时出错:{metricAlias}", + "xpack.infra.hostsViewPage.errorOnCreateOrLoadDataview": "尝试创建以下数据视图时出错:{metricAlias}。尝试重新加载该页面。", "xpack.infra.hostsViewPage.landing.calloutRoleClarificationWithDocsLink": "他们将需要有权访问 Kibana 中的高级设置的角色。{docsLink}", "xpack.infra.hostsViewPage.metricTrend.subtitle.average.limit": "平均值(属于 {limit} 台主机)", "xpack.infra.hostsViewPage.metricTrend.subtitle.hostCount.limit": "限定为 {limit}", + "xpack.infra.hostsViewPage.table.selectedHostsButton": "已选定 {selectedHostsCount} 个{selectedHostsCount, plural, =1 {主机} other {主机}}", + "xpack.infra.hostsViewPage.table.tooltip.documentationLabel": "请参阅 {documentation} 了解更多信息", "xpack.infra.inventoryTimeline.header": "平均值 {metricLabel}", "xpack.infra.kibanaMetrics.cloudIdMissingErrorMessage": "{metricId} 的模型需要云 ID,但没有为 {nodeId} 提供。", "xpack.infra.kibanaMetrics.invalidInfraMetricErrorMessage": "{id} 不是有效的 InfraMetric", "xpack.infra.kibanaMetrics.nodeDoesNotExistErrorMessage": "{nodeId} 不存在。", "xpack.infra.linkTo.hostWithIp.error": "未找到 IP 地址为“{hostIp}”的主机。", "xpack.infra.linkTo.hostWithIp.loading": "正在加载 IP 地址为“{hostIp}”的主机。", - "xpack.infra.logs.alertDetails.chart.chartTitle": "{criteria} 的日志", "xpack.infra.logs.alertFlyout.groupByOptimizationWarning": "设置“分组依据”时,强烈建议将“{comparator}”比较符用于阈值。这会使性能有较大提升。", "xpack.infra.logs.alerting.threshold.groupedCountAlertReasonDescription": "对于 {groupName},过去 {duration}中有 {actualCount, plural, other {{actualCount} 个日志条目}}。{comparator} {expectedCount} 时告警。", "xpack.infra.logs.alerting.threshold.groupedRatioAlertReasonDescription": "对于 {groupName},过去 {duration}选定日志的比率为 {actualRatio}。{comparator} {expectedRatio} 时告警。", @@ -18146,6 +18778,7 @@ "xpack.infra.logSourceConfiguration.missingDataViewsLabel": "缺少数据视图 {indexPatternId}", "xpack.infra.logSourceConfiguration.missingMessageFieldErrorMessage": "数据视图必须包含 {messageField} 字段。", "xpack.infra.logSourceErrorPage.savedObjectNotFoundErrorMessage": "无法找到该{savedObjectType}:{savedObjectId}", + "xpack.infra.metadataEmbeddable.errorMessage": "加载数据时出错。尝试{reload}并再次打开主机详情。", "xpack.infra.metrics.alertDetailsAppSection.criterion.subtitle": "过去 {lookback} {timeLabel}", "xpack.infra.metrics.alertFlyout.alertPerRedundantFilterError": "此规则可能针对低于预期的 {matchedGroups} 告警,因为筛选查询包含{groupCount, plural, other {这些字段}}的匹配项。有关更多信息,请参阅 {filteringAndGroupingLink}。", "xpack.infra.metrics.alertFlyout.customEquationEditor.aggregationLabel": "聚合 {name}", @@ -18193,6 +18826,8 @@ "xpack.infra.waffle.customMetrics.editMode.deleteAriaLabel": "删除 {name} 的定制指标", "xpack.infra.waffle.customMetrics.editMode.editButtonAriaLabel": "编辑 {name} 的定制指标", "xpack.infra.waffle.unableToSelectGroupErrorMessage": "无法选择 {nodeType} 的分组依据选项", + "xpack.infra.alertDetails.logsAlertHistoryChart.error.toastDescription": "提取日志告警历史记录图表数据时出错", + "xpack.infra.alertDetails.logsAlertHistoryChart.error.toastTitle": "日志告警历史记录图表错误", "xpack.infra.alerting.alertDropdownTitle": "告警和规则", "xpack.infra.alerting.alertFlyout.groupBy.placeholder": "无内容(未分组)", "xpack.infra.alerting.alertFlyout.groupByLabel": "分组依据", @@ -18241,6 +18876,9 @@ "xpack.infra.analysisSetup.timeRangeDescription": "默认情况下,Machine Learning 分析日志索引中不超过 4 周的日志消息,并无限持续下去。您可以指定不同的开始日期或/和结束日期。", "xpack.infra.analysisSetup.timeRangeTitle": "选择时间范围", "xpack.infra.appName": "基础架构日志", + "xpack.infra.assetDetailsEmbeddable.description": "添加资产详情视图。", + "xpack.infra.assetDetailsEmbeddable.displayName": "资产详情", + "xpack.infra.assetDetailsEmbeddable.title": "资产详情", "xpack.infra.bottomDrawer.kubernetesDashboardsLink": "Kubernetes 仪表板", "xpack.infra.chartSection.missingMetricDataBody": "此图表的数据缺失。", "xpack.infra.chartSection.missingMetricDataText": "缺失数据", @@ -18312,31 +18950,53 @@ "xpack.infra.homePage.settingsTabTitle": "设置", "xpack.infra.homePage.tellUsWhatYouThinkK8sLink": "告诉我们您的看法!(K8s)", "xpack.infra.homePage.toolbar.kqlSearchFieldPlaceholder": "搜索基础设施数据……(例如 host.name:host-1)", + "xpack.infra.hostFlyout.explainProcessMessageTitle": "此进程是什么?", "xpack.infra.hosts.searchPlaceholder": "搜索主机(例如,cloud.provider:gcp AND system.load.1 > 0.5)", "xpack.infra.hostsPage.goToMetricsSettings": "检查设置", "xpack.infra.hostsPage.tellUsWhatYouThinkLink": "告诉我们您的看法!", + "xpack.infra.hostsViewPage.betaBadgeDescription": "此功能当前为公测版。如果遇到任何错误或有任何反馈,我们乐于倾听您的意见。请报告支持问题和/或通过“告诉我们您的看法!”反馈按钮分享您的反馈。", + "xpack.infra.hostsViewPage.error.detailsButton": "错误详细信息", + "xpack.infra.hostsViewPage.error.kqlErrorMessage": "无法显示任何结果,因为无法应用您的筛选。", + "xpack.infra.hostsViewPage.error.kqlErrorTitle": "KQL 表达式无效", + "xpack.infra.hostsViewPage.error.tryAgainButton": "重试", + "xpack.infra.hostsViewPage.error.unknownErrorTitle": "发生错误", + "xpack.infra.hostsViewPage.errorOnCreateOrLoadDataviewTitle": "创建数据视图时出错", "xpack.infra.hostsViewPage.hostLimit": "主机限制", "xpack.infra.hostsViewPage.hostLimit.tooltip": "为确保更快的查询性能,对返回的主机数量实施了限制", "xpack.infra.hostsViewPage.landing.calloutReachOutToYourKibanaAdministrator": "您的用户角色权限不足,无法启用此功能 - 请 \n 联系您的 Kibana 管理员,要求他们访问此页面以启用该功能。", "xpack.infra.hostsViewPage.landing.enableHostsView": "启用主机视图", - "xpack.infra.hostsViewPage.landing.introMessage": "介绍目前在技术预览中可用的新“主机”功能!\n 使用这个强大的工具,您可以轻松查看并分析主机,并确定任何\n 问题以便快速予以解决。获取您主机的指标的详细视图,\n 查看哪些主机触发了最多告警,并使用任何 KQL 筛选\n 以及云提供商和操作系统等细目筛选您要分析的主机。", - "xpack.infra.hostsViewPage.landing.introTitle": "即将引入:主机分析", + "xpack.infra.hostsViewPage.landing.introMessage": "欢迎使用“主机”功能,该功能现在为公测版!使用这个强大的工具,\n 您可以轻松查看并分析主机,并确定任何问题以便快速予以解决。\n 获取您主机的详细指标视图,了解哪些指标触发了大多数告警, \n 并使用任何 KQL 筛选以及云提供商和操作系统等常见细目筛选 \n 您要分析的主机。", + "xpack.infra.hostsViewPage.landing.introTitle": "主机分析", "xpack.infra.hostsViewPage.landing.learnMore": "了解详情", - "xpack.infra.hostsViewPage.landing.tryTheFeatureMessage": "这是早期版本的功能,我们需要您的反馈,\n 以便继续开发和改进该功能。要访问该功能,直接在下面启用即可。请抓紧时间,\n 了解新添加到我们平台中的这项强大功能 - 立即试用!", - "xpack.infra.hostsViewPage.metrics.tooltip.cpuUsage": "CPU 在空闲和 IOWait 状态以外所花费时间的平均百分比,按 CPU 核心数进行标准化。包括在用户空间和内核空间上花费的时间。100% 表示主机的所有 CPU 都处于忙碌状态。", - "xpack.infra.hostsViewPage.metrics.tooltip.hostCount": "当前搜索条件返回的主机数。", - "xpack.infra.hostsViewPage.metricTrend.cpuUsage.title": "CPU 使用", + "xpack.infra.hostsViewPage.landing.tryTheFeatureMessage": "这是公测版功能,我们乐于收到您的反馈, \n 以便我们继续开发和改进该功能。要访问该功能,\n 只需在下面直接启用即可(或在不可用时联系您的内部管理员)。\n 不要错过这个强大的功能 - 立即试用!", + "xpack.infra.hostsViewPage.metrics.tooltip.cpuUsage": "CPU 在空闲和 IOWait 状态以外所花费时间的百分比,按 CPU 核心数进行标准化。这包括在用户空间和内核空间上花费的时间。", + "xpack.infra.hostsViewPage.metrics.tooltip.diskLatency": "处理磁盘请求所花费的时间。", + "xpack.infra.hostsViewPage.metrics.tooltip.diskSpaceUsage": "已用磁盘空间百分比。", + "xpack.infra.hostsViewPage.metrics.tooltip.hostCount": "您的搜索条件返回的主机数。", + "xpack.infra.hostsViewPage.metrics.tooltip.memoryFree": "可用内存总计(包括页面缓存)。", + "xpack.infra.hostsViewPage.metrics.tooltip.memoryTotal": "总内存容量。", + "xpack.infra.hostsViewPage.metrics.tooltip.memoryUsage": "主内存使用量(不包括页面缓存)的百分比。", + "xpack.infra.hostsViewPage.metrics.tooltip.normalizedLoad1m": "1 分钟负载平均值,按 CPU 核心数进行标准化。", + "xpack.infra.hostsViewPage.metrics.tooltip.rx": "主机的公共接口上每秒接收的字节数。", + "xpack.infra.hostsViewPage.metrics.tooltip.tx": "主机的公共接口上每秒发送的字节数。", + "xpack.infra.hostsViewPage.metricTrend.cpuUsage.title": "CPU 使用率", + "xpack.infra.hostsViewPage.metricTrend.diskSpaceUsage.title": "磁盘空间使用率", "xpack.infra.hostsViewPage.metricTrend.hostCount.title": "主机", - "xpack.infra.hostsViewPage.metricTrend.memoryUsage.title": "内存使用", - "xpack.infra.hostsViewPage.metricTrend.normalizedLoad1m.title": "正規化された負荷", + "xpack.infra.hostsViewPage.metricTrend.memoryUsage.title": "内存利用率", + "xpack.infra.hostsViewPage.metricTrend.normalizedLoad1m.title": "标准化负载", "xpack.infra.hostsViewPage.metricTrend.subtitle.average": "平均值", + "xpack.infra.hostsViewPage.table.addFilter": "添加筛选", "xpack.infra.hostsViewPage.table.cpuUsageColumnHeader": "CPU 使用率(平均值)", + "xpack.infra.hostsViewPage.table.diskSpaceUsageColumnHeader": "磁盘空间使用率(平均值)", + "xpack.infra.hostsViewPage.table.memoryFreeColumnHeader": "可用内存(平均值)", "xpack.infra.hostsViewPage.table.memoryUsageColumnHeader": "内存使用率(平均值)", - "xpack.infra.hostsViewPage.table.normalizedLoad1mColumnHeader": "标准化负载(平均)", - "xpack.infra.hostsViewPage.table.rxColumnHeader": "RX(平均值)", - "xpack.infra.hostsViewPage.table.txColumnHeader": "TX(平均值)", "xpack.infra.hostsViewPage.table.nameColumnHeader": "名称", + "xpack.infra.hostsViewPage.table.normalizedLoad1mColumnHeader": "标准化负载(平均值)", + "xpack.infra.hostsViewPage.table.rxColumnHeader": "RX(平均值)", "xpack.infra.hostsViewPage.table.toggleDialogWithDetails": "切换具有详情的对话框", + "xpack.infra.hostsViewPage.table.tooltip.documentationLink": "文档", + "xpack.infra.hostsViewPage.table.tooltip.formula": "公式计算:", + "xpack.infra.hostsViewPage.table.txColumnHeader": "TX(平均值)", "xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.active": "活动", "xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.legend": "筛选依据", "xpack.infra.hostsViewPage.tabs.alerts.alertStatusFilter.recovered": "已恢复", @@ -18351,11 +19011,17 @@ "xpack.infra.hostsViewPage.tabs.metricsCharts.cpuUsage": "CPU 使用率", "xpack.infra.hostsViewPage.tabs.metricsCharts.diskIORead": "磁盘读取 IOPS", "xpack.infra.hostsViewPage.tabs.metricsCharts.diskIOWrite": "磁盘写入 IOPS", + "xpack.infra.hostsViewPage.tabs.metricsCharts.diskReadThroughput": "磁盘读取吞吐量", + "xpack.infra.hostsViewPage.tabs.metricsCharts.diskSpaceAvailable": "可用磁盘空间", + "xpack.infra.hostsViewPage.tabs.metricsCharts.diskSpaceUsed": "磁盘空间使用率", + "xpack.infra.hostsViewPage.tabs.metricsCharts.diskWriteThroughput": "磁盘写入吞吐量", + "xpack.infra.hostsViewPage.tabs.metricsCharts.memoryFree": "可用内存", "xpack.infra.hostsViewPage.tabs.metricsCharts.memoryUsage": "内存利用率", "xpack.infra.hostsViewPage.tabs.metricsCharts.normalizedLoad1m": "标准化负载", "xpack.infra.hostsViewPage.tabs.metricsCharts.rx": "网络入站数据 (RX)", "xpack.infra.hostsViewPage.tabs.metricsCharts.title": "指标", "xpack.infra.hostsViewPage.tabs.metricsCharts.tx": "网络出站数据 (TX)", + "xpack.infra.hostsViewPage.tooltip.whatAreTheseMetricsLink": "这些指标是什么?", "xpack.infra.infra.nodeDetails.apmTabLabel": "APM", "xpack.infra.infra.nodeDetails.createAlertLink": "创建库存规则", "xpack.infra.infra.nodeDetails.openAsPage": "以页面形式打开", @@ -18406,6 +19072,8 @@ "xpack.infra.logs.alertDetails.chartHistory.avgTimeToRecover": "恢复的平均时间", "xpack.infra.logs.alertDetails.chartHistory.chartTitle": "日志阈值告警历史记录", "xpack.infra.logs.alertDetails.chartHistory.last30days": "过去 30 天", + "xpack.infra.logs.alertDetails.explainLogRateSpikes.sectionTitle": "解释日志速率峰值", + "xpack.infra.logs.alertDetails.explainLogSpikeTitle": "可能的原因和补救措施", "xpack.infra.logs.alertDropdown.inlineLogViewCreateAlertContent": "不支持通过内联日志视图创建告警", "xpack.infra.logs.alertDropdown.inlineLogViewCreateAlertTitle": "内联日志视图", "xpack.infra.logs.alertDropdown.readOnlyCreateAlertContent": "要创建告警,在此应用程序中需要更多权限。", @@ -18450,7 +19118,8 @@ "xpack.infra.logs.alerting.comparator.symbol.notMatchPhrase": "不匹配短语", "xpack.infra.logs.alerting.threshold.alertReasonMessageActionVariableDescription": "告警原因的简洁描述", "xpack.infra.logs.alerting.threshold.conditionsActionVariableDescription": "日志条目需要满足的条件", - "xpack.infra.logs.alerting.threshold.defaultActionMessage": "\\{\\{^context.isRatio\\}\\}\\{\\{#context.group\\}\\}\\{\\{context.group\\}\\} - \\{\\{/context.group\\}\\}\\{\\{context.matchingDocuments\\}\\} 个日志条目已符合以下条件:\\{\\{context.conditions\\}\\}\\{\\{/context.isRatio\\}\\}\\{\\{#context.isRatio\\}\\}\\{\\{#context.group\\}\\}\\{\\{context.group\\}\\} - \\{\\{/context.group\\}\\} 与 \\{\\{context.numeratorConditions\\}\\} 匹配的日志条目计数和与 \\{\\{context.denominatorConditions\\}\\} 匹配的日志条目计数的比率为 \\{\\{context.ratio\\}\\}\\{\\{/context.isRatio\\}\\}", + "xpack.infra.logs.alerting.threshold.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} 处于活动状态。\n\n\\{\\{^context.isRatio\\}\\}\\{\\{#context.group\\}\\}\\{\\{context.group\\}\\} - \\{\\{/context.group\\}\\}\\{\\{context.matchingDocuments\\}\\} 个日志条目满足以下条件:\\{\\{context.conditions\\}\\}\\{\\{/context.isRatio\\}\\}\n\\{\\{#context.isRatio\\}\\}\\{\\{#context.group\\}\\}\\{\\{context.group\\}\\} - \\{\\{/context.group\\}\\} 与 \\{\\{context.numeratorConditions\\}\\} 匹配的日志条目计数和与 \\{\\{context.denominatorConditions\\}\\} 匹配的日志条目计数的比率为 \\{\\{context.ratio\\}\\}\\{\\{/context.isRatio\\}\\}\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.infra.logs.alerting.threshold.defaultRecoveryMessage": "\\{\\{rule.name\\}\\} 已恢复。\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.infra.logs.alerting.threshold.denominatorConditionsActionVariableDescription": "比率的分母需要满足的条件", "xpack.infra.logs.alerting.threshold.documentCountActionVariableDescription": "匹配所提供条件的日志条目数", "xpack.infra.logs.alerting.threshold.everythingSeriesName": "日志条目", @@ -18462,7 +19131,7 @@ "xpack.infra.logs.alerting.threshold.ratioCriteriaQueryAText": "查询 A", "xpack.infra.logs.alerting.threshold.ratioCriteriaQueryBText": "查询 B", "xpack.infra.logs.alerting.threshold.timestampActionVariableDescription": "触发告警时的 UTC 时间戳", - "xpack.infra.logs.alerting.threshold.viewInAppUrlActionVariableDescription": "Elastic 中可用于进一步调查告警及其上下文的视图或功能的链接", + "xpack.infra.logs.alerting.threshold.viewInAppUrlActionVariableDescription": "链接到告警源", "xpack.infra.logs.alertName": "日志阈值", "xpack.infra.logs.analsysisSetup.indexQualityWarningTooltipMessage": "分析这些索引中的日志消息时,我们检测到一些问题,这可能表明结果质量降低。考虑将这些索引或有问题的数据集排除在分析之外。", "xpack.infra.logs.analysis.analyzeInMlButtonLabel": "在 ML 中分析", @@ -18596,18 +19265,17 @@ "xpack.infra.logStreamEmbeddable.description": "添加实时流式传输日志的表。", "xpack.infra.logStreamEmbeddable.displayName": "日志流", "xpack.infra.logStreamEmbeddable.title": "日志流", - "xpack.infra.metadataEmbeddable.errorMessage": "加载数据时出错。尝试{reload}并再次打开主机详情。", "xpack.infra.metadataEmbeddable.AddFilterAriaLabel": "添加筛选", - "xpack.infra.metadataEmbeddable.filterAdded": "已添加筛选", - "xpack.infra.metadataEmbeddable.filterAriaLabel": "筛选", - "xpack.infra.metadataEmbeddable.setFilterByValueTooltip": "按值筛选", - "xpack.infra.metadataEmbeddable.setRemoveFilterTooltip": "移除筛选", "xpack.infra.metadataEmbeddable.errorAction": "重新加载页面", "xpack.infra.metadataEmbeddable.errorTitle": "抱歉,有错误", "xpack.infra.metadataEmbeddable.field": "字段", + "xpack.infra.metadataEmbeddable.filterAdded": "已添加筛选", + "xpack.infra.metadataEmbeddable.filterAriaLabel": "筛选", "xpack.infra.metadataEmbeddable.loading": "正在加载……", "xpack.infra.metadataEmbeddable.noMetadataFound": "找不到元数据。", "xpack.infra.metadataEmbeddable.searchForMetadata": "搜索元数据……", + "xpack.infra.metadataEmbeddable.setFilterByValueTooltip": "按值筛选", + "xpack.infra.metadataEmbeddable.setRemoveFilterTooltip": "移除筛选", "xpack.infra.metadataEmbeddable.value": "值", "xpack.infra.metricDetailPage.awsMetricsLayout.cpuUtilSection.percentSeriesLabel": "百分比", "xpack.infra.metricDetailPage.awsMetricsLayout.cpuUtilSection.sectionLabel": "CPU 使用率", @@ -18772,7 +19440,7 @@ "xpack.infra.metrics.alertFlyout.error.customMetrics.aggTypeRequired": "“聚合”必填", "xpack.infra.metrics.alertFlyout.error.customMetrics.fieldRequired": "“字段”必填", "xpack.infra.metrics.alertFlyout.error.customMetricsError": "必须至少定义 1 个定制指标", - "xpack.infra.metrics.alertFlyout.error.equation.invalidCharacters": "方程字段仅支持以下字符:A-Z、+、-、/、*、(、)、?、!、&、:、|、>、<、=", + "xpack.infra.metrics.alertFlyout.error.equation.invalidCharacters": "方程字段仅支持以下字符:A-Z、+、-、/、*、(、)、?、!、&、:、|、>、<、=", "xpack.infra.metrics.alertFlyout.error.invalidFilterQuery": "筛选查询无效。", "xpack.infra.metrics.alertFlyout.error.metricRequired": "“指标”必填。", "xpack.infra.metrics.alertFlyout.error.mlCapabilitiesRequired": "禁用 Machine Learning 时,无法创建异常告警。", @@ -18801,7 +19469,7 @@ "xpack.infra.metrics.alertFlyout.removeCondition": "删除条件", "xpack.infra.metrics.alertFlyout.removeWarningThreshold": "移除警告阈值", "xpack.infra.metrics.alertFlyout.warningThreshold": "警告", - "xpack.infra.metrics.alerting.alertDetailUrlActionVariableDescription": "Elastic 内视图的链接,显示与此告警相关的进一步详细信息和上下文", + "xpack.infra.metrics.alerting.alertDetailUrlActionVariableDescription": "链接到告警故障排除视图获取进一步的上下文和详情。如果未配置 server.publicBaseUrl,这将为空字符串。", "xpack.infra.metrics.alerting.alertStateActionVariableDescription": "告警的当前状态", "xpack.infra.metrics.alerting.anomaly.defaultActionMessage": "\\{\\{alertName\\}\\} 处于 \\{\\{context.alertState\\}\\} 状态\n\n\\{\\{context.metric\\}\\} 在 \\{\\{context.timestamp\\}\\}比正常\\{\\{context.summary\\}\\}\n\n典型值:\\{\\{context.typical\\}\\}\n实际值:\\{\\{context.actual\\}\\}\n", "xpack.infra.metrics.alerting.anomaly.fired": "已触发", @@ -18821,9 +19489,12 @@ "xpack.infra.metrics.alerting.groupByKeysActionVariableDescription": "包含正报告数据的组的对象", "xpack.infra.metrics.alerting.hostActionVariableDescription": "ECS 定义的主机对象(如果在源中可用)。", "xpack.infra.metrics.alerting.inventory.noDataFormattedValue": "[无数据]", - "xpack.infra.metrics.alerting.inventory.threshold.defaultActionMessage": "\\{\\{alertName\\}\\} - \\{\\{context.group\\}\\} 处于 \\{\\{context.alertState\\}\\} 状态\n\n原因:\n\\{\\{context.reason\\}\\}\n", + "xpack.infra.metrics.alerting.inventory.threshold.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} 为活动状态,条件如下:\n\n- 受影响:\\{\\{context.group\\}\\}\n- 指标:\\{\\{context.metric\\}\\}\n- 观察值:\\{\\{context.value\\}\\}\n- 阈值:\\{\\{context.threshold\\}\\}\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.infra.metrics.alerting.inventory.threshold.defaultRecoveryMessage": "\\{\\{rule.name\\}\\} 已恢复。\n\n- 受影响:\\{\\{context.group\\}\\}\n- 指标:\\{\\{context.metric\\}\\}\n- 阈值:\\{\\{context.threshold\\}\\}\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.infra.metrics.alerting.inventory.threshold.fired": "告警", "xpack.infra.metrics.alerting.labelsActionVariableDescription": "与在其上触发此告警的实体关联的标签列表。", + "xpack.infra.metrics.alerting.metric.threshold.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} 为活动状态,条件如下:\n\n- 受影响:\\{\\{context.group\\}\\}\n- 指标:\\{\\{context.metric\\}\\}\n- 观察值:\\{\\{context.value\\}\\}\n- 阈值:\\{\\{context.threshold\\}\\}\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.infra.metrics.alerting.metric.threshold.defaultRecoveryMessage": "\\{\\{rule.name\\}\\} 已恢复。\n\n- 受影响:\\{\\{context.group\\}\\}\n- 指标:\\{\\{context.metric\\}\\}\n- 阈值:\\{\\{context.threshold\\}\\}\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.infra.metrics.alerting.metricActionVariableDescription": "指定条件中的指标名称。用法:(ctx.metric.condition0, ctx.metric.condition1, 诸如此类)。", "xpack.infra.metrics.alerting.noDataFormattedValue": "[无数据]", "xpack.infra.metrics.alerting.orchestratorActionVariableDescription": "ECS 定义的 Orchestrator 对象(如果在源中可用)。", @@ -18848,7 +19519,7 @@ "xpack.infra.metrics.alerting.thresholdActionVariableDescription": "指定条件中的指标阈值。用法:(ctx.threshold.condition0, ctx.threshold.condition1, 诸如此类)。", "xpack.infra.metrics.alerting.timestampDescription": "检测到告警时的时间戳。", "xpack.infra.metrics.alerting.valueActionVariableDescription": "指定条件中的指标值。用法:(ctx.value.condition0, ctx.value.condition1, 诸如此类)。", - "xpack.infra.metrics.alerting.viewInAppUrlActionVariableDescription": "Elastic 中可帮助进一步调查的视图或功能的链接", + "xpack.infra.metrics.alerting.viewInAppUrlActionVariableDescription": "链接到告警源", "xpack.infra.metrics.alertName": "指标阈值", "xpack.infra.metrics.anomaly.alertFlyout.alertDescription": "当异常分数超过定义的阈值时告警。", "xpack.infra.metrics.anomaly.alertName": "基础架构异常", @@ -18895,6 +19566,7 @@ "xpack.infra.metrics.nodeDetails.processListError": "无法加载进程数据", "xpack.infra.metrics.nodeDetails.processListRetry": "重试", "xpack.infra.metrics.nodeDetails.searchForProcesses": "搜索进程……", + "xpack.infra.metrics.nodeDetails.tabs.metadata": "元数据", "xpack.infra.metrics.nodeDetails.tabs.processes": "进程", "xpack.infra.metrics.pluginTitle": "基础设施", "xpack.infra.metrics.refetchButtonLabel": "检查新数据", @@ -19058,6 +19730,7 @@ "xpack.infra.nodeDetails.no": "否", "xpack.infra.nodeDetails.tabs.anomalies": "异常", "xpack.infra.nodeDetails.tabs.logs": "日志", + "xpack.infra.nodeDetails.tabs.logs.title": "日志", "xpack.infra.nodeDetails.tabs.metadata.agentHeader": "代理", "xpack.infra.nodeDetails.tabs.metadata.cloudHeader": "云", "xpack.infra.nodeDetails.tabs.metadata.filterAriaLabel": "筛选", @@ -19070,6 +19743,7 @@ "xpack.infra.nodeDetails.yes": "是", "xpack.infra.nodesToWaffleMap.groupsWithGroups.allName": "全部", "xpack.infra.nodesToWaffleMap.groupsWithNodes.allName": "全部", + "xpack.infra.notAvailableLabel": "不可用", "xpack.infra.openView.actionNames.deleteConfirmation": "删除视图?", "xpack.infra.openView.cancelButton": "取消", "xpack.infra.openView.columnNames.actions": "操作", @@ -19082,6 +19756,7 @@ "xpack.infra.sampleDataLinkLabel": "日志", "xpack.infra.savedView.defaultViewNameHosts": "默认视图", "xpack.infra.savedView.errorOnCreate.title": "保存视图时出错。", + "xpack.infra.savedView.errorOnDelete.title": "删除视图时发生错误。", "xpack.infra.savedView.findError.title": "加载视图时出错。", "xpack.infra.savedView.manageViews": "管理视图", "xpack.infra.savedView.saveNewView": "保存新视图", @@ -19105,6 +19780,8 @@ "xpack.infra.sourceConfiguration.logIndicesTitle": "日志索引", "xpack.infra.sourceConfiguration.messageLogColumnDescription": "此系统字段显示派生自文档字段的日志条目消息。", "xpack.infra.sourceConfiguration.metricIndicesDescription": "用于匹配包含指标数据的索引的索引模式", + "xpack.infra.sourceConfiguration.metricIndicesDoNotExist": "找不到任何指标数据,因为输入的模式不匹配任何索引。", + "xpack.infra.sourceConfiguration.metricIndicesDoNotExistTitle": "找不到匹配的索引", "xpack.infra.sourceConfiguration.metricIndicesLabel": "指标索引", "xpack.infra.sourceConfiguration.metricIndicesTitle": "指标索引", "xpack.infra.sourceConfiguration.missingHttp": "无法加载源:无 HTTP 客户端可用。", @@ -19116,6 +19793,8 @@ "xpack.infra.sourceConfiguration.noLogColumnsTitle": "无列", "xpack.infra.sourceConfiguration.noRemoteClusterMessage": "无法连接到远程集群,这导致我们无法检索您所需的指标和数据。\n要解决此问题,请检查您的索引配置,并确保进行了正确配置。", "xpack.infra.sourceConfiguration.noRemoteClusterTitle": "无法连接到远程集群", + "xpack.infra.sourceConfiguration.remoteClusterConnectionDoNotExist": "检查远程集群是否可用,或远程连接设置是否正确。", + "xpack.infra.sourceConfiguration.remoteClusterConnectionDoNotExistTitle": "无法连接到远程集群", "xpack.infra.sourceConfiguration.systemColumnBadgeLabel": "系统", "xpack.infra.sourceConfiguration.unsavedFormPrompt": "是否确定要离开?更改将丢失", "xpack.infra.sourceConfiguration.updateFailureBody": "无法对指标配置应用更改。请稍后重试。", @@ -19219,47 +19898,6 @@ "xpack.infra.waffle.unableToSelectMetricErrorTitle": "无法选择指标选项或指标值。", "xpack.infra.waffleTime.autoRefreshButtonLabel": "自动刷新", "xpack.infra.waffleTime.stopRefreshingButtonLabel": "停止刷新", - "xpack.logsShared.dataSearch.shardFailureErrorMessage": "索引 {indexName}:{errorMessage}", - "xpack.logsShared.logFlyout.flyoutSubTitle": "从索引 {indexName}", - "xpack.logsShared.logFlyout.flyoutTitle": "日志条目 {logEntryId} 的详细信息", - "xpack.logsShared.logs.extendTimeframeByDaysButton": "将时间范围延伸 {amount, number} {amount, plural, other {天}}", - "xpack.logsShared.logs.extendTimeframeByHoursButton": "将时间范围延伸 {amount, number} {amount, plural, other {小时}}", - "xpack.logsShared.logs.extendTimeframeByMillisecondsButton": "将时间范围延伸 {amount, number} {amount, plural, other {毫秒}}", - "xpack.logsShared.logs.extendTimeframeByMinutesButton": "将时间范围延伸 {amount, number} {amount, plural, other {分钟}}", - "xpack.logsShared.logs.extendTimeframeByMonthsButton": "将时间范围延伸 {amount, number} 个{amount, plural, other {月}}", - "xpack.logsShared.logs.extendTimeframeBySecondsButton": "将时间范围延伸 {amount, number} {amount, plural, other {秒}}", - "xpack.logsShared.logs.extendTimeframeByWeeksButton": "将时间范围延伸 {amount, number} {amount, plural, other {周}}", - "xpack.logsShared.logs.extendTimeframeByYearsButton": "将时间范围延伸 {amount, number} {amount, plural, other {年}}", - "xpack.logsShared.logs.lastUpdate": "上次更新时间 {timestamp}", - "xpack.logsShared.logs.showingEntriesFromTimestamp": "正在显示自 {timestamp} 起的条目", - "xpack.logsShared.logs.showingEntriesUntilTimestamp": "正在显示截止于 {timestamp} 的条目", - "xpack.logsShared.dataSearch.abortedRequestErrorMessage": "请求已中止。", - "xpack.logsShared.dataSearch.cancelButtonLabel": "取消请求", - "xpack.logsShared.dataSearch.loadingErrorRetryButtonLabel": "重试", - "xpack.logsShared.lobs.logEntryActionsViewInContextButton": "在上下文中查看", - "xpack.logsShared.logEntryActionsMenu.apmActionLabel": "在 APM 中查看", - "xpack.logsShared.logEntryActionsMenu.buttonLabel": "调查", - "xpack.logsShared.logEntryActionsMenu.uptimeActionLabel": "在Uptime 中查看状态", - "xpack.logsShared.logEntryItemView.logEntryActionsMenuToolTip": "查看适用于以下行的操作:", - "xpack.logsShared.logFlyout.fieldColumnLabel": "字段", - "xpack.logsShared.logFlyout.filterAriaLabel": "筛选", - "xpack.logsShared.logFlyout.loadingErrorCalloutTitle": "搜索日志条目时出错", - "xpack.logsShared.logFlyout.loadingMessage": "正在分片中搜索日志条目", - "xpack.logsShared.logFlyout.setFilterTooltip": "使用筛选查看事件", - "xpack.logsShared.logFlyout.valueColumnLabel": "值", - "xpack.logsShared.logs.emptyView.checkForNewDataButtonLabel": "检查新数据", - "xpack.logsShared.logs.emptyView.noLogMessageDescription": "尝试调整您的筛选。", - "xpack.logsShared.logs.emptyView.noLogMessageTitle": "没有可显示的日志消息。", - "xpack.logsShared.logs.jumpToTailText": "跳到最近的条目", - "xpack.logsShared.logs.loadingNewEntriesText": "正在加载新条目", - "xpack.logsShared.logs.logEntryActionsDetailsButton": "查看详情", - "xpack.logsShared.logs.scrollableLogTextStreamView.loadingEntriesLabel": "正在加载条目", - "xpack.logsShared.logs.stream.messageColumnTitle": "消息", - "xpack.logsShared.logs.stream.timestampColumnTitle": "时间戳", - "xpack.logsShared.logs.streamingNewEntriesText": "正在流式传输新条目", - "xpack.logsShared.logs.streamLive": "实时流式传输", - "xpack.logsShared.logStream.kqlErrorTitle": "KQL 表达式无效", - "xpack.logsShared.logStream.unknownErrorTitle": "发生错误", "xpack.ingestPipelines.app.deniedPrivilegeDescription": "要使用采集管道,您必须具有{privilegesCount, plural, other {以下集群权限}}:{missingPrivileges}。", "xpack.ingestPipelines.clone.loadSourcePipelineErrorTitle": "无法加载 {name}。", "xpack.ingestPipelines.createFromCsv.errorMessage": "{message}", @@ -19336,6 +19974,9 @@ "xpack.ingestPipelines.pipelineEditor.redactForm.prefixFieldHelpText": "使用此令牌启动已编辑部分。如果未指定,则默认为 {defaultValue}。", "xpack.ingestPipelines.pipelineEditor.redactForm.suffixFieldHelpText": "使用此令牌结束已编辑部分。如果未指定,则默认为 {defaultValue}。", "xpack.ingestPipelines.pipelineEditor.removeProcessorModal.titleText": "删除 {type} 处理器", + "xpack.ingestPipelines.pipelineEditor.reroute.datasetFieldHelperText": "数据流名称的数据集部分的字段引用或静态值。除了索引命名条件以外,还不得包含{dash}并且长度不得超过 100 个字符。默认为 {defaultValue}。", + "xpack.ingestPipelines.pipelineEditor.reroute.destinationFieldHelperText": "目标的静态值。已设置 {dataset} 或 {namespace} 时无法设置。", + "xpack.ingestPipelines.pipelineEditor.reroute.namespaceFieldHelperText": "数据流名称的命名空间部分的字段引用或静态值。应满足索引命名条件,并且长度不得超过 100 个字符。默认为 {defaultValue}。", "xpack.ingestPipelines.pipelineEditor.scriptForm.langFieldHelpText": "脚本语言。默认为 {lang}。", "xpack.ingestPipelines.pipelineEditor.setForm.copyFromFieldHelpText": "要复制到 {field} 的字段。", "xpack.ingestPipelines.pipelineEditor.setForm.ignoreEmptyValueFieldHelpText": "如果 {valueField} 是 {nullValue} 或空字符串,请不要更新该字段。", @@ -19756,6 +20397,8 @@ "xpack.ingestPipelines.pipelineEditor.onFailureProcessorsDocumentationLink": "了解详情。", "xpack.ingestPipelines.pipelineEditor.onFailureProcessorsLabel": "失败处理程序", "xpack.ingestPipelines.pipelineEditor.onFailureTreeTitle": "失败处理器", + "xpack.ingestPipelines.pipelineEditor.pipelineForm.ignoreMissingPipelineFieldHelpText": "忽略缺失管道而不是故障管道。", + "xpack.ingestPipelines.pipelineEditor.pipelineForm.ignoreMissingPipelineFieldLabel": "忽略缺失管道", "xpack.ingestPipelines.pipelineEditor.pipelineForm.pipelineNameFieldHelpText": "要运行的采集管道的名称。", "xpack.ingestPipelines.pipelineEditor.pipelineForm.pipelineNameFieldLabel": "管道名称", "xpack.ingestPipelines.pipelineEditor.pipelineForm.pipelineNameRequiredError": "需要值。", @@ -19784,6 +20427,11 @@ "xpack.ingestPipelines.pipelineEditor.renameForm.targetFieldRequiredError": "需要值。", "xpack.ingestPipelines.pipelineEditor.requiredCopyFrom": "需要复制位置值。", "xpack.ingestPipelines.pipelineEditor.requiredValue": "需要值。", + "xpack.ingestPipelines.pipelineEditor.reroute.datasetFieldLabel": "数据集(可选)", + "xpack.ingestPipelines.pipelineEditor.reroute.destinationFieldLabel": "目标(可选)", + "xpack.ingestPipelines.pipelineEditor.reroute.namespaceFieldLabel": "命名空间(可选)", + "xpack.ingestPipelines.pipelineEditor.rerouteForm.datasetLengthError": "值不得包含 100 个以上的字符。", + "xpack.ingestPipelines.pipelineEditor.rerouteForm.namespaceLengthError": "值不得包含 100 个以上的字符。", "xpack.ingestPipelines.pipelineEditor.scriptForm.idRequiredError": "需要值。", "xpack.ingestPipelines.pipelineEditor.scriptForm.langFieldLabel": "语言(可选)", "xpack.ingestPipelines.pipelineEditor.scriptForm.paramsFieldAriaLabel": "参数 JSON 编辑器", @@ -19870,6 +20518,7 @@ "xpack.ingestPipelines.processors.defaultDescription.fail": "引发使执行停止的异常", "xpack.ingestPipelines.processors.defaultDescription.fingerprint": "计算文档内容的哈希。", "xpack.ingestPipelines.processors.defaultDescription.networkDirection": "在给定源 IP 地址的情况下计算网络方向。", + "xpack.ingestPipelines.processors.defaultDescription.reroute": "将文档路由到其他目标索引或数据流", "xpack.ingestPipelines.processors.defaultDescription.sort.orderAscendingLabel": "升序", "xpack.ingestPipelines.processors.defaultDescription.sort.orderDescendingLabel": "降序", "xpack.ingestPipelines.processors.description.append": "将值追加到字段的数组。如果该字段包含单个值,则处理器首先将其转换为数组。如果该字段不存在,则处理器将创建包含已追加值的数组。", @@ -19901,6 +20550,7 @@ "xpack.ingestPipelines.processors.description.registeredDomain": "从完全限定域名中提取已注册域(有效的顶层域)、子域和顶层域。", "xpack.ingestPipelines.processors.description.remove": "移除一个或多个字段。", "xpack.ingestPipelines.processors.description.rename": "重命名现有字段。", + "xpack.ingestPipelines.processors.description.reroute": "将文档路由到其他目标索引或数据流。", "xpack.ingestPipelines.processors.description.script": "对传入文档运行脚本。", "xpack.ingestPipelines.processors.description.set": "设置字段的值。", "xpack.ingestPipelines.processors.description.setSecurityUser": "将有关当前用户的详情(例如用户名和电子邮件地址)添加到传入文档。对于该索引请求,需要经过身份验证的用户。", @@ -19942,6 +20592,7 @@ "xpack.ingestPipelines.processors.label.registeredDomain": "已注册域", "xpack.ingestPipelines.processors.label.remove": "移除", "xpack.ingestPipelines.processors.label.rename": "重命名", + "xpack.ingestPipelines.processors.label.reroute": "重新路由", "xpack.ingestPipelines.processors.label.script": "脚本", "xpack.ingestPipelines.processors.label.set": "设置", "xpack.ingestPipelines.processors.label.setSecurityUser": "设置安全用户", @@ -19981,6 +20632,7 @@ "xpack.ingestPipelines.testPipelineFlyout.successNotificationText": "管道已执行", "xpack.ingestPipelines.testPipelineFlyout.title": "测试管道", "xpack.kubernetesSecurity.treeNavigation.loadMore": "显示更多 {name}", + "xpack.kubernetesSecurity.beta": "公测版", "xpack.kubernetesSecurity.chartsToggle.hide": "隐藏图表", "xpack.kubernetesSecurity.chartsToggle.show": "显示图表", "xpack.kubernetesSecurity.containerNameWidget.containerImage": "容器映像", @@ -19993,8 +20645,8 @@ "xpack.kubernetesSecurity.countWidget.pods": "Pod", "xpack.kubernetesSecurity.entryUserChart.nonRoot": "非根", "xpack.kubernetesSecurity.entryUserChart.root": "根", - "xpack.kubernetesSecurity.entryUserChart.title": "会话条目用户", - "xpack.kubernetesSecurity.entryUserChart.tooltip": "会话用户是指与会话关联的初始 Linux 用户。可以在远程登录的身份验证期间设置此用户,或为由 init 启动的会话服务自动设置该用户。", + "xpack.kubernetesSecurity.entryUserChart.title": "入口会话用户", + "xpack.kubernetesSecurity.entryUserChart.tooltip": "入口会话用户是指与会话关联的初始 Linux 用户。可以在远程登录的身份验证期间设置此用户,或为由 init 启动的会话服务自动设置该用户。", "xpack.kubernetesSecurity.searchGroup.cluster": "集群", "xpack.kubernetesSecurity.searchGroup.groupBy": "分组依据", "xpack.kubernetesSecurity.searchGroup.sortBy": "排序依据", @@ -20056,12 +20708,13 @@ "xpack.lens.indexPattern.cardinalityOf": "{name} 的唯一计数", "xpack.lens.indexPattern.CounterRateOf": "{name} 的计数率", "xpack.lens.indexPattern.cumulativeSumOf": "{name} 的累计和", + "xpack.lens.indexPattern.customFormat.description": "Numeral.js 格式模式(默认值:{defaultPattern})", "xpack.lens.indexPattern.dateHistogram.autoLongerExplanation": "要选择时间间隔,Lens 按 {targetBarSetting} 高级设置分割指定的时间范围,并为您的数据计算最佳时间间隔。例如,当时间间隔为 4 天时,数据将分割为每小时存储桶。要配置最大条形数,请使用 {maxBarSetting} 高级设置。", "xpack.lens.indexPattern.dateHistogram.restrictedInterval": "由于聚合限制,时间间隔固定为 {intervalValue}。", "xpack.lens.indexPattern.derivativeOf": "{name} 的差异", "xpack.lens.indexPattern.fieldNoOperation": "没有运算,无法使用字段 {field}", - "xpack.lens.indexPattern.fieldsNotFound": "找不到{count, plural, other {字段}} {missingFields}{count, plural, other { }}。", - "xpack.lens.indexPattern.fieldsWrongType": "{count, plural, other {字段}} {invalidFields}{count, plural, other { }}的类型不正确", + "xpack.lens.indexPattern.fieldsNotFound": "找不到{count, plural, other {字段}} {missingFields}{count, plural, other {有}}。", + "xpack.lens.indexPattern.fieldsWrongType": "{count, plural, other {字段}} {invalidFields}{count, plural, other {有}}的类型不正确", "xpack.lens.indexPattern.formulaExpressionNotHandled": "公式中的运算 {operation} 缺失以下参数:{params}", "xpack.lens.indexPattern.formulaExpressionParseError": "公式 {expression} 无法解析", "xpack.lens.indexPattern.formulaExpressionWrongType": "公式中运算 {operation} 的参数的类型不正确:{params}", @@ -20080,6 +20733,7 @@ "xpack.lens.indexPattern.formulaPartLabel": "{label} 的一部分", "xpack.lens.indexPattern.formulaUseAlternative": "公式中的运算 {operation} 缺失 {params} 参数:改为使用 {alternativeFn} 运算", "xpack.lens.indexPattern.formulaWithTooManyArguments": "运算 {operation} 的参数过多", + "xpack.lens.indexPattern.interval.noTargetBars": "缺失“{uiSettingVar}”值", "xpack.lens.indexPattern.invalidReferenceConfiguration": "维度“{dimensionLabel}”配置不正确", "xpack.lens.indexPattern.lastValue.invalidTypeSortField": "字段 {invalidField} 不是日期字段,不能用于排序", "xpack.lens.indexPattern.lastValue.sortFieldNotFound": "找不到排序字段 {sortField}。", @@ -20111,6 +20765,7 @@ "xpack.lens.indexPattern.reducedTimeRangeWithDateHistogram": "仅在没有 Date Histogram 时才可以使用缩小的时间范围。移除 Date Histogram 维度,或从 {column} 中移除缩小的时间范围。", "xpack.lens.indexPattern.reducedTimeRangeWithoutTimefield": "只能将缩小的时间范围用于数据视图上的指定默认时间字段。使用具有默认时间字段的不同数据视图,或从 {column} 中移除缩小的时间范围。", "xpack.lens.indexPattern.referenceLineDimensionEditorLabel": "{groupLabel} 参考线", + "xpack.lens.indexPattern.significantTermsOf": "{name} 的有效值", "xpack.lens.indexPattern.standardDeviationOf": "{name} 的标准偏差", "xpack.lens.indexPattern.staticValueError": "{value} 的静态值不是有效数字", "xpack.lens.indexPattern.staticValueLabelWithValue": "静态值:{value}", @@ -20133,6 +20788,7 @@ "xpack.lens.messagesButton.label.errors": "{errorCount} {errorCount, plural, other {错误}}", "xpack.lens.messagesButton.label.errorsAndWarnings": "{errorCount} 个{errorCount, plural, other {错误}},{warningCount} 个{warningCount, plural, other {警告}}", "xpack.lens.messagesButton.label.warnings": "{warningCount} {warningCount, plural, other {警告}}", + "xpack.lens.modalTitle.revertAnnotationGroupTitle": "恢复“{title}”更改?", "xpack.lens.pie.arrayValues": "以下维度包含数组值:{label}您的可视化可能无法正常渲染。", "xpack.lens.pie.multiMetricAccessorLabel": "{number} 个指标", "xpack.lens.pie.suggestionLabel": "{chartName}", @@ -20147,6 +20803,11 @@ "xpack.lens.xyChart.annotationError.textFieldNotFound": "在数据视图 {dataView} 中未找到文本字段 {textField}", "xpack.lens.xyChart.annotationError.timeFieldNotFound": "在数据视图 {dataView} 中未找到时间字段 {timeField}", "xpack.lens.xyChart.annotationError.tooltipFieldNotFound": "在数据视图 {dataView} 中未找到工具提示{missingFields, plural, other {字段}} {missingTooltipFields}", + "xpack.lens.xyChart.annotations.notificationReverted": "已恢复“{title}”", + "xpack.lens.xyChart.annotations.notificationUnlinked": "已对“{title}”取消链接", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.errorToastTitle": "无法保存“{title}”", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.successToastBody": "在 {link} 中查看或管理。", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.successToastTitle": "已保存“{title}”", "xpack.lens.xySuggestions.dateSuggestion": "{yTitle} / {xTitle}", "xpack.lens.xySuggestions.nonDateSuggestion": "{xTitle} 的 {yTitle}", "xpack.lens.xyVisualization.arrayValues": "{label} 包含数组值。您的可视化可能无法正常渲染。", @@ -20174,8 +20835,8 @@ "xpack.lens.formula.gtFunction.markdown": "\n在两个值之间执行大于比较。\n将用作 `ifelse` 比较函数的条件。\n还可以使用 `>` 符号。\n\n例如:如果平均字节数大于平均内存容量,则返回 true\n`average(bytes) > average(memory)`\n\n示例:`gt(average(bytes), 1000)`\n ", "xpack.lens.formula.ifElseFunction.markdown": "\n返回某个值,取决于条件的元素是 true 还是 false。\n\n例如:每名客户的平均收入,但在某些情况下不提供客户 ID,这会计数为其他客户\n`sum(total)/(unique_count(customer_id) + ifelse( count() > count(kql='customer_id:*'), 1, 0))`\n ", "xpack.lens.formula.logFunction.markdown": "\n底数可选的对数。自然底数 *e* 用作默认值。\n\n例如:计算存储值所需的位数\n```\nlog(sum(bytes))\nlog(sum(bytes), 2)\n```\n ", - "xpack.lens.formula.lteFunction.markdown": "\n在两个值之间执行小于或等于比较。\n将用作 `ifelse` 比较函数的条件。\n还可以使用 `<=` 符号。\n\n例如:如果平均字节数小于或等于平均内存容量,则返回 true\n`average(bytes) <= average(memory)`\n\n示例:`lte(average(bytes), 1000)`\n ", - "xpack.lens.formula.ltFunction.markdown": "\n在两个值之间执行小于比较。\n将用作 `ifelse` 比较函数的条件。\n还可以使用 `<` 符号。\n\n例如:如果平均字节数小于平均内存容量,则返回 true\n`average(bytes) <= average(memory)`\n\n示例:`lt(average(bytes), 1000)`\n ", + "xpack.lens.formula.lteFunction.markdown": "\n在两个值之间执行小于或等于比较。\n将用作 `ifelse` 比较函数的条件。\n还可以使用 `<=` 符号。\n\n例如:如果平均字节数小于或等于平均内存容量,则返回 true\n`average(bytes) <= average(memory)`\n\n示例:`lte(average(bytes), 1000)`\n ", + "xpack.lens.formula.ltFunction.markdown": "\n在两个值之间执行小于比较。\n将用作 `ifelse` 比较函数的条件。\n还可以使用 `<` 符号。\n\n例如:如果平均字节数小于平均内存容量,则返回 true\n`average(bytes) <= average(memory)`\n\n示例:`lt(average(bytes), 1000)`\n ", "xpack.lens.formula.maxFunction.markdown": "\n查找两个数字间的最大值。\n\n例如:查找两个字段平均值间的最大值\n`pick_max(average(bytes), average(memory))`\n ", "xpack.lens.formula.minFunction.markdown": "\n查找两个数字间的最小值。\n\n例如:查找两个字段平均值间的最小值\n`pick_min(average(bytes), average(memory))`\n ", "xpack.lens.formula.modFunction.markdown": "\n将函数除以数值后的余数\n\n例如:计算值的后三位数\n`mod(sum(price), 1000)`\n ", @@ -20195,9 +20856,11 @@ "xpack.lens.indexPattern.counterRate.documentation.markdown": "\n计算不断增大的计数器的速率。此函数将仅基于计数器指标字段生成有帮助的结果,包括随着时间的推移度量某种单调递增。\n如果值确实变小,则其将此解析为计数器重置。要获取很精确的结果,应基于字段的 `max`计算 `counter_rate`。\n\n筛选或排名最前值维度定义的不同序列将分别执行此计算。\n用于公式中时,其使用当前时间间隔。\n\n例如:可视化随着时间的推移 Memcached 服务器接收的字节速率:\n`counter_rate(max(memcached.stats.read.bytes))`\n ", "xpack.lens.indexPattern.cumulativeSum.documentation.markdown": "\n计算随着时间的推移指标的累计和,即序列的所有以前值相加得出每个值。要使用此函数,您还需要配置 Date Histogram 维度。\n\n筛选或排名最前值维度定义的不同序列将分别执行此计算。\n\n例如:可视化随着时间的推移累计接收的字节:\n`cumulative_sum(sum(bytes))`\n ", "xpack.lens.indexPattern.differences.documentation.markdown": "\n计算随着时间的推移与指标最后一个值的差异。要使用此函数,您还需要配置 Date Histogram 维度。\n差异需要数据是顺序的。如果使用差异时数据为空,请尝试增加 Date Histogram 时间间隔。\n\n筛选或排名最前值维度定义的不同序列将分别执行此计算。\n\n例如:可视化随着时间的推移接收的字节的变化:\n`differences(sum(bytes))`\n ", + "xpack.lens.indexPattern.interval.documentation.markdown": "\nDate Histogram 的指定最小时间间隔,单位为毫秒 (ms)。\n ", "xpack.lens.indexPattern.lastValue.documentation.markdown": "\n返回最后一个文档的字段值,按数据视图的默认时间字段排序。\n\n此函数用于检索实体的最新状态。\n\n例如:获取服务器 A 的当前状态:\n`last_value(server.status, kql='server.name=\"A\"')`\n ", "xpack.lens.indexPattern.metric.documentation.markdown": "\n返回字段的 {metric}。此函数仅适用于数字字段。\n\n例如:获取价格的 {metric}:\n`{metric}(price)`\n\n例如:获取英国订单价格的 {metric}:\n`{metric}(price, kql='location:UK')`\n ", "xpack.lens.indexPattern.movingAverage.documentation.markdown": "\n计算随着时间的推移指标的移动平均值,即计算最后 n 个值的平均值以得出当前值。要使用此函数,您还需要配置 Date Histogram 维度。\n默认窗口值为 {defaultValue}。\n\n筛选或排名最前值维度定义的不同序列将分别执行此计算。\n\n取已命名参数 `window`,其指定当前值的平均计算中要包括过去多少个值。\n\n例如:平滑度量线:\n`moving_average(sum(bytes), window=5)`\n ", + "xpack.lens.indexPattern.now.documentation.markdown": "\n Kibana 中使用的当前时刻,用毫秒 (ms) 表示。\n ", "xpack.lens.indexPattern.overall_average.documentation.markdown": "\n为当前图表中序列的所有数据点计算指标的平均值。序列由维度使用 Date Histogram 或时间间隔函数定义。\n分解数据的其他维度,如排名最前值或筛选,将被视为不同的序列。\n\n如果当前图表未使用 Date Histogram 或时间间隔函数,则无论使用什么函数,`overall_average` 都将计算所有维度的平均值\n\n例如:与平均值的偏离:\n`sum(bytes) - overall_average(sum(bytes))`\n ", "xpack.lens.indexPattern.overall_max.documentation.markdown": "\n为当前图表中序列的所有数据点计算指标的最大值。序列由维度使用 Date Histogram 或时间间隔函数定义。\n分解数据的其他维度,如排名最前值或筛选,将被视为不同的序列。\n\n如果当前图表未使用 Date Histogram 或内部函数,则无论使用什么函数,`overall_max` 都将计算所有维度的最大值\n\n例如:范围的百分比\n`(sum(bytes) - overall_min(sum(bytes))) / (overall_max(sum(bytes)) - overall_min(sum(bytes)))`\n ", "xpack.lens.indexPattern.overall_min.documentation.markdown": "\n为当前图表中序列的所有数据点计算指标的最小值。序列由维度使用 Date Histogram 或时间间隔函数定义。\n分解数据的其他维度,如排名最前值或筛选,将被视为不同的序列。\n\n如果当前图表未使用 Date Histogram 或时间间隔函数,则无论使用什么函数,`overall_min` 都将计算所有维度的最小值\n\n例如:范围的百分比\n`(sum(bytes) - overall_min(sum(bytes)) / (overall_max(sum(bytes)) - overall_min(sum(bytes)))`\n ", @@ -20206,6 +20869,7 @@ "xpack.lens.indexPattern.percentileRanks.documentation.markdown": "\n返回小于某个值的值的百分比。例如,如果某个值大于或等于 95% 的观察值,则称它处于第 95 个百分位等级\n\n例如:获取小于 100 的值的百分比:\n`percentile_rank(bytes, value=100)`\n ", "xpack.lens.indexPattern.standardDeviation.documentation.markdown": "\n返回字段的变量或差量数量。此函数仅适用于数字字段。\n\n#### 示例\n\n要获取价格的标准偏差,请使用 `standard_deviation(price)`。\n\n要获取来自英国的订单的价格方差,请使用 `square(standard_deviation(price, kql='location:UK'))`。\n ", "xpack.lens.indexPattern.time_scale.documentation.markdown": "\n\n此高级函数用于将计数和总和标准化为特定时间间隔。它允许集成所存储的已标准化为特定时间间隔的指标。\n\n此函数只能在当前图表中使用了日期直方图函数时使用。\n\n例如:将已标准化指标与其他需要标准化的指标进行比较的比率。\n`normalize_by_unit(counter_rate(max(system.diskio.write.bytes)), unit='s') / last_value(apache.status.bytes_per_second)`\n ", + "xpack.lens.indexPattern.timeRange.documentation.markdown": "\n指定的时间范围,单位为毫秒 (ms)。\n ", "xpack.lens.AggBasedLabel": "基于聚合的可视化", "xpack.lens.app.addToLibrary": "保存到库", "xpack.lens.app.cancel": "取消", @@ -20278,6 +20942,9 @@ "xpack.lens.collapse.sum": "求和", "xpack.lens.configPanel.addLayerButton": "添加图层", "xpack.lens.configPanel.experimentalLabel": "技术预览", + "xpack.lens.configPanel.loadFromLibrary": "从库中加载", + "xpack.lens.configPanel.newAnnotation": "新标注", + "xpack.lens.configPanel.selectAnnotationMethod": "选择标注方法", "xpack.lens.configPanel.selectLayerType": "选择图层类型", "xpack.lens.configPanel.selectVisualization": "选择可视化", "xpack.lens.configPanel.visualizationType": "可视化类型", @@ -20287,6 +20954,7 @@ "xpack.lens.configure.invalidConfigTooltipClick": "单击了解更多详情。", "xpack.lens.configure.invalidReferenceLineDimension": "此参考线分配给了不再存在的轴。您可以将此参考线移到其他可用的轴,或将其移除。", "xpack.lens.confirmModal.cancelButtonLabel": "取消", + "xpack.lens.content.name": "Lens 可视化", "xpack.lens.dashboardLabel": "仪表板", "xpack.lens.datatable.addLayer": "可视化", "xpack.lens.datatable.breakdownColumn": "指标拆分依据", @@ -20296,7 +20964,7 @@ "xpack.lens.datatable.breakdownRows": "行", "xpack.lens.datatable.breakdownRows.description": "按字段拆分表行。建议将其用于高基数分解。", "xpack.lens.datatable.column.help": "数据表列", - "xpack.lens.datatable.conjunctionSign": " & ", + "xpack.lens.datatable.conjunctionSign": " & ", "xpack.lens.datatable.expressionHelpLabel": "数据表呈现器", "xpack.lens.datatable.groupLabel": "表格", "xpack.lens.datatable.headingLabel": "值", @@ -20329,6 +20997,7 @@ "xpack.lens.editorFrame.layerSettings.headingAppearance": "外观", "xpack.lens.editorFrame.layerSettings.headingData": "数据", "xpack.lens.editorFrame.layerSettingsTitle": "图层设置", + "xpack.lens.editorFrame.loadFromLibrary": "从库中选择标注", "xpack.lens.editorFrame.networkErrorMessage": "网络错误,请稍后重试或联系管理员。", "xpack.lens.editorFrame.optionalDimensionLabel": "可选", "xpack.lens.editorFrame.previewErrorLabel": "预览呈现失败", @@ -20394,6 +21063,8 @@ "xpack.lens.formulaDocumentation.columnCalculationSectionDescription": "每行都执行这些函数,但系统会为这些函数提供整列作为上下文。这也称作窗口函数。", "xpack.lens.formulaDocumentation.comparisonSection": "对比", "xpack.lens.formulaDocumentation.comparisonSectionDescription": "这些函数用于执行值比较。", + "xpack.lens.formulaDocumentation.constantsSection": "Kibana 上下文", + "xpack.lens.formulaDocumentation.constantsSectionDescription": "这些函数用于检索 Kibana 上下文变量,它们包括日期直方图 `interval`、当前 `now` 和选定 `time_range`,并帮助您计算日期数学运算。", "xpack.lens.formulaDocumentation.elasticsearchSection": "Elasticsearch", "xpack.lens.formulaDocumentation.elasticsearchSectionDescription": "在原始文档上结果列表的每行都将执行这些函数,从而将匹配分解维度的所有文档聚合成单值。", "xpack.lens.formulaDocumentation.filterRatio": "筛选比", @@ -20477,6 +21148,7 @@ "xpack.lens.indexPattern.chooseFieldLabel": "要使用此函数,请选择字段。", "xpack.lens.indexPattern.chooseSubFunction": "选择子函数", "xpack.lens.indexPattern.columnFormatLabel": "值格式", + "xpack.lens.indexPattern.compactLabel": "紧凑值", "xpack.lens.indexPattern.count": "计数", "xpack.lens.indexPattern.count.documentation.quick": "\n文档总数。提供字段时,将计算字段值的总数。将计数函数用于单个文档中具有多个值的字段时,将对所有值计数。\n ", "xpack.lens.indexPattern.count.signature": "[字段:字符串]", @@ -20487,6 +21159,8 @@ "xpack.lens.indexPattern.cumulative_sum.signature": "指标:数字", "xpack.lens.indexPattern.cumulativeSum": "累计和", "xpack.lens.indexPattern.cumulativeSum.documentation.quick": "\n 随时间增长的所有值的总和。\n ", + "xpack.lens.indexPattern.custom.patternLabel": "格式", + "xpack.lens.indexPattern.customFormatLabel": "定制格式", "xpack.lens.indexPattern.dataViewLoadError": "加载数据视图时出错", "xpack.lens.indexPattern.dateHistogram": "Date Histogram", "xpack.lens.indexPattern.dateHistogram.autoAdvancedExplanation": "时间间隔遵循以下逻辑:", @@ -20507,6 +21181,8 @@ "xpack.lens.indexPattern.dateHistogram.selectOptionHelpText": "选择选项或创建定制值。", "xpack.lens.indexPattern.dateHistogram.titleHelp": "日期直方图的工作原理", "xpack.lens.indexPattern.dateHistogram.upTo": "最多", + "xpack.lens.indexPattern.dateRange.dataViewNoTimeBased": "当前数据视图并非基于时间", + "xpack.lens.indexPattern.dateRange.noTimeRange": "当前时间范围时间间隔不可用", "xpack.lens.indexPattern.decimalPlacesLabel": "小数", "xpack.lens.indexPattern.defaultFormatLabel": "默认", "xpack.lens.indexPattern.derivative": "差异", @@ -20553,6 +21229,8 @@ "xpack.lens.indexPattern.helpPartiallyApplicableFunctionLabel": "此函数可能只返回部分结果,因为它不支持整个时间范围的已汇总/打包历史数据。", "xpack.lens.indexPattern.hideZero": "隐藏零值", "xpack.lens.indexPattern.incompleteOperation": "(不完整)", + "xpack.lens.indexPattern.interval.noDateHistogramColumn": "无法计算未配置日期直方图列的时间间隔", + "xpack.lens.indexPattern.interval.noTimeRange": "当前时间范围时间间隔不可用", "xpack.lens.indexPattern.intervals": "时间间隔", "xpack.lens.indexPattern.invalidFieldLabel": "字段无效。检查数据视图或选取其他字段。", "xpack.lens.indexPattern.invalidOperationLabel": "此字段不适用于选定函数。", @@ -20643,7 +21321,7 @@ "xpack.lens.indexPattern.ranges.increaseButtonLabel": "增加粒度", "xpack.lens.indexPattern.ranges.lessThanOrEqualAppend": "≤", "xpack.lens.indexPattern.ranges.lessThanOrEqualTooltip": "小于或等于", - "xpack.lens.indexPattern.ranges.lessThanPrepend": "<", + "xpack.lens.indexPattern.ranges.lessThanPrepend": "<", "xpack.lens.indexPattern.ranges.lessThanTooltip": "小于", "xpack.lens.indexPattern.records": "记录", "xpack.lens.indexPattern.reducedTimeRange.15m": "15 分钟 (15m)", @@ -20701,6 +21379,7 @@ "xpack.lens.indexPattern.terms.orderDescending": "降序", "xpack.lens.indexPattern.terms.orderDirection": "排名方向", "xpack.lens.indexPattern.terms.orderRare": "稀有度", + "xpack.lens.indexPattern.terms.orderSignificant": "意义", "xpack.lens.indexPattern.terms.otherBucketDescription": "将其余值分组为“其他”", "xpack.lens.indexPattern.terms.otherLabel": "其他", "xpack.lens.indexPattern.terms.percentile.": "百分位等级", @@ -20737,6 +21416,12 @@ "xpack.lens.label.gauge.labelMinor.header": "子标题", "xpack.lens.label.header": "标签", "xpack.lens.label.shared.axisHeader": "轴标题", + "xpack.lens.label.tagcloud.fontSizeLabel": "字体大小", + "xpack.lens.label.tagcloud.orientation.multiple": "多个", + "xpack.lens.label.tagcloud.orientation.rightAngled": "直角", + "xpack.lens.label.tagcloud.orientation.single": "单个", + "xpack.lens.label.tagcloud.orientationLabel": "方向", + "xpack.lens.label.tagcloud.showLabel": "显示标签", "xpack.lens.labelInput.label": "标签", "xpack.lens.layer.actions.contextMenuAriaLabel": "图层操作", "xpack.lens.layer.cancelDelete": "取消", @@ -20748,10 +21433,14 @@ "xpack.lens.layer.confirmModal.deleteRefLine": "删除此图层会移除参考线及其配置。", "xpack.lens.layer.confirmModal.deleteVis": "删除此图层会移除可视化及其配置。", "xpack.lens.layer.confirmModal.dontAskAgain": "不再询问我", + "xpack.lens.layer.revertModal.revertAnnotationGroupDescription": "此操作将移除您做出的所有未保存更改,并将此标注组的最近保存版本还原到您的可视化。无法还原任何丢失的未保存更改。", + "xpack.lens.layer.unlinkConfirm": "恢复更改", "xpack.lens.layerActions.layerSettingsAction": "图层设置", "xpack.lens.layerPanel.ignoreGlobalFilters": "忽略全局筛选", "xpack.lens.layerPanel.layerVisualizationType": "图层可视化类型", "xpack.lens.layerPanel.missingDataView": "找不到数据视图", + "xpack.lens.layerSettings.ignoreGlobalFilters": "使用全局筛选", + "xpack.lens.layerTitle.fallbackLabel": "图层", "xpack.lens.legacyMetric.addLayer": "可视化", "xpack.lens.legacyMetric.alignLabel.center": "中间对齐", "xpack.lens.legacyMetric.alignLabel.left": "左对齐", @@ -20775,7 +21464,14 @@ "xpack.lens.legacyMetric.titlePositions.top": "顶部", "xpack.lens.legacyUrlConflict.objectNoun": "Lens 可视化", "xpack.lens.lensSavedObjectLabel": "Lens 可视化", + "xpack.lens.lineCurve.smooth": "平滑", + "xpack.lens.lineCurve.step": "步骤", + "xpack.lens.lineCurve.straight": "直线", + "xpack.lens.lineCurveDescription.smooth": "点之间的平滑线", + "xpack.lens.lineCurveDescription.step": "点之间的阶梯线", + "xpack.lens.lineCurveDescription.straight": "点之间的直线", "xpack.lens.lineMarker.positionRequirementTooltip": "必须选择图标或显示名称才能更改其位置", + "xpack.lens.loadAnnotationsLibrary.cancel": "取消", "xpack.lens.metric.addLayer": "可视化", "xpack.lens.metric.breakdownBy": "细分方式", "xpack.lens.metric.color": "颜色", @@ -20985,6 +21681,11 @@ "xpack.lens.table.visualOptionsHeaderRowHeightLabel": "标题行高", "xpack.lens.table.visualOptionsPaginateTable": "对表分页", "xpack.lens.table.visualOptionsPaginateTableTooltip": "如果小于 10 项,将隐藏分页", + "xpack.lens.tagcloud.addLayer": "添加可视化图层", + "xpack.lens.tagcloud.appearanceLabel": "外观", + "xpack.lens.tagcloud.label": "标签云图", + "xpack.lens.tagcloud.metricValueLabel": "指标", + "xpack.lens.tagcloud.tagLabel": "标签", "xpack.lens.textBasedLanguages.chooseField": "字段", "xpack.lens.textBasedLanguages.missingField": "缺失字段", "xpack.lens.timeScale.normalizeNone": "无", @@ -21008,6 +21709,17 @@ "xpack.lens.xyChart.addReferenceLineLayerLabel": "参考线", "xpack.lens.xyChart.addReferenceLineLayerLabelDisabledHelp": "添加一些数据以启用参考图层", "xpack.lens.xyChart.annotationError.timeFieldEmpty": "缺少时间字段", + "xpack.lens.xyChart.annotations.addAnnotationGroupToLibraryDescription": "将标注组另存为独立的已保存对象", + "xpack.lens.xyChart.annotations.notificationRevertedExplanation": "已还原此标注组的最近保存版本。", + "xpack.lens.xyChart.annotations.revertChanges": "恢复更改", + "xpack.lens.xyChart.annotations.revertChangesDescription": "将标注组恢复到最后保存的状态。", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary": "保存标注组", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.annotationLibrary": "标注库", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.confirmButton": "保存组", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.modalTitle": "将标注组保存到库中", + "xpack.lens.xyChart.annotations.saveAnnotationGroupToLibrary.objectType": "组", + "xpack.lens.xyChart.annotations.unlinkFromLibrary": "取消与库的链接", + "xpack.lens.xyChart.annotations.unlinksFromLibrary": "将标注组另存为 Lens 已保存对象的一部分", "xpack.lens.xyChart.axisOrientation.angled": "带角度", "xpack.lens.xyChart.axisOrientation.horizontal": "水平", "xpack.lens.xyChart.axisOrientation.label": "方向", @@ -21056,6 +21768,7 @@ "xpack.lens.xyChart.legendVisibility.hide": "隐藏", "xpack.lens.xyChart.legendVisibility.show": "显示", "xpack.lens.xyChart.lineColor.label": "颜色", + "xpack.lens.xyChart.lineInterpolationLabel": "直线插补", "xpack.lens.xyChart.lineMarker.auto": "自动", "xpack.lens.xyChart.lineMarker.position": "装饰位置", "xpack.lens.xyChart.markerPosition.above": "顶部", @@ -21077,6 +21790,7 @@ "xpack.lens.xyChart.splitSeries": "细目", "xpack.lens.xyChart.topAxisDisabledHelpText": "此设置仅在启用顶轴时应用。", "xpack.lens.xyChart.topAxisLabel": "顶轴", + "xpack.lens.xyChart.unsavedChanges": "未保存的更改", "xpack.lens.xyChart.valuesHistogramDisabledHelpText": "不能在直方图上更改此设置。", "xpack.lens.xyChart.valuesPercentageDisabledHelpText": "不能在百分比面积图上更改此设置。", "xpack.lens.xyChart.valuesStackedDisabledHelpText": "不能在堆积图或百分比条形图上更改此设置", @@ -21090,7 +21804,7 @@ "xpack.lens.xySuggestions.lineChartTitle": "折线图", "xpack.lens.xySuggestions.stackedChartTitle": "堆叠", "xpack.lens.xySuggestions.unstackedChartTitle": "非堆叠", - "xpack.lens.xySuggestions.yAxixConjunctionSign": " & ", + "xpack.lens.xySuggestions.yAxixConjunctionSign": " & ", "xpack.lens.xyVisualization.areaLabel": "面积图", "xpack.lens.xyVisualization.barGroupLabel": "条形图", "xpack.lens.xyVisualization.barHorizontalFullLabel": "水平条形图", @@ -21289,7 +22003,7 @@ "xpack.logstash.queueMaxBytesTooltip": "队列的总容量(字节数)。确保您的磁盘驱动器容量大于您在此处指定的值。\n\n默认值:1024mb (1g)", "xpack.logstash.queueTypes.memoryLabel": "memory", "xpack.logstash.queueTypes.persistedLabel": "persisted", - "xpack.logstash.queueTypeTooltip": "用于事件缓冲的内部排队模型。为内存内排队指定 memory,或为基于磁盘的已确认排队指定 persisted\n\n默认值:memory", + "xpack.logstash.queueTypeTooltip": "用于事件缓冲的内部排队模型。为内存内排队指定“内存”,或为基于磁盘的已确认排队指定“持久”\n\n默认值:memory", "xpack.logstash.units.bytesLabel": "字节", "xpack.logstash.units.gigabytesLabel": "千兆字节", "xpack.logstash.units.kilobytesLabel": "千字节", @@ -21301,6 +22015,8 @@ "xpack.maps.blendedVectorLayer.clusteredLayerName": "集群 {displayName}", "xpack.maps.common.esSpatialRelation.clusterFilterLabel": "相交集群 {gridId}", "xpack.maps.deleteLayerConfirmModal.multiLayerWarning": "移除此图层还会移除 {numChildren} 个嵌套{numChildren, plural, other {图层}}。", + "xpack.maps.distanceSource.requestDescription": "获取指标的数据视图:{dataViewName}、地理空间字段:{geoFieldName}", + "xpack.maps.distanceSource.requestName": "距离联接请求内的 {leftSourceName}", "xpack.maps.embeddable.boundsFilterLabel": "地图边界内的 {geoFieldsLabel}", "xpack.maps.es_geo_utils.convert.unsupportedGeometryTypeErrorMessage": "无法将 {geometryType} 几何图形转换成 geojson,不支持", "xpack.maps.es_geo_utils.distanceFilterAlias": "{pointLabel} {distanceKm}km 内", @@ -21314,6 +22030,10 @@ "xpack.maps.esSearch.topHitsEntitiesCountMsg": "找到 {entityCount} 个实体。", "xpack.maps.esSearch.topHitsResultsTrimmedMsg": "结果限制为 ~{totalEntities} 个实体中的前 {entityCount} 个。", "xpack.maps.esSearch.topHitsSizeMsg": "显示每个实体排名前 {topHitsSize} 的文档。", + "xpack.maps.esSearchSource.requestDescription": "获取文档的数据视图:{dataViewName}、地理空间字段:{geoFieldName}", + "xpack.maps.esSearchSource.requestName": "{layerName} 文档请求", + "xpack.maps.esSearchSource.topHits.requestDescription": "获取最高命中结果的数据视图:{dataViewName}、实体:{entitiesFieldName}、地理空间字段:{geoFieldName}", + "xpack.maps.esSearchSource.topHits.requestName": "{layerName} 最高命中结果请求", "xpack.maps.fileUpload.trimmedResultsMsg": "结果仅限于 {numFeatures} 个特征、{previewCoverage}% 的文件。", "xpack.maps.filterByMapExtentMenuItem.displayName": "按地图边界筛选 {containerLabel}", "xpack.maps.filterByMapExtentMenuItem.displayNameTooltip": "当您缩放和平移地图时,{containerLabel} 会进行更新以仅显示在地图边界中可见的数据。", @@ -21322,6 +22042,8 @@ "xpack.maps.keydownScrollZoom.keydownToZoomInstructions": "使用 {key} + 滚动以缩放地图", "xpack.maps.labelPosition.iconSizeJoinFieldNotSupportMsg": "{iconSizePropertyLabel} 联接字段 {iconSizeFieldName} 不支持 {labelPositionPropertyLabel}。将 {iconSizePropertyLabel} 设置为源字段以便启用。", "xpack.maps.layer.zoomFeedbackTooltip": "图层在缩放级别 {minZoom} 和 {maxZoom} 之间可见。", + "xpack.maps.layerPanel.join.joinExpression.noEditorMsg": "无法编辑 {type} 联接。", + "xpack.maps.layerPanel.joinEditor.spatialJoin.disabled.esSourceOnly": "{sourceType} 不支持空间联接。", "xpack.maps.layerPanel.metricsExpression.useMetricsDescription": "{metricsLength, plural, other {并使用指标}}", "xpack.maps.layers.newVectorLayerWizard.createIndexError": "无法使用名称 {message} 创建索引", "xpack.maps.layers.newVectorLayerWizard.indexPermissionsError": "必须具有“create”和“create_index”索引权限才能创建数据并将其写入到“{indexName}”。", @@ -21334,6 +22056,7 @@ "xpack.maps.mask.maskLabel": "隐藏 {hideNoun}", "xpack.maps.mask.whenJoinMetric": "{whenLabel} 联接指标", "xpack.maps.maskLegend.is": "{aggLabel} 为", + "xpack.maps.pewPew.requestName": "{layerName} 路径请求", "xpack.maps.scalingDocs.clustersDetails": "结果超过 {maxResultWindow} 个文档时显示集群。结果数小于 {maxResultWindow} 时显示文档。", "xpack.maps.scalingDocs.limitDetails": "显示前 {maxResultWindow} 个文档中的特征。", "xpack.maps.scalingDocs.maxResultWindow": "{link} 索引设置提供的 {maxResultWindow} 限制。", @@ -21348,22 +22071,36 @@ "xpack.maps.source.emsTile.unableToFindTileIdErrorMessage": "找不到 ID 为 {id} 的 EMS 磁贴配置。{info}", "xpack.maps.source.emsTileSourceDescription": "来自 {host} 的基础地图服务", "xpack.maps.source.esAggSource.topTermLabel": "排名靠前 {fieldLabel}", - "xpack.maps.source.esGeoLine.entityRequestName": "{layerName} 实体", - "xpack.maps.source.esGeoLine.trackRequestName": "{layerName} 轨迹", + "xpack.maps.source.esGeoLine.entityRequestDescription": "获取地图缓冲内实体的数据视图:{dataViewName}、实体:{splitFieldName}", + "xpack.maps.source.esGeoLine.entityRequestName": "{layerName} 实体请求", + "xpack.maps.source.esGeoLine.trackRequestDescription": "获取 {numEntities} 个实体的轨迹的数据视图:{dataViewName}、地理空间字段:{geoFieldName}", + "xpack.maps.source.esGeoLine.trackRequestName": "{layerName} 轨迹请求", "xpack.maps.source.esGeoLineDisabledReason": "{title} 需要黄金级许可证。", + "xpack.maps.source.esGrid.compositeInspector.requestName": "{layerName} {bucketsName} 组合请求 ({requestCount})", + "xpack.maps.source.esGrid.compositeInspectorDescription": "获取 {bucketsName} 的数据视图:{dataViewName}、地理空间字段:{geoFieldName}", "xpack.maps.source.esGrid.compositePaginationErrorMessage": "{layerName} 正导致过多的请求。降低“网格分辨率”和/或减少热门词“指标”的数量。", + "xpack.maps.source.esGrid.inspector.requestDescription": "获取 {bucketsName} 的数据视图:{dataViewName}、地理空间字段:{geoFieldName}", + "xpack.maps.source.esGrid.inspector.requestName": "{layerName} {bucketsName} 请求", "xpack.maps.source.esGrid.resolutionParamErrorMessage": "无法识别网格分辨率参数:{resolution}", "xpack.maps.source.esJoin.countLabel": "{indexPatternLabel} 的计数", "xpack.maps.source.esSearch.clusterScalingLabel": "结果超过 {maxResultWindow} 个时显示集群", "xpack.maps.source.esSearch.convertToGeoJsonErrorMsg": "无法将搜索响应转换成 geoJson 功能集合,错误:{errorMsg}", "xpack.maps.source.esSearch.limitScalingLabel": "将结果数限制到 {maxResultWindow}", "xpack.maps.source.esSearch.loadTooltipPropertiesErrorMsg": "找不到文档,_id:{docId}", - "xpack.maps.source.esSearch.mvtScalingJoinMsg": "矢量磁贴支持一个词联接。您的图层具有 {numberOfJoins} 个词联接。切换到矢量磁贴会保留第一个词联接,并从图层配置中移除所有其他词联接。", + "xpack.maps.source.esSearch.mvtScalingJoinMsg": "矢量磁贴支持一个词联接。您的图层具有 {numberOfJoins} 个联接。切换到矢量磁贴会保留第一个词联接,并从图层配置中移除所有其他联接。", "xpack.maps.source.esSource.noGeoFieldErrorMessage": "数据视图“{indexPatternLabel}”不再包含地理字段“{geoField}”", "xpack.maps.source.esSource.requestFailedErrorMessage": "Elasticsearch 搜索请求失败,错误:{message}", "xpack.maps.source.esSource.stylePropsMetaRequestName": "{layerName} - 元数据", "xpack.maps.source.MVTSingleLayerVectorSourceEditor.urlHelpMessage": ".mvt 矢量磁帖服务的 URL。例如 {url}", + "xpack.maps.source.pewPew.inspectorDescription": "获取路径的数据视图:{dataViewName}、源:{sourceFieldName}、目标:{destFieldName}", + "xpack.maps.spatialJoin.wizardForm.withinExpressionValue": "图层特征的 {distance} {units}", + "xpack.maps.spatialJoinExpression.noDataViewTitle": "无法加载数据视图 {dataViewId}。", + "xpack.maps.spatialJoinExpression.value": "{geoField} 中的特征", "xpack.maps.style.fieldSelect.OriginLabel": "来自 {fieldOrigin} 的字段", + "xpack.maps.termJoinExpression.topTerms": "排名靠前 {size}", + "xpack.maps.termJoinExpression.value": "来自 {term} 的 {topTerms} 词", + "xpack.maps.termSource.requestDescription": "获取指标的数据视图:{dataViewName}、词字段:{termFieldName}", + "xpack.maps.termSource.requestName": "{leftSourceName} 词联接请求", "xpack.maps.tiles.resultsCompleteMsg": "找到 {countPrefix}{count} 个文档。", "xpack.maps.tiles.resultsTrimmedMsg": "结果仅限为 {countPrefix}{count} 个文档。", "xpack.maps.tileStatusTracker.layerErrorMsg": "无法加载 {count} 个磁贴:{tileErrors}", @@ -21461,6 +22198,7 @@ "xpack.maps.emsVectorTileLayer.layerDescription": "Elastic Maps Service (EMS) 提供的参考地图。", "xpack.maps.emsVectorTileStyleEditor.colorBlendPickerLabel": "颜色融合", "xpack.maps.emsVectorTileStyleEditor.colorBlendPickerPlaceholder": "无颜色", + "xpack.maps.esDistanceSource.noFeatureCollectionMsg": "无法执行距离联接,未提供特征。要启用距离联接,请在“缩放”中选择“限制结果”", "xpack.maps.esSearch.scaleTitle": "缩放", "xpack.maps.esSearch.sortTitle": "排序", "xpack.maps.esSearch.tooltipsTitle": "工具提示字段", @@ -21497,6 +22235,8 @@ "xpack.maps.indexData.indexExists": "找不到索引“{index}”。必须提供有效的索引", "xpack.maps.indexSettings.fetchErrorMsg": "无法提取数据视图“{indexPatternTitle}”的索引设置。\n 确保您具有“{viewIndexMetaRole}”角色。", "xpack.maps.initialLayers.unableToParseTitle": "初始图层未添加到地图", + "xpack.maps.input.fieldSelectPlaceholder": "选择字段", + "xpack.maps.input.relationshipLabel": "关系", "xpack.maps.inspector.centerLatLabel": "中心纬度", "xpack.maps.inspector.centerLonLabel": "中心经度", "xpack.maps.inspector.mapboxStyleTitle": "Mapbox 样式", @@ -21513,9 +22253,13 @@ "xpack.maps.inspector.vectorTileViewHelpText": "查看用于收集数据的矢量磁贴搜索请求", "xpack.maps.inspector.vectorTileViewTitle": "矢量磁贴", "xpack.maps.inspector.zoomLabel": "缩放", - "xpack.maps.joinDocs.intro": "词联接会利用属性增强图层,以实现数据驱动的样式。词联接的工作方式如下:", + "xpack.maps.joinDocs.intro": "联接会将指标添加到图层特征,以实现数据驱动的样式和工具提示内容。", "xpack.maps.joinDocs.linkLabel": "词联接示例", - "xpack.maps.joinDocs.noMatches": "没有对应词聚合存储桶的特征在地图中不可见。", + "xpack.maps.joinDocs.noMatches": "具有匹配项的图层特征在地图上不可见。", + "xpack.maps.joinDocs.spatialJoinIntro": "空间联接使用地理空间关系将图层特征与 Elasticsearch 地理查询筛选聚合中的指标组合在一起。", + "xpack.maps.joinDocs.spatialJoinTitle": "空间联接", + "xpack.maps.joinDocs.termJoinTitle": "词联接", + "xpack.maps.joinDocs.termsJoinIntro": "词联接使用共享密钥将图层特征与 Elasticsearch 词聚合中的指标组合在一起。", "xpack.maps.keydownScrollZoom.keydownClickAndDragZoomInstructions": "使用 shift + 单击并拖动以缩放地图,使其适应边界框", "xpack.maps.kilometersAbbr": "km", "xpack.maps.layer.isUsingBoundsFilter": "可见地图区域缩减的结果", @@ -21553,10 +22297,16 @@ "xpack.maps.layerPanel.join.applyGlobalTimeCheckboxLabel": "应用全局时间到联接", "xpack.maps.layerPanel.join.deleteJoinAriaLabel": "删除联接", "xpack.maps.layerPanel.join.deleteJoinTitle": "删除联接", + "xpack.maps.layerPanel.joinEditor.spatialJoin.addButtonLabel": "添加空间联接", + "xpack.maps.layerPanel.joinEditor.spatialJoin.disabled.geoJsonOnly": "矢量磁贴不支持空间联接。", + "xpack.maps.layerPanel.joinEditor.spatialJoin.disabled.pointsOnly": "geo_shape 几何图形不支持空间联接。", + "xpack.maps.layerPanel.joinEditor.termJoin.addButtonLabel": "添加词联接", + "xpack.maps.layerPanel.joinEditor.termJoin.mvtSingleJoinMsg": "矢量磁贴只能支持单一联接。", + "xpack.maps.layerPanel.joinEditor.title": "联接", "xpack.maps.layerPanel.layerSettingsTitle": "图层设置", - "xpack.maps.layerPanel.metricsExpression.helpText": "配置右源的指标。这些值已添加到图层功能。", + "xpack.maps.layerPanel.metricsExpression.helpText": "指标将添加到图层特征,并用于数据驱动的样式和工具提示内容。", "xpack.maps.layerPanel.metricsExpression.joinMustBeSetErrorMessage": "必须设置联接", - "xpack.maps.layerPanel.metricsExpression.metricsPopoverTitle": "指标", + "xpack.maps.layerPanel.metricsExpression.metricsPopoverTitle": "配置联接指标", "xpack.maps.layerPanel.settingsPanel.DisableTooltips": "显示工具提示", "xpack.maps.layerPanel.settingsPanel.fittableFlagLabel": "在数据边界契合计算中包括图层", "xpack.maps.layerPanel.settingsPanel.fittableFlagTooltip": "数据边界契合将调整您的地图范围以显示您的所有数据。图层可以提供参考数据,不应包括在数据边界契合计算中。使用此选项可从数据边界契合计算中排除图层。", @@ -21714,13 +22464,16 @@ "xpack.maps.sampleData.flightsSpec.mapsTitle": "[Flights] 始发地时间延迟", "xpack.maps.sampleDataLinkLabel": "地图", "xpack.maps.saveDuplicateRejectedDescription": "已拒绝使用重复标题保存确认", - "xpack.maps.scalingDocs.clustersUseCase": "使用此选项可显示大型数据集。不支持词联接。", + "xpack.maps.scalingDocs.clustersUseCase": "使用此选项可显示大型数据集。", + "xpack.maps.scalingDocs.doesNotSupportJoins": "不支持联接。", "xpack.maps.scalingDocs.limitUseCase.formatLabels": "格式化标签", - "xpack.maps.scalingDocs.limitUseCase.joinFieldsWithLayoutStyles": "来自具有“标签”、“标签大小”、图标“符号大小”和“符号方向”样式属性的词联接指标的数据驱动样式", - "xpack.maps.scalingDocs.limitUseCase.multipleJoins": "多个词联接", + "xpack.maps.scalingDocs.limitUseCase.joinFieldsWithLayoutStyles": "来自具有“标签”、“标签大小”、图标“符号大小”和“符号方向”样式属性的联接指标的数据驱动样式", + "xpack.maps.scalingDocs.limitUseCase.multipleJoins": "空间联接", "xpack.maps.scalingDocs.limitUseCase.scriptedFields": "来自脚本字段的数据驱动的样式", + "xpack.maps.scalingDocs.limitUseCase.spatialJoins": "多个词联接", "xpack.maps.scalingDocs.limitUseCases": "由于以下原因无法使用矢量磁贴时使用此选项:", "xpack.maps.scalingDocs.mvtUseCase": "使用此选项可显示加载时间最快的大型数据集。", + "xpack.maps.scalingDocs.title": "缩放", "xpack.maps.security.desc": "安全层", "xpack.maps.security.disabledDesc": "找不到安全数据视图。要开始使用“安全性”,请前往“安全性”>“概览”。", "xpack.maps.security.title": "安全", @@ -21792,12 +22545,12 @@ "xpack.maps.source.esGrid.vectorTileModal.confirmBtnLabel": "接受", "xpack.maps.source.esGrid.vectorTileModal.message": "高分辨率使用来自 Elasticsearch 矢量磁贴 API 的矢量磁贴。Elasticsearch 矢量磁贴 API 不支持“排名最前字词”指标。切换到超精细网格分辨率将从您的图层配置中移除所有“排名最前字词”指标。", "xpack.maps.source.esGrid.vectorTileModal.title": "不支持“排名最前字词”指标", - "xpack.maps.source.esGridClustersDescription": "将 Elasticsearch 文档分组成网格和六边形,并显示每个组的指标", + "xpack.maps.source.esGridClustersDescription": "将文档分组成网格和六边形", "xpack.maps.source.esGridClustersTitle": "集群", - "xpack.maps.source.esGridHeatmapDescription": "地理空间数据以网格进行分组以显示密度", + "xpack.maps.source.esGridHeatmapDescription": "将文档分组成网格以显示密度", "xpack.maps.source.esGridHeatmapTitle": "热图", "xpack.maps.source.esSearch.ascendingLabel": "升序", - "xpack.maps.source.esSearch.clusterScalingJoinMsg": "与集群一起缩放不支持词联接。切换到集群将从您的图层配置中移除所有词联接。", + "xpack.maps.source.esSearch.clusterScalingJoinMsg": "与集群一起缩放不支持联接。切换到集群将从您的图层配置中移除所有联接。", "xpack.maps.source.esSearch.descendingLabel": "降序", "xpack.maps.source.esSearch.extentFilterLabel": "在可见地图区域中动态筛留数据", "xpack.maps.source.esSearch.fieldNotFoundMsg": "在索引模式“{indexPatternName}”中找不到“{fieldName}”。", @@ -21806,6 +22559,7 @@ "xpack.maps.source.esSearch.geoFieldTypeLabel": "地理空间字段类型", "xpack.maps.source.esSearch.indexOverOneLengthEditError": "您的数据视图指向多个索引。每个数据视图只允许一个索引。", "xpack.maps.source.esSearch.indexZeroLengthEditError": "您的数据视图未指向任何索引。", + "xpack.maps.source.esSearch.mvtNoSpatialJoinMsg": "矢量磁贴不支持空间联接。切换到矢量磁贴将从您的图层配置中移除所有空间联接。", "xpack.maps.source.esSearch.scalingModal.cancelBtnLabel": "取消", "xpack.maps.source.esSearch.scalingModal.confirmBtnLabel": "接受", "xpack.maps.source.esSearch.scalingModal.title": "是否移除不受支持的配置?", @@ -21863,6 +22617,18 @@ "xpack.maps.source.wms.urlLabel": "URL", "xpack.maps.source.wmsDescription": "来自 OGC 标准 WMS 的地图", "xpack.maps.source.wmsTitle": "Web 地图服务", + "xpack.maps.spatialJoin.wizard.leftSourceTitle": "图层特征源", + "xpack.maps.spatialJoin.wizardForm.distanceInputAriaLabel": "距离输入", + "xpack.maps.spatialJoin.wizardForm.distanceLabel": "距离", + "xpack.maps.spatialJoin.wizardForm.invalidDistanceMessage": "值必须为大于零的数字", + "xpack.maps.spatialJoin.wizardForm.kilometersAbbreviation": "km", + "xpack.maps.spatialJoin.wizardForm.rightSourceTitle": "联接源", + "xpack.maps.spatialJoin.wizardForm.withinExpressionDescription": "之内", + "xpack.maps.spatialJoinExpression.description": "联接到", + "xpack.maps.spatialJoinExpression.emptyValue": "-- 配置空间联接 --", + "xpack.maps.spatialJoinExpression.popoverTitle": "配置空间联接", + "xpack.maps.spatialJoinWizard.description": "按地理空间关系对文档分组", + "xpack.maps.spatialJoinWizard.title": "空间联接", "xpack.maps.style.customColorPaletteLabel": "定制调色板", "xpack.maps.style.customColorRampLabel": "定制颜色渐变", "xpack.maps.style.field.unsupportedWithVectorTileMsg": "“{styleLabel}”不支持这个具有矢量磁贴的字段。要通过此字段为“{styleLabel}”提供样式,请在“缩放”中选择“限制结果”。", @@ -21940,6 +22706,18 @@ "xpack.maps.synchronizeMovementAction.title": "同步地图移动", "xpack.maps.synchronizeMovementAction.tooltipContent": "同步地图,以便您在一幅地图中缩放和平移时,移动情况会在其他地图中反映出来", "xpack.maps.synchronizeMovementModal.onlyOneMapSelectedError": "选择其他地图以同步地图移动", + "xpack.maps.termJoinExpression.description": "联接到", + "xpack.maps.termJoinExpression.helpText": "配置将图层特征(左源)与 Elasticsearch 聚合的结果(右源)进行组合的共享密钥。", + "xpack.maps.termJoinExpression.leftFieldLabel": "左字段", + "xpack.maps.termJoinExpression.leftSourceLabel": "左源", + "xpack.maps.termJoinExpression.leftSourceLabelHelpText": "包含共享密钥的左源字段。", + "xpack.maps.termJoinExpression.placeholder": "-- 配置词联接 --", + "xpack.maps.termJoinExpression.popoverTitle": "配置词联接", + "xpack.maps.termJoinExpression.rightFieldLabel": "右字段", + "xpack.maps.termJoinExpression.rightSizeHelpText": "右字段词限制。", + "xpack.maps.termJoinExpression.rightSizeLabel": "右大小", + "xpack.maps.termJoinExpression.rightSourceLabel": "右源", + "xpack.maps.termJoinExpression.rightSourceLabelHelpText": "包含共享密钥的右源字段。", "xpack.maps.tileMap.function.help": "磁贴地图可视化", "xpack.maps.tileMap.vis.description": "在地图上绘制纬度和经度坐标", "xpack.maps.tileMap.vis.title": "坐标地图", @@ -22040,7 +22818,7 @@ "xpack.ml.alertTypes.anomalyDetectionAlertingRule.recoveredMessage": "过去 {lookbackInterval}未找到严重性阈值超出{severity}的异常。", "xpack.ml.alertTypes.jobsHealthAlertingRule.datafeedRecoveryMessage": "为{count, plural, other {作业}} {jobsString} 启动了数据馈送", "xpack.ml.alertTypes.jobsHealthAlertingRule.datafeedStateMessage": "没有为{count, plural, other {作业}} {jobsString} 启动数据馈送", - "xpack.ml.alertTypes.jobsHealthAlertingRule.delayedDataMessage": "{count, plural, other {作业}} {jobsString}{count, plural, other { }}受到延迟数据影响。", + "xpack.ml.alertTypes.jobsHealthAlertingRule.delayedDataMessage": "{count, plural, other {作业}} {jobsString}{count, plural, other {有}}受到延迟数据影响。", "xpack.ml.alertTypes.jobsHealthAlertingRule.errorMessagesMessage": "{count, plural, other {作业}} {jobsString} 的消息中{count, plural, other {包含}}错误。", "xpack.ml.alertTypes.jobsHealthAlertingRule.errorMessagesRecoveredMessage": "{count, plural, other {作业}}消息中没有任何错误。", "xpack.ml.alertTypes.jobsHealthAlertingRule.mmlMessage": "{count, plural, other {作业}} {jobsString} 已达到硬模型内存限制。为作业分配更多内存,并从达到硬限制之前拍摄的快照还原。", @@ -22112,7 +22890,7 @@ "xpack.ml.dataframe.analytics.create.UseResultsFieldDefaultLabel": "使用结果字段默认值:“{defaultValue}”", "xpack.ml.dataframe.analytics.create.zeroClassesMessage": "要评估 {wikiLink},请选择所有类,或者大于类总数的值。", "xpack.ml.dataframe.analytics.creationPageSourceIndexTitle": "源数据视图:{dataViewTitle}", - "xpack.ml.dataframe.analytics.dataViewPromptLink": "{linkToDataViewManagement}{destIndex}.", + "xpack.ml.dataframe.analytics.dataViewPromptLink": "{linkToDataViewManagement}{destIndex}。", "xpack.ml.dataframe.analytics.dataViewPromptMessage": "对于索引 {destIndex},不存在数据视图。", "xpack.ml.dataframe.analytics.explorationResults.firstDocumentsShownHelpText": "正在显示有相关预测存在的前 {searchSize} 个文档", "xpack.ml.dataframe.analytics.regressionExploration.generalizationDocsCount": "{docsCount, plural, other {# 个文档}}已评估", @@ -22204,7 +22982,7 @@ "xpack.ml.formatters.metricChangeDescription.moreThanOneAndFiveHundredthsxLowerDescription": "低 {factor} 倍", "xpack.ml.formatters.metricChangeDescription.moreThanOneAndHalfxHigherDescription": "高 {factor} 倍", "xpack.ml.formatters.metricChangeDescription.moreThanOneAndHalfxLowerDescription": "低 {factor} 倍", - "xpack.ml.importExport.exportFlyout.exportJobDependenciesWarningCallout.calendarList": "{num, plural, other {日历}}: {calendars}", + "xpack.ml.importExport.exportFlyout.exportJobDependenciesWarningCallout.calendarList": "{num, plural, other {日历}}:{calendars}", "xpack.ml.importExport.exportFlyout.exportJobDependenciesWarningCallout.calendarOnlyTitle": "{jobCount, plural, other {# 个作业使用}} {calendarCount, plural, other {日历}}", "xpack.ml.importExport.exportFlyout.exportJobDependenciesWarningCallout.filterAndCalendarTitle": "{jobCount, plural, other {# 个作业使用}}筛选列表和日历", "xpack.ml.importExport.exportFlyout.exportJobDependenciesWarningCallout.filterList": "筛选{num, plural, other {列表}}:{filters}", @@ -22222,9 +23000,9 @@ "xpack.ml.influencersList.totalAnomalyScoreTooltipDescription": "总异常分数:{totalScoreLabel}", "xpack.ml.itemsGrid.itemsCountLabel": "{pageSize} 项", "xpack.ml.itemsGrid.itemsPerPageButtonLabel": "每页中的项:{itemsPerPage}", - "xpack.ml.jobsAwaitingNodeWarning.noMLNodesAvailableDescription": "有{jobCount, plural, other { }}{jobCount, plural, other {# 个作业}}等待 Machine Learning 节点启动。", + "xpack.ml.jobsAwaitingNodeWarning.noMLNodesAvailableDescription": "有{jobCount, plural, other {有}}{jobCount, plural, other {# 个作业}}等待 Machine Learning 节点启动。", "xpack.ml.jobsAwaitingNodeWarningShared.isCloud.link": "您可以在 {link} 中监测进度。", - "xpack.ml.jobsAwaitingNodeWarningShared.noMLNodesAvailableDescription": "有{jobCount, plural, other { }}{jobCount, plural, other {# 个作业}}等待 Machine Learning 节点启动。", + "xpack.ml.jobsAwaitingNodeWarningShared.noMLNodesAvailableDescription": "有{jobCount, plural, other {有}}{jobCount, plural, other {# 个作业}}等待 Machine Learning 节点启动。", "xpack.ml.jobsAwaitingNodeWarningShared.notCloud": "仅 Elastic Cloud 部署可以自动扩展;必须添加 Machine Learning 节点。{link}", "xpack.ml.jobSelect.requestedJobsDoesNotExistWarningMessage": "请求的\n{invalidIdsLength, plural, other {作业 {invalidIds} 不存在}}", "xpack.ml.jobSelectList.groupTimeRangeLabel": "{fromString} 至 {toString}", @@ -22274,7 +23052,7 @@ "xpack.ml.jobsList.startDatafeedsConfirmModal.closeButtonLabel": "关闭{jobsCount, plural, other {作业}}", "xpack.ml.jobsList.startDatafeedsModal.startManagedDatafeedsDescription": "{jobsCount, plural, other {至少一个此类作业}}由 Elastic 预配置;以特定结束时间启动{jobsCount, plural, other {这些作业}}可能会影响该产品的其他部分。", "xpack.ml.jobsList.stopDatafeedsConfirmModal.stopButtonLabel": "停止{jobsCount, plural, other {数据馈送}}", - "xpack.ml.managedJobsWarningCallout": "{jobsCount, plural, other {至少一个此类作业}}由 Elastic 预配置;{action} {jobsCount, plural, other {这些作业}}可能会影响该产品的其他部分。", + "xpack.ml.managedJobsWarningCallout": "{jobsCount, plural, other {至少一个此类作业}}由 Elastic 预配置;{action} {jobsCount, plural, other {这些值}}可能会影响该产品的其他部分。", "xpack.ml.management.jobsSpacesList.updateSpaces.error": "更新 {id} 时出错", "xpack.ml.management.syncSavedObjectsFlyout.datafeedsAdded.title": "缺失数据馈送的已保存对象 ({count})", "xpack.ml.management.syncSavedObjectsFlyout.datafeedsRemoved.title": "具有不匹配数据馈送 ID 的已保存对象 ({count})", @@ -22454,13 +23232,19 @@ "xpack.ml.timeSeriesExplorer.timeSeriesChart.scheduledEventsLabel": "已计划事件{counter}", "xpack.ml.timeSeriesExplorer.timeSeriesChart.updatedAnnotationNotificationMessage": "已为 ID {jobId} 的作业更新注释。", "xpack.ml.timeSeriesExplorer.timeSeriesChart.zoomAggregationIntervalLabel": "(聚合时间间隔:{focusAggInt},存储桶跨度:{bucketSpan})", + "xpack.ml.trainedModels.modelsList.deleteModal.approvePipelinesDeletionLabel": "删除{pipelinesCount, plural, other {管道}}", + "xpack.ml.trainedModels.modelsList.deleteModal.warningMessage": "删除已训练模型及其关联的{pipelinesCount, plural, other {管道}}会永久移除这些资源。一旦您删除{pipelinesCount, plural, other {管道}},配置为向{pipelinesCount, plural, other {管道}}发送数据的任何进程都无法再这样做。仅删除已训练模型会在{pipelinesCount, plural, other {依赖}}模型的{pipelinesCount, plural, other {管道}}中导致失败。", + "xpack.ml.trainedModels.modelsList.downloadFailed": "无法下载“{modelId}”", + "xpack.ml.trainedModels.modelsList.downloadSuccess": "已成功启动“{modelId}”模型下载。", "xpack.ml.trainedModels.modelsList.fetchDeletionErrorMessage": "{modelsCount, plural, other {模型}}删除失败", "xpack.ml.trainedModels.modelsList.forceStopDialog.title": "停止{deploymentCount, plural, other {部署}}模型 {modelId}?", "xpack.ml.trainedModels.modelsList.selectedModelsMessage": "已选定 {modelsCount, plural, other {# 个模型}}", "xpack.ml.trainedModels.modelsList.startDeployment.modalTitle": "启动 {modelId} 部署", "xpack.ml.trainedModels.modelsList.startFailed": "无法启动“{modelId}”", "xpack.ml.trainedModels.modelsList.startSuccess": "已成功启动“{modelId}”的部署。", + "xpack.ml.trainedModels.modelsList.stopDeploymentWarning": "无法停止“{deploymentId}”", "xpack.ml.trainedModels.modelsList.stopFailed": "无法停止“{modelId}”", + "xpack.ml.trainedModels.modelsList.stopSuccess": "已成功停止“{modelId}”的{numberOfDeployments, plural, other {部署}}。", "xpack.ml.trainedModels.modelsList.updateDeployment.modalTitle": "更新 {modelId} 部署", "xpack.ml.trainedModels.modelsList.updateFailed": "无法更新“{modelId}”", "xpack.ml.trainedModels.modelsList.updateSuccess": "已成功更新“{modelId}”的部署。", @@ -22469,7 +23253,7 @@ "xpack.ml.trainedModels.testModelsFlyout.langIdent.output.titleUnknown": "语言代码未知:{langCode}", "xpack.ml.validateJob.modal.linkToJobTipsText": "有关更多信息,请参阅 {mlJobTipsLink}。", "xpack.ml.validateJob.modal.validateJobTitle": "验证作业 {title}", - "xpack.ml.accessDenied.description": "您无权查看 Machine Learning 插件。要访问该插件,需要 Machine Learning 功能在此工作区中可见。", + "xpack.ml.accessDenied.description": "您无权查看此页面。", "xpack.ml.actions.applyEntityFieldsFiltersTitle": "筛留值", "xpack.ml.actions.applyInfluencersFiltersTitle": "筛留值", "xpack.ml.actions.applyTimeRangeSelectionTitle": "应用时间范围选择", @@ -22663,6 +23447,7 @@ "xpack.ml.anomaliesTable.timeColumnName": "时间", "xpack.ml.anomaliesTable.typicalSortColumnName": "典型", "xpack.ml.anomalyChartsEmbeddable.errorMessage": "无法加载 ML 异常浏览器数据", + "xpack.ml.anomalyChartsEmbeddable.maxSeriesToPlotError": "要绘制的最大序列数必须介于 1 到 50 之间。", "xpack.ml.anomalyChartsEmbeddable.maxSeriesToPlotLabel": "要绘制的最大序列数目", "xpack.ml.anomalyChartsEmbeddable.panelTitleLabel": "面板标题", "xpack.ml.anomalyChartsEmbeddable.setupModal.cancelButtonLabel": "取消", @@ -22794,7 +23579,8 @@ "xpack.ml.customUrlEditorList.testCustomUrlTooltip": "测试定制 URL", "xpack.ml.customUrlEditorList.timeRangeLabel": "时间范围", "xpack.ml.customUrlEditorList.urlLabel": "URL", - "xpack.ml.customUrlsEditor.addCustomTimeRangeSwitchLabel": "添加定制时间范围切换", + "xpack.ml.customUrlsEditor.addCustomTimeRangeSwitchLabel": "添加定制时间范围", + "xpack.ml.customUrlsEditor.addIntervalTimeRangeSwitchLabel": "添加区间时间范围", "xpack.ml.customUrlsEditor.createNewCustomUrlTitle": "新建定制 URL", "xpack.ml.customUrlsEditor.customTimeRangeEndDate": "结束日期", "xpack.ml.customUrlsEditor.customTimeRangeLabel": "定制时间范围", @@ -22808,6 +23594,7 @@ "xpack.ml.customUrlsEditor.queryEntitiesLabel": "查询实体", "xpack.ml.customUrlsEditor.selectEntitiesPlaceholder": "选择实体", "xpack.ml.customUrlsEditor.timeRangeLabel": "时间范围", + "xpack.ml.customUrlsEditor.timeRangeTooltip": "如果未设置,时间范围将默认采用全局设置。", "xpack.ml.customUrlsEditor.urlLabel": "URL", "xpack.ml.customUrlsList.invalidIntervalFormatErrorMessage": "时间间隔格式无效", "xpack.ml.dataframe.analytics.classificationExploration.classificationDocsLink": "分类评估文档 ", @@ -23170,8 +23957,8 @@ "xpack.ml.dataframe.analyticsList.editFlyoutUpdateButtonText": "更新", "xpack.ml.dataframe.analyticsList.editJobFlyout.customUrlsTitle": "定制 URL", "xpack.ml.dataframe.analyticsList.editJobFlyout.jobDetailsTitle": "作业详情", - "xpack.ml.dataFrame.analyticsList.emptyPromptButtonText": "创建作业", - "xpack.ml.dataFrame.analyticsList.emptyPromptTitle": "创建您的首个数据帧分析作业", + "xpack.ml.dataFrame.analyticsList.emptyPromptButtonText": "创建数据帧分析作业", + "xpack.ml.dataFrame.analyticsList.emptyPromptTitle": "借助数据帧分析来分析您的数据", "xpack.ml.dataFrame.analyticsList.errorPromptTitle": "获取数据帧分析列表时发生错误。", "xpack.ml.dataframe.analyticsList.expandedRow.tabs.jobSettings.analysisStats": "分析统计信息", "xpack.ml.dataframe.analyticsList.expandedRow.tabs.jobSettings.dataCounts": "数据计数", @@ -23250,6 +24037,7 @@ "xpack.ml.dataGrid.invalidSortingColumnError": "列“{columnId}”无法用于排序。", "xpack.ml.dataGridChart.histogramNotAvailable": "不支持图表。", "xpack.ml.dataGridChart.notEnoughData": "0 个文档包含字段。", + "xpack.ml.dataSourceContext.errorTitle": "无法提取数据视图或已保存搜索", "xpack.ml.dataViewNotBasedOnTimeSeriesNotificationDescription": "仅针对基于时间的索引运行异常检测", "xpack.ml.dataVisualizer.dataView.docTitle": "索引数据可视化工具", "xpack.ml.dataVisualizer.docTitle": "数据可视化工具", @@ -23279,7 +24067,9 @@ "xpack.ml.datePicker.shortRefreshIntervalTimeFilterWarningMessage": "高级设置中的刷新时间间隔比支持的最小时间间隔更短。", "xpack.ml.datePicker.shortRefreshIntervalURLWarningMessage": "URL 中的刷新时间间隔比支持的最小时间间隔更短。", "xpack.ml.deepLink.aiOps": "AIOps", + "xpack.ml.deepLink.analyticsMap": "分析地图", "xpack.ml.deepLink.anomalyDetection": "异常检测", + "xpack.ml.deepLink.anomalyExplorer": "Anomaly Explorer", "xpack.ml.deepLink.calendarSettings": "日历", "xpack.ml.deepLink.changePointDetection": "更改点检测", "xpack.ml.deepLink.dataFrameAnalytics": "数据帧分析", @@ -23291,9 +24081,12 @@ "xpack.ml.deepLink.logPatternAnalysis": "日志模式分析", "xpack.ml.deepLink.memoryUsage": "内存利用率", "xpack.ml.deepLink.modelManagement": "模型管理", + "xpack.ml.deepLink.nodes": "节点", "xpack.ml.deepLink.notifications": "通知", "xpack.ml.deepLink.overview": "概览", + "xpack.ml.deepLink.resultExplorer": "结果浏览器", "xpack.ml.deepLink.settings": "设置", + "xpack.ml.deepLink.singleMetricViewer": "Single Metric Viewer", "xpack.ml.deepLink.trainedModels": "已训练模型", "xpack.ml.deleteSpaceAwareItemCheckModal.buttonTextCanUnTagConfirm": "从当前工作区中移除", "xpack.ml.deleteSpaceAwareItemCheckModal.buttonTextClose": "关闭", @@ -23485,6 +24278,7 @@ "xpack.ml.indexDatavisualizer.actionsPanel.dataframeDescription": "创建离群值检测、回归或分类分析。", "xpack.ml.indexDatavisualizer.actionsPanel.dataframeTitle": "数据帧分析", "xpack.ml.inference.modelsList.analyticsMapActionLabel": "分析地图", + "xpack.ml.inference.modelsList.downloadModelActionLabel": "下载模型", "xpack.ml.inference.modelsList.startModelDeploymentActionLabel": "开始部署", "xpack.ml.inference.modelsList.stopModelDeploymentActionLabel": "停止部署", "xpack.ml.inference.modelsList.testModelActionLabel": "测试模型", @@ -23777,7 +24571,10 @@ "xpack.ml.management.jobsList.accessDeniedTitle": "访问被拒绝", "xpack.ml.management.jobsList.analyticsDocsLabel": "分析作业文档", "xpack.ml.management.jobsList.anomalyDetectionDocsLabel": "异常检测作业文档", - "xpack.ml.management.jobsList.insufficientLicenseLabel": "升级以使用订阅功能", + "xpack.ml.management.jobsList.insufficientLicenseDescription": "选择选项以对其解锁。", + "xpack.ml.management.jobsList.insufficientLicenseDescription.startTrialLink": "开始试用", + "xpack.ml.management.jobsList.insufficientLicenseDescription.SubscriptionLink": "升级订阅", + "xpack.ml.management.jobsList.insufficientLicenseLabel": "Machine Learning 是一项订阅功能", "xpack.ml.management.jobsList.jobsListTagline": "查看、导出和导入 Machine Learning 分析和异常检测项目。", "xpack.ml.management.jobsList.jobsListTitle": "Machine Learning", "xpack.ml.management.jobsList.noGrantedPrivilegesDescription": "您无权管理 Machine Learning 作业。要访问该插件,需要 Machine Learning 功能在此工作区中可见。", @@ -24111,7 +24908,7 @@ "xpack.ml.newJob.wizard.jobDetailsStep.jobGroupSelect.description": " 作业的可选分组。可以创建新组或从现有组列表中选取。", "xpack.ml.newJob.wizard.jobDetailsStep.jobGroupSelect.placeholder": "选择或创建组", "xpack.ml.newJob.wizard.jobDetailsStep.jobGroupSelect.title": "组", - "xpack.ml.newJob.wizard.jobDetailsStep.jobId.description": "作业的唯一标识符。不允许使用空格和字符 / ? , \" < > | *", + "xpack.ml.newJob.wizard.jobDetailsStep.jobId.description": "作业的唯一标识符。不允许使用空格和字符 / ? , \" < > | *", "xpack.ml.newJob.wizard.jobDetailsStep.jobId.title": "作业 ID", "xpack.ml.newJob.wizard.jobType.advancedAriaLabel": "高级作业", "xpack.ml.newJob.wizard.jobType.advancedDescription": "使用全部选项为更高级的用例创建作业。", @@ -24357,6 +25154,7 @@ "xpack.ml.notifications.typeLabel": "类型", "xpack.ml.notificationsIndicator.unreadErrors": "未读错误或警告指标。", "xpack.ml.notificationsIndicator.unreadIcon": "未读通知指标。", + "xpack.ml.overview.adJobsPanel.header": "异常检测作业", "xpack.ml.overview.analytics.resultActions.openJobText": "查看作业结果", "xpack.ml.overview.analytics.viewJobActionName": "查看作业", "xpack.ml.overview.analytics.viewResultsActionName": "查看结果", @@ -24364,13 +25162,13 @@ "xpack.ml.overview.analyticsList.errorPromptTitle": "获取数据帧分析列表时发生错误。", "xpack.ml.overview.analyticsList.id": "ID", "xpack.ml.overview.analyticsList.manageJobsButtonText": "管理作业", - "xpack.ml.overview.analyticsList.PanelTitle": "分析", + "xpack.ml.overview.analyticsList.PanelTitle": "数据帧分析作业", "xpack.ml.overview.analyticsList.reatedTimeColumnName": "创建时间", "xpack.ml.overview.analyticsList.status": "状态", "xpack.ml.overview.analyticsList.tableActionLabel": "操作", "xpack.ml.overview.analyticsList.type": "类型", - "xpack.ml.overview.anomalyDetection.createFirstJobMessage": "创建您的首个异常检测作业。", - "xpack.ml.overview.anomalyDetection.createJobButtonText": "创建作业", + "xpack.ml.overview.anomalyDetection.createFirstJobMessage": "开始检测异常", + "xpack.ml.overview.anomalyDetection.createJobButtonText": "创建异常检测作业", "xpack.ml.overview.anomalyDetection.emptyPromptText": "通过异常检测,可发现时序数据中的异常行为。开始自动发现数据中隐藏的异常并更快捷地解决问题。", "xpack.ml.overview.anomalyDetection.errorPromptTitle": "获取异常检测作业列表时出错。", "xpack.ml.overview.anomalyDetection.errorWithFetchingSwimLanesData": "提取异常结果时出错", @@ -24391,17 +25189,20 @@ "xpack.ml.overview.anomalyDetection.tableTypicalTooltip": "异常记录结果中的典型值。", "xpack.ml.overview.anomalyDetection.viewJobsActionName": "查看作业", "xpack.ml.overview.anomalyDetection.viewResultsActionName": "在 Anomaly Explorer 中查看", + "xpack.ml.overview.nodesPanel.header": "节点", + "xpack.ml.overview.nodesPanel.totalNodesLabel": "合计", + "xpack.ml.overview.nodesPanel.viewNodeLink": "查看节点", "xpack.ml.overview.notificationsLabel": "通知", "xpack.ml.overview.overviewLabel": "概览", "xpack.ml.overview.statsBar.failedAnalyticsLabel": "失败", "xpack.ml.overview.statsBar.runningAnalyticsLabel": "正在运行", "xpack.ml.overview.statsBar.stoppedAnalyticsLabel": "已停止", - "xpack.ml.overview.statsBar.totalAnalyticsLabel": "分析作业总数", + "xpack.ml.overview.statsBar.totalAnalyticsLabel": "合计", "xpack.ml.overviewJobsList.statsBar.activeMLNodesLabel": "活动 ML 节点", - "xpack.ml.overviewJobsList.statsBar.closedJobsLabel": "已关闭的作业", - "xpack.ml.overviewJobsList.statsBar.failedJobsLabel": "失败的作业", - "xpack.ml.overviewJobsList.statsBar.openJobsLabel": "打开的作业", - "xpack.ml.overviewJobsList.statsBar.totalJobsLabel": "总计作业数", + "xpack.ml.overviewJobsList.statsBar.closedJobsLabel": "已关闭", + "xpack.ml.overviewJobsList.statsBar.failedJobsLabel": "失败", + "xpack.ml.overviewJobsList.statsBar.openJobsLabel": "打开", + "xpack.ml.overviewJobsList.statsBar.totalJobsLabel": "合计", "xpack.ml.plugin.title": "Machine Learning", "xpack.ml.previewAlert.actualLabel": "实际:", "xpack.ml.previewAlert.hideResultsButtonLabel": "隐藏结果", @@ -24704,11 +25505,14 @@ "xpack.ml.trainedModels.modelsList.builtInModelMessage": "内置模型", "xpack.ml.trainedModels.modelsList.collapseRow": "折叠", "xpack.ml.trainedModels.modelsList.createdAtHeader": "创建于", + "xpack.ml.trainedModels.modelsList.deleteDisabledWithDeploymentsTooltip": "模型已开始部署", "xpack.ml.trainedModels.modelsList.deleteModal.cancelButtonLabel": "取消", "xpack.ml.trainedModels.modelsList.deleteModal.deleteButtonLabel": "删除", "xpack.ml.trainedModels.modelsList.deleteModelActionLabel": "删除模型", "xpack.ml.trainedModels.modelsList.deleteModelsButtonLabel": "删除", "xpack.ml.trainedModels.modelsList.disableSelectableMessage": "模型有关联的管道", + "xpack.ml.trainedModels.modelsList.downloadStatusCheckErrorMessage": "无法检查下载状态", + "xpack.ml.trainedModels.modelsList.elserDescription": "Elastic Learned Sparse Encoder v1(技术预览)", "xpack.ml.trainedModels.modelsList.expandedRow.analyticsConfigTitle": "分析配置", "xpack.ml.trainedModels.modelsList.expandedRow.configTabLabel": "配置", "xpack.ml.trainedModels.modelsList.expandedRow.deploymentStatsTitle": "部署统计", @@ -26441,35 +27245,165 @@ "xpack.monitoring.updateLicenseButtonLabel": "更新许可证", "xpack.monitoring.updateLicenseTitle": "更新您的许可证", "xpack.monitoring.useAvailableLicenseDescription": "如果您已经持有新的许可证,请立即上传。", + "xpack.observability_onboarding.apiKeyBanner.failed.description": "出现问题:{message}", + "xpack.observability_onboarding.apiKeyBanner.noPermissions.description": "索引 {indices} 的所需集群权限为 {requiredClusterPrivileges},所需索引权限为 {requiredIndexPrivileges},请为已通过身份验证的用户角色添加所有所需权限。", + "xpack.observability_onboarding.configureLogs.customConfig.helper": "可在此处使用要添加到您的配置中的 YAML 配置选项。请务必谨慎使用此项,因为它可能会破坏配置文件。{learnMoreLink}", + "xpack.observability_onboarding.configureLogs.namespace.helper": "此设置将更改集成的数据流的名称。{learnMoreLink}", + "xpack.observability_onboarding.installElasticAgent.configStep.auto.description": "以下代理配置将由安装脚本下载并写入到 ({configPath})。这会覆盖任何现有代理配置。", + "xpack.observability_onboarding.installElasticAgent.configStep.manual.description": "将以下配置复制到已安装 Elastic 代理的主机上的 elastic agent.yml ({configPath})。", + "xpack.observability_onboarding.installElasticAgent.progress.eaConfig.completedTitle": "Elastic 代理配置已写入到 {configPath}", + "xpack.observability_onboarding.apiKeyBanner.created": "已创建 API 密钥。", + "xpack.observability_onboarding.apiKeyBanner.created.description": "记得将此信息存储在安全位置。在您继续后,将不再显示该信息。", + "xpack.observability_onboarding.apiKeyBanner.failed": "无法创建 API 密钥。", + "xpack.observability_onboarding.apiKeyBanner.field.copyButton": "复制到剪贴板", + "xpack.observability_onboarding.apiKeyBanner.field.label": "API 密钥", + "xpack.observability_onboarding.apiKeyBanner.loading": "正在创建 API 密钥", + "xpack.observability_onboarding.apiKeyBanner.noPermissions": "用户无权创建 API 密钥。", + "xpack.observability_onboarding.breadcrumbs.onboarding": "载入", + "xpack.observability_onboarding.card.apm.title": "监测我的应用程序性能(APM/跟踪)", + "xpack.observability_onboarding.card.customLogs.description.text": "选择要收集哪些日志,配置采集管道并浏览您的数据。", + "xpack.observability_onboarding.card.customLogs.title": "收集定制日志", + "xpack.observability_onboarding.card.integrations.title": "探索 300 多种利用集成采集数据的方法", + "xpack.observability_onboarding.card.k8s.title": "监测我的 Kubernetes 集群", + "xpack.observability_onboarding.card.systemLogs.description1": "载入日志数据并立即开始分析的最快路径。", + "xpack.observability_onboarding.card.systemLogs.quickstartBadge": "快速入门", + "xpack.observability_onboarding.card.systemLogs.title": "收集系统日志", + "xpack.observability_onboarding.configureLogs.advancedSettings": "高级设置", + "xpack.observability_onboarding.configureLogs.customConfig": "定制配置", + "xpack.observability_onboarding.configureLogs.dataset.helper": "选取日志的名称。全部小写,最多 100 个字符,将用“_”替代特殊字符。", + "xpack.observability_onboarding.configureLogs.dataset.name": "数据集名称", + "xpack.observability_onboarding.configureLogs.dataset.placeholder": "数据集名称", + "xpack.observability_onboarding.configureLogs.description": "填写日志文件在主机上的路径。", + "xpack.observability_onboarding.configureLogs.learnMore": "了解详情", + "xpack.observability_onboarding.configureLogs.logFile.addRow": "添加行", + "xpack.observability_onboarding.configureLogs.logFile.helper": "可以使用日志文件路径或日志模式。", + "xpack.observability_onboarding.configureLogs.logFile.path": "日志文件路径", + "xpack.observability_onboarding.configureLogs.logFile.placeholder": "示例:/var/log/application.*", + "xpack.observability_onboarding.configureLogs.namespace": "命名空间", + "xpack.observability_onboarding.configureLogs.namespace.placeholder": "命名空间", + "xpack.observability_onboarding.configureLogs.serviceName": "服务名称", + "xpack.observability_onboarding.configureLogs.serviceName.helper": "命名将从中收集数据的服务。", + "xpack.observability_onboarding.configureLogs.serviceName.placeholder": "为服务提供名称", + "xpack.observability_onboarding.configureLogs.title": "将日志文件流式传输到 Elastic", + "xpack.observability_onboarding.exploreOtherIntegrations": "浏览其他集成", + "xpack.observability_onboarding.fetcher.error.status": "错误", + "xpack.observability_onboarding.fetcher.error.title": "提取资源时出错", + "xpack.observability_onboarding.fetcher.error.url": "URL", + "xpack.observability_onboarding.form.optional": "可选", + "xpack.observability_onboarding.header.feedback": "反馈", + "xpack.observability_onboarding.home.description": "在单一平台上监测云原生系统和分布式系统并获得洞见。", + "xpack.observability_onboarding.home.title": "Observability 入门", + "xpack.observability_onboarding.installElasticAgent.configStep.downloadConfigButton": "下载配置文件", + "xpack.observability_onboarding.installElasticAgent.configStep.yamlCodeBlockdescription": "Elastic 代理 yaml 配置", + "xpack.observability_onboarding.installElasticAgent.description": "将 Elastic 代理添加到您的主机,以便开始向 Elastic Cloud 发送数据。如果要自行下载和管理每个代理配置文件,请独立运行,或在 Fleet 中注册,以通过我们的 Fleet 托管界面对所有代理进行集中管理。", + "xpack.observability_onboarding.installElasticAgent.installStep.autoDownloadConfig": "自动下载配置", + "xpack.observability_onboarding.installElasticAgent.installStep.choosePlatform": "选择平台", + "xpack.observability_onboarding.installElasticAgent.installStep.choosePlatform.linux": "Linux", + "xpack.observability_onboarding.installElasticAgent.installStep.choosePlatform.macOS": "MacOS", + "xpack.observability_onboarding.installElasticAgent.installStep.choosePlatform.windows": "Windows", + "xpack.observability_onboarding.installElasticAgent.installStep.description": "选择平台并运行命令,以在您的终端上安装、注册并启动 Elastic 代理。对每台主机执行此操作。对于其他平台,请查阅我们的下载页面。 查看主机要求和其他安装选项。", + "xpack.observability_onboarding.installElasticAgent.installStep.title": "安装 Elastic 代理", + "xpack.observability_onboarding.installElasticAgent.progress.eaConfig.incompleteTitle": "配置代理", + "xpack.observability_onboarding.installElasticAgent.progress.eaConfig.loadingTitle": "正在下载 Elastic 代理配置", + "xpack.observability_onboarding.installElasticAgent.progress.eaDownload.completedTitle": "已下载 Elastic 代理", + "xpack.observability_onboarding.installElasticAgent.progress.eaDownload.incompleteTitle": "下载 Elastic 代理", + "xpack.observability_onboarding.installElasticAgent.progress.eaDownload.loadingTitle": "正在下载 Elastic 代理", + "xpack.observability_onboarding.installElasticAgent.progress.eaExtract.completedTitle": "已提取 Elastic 代理", + "xpack.observability_onboarding.installElasticAgent.progress.eaExtract.incompleteTitle": "提取 Elastic 代理", + "xpack.observability_onboarding.installElasticAgent.progress.eaExtract.loadingTitle": "正在提取 Elastic 代理", + "xpack.observability_onboarding.installElasticAgent.progress.eaInstall.completedTitle": "已安装 Elastic 代理", + "xpack.observability_onboarding.installElasticAgent.progress.eaInstall.incompleteTitle": "安装 Elastic 代理", + "xpack.observability_onboarding.installElasticAgent.progress.eaInstall.loadingTitle": "正在安装 Elastic 代理", + "xpack.observability_onboarding.installElasticAgent.progress.eaStatus.completedTitle": "已连接到 Elastic 代理", + "xpack.observability_onboarding.installElasticAgent.progress.eaStatus.incompleteTitle": "连接到 Elastic 代理", + "xpack.observability_onboarding.installElasticAgent.progress.eaStatus.loadingTitle": "正在连接 Elastic 代理", + "xpack.observability_onboarding.installElasticAgent.progress.logsIngest.completedTitle": "正在传输日志!", + "xpack.observability_onboarding.installElasticAgent.progress.logsIngest.incompleteTitle": "检查已传输的日志", + "xpack.observability_onboarding.installElasticAgent.progress.logsIngest.loadingTitle": "等待传输日志", + "xpack.observability_onboarding.installElasticAgent.title": "安装采集器以收集数据", + "xpack.observability_onboarding.selectLogs.chooseType": "您希望收集哪些日志?", + "xpack.observability_onboarding.selectLogs.httpEndpointLogs": "HTTP 终端", + "xpack.observability_onboarding.selectLogs.httpEndpointLogs.description": "从正在侦听的 HTTP 端口收集 JSON 数据。", + "xpack.observability_onboarding.selectLogs.networkStreamingLogs": "网络流日志", + "xpack.observability_onboarding.selectLogs.other": "其他", + "xpack.observability_onboarding.selectLogs.streamLogFiles": "流式传输日志文件", + "xpack.observability_onboarding.selectLogs.streamLogFiles.description": "流式传输日志文件或目录。", + "xpack.observability_onboarding.selectLogs.sysLog": "TCP/UDP/Syslog", + "xpack.observability_onboarding.selectLogs.sysLog.description": "通过 TCP 或 UDP 端口或者从 syslog 服务器流式传输日志。", + "xpack.observability_onboarding.selectLogs.uploadLogFiles": "上传日志文件", + "xpack.observability_onboarding.selectLogs.uploadLogFiles.description": "通过 CSV、TSV、JSON 或其他日志文件类型上传数据以进行分析。", + "xpack.observability_onboarding.selectLogs.useOwnShipper": "获取 API 密钥", + "xpack.observability_onboarding.selectLogs.useOwnShipper.description": "通过生成 API 密钥使用您自己的采集器来收集日志数据。", + "xpack.observability_onboarding.steps.back": "返回", + "xpack.observability_onboarding.steps.configureLogs": "配置日志", + "xpack.observability_onboarding.steps.continue": "继续", + "xpack.observability_onboarding.steps.exploreLogs": "浏览日志", + "xpack.observability_onboarding.steps.inspect": "检查", + "xpack.observability_onboarding.steps.installShipper": "安装采集器", + "xpack.observability_onboarding.steps.selectLogs": "选择日志", + "xpack.observability_onboarding.title.collectCustomLogs": "收集定制日志", "xpack.observability.apmEnableContinuousRollupsDescription": "{betaLabel} 启用连续汇总/打包时,UI 将以适当分辨率选择指标。在更大时间范围内,将使用分辨率较低的指标,这会缩短加载时间。", "xpack.observability.apmEnableServiceMetricsDescription": "{betaLabel} 启用服务事务指标,这种是低基数指标,可供某些视图(如服务库存)使用来加快加载速度。", "xpack.observability.apmProgressiveLoadingDescription": "{technicalPreviewLabel} 是否以渐进方式为 APM 视图加载数据。可以先以较低的采样速率请求数据,这样的准确性较低,但响应时间更快,同时在后台加载未采样数据", + "xpack.observability.apmServiceInventoryOptimizedSortingDescription": "{technicalPreviewLabel} 默认 APM 服务库存和 Storage Explorer 页面排序(对于未应用 Machine Learning 的服务)将按服务名称排序。", + "xpack.observability.apmTraceExplorerTabDescription": "{technicalPreviewLabel} 启用 APM Trace Explorer 功能,它允许您通过 KQL 或 EQL 搜索和检查跟踪。", + "xpack.observability.enableAgentExplorerDescription": "{betaLabel} 启用代理浏览器视图。", + "xpack.observability.enableAwsLambdaMetricsDescription": "{technicalPreviewLabel} 在服务指标选项卡中显示 Amazon Lambda 指标。", "xpack.observability.enableCriticalPathDescription": "{technicalPreviewLabel}(可选)显示跟踪的关键路径。", + "xpack.observability.enableInfrastructureHostsViewDescription": "{betaLabel} 在 Infrastructure 应用中启用主机视图。", "xpack.observability.inspector.stats.queryTimeValue": "{queryTime}ms", "xpack.observability.pages.alertDetails.pageTitle.title": "{ruleCategory} {ruleCategory, select, Anomaly {已检测到} Inventory {超出阈值} other {超出}}", "xpack.observability.ruleDetails.ruleLoadError": "无法加载规则。原因:{message}", - "xpack.observability.slo.alerting.burnRate.reason": "{actionGroupName}: 过去 {longWindowDuration} 的消耗速度为 {longWindowBurnRate} 且过去 {shortWindowDuration} 为 {shortWindowBurnRate}。两个窗口超出 {burnRateThreshold} 时告警", + "xpack.observability.slo.alerting.burnRate.reason": "{actionGroupName}:过去 {longWindowDuration} 的消耗速度为 {longWindowBurnRate} 且过去 {shortWindowDuration} 为 {shortWindowBurnRate}。两个窗口超出 {burnRateThreshold} 时告警", + "xpack.observability.slo.burnRateWindow.thresholdTip": "阈值为 {target}x", + "xpack.observability.slo.clone.errorNotification": "无法克隆 {name}", + "xpack.observability.slo.clone.successNotification": "已成功创建 {name}", + "xpack.observability.slo.create.errorNotification": "创建 {name} 时出现问题", + "xpack.observability.slo.create.successNotification": "已成功创建 {name}", "xpack.observability.slo.duration.day": "{duration, plural, other {# 天}}", "xpack.observability.slo.duration.hour": "{duration, plural, other {# 小时}}", "xpack.observability.slo.duration.minute": "{duration, plural, other {# 分钟}}", "xpack.observability.slo.duration.month": "{duration, plural, other {# 个月}}", "xpack.observability.slo.duration.week": "{duration, plural, other {# 周}}", "xpack.observability.slo.duration.year": "{duration, plural, other {# 年}}", - "xpack.observability.slo.indicatorTypeBadge.exploreInApm": "在 APM 中浏览 {service}", + "xpack.observability.slo.indicatorTypeBadge.exploreInApm": "查看 {service} 详情", "xpack.observability.slo.list.sortByType": "按 {type} 排序", "xpack.observability.slo.rules.burnRate.errors.invalidThresholdValue": "消耗速度阈值必须介于 1 和 {maxBurnRate} 之间。", "xpack.observability.slo.rules.errorBudgetExhaustion.text": "{formatedHours} 小时,直到错误预算耗尽。", "xpack.observability.slo.rules.longWindowDuration.tooltip": "在其间计算消耗速度的回顾期。将使用 {shortWindowDuration} 分钟的较短回顾期(1/12 的回顾期)以便更快恢复", "xpack.observability.slo.slo.activeAlertsBadge.label": "{count, plural, other {# 个告警}}", - "xpack.observability.slo.slo.deleteConfirmationModal.deleteButtonLabel": "删除 {name}", + "xpack.observability.slo.slo.delete.errorNotification": "无法删除{name}", + "xpack.observability.slo.slo.delete.successNotification": "已删除 {name}", + "xpack.observability.slo.slo.deleteConfirmationModal.deleteButtonLabel": "删除{name}", "xpack.observability.slo.slo.deleteConfirmationModal.descriptionText": "您无法恢复删除的{name}。", "xpack.observability.slo.slo.stats.objective": "{objective} 目标", "xpack.observability.slo.slo.timeWindow.calendar": "{elapsed}/{total} 天", "xpack.observability.slo.sloDetails.errorBudgetChartPanel.duration": "过去 {duration}", - "xpack.observability.slo.sloDetails.overview.calendarAlignedTimeWindow": "{duration}", + "xpack.observability.slo.sloDetails.overview.calendarAlignedTimeWindow": "{duration} 日历已对齐", "xpack.observability.slo.sloDetails.overview.observedValueSubtitle": "{value}(目标为 {objective})", "xpack.observability.slo.sloDetails.overview.rollingTimeWindow": "{duration} 滚动", + "xpack.observability.slo.sloDetails.overview.timeslicesBudgetingMethodDetails": "{duration} 切片,{target} 目标", "xpack.observability.slo.sloDetails.sliHistoryChartPanel.duration": "过去 {duration}", + "xpack.observability.slo.sloEdit.customKql.indexSelection.indexPatternFoundLabel": "{searchPattern}(匹配 {num, plural, other {# 个索引}})", + "xpack.observability.slo.sloEdit.rollingTimeWindow.days": "{number} 天", + "xpack.observability.slo.update.errorNotification": "更新 {name} 时出现问题", + "xpack.observability.slo.update.successNotification": "成功更新 {name}", + "xpack.observability.syntheticsThrottlingEnabledExperimentDescription": "在 Synthetics 监测配置中启用限制设置。请注意,即使该设置处于活动状态,可能仍然无法对您的监测应用限制。仅限内部使用。{link}", + "xpack.observability.threshold.rule.alertDetailsAppSection.criterion.subtitle": "过去 {lookback} {timeLabel}", + "xpack.observability.threshold.rule.alertFlyout.alertPerRedundantFilterError": "此规则可能针对低于预期的 {matchedGroups} 告警,因为筛选查询包含{groupCount, plural, other {这些字段}}的匹配项。有关更多信息,请参阅 {filteringAndGroupingLink}。", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.aggregationLabel": "聚合 {name}", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.fieldLabel": "字段 {name}", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.filterLabel": "KQL 筛选 {name}", + "xpack.observability.threshold.rule.alertFlyout.ofExpression.helpTextDetail": "找不到指标?{documentationLink}。", + "xpack.observability.threshold.rule.alerts.dataTimeRangeLabel": "过去 {lookback} {timeLabel}", + "xpack.observability.threshold.rule.alerts.dataTimeRangeLabelWithGrouping": "{id} 过去 {lookback} {timeLabel}的数据", + "xpack.observability.threshold.rule.threshold.errorAlertReason": "Elasticsearch 尝试查询 {metric} 的数据时出现故障", + "xpack.observability.threshold.rule.threshold.firedAlertReason": "过去 {duration}{group},{metric} 为 {currentValue}。{comparator} {threshold} 时告警。", + "xpack.observability.threshold.rule.threshold.noDataAlertReason": "对于 {group},{metric} 在过去 {interval}中未报告数据", + "xpack.observability.threshold.rule.threshold.queryErrorAlertReason": "告警使用格式错误的 KQL 查询:{filterQueryText}", + "xpack.observability.threshold.rule.threshold.recoveredAlertReason": "对于 {group},{metric} 现在{comparator}阈值 {threshold}(当前值为 {currentValue})", + "xpack.observability.threshold.rule.threshold.thresholdRange": "{a} 和 {b}", + "xpack.observability.threshold.rule.thresholdExtraTitle": "{comparator} {threshold} 时告警", "xpack.observability.transactionRateLabel": "{value} tpm", "xpack.observability.ux.coreVitals.averageMessage": " 且小于 {bad}", "xpack.observability.ux.coreVitals.paletteLegend.rankPercentage": "{labelsInd} ({ranksInd}%)", @@ -26543,6 +27477,7 @@ "xpack.observability.cases.caseFeatureNoPermissionsMessage": "要查看案例,必须对 Kibana 工作区中的案例功能有权限。有关详细信息,请联系您的 Kibana 管理员。", "xpack.observability.cases.caseFeatureNoPermissionsTitle": "需要 Kibana 功能权限", "xpack.observability.cases.caseView.goToDocumentationButton": "查看文档", + "xpack.observability.coPilotPrompt.chatLoading": "正在等待响应......", "xpack.observability.defaultApmServiceEnvironment": "默认服务环境", "xpack.observability.defaultApmServiceEnvironmentDescription": "为 APM 应用设置默认环境。如果留空,默认情况下将显示所有环境中的数据。", "xpack.observability.emptySection.apps.alert.description": "检测 Observability 内的复杂条件,并在满足那些条件时触发操作。", @@ -26571,6 +27506,8 @@ "xpack.observability.enableInfrastructureHostsView": "基础架构主机视图", "xpack.observability.enableInspectEsQueriesExperimentDescription": "检查 API 响应中的 Elasticsearch 查询。", "xpack.observability.enableInspectEsQueriesExperimentName": "检查 ES 查询", + "xpack.observability.enableLegacyUptimeApp": "始终显示旧版 Uptime 应用", + "xpack.observability.enableLegacyUptimeAppDescription": "默认情况下,如果超过一周未生成任何数据,将从界面中隐藏旧版 Uptime 应用。启用此选项以始终显示该应用。", "xpack.observability.experimentalBadgeDescription": "此功能处于技术预览状态,在未来版本中可能会更改或完全移除。Elastic 将尽最大努力来修复任何问题,但处于技术预览状态的功能不受正式 GA 功能支持 SLA 的约束。", "xpack.observability.experimentalBadgeLabel": "技术预览", "xpack.observability.featureCatalogueDescription": "通过专用 UI 整合您的日志、指标、应用程序跟踪和系统可用性。", @@ -26615,6 +27552,7 @@ "xpack.observability.inspector.stats.kibanaApiRouteLabel": "Kibana API 路由", "xpack.observability.inspector.stats.queryTimeDescription": "处理查询所花费的时间。不包括发送请求或在浏览器中解析它的时间。", "xpack.observability.inspector.stats.queryTimeLabel": "查询时间", + "xpack.observability.logs.alertDetails.feedbackButtonLabel": "告诉我们您的看法!", "xpack.observability.maxSuggestionsUiSettingDescription": "在自动完成选择框中提取的最大建议数。", "xpack.observability.maxSuggestionsUiSettingName": "最大建议数", "xpack.observability.news.readFullStory": "详细了解", @@ -26693,7 +27631,11 @@ "xpack.observability.section.errorPanel": "尝试提取数据时发生错误。请重试", "xpack.observability.serviceGroupMaxServicesUiSettingDescription": "限制给定服务组中服务的数量", "xpack.observability.serviceGroupMaxServicesUiSettingName": "服务组中的最大服务数", - "xpack.observability.slo.alerting.burnRate.alertAction": "告警", + "xpack.observability.slo.alerting.alertDetailsUrlDescription": "链接到告警故障排除视图获取进一步的上下文和详情。如果未配置 server.publicBaseUrl,这将为空字符串。", + "xpack.observability.slo.alerting.burnRate.alertAction": "紧急", + "xpack.observability.slo.alerting.burnRate.highPriorityAction": "高", + "xpack.observability.slo.alerting.burnRate.lowPriorityAction": "低", + "xpack.observability.slo.alerting.burnRate.mediumPriorityAction": "中", "xpack.observability.slo.alerting.reasonDescription": "告警原因的简洁描述", "xpack.observability.slo.alerting.sloIdDescription": "SLO 唯一标识符。", "xpack.observability.slo.alerting.sloNameDescription": "SLO 名称。", @@ -26703,20 +27645,48 @@ "xpack.observability.slo.alerting.windowDescription": "带有关联的消耗速度值的窗口持续时间。", "xpack.observability.slo.budgetingMethod.occurrences": "发生次数", "xpack.observability.slo.budgetingMethod.timeslices": "时间片", + "xpack.observability.slo.burnRate.criticalLongLabel": "1 小时", + "xpack.observability.slo.burnRate.criticalShortLabel": "5 分钟", + "xpack.observability.slo.burnRate.criticalTitle": "临界消耗速度", + "xpack.observability.slo.burnRate.highLongLabel": "6 小时", + "xpack.observability.slo.burnRate.highShortLabel": "30 分钟", + "xpack.observability.slo.burnRate.highTitle": "高消耗速度", + "xpack.observability.slo.burnRate.lowLongLabel": "3 天", + "xpack.observability.slo.burnRate.lowShortLabel": "6 小时", + "xpack.observability.slo.burnRate.lowTitle": "低消耗速度", + "xpack.observability.slo.burnRate.mediumLongLabel": "24 小时", + "xpack.observability.slo.burnRate.mediumShortLabel": "2 小时", + "xpack.observability.slo.burnRate.mediumTitle": "中等消耗速度", + "xpack.observability.slo.burnRate.technicalPreviewBadgeDescription": "此功能处于技术预览状态,可能会有所更改,或在未来版本中移除。设计和代码相对于正式发行版功能还不够成熟,将按原样提供,且不提供任何保证。技术预览功能不受正式发行版功能的支持服务水平协议约束。", + "xpack.observability.slo.burnRate.technicalPreviewBadgeTitle": "技术预览", + "xpack.observability.slo.burnRate.title": "消耗速度窗口", + "xpack.observability.slo.duration.daily": "每日", + "xpack.observability.slo.duration.hourly": "每小时", + "xpack.observability.slo.duration.minutely": "每分钟", + "xpack.observability.slo.duration.monthly": "每月", + "xpack.observability.slo.duration.weekly": "每周", + "xpack.observability.slo.duration.yearly": "每年", "xpack.observability.slo.feedbackButtonLabel": "告诉我们您的看法!", + "xpack.observability.slo.globalDiagnosis.errorNotification": "您没有适当权限,无法使用此功能。", "xpack.observability.slo.indicators.apmAvailability": "APM 可用性", "xpack.observability.slo.indicators.apmLatency": "APM 延迟", "xpack.observability.slo.indicators.customKql": "定制 KQL", + "xpack.observability.slo.indicators.customMetric": "定制指标", "xpack.observability.slo.list.emptyMessage": "没有匹配您的条件的结果。", "xpack.observability.slo.list.emptyTitle": "无结果", "xpack.observability.slo.list.errorMessage": "加载 SLO 时出错。请联系您的管理员寻求帮助。", + "xpack.observability.slo.list.errorNotification": "提取 SLO 时出现问题", "xpack.observability.slo.list.errorTitle": "无法加载 SLO", "xpack.observability.slo.list.indicatorTypeFilter": "指标类型", "xpack.observability.slo.list.search": "搜索", "xpack.observability.slo.list.sortBy": "排序依据", "xpack.observability.slo.list.sortBy.creationTime": "创建时间", "xpack.observability.slo.list.sortBy.indicatorType": "指标类型", - "xpack.observability.slo.rules.burnRate.defaultActionMessage": "为 SLO“\\{\\{context.sloName\\}\\}”触发了规则 \\{\\{rule.name\\}\\}:\n- 原因:\\{\\{context.reason\\}\\}\n- 过去 \\{\\{context.longWindow.duration\\}\\} 的消耗速度为 \\{\\{context.longWindow.burnRate\\}\\}\n- 过去 \\{\\{context.shortWindow.duration\\}\\} 的消耗速度为 \\{\\{context.shortWindow.burnRate\\}\\}\n- 消耗速度阈值设置为 \\{\\{context.burnRateThreshold\\}\\}\n- 在 SLO 详情页面中查看:\\{\\{context.viewInAppUrl\\}\\}", + "xpack.observability.slo.rules.actionGroupSelectorLabel": "操作组", + "xpack.observability.slo.rules.addWindowAriaLabel": "添加窗口", + "xpack.observability.slo.rules.addWIndowLabel": "添加窗口", + "xpack.observability.slo.rules.burnRate.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} 为活动状态,条件如下:\n\n- SLO:\\{\\{context.sloName\\}\\}'\n- 过去 \\{\\{context.longWindow.duration\\}\\} 的消耗速度为 \\{\\{context.longWindow.burnRate\\}\\}\n- 过去 \\{\\{context.shortWindow.duration\\}\\} 的消耗速度为 \\{\\{context.shortWindow.burnRate\\}\\}\n- Threshold: \\{\\{context.burnRateThreshold\\}\\}\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", + "xpack.observability.slo.rules.burnRate.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} 已恢复。\n\n- SLO:\\{\\{context.sloName\\}\\}'\n- 过去 \\{\\{context.longWindow.duration\\}\\} 的消耗速度为 \\{\\{context.longWindow.burnRate\\}\\}\n- 过去 \\{\\{context.shortWindow.duration\\}\\} 的消耗速度为 \\{\\{context.shortWindow.burnRate\\}\\}\n- Threshold: \\{\\{context.burnRateThreshold\\}\\}\n\n[查看告警详情](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.observability.slo.rules.burnRate.description": "在定义的期间内 SLO 消耗速度过高时告警。", "xpack.observability.slo.rules.burnRate.errors.burnRateThresholdRequired": "“消耗速度阈值”必填。", "xpack.observability.slo.rules.burnRate.errors.sloRequired": "“SLO”必填。", @@ -26724,8 +27694,9 @@ "xpack.observability.slo.rules.burnRate.name": "SLO 消耗速度", "xpack.observability.slo.rules.burnRate.rowLabel": "消耗速度阈值", "xpack.observability.slo.rules.burnRate.tooltip": "消耗速度是指服务在回顾期内耗用错误预算的速度。", - "xpack.observability.slo.rules.longWindow.errorText": "回顾期必须介于 1 和 24 小时之间。", - "xpack.observability.slo.rules.longWindow.rowLabel": "回顾期(小时)", + "xpack.observability.slo.rules.deleteWindowLabel": "删除窗口", + "xpack.observability.slo.rules.longWindow.errorText": "回顾期必须介于 1 到 72 小时之间。", + "xpack.observability.slo.rules.longWindow.rowLabel": "回顾(小时)", "xpack.observability.slo.rules.longWindow.valueLabel": "回顾期(小时)", "xpack.observability.slo.rules.sloSelector.ariaLabel": "SLO", "xpack.observability.slo.rules.sloSelector.placeholder": "选择 SLO", @@ -26734,11 +27705,7 @@ "xpack.observability.slo.slo.deleteConfirmationModal.cancelButtonLabel": "取消", "xpack.observability.slo.slo.deleteConfirmationModal.title": "是否确定?", "xpack.observability.slo.slo.item.actions.clone": "克隆", - "xpack.observability.slo.item.actions.createRule": "创建新告警规则", "xpack.observability.slo.slo.item.actions.delete": "删除", - "xpack.observability.slo.item.actions.details": "详情", - "xpack.observability.slo.item.actions.edit": "编辑", - "xpack.observability.slo.item.actions.manageRules": "管理规则", "xpack.observability.slo.slo.rulesBadge.popover": "尚未为此 SLO 配置任何规则。超出 SLO 时,您不会收到告警。", "xpack.observability.slo.slo.stats.budgetRemaining": "剩余预算", "xpack.observability.slo.sloDetails.errorBudgetChartPanel.chartTitle": "剩余错误预算", @@ -26784,14 +27751,22 @@ "xpack.observability.slo.sloEdit.apmLatency.transactionType.placeholder": "选择事务类型", "xpack.observability.slo.sloEdit.budgetingMethod.label": "预算编制方法", "xpack.observability.slo.sloEdit.budgetingMethod.tooltip": "基于发生次数的 SLO 使用时间窗口内良好事件数与事件总数的比率。基于时间片的 SLO 使用时间窗口内良好时间片与时间片总数的比率。", + "xpack.observability.slo.sloEdit.calendarTimeWindow.monthly": "每月", + "xpack.observability.slo.sloEdit.calendarTimeWindow.weekly": "每周", "xpack.observability.slo.sloEdit.cancelButton": "取消", + "xpack.observability.slo.sloEdit.copyJsonButton": "复制 JSON", + "xpack.observability.slo.sloEdit.copyJsonFailedNotification": "无法将 JSON 复制到剪贴板", + "xpack.observability.slo.sloEdit.copyJsonNotification": "JSON 已复制到剪贴板", "xpack.observability.slo.sloEdit.createAlert.ruleName": "SLO 消耗速度告警规则", "xpack.observability.slo.sloEdit.createAlert.title": "创建", "xpack.observability.slo.sloEdit.createSloButton": "创建 SLO", + "xpack.observability.slo.sloEdit.customKql.indexSelection.dataViewOptionsLabel": "选择现有数据视图", "xpack.observability.slo.sloEdit.customKql.indexSelection.helpText": "使用 * 可扩大您的查询范围。", "xpack.observability.slo.sloEdit.customKql.indexSelection.indexPatternLabel": "使用索引模式", "xpack.observability.slo.sloEdit.customKql.indexSelection.label": "索引", - "xpack.observability.slo.sloEdit.customKql.indexSelection.placeholder": "选择索引或索引模式", + "xpack.observability.slo.sloEdit.customKql.indexSelection.placeholder": "选择数据视图或使用索引模式", + "xpack.observability.slo.sloEdit.dataPreviewChart.xTitle": "过去一小时", + "xpack.observability.slo.sloEdit.dataPreviewChart.yTitle": "SLI", "xpack.observability.slo.sloEdit.definition.sliType": "选择 SLI 类型", "xpack.observability.slo.sloEdit.definition.title": "定义 SLI", "xpack.observability.slo.sloEdit.description.sloDescription": "描述", @@ -26813,6 +27788,26 @@ "xpack.observability.slo.sloEdit.sliType.customKql.totalQuery": "查询总数", "xpack.observability.slo.sloEdit.sliType.customKql.totalQuery.tooltip": "此 KQL 查询应返回与 SLO 计算相关的所有事件,包括良好和不良事件。", "xpack.observability.slo.sloEdit.sliType.customKql.totalQueryPlaceholder": "定义事件总数", + "xpack.observability.slo.sloEdit.sliType.customMetric.addMetricAriaLabel": "添加指标", + "xpack.observability.slo.sloEdit.sliType.customMetric.addMetricLabel": "添加指标", + "xpack.observability.slo.sloEdit.sliType.customMetric.customFilter": "要对索引应用的定制筛选", + "xpack.observability.slo.sloEdit.sliType.customMetric.customFilter.tooltip": "此 KQL 查询可用于基于某些相关条件来筛选文档。", + "xpack.observability.slo.sloEdit.sliType.customMetric.deleteLabel": "删除指标", + "xpack.observability.slo.sloEdit.sliType.customMetric.equation.invalidCharacters": "方程字段仅支持以下字符:A-Z、+、-、/、*、(、)、?、!、&、:、|、>、<、=", + "xpack.observability.slo.sloEdit.sliType.customMetric.equationHelpText": "支持基本数学方程,有效字符包括:A-Z、+、-、/、*、(、)、?、!、&、:、|、>、<、=", + "xpack.observability.slo.sloEdit.sliType.customMetric.goodEquation.tooltip": "这支持基本数学 (A + B / C) 和布尔逻辑 (A < B ?A :B)。", + "xpack.observability.slo.sloEdit.sliType.customMetric.goodEquationLabel": "适用方程", + "xpack.observability.slo.sloEdit.sliType.customMetric.goodMetric.tooltip": "来自该字段的此类数据将使用“求和”聚合进行汇总。", + "xpack.observability.slo.sloEdit.sliType.customMetric.goodMetricLabel": "良好指标", + "xpack.observability.slo.sloEdit.sliType.customMetric.metricField.placeholder": "选择指标字段", + "xpack.observability.slo.sloEdit.sliType.customMetric.queryFilter": "查询筛选", + "xpack.observability.slo.sloEdit.sliType.customMetric.sumLabel": "求和", + "xpack.observability.slo.sloEdit.sliType.customMetric.timestampField.label": "时间戳字段", + "xpack.observability.slo.sloEdit.sliType.customMetric.timestampField.placeholder": "选择时间戳字段", + "xpack.observability.slo.sloEdit.sliType.customMetric.totalEquation.tooltip": "这支持基本数学 (A + B / C) 和布尔逻辑 (A < B ?A :B)。", + "xpack.observability.slo.sloEdit.sliType.customMetric.totalEquationLabel": "总体方程", + "xpack.observability.slo.sloEdit.sliType.customMetric.totalMetric.tooltip": "来自该字段的此类数据将使用“求和”聚合进行汇总。", + "xpack.observability.slo.sloEdit.sliType.customMetric.totalMetricLabel": "总指标", "xpack.observability.slo.sloEdit.tags.label": "标签", "xpack.observability.slo.sloEdit.tags.placeholder": "添加标签", "xpack.observability.slo.sloEdit.targetSlo.label": "目标/SLO (%)", @@ -26821,6 +27816,12 @@ "xpack.observability.slo.sloEdit.timeSliceTarget.tooltip": "用于确定切片是良好还是不良的单个时间片目标。", "xpack.observability.slo.sloEdit.timesliceWindow.label": "时间片窗口(分钟)", "xpack.observability.slo.sloEdit.timesliceWindow.tooltip": "用于评估接收的数据的时间片窗口大小。", + "xpack.observability.slo.sloEdit.timeWindow.calendarAligned": "日历已对齐", + "xpack.observability.slo.sloEdit.timeWindow.rolling": "滚动", + "xpack.observability.slo.sloEdit.timeWindowDuration.label": "持续时间", + "xpack.observability.slo.sloEdit.timeWindowDuration.tooltip": "用于在其间计算 SLO 的时间窗口持续时间。", + "xpack.observability.slo.sloEdit.timeWindowType.label": "时间窗口", + "xpack.observability.slo.sloEdit.timeWindowType.tooltip": "选择滚动或日历对齐窗口。", "xpack.observability.slo.sloList.pageHeader.createNewButtonLabel": "创建新 SLO", "xpack.observability.slo.sloList.welcomePrompt.buttonLabel": "创建 SLO", "xpack.observability.slo.sloList.welcomePrompt.getStartedMessage": "要开始使用,请创建您的首个 SLO。", @@ -26840,7 +27841,7 @@ "xpack.observability.slo.sloStatusBadge.violated": "已违规", "xpack.observability.sloCreatePageTitle": "创建新 SLO", "xpack.observability.sloEditPageTitle": "编辑 SLO", - "xpack.observability.slos.sloDetails.headerControl.exploreInApm": "在 APM 中浏览", + "xpack.observability.slos.sloDetails.headerControl.exploreInApm": "服务详情", "xpack.observability.slosLinkTitle": "SLO", "xpack.observability.slosPage.autoRefreshButtonLabel": "自动刷新", "xpack.observability.slosPage.stopRefreshingButtonLabel": "停止刷新", @@ -26877,8 +27878,101 @@ "xpack.observability.statusVisualization.ux.goToAppTitle": "显示仪表板", "xpack.observability.statusVisualization.ux.link": "添加数据", "xpack.observability.statusVisualization.ux.title": "用户体验", + "xpack.observability.syntheticsThrottlingEnabledExperimentName": "启用 Synthetics 限制(实验性)", + "xpack.observability.threshold.rule..charts.errorMessage": "哇哦,出问题了", + "xpack.observability.threshold.rule..charts.noDataMessage": "没有可用图表数据", + "xpack.observability.threshold.rule..timeLabels.days": "天", + "xpack.observability.threshold.rule..timeLabels.hours": "小时", + "xpack.observability.threshold.rule..timeLabels.minutes": "分钟", + "xpack.observability.threshold.rule..timeLabels.seconds": "秒", + "xpack.observability.threshold.rule.alertDetailsAppSection.summaryField.rule": "规则", + "xpack.observability.threshold.rule.alertDetailsAppSection.thresholdTitle": "超出阈值", + "xpack.observability.threshold.rule.alertDetailUrlActionVariableDescription": "链接到告警故障排除视图获取进一步的上下文和详情。如果未配置 server.publicBaseUrl,这将为空字符串。", + "xpack.observability.threshold.rule.alertDropdownTitle": "告警和规则", + "xpack.observability.threshold.rule.alertFlyout.addCondition": "添加条件", + "xpack.observability.threshold.rule.alertFlyout.advancedOptions": "高级选项", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.avg": "平均值", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.cardinality": "基数", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.count": "文档计数", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.max": "最大值", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.min": "最小值", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.p95": "第 95 个百分位", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.p99": "第 99 个百分位", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.rate": "比率", + "xpack.observability.threshold.rule.alertFlyout.aggregationText.sum": "求和", + "xpack.observability.threshold.rule.alertFlyout.alertDescription": "任何 Observability 数据类型到达或超出给定值时告警。", + "xpack.observability.threshold.rule.alertFlyout.alertOnGroupDisappear": "组停止报告数据时提醒我", + "xpack.observability.threshold.rule.alertFlyout.alertOnNoData": "没数据时提醒我", + "xpack.observability.threshold.rule.alertFlyout.alertPerRedundantFilterError.docsLink": "文档", + "xpack.observability.threshold.rule.alertFlyout.conditions": "条件", + "xpack.observability.threshold.rule.alertFlyout.createAlertPerHelpText": "为每个唯一值创建告警。例如:“host.id”或“cloud.region”。", + "xpack.observability.threshold.rule.alertFlyout.createAlertPerText": "告警分组依据(可选)", + "xpack.observability.threshold.rule.alertFlyout.customEquation": "定制方程", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.addCustomRow": "添加聚合/字段", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.deleteRowButton": "删除", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.equationHelpMessage": "支持基本匹配表达式", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.labelHelpMessage": "定制标签将在告警图表上以及原因/告警标题中显示", + "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.labelLabel": "标签(可选)", + "xpack.observability.threshold.rule.alertFlyout.docCountNoDataDisabledHelpText": "[此设置不适用于文档计数聚合器。]", + "xpack.observability.threshold.rule.alertFlyout.error.aggregationRequired": "“聚合”必填。", + "xpack.observability.threshold.rule.alertFlyout.error.customMetrics.aggTypeRequired": "“聚合”必填", + "xpack.observability.threshold.rule.alertFlyout.error.customMetrics.fieldRequired": "“字段”必填", + "xpack.observability.threshold.rule.alertFlyout.error.customMetricsError": "必须至少定义 1 个定制指标", + "xpack.observability.threshold.rule.alertFlyout.error.equation.invalidCharacters": "方程字段仅支持以下字符:A-Z、+、-、/、*、(、)、?、!、&、:、|、>、<、=", + "xpack.observability.threshold.rule.alertFlyout.error.invalidFilterQuery": "筛选查询无效。", + "xpack.observability.threshold.rule.alertFlyout.error.metricRequired": "“指标”必填。", + "xpack.observability.threshold.rule.alertFlyout.error.thresholdRequired": "“阈值”必填。", + "xpack.observability.threshold.rule.alertFlyout.error.thresholdTypeRequired": "阈值必须包含有效数字。", + "xpack.observability.threshold.rule.alertFlyout.error.timeRequred": "“时间大小”必填。", + "xpack.observability.threshold.rule.alertFlyout.expandRowLabel": "展开行。", + "xpack.observability.threshold.rule.alertFlyout.filterHelpText": "使用 KQL 表达式限制告警触发的范围。", + "xpack.observability.threshold.rule.alertFlyout.filterLabel": "筛选(可选)", + "xpack.observability.threshold.rule.alertFlyout.groupDisappearHelpText": "启用此选项可在之前检测的组开始不报告任何数据时触发操作。不建议将此选项用于可能会快速自动启动和停止节点的动态扩展基础架构。", + "xpack.observability.threshold.rule.alertFlyout.noDataHelpText": "启用此选项可在指标在预期的时间段中未报告任何数据时或告警无法查询 Elasticsearch 时触发操作", + "xpack.observability.threshold.rule.alertFlyout.ofExpression.popoverLinkLabel": "了解如何添加更多数据", + "xpack.observability.threshold.rule.alertFlyout.outsideRangeLabel": "不介于", + "xpack.observability.threshold.rule.alertFlyout.removeCondition": "删除条件", + "xpack.observability.threshold.rule.alerting.noDataFormattedValue": "[无数据]", + "xpack.observability.threshold.rule.alerting.threshold.defaultActionMessage": "\\{\\{alertName\\}\\} - \\{\\{context.group\\}\\} 处于 \\{\\{context.alertState\\}\\} 状态\n\n 原因:\n \\{\\{context.reason\\}\\}\n ", + "xpack.observability.threshold.rule.alerting.threshold.fired": "告警", + "xpack.observability.threshold.rule.alerting.threshold.nodata": "无数据", + "xpack.observability.threshold.rule.alerting.threshold.noDataFormattedValue": "[无数据]", + "xpack.observability.threshold.rule.alertsButton": "告警和规则", + "xpack.observability.threshold.rule.cloudActionVariableDescription": "ECS 定义的云对象(如果在源中可用)。", + "xpack.observability.threshold.rule.containerActionVariableDescription": "ECS 定义的容器对象(如果在源中可用)。", + "xpack.observability.threshold.rule.createInventoryRuleButton": "创建库存规则", + "xpack.observability.threshold.rule.createThresholdRuleButton": "创建阈值规则", + "xpack.observability.threshold.rule.groupByKeysActionVariableDescription": "包含正报告数据的组的对象", + "xpack.observability.threshold.rule.homePage.toolbar.kqlSearchFieldPlaceholder": "搜索基础设施数据……(例如 host.name:host-1)", + "xpack.observability.threshold.rule.hostActionVariableDescription": "ECS 定义的主机对象(如果在源中可用)。", + "xpack.observability.threshold.rule.infrastructureDropdownMenu": "基础设施", + "xpack.observability.threshold.rule.infrastructureDropdownTitle": "基础设施规则", + "xpack.observability.threshold.rule.labelsActionVariableDescription": "与在其上触发此告警的实体关联的标签列表。", + "xpack.observability.threshold.rule.manageRules": "管理规则", + "xpack.observability.threshold.rule.metricsDropdownMenu": "指标", + "xpack.observability.threshold.rule.metricsDropdownTitle": "指标规则", + "xpack.observability.threshold.rule.orchestratorActionVariableDescription": "ECS 定义的 Orchestrator 对象(如果在源中可用)。", + "xpack.observability.threshold.rule.reasonActionVariableDescription": "告警原因的简洁描述", + "xpack.observability.threshold.rule.sourceConfiguration.missingHttp": "无法加载源:无 HTTP 客户端可用。", + "xpack.observability.threshold.rule.sourceConfiguration.updateFailureBody": "无法对指标配置应用更改。请稍后重试。", + "xpack.observability.threshold.rule.sourceConfiguration.updateFailureTitle": "配置更新失败", + "xpack.observability.threshold.rule.sourceConfiguration.updateSuccessTitle": "已成功更新指标设置", + "xpack.observability.threshold.rule.tagsActionVariableDescription": "与在其上触发此告警的实体关联的标记列表。", + "xpack.observability.threshold.rule.threshold.aboveRecovery": "高于", + "xpack.observability.threshold.rule.threshold.belowRecovery": "低于", + "xpack.observability.threshold.rule.threshold.betweenRecovery": "介于", + "xpack.observability.threshold.rule.threshold.customEquation": "定制方程", + "xpack.observability.threshold.rule.threshold.documentCount": "文档计数", + "xpack.observability.threshold.rule.timestampDescription": "检测到告警时的时间戳。", + "xpack.observability.threshold.rule.valueActionVariableDescription": "指定条件中的指标值。用法:(ctx.value.condition0, ctx.value.condition1, 诸如此类)。", + "xpack.observability.threshold.rule.viewInAppUrlActionVariableDescription": "链接到告警源", + "xpack.observability.threshold.ruleExplorer.groupByAriaLabel": "图表绘制依据", + "xpack.observability.threshold.ruleExplorer.groupByLabel": "所有内容", + "xpack.observability.threshold.ruleName": "阈值(技术预览)", + "xpack.observability.thresholdRule.expressionItems.descriptionLabel": "当", "xpack.observability.uiSettings.betaLabel": "公测版", "xpack.observability.uiSettings.technicalPreviewLabel": "技术预览", + "xpack.observability.uiSettings.throttlingDocsLinkText": "在此处阅读通知。", "xpack.observability.ux.coreVitals.average": "平均值", "xpack.observability.ux.coreVitals.cls": "累计布局偏移", "xpack.observability.ux.coreVitals.cls.help": "累计布局偏移 (CLS):衡量视觉稳定性。为了提供良好的用户体验,页面的 CLS 应小于 0.1。", @@ -26903,6 +27997,43 @@ "xpack.observability.ux.dashboard.webCoreVitals.help": "详细了解", "xpack.observability.ux.dashboard.webCoreVitals.helpAriaLabel": "帮助", "xpack.observability.ux.service.help": "选择流量最高的 RUM 服务", + "xpack.observabilityShared.inspector.stats.queryTimeValue": "{queryTime}ms", + "xpack.observabilityShared.breadcrumbs.observabilityLinkText": "Observability", + "xpack.observabilityShared.inspector.stats.dataViewDescription": "连接到 Elasticsearch 索引的数据视图。", + "xpack.observabilityShared.inspector.stats.dataViewLabel": "数据视图", + "xpack.observabilityShared.inspector.stats.hitsDescription": "查询返回的文档数目。", + "xpack.observabilityShared.inspector.stats.hitsLabel": "命中数", + "xpack.observabilityShared.inspector.stats.hitsTotalDescription": "与查询匹配的文档数目。", + "xpack.observabilityShared.inspector.stats.hitsTotalLabel": "命中数(总数)", + "xpack.observabilityShared.inspector.stats.kibanaApiQueryParametersDescription": "发起 Elasticsearch 请求的 Kibana API 请求中使用的查询参数。", + "xpack.observabilityShared.inspector.stats.kibanaApiQueryParametersLabel": "Kibana API 查询参数", + "xpack.observabilityShared.inspector.stats.kibanaApiRouteDescription": "发起 Elasticsearch 请求的 Kibana API 请求的路由。", + "xpack.observabilityShared.inspector.stats.kibanaApiRouteLabel": "Kibana API 路由", + "xpack.observabilityShared.inspector.stats.queryTimeDescription": "处理查询所花费的时间。不包括发送请求或在浏览器中解析它的时间。", + "xpack.observabilityShared.inspector.stats.queryTimeLabel": "查询时间", + "xpack.observabilityShared.navigation.betaBadge": "公测版", + "xpack.observabilityShared.navigation.experimentalBadgeLabel": "技术预览", + "xpack.observabilityShared.navigation.newBadge": "新建", + "xpack.observabilityShared.pageLayout.sideNavTitle": "Observability", + "xpack.observabilityShared.tour.alertsStep.imageAltText": "告警演示", + "xpack.observabilityShared.tour.alertsStep.tourContent": "通过电子邮件、PagerDuty 和 Slack 等第三方平台集成定义并检测触发告警的条件。", + "xpack.observabilityShared.tour.alertsStep.tourTitle": "发生更改时接收通知", + "xpack.observabilityShared.tour.endButtonLabel": "结束教程", + "xpack.observabilityShared.tour.guidedSetupStep.tourContent": "继续使用 Elastic Observability 的最简便方法,是按照数据助手中推荐的后续步骤操作。", + "xpack.observabilityShared.tour.guidedSetupStep.tourTitle": "Elastic Observability 让您事半功倍", + "xpack.observabilityShared.tour.metricsExplorerStep.imageAltText": "指标浏览器演示", + "xpack.observabilityShared.tour.metricsExplorerStep.tourContent": "流式传输、分组并可视化您的系统、云、网络和其他基础架构源中的指标。", + "xpack.observabilityShared.tour.metricsExplorerStep.tourTitle": "监测基础架构运行状况", + "xpack.observabilityShared.tour.nextButtonLabel": "下一步", + "xpack.observabilityShared.tour.observabilityOverviewStep.tourContent": "学习快速教程以了解在一个堆栈中保存所有 Observability 数据的优势。", + "xpack.observabilityShared.tour.observabilityOverviewStep.tourTitle": "欢迎使用 Elastic Observability", + "xpack.observabilityShared.tour.servicesStep.imageAltText": "服务演示", + "xpack.observabilityShared.tour.servicesStep.tourContent": "通过收集有关服务的详细信息快速查找并修复性能问题。", + "xpack.observabilityShared.tour.servicesStep.tourTitle": "确定并解决应用程序问题", + "xpack.observabilityShared.tour.skipButtonLabel": "跳过教程", + "xpack.observabilityShared.tour.streamStep.imageAltText": "日志流演示", + "xpack.observabilityShared.tour.streamStep.tourContent": "监测、筛选并检查从您的应用程序、服务器、虚拟机和容器中流入的日志事件。", + "xpack.observabilityShared.tour.streamStep.tourTitle": "实时跟踪您的日志", "xpack.osquery.action.missingPrivileges": "要访问此页面,请联系管理员获取 {osquery} Kibana 权限。", "xpack.osquery.agentPolicy.confirmModalCalloutDescription": "Fleet 检测到您的部分代理已在使用选定{agentPolicyCount, plural, other {代理策略}}。由于此操作,Fleet 会将更新部署到使用此{agentPolicyCount, plural, other {代理策略}}的所有代理。", "xpack.osquery.agentPolicy.confirmModalCalloutTitle": "此操作将更新 {agentCount, plural, other {# 个代理}}", @@ -26930,6 +28061,7 @@ "xpack.osquery.packs.table.runActionAriaLabel": "运行 {packName}", "xpack.osquery.packUploader.unsupportedFileTypeText": "文件类型 {fileType} 不受支持,请上传 {supportedFileTypes} 配置文件", "xpack.osquery.results.multipleAgentsResponded": "{agentsResponded, plural, other {# 个代理已}}响应,未报告任何 osquery 数据。", + "xpack.osquery.results.permissionDenied": "要访问这些结果,请联系管理员获取 {osquery} Kibana 权限。", "xpack.osquery.savedQueryList.queriesTable.editActionAriaLabel": "编辑 {savedQueryName}", "xpack.osquery.savedQueryList.queriesTable.runActionAriaLabel": "运行 {savedQueryName}", "xpack.osquery.updatePack.successToastMessageText": "已成功更新“{packName}”包", @@ -27050,6 +28182,7 @@ "xpack.osquery.liveQueryActions.details.id": "ID", "xpack.osquery.liveQueryActions.details.query": "查询", "xpack.osquery.liveQueryActions.details.title": "查询详情", + "xpack.osquery.liveQueryActions.error.licenseTooLow": "使用响应操作至少需要白金级许可证。", "xpack.osquery.liveQueryActions.error.notFoundParameters": "尚未调用此查询,因为在告警中找不到所使用的参数及其值。", "xpack.osquery.liveQueryActions.table.agentsColumnTitle": "代理", "xpack.osquery.liveQueryActions.table.createdAtColumnTitle": "创建于", @@ -27186,6 +28319,8 @@ "xpack.profiling.maxValue": "最大值:{max}", "xpack.profiling.noDataConfig.action.dataRetention": "分析 Elasticsearch 中存储的数据时,正常数据存储成本适用。详细了解 {dataRetentionLink}。", "xpack.profiling.stackFrames.subChart.avg": "平均 {percentage}", + "xpack.profiling.tabs.symbols.step3.doc-ref": "{link} 中提供了更高级用例的文档。", + "xpack.profiling.tabs.symbols.step3.replace": "用实际值替代 {es_token} 等。您可以传递 {help} 以获取其他参数列表。", "xpack.profiling.appPageTemplate.pageTitle": "Universal Profiling", "xpack.profiling.asyncComponent.errorLoadingData": "无法加载数据", "xpack.profiling.breadcrumb.differentialFlamegraph": "差异火焰图", @@ -27204,6 +28339,10 @@ "xpack.profiling.cpu.self.label": "自 CPU", "xpack.profiling.cpu.total.hint": "指示函数及其调用的任何函数花费的 CPU 时间", "xpack.profiling.cpu.total.label": "总 CPU", + "xpack.profiling.differentialComparisonMode.absoluteButtonLabel": "绝对", + "xpack.profiling.differentialComparisonMode.legend": "此开关允许您在两个图表的绝对与相对比较之间进行切换", + "xpack.profiling.differentialComparisonMode.relativeButtonLabel": "相对", + "xpack.profiling.differentialComparisonMode.title": "格式", "xpack.profiling.featureRegistry.profilingFeatureName": "Universal Profiling", "xpack.profiling.flameGraphInformationWindow.annualizedCo2ExclusiveLabel": "年化 CO2(不包括子项)", "xpack.profiling.flameGraphInformationWindow.annualizedCo2InclusiveLabel": "年化 CO2", @@ -27241,6 +28380,7 @@ "xpack.profiling.frameInformationWindow.missingSymbols.native.downloadBinary": "下载 Elastic 分析二进制文件", "xpack.profiling.frameInformationWindow.missingSymbols.native.readMore": "阅读更多内容", "xpack.profiling.frameInformationWindow.missingSymbols.native.title": "符号缺失", + "xpack.profiling.frameInformationWindow.optimizeFunction": "优化函数", "xpack.profiling.frameInformationWindow.selectFrame": "单击帧可显示更多信息", "xpack.profiling.functionsView.annualizedCo2": "年化 CO2", "xpack.profiling.functionsView.annualizedDollarCost": "年化美元成本", @@ -27251,7 +28391,7 @@ "xpack.profiling.functionsView.newLabel": "新建", "xpack.profiling.functionsView.rankColumnLabel": "排名", "xpack.profiling.functionsView.samplesColumnLabel": "样例(估计)", - "xpack.profiling.functionsView.totalSampleCountLabel": " 总样例数估值:", + "xpack.profiling.functionsView.totalSampleCountLabel": "总样例数估值:", "xpack.profiling.header.betaBadgeTooltip": "此模块不是 GA 版。请通过报告错误来帮助我们。", "xpack.profiling.header.giveFeedbackLink": "反馈", "xpack.profiling.headerActionMenu.addData": "添加数据", @@ -27277,6 +28417,12 @@ "xpack.profiling.normalizationMenu.baseline": "基线", "xpack.profiling.normalizationMenu.comparison": "对比", "xpack.profiling.normalizationMenu.menuPopoverButtonAriaLabel": "打开标准化菜单", + "xpack.profiling.normalizationMenu.normalizeBy": "标准化依据", + "xpack.profiling.normalizationMenu.normalizeByScaleTooltip": "选择按时间标准化以跨不同时段比较一组机器。例如,如果您比较过去 1 小时与过去 24 小时的情况,则会将较短时间范围(1 小时)加倍以匹配更长时间范围(24 小时)。", + "xpack.profiling.normalizationMenu.normalizeByTimeTooltip": "选择按缩放因数标准化并设置基线和比较缩放因数,以比较不同大小的一组机器。例如,您可以将 10% 的机器部署与 90% 的机器部署进行比较。", + "xpack.profiling.normalizationMenu.scale": "缩放因数", + "xpack.profiling.normalizationMenu.time": "时间", + "xpack.profiling.normalizationMode.selectModeLegend": "为火焰图选择标准化模式", "xpack.profiling.notAvailableLabel": "不可用", "xpack.profiling.stackTracesView.containersTabLabel": "容器", "xpack.profiling.stackTracesView.deploymentsTabLabel": "部署", @@ -27300,6 +28446,11 @@ "xpack.profiling.tabs.debTitle": "DEB 软件包", "xpack.profiling.tabs.dockerRunContainerStep": "运行 Universal Profiling 容器:", "xpack.profiling.tabs.dockerTitle": "Docker", + "xpack.profiling.tabs.elasticAgentIntegrarion.step1": "复制凭据", + "xpack.profiling.tabs.elasticAgentIntegrarion.step1.hint": "您需要这些凭据才能设置 Universal Profiling。请将它们保存到安全位置,因为在后续步骤中将需要用到它们。", + "xpack.profiling.tabs.elasticAgentIntegrarion.step2": "Fleet", + "xpack.profiling.tabs.elasticAgentIntegrarion.step2.button": "在 Fleet 中管理 Universal Profiling 代理", + "xpack.profiling.tabs.elasticAgentIntegrarion.title": "Elastic 代理集成", "xpack.profiling.tabs.kubernetesInstallStep": "通过 Helm 安装主机代理:", "xpack.profiling.tabs.kubernetesRepositoryStep": "配置 Universal Profiling 主机代理 Helm 存储库:", "xpack.profiling.tabs.kubernetesTitle": "Kubernetes", @@ -27310,10 +28461,11 @@ "xpack.profiling.tabs.rpmInstallPackageStep": "安装 RPM 软件包(需要根权限):", "xpack.profiling.tabs.rpmStartSystemdServiceStep": "启动 Universal Profiling systemd 服务(需要根权限):", "xpack.profiling.tabs.rpmTitle": "RPM 软件包", - "xpack.profiling.tabs.symbols.step1": "从以下 URL 下载 symbtool 二进制文件:", - "xpack.profiling.tabs.symbols.step2": "生成 Elasticsearch 令牌:", + "xpack.profiling.tabs.symbols.step1": "下载并提取 symbtool", + "xpack.profiling.tabs.symbols.step2": "生成 Elasticsearch 令牌", "xpack.profiling.tabs.symbols.step2.instructions": "此处提供了说明", - "xpack.profiling.tabs.symbols.step3": "运行:", + "xpack.profiling.tabs.symbols.step3": "上传符号", + "xpack.profiling.tabs.symbols.step3.doc-ref.link": "对应的文档页面", "xpack.profiling.tabs.symbols.title": "上传符号", "xpack.profiling.topn.otherBucketLabel": "其他", "xpack.profiling.universalProfiling": "Universal Profiling", @@ -27980,6 +29132,7 @@ "xpack.savedObjectsTagging.tagAttributeLabels.description": "描述", "xpack.savedObjectsTagging.tagAttributeLabels.name": "名称", "xpack.savedObjectsTagging.uiApi.saveModal.label": "标签", + "xpack.savedObjectsTagging.uiApi.saveModal.optional": "可选", "xpack.savedObjectsTagging.uiApi.searchBar.filterButtonLabel": "标签", "xpack.savedObjectsTagging.uiApi.table.columnTagsDescription": "与此已保存对象关联的标签", "xpack.savedObjectsTagging.uiApi.table.columnTagsName": "标签", @@ -28175,6 +29328,7 @@ "xpack.security.accountManagement.userProfile.initialsRequiredError": "添加缩写", "xpack.security.accountManagement.userProfile.lightModeButton": "浅色", "xpack.security.accountManagement.userProfile.noneProvided": "未提供任何内容", + "xpack.security.accountManagement.userProfile.overriddenMessage": "此设置已由 Kibana 服务器覆盖,无法更改。", "xpack.security.accountManagement.userProfile.passwordGroupDescription": "使用强密码保护您的数据。", "xpack.security.accountManagement.userProfile.passwordGroupTitle": "密码", "xpack.security.accountManagement.userProfile.passwordLabel": "密码", @@ -28729,7 +29883,10 @@ "xpack.securitySolution.alertDetails.overview.originalHostRiskClassification": "原始 {riskEntity} 风险分类", "xpack.securitySolution.alertDetails.overview.riskDataTooltipContent": "仅在其对 {riskEntity} 可用时才会显示风险分类。确保在您的环境中启用了 {riskScoreDocumentationLink}。", "xpack.securitySolution.alerts.alertDetails.summary.cases.subTitle": "正在显示 {caseCount} 个包含此告警的最新创建的案例", + "xpack.securitySolution.alertSummaryView.alertSummaryViewContextDescription": "告警(来自 {view})", + "xpack.securitySolution.alertSummaryView.eventSummaryViewContextDescription": "事件(来自 {view})", "xpack.securitySolution.anomaliesTable.table.unit": "{totalCount, plural, =1 {异常} other {异常}}", + "xpack.securitySolution.api.alertTags.validationError": "在 tags_to_add 和 tags_to_remove 参数中发现重复标签 {duplicates}。", "xpack.securitySolution.artifactCard.comments.label.hide": "隐藏注释 ({count})", "xpack.securitySolution.artifactCard.comments.label.show": "显示注释 ({count})", "xpack.securitySolution.artifactCard.policyEffectScope": "已应用于 {count} 个{count, plural, other {策略}}", @@ -28742,6 +29899,7 @@ "xpack.securitySolution.artifactListPage.flyoutEditItemLoadFailure": "无法检索项以供编辑。原因:{errorMessage}", "xpack.securitySolution.artifactListPage.flyoutEditSubmitSuccess": "“{name}”已更新。", "xpack.securitySolution.artifactListPage.showingTotal": "正在显示 {total, plural, other {# 个项目}}", + "xpack.securitySolution.assistant.getComments.at": "at: {timestamp}", "xpack.securitySolution.authenticationsTable.hostsUnit": "{totalCount, plural, =1 {主机} other {主机}}", "xpack.securitySolution.authenticationsTable.rows": "{numRows} {numRows, plural, =0 {行} =1 {行} other {行}}", "xpack.securitySolution.authenticationsTable.usersUnit": "{totalCount, plural, =1 {用户} other {用户}}", @@ -28754,6 +29912,9 @@ "xpack.securitySolution.bulkActions.openedAlertSuccessToastMessage": "已成功打开 {totalAlerts} 个{totalAlerts, plural, =1 {告警} other {告警}}。", "xpack.securitySolution.bulkActions.updateAlertStatusFailed": "无法更新 {conflicts} 个{conflicts, plural, =1 {告警} other {告警}}。", "xpack.securitySolution.bulkActions.updateAlertStatusFailedDetailed": "{updated} 个{updated, plural, =1 {告警} other {告警}}已成功更新,但有 {conflicts} 个无法更新\n 因为{conflicts, plural, =1 {其} other {其}}已被修改。", + "xpack.securitySolution.bulkActions.updateAlertTagsFailed": "无法更新 {conflicts} 个{conflicts, plural, =1 {告警} other {告警}}的标签。", + "xpack.securitySolution.bulkActions.updateAlertTagsFailedDetailed": "{updated} 个{updated, plural, =1 {告警} other {告警}}已成功更新,但有 {conflicts} 个无法更新\n 因为{conflicts, plural, =1 {其} other {其}}已被修改。", + "xpack.securitySolution.bulkActions.updateAlertTagsSuccessToastMessage": "已成功更新 {totalAlerts} 个{totalAlerts, plural, =1 {告警} other {告警}}的标签。", "xpack.securitySolution.cases.caseTable.caseDetailsLinkAria": "单击以访问标题为 {detailName} 的案例", "xpack.securitySolution.components.alertsTreemap.noDataReasonLabel": "任何组中都不存在 {stackByField1} 字段", "xpack.securitySolution.components.alertsTreemap.riskLabel": "(风险 {riskScore})", @@ -28785,8 +29946,9 @@ "xpack.securitySolution.createPackagePolicy.stepConfigure.packagePolicyTypeInteractiveOnlyInfo": "捕获用户通过 {ssh} 或 {telnet} 等程序发起的实时系统交互。{recommendation}", "xpack.securitySolution.createPackagePolicy.stepConfigure.quickSettingsTranslation": "使用快速设置将集成配置到 {environments}。您可以在创建集成后做出配置更改。", "xpack.securitySolution.createPackagePolicy.stepConfigure.seeDocumentation": "请参阅 {documentation} 了解更多信息。", - "xpack.securitySolution.dashboards.getSecuritySolutionDashboardsErrorTitle": "无法获取仪表板 - {message}", - "xpack.securitySolution.dashboards.getSecuritySolutionTagsErrorTitle": "无法创建 {tagName} 标签 - {message}", + "xpack.securitySolution.dashboards.createSecuritySolutionTagErrorTitle": "无法创建 {tagName} 标签 - {message}", + "xpack.securitySolution.dashboards.getSecuritySolutionDashboardsErrorTitle": "找不到仪表板 - {message}", + "xpack.securitySolution.dashboards.getSecuritySolutionTagsErrorTitle": "找不到 {tagName} 标签 - {message}", "xpack.securitySolution.dataProviders.groupAreaAriaLabel": "您在组 {group} 中", "xpack.securitySolution.dataProviders.showOptionsDataProviderAriaLabel": "{field} {value}按 enter 键可显示选项,或按空格键开始拖动", "xpack.securitySolution.dataQualityDashboard.securitySolutionDefaultIndexTooltip": "{settingName} 设置中的索引和模式", @@ -28816,6 +29978,7 @@ "xpack.securitySolution.detectionEngine.components.importRuleModal.importFailedDetailedTitle": "{message}", "xpack.securitySolution.detectionEngine.components.importRuleModal.importFailedTitle": "无法导入 {totalRules} 个{totalRules, plural, =1 {规则} other {规则}}", "xpack.securitySolution.detectionEngine.components.importRuleModal.successfullyImportedRulesTitle": "已成功导入 {totalRules} 个{totalRules, plural, =1 {规则} other {规则}}", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsTooltipContent": "选择如何处理缺失 {suppressBy} 字段的事件。将缺失字段的事件分组在一起,或为每个事件创建独立告警。{learnMoreLink}", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldShouldLoadQueryDynamicallyLabel": "在每次执行规则时动态加载已保存查询“{savedQueryName}”", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.machineLearningJobIdHelpText": "我们提供了一些常见作业来帮助您入门。要添加自己的定制作业,请在 {machineLearning} 应用程序中将一个“security”组分配给这些作业,以使它们显示在此处。", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.mlEnableJobMulti": "选定的 ML 作业 {jobNames} 当前未运行。在您启用此规则时,我们将开始所有这些作业。", @@ -28823,6 +29986,7 @@ "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.ruleTypeField.mlTypeDisabledDescription": "要访问 ML,需要{subscriptionsLink}。", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.threatMatchIndexForbiddenError": "索引模式不能是{forbiddenString}。请选择更具体的索引模式。", "xpack.securitySolution.detectionEngine.createRule.stepRuleActions.invalidMustacheTemplateErrorMessage": "{key} 不是有效的 Mustache 模板", + "xpack.securitySolution.detectionEngine.createRule.stepRuleActions.snoozeDescription": "选择执行操作的时间,或暂停这些操作。没有为已暂停操作创建通知。{docs}。", "xpack.securitySolution.detectionEngine.missingPrivilegesCallOut.messageBody.messageDetail": "{essence} {indexPrivileges} {featurePrivileges} 相关文档:{docs}", "xpack.securitySolution.detectionEngine.missingPrivilegesCallOut.messageBody.missingFeaturePrivileges": "缺失 {privileges} 权限,无法使用 {index} 功能。{explanation}", "xpack.securitySolution.detectionEngine.missingPrivilegesCallOut.messageBody.missingIndexPrivileges": "缺失 {privileges} 权限,无法使用 {index} 索引。{explanation}", @@ -28831,16 +29995,27 @@ "xpack.securitySolution.detectionEngine.mlUnavailableTitle": "{totalRules} 个{totalRules, plural, =1 {规则需要} other {规则需要}}启用 Machine Learning。", "xpack.securitySolution.detectionEngine.needAdminForUpdateCallOutBody.messageBody.messageDetail": "{essence} 相关文档:{docs}", "xpack.securitySolution.detectionEngine.needsIndexPermissionsMessage": "要使用检测引擎,具有所需集群和索引权限的用户必须首先访问此页面。{additionalContext} 若需要更多帮助,请联系您的 Elastic Stack 管理员。", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.installRuleFailed": "无法安装 {failed, plural, other {# 个规则}}。", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.installRuleSkipped": "已在安装期间跳过 {skipped, plural, other {# 个规则}}。", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.installRuleSuccess": "已成功安装 {succeeded, plural, other {# 个规则}}。", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.upgradeRuleFailed": "无法更新 {failed, plural, other {# 个规则}}。", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.upgradeRuleSkipped": "已在更新期间跳过 {skipped, plural, other {# 个规则}}。", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.upgradeRuleSuccess": "已成功更新 {succeeded, plural, other {# 个规则}}。", "xpack.securitySolution.detectionEngine.queryPreview.viewDetailsForRowAriaLabel": "查看第 {ariaRowindex} 行的告警或事件的详细信息,其中列为 {columnValues}", "xpack.securitySolution.detectionEngine.relatedIntegrations.popoverDescription": "安装并配置{integrationsCount, plural, =1 {以下集成} other {以下一个或多个集成}}以便为此检测规则采集必要的数据:", "xpack.securitySolution.detectionEngine.relatedIntegrations.popoverDescriptionInstalledVersionTooltip": "版本不匹配 -- 请解决!已安装版本 `{installedVersion}`,而所需版本为 `{requiredVersion}`", "xpack.securitySolution.detectionEngine.relatedIntegrations.popoverTitle": "有 [{integrationsCount}] 个相关{integrationsCount, plural, =1 {集成} other {集成}}可用", "xpack.securitySolution.detectionEngine.rule.editRule.errorMsgDescription": "您在{countError, plural, other {以下选项卡}}中的输入无效:{tabHasError}", + "xpack.securitySolution.detectionEngine.ruleDetails.onceInEveryDaysLabel": "{daysCount, plural, other {每}} {daysCount, plural, other {# 天}}一次", + "xpack.securitySolution.detectionEngine.ruleDetails.onceInEveryHoursLabel": "{hoursCount, plural, other {每}} {hoursCount, plural, other {# 小时}}一次", + "xpack.securitySolution.detectionEngine.ruleDetails.onceInEveryMinutesLabel": "{minutesCount, plural, other {每}} {minutesCount, plural, other {# 分钟}}一次", + "xpack.securitySolution.detectionEngine.ruleDetails.onceInEverySecondsLabel": "{secondsCount, plural, other {每}} {secondsCount, plural, other {# 秒}}一次", "xpack.securitySolution.detectionEngine.ruleDetails.ruleCreationDescription": "由 {by} 于 {date}创建", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.gapDurationColumnTooltip": "规则执行中缺口的持续时间 (hh:mm:ss:SSS)。调整规则回查或{seeDocs}以缩小缺口。", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.searchLimitExceededLabel": "超过 {totalItems} 个规则执行与提供的筛选相匹配。正在按最近的“@timestamp”显示前 {maxItems} 项。进一步限制筛选以查看其他执行事件。", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.totalExecutionsLabel": "正在显示 {totalItems} 个 {totalItems, plural, =1 {规则执行} other {规则执行}}", "xpack.securitySolution.detectionEngine.ruleDetails.ruleUpdateDescription": "由 {by} 于 {date}更新", + "xpack.securitySolution.detectionEngine.rules.addRules.installSelectedRules": "安装 {numberOfSelectedRules} 个选定的规则", "xpack.securitySolution.detectionEngine.rules.all.exceptions.rulesPopoverButton": "+{rulesCount} {rulesCount, plural, =1 {规则} other {规则}}", "xpack.securitySolution.detectionEngine.rules.all.exceptions.showingExceptionLists": "正在显示 {totalLists} 个 {totalLists, plural, =1 {列表} other {列表}}", "xpack.securitySolution.detectionEngine.rules.allRules.bulkAction.enable.successToastDescription": "已成功启用 {totalRules, plural, =1 {{totalRules} 个规则} other {{totalRules} 个规则}}", @@ -28859,14 +30034,14 @@ "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.modalBody": "您正在复制 {rulesCount, plural, other {# 个规则}}。选择要复制的内容:", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.with": "{rulesCount, plural, other {规则}}及{rulesCount, plural, other {其}}活动例外", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.without": "仅{rulesCount, plural, other {规则}}", - "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.includeExpiredExceptionsCheckboxLabel": "{rulesCount, plural, other {规则}}及{rulesCount, plural, other {其}}所有例外(活动和已过期例外)", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.includeExpiredExceptionsCheckboxLabel": "{rulesCount, plural, other {规则}}及{rulesCount, plural, other {其}}例外", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.successToastDescription": "已成功复制 {totalRules, plural, =1 {{totalRules} 个规则} other {{totalRules} 个规则}}", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.addRuleActions.infoCalloutTitle": "为您选择的 {rulesCount, plural, other {# 个规则}}配置操作", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.addRuleActions.warningCalloutMessage": "您即将覆盖 {rulesCount, plural, other {# 个选定规则}}的规则操作。单击 {saveButton} 以应用更改。", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.applyTimelineTemplate.warningCalloutMessage": "您即将对 {rulesCount, plural, other {# 个选定规则}}应用更改。如果之前已将时间线模板应用于这些规则,则会将其覆盖或重置为无(如果您选择了“无”)。", - "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.errorToastDescription": "无法更新 {failedRulesCount, plural, =0 {} =1 {# 个规则} other {# 个规则}}。{skippedRulesCount, plural, =0 {} =1 {已跳过 # 个规则。} other {已跳过 # 个规则。}}", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.errorToastDescription": "无法更新 {failedRulesCount, plural, =0 {} =1 {# 个规则} other {# 个规则}}。{skippedRulesCount, plural, =0 {} =1 { 已跳过 # 个规则。} other { 已跳过 # 个规则。}}", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.setSchedule.warningCalloutMessage": "您即将对 {rulesCount, plural, other {# 个选定规则}}应用更改。您所做的更改将覆盖现有规则计划和其他回查时间(如有)。", - "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.successToastDescription": "{succeededRulesCount, plural, =0 {} =1 {您已成功更新 # 个规则。} other {您已成功更新 # 个规则。}}\n {skippedRulesCount, plural, =0 {} =1 {已跳过 # 个规则。} other {已跳过 # 个规则。}}\n ", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.successToastDescription": "{succeededRulesCount, plural, =0 {} =1 {您已成功更新 # 个规则。} other {您已成功更新 # 个规则。}}\n {skippedRulesCount, plural, =0 {} =1 { 已跳过 # 个规则。} other { 已跳过 # 个规则。}}\n ", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.elasticRulesEditDescription": "{rulesCount, plural, =1 {# 个预构建的 Elastic 规则} other {# 个预构建的 Elastic 规则}}(不支持编辑预构建的规则)", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.elasticRulesExportDescription": "{rulesCount, plural, =1 {# 个预构建的 Elastic 规则} other {# 个预构建的 Elastic 规则}}(不支持导出预构建的规则)", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.enable.errorToastDescription": "无法启用 {rulesCount, plural, =1 {# 个规则} other {# 个规则}}。", @@ -28886,9 +30061,11 @@ "xpack.securitySolution.detectionEngine.rules.reloadMissingPrePackagedRulesButton": "安装 {missingRules} 个 Elastic 预构建{missingRules, plural, =1 {规则} other {规则}} ", "xpack.securitySolution.detectionEngine.rules.reloadMissingPrePackagedTimelinesButton": "安装 {missingTimelines} 个 Elastic 预构建{missingTimelines, plural, =1 {时间线} other {时间线}} ", "xpack.securitySolution.detectionEngine.rules.update.successfullySavedRuleTitle": "{ruleName} 已保存", + "xpack.securitySolution.detectionEngine.rules.updatePrebuiltRulesCalloutTitle": "已安装规则有可用更新。在 {link} 中复查并更新。", "xpack.securitySolution.detectionEngine.rules.updatePrePackagedRulesAndTimelinesButton": "更新 {updateRules} 个 Elastic 预构建{updateRules, plural, =1 {规则} other {规则}}和 {updateTimelines} 个 Elastic 预构建{updateTimelines, plural, =1 {时间线} other {时间线}}", "xpack.securitySolution.detectionEngine.rules.updatePrePackagedTimelinesButton": "更新 {updateTimelines} 个 Elastic 预构建{updateTimelines, plural, =1 {时间线} other {时间线}}", - "xpack.securitySolution.detectionEngine.signals.alertReasonDescription": "{eventCategory, select, null {} other {{eventCategory}{whitespace}}}事件{hasFieldOfInterest, select, false {} other {{whitespace}具有}}{processName, select, null {} other {{whitespace}进程 {processName},}}{processParentName, select, null {} other {{whitespace}父进程 {processParentName},}}{fileName, select, null {} other {{whitespace}文件 {fileName},}}{sourceAddress, select, null {} other {{whitespace}源 {sourceAddress}}}{sourcePort, select, null {} other {:{sourcePort},}}{destinationAddress, select, null {} other {{whitespace}目标 {destinationAddress}}}{destinationPort, select, null {} other {:{destinationPort},}}{userName, select, null {} other {{whitespace}由 {userName}}}{hostName, select, null {} other {{whitespace}于{hostName}}} 创建了 {alertSeverity} 告警 {alertName}。", + "xpack.securitySolution.detectionEngine.rules.upgradeRules.upgradeSelected": "更新 {numberOfSelectedRules} 个选定的规则", + "xpack.securitySolution.detectionEngine.signals.alertReasonDescription": "{eventCategory, select, null {} other {{eventCategory}{whitespace}}}事件{hasFieldOfInterest, select, false {} other {{whitespace}具有}}{processName, select, null {} other {{whitespace}进程 {processName},}}{processParentName, select, null {} other {{whitespace}父进程 {processParentName},}}{fileName, select, null {} other {{whitespace}文件 {fileName},}}{sourceAddress, select, null {} other {{whitespace}源 {sourceAddress}}}{sourcePort, select, null {} other {:{sourcePort},}}{destinationAddress, select, null {} other {{whitespace}目标 {destinationAddress}}}{destinationPort, select, null {} other {:{destinationPort},}}{userName, select, null {} other {{whitespace}由 {userName}}}{hostName, select, null {} other {{whitespace}于{hostName}}} 创建了 {alertSeverity} 告警 {alertName}。", "xpack.securitySolution.detectionEngine.stepDefineRule.dataViewNotFoundDescription": "未找到“id”为“{dataView}”的数据视图。可能是因为它已被删除。", "xpack.securitySolution.detectionResponse.alertsByStatus.totalAlerts": "{totalAlerts, plural, =1 {告警} other {告警}}总计", "xpack.securitySolution.detectionResponse.casesByStatus.totalCases": "{totalCases, plural, =1 {案例} other {案例}}总计", @@ -28931,7 +30108,7 @@ "xpack.securitySolution.endpoint.policy.artifacts.empty.unassigned.backButtonLabel": "返回到 {policyName} 策略", "xpack.securitySolution.endpoint.policy.artifacts.empty.unassigned.content": "当前没有项目已分配给 {policyName}。立即分配项目,或在项目页面上添加和管理项目。", "xpack.securitySolution.endpoint.policy.artifacts.empty.unassigned.noPrivileges.content": "当前没有项目已分配给 {policyName}。", - "xpack.securitySolution.endpoint.policy.artifacts.layout.about": "有{count, plural, other { }}{count} 个{count, plural, =1 {项目} other {项目}}与此策略关联。单击此处查看所有项目", + "xpack.securitySolution.endpoint.policy.artifacts.layout.about": "有{count, plural, other {有}}{count} 个{count, plural, =1 {项目} other {项目}}与此策略关联。单击此处查看所有项目", "xpack.securitySolution.endpoint.policy.artifacts.layout.flyout.confirm": "分配给 {policyName}", "xpack.securitySolution.endpoint.policy.artifacts.layout.flyout.searchWarning.text": "仅显示前 {maxNumber} 个项目。请使用搜索栏优化结果。", "xpack.securitySolution.endpoint.policy.artifacts.layout.flyout.subtitle": "选择要添加到 {policyName} 的项目", @@ -28945,7 +30122,7 @@ "xpack.securitySolution.endpoint.policy.blocklist.layout.flyout.subtitle": "选择要添加到 {policyName} 的阻止列表条目", "xpack.securitySolution.endpoint.policy.blocklist.layout.flyout.toastSuccess.textMultiples": "{count} 个阻止列表条目已添加到您的列表。", "xpack.securitySolution.endpoint.policy.blocklist.layout.flyout.toastSuccess.textSingle": "“{name}”阻止列表已添加到您的列表。", - "xpack.securitySolution.endpoint.policy.blocklist.list.about": "有{count, plural, other { }}{count} 个{count, plural, =1 {阻止列表} other {阻止列表条目}}与此策略关联。单击此处以 {link}", + "xpack.securitySolution.endpoint.policy.blocklist.list.about": "有{count, plural, other {有}}{count} 个{count, plural, =1 {阻止列表} other {阻止列表条目}}与此策略关联。单击此处以 {link}", "xpack.securitySolution.endpoint.policy.blocklists.list.totalItemCount": "正在显示 {totalItemsCount, plural, other {# 个阻止列表条目}}", "xpack.securitySolution.endpoint.policy.details.detectionRulesMessage": "查看 {detectionRulesLink}。在“检测规则”页面上,预置规则标记有“Elastic”。", "xpack.securitySolution.endpoint.policy.details.eventCollectionsEnabled": "{selected} / {total} 个事件收集已启用", @@ -28958,7 +30135,7 @@ "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.subtitle": "选择事件筛选以添加到 {policyName}", "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.toastSuccess.textMultiples": "{count} 个事件筛选已添加到您的列表。", "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.toastSuccess.textSingle": "“{name}”已添加到您的事件筛选列表。", - "xpack.securitySolution.endpoint.policy.eventFilters.list.about": "有{count, plural, other { }}{count} 个事件{count, plural, =1 {筛选} other {筛选}}与此策略关联。单击此处以 {link}", + "xpack.securitySolution.endpoint.policy.eventFilters.list.about": "有{count, plural, other {有}}{count} 个事件{count, plural, =1 {筛选} other {筛选}}与此策略关联。单击此处以 {link}", "xpack.securitySolution.endpoint.policy.eventFilters.list.totalItemCount": "正在显示 {totalItemsCount, plural, other {# 个事件筛选}}", "xpack.securitySolution.endpoint.policy.hostIsolationException.empty.unassigned.content": "当前没有主机隔离例外分配给 {policyName}。立即分配主机隔离例外,或在主机隔离例外页面添加并管理例外。", "xpack.securitySolution.endpoint.policy.hostIsolationException.empty.unassigned.noPrivileges.content": "当前没有主机隔离例外分配给 {policyName}。", @@ -28967,14 +30144,14 @@ "xpack.securitySolution.endpoint.policy.hostIsolationException.layout.flyout.toastSuccess.textMultiples": "已将 {count} 个主机隔离例外添加到您的列表。", "xpack.securitySolution.endpoint.policy.hostIsolationException.layout.flyout.toastSuccess.textSingle": "已将“{name}”添加到您的主机隔离例外列表。", "xpack.securitySolution.endpoint.policy.hostIsolationException.list.totalItemCount": "正在显示 {totalItemsCount, plural, other {# 个主机隔离例外}}", - "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.about": "有{count, plural, other { }}{count} 个主机隔离{count, plural, =1 {例外} other {例外}}与此策略关联。单击此处以 {link}", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.about": "有{count, plural, other {有}}{count} 个主机隔离{count, plural, =1 {例外} other {例外}}与此策略关联。单击此处以 {link}", "xpack.securitySolution.endpoint.policy.trustedApps.empty.unassigned.content": "当前没有受信任应用程序已分配给 {policyName}。立即分配受信任的应用程序,或在受信任的应用程序页面添加并管理这些应用程序。", "xpack.securitySolution.endpoint.policy.trustedApps.empty.unassigned.noPrivileges.content": "当前没有受信任应用程序已分配给 {policyName}。", "xpack.securitySolution.endpoint.policy.trustedApps.layout.flyout.searchWarning.text": "仅显示前 {maxNumber} 个受信任的应用程序。请使用搜索栏优化结果。", "xpack.securitySolution.endpoint.policy.trustedApps.layout.flyout.subtitle": "选择受信任的应用程序以添加到 {policyName}", "xpack.securitySolution.endpoint.policy.trustedApps.layout.flyout.toastSuccess.textMultiples": "{count}个受信任的应用程序已添加到列表中。", "xpack.securitySolution.endpoint.policy.trustedApps.layout.flyout.toastSuccess.textSingle": "“{name}”已添加到受信任的应用程序列表。", - "xpack.securitySolution.endpoint.policy.trustedApps.list.about": "有{count, plural, other { }}{count} 个受信任的{count, plural, =1 {应用程序} other {应用程序}}与此策略关联。单击此处以 {link}", + "xpack.securitySolution.endpoint.policy.trustedApps.list.about": "有{count, plural, other {有}}{count} 个受信任的{count, plural, =1 {应用程序} other {应用程序}}与此策略关联。单击此处以 {link}", "xpack.securitySolution.endpoint.policy.trustedApps.list.totalItemCount": "正在显示 {totalItemsCount, plural, other {# 个受信任的应用程序}}", "xpack.securitySolution.endpoint.policyDetails.supportedVersion": "代理版本 {version}", "xpack.securitySolution.endpoint.policyDetailsConfig.notifyUserTooltip.a": "选择用户通知选项后,在阻止或检测到 {protectionName} 时将向主机用户显示通知。", @@ -28999,6 +30176,10 @@ "xpack.securitySolution.entityAnalytics.riskDashboard.riskToolTip": "{riskEntity} 风险分类由 {riskEntityLowercase} 风险分数决定。分类为紧急或高的{riskEntity}主机即表示存在风险。", "xpack.securitySolution.event.summary.threat_indicator.showMatches": "显示所有 {count} 个指标匹配告警", "xpack.securitySolution.eventDetails.nestedColumnCheckboxAriaLabel": "{field} 字段是对象,并分解为可以添加为列的嵌套字段", + "xpack.securitySolution.eventDetails.responseActions.endpoint.executed": "已执行 {command} 命令", + "xpack.securitySolution.eventDetails.responseActions.endpoint.failed": "无法执行 {command} 命令", + "xpack.securitySolution.eventDetails.responseActions.endpoint.pending": "正在执行 {command} 命令", + "xpack.securitySolution.eventDetails.responseActions.endpoint.tried": "已尝试执行 {command} 命令", "xpack.securitySolution.eventDetails.viewColumnCheckboxAriaLabel": "查看 {field} 列", "xpack.securitySolution.eventFilter.flyoutForm.creationSuccessToastTitle": "“{name}”已添加到事件筛选列表。", "xpack.securitySolution.eventFilters.deleteSuccess": "“{itemName}”已从事件筛选列表中移除。", @@ -29028,6 +30209,10 @@ "xpack.securitySolution.exceptions.viewer.lastUpdated": "已更新 {updated}", "xpack.securitySolution.exceptions.viewer.paginationDetails": "正在显示 {partOne} 个,共 {partTwo} 个", "xpack.securitySolution.fieldBrowser.descriptionForScreenReaderOnly": "{field} 字段的描述:", + "xpack.securitySolution.flyout.correlations.ancestryAlertsHeading": "{count, plural, other {# 个告警}}与体系相关", + "xpack.securitySolution.flyout.correlations.relatedCasesHeading": "{count} 个相关{count, plural, other {案例}}", + "xpack.securitySolution.flyout.correlations.sessionAlertsHeading": "{count, plural, other {# 个告警}}与会话相关", + "xpack.securitySolution.flyout.correlations.sourceAlertsHeading": "{count, plural, other {# 个告警}}与源事件相关", "xpack.securitySolution.flyout.documentDetails.overviewTab.viewAllButton": "查看所有 {text}", "xpack.securitySolution.flyout.errorMessage": "显示 {message} 时出现错误", "xpack.securitySolution.flyout.errorTitle": "无法显示 {title}", @@ -29071,6 +30256,7 @@ "xpack.securitySolution.lists.uploadValueListExtensionValidationMessage": "文件必须属于以下类型之一:[{fileTypes}]", "xpack.securitySolution.markdown.insight.filterBuilderText": "创建筛选以填充时间线查询构建器。要使用告警文档中的值,请在双大括号 {example} 中输入字段名称,将其作为值字段中的定制选项。", "xpack.securitySolution.markdown.osquery.missingPrivileges": "要访问此页面,请联系管理员获取 {osquery} Kibana 权限。", + "xpack.securitySolution.markdown.premiumPluginLinkPrefix": "要使用这些交互式 Markdown 功能,必须 {link}。", "xpack.securitySolution.markdownEditor.plugins.insightConfigError": "无法解析洞见 JSON 配置:{err}", "xpack.securitySolution.markdownEditor.plugins.timeline.failedRetrieveTimelineErrorMsg": "无法检索时间线 ID:{timelineId}", "xpack.securitySolution.markdownEditor.plugins.timeline.toolTip.timelineId": "时间线 ID:{timelineId}", @@ -29079,7 +30265,7 @@ "xpack.securitySolution.network.ipDetails.tlsTable.rows": "{numRows} {numRows, plural, =0 {行} =1 {行} other {行}}", "xpack.securitySolution.network.ipDetails.tlsTable.unit": "{totalCount, plural, =1 {服务器证书} other {服务器证书}}", "xpack.securitySolution.network.ipDetails.usersTable.rows": "{numRows} {numRows, plural, =0 {行} =1 {行} other {行}}", - "xpack.securitySolution.network.ipDetails.usersTable.unit": "{totalCount, plural, =1 {user} other {用户}}", + "xpack.securitySolution.network.ipDetails.usersTable.unit": "{totalCount, plural, =1 {用户} other {用户}}", "xpack.securitySolution.networkDnsTable.rows": "{numRows} {numRows, plural, =0 {行} =1 {行} other {行}}", "xpack.securitySolution.networkDnsTable.unit": "{totalCount, plural, =1 {域} other {域}}", "xpack.securitySolution.networkHttpTable.rows": "{numRows} {numRows, plural, =0 {行} =1 {行} other {行}}", @@ -29100,7 +30286,6 @@ "xpack.securitySolution.open.timeline.successfullyExportedTimelinesTitle": "已成功导出{totalTimelines, plural, =0 {所有时间线} =1 {{totalTimelines} 个时间线} other {{totalTimelines} 个时间线}}", "xpack.securitySolution.open.timeline.successfullyExportedTimelineTemplatesTitle": "已成功导出{totalTimelineTemplates, plural, =0 {所有时间线} =1 {{totalTimelineTemplates} 个时间线模板} other {{totalTimelineTemplates} 个时间线模板}}", "xpack.securitySolution.osquery.action.missingPrivileges": "要访问此页面,请联系管理员获取 {osquery} Kibana 权限。", - "xpack.securitySolution.responseActions.results.missingPrivileges": "要访问这些结果,请联系管理员获取 {integration} Kibana 权限。", "xpack.securitySolution.overview.ctiDashboardSubtitle": "正在显示:{totalCount} 个{totalCount, plural, other {指标}}", "xpack.securitySolution.overview.overviewHost.hostsSubtitle": "正在显示:{formattedHostEventsCount} 个{hostEventsCount, plural, other {事件}}", "xpack.securitySolution.overview.overviewNetwork.networkSubtitle": "正在显示:{formattedNetworkEventsCount} 个{networkEventsCount, plural, other {事件}}", @@ -29121,7 +30306,10 @@ "xpack.securitySolution.resolver.unboundedRequest.toast": "选择时间内找不到结果,已扩展到 {from} - {to}", "xpack.securitySolution.responder.header.lastSeen": "最后看到时间 {date}", "xpack.securitySolution.responder.hostOffline.callout.body": "主机 {name} 脱机,因此其响应可能会延迟。主机重新建立连接后将执行待处理的命令。", + "xpack.securitySolution.responder.missingEncryptionKey.callout.body": "我们建议配置加密密钥以保护敏感信息并提高您环境的安全性。如果未配置加密密钥,可能无法按预期执行某些功能。{viewMore}。", "xpack.securitySolution.responseActionFileDownloadLink.passcodeInfo": "(ZIP 文件密码:{passcode})。", + "xpack.securitySolution.responseActions.endpoint.commandDescription": "选择终端响应操作。响应操作仅在已安装 Elastic Defend 的主机上运行。{docs}", + "xpack.securitySolution.responseActions.results.missingPrivileges": "要访问这些结果,请联系管理员获取 {integration} Kibana 权限。", "xpack.securitySolution.responseActionsList.flyout.title": "响应操作历史记录:{hostname}", "xpack.securitySolution.responseActionsList.investigationGuideSuggestion": "您在调查指南中具有{queriesLength, plural, other {查询}}。将{queriesLength, plural, other {其添加为响应操作}}?", "xpack.securitySolution.responseActionsList.list.filter.emptyMessage": "没有可用的{filterName}", @@ -29132,6 +30320,7 @@ "xpack.securitySolution.responseActionsList.list.item.wasSuccessful": "{command} 已成功完成", "xpack.securitySolution.responseActionsList.list.recordRange": "正在显示第 {range} 个(共 {total} 个){recordsLabel}", "xpack.securitySolution.responseActionsList.list.recordRangeLabel": "{records, plural, other {响应操作}}", + "xpack.securitySolution.riskEngine.calculateScores.dataViewNotFoundError": "找不到指定数据视图 ({dataViewId})。请使用现有数据视图,或忽略该参数以使用默认风险输入。", "xpack.securitySolution.riskInformation.explanation": "此功能利用转换,通过脚本指标聚合基于“开放”状态的检测规则告警来计算 5 天时间窗口内的 {riskEntityLower} 风险分数。该转换每小时运行一次,以根据流入的新检测规则告警更新分数。", "xpack.securitySolution.riskInformation.introduction": "{riskEntity} 风险分数功能将显示您环境中存在风险的 {riskEntityLowerPlural}。", "xpack.securitySolution.riskInformation.learnMore": "您可以详细了解 {riskEntity} 风险{riskScoreDocumentationLink}", @@ -29145,6 +30334,7 @@ "xpack.securitySolution.riskScore.savedObjects.bulkCreateSuccessTitle": "已成功导入 {totalCount} 个{totalCount, plural, =1 {已保存对象} other {已保存对象}}", "xpack.securitySolution.riskScore.savedObjects.enableRiskScoreSuccessTitle": "已成功导入 {items}", "xpack.securitySolution.riskScore.savedObjects.failedToCreateTagTitle": "无法导入已保存对象:无法创建 {savedObjectTemplate},因为无法创建标签:{tagName}", + "xpack.securitySolution.riskScore.savedObjects.failedToFindTagTitle": "无法导入已保存对象:无法创建 {savedObjectTemplate},因为找不到标签:{tagName}", "xpack.securitySolution.riskScore.savedObjects.templateAlreadyExistsTitle": "无法导入已保存对象:无法创建 {savedObjectTemplate},因为其已存在", "xpack.securitySolution.riskScore.savedObjects.templateNotFoundTitle": "无法导入已保存对象:无法创建 {savedObjectTemplate},因为找不到模板", "xpack.securitySolution.riskScore.transform.notFoundTitle": "无法检查转换状态,因为找不到 {transformId}", @@ -29154,6 +30344,7 @@ "xpack.securitySolution.rule_exceptions.flyoutComponents.addToListsOptions.addToListsTooltipTitle": "共享例外列表为一组跨规则共享的例外。{rulesCount, plural, =1 {此规则当前没有共享的} other {这些规则当前没有共享的}}已附加例外列表。要创建一个列表,请访问“共享例外列表”页面。", "xpack.securitySolution.rule_exceptions.itemComments.hideCommentsLabel": "隐藏 ({comments}) 个{comments, plural, =1 {注释} other {注释}}", "xpack.securitySolution.rule_exceptions.itemComments.showCommentsLabel": "显示 ({comments}) 个{comments, plural, =1 {注释} other {注释}}", + "xpack.securitySolution.ruleExceptions.addExceptionFlyout.addRuleExceptionFromAlertComment": "将使用 {alertId} 中的相关数据预填充例外条件。", "xpack.securitySolution.ruleExceptions.addExceptionFlyout.addRuleExceptionToastSuccessText": "例外已添加到规则 - {ruleName}", "xpack.securitySolution.ruleExceptions.addExceptionFlyout.closeAlerts.successDetails": "规则例外已添加到共享列表:{listNames}", "xpack.securitySolution.ruleExceptions.addExceptionFlyout.commentsTitle": "添加注释 ({comments})", @@ -29203,6 +30394,7 @@ "xpack.securitySolution.trustedApps.flyoutCreateSubmitSuccess": "“{name}”已添加到受信任的应用程序。", "xpack.securitySolution.trustedApps.flyoutEditSubmitSuccess": "“{name}”已更新。", "xpack.securitySolution.trustedApps.showingTotal": "正在显示 {total} 个 {total, plural, other {受信任的应用程序}}", + "xpack.securitySolution.uiSettings.defaultAlertTagsDescription": "

    用于由安全解决方案规则生成的告警的标签选项列表。

    ", "xpack.securitySolution.uiSettings.defaultAnomalyScoreDescription": "

    要在 Security 应用中显示的 Machine Learning 作业异常所需超过的值。

    有效值:0 到 100。

    ", "xpack.securitySolution.uiSettings.defaultIndexDescription": "

    Security 应用要从中收集事件的 Elasticsearch 索引逗号分隔列表。

    ", "xpack.securitySolution.uiSettings.defaultRefreshIntervalDescription": "

    Security 时间筛选的默认刷新时间间隔(毫秒)。

    ", @@ -29222,6 +30414,7 @@ "xpack.securitySolution.usersRiskTable.filteredUsersTitle": "查看 {severity} 有风险用户", "xpack.securitySolution.usersTable.rows": "{numRows} {numRows, plural, =0 {行} =1 {行} other {行}}", "xpack.securitySolution.usersTable.unit": "{totalCount, plural, =1 {用户} other {用户}}", + "xpack.securitySolution.visualizationActions.countOfFieldLabel": "{field} 的计数", "xpack.securitySolution.visualizationActions.topValueLabel": "{field} 的排名最前值", "xpack.securitySolution.visualizationActions.uniqueCountLabel": "{field} 的唯一计数", "xpack.securitySolution.accessibility.tooltipWithKeyboardShortcut.pressTooltipLabel": "按", @@ -29237,6 +30430,9 @@ "xpack.securitySolution.actions.toggleColumnToggle.label": "在表中切换列", "xpack.securitySolution.actionsContextMenu.label": "打开", "xpack.securitySolution.actionTypeForm.accordion.deleteIconAriaLabel": "删除", + "xpack.securitySolution.addRules.goBackToRulesTableButton": "返回到已安装的 Elastic 规则", + "xpack.securitySolution.addRules.installRuleButton": "安装规则", + "xpack.securitySolution.addRules.upgradeRuleButton": "更新规则", "xpack.securitySolution.administration.os.linux": "Linux", "xpack.securitySolution.administration.os.macos": "Mac", "xpack.securitySolution.administration.os.windows": "Windows", @@ -29336,6 +30532,10 @@ "xpack.securitySolution.alerts.severityMapping.severityTitle": "默认严重性", "xpack.securitySolution.alerts.severityMapping.sourceFieldTitle": "源字段", "xpack.securitySolution.alerts.severityMapping.sourceValueTitle": "源值", + "xpack.securitySolution.alertSummaryView.alertSummaryViewContextTooltip": "将此告警添加为上下文", + "xpack.securitySolution.alertSummaryView.alertSummaryViewConversationId": "告警摘要", + "xpack.securitySolution.alertSummaryView.eventSummaryViewContextTooltip": "将此事件添加为上下文", + "xpack.securitySolution.alertSummaryView.eventSummaryViewConversationId": "事件摘要", "xpack.securitySolution.alertsView.osqueryAlertTitle": "运行 Osquery", "xpack.securitySolution.allHost.errorSearchDescription": "搜索所有主机时发生错误", "xpack.securitySolution.allHost.failSearchDescription": "无法对所有主机执行搜索", @@ -29391,6 +30591,7 @@ "xpack.securitySolution.appLinks.users.description": "用户数据的全面概览,这些数据有助于了解您环境中的身份验证和用户行为。", "xpack.securitySolution.appLinks.users.events": "事件", "xpack.securitySolution.appLinks.users.risk": "用户风险", + "xpack.securitySolution.appLinks.vulnerabilityDashboardDescription": "利用云原生漏洞管理 (CNVM),您可以识别云工作负载中的漏洞。", "xpack.securitySolution.artifactCard.conditions.and": "且", "xpack.securitySolution.artifactCard.conditions.existsOperator": "存在", "xpack.securitySolution.artifactCard.conditions.linux": "Linux", @@ -29438,6 +30639,38 @@ "xpack.securitySolution.artifactListPage.pageTitle": "项目", "xpack.securitySolution.artifactListPage.searchPlaceholderInfo": "搜索下面的字段:name、description、comments、value", "xpack.securitySolution.artifactMinifiedCard.descriptionLabel": "描述", + "xpack.securitySolution.assistant.commentActions.addedNoteToTimelineToast": "已将备注添加到时间线", + "xpack.securitySolution.assistant.commentActions.addMessageContentAsTimelineNoteAriaLabel": "将消息内容添加为时间线备注", + "xpack.securitySolution.assistant.commentActions.addNoteToTimelineTooltip": "将备注添加到时间线", + "xpack.securitySolution.assistant.commentActions.addToCaseExistingCase": "添加到现有案例", + "xpack.securitySolution.assistant.commentActions.copyToClipboard": "复制到剪贴板", + "xpack.securitySolution.assistant.commentActions.elasticAiAssistantTitle": "Elastic AI 助手", + "xpack.securitySolution.assistant.content.promptContexts.indexTitle": "索引", + "xpack.securitySolution.assistant.content.promptContexts.viewTitle": "视图", + "xpack.securitySolution.assistant.content.prompts.system.defaultSystemPromptName": "默认系统提示", + "xpack.securitySolution.assistant.content.prompts.system.ifYouDontKnowTheAnswer": "不回答与 Elastic Security 无关的问题。", + "xpack.securitySolution.assistant.content.prompts.system.superheroPersonality": "提供可能的最详细、最相关的答案,就好像您正将此信息转发给网络安全专家一样。", + "xpack.securitySolution.assistant.content.prompts.system.superheroSystemPromptName": "已增强系统提示", + "xpack.securitySolution.assistant.content.prompts.system.useTheFollowingContextToAnswer": "使用以下上下文回答问题:", + "xpack.securitySolution.assistant.content.prompts.system.youAreAHelpfulExpertAssistant": "您是一位可帮助回答 Elastic Security 相关问题的专家助手。", + "xpack.securitySolution.assistant.content.prompts.user.finallySuggestInvestigationGuideAndFormatAsMarkdown": "添加描述、建议操作和带项目符号的分类步骤。使用提供的 MITRE ATT&CK 数据以从 MITRE 添加更多上下文和建议,以及指向 MITRE 网站上的相关页面的超链接。确保包括上下文中的用户和主机风险分数数据。您的响应应包含指向 Elastic Security 特定功能的步骤,包括终端响应操作、Elastic 代理 OSQuery 管理器集成(带示例 osquery 查询)、时间线和实体分析,以及所有相关 Elastic Security 文档的链接。", + "xpack.securitySolution.assistant.content.prompts.user.thenSummarizeSuggestedKqlAndEqlQueries": "评估来自上述上下文的事件,并以用于我的 Elastic Security 案例的 Markdown 语法对您的输出进行全面格式化。", + "xpack.securitySolution.assistant.conversations.timelineConversationTitle": "时间线", + "xpack.securitySolution.assistant.getComments.assistant": "助手", + "xpack.securitySolution.assistant.getComments.you": "您", + "xpack.securitySolution.assistant.quickPrompts.alertSummarizationPrompt": "作为安全运营和事件响应领域的专家,提供附加告警的细目并简要说明它对我所在组织可能的影响。", + "xpack.securitySolution.assistant.quickPrompts.alertSummarizationTitle": "告警汇总", + "xpack.securitySolution.assistant.quickPrompts.AutomationPrompt": "我应使用哪个启用 Fleet 的 Elastic 代理集成从以下项中收集日志和事件:", + "xpack.securitySolution.assistant.quickPrompts.AutomationTitle": "代理集成建议", + "xpack.securitySolution.assistant.quickPrompts.ruleCreationPrompt": "作为 Elastic Security 的专家用户,请生成准确、有效的 EQL 查询来检测以下用例。应对您的响应进行格式化,以便可以立即在 Elastic Security 时间线或检测规则中使用。如果 Elastic Security 已经为此用例预构建了规则,或具有类似规则,请提供该规则的链接并做出描述。", + "xpack.securitySolution.assistant.quickPrompts.ruleCreationTitle": "查询生成", + "xpack.securitySolution.assistant.quickPrompts.splQueryConversionPrompt": "我具有以下来自之前 SIEM 平台的查询。作为 Elastic Security 的专家用户,请提议一个 Elastic EQL 等价查询。我应能够立即将其复制到 Elastic Security 时间线。", + "xpack.securitySolution.assistant.quickPrompts.splQueryConversionTitle": "查询转换", + "xpack.securitySolution.assistant.quickPrompts.threatInvestigationGuidesPrompt": "作为 Elastic Security、Elastic 代理和采集管道的专家用户,请列出如何在 Kibana 中使用 Elastic 代理和 Fleet 采集以下数据并将其转换为 Elastic Common Schema 的准确、已格式化的分步说明:", + "xpack.securitySolution.assistant.quickPrompts.threatInvestigationGuidesTitle": "定制数据采集帮助程序", + "xpack.securitySolution.assistant.quickPrompts.workflowAnalysisPrompt": "作为 Elastic Security 的专家用户,请提议一个工作流,提供如何执行以下操作的分步说明:", + "xpack.securitySolution.assistant.quickPrompts.workflowAnalysisTitle": "工作流建议", + "xpack.securitySolution.assistant.title": "Elastic AI 助手", "xpack.securitySolution.auditd.abortedAuditStartupDescription": "已中止审计启动", "xpack.securitySolution.auditd.accessErrorDescription": "访问错误", "xpack.securitySolution.auditd.accessPermissionDescription": "访问权限", @@ -29618,11 +30851,16 @@ "xpack.securitySolution.blocklist.warnings.values.wildcardPresent": "文件名中存在通配符将影响终端性能", "xpack.securitySolution.bulkActions.acknowledgedAlertFailedToastMessage": "无法将告警标记为已确认", "xpack.securitySolution.bulkActions.acknowledgedSelectedTitle": "标记为已确认", + "xpack.securitySolution.bulkActions.alertTagsContextMenuItemTitle": "管理告警标签", + "xpack.securitySolution.bulkActions.alertTagsMenuEmptyMessage": "不存在标签选项,请在高级设置中添加标签选项。", + "xpack.securitySolution.bulkActions.alertTagsMenuSearchNoTagsFoundMessage": "没有标签与当前搜索相匹配", + "xpack.securitySolution.bulkActions.alertTagsMenuSearchPlaceholderMessage": "搜索标签", "xpack.securitySolution.bulkActions.closedAlertFailedToastMessage": "无法关闭告警。", "xpack.securitySolution.bulkActions.closeSelectedTitle": "标记为已关闭", "xpack.securitySolution.bulkActions.openedAlertFailedToastMessage": "无法打开告警", "xpack.securitySolution.bulkActions.openSelectedTitle": "标记为打开", "xpack.securitySolution.bulkActions.updateAlertStatusFailedSingleAlert": "无法更新告警,因为它已被修改。", + "xpack.securitySolution.bulkActions.updateAlertTagsFailedToastMessage": "无法更新告警标签。", "xpack.securitySolution.callouts.dismissButton": "关闭", "xpack.securitySolution.cases.pageTitle": "案例", "xpack.securitySolution.certificate.fingerprint.clientCertLabel": "客户端证书", @@ -29846,9 +31084,17 @@ "xpack.securitySolution.dataQualityDashboard.betaBadge": "公测版", "xpack.securitySolution.dataQualityDashboard.elasticCommonSchemaReferenceLink": "Elastic Common Schema (ECS)", "xpack.securitySolution.dataQualityDashboard.pageTitle": "数据质量", + "xpack.securitySolution.dataView.fetchFields.warning": "无法提取详细字段信息", "xpack.securitySolution.dataViewSelectorText1": "使用 Kibana ", "xpack.securitySolution.dataViewSelectorText2": " 或指定单个项 ", "xpack.securitySolution.dataViewSelectorText3": " 作为您规则的数据源以进行搜索。", + "xpack.securitySolution.defaultAlertTags.duplicate": "复制", + "xpack.securitySolution.defaultAlertTags.falsePositive": "误报", + "xpack.securitySolution.defaultAlertTags.furtherInvestigationRequired": "需要进一步调查", + "xpack.securitySolution.detectionEngine.actionNotifyWhen.forEachOption": "对于每个告警。每次规则运行。", + "xpack.securitySolution.detectionEngine.actionNotifyWhen.periodically": "定期", + "xpack.securitySolution.detectionEngine.actionNotifyWhen.summaryOption": "告警的摘要。每次规则运行。", + "xpack.securitySolution.detectionEngine.actionsSectionLabel": "操作", "xpack.securitySolution.detectionEngine.alerts.acknowledgedAlertFailedToastMessage": "无法将告警标记为已确认", "xpack.securitySolution.detectionEngine.alerts.acknowledgedAlertsTitle": "已确认", "xpack.securitySolution.detectionEngine.alerts.actions.addBulkToTimeline": "在时间线中调查", @@ -29973,7 +31219,7 @@ "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldFalsePositiveLabel": "误报示例", "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldLicenseHelpText": "添加许可证名称", "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldLicenseLabel": "许可证", - "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldMitreThreatLabel": "MITRE ATT&CK\\u2122", + "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldMitreThreatLabel": "MITRE ATT&CK\\u2122", "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldNameLabel": "名称", "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldNewTermsFieldHelpText": "选择字段以检查新字词。", "xpack.securitySolution.detectionEngine.createRule.stepAboutRule.fieldReferenceUrlsLabel": "引用 URL", @@ -30010,9 +31256,11 @@ "xpack.securitySolution.detectionEngine.createRule.stepAboutRuleForm.severityOptionHighDescription": "高", "xpack.securitySolution.detectionEngine.createRule.stepAboutRuleForm.severityOptionLowDescription": "低", "xpack.securitySolution.detectionEngine.createRule.stepAboutRuleForm.severityOptionMediumDescription": "中", - "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsDoNotSuppressLabel": "不阻止", - "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsLabel": "如果“阻止依据”字段不存在", - "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsSuppressLabel": "在缺少字段值时阻止", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsDoNotSuppressLabel": "不对缺失字段的事件阻止告警", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsLabel": "如果阻止字段缺失", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsSuppressLabel": "对缺失字段的事件阻止告警并进行分组", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsTooltipLink": "了解详情", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.alertSuppressionMissingFieldsTooltipSuppressByDescription": "阻止告警的依据", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.customQueryFieldInvalidError": "KQL 无效", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.customQueryFieldRequiredError": "需要定制查询。", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.customThreatQueryFieldRequiredEmptyError": "所有匹配项都需要字段和威胁索引字段。", @@ -30026,6 +31274,7 @@ "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldMachineLearningJobIdLabel": "Machine Learning 作业", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldQuerBarLabel": "定制查询", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldRuleTypeLabel": "规则类型", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldShouldLoadQueryDynamicallyLabelWithoutName": "在每次执行规则时动态加载已保存查询", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldThreatIndexPatternsLabel": "指标索引模式", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldThreatMappingLabel": "指标映射", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldThreatQueryBarLabel": "指标索引查询", @@ -30066,10 +31315,11 @@ "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.savedQueryFieldRequiredError": "无法加载已保存查询。选择新查询或添加定制查询。", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.SavedQueryFormRowLabel": "已保存查询", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.source": "源", - "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.suppressionMissingFieldsLabel": "如果“阻止依据”字段不存在", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.suppressionMissingFieldsLabel": "如果阻止字段缺失", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.threatMatchingIcesHelperDescription": "选择威胁索引", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.threatMatchoutputIndiceNameFieldRequiredError": "至少需要一种索引模式。", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.thresholdField.thresholdFieldPlaceholderText": "所有结果", + "xpack.securitySolution.detectionEngine.createRule.stepRuleActions.docsLinkText": "了解详情", "xpack.securitySolution.detectionEngine.createRule.stepRuleActions.noReadActionsPrivileges": "无法创建规则操作。您对“操作”插件没有“读”权限。", "xpack.securitySolution.detectionEngine.createRule.stepScheduleRule.completeWithEnablingTitle": "创建并启用规则", "xpack.securitySolution.detectionEngine.createRule.stepScheduleRule.completeWithoutEnablingTitle": "创建规则但不启用", @@ -30909,6 +32159,8 @@ "xpack.securitySolution.detectionEngine.noApiIntegrationKeyCallOutTitle": "需要 API 集成密钥", "xpack.securitySolution.detectionEngine.noIndexTitle": "让我们来设置您的检测引擎", "xpack.securitySolution.detectionEngine.pageTitle": "检测引擎", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.ruleInstallationFailed": "规则安装失败", + "xpack.securitySolution.detectionEngine.prebuiltRules.toast.ruleUpgradeFailed": "规则升级失败", "xpack.securitySolution.detectionEngine.queryPreview.actions": "操作", "xpack.securitySolution.detectionEngine.queryPreview.histogramDisclaimer": "注意:具有多个 event.category 值的告警会计算多次。", "xpack.securitySolution.detectionEngine.queryPreview.mlHistogramDisclaimer": "注意:具有多个 host.name 值的告警会计算多次。", @@ -30931,10 +32183,10 @@ "xpack.securitySolution.detectionEngine.relatedIntegrations.uninstalledTitle": "未安装", "xpack.securitySolution.detectionEngine.relatedIntegrations.uninstalledTooltip": "未安装集成。访问集成链接以安装和配置集成。", "xpack.securitySolution.detectionEngine.rule.editRule.actionSectionsTitle": "操作", - "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionDoNotSuppressOnMissingFieldsDescription": "不阻止", + "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionDoNotSuppressOnMissingFieldsDescription": "不对缺失字段的事件阻止告警", "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionInsufficientLicense": "已配置告警阻止,但由于许可不足而无法应用", "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionPerRuleExecution": "一次规则执行", - "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionSuppressOnMissingFieldsDescription": "在缺少字段值时阻止", + "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionSuppressOnMissingFieldsDescription": "对缺失字段的事件阻止告警并进行分组", "xpack.securitySolution.detectionEngine.ruleDescription.alertSuppressionTechnicalPreview": "技术预览", "xpack.securitySolution.detectionEngine.ruleDescription.eqlEventCategoryFieldLabel": "事件类别字段", "xpack.securitySolution.detectionEngine.ruleDescription.eqlTiebreakerFieldLabel": "决胜字段", @@ -30946,11 +32198,16 @@ "xpack.securitySolution.detectionEngine.ruleDescription.mlStopJobLabel": "停止作业", "xpack.securitySolution.detectionEngine.ruleDescription.thresholdResultsAggregatedByDescription": "结果聚合依据", "xpack.securitySolution.detectionEngine.ruleDescription.thresholdResultsAllDescription": "所有结果", + "xpack.securitySolution.detectionEngine.ruleDetails.actions.actionsFetchErrorDescription": "查看操作不可用", + "xpack.securitySolution.detectionEngine.ruleDetails.actions.connectorsFetchError": "无法提取连接器", + "xpack.securitySolution.detectionEngine.ruleDetails.actions.connectorTypesFetchError": "无法提取连接器类型", "xpack.securitySolution.detectionEngine.ruleDetails.backToRulesButton": "规则", "xpack.securitySolution.detectionEngine.ruleDetails.deletedRule": "已删除规则", "xpack.securitySolution.detectionEngine.ruleDetails.enableRuleLabel": "启用", "xpack.securitySolution.detectionEngine.ruleDetails.endpointExceptionsTab": "终端例外", + "xpack.securitySolution.detectionEngine.ruleDetails.notificationActions": "通知操作", "xpack.securitySolution.detectionEngine.ruleDetails.pageTitle": "规则详情", + "xpack.securitySolution.detectionEngine.ruleDetails.responseActions": "响应操作", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExceptionsTab": "规则例外", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionEventsTab": "执行事件", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.actionFieldNotFoundErrorDescription": "在告警索引中找不到字段“kibana.alert.rule.execution.uuid”。", @@ -30960,10 +32217,14 @@ "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.actionSearchFiltersUpdatedDescription": "已更新搜索筛选以显示执行选定规则生成的告警", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.actionSearchFiltersUpdatedRestoreButtonTitle": "还原之前的筛选", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.actionSearchFiltersUpdatedTitle": "已更新全局搜索筛选", + "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.collapse": "折叠", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.durationColumn": "持续时间", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.durationColumnTooltip": "运行规则所需的时间长度 (hh:mm:ss:SSS)。", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.durationGreaterThanYearDescription": "> 1 年", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.durationNotAvailableDescription": "不可用", + "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.expand": "展开", + "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.expandRow": "展开行", + "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.fullMessage": "完整消息", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.gapDurationColumn": "缺口持续时间", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.gapTooltipSeeDocsDescription": "参阅文档", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.indexDurationColumn": "索引持续时间", @@ -30984,6 +32245,14 @@ "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionLog.timestampColumnTooltip": "已发起日期时间规则执行。", "xpack.securitySolution.detectionEngine.ruleDetails.ruleExecutionResultsTab": "执行结果", "xpack.securitySolution.detectionEngine.ruleDetails.unknownDescription": "未知", + "xpack.securitySolution.detectionEngine.ruleManagement.detectionRulesConversationId": "检测规则", + "xpack.securitySolution.detectionEngine.ruleManagement.explainThenSummarizeRuleDetails": "请解释上面的选定规则。对于每个规则,重点说明它们为什么相关、在 Elastic 的检测规则存储库中发布的查询并提供深入解释,以及它们通常对组织的影响(如果检测到)。", + "xpack.securitySolution.detectionEngine.ruleManagement.ruleManagementContextDescription": "选定检测规则", + "xpack.securitySolution.detectionEngine.ruleManagement.ruleManagementContextTooltip": "将此告警添加为上下文", + "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.allRules.tabs.addRules": "添加规则", + "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.allRules.tabs.monitoring": "规则监测", + "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.allRules.tabs.rules": "已安装规则", + "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.allRules.tabs.updates": "规则更新", "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.mlJobsWarning.popover.buttonLabel": "访问规则详情页面以进行调查", "xpack.securitySolution.detectionEngine.ruleManagementUi.rulesTable.mlJobsWarning.popover.description": "以下作业未运行,可能导致规则生成错误的结果:", "xpack.securitySolution.detectionEngine.ruleMonitoring.eventTypeFilter.filterTitle": "事件类型", @@ -31007,8 +32276,14 @@ "xpack.securitySolution.detectionEngine.ruleNotifyWhen.onThrottleInterval.display": "定制频率", "xpack.securitySolution.detectionEngine.ruleNotifyWhen.onThrottleInterval.label": "定制频率", "xpack.securitySolution.detectionEngine.rules.aboutRuleTitle": "关于规则", + "xpack.securitySolution.detectionEngine.rules.addElasticRulesButtonTitle": "添加 Elastic 规则", "xpack.securitySolution.detectionEngine.rules.addNewRuleTitle": "创建新规则", "xpack.securitySolution.detectionEngine.rules.addPageTitle": "创建", + "xpack.securitySolution.detectionEngine.rules.addRules.installAllButtonTitle": "全部安装", + "xpack.securitySolution.detectionEngine.rules.addRules.noRulesBodyTitle": "没有可供安装的预构建检测规则", + "xpack.securitySolution.detectionEngine.rules.addRules.noRulesTitle": "已安装所有 Elastic 规则", + "xpack.securitySolution.detectionEngine.rules.addRules.pageTitle": "添加 Elastic 规则", + "xpack.securitySolution.detectionEngine.rules.addRules.searchBarPlaceholder": "按规则名称搜索", "xpack.securitySolution.detectionEngine.rules.all.exceptions.actionsTitle": "操作", "xpack.securitySolution.detectionEngine.rules.all.exceptions.dateCreatedTitle": "创建日期", "xpack.securitySolution.detectionEngine.rules.all.exceptions.dateUpdatedTitle": "上次编辑日期", @@ -31053,7 +32328,7 @@ "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.errorToastTitle": "复制规则时出错", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.cancelButton": "取消", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.continueButton": "复制", - "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.tooltip": " 如果您选择复制例外,则会通过引用复制共享例外列表,然后复制规则例外并创建新例外", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.exceptionsConfirmation.tooltip": "与单个规则关联的例外项重复。链接到共享例外列表的例外项不重复。相反,重复规则将引用包含这些例外项的共享例外列表。", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicate.successToastTitle": "规则已复制", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicateTitle": "复制", "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.edit.addRuleActions.formTitle": "添加规则操作", @@ -31102,7 +32377,7 @@ "xpack.securitySolution.detectionEngine.rules.allRules.exportFilenameTitle": "rules_export", "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.nextStepLabel": "前往下一步", "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.previousStepLabel": "前往上一步", - "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.searchCapabilitiesDescription": "现在可以按搜索模式(如“filebeat-*”) 或者 MITRE ATT&CK™ 策略或技术(如“Defense Evasion”或“TA0005”)搜索规则。", + "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.searchCapabilitiesDescription": "现在可以按搜索模式(如“filebeat-*”) 或者 MITRE ATT&CK™ 策略或技术(如“Defense Evasion”或“TA0005”)搜索规则。", "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.searchCapabilitiesTitle": "已增强搜索功能", "xpack.securitySolution.detectionEngine.rules.allRules.featureTour.tourTitle": "最新动态", "xpack.securitySolution.detectionEngine.rules.allRules.filters.customRulesTitle": "定制规则", @@ -31112,12 +32387,13 @@ "xpack.securitySolution.detectionEngine.rules.allRules.filters.noRulesBodyTitle": "使用上述筛选,我们无法找到任何规则。", "xpack.securitySolution.detectionEngine.rules.allRules.filters.noRulesTitle": "未找到任何规则", "xpack.securitySolution.detectionEngine.rules.allRules.filters.noTagsAvailableDescription": "没有可用标签", + "xpack.securitySolution.detectionEngine.rules.allRules.filters.ruleExecutionStatusFilter": "选择要作为筛选依据的规则执行状态", "xpack.securitySolution.detectionEngine.rules.allRules.filters.rulesTagSearchText": "规则标签搜索", "xpack.securitySolution.detectionEngine.rules.allRules.filters.searchTagsPlaceholder": "搜索标签", "xpack.securitySolution.detectionEngine.rules.allRules.filters.tagsLabel": "标签", "xpack.securitySolution.detectionEngine.rules.allRules.refreshTitle": "刷新", "xpack.securitySolution.detectionEngine.rules.allRules.searchAriaLabel": "搜索规则", - "xpack.securitySolution.detectionEngine.rules.allRules.searchPlaceholder": "规则名称、搜索模式(如“filebeat-*”) 或者 MITRE ATT&CK™ 策略或技术(如“Defense Evasion”或“TA0005”)", + "xpack.securitySolution.detectionEngine.rules.allRules.searchPlaceholder": "规则名称、搜索模式(如“filebeat-*”) 或者 MITRE ATT&CK™ 策略或技术(如“Defense Evasion”或“TA0005”)", "xpack.securitySolution.detectionEngine.rules.allRules.tabs.monitoring": "规则监测", "xpack.securitySolution.detectionEngine.rules.allRules.tabs.rules": "规则", "xpack.securitySolution.detectionEngine.rules.clearRulesTableFilters": "清除筛选", @@ -31128,6 +32404,7 @@ "xpack.securitySolution.detectionEngine.rules.continueButtonTitle": "继续", "xpack.securitySolution.detectionEngine.rules.defineRuleTitle": "定义规则", "xpack.securitySolution.detectionEngine.rules.deleteDescription": "删除", + "xpack.securitySolution.detectionEngine.rules.dismissTitle": "关闭", "xpack.securitySolution.detectionEngine.rules.editPageTitle": "编辑", "xpack.securitySolution.detectionEngine.rules.guidedOnboarding.enableFirstRule.title": "启用规则", "xpack.securitySolution.detectionEngine.rules.guidedOnboarding.installPrebuiltRules.content": "要开始使用,您需要加载 Elastic 预构建规则。", @@ -31138,6 +32415,7 @@ "xpack.securitySolution.detectionEngine.rules.loadPrePackagedRulesAndTemplatesButton": "加载 Elastic 预构建规则和时间线模板", "xpack.securitySolution.detectionEngine.rules.loadPrePackagedRulesButton": "加载 Elastic 预构建规则", "xpack.securitySolution.detectionEngine.rules.loadPrePackagedTimelineTemplatesButton": "加载 Elastic 预构建的时间线模板", + "xpack.securitySolution.detectionEngine.rules.newPrebuiltRulesCalloutTitle": "有新 Elastic 规则可供安装。单击“添加 Elastic 规则”按钮以进行复查和安装。", "xpack.securitySolution.detectionEngine.rules.optionalFieldDescription": "可选", "xpack.securitySolution.detectionEngine.rules.pageTitle": "规则", "xpack.securitySolution.detectionEngine.rules.prePackagedRules.createOwnRuletButton": "创建自己的规则", @@ -31148,13 +32426,19 @@ "xpack.securitySolution.detectionEngine.rules.refreshRulePopoverSelectionHelpText": "注意:刷新已禁用,但具有活动选择。", "xpack.securitySolution.detectionEngine.rules.releaseNotesHelp": "发行说明", "xpack.securitySolution.detectionEngine.rules.ruleActionsTitle": "规则操作", + "xpack.securitySolution.detectionEngine.rules.ruleUpdatesLinkTitle": "规则更新", "xpack.securitySolution.detectionEngine.rules.scheduleRuleTitle": "计划规则", "xpack.securitySolution.detectionEngine.rules.stepAboutTitle": "关于", "xpack.securitySolution.detectionEngine.rules.stepActionsTitle": "操作", "xpack.securitySolution.detectionEngine.rules.stepDefinitionTitle": "定义", "xpack.securitySolution.detectionEngine.rules.stepScheduleTitle": "计划", + "xpack.securitySolution.detectionEngine.rules.tour.createRuleTourContent.eql": "EQL 现在允许您指定不得连续发生的事件", "xpack.securitySolution.detectionEngine.rules.tour.createRuleTourTitle": "有新的安全规则功能可用", "xpack.securitySolution.detectionEngine.rules.updateButtonTitle": "更新", + "xpack.securitySolution.detectionEngine.rules.upgradeRules.noRulesBodyTitle": "您已安装的 Elastic 规则当前没有可用更新。", + "xpack.securitySolution.detectionEngine.rules.upgradeRules.noRulesTitle": "所有 Elastic 规则均保持最新", + "xpack.securitySolution.detectionEngine.rules.upgradeRules.searchBarPlaceholder": "按规则名称搜索", + "xpack.securitySolution.detectionEngine.rules.upgradeRules.upgradeAll": "全部更新", "xpack.securitySolution.detectionEngine.rulesSnoozeBadge.error.unableToFetch": "无法提取暂停设置", "xpack.securitySolution.detectionEngine.ruleStatus.errorCalloutTitle": "规则错误位置", "xpack.securitySolution.detectionEngine.ruleStatus.partialErrorCalloutTitle": "警告于", @@ -31188,7 +32472,9 @@ "xpack.securitySolution.detectionResponse.caseColumnStatus": "状态", "xpack.securitySolution.detectionResponse.caseColumnTime": "时间", "xpack.securitySolution.detectionResponse.casesByStatusSectionTitle": "案例", + "xpack.securitySolution.detectionResponse.casesByStatusSectionTooltip": "案例表无法通过 SIEM 全局 KQL 搜索进行筛选。", "xpack.securitySolution.detectionResponse.caseSectionTitle": "最近创建的案例", + "xpack.securitySolution.detectionResponse.caseSectionTooltip": "最近创建的案例表无法通过 SIEM 全局 KQL 搜索进行筛选。", "xpack.securitySolution.detectionResponse.criticalAlerts": "打开的紧急告警", "xpack.securitySolution.detectionResponse.criticalAlertsDescription": "当前时间范围内打开的紧急告警的数量", "xpack.securitySolution.detectionResponse.errorMessage": "提取案例数据时出错", @@ -31264,6 +32550,7 @@ "xpack.securitySolution.effectedPolicySelect.viewPolicyLinkLabel": "查看策略", "xpack.securitySolution.emptyString.emptyStringDescription": "空字符串", "xpack.securitySolution.enableRiskScore.enableRiskScorePopoverTitle": "启用模块之前,告警需要处于可用状态", + "xpack.securitySolution.endpoint.action.chooseFromTheList": "从列表中选择操作", "xpack.securitySolution.endpoint.action.permissionDenied": "权限被拒绝", "xpack.securitySolution.endpoint.actions.agentDetails": "查看代理详情", "xpack.securitySolution.endpoint.actions.agentPolicy": "查看代理策略", @@ -31417,8 +32704,12 @@ "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.base_url": "用于下载全局构件清单的基本 URL。默认:https://artifacts.security.elastic.co。", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.interval": "全局构件清单下载尝试时间间隔(秒)。默认值:3600。", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.manifest_relative_url": "用于下载全局构件清单的相对 URL。默认:/downloads/endpoint/manifest/artifacts-.zip。", + "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.proxy_disable": "是否应在下载全局构件清单时使用代理设置。默认值:false", + "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.proxy_url": "下载全局构件清单时要使用的代理服务器。默认值:无", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.global.public_key": "用于验证全局构件清单签名的 PEM 编码公钥。", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.user.ca_cert": "Fleet 服务器证书颁发机构的 PEM 编码证书。", + "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.user.proxy_disable": "是否应在下载用户构件清单时使用代理设置。默认值:false", + "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.user.proxy_url": "下载用户构件清单时要使用的代理服务器。默认值:无", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.artifacts.user.public_key": "用于验证用户构件清单签名的 PEM 编码公钥。", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.capture_env_vars": "要捕获的环境变量(最多五个)列表,用逗号分隔。", "xpack.securitySolution.endpoint.policy.advanced.linux.advanced.diagnostic.enabled": "“false”值会禁用在终端上运行的诊断功能。默认值:true。", @@ -31447,8 +32738,12 @@ "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.base_url": "用于下载全局构件清单的 URL。", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.interval": "全局构件清单下载尝试时间间隔(秒)。默认值:3600。", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.manifest_relative_url": "用于下载全局构件清单的相对 URL。默认:/downloads/endpoint/manifest/artifacts-.zip。", + "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.proxy_disable": "是否应在下载全局构件清单时使用代理设置。默认值:false", + "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.proxy_url": "下载全局构件清单时要使用的代理服务器。默认值:无", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.global.public_key": "用于验证全局构件清单签名的 PEM 编码公钥。", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.user.ca_cert": "Fleet 服务器证书颁发机构的 PEM 编码证书。", + "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.user.proxy_disable": "是否应在下载用户构件清单时使用代理设置。默认值:false", + "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.user.proxy_url": "下载用户构件清单时要使用的代理服务器。默认值:无", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.artifacts.user.public_key": "用于验证用户构件清单签名的 PEM 编码公钥。", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.capture_env_vars": "要捕获的环境变量(最多五个)列表,用逗号分隔。", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.diagnostic.enabled": "“false”值会禁用在终端上运行的诊断功能。默认值:true。", @@ -31474,11 +32769,16 @@ "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.agent.connection_delay": "发送首条策略答复之前等待代理连接的时间(秒)。默认值:60。", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.alerts.cloud_lookup": "值“false”将禁用 Windows 告警的云查找。默认值:true。", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.alerts.rollback.self_healing.enabled": "自愈功能会在触发防护告警时擦除攻击项目。警告:可能发生数据丢失。默认值:false", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.alerts.rollback.self_healing.registry_enabled": "启用基于注册表的恶意软件项目的自愈功能。还需要启用 rollback.self_healing.enabled。默认值:true", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.base_url": "用于下载全局构件清单的 URL。", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.interval": "全局构件清单下载尝试时间间隔(秒)。默认值:3600。", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.manifest_relative_url": "用于下载全局构件清单的相对 URL。默认:/downloads/endpoint/manifest/artifacts-.zip。", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.proxy_disable": "是否应在下载全局构件清单时使用代理设置。默认值:false", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.proxy_url": "下载全局构件清单时要使用的代理服务器。默认值:无", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.global.public_key": "用于验证全局构件清单签名的 PEM 编码公钥。", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.user.ca_cert": "Fleet 服务器证书颁发机构的 PEM 编码证书。", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.user.proxy_disable": "是否应在下载用户构件清单时使用代理设置。默认值:false", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.user.proxy_url": "下载用户构件清单时要使用的代理服务器。默认值:无", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.user.public_key": "用于验证用户构件清单签名的 PEM 编码公钥。", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.diagnostic.enabled": "“false”值会禁用在终端上运行的诊断功能。默认值:true。", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.diagnostic.rollback_telemetry_enabled": "启用诊断回滚遥测。默认值:true", @@ -31487,6 +32787,12 @@ "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.elasticsearch.tls.verify_hostname": "是否验证对等方的主机名是证书中的主机名。默认值:true。", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.elasticsearch.tls.verify_peer": "是否验证对等方提供的证书。默认值:true。", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.event_filter.default": "从 Elastic 下载默认事件筛选规则。 默认值:true", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.api": "控制是否启用 API 事件。设置为 false 以禁用 API 事件收集。默认值:true", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.callstacks.emit_in_events": "如果设置,将在收集常规事件时在其中包含调用堆栈。否则,将仅在触发行为防护规则的事件中包含调用堆栈。请注意,设置此项可能会使数据量显著增加。默认值:false", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.callstacks.file": "在文件事件期间收集调用堆栈? 默认值:true", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.callstacks.image_load": "在映像/库加载事件期间收集调用堆栈? 默认值:true", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.callstacks.process": "在进程事件期间收集调用堆栈? 默认值:true", + "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.callstacks.registry": "在注册表事件期间收集调用堆栈? 默认值:true", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.events.etw": "启用 ETW 事件收集。默认值:true", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.kernel.asyncimageload": "“false”值会覆盖本将启用内核异步映像事件的其他配置设置。默认值:true。", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.kernel.connect": "是否连接内核驱动程序。默认值:true。", @@ -31756,10 +33062,19 @@ "xpack.securitySolution.endpointActionResponseCodes.killProcess.notPermittedSuccess": "无法结束提供的进程", "xpack.securitySolution.endpointActionResponseCodes.suspendProcess.notFoundError": "未找到提供的进程", "xpack.securitySolution.endpointActionResponseCodes.suspendProcess.notPermittedSuccess": "无法挂起提供的进程", + "xpack.securitySolution.endpointActionResponseCodes.upload.failure": "上传失败", + "xpack.securitySolution.endpointActionResponseCodes.upload.fileAccessForbidden": "无法检索文件。禁止访问 (403) 或未授权 (401)", + "xpack.securitySolution.endpointActionResponseCodes.upload.fileAlreadyExists": "已存在具有此名称的文件。如果希望进行覆盖,则使用“--overwrite”参数", + "xpack.securitySolution.endpointActionResponseCodes.upload.fileCorruption": "无法将文件保存到磁盘或验证其完整性", + "xpack.securitySolution.endpointActionResponseCodes.upload.fileNotFound": "无法检索文件。找不到文件 (404)", + "xpack.securitySolution.endpointActionResponseCodes.upload.fileTooLarge": "无法保存文件。大小超出允许的最大大小", + "xpack.securitySolution.endpointActionResponseCodes.upload.timeout": "由于超时,尝试检索文件失败", "xpack.securitySolution.endpointConsoleCommands.emptyArgumentMessage": "参数不能为空", "xpack.securitySolution.endpointConsoleCommands.entityId.arg.comment": "表示要结束的进程的实体 ID", "xpack.securitySolution.endpointConsoleCommands.execute.about": "在主机上执行命令", - "xpack.securitySolution.endpointConsoleCommands.execute.args.command.about": "要执行的命令", + "xpack.securitySolution.endpointConsoleCommands.execute.args.command.about": "要执行的命令。", + "xpack.securitySolution.endpointConsoleCommands.execute.args.command.aboutConsecutiveDashes": "必须对提供的值中的多个连续短划线进行转义。例如:", + "xpack.securitySolution.endpointConsoleCommands.execute.args.command.aboutQuotes": "可以使用值中提供的引号,而无需转义。例如:", "xpack.securitySolution.endpointConsoleCommands.execute.args.timeout.about": "终端等待脚本完成的超时值,以时间为单位(h 表示小时,m 表示分钟,s 表示秒)。例如:37m。如果未给定,则默认为 4 小时。", "xpack.securitySolution.endpointConsoleCommands.getFile.about": "从主机中检索文件", "xpack.securitySolution.endpointConsoleCommands.getFile.pathArgAbout": "要检索的完整文件路径", @@ -31777,6 +33092,9 @@ "xpack.securitySolution.endpointConsoleCommands.suspendProcess.entityId.arg.comment": "表示要挂起的进程的实体 ID", "xpack.securitySolution.endpointConsoleCommands.suspendProcess.pid.arg.comment": "表示要挂起的进程的 PID", "xpack.securitySolution.endpointConsoleCommands.suspendProcess.unsupportedCommandInfo": "此版本的终端不支持该命令。在 Fleet 中升级您的代理以使用最新响应操作。", + "xpack.securitySolution.endpointConsoleCommands.upload.about": "上传文件到主机", + "xpack.securitySolution.endpointConsoleCommands.upload.args.file.about": "将发送到主机的文件", + "xpack.securitySolution.endpointConsoleCommands.upload.args.overwrite.about": "覆盖主机上的文件(如果已存在)", "xpack.securitySolution.endpointDetails.activityLog.logEntry.action.endOfLog": "没有更多要显示的内容", "xpack.securitySolution.endpointDetails.activityLog.logEntry.action.failedEndpointIsolateAction": "无法提交请求:隔离主机", "xpack.securitySolution.endpointDetails.activityLog.logEntry.action.failedEndpointReleaseAction": "无法提交请求:释放主机", @@ -31816,9 +33134,15 @@ "xpack.securitySolution.endpointResponseActionsConsoleCommands.enterOrAddOptionalComment": "按 Enter 键执行或添加可选注释", "xpack.securitySolution.endpointResponseActionsConsoleCommands.enterPidOrEntityId": "输入 PID 或实体 ID 以执行", "xpack.securitySolution.endpointsTab": "终端", + "xpack.securitySolution.endpointUploadActionResult.freeDiskSpace": "驱动器上的可用磁盘空间", + "xpack.securitySolution.endpointUploadActionResult.host": "主机", + "xpack.securitySolution.endpointUploadActionResult.missingAgentResult": "错误:代理结果缺失", + "xpack.securitySolution.endpointUploadActionResult.pendingMessage": "操作待处理。", + "xpack.securitySolution.endpointUploadActionResult.savedTo": "文件已保存到", "xpack.securitySolution.enpdoint.resolver.panelutils.invaliddate": "日期无效", "xpack.securitySolution.enpdoint.resolver.panelutils.noTimestampRetrieved": "未检索时间戳", "xpack.securitySolution.entityAnalytics.anomalies.anomaliesTitle": "异常", + "xpack.securitySolution.entityAnalytics.anomalies.anomaliesTooltip": "异常表无法通过 SIEM 全局 KQL 搜索进行筛选。", "xpack.securitySolution.entityAnalytics.anomalies.anomalyCount": "计数", "xpack.securitySolution.entityAnalytics.anomalies.AnomalyDetectionDocsTitle": "通过 Machine Learning 检测异常", "xpack.securitySolution.entityAnalytics.anomalies.anomalyName": "异常名称", @@ -31836,7 +33160,10 @@ "xpack.securitySolution.entityAnalytics.hostsRiskDashboard.hostsTableTooltip": "主机风险表不受时间范围影响。本表显示每台主机最新记录的风险分数。", "xpack.securitySolution.entityAnalytics.hostsRiskDashboard.title": "主机风险分数", "xpack.securitySolution.entityAnalytics.pageDesc": "通过实体分析检测来自您网络中用户和主机的威胁", + "xpack.securitySolution.entityAnalytics.riskDashboard.hostsTableTooltip": "“主机风险分数”面板显示有风险主机及其最新风险分数的列表。可以在 KQL 搜索栏中使用全局筛选来筛选此列表。时间范围选取器筛选将仅显示选定时间范围内的告警,并且不筛选有风险主机列表。", "xpack.securitySolution.entityAnalytics.riskDashboard.learnMore": "了解详情", + "xpack.securitySolution.entityAnalytics.riskDashboard.tableTooltipTitle": "处于技术预览状态", + "xpack.securitySolution.entityAnalytics.riskDashboard.usersTableTooltip": "“用户风险分数”面板显示有风险用户及其最新风险分数的列表。可以在 KQL 搜索栏中使用全局筛选来筛选此列表。时间范围选取器筛选将仅显示选定时间范围内的告警,并且不筛选有风险用户列表。", "xpack.securitySolution.entityAnalytics.riskDashboard.viewAllLabel": "查看全部", "xpack.securitySolution.entityAnalytics.technicalPreviewLabel": "技术预览", "xpack.securitySolution.entityAnalytics.totalLabel": "合计", @@ -31859,8 +33186,11 @@ "xpack.securitySolution.eventDetails.multiFieldBadge": "多字段", "xpack.securitySolution.eventDetails.multiFieldTooltipContent": "多字段的每个字段可以有多个值", "xpack.securitySolution.eventDetails.osqueryView": "Osquery 结果", + "xpack.securitySolution.eventDetails.responseActionsView": "响应结果", + "xpack.securitySolution.eventDetails.summaryView": "摘要", "xpack.securitySolution.eventDetails.table": "表", "xpack.securitySolution.eventDetails.table.actions": "操作", + "xpack.securitySolution.eventDetails.timelineView": "时间线", "xpack.securitySolution.eventDetails.value": "值", "xpack.securitySolution.eventDetails.viewAllFields": "查看表中的所有字段", "xpack.securitySolution.eventFilter.form.description.placeholder": "描述", @@ -32064,6 +33394,7 @@ "xpack.securitySolution.expandedValue.links.viewRuleReference": "查看规则参考", "xpack.securitySolution.expandedValue.links.viewUserSummary": "查看用户摘要", "xpack.securitySolution.expandedValue.showTopN.showTopValues": "显示排名最前值", + "xpack.securitySolution.explore.landing.pageTitle": "浏览", "xpack.securitySolution.featureCatalogueDescription": "预防、收集、检测和响应威胁,以对整个基础架构提供统一的保护。", "xpack.securitySolution.featureRegistry.deleteSubFeatureDetails": "删除案例和注释", "xpack.securitySolution.featureRegistry.deleteSubFeatureName": "删除", @@ -32148,13 +33479,19 @@ "xpack.securitySolution.fleetIntegration.elasticDefend.eventFilter.nonInteractiveSessions.name": "非交互式会话", "xpack.securitySolution.flyout.analyzerErrorMessage": "分析器", "xpack.securitySolution.flyout.button.timeline": "时间线", + "xpack.securitySolution.flyout.correlations.caseNameColumnTitle": "名称", + "xpack.securitySolution.flyout.correlations.reasonColumnTitle": "原因", + "xpack.securitySolution.flyout.correlations.ruleColumnTitle": "规则", + "xpack.securitySolution.flyout.correlations.severityColumnTitle": "严重性", + "xpack.securitySolution.flyout.correlations.statusColumnTitle": "状态", + "xpack.securitySolution.flyout.correlations.timestampColumnTitle": "时间戳", "xpack.securitySolution.flyout.documentDetails.alertReasonTitle": "告警原因", "xpack.securitySolution.flyout.documentDetails.analyzerGraphButton": "分析器图表", "xpack.securitySolution.flyout.documentDetails.analyzerPreviewText": "分析器预览。", "xpack.securitySolution.flyout.documentDetails.analyzerPreviewTitle": "分析器预览", "xpack.securitySolution.flyout.documentDetails.collapseDetailButton": "折叠告警详情", "xpack.securitySolution.flyout.documentDetails.correlationsButton": "相关性", - "xpack.securitySolution.flyout.documentDetails.aboutTitle": "描述", + "xpack.securitySolution.flyout.documentDetails.correlationsTitle": "相关性", "xpack.securitySolution.flyout.documentDetails.documentDescriptionCollapseButton": "折叠", "xpack.securitySolution.flyout.documentDetails.documentDescriptionExpandButton": "展开", "xpack.securitySolution.flyout.documentDetails.documentDescriptionTitle": "文档描述", @@ -32167,31 +33504,73 @@ "xpack.securitySolution.flyout.documentDetails.insightsOptions": "洞见选项", "xpack.securitySolution.flyout.documentDetails.insightsTab": "洞见", "xpack.securitySolution.flyout.documentDetails.insightsTitle": "洞见", + "xpack.securitySolution.flyout.documentDetails.investigationGuideText": "调查指南", "xpack.securitySolution.flyout.documentDetails.investigationSectionTitle": "调查", "xpack.securitySolution.flyout.documentDetails.investigationsTab": "调查", "xpack.securitySolution.flyout.documentDetails.jsonTab": "JSON", "xpack.securitySolution.flyout.documentDetails.overviewTab": "概览", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.ancestryAlert": "告警与体系相关", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.ancestryAlerts": "告警与体系相关", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.relatedCase": "相关案例", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.relatedCases": "相关案例", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.sameSessionAlert": "告警与会话相关", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.sameSessionAlerts": "告警与会话相关", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.sameSourceEventAlert": "告警与同一源事件相关", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlations.sameSourceEventAlerts": "告警与同一源事件相关", + "xpack.securitySolution.flyout.documentDetails.overviewTab.correlationsText": "相关性字段", "xpack.securitySolution.flyout.documentDetails.overviewTab.entitiesText": "实体", + "xpack.securitySolution.flyout.documentDetails.overviewTab.prevalenceRowText": "不常见", + "xpack.securitySolution.flyout.documentDetails.overviewTab.prevalenceText": "普及率字段", "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatEnrichment": "已使用威胁情报扩充字段", "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatEnrichments": "已使用威胁情报扩充字段", "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatMatch": "检测到威胁匹配", "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatMatches": "检测到威胁匹配", "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligenceText": "威胁情报字段", "xpack.securitySolution.flyout.documentDetails.prevalenceButton": "普及率", + "xpack.securitySolution.flyout.documentDetails.prevalenceTitle": "普及率", + "xpack.securitySolution.flyout.documentDetails.responseButton": "响应", "xpack.securitySolution.flyout.documentDetails.riskScoreTitle": "风险分数", "xpack.securitySolution.flyout.documentDetails.ruleDescriptionTitle": "规则描述", + "xpack.securitySolution.flyout.documentDetails.sessionPreview.commandText": "依据", + "xpack.securitySolution.flyout.documentDetails.sessionPreview.processText": "已启动", + "xpack.securitySolution.flyout.documentDetails.sessionPreview.ruleText": "具有规则", + "xpack.securitySolution.flyout.documentDetails.sessionPreview.timeText": "处于", + "xpack.securitySolution.flyout.documentDetails.sessionPreview.title": "会话查看器预览", "xpack.securitySolution.flyout.documentDetails.sessionViewButton": "会话视图", "xpack.securitySolution.flyout.documentDetails.severityTitle": "严重性", + "xpack.securitySolution.flyout.documentDetails.share": "共享告警", "xpack.securitySolution.flyout.documentDetails.tableTab": "表", "xpack.securitySolution.flyout.documentDetails.technicalPreviewMessage": "此功能处于技术预览状态,在未来版本中可能会更改或完全移除。Elastic 将尽最大努力来修复任何问题,但处于技术预览状态的功能不受正式 GA 功能支持 SLA 的约束。", "xpack.securitySolution.flyout.documentDetails.technicalPreviewTitle": "技术预览", "xpack.securitySolution.flyout.documentDetails.threatIntelligenceButton": "威胁情报", "xpack.securitySolution.flyout.documentDetails.threatIntelligenceTitle": "威胁情报", + "xpack.securitySolution.flyout.documentDetails.viewRuleText": "查看规则", "xpack.securitySolution.flyout.documentDetails.visualizationsTitle": "可视化", "xpack.securitySolution.flyout.documentDetails.visualizeOptions": "Visualize 选项", "xpack.securitySolution.flyout.documentDetails.visualizeTab": "Visualize", "xpack.securitySolution.flyout.documentErrorMessage": "文档字段和值", "xpack.securitySolution.flyout.documentErrorTitle": "文档信息", + "xpack.securitySolution.flyout.entities.failRelatedHostsDescription": "无法对相关主机执行搜索", + "xpack.securitySolution.flyout.entities.failRelatedUsersDescription": "无法对相关用户执行搜索", + "xpack.securitySolution.flyout.entities.hostsInfoTitle": "主机信息", + "xpack.securitySolution.flyout.entities.hostsTitle": "主机", + "xpack.securitySolution.flyout.entities.relatedEntitiesIpColumn": "IP 地址", + "xpack.securitySolution.flyout.entities.relatedEntitiesNameColumn": "名称", + "xpack.securitySolution.flyout.entities.relatedHostsTitle": "相关主机", + "xpack.securitySolution.flyout.entities.relatedHostsToolTip": "告警后,用户已成功通过这些主机的身份验证。", + "xpack.securitySolution.flyout.entities.relatedUsersTitle": "相关用户", + "xpack.securitySolution.flyout.entities.relatedUsersToolTip": "告警后,这些用户已成功通过受影响主机的身份验证。", + "xpack.securitySolution.flyout.entities.usersInfoTitle": "用户信息", + "xpack.securitySolution.flyout.entities.usersTitle": "用户", + "xpack.securitySolution.flyout.prevalenceErrorMessage": "普及率", + "xpack.securitySolution.flyout.prevalenceTableAlertCountColumnTitle": "告警计数", + "xpack.securitySolution.flyout.prevalenceTableDocCountColumnTitle": "文档计数", + "xpack.securitySolution.flyout.prevalenceTableHostPrevalenceColumnTitle": "主机普及率", + "xpack.securitySolution.flyout.prevalenceTableNameColumnTitle": "名称", + "xpack.securitySolution.flyout.prevalenceTableTypeColumnTitle": "类型", + "xpack.securitySolution.flyout.prevalenceTableUserPrevalenceColumnTitle": "用户普及率", + "xpack.securitySolution.flyout.response.empty": "没有为此事件定义响应操作。", + "xpack.securitySolution.flyout.response.title": "响应", "xpack.securitySolution.flyout.sessionViewErrorMessage": "会话视图", "xpack.securitySolution.footer.autoRefreshActiveDescription": "自动刷新已启用", "xpack.securitySolution.footer.cancel": "取消", @@ -32420,12 +33799,12 @@ "xpack.securitySolution.kpiUsers.totalUsers.errorSearchDescription": "搜索总体用户 KPI 时发生错误", "xpack.securitySolution.kpiUsers.totalUsers.title": "用户", "xpack.securitySolution.kubernetes.columnContainer": "容器", - "xpack.securitySolution.kubernetes.columnEntryUser": "会话条目用户", - "xpack.securitySolution.kubernetes.columnExecutable": "会话 Leader", - "xpack.securitySolution.kubernetes.columnInteractive": "交互性", + "xpack.securitySolution.kubernetes.columnEntryUser": "用户 ID", + "xpack.securitySolution.kubernetes.columnExecutable": "可执行", + "xpack.securitySolution.kubernetes.columnInteractive": "交互", "xpack.securitySolution.kubernetes.columnNode": "节点", "xpack.securitySolution.kubernetes.columnPod": "Pod", - "xpack.securitySolution.kubernetes.columnSessionStart": "连接日期", + "xpack.securitySolution.kubernetes.columnSessionStart": "开始日期", "xpack.securitySolution.landing.threatHunting.hostsDescription": "所有主机和主机相关安全事件的全面概览。", "xpack.securitySolution.lastEventTime.errorSearchDescription": "搜索上次事件时间时发生错误", "xpack.securitySolution.lastEventTime.failSearchDescription": "无法对上次事件时间执行搜索", @@ -32479,6 +33858,9 @@ "xpack.securitySolution.markdown.insight.modalCancelButtonLabel": "取消", "xpack.securitySolution.markdown.insight.relativeTimerange": "相对时间范围", "xpack.securitySolution.markdown.insight.relativeTimerangeText": "选择相对于告警创建时间的时间范围(可选)以限制查询。", + "xpack.securitySolution.markdown.insight.title": "调查", + "xpack.securitySolution.markdown.insight.upsell": "升级到白金级以利用调查指南中的洞见", + "xpack.securitySolution.markdown.invalid": "检测到无效 Markdown", "xpack.securitySolution.markdown.osquery.addModalConfirmButtonLabel": "添加查询", "xpack.securitySolution.markdown.osquery.addModalTitle": "添加查询", "xpack.securitySolution.markdown.osquery.editModalConfirmButtonLabel": "保存更改", @@ -32487,6 +33869,8 @@ "xpack.securitySolution.markdown.osquery.modalCancelButtonLabel": "取消", "xpack.securitySolution.markdown.osquery.permissionDenied": "权限被拒绝", "xpack.securitySolution.markdown.osquery.runOsqueryButtonLabel": "运行 Osquery", + "xpack.securitySolution.markdown.platinumWarning": "以下 Markdown 可能利用了订阅功能", + "xpack.securitySolution.markdown.premiumPluginLinkSuffix": "开始试用或升级您的订阅", "xpack.securitySolution.markdownEditor.plugins.insightProviderError": "无法解析洞见提供程序配置", "xpack.securitySolution.markdownEditor.plugins.timeline.insertTimelineButtonLabel": "插入时间线链接", "xpack.securitySolution.markdownEditor.plugins.timeline.noParenthesesErrorMsg": "应为左括号", @@ -32520,6 +33904,7 @@ "xpack.securitySolution.modalAllErrors.close.button": "关闭", "xpack.securitySolution.modalAllErrors.seeAllErrors.button": "请参阅完整的错误信息", "xpack.securitySolution.modalAllErrors.title": "您的可视化有错误", + "xpack.securitySolution.navigation.addRules": "添加规则", "xpack.securitySolution.navigation.administration": "管理", "xpack.securitySolution.navigation.administration.policies": "策略", "xpack.securitySolution.navigation.alerts": "告警", @@ -32844,6 +34229,7 @@ "xpack.securitySolution.responder.hostOffline.callout.title": "主机脱机", "xpack.securitySolution.responder.missingEncryptionKey.callout.dismissButton.label": "关闭", "xpack.securitySolution.responder.missingEncryptionKey.callout.title": "设置加密密钥", + "xpack.securitySolution.responder.missingEncryptionKey.docsLink": "查看更多信息", "xpack.securitySolution.responseActionExecuteAccordion.currentWorkingDirectory": "已执行自", "xpack.securitySolution.responseActionExecuteAccordion.errorButtonTextRegular": "执行错误", "xpack.securitySolution.responseActionExecuteAccordion.errorButtonTextTruncated": "执行错误(已截短)", @@ -32857,8 +34243,12 @@ "xpack.securitySolution.responseActionFileDownloadLink.downloadButtonLabel": "单击此处进行下载", "xpack.securitySolution.responseActionFileDownloadLink.fileNoLongerAvailable": "文件已过期,不再可供下载。", "xpack.securitySolution.responseActionFileDownloadLink.fileTruncated": "由于文件大小限制,已截短提供的 zip 文件中的输出数据。", - "xpack.securitySolution.responseActions.endpoint.commandLabel": "命令", + "xpack.securitySolution.responseActions.endpoint.commandLabel": "响应操作", + "xpack.securitySolution.responseActions.endpoint.commentDescription": "留下解释或描述该操作的备注。您可以在响应操作历史记录日志中查看注释。", "xpack.securitySolution.responseActions.endpoint.commentLabel": "注释(可选)", + "xpack.securitySolution.responseActions.endpoint.commentLearnMore": "了解详情", + "xpack.securitySolution.responseActions.endpoint.isolate": "隔离", + "xpack.securitySolution.responseActions.endpoint.isolateDescription": "将主机与网络隔离,防止威胁进一步扩散并限制潜在损害", "xpack.securitySolution.responseActions.endpoint.validations.commandIsRequiredErrorMessage": "“命令”必填。", "xpack.securitySolution.responseActionsHistory.empty.content": "未执行响应操作", "xpack.securitySolution.responseActionsHistory.empty.link": "阅读有关响应操作的更多内容", @@ -32867,15 +34257,22 @@ "xpack.securitySolution.responseActionsList.addButton": "添加", "xpack.securitySolution.responseActionsList.empty.body": "请尝试修改您的搜索或筛选集", "xpack.securitySolution.responseActionsList.empty.title": "没有任何结果匹配您的搜索条件", + "xpack.securitySolution.responseActionsList.endpoint.cautionDescription": "仅当您确定希望在释放此主机之前自动阻止与网络上其他主机的通信时才选择此选项。", + "xpack.securitySolution.responseActionsList.endpoint.cautionTitle": "谨慎操作", + "xpack.securitySolution.responseActionsList.error.hostNotEnrolled": "主机未安装 Elastic Defend 集成", + "xpack.securitySolution.responseActionsList.error.licenseTooLow": "使用响应操作至少需要企业许可证。", "xpack.securitySolution.responseActionsList.list.command": "命令", "xpack.securitySolution.responseActionsList.list.comments": "注释", "xpack.securitySolution.responseActionsList.list.errorMessage": "检索响应操作时出错", "xpack.securitySolution.responseActionsList.list.expandButton.collapse": "折叠", "xpack.securitySolution.responseActionsList.list.expandButton.expand": "展开", "xpack.securitySolution.responseActionsList.list.filter.actions": "操作", + "xpack.securitySolution.responseActionsList.list.filter.automated": "已由规则触发", "xpack.securitySolution.responseActionsList.list.filter.clearAll": "全部清除", "xpack.securitySolution.responseActionsList.list.filter.Hosts": "主机", + "xpack.securitySolution.responseActionsList.list.filter.manual": "已手动触发", "xpack.securitySolution.responseActionsList.list.filter.statuses": "状态", + "xpack.securitySolution.responseActionsList.list.filter.type": "类型", "xpack.securitySolution.responseActionsList.list.filter.users": "按用户名筛选", "xpack.securitySolution.responseActionsList.list.hosts": "主机", "xpack.securitySolution.responseActionsList.list.item.badge.failed": "失败", @@ -32883,6 +34280,7 @@ "xpack.securitySolution.responseActionsList.list.item.badge.successful": "成功", "xpack.securitySolution.responseActionsList.list.item.expandSection.comment": "注释", "xpack.securitySolution.responseActionsList.list.item.expandSection.completedAt": "执行已完成", + "xpack.securitySolution.responseActionsList.list.item.expandSection.hostname": "主机名", "xpack.securitySolution.responseActionsList.list.item.expandSection.input": "输入", "xpack.securitySolution.responseActionsList.list.item.expandSection.output": "输出", "xpack.securitySolution.responseActionsList.list.item.expandSection.parameters": "参数", @@ -32916,7 +34314,7 @@ "xpack.securitySolution.riskScore.errorSearchDescription": "搜索风险分数时发生错误", "xpack.securitySolution.riskScore.failSearchDescription": "无法对风险分数执行搜索", "xpack.securitySolution.riskScore.hostRiskScoresEnabledTitle": "已启用主机风险分数", - "xpack.securitySolution.riskScore.hostsDashboardWarningPanelBody": "我们尚未从您环境中的主机中检测到任何主机风险分数数据。启用此模板后,可能需要一小时才能生成数据。", + "xpack.securitySolution.riskScore.hostsDashboardWarningPanelBody": "找不到任何主机风险分数数据。检查全局 KQL 搜索栏中是否具有任何全局筛选。如果刚刚启用了主机风险模块,风险引擎可能需要一小时才能生成并在此面板中显示主机风险分数数据。", "xpack.securitySolution.riskScore.hostsDashboardWarningPanelTitle": "没有可显示的主机风险分数数据", "xpack.securitySolution.riskScore.install.errorMessageTitle": "安装错误", "xpack.securitySolution.riskScore.kpi.failSearchDescription": "无法对风险分数执行搜索", @@ -32935,7 +34333,7 @@ "xpack.securitySolution.riskScore.upgradeConfirmation.content": "升级会从您的环境中删除现有风险分数。您可以先保留现有风险数据,然后再升级风险分数软件包。是否升级?", "xpack.securitySolution.riskScore.userRiskScoresEnabledTitle": "已启用用户风险分数", "xpack.securitySolution.riskScore.usersDashboardRestartTooltip": "风险分数计算可能需要一段时间运行。但是,通过按“重新启动”,您可以立即强制运行该计算。", - "xpack.securitySolution.riskScore.usersDashboardWarningPanelBody": "我们尚未从您环境中的用户中检测到任何用户风险分数数据。启用此模板后,可能需要一小时才能生成数据。", + "xpack.securitySolution.riskScore.usersDashboardWarningPanelBody": "找不到任何用户风险分数数据。检查全局 KQL 搜索栏中是否具有任何全局筛选。如果刚刚启用了用户风险模块,风险引擎可能需要一小时才能生成并在此面板中显示用户风险分数数据。", "xpack.securitySolution.riskScore.usersDashboardWarningPanelTitle": "没有可显示的用户风险分数数据", "xpack.securitySolution.riskTabBody.viewDashboardButtonLabel": "查看源仪表板", "xpack.securitySolution.rowRenderer.executedProcessDescription": "已执行进程", @@ -33284,6 +34682,7 @@ "xpack.securitySolution.timeline.tabs.notesTabTimelineTitle": "备注", "xpack.securitySolution.timeline.tabs.pinnedTabTimelineTitle": "已固定", "xpack.securitySolution.timeline.tabs.queyTabTimelineTitle": "查询", + "xpack.securitySolution.timeline.tabs.securityAssistantTimelineTitle": "安全助手", "xpack.securitySolution.timeline.tabs.sessionTabTimelineTitle": "会话视图", "xpack.securitySolution.timeline.tcp": "TCP", "xpack.securitySolution.timeline.toggleEventDetailsTitle": "展开事件详情", @@ -33392,6 +34791,7 @@ "xpack.securitySolution.trustedapps.trustedapp.entry.operator": "运算符", "xpack.securitySolution.trustedapps.trustedapp.entry.value": "值", "xpack.securitySolution.trustedAppsTab": "受信任的应用程序", + "xpack.securitySolution.uiSettings.defaultAlertTagsLabel": "告警标记选项", "xpack.securitySolution.uiSettings.defaultAnomalyScoreLabel": "异常阈值", "xpack.securitySolution.uiSettings.defaultIndexLabel": "Elasticsearch 索引", "xpack.securitySolution.uiSettings.defaultRefreshIntervalLabel": "时间筛选刷新时间间隔", @@ -33477,6 +34877,120 @@ "xpack.securitySolution.zeek.sfDescription": "正常 SYN/FIN 完成", "xpack.securitySolution.zeek.shDescription": "发起方已发送 SYN,后跟 FIN,响应方未发送 SYN ACK", "xpack.securitySolution.zeek.shrDescription": "响应方已发送 SYN ACK,后跟 FIN,发起方未发送 SYN", + "xpack.serverlessSearch.apiKey.activeKeys": "您有 {number} 个活动密钥。", + "xpack.serverlessSearch.apiKey.expiresHelpText": "此 API 密钥将于 {expirationDate}到期", + "xpack.serverlessSearch.header.greeting.title": "{name}您好!", + "xpack.serverlessSearch.ingestData.clientDocLink": "{languageName} API 参考", + "xpack.serverlessSearch.installClient.clientDocLink": "{languageName} 客户端文档", + "xpack.serverlessSearch.selectClient.description": "Elastic 以几种流行语言构建和维护客户端,我们的社区也做出了许多贡献。选择您常用的语言客户端或深入分析 {console} 以开始使用。", + "xpack.serverlessSearch.apiCallout.content": "使用 Console,您可以直接调用 Elasticsearch 和 Kibana REST API,而无需安装语言客户端。", + "xpack.serverlessSearch.apiCallOut.title": "通过 Console 调用 API", + "xpack.serverlessSearch.apiKey.apiKeyStepDescription": "此密钥仅显示一次,因此请将其保存到某个安全位置。我们不存储您的 API 密钥,因此,如果您丢失了密钥,则需要生成替代密钥。", + "xpack.serverlessSearch.apiKey.apiKeyStepTitle": "存储此 API 密钥", + "xpack.serverlessSearch.apiKey.description": "您需要这些唯一标识符才能安全连接到 Elasticsearch 项目。", + "xpack.serverlessSearch.apiKey.expiresField.daysLabel": "以天为单位", + "xpack.serverlessSearch.apiKey.expiresField.neverLabel": "永不", + "xpack.serverlessSearch.apiKey.expiresFieldHelpText": "应定期轮换 API 密钥。", + "xpack.serverlessSearch.apiKey.expiresFieldLabel": "过期", + "xpack.serverlessSearch.apiKey.expiresFieldUnit": "天", + "xpack.serverlessSearch.apiKey.flyout.errorTitle": "创建 API 密钥时出错", + "xpack.serverlessSearch.apiKey.flyOutCreateLabel": "创建 API 密钥", + "xpack.serverlessSearch.apiKey.flyoutTitle": "创建 API 密钥", + "xpack.serverlessSearch.apiKey.manageLabel": "管理", + "xpack.serverlessSearch.apiKey.metadata.description": "使用可配置的键值对添加有关 API 密钥的信息,或定制 Elasticsearch 资源访问权限。", + "xpack.serverlessSearch.apiKey.metadata.title": "元数据", + "xpack.serverlessSearch.apiKey.metadataLinkLabel": "了解如何构造角色元数据", + "xpack.serverlessSearch.apiKey.nameFieldHelpText": "适当的名称便于用户清楚了解 API 密钥的用途。", + "xpack.serverlessSearch.apiKey.nameFieldLabel": "名称", + "xpack.serverlessSearch.apiKey.newButtonLabel": "新建", + "xpack.serverlessSearch.apiKey.privileges.description": "使用每个 API 密钥的预定义角色或定制权限控制对特定 Elasticsearch API 和资源的访问。", + "xpack.serverlessSearch.apiKey.privileges.title": "安全权限", + "xpack.serverlessSearch.apiKey.roleDescriptorsLinkLabel": "了解如何构造角色描述符", + "xpack.serverlessSearch.apiKey.setup.description": "用于创建 API 密钥的基本配置详情。", + "xpack.serverlessSearch.apiKey.setup.title": "设置", + "xpack.serverlessSearch.apiKey.stepOneDescription": "用于身份验证和授权的唯一标识符。", + "xpack.serverlessSearch.apiKey.stepOneTitle": "生成并存储 API 密钥", + "xpack.serverlessSearch.apiKey.stepTwoDescription": "用于特定项目的唯一标识符。", + "xpack.serverlessSearch.apiKey.stepTwoTitle": "存储您的唯一云 ID", + "xpack.serverlessSearch.apiKey.title": "存储您的 API 密钥和云 ID", + "xpack.serverlessSearch.apiKey.userFieldHelpText": "创建 API 密钥的用户的 ID。", + "xpack.serverlessSearch.apiKey.userFieldLabel": "用户", + "xpack.serverlessSearch.back": "返回", + "xpack.serverlessSearch.cancel": "取消", + "xpack.serverlessSearch.codeBox.copyButtonLabel": "复制", + "xpack.serverlessSearch.codeBox.selectAriaLabel": "选择编程语言", + "xpack.serverlessSearch.configureClient.advancedConfigLabel": "高级配置", + "xpack.serverlessSearch.configureClient.basicConfigLabel": "基本配置", + "xpack.serverlessSearch.configureClient.description": "使用唯一 API 密钥和云 ID 对客户端进行初始化", + "xpack.serverlessSearch.configureClient.title": "配置客户端", + "xpack.serverlessSearch.disabled": "已禁用", + "xpack.serverlessSearch.enabled": "已启用", + "xpack.serverlessSearch.footer.billing.title": "帐单和使用情况", + "xpack.serverlessSearch.footer.community.title": "加入社区", + "xpack.serverlessSearch.footer.discoverCard.buttonText": "在 Discover 中浏览数据", + "xpack.serverlessSearch.footer.discoverCard.description": "使用 Discover,您可以快速搜索和筛选数据,获取有关字段结构的信息,并在可视化中显示结果。", + "xpack.serverlessSearch.footer.discoverCard.title": "在 Discover 中浏览您的数据并进行可视化", + "xpack.serverlessSearch.footer.feedback.title": "反馈", + "xpack.serverlessSearch.footer.inviteUsers.title": "邀请更多用户", + "xpack.serverlessSearch.footer.pipelinesCard.buttonText": "配置采集管道", + "xpack.serverlessSearch.footer.pipelinesCard.description": "先预处理数据,然后索引到 Elasticsearch。移除字段,从文本中提取值,或使用 ELSER 等 Machine Learning 模型扩充您的数据。", + "xpack.serverlessSearch.footer.pipelinesCard.title": "使用管道转换数据", + "xpack.serverlessSearch.footer.searchUI.buttonText": "通过搜索 UI 构建", + "xpack.serverlessSearch.footer.searchUI.description": "搜索 UI 是一个由 Elastic 维护的免费开源 JavaScript 库,用于快速打造现代、富于吸引力的搜索体验。", + "xpack.serverlessSearch.footer.searchUI.title": "通过搜索 UI 构建用户界面", + "xpack.serverlessSearch.footer.title": "后续操作", + "xpack.serverlessSearch.githubLink.curl.label": "curl", + "xpack.serverlessSearch.githubLink.javascript.label": "Elasticsearch", + "xpack.serverlessSearch.githubLink.ruby.label": "elasticsearch-ruby", + "xpack.serverlessSearch.header.description": "设置您的编程语言客户端,采集一些数据,如此即可在数分钟内开始搜索。", + "xpack.serverlessSearch.header.title": "Elasticsearch 入门", + "xpack.serverlessSearch.ingestData.beatsDescription": "用于 Elasticsearch 的轻量级、单一用途数据采集器。使用 Beats 从您的服务器发送运营数据。", + "xpack.serverlessSearch.ingestData.beatsLink": "Beats", + "xpack.serverlessSearch.ingestData.beatsTitle": "Beats", + "xpack.serverlessSearch.ingestData.connectorsDescription": "用于将数据从第三方源同步到 Elasticsearch 的专用集成。使用 Elastic 连接器同步来自一系列数据库和对象存储的内容。", + "xpack.serverlessSearch.ingestData.connectorsPythonLink": "connectors-python", + "xpack.serverlessSearch.ingestData.connectorsTitle": "连接器客户端", + "xpack.serverlessSearch.ingestData.description": "将数据添加到数据流或索引,使其可进行搜索。选择适合您的应用程序和工作流的集成方法。", + "xpack.serverlessSearch.ingestData.ingestApiDescription": "最灵活的数据索引方法,允许您全面控制定制和优化选项。", + "xpack.serverlessSearch.ingestData.ingestApiLabel": "通过 API 采集", + "xpack.serverlessSearch.ingestData.ingestIntegrationDescription": "针对转换数据并将其传输到 Elasticsearch 而优化的专用采集工具。", + "xpack.serverlessSearch.ingestData.ingestIntegrationLabel": "通过集成采集", + "xpack.serverlessSearch.ingestData.ingestLegendLabel": "选择采集方法", + "xpack.serverlessSearch.ingestData.integrationsLink": "关于集成", + "xpack.serverlessSearch.ingestData.logstashDescription": "将数据添加到数据流或索引,使其可进行搜索。选择适合您的应用程序和工作流的集成方法。", + "xpack.serverlessSearch.ingestData.logstashLink": "Logstash", + "xpack.serverlessSearch.ingestData.logstashTitle": "Logstash", + "xpack.serverlessSearch.ingestData.title": "采集数据", + "xpack.serverlessSearch.installClient.description": "Elastic 以几种流行语言构建和维护客户端,我们的社区也做出了许多贡献。安装您常用的语言客户端以开始使用。", + "xpack.serverlessSearch.installClient.title": "安装客户端", + "xpack.serverlessSearch.invalidJsonError": "JSON 无效", + "xpack.serverlessSearch.languages.cURL": "cURL", + "xpack.serverlessSearch.languages.javascript": "JavaScript/Node.js", + "xpack.serverlessSearch.languages.ruby": "Ruby", + "xpack.serverlessSearch.learnMore": "了解详情", + "xpack.serverlessSearch.nav.content": "内容", + "xpack.serverlessSearch.nav.content.indexingApi": "正在索引 API", + "xpack.serverlessSearch.nav.content.indices": "索引", + "xpack.serverlessSearch.nav.devTools": "开发工具", + "xpack.serverlessSearch.nav.explore": "浏览", + "xpack.serverlessSearch.nav.gettingStarted": "入门", + "xpack.serverlessSearch.nav.security": "安全", + "xpack.serverlessSearch.next": "下一步", + "xpack.serverlessSearch.optional": "可选", + "xpack.serverlessSearch.required": "必需", + "xpack.serverlessSearch.searchQuery.description": "现在您已做好准备,可以开始体验搜索并对您的 Elasticsearch 数据执行聚合。", + "xpack.serverlessSearch.searchQuery.title": "构建您的首个搜索查询", + "xpack.serverlessSearch.selectClient.apiRequestConsoleDocLink": "在 Console 中运行 API 请求 ", + "xpack.serverlessSearch.selectClient.callout.description": "借助 Console,您可以立即开始使用我们的 REST API。无需进行安装。", + "xpack.serverlessSearch.selectClient.callout.link": "立即试用 Console", + "xpack.serverlessSearch.selectClient.callout.title": "立即在 Console 中试用", + "xpack.serverlessSearch.selectClient.description.console.link": "控制台", + "xpack.serverlessSearch.selectClient.elasticsearchClientDocLink": "Elasticsearch 客户端 ", + "xpack.serverlessSearch.selectClient.heading": "选择一个", + "xpack.serverlessSearch.selectClient.title": "选择客户端", + "xpack.serverlessSearch.testConnection.description": "发送测试请求,以确认您的语言客户端和 Elasticsearch 实例已启动并正在运行。", + "xpack.serverlessSearch.testConnection.title": "测试您的连接", + "xpack.serverlessSearch.tryInConsoleButton": "在 Console 中试用", "xpack.sessionView.alertFilteredCountStatusLabel": " 正在显示 {count} 个告警", "xpack.sessionView.alertTotalCountStatusLabel": "正在显示 {count} 个告警", "xpack.sessionView.processTree.loadMore": "显示 {pageSize} 个后续事件", @@ -33797,7 +35311,7 @@ "xpack.snapshotRestore.policyForm.stepLogistics.policyScheduleLabel": "计划", "xpack.snapshotRestore.policyForm.stepLogistics.policySnapshotNameHelpTextDocLink": "了解详情。", "xpack.snapshotRestore.policyForm.stepLogistics.policySnapshotNameLabel": "快照名称", - "xpack.snapshotRestore.policyForm.stepLogistics.policySnapshotNamePlaceholder": "<daily-snap-\\{now d\\}>", + "xpack.snapshotRestore.policyForm.stepLogistics.policySnapshotNamePlaceholder": "", "xpack.snapshotRestore.policyForm.stepLogistics.repositoryDescription": "要用于存储快照的存储库。", "xpack.snapshotRestore.policyForm.stepLogistics.repositoryDescriptionTitle": "存储库", "xpack.snapshotRestore.policyForm.stepLogistics.scheduleDescription": "拍取快照的频率。", @@ -34569,6 +36083,10 @@ "xpack.stackAlerts.esQuery.ui.thresholdHelp.duplicateMatches": "如果打开 {excludePrevious},则在多次运行中匹配查询的文档将仅用在第一次阈值计算过程中。", "xpack.stackAlerts.esQuery.ui.thresholdHelp.timeWindow": "此时间窗口指示向后搜索多长时间。为避免检测缺口,请将此值设置为大于或等于您为 {checkField} 字段选择的值。", "xpack.stackAlerts.esQuery.ui.validation.error.invalidSizeRangeText": "大小必须介于 0 和 {max, number} 之间。", + "xpack.stackAlerts.geoContainment.adjustQuery": "调整查询“{query}”以匹配文档。", + "xpack.stackAlerts.geoContainment.boundariesFetchError": "无法提取跟踪限制边界,错误:{error}", + "xpack.stackAlerts.geoContainment.entityContainmentFetchError": "无法提取实体限制,错误:{error}", + "xpack.stackAlerts.geoContainment.noBoundariesError": "找不到跟踪限制边界。确保索引“{index}”包含文档。", "xpack.stackAlerts.geoContainment.noGeoFieldInIndexPattern.message": "数据视图不包含任何允许的地理空间字段。必须具有一个类型 {geoFields}。", "xpack.stackAlerts.indexThreshold.alertTypeContextSubjectTitle": "告警 {name} 组 {group} 达到阈值", "xpack.stackAlerts.indexThreshold.alertTypeRecoveryContextSubjectTitle": "告警 {name} 组 {group} 已恢复", @@ -34607,6 +36125,7 @@ "xpack.stackAlerts.esQuery.termFieldRequiredErrorMessage": "[termField]:[groupBy] 为 top 时,termField 为必需", "xpack.stackAlerts.esQuery.termSizeRequiredErrorMessage": "[termSize]:[groupBy] 为 top 时,termSize 为必需", "xpack.stackAlerts.esQuery.ui.alertParams.fixErrorInExpressionBelowValidationMessage": "表达式包含错误。", + "xpack.stackAlerts.esQuery.ui.alertType.defaultActionMessage": "Elasticsearch 查询告警“\\{\\{alertName\\}\\}”处于活动状态:\n\n- 值:\\{\\{context.value\\}\\}\n- 满足的条件:\\{\\{context.conditions\\}\\} 超过 \\{\\{params.timeWindowSize\\}\\}\\{\\{params.timeWindowUnit\\}\\}\n- 时间戳:\\{\\{context.date\\}\\}\n- 链接:\\{\\{context.link\\}\\}", "xpack.stackAlerts.esQuery.ui.alertType.descriptionText": "在运行最新查询期间找到匹配项时告警。", "xpack.stackAlerts.esQuery.ui.conditionsPrompt": "设置组、阈值和时间窗口", "xpack.stackAlerts.esQuery.ui.copyQuery": "复制查询", @@ -34702,6 +36221,7 @@ "xpack.stackAlerts.indexThreshold.actionVariableContextValueLabel": "超过阈值的值。", "xpack.stackAlerts.indexThreshold.alertTypeTitle": "索引阈值", "xpack.stackAlerts.threshold.ui.alertParams.fixErrorInExpressionBelowValidationMessage": "表达式包含错误。", + "xpack.stackAlerts.threshold.ui.alertType.defaultActionMessage": "组“\\{\\{context.group\\}\\}”的告警“\\{\\{alertName\\}\\}”处于活动状态:\n\n- 值:\\{\\{context.value\\}\\}\n- 满足的条件:\\{\\{context.conditions\\}\\} 超过 \\{\\{params.timeWindowSize\\}\\}\\{\\{params.timeWindowUnit\\}\\}\n- 时间戳:\\{\\{context.date\\}\\}", "xpack.stackAlerts.threshold.ui.alertType.descriptionText": "聚合查询达到阈值时告警。", "xpack.stackAlerts.threshold.ui.conditionPrompt": "定义条件", "xpack.stackAlerts.threshold.ui.filterKQLHelpText": "使用 KQL 表达式限制告警触发的范围。", @@ -34728,6 +36248,11 @@ "xpack.stackConnectors.components.casesWebhook.error.missingVariables": "缺少所需{variableCount, plural, other {变量}}:{variables}", "xpack.stackConnectors.components.email.error.invalidEmail": "电子邮件地址 {email} 无效。", "xpack.stackConnectors.components.email.error.notAllowed": "不允许使用电子邮件地址 {email}。", + "xpack.stackConnectors.components.genAi.azureAiApiKeyDocumentation": "HTTP 基本身份验证的 Azure API 密钥。有关生成 Azure OpenAI API 密钥的详细信息,请参阅 {genAiAPIKeyDocs}。", + "xpack.stackConnectors.components.genAi.azureAiDocumentation": "Azure OpenAI API 终端 URL。有关该 URL 的详细信息,请参阅 {genAiAPIUrlDocs}", + "xpack.stackConnectors.components.genAi.dashboardLink": "查看“{connectorName}”连接器的 {apiProvider} 使用情况仪表板", + "xpack.stackConnectors.components.genAi.openAiApiKeyDocumentation": "HTTP 基本身份验证的 OpenAI API 身份验证密钥。有关生成 OpenAI API 密钥的更多详细信息,请参阅 {genAiAPIKeyDocs}。", + "xpack.stackConnectors.components.genAi.openAiDocumentation": "OpenAI API 终端 URL。有关该 URL 的详细信息,请参阅 {genAiAPIUrlDocs}", "xpack.stackConnectors.components.index.error.badIndexOverrideValue": "告警历史记录索引必须以“{alertHistoryPrefix}”开头。", "xpack.stackConnectors.components.index.preconfiguredIndexHelpText": "文档已索引到 {alertHistoryIndex} 索引中。", "xpack.stackConnectors.components.jira.unableToGetIssueMessage": "无法获取 ID 为 {id} 的问题", @@ -34741,6 +36266,7 @@ "xpack.stackConnectors.components.serviceNow.updateSuccessToastTitle": "{connectorName} 连接器已更新", "xpack.stackConnectors.components.swimlane.unableToGetApplicationMessage": "无法获取 ID 为 {id} 的应用程序", "xpack.stackConnectors.email.customViewInKibanaMessage": "此消息由 Elastic 发送。[{kibanaFooterLinkText}]({link})。", + "xpack.stackConnectors.genAi.configurationErrorApiProvider": "配置生成式 AI 操作时出错:{err}", "xpack.stackConnectors.jira.configuration.apiAllowedHostsError": "配置连接器操作时出错:{message}", "xpack.stackConnectors.pagerduty.configurationError": "配置 pagerduty 操作时出错:{message}", "xpack.stackConnectors.pagerduty.invalidTimestampErrorMessage": "解析时间戳“{timestamp}”时出错", @@ -34798,6 +36324,7 @@ "xpack.stackConnectors.components.casesWebhook.deleteHeaderButton": "删除", "xpack.stackConnectors.components.casesWebhook.descriptionTextAreaFieldLabel": "描述", "xpack.stackConnectors.components.casesWebhook.docLink": "正在配置 Webhook - 案例管理连接器。", + "xpack.stackConnectors.components.casesWebhook.error.requiredAuthPasswordText": "“密码”必填。", "xpack.stackConnectors.components.casesWebhook.error.requiredAuthUserNameText": "“用户名”必填。", "xpack.stackConnectors.components.casesWebhook.error.requiredCreateCommentIncidentText": "创建注释对象必须为有效 JSON。", "xpack.stackConnectors.components.casesWebhook.error.requiredCreateCommentMethodText": "“创建注释方法”必填。", @@ -34853,6 +36380,18 @@ "xpack.stackConnectors.components.casesWebhook.viewIncidentUrlHelp": "用于查看外部系统中的案例的 URL。使用变量选择器添加外部系统 ID 或外部系统标题到 URL。", "xpack.stackConnectors.components.casesWebhook.viewIncidentUrlTextFieldLabel": "外部案例查看 URL", "xpack.stackConnectors.components.casesWebhookxpack.stackConnectors.components.casesWebhook.connectorTypeTitle": "Webhook - 案例管理数据", + "xpack.stackConnectors.components.d3security.bodyCodeEditorAriaLabel": "代码编辑器", + "xpack.stackConnectors.components.d3security.bodyFieldLabel": "正文", + "xpack.stackConnectors.components.d3security.connectorTypeTitle": "D3 数据", + "xpack.stackConnectors.components.d3Security.connectorTypeTitle": "D3 Security", + "xpack.stackConnectors.components.d3security.eventTypeFieldLabel": "事件类型", + "xpack.stackConnectors.components.d3security.invalidActionText": "操作名称无效。", + "xpack.stackConnectors.components.d3security.requiredActionText": "“操作”必填。", + "xpack.stackConnectors.components.d3security.requiredBodyTextField": "“正文”必填。", + "xpack.stackConnectors.components.d3security.selectMessageText": "在 D3 SOAR 中创建事件或触发 Playbook 工作流操作。", + "xpack.stackConnectors.components.d3security.severityFieldLabel": "严重性", + "xpack.stackConnectors.components.d3security.tokenFieldLabel": "令牌", + "xpack.stackConnectors.components.d3security.urlFieldLabel": "URL", "xpack.stackConnectors.components.email.addBccButton": "密送", "xpack.stackConnectors.components.email.addCcButton": "抄送", "xpack.stackConnectors.components.email.amazonSesServerTypeLabel": "Amazon SES", @@ -34869,6 +36408,7 @@ "xpack.stackConnectors.components.email.error.requiredFromText": "“发送者”必填。", "xpack.stackConnectors.components.email.error.requiredHostText": "“主机”必填。", "xpack.stackConnectors.components.email.error.requiredMessageText": "“消息”必填。", + "xpack.stackConnectors.components.email.error.requiredPasswordText": "“密码”必填。", "xpack.stackConnectors.components.email.error.requiredPortText": "“端口”必填。", "xpack.stackConnectors.components.email.error.requiredServiceText": "“服务”必填。", "xpack.stackConnectors.components.email.error.requiredSubjectText": "“主题”必填。", @@ -34889,6 +36429,7 @@ "xpack.stackConnectors.components.email.recipientBccTextFieldLabel": "密送", "xpack.stackConnectors.components.email.recipientCopyTextFieldLabel": "抄送", "xpack.stackConnectors.components.email.recipientTextFieldLabel": "至", + "xpack.stackConnectors.components.email.requiredClientSecretText": "“客户端密钥”必填。", "xpack.stackConnectors.components.email.secureSwitchLabel": "安全", "xpack.stackConnectors.components.email.selectMessageText": "从您的服务器发送电子邮件。", "xpack.stackConnectors.components.email.serviceTextFieldLabel": "服务", @@ -34896,6 +36437,20 @@ "xpack.stackConnectors.components.email.tenantIdFieldLabel": "租户 ID", "xpack.stackConnectors.components.email.updateErrorNotificationText": "无法获取服务配置", "xpack.stackConnectors.components.email.userTextFieldLabel": "用户名", + "xpack.stackConnectors.components.genAi.apiKeySecret": "API 密钥", + "xpack.stackConnectors.components.genAi.apiProviderLabel": "选择 OpenAI 提供商", + "xpack.stackConnectors.components.genAi.apiUrlTextFieldLabel": "URL", + "xpack.stackConnectors.components.genAi.azureAi": "Azure OpenAI", + "xpack.stackConnectors.components.genAi.bodyCodeEditorAriaLabel": "代码编辑器", + "xpack.stackConnectors.components.genAi.bodyFieldLabel": "正文", + "xpack.stackConnectors.components.genAi.connectorTypeTitle": "生成式 AI", + "xpack.stackConnectors.components.genAi.documentation": "文档", + "xpack.stackConnectors.components.genAi.error.dashboardApiError": "查找生成式 AI 令牌使用情况仪表板时出错。", + "xpack.stackConnectors.components.genAi.error.requiredApiProviderText": "“API 提供商”必填。", + "xpack.stackConnectors.components.genAi.error.requiredGenerativeAiBodyText": "“正文”必填。", + "xpack.stackConnectors.components.genAi.openAi": "OpenAI", + "xpack.stackConnectors.components.genAi.selectMessageText": "向生成式 AI 系统发送请求。", + "xpack.stackConnectors.components.genAi.urlTextFieldLabel": "URL", "xpack.stackConnectors.components.index.configureIndexHelpLabel": "配置索引连接器。", "xpack.stackConnectors.components.index.connectorSectionTitle": "写入到索引", "xpack.stackConnectors.components.index.connectorTypeTitle": "索引数据", @@ -35055,7 +36610,9 @@ "xpack.stackConnectors.components.serviceNow.privateKeyPassTextFieldLabel": "私钥密码", "xpack.stackConnectors.components.serviceNow.privateKeyTextFieldLabel": "私钥", "xpack.stackConnectors.components.serviceNow.requiredClientIdTextField": "“客户端 ID”必填。", + "xpack.stackConnectors.components.serviceNow.requiredClientSecretTextField": "“客户端密钥”必填。", "xpack.stackConnectors.components.serviceNow.requiredKeyIdTextField": "JWT Verifier 密钥 ID 必填。", + "xpack.stackConnectors.components.serviceNow.requiredPasswordTextField": "“密码”必填。", "xpack.stackConnectors.components.serviceNow.requiredPrivateKeyTextField": "“私钥”必填。", "xpack.stackConnectors.components.serviceNow.requiredSeverityTextField": "“严重性”必填。", "xpack.stackConnectors.components.serviceNow.requiredShortDescTextField": "“简短描述”必填。", @@ -35093,11 +36650,21 @@ "xpack.stackConnectors.components.serviceNowSIR.correlationIDHelpLabel": "用于更新事件的标识符", "xpack.stackConnectors.components.serviceNowSIR.selectMessageText": "在 ServiceNow SecOps 中创建事件。", "xpack.stackConnectors.components.serviceNowSIR.title": "安全事件", + "xpack.stackConnectors.components.slack_api.allowedChannelsLabel": "频道", + "xpack.stackConnectors.components.slack_api.apiKeyDocumentation": "创建 Slack Web API 令牌", + "xpack.stackConnectors.components.slack_api.connectorTypeTitle": "发送到 Slack", + "xpack.stackConnectors.components.slack_api.error.requiredSlackChannel": "“频道”必填。", + "xpack.stackConnectors.components.slack_api.error.requiredSlackMessageText": "“消息”必填。", + "xpack.stackConnectors.components.slack_api.errorFetchChannelsText": "无法提取频道,请检查您令牌的有效性", + "xpack.stackConnectors.components.slack_api.selectMessageText": "向 Slack 频道发送消息。", + "xpack.stackConnectors.components.slack_api.successFetchChannelsText": "提取所有频道", + "xpack.stackConnectors.components.slack_api.tokenTextFieldLabel": "API 令牌", + "xpack.stackConnectors.components.slack_api.webApi": "Web API", "xpack.stackConnectors.components.slack..error.requiredSlackMessageText": "“消息”必填。", "xpack.stackConnectors.components.slack.connectorTypeTitle": "发送到 Slack", "xpack.stackConnectors.components.slack.error.invalidWebhookUrlText": "Webhook URL 无效。", "xpack.stackConnectors.components.slack.messageTextAreaFieldLabel": "消息", - "xpack.stackConnectors.components.slack.selectMessageText": "向 Slack 频道或用户发送消息。", + "xpack.stackConnectors.components.slack.selectMessageText": "向 Slack 频道发送消息。", "xpack.stackConnectors.components.slack.webApi": "Web API", "xpack.stackConnectors.components.slack.webhook": "Webhook", "xpack.stackConnectors.components.slack.webhookUrlHelpLabel": "创建 Slack webhook URL", @@ -35117,10 +36684,12 @@ "xpack.stackConnectors.components.swimlane.emptyMappingWarningDesc": "无法选择此连接器,因为其缺失所需的告警字段映射。您可以编辑此连接器以添加所需的字段映射或选择告警类型的连接器。", "xpack.stackConnectors.components.swimlane.emptyMappingWarningTitle": "此连接器缺失字段映射", "xpack.stackConnectors.components.swimlane.error.requiredAlertID": "“告警 ID”必填。", + "xpack.stackConnectors.components.swimlane.error.requiredApiToken": "“API 令牌”必填。", "xpack.stackConnectors.components.swimlane.error.requiredAppIdText": "“应用 ID”必填。", "xpack.stackConnectors.components.swimlane.error.requiredCaseID": "“案例 ID”必填。", "xpack.stackConnectors.components.swimlane.error.requiredCaseName": "“案例名称”必填。", "xpack.stackConnectors.components.swimlane.error.requiredComments": "“注释”必填。", + "xpack.stackConnectors.components.swimlane.error.requiredConnectorType": "“连接器类型”必填。", "xpack.stackConnectors.components.swimlane.error.requiredDescription": "“描述”必填。", "xpack.stackConnectors.components.swimlane.error.requiredRuleName": "“规则名称”必填。", "xpack.stackConnectors.components.swimlane.error.requiredSeverity": "“严重性”必填。", @@ -35149,6 +36718,7 @@ "xpack.stackConnectors.components.webhook.error.requiredAuthUserNameText": "“用户名”必填。", "xpack.stackConnectors.components.webhook.error.requiredMethodText": "“方法”必填", "xpack.stackConnectors.components.webhook.error.requiredWebhookBodyText": "“正文”必填。", + "xpack.stackConnectors.components.webhook.error.requiredWebhookPasswordText": "“密码”必填。", "xpack.stackConnectors.components.webhook.hasAuthSwitchLabel": "此 Webhook 需要身份验证", "xpack.stackConnectors.components.webhook.headerKeyTextFieldLabel": "钥匙", "xpack.stackConnectors.components.webhook.headerValueTextFieldLabel": "值", @@ -35166,6 +36736,8 @@ "xpack.stackConnectors.components.xmatters.connectorTypeTitle": "xMatters 数据", "xpack.stackConnectors.components.xmatters.error.invalidUrlTextField": "URL 无效。", "xpack.stackConnectors.components.xmatters.error.invalidUsernameTextField": "用户名无效。", + "xpack.stackConnectors.components.xmatters.error.requiredConnectorSettingsText": "“身份验证方法”必填。", + "xpack.stackConnectors.components.xmatters.error.requiredPasswordText": "“密码”必填。", "xpack.stackConnectors.components.xmatters.error.requiredUrlText": "“URL”必填。", "xpack.stackConnectors.components.xmatters.initiationUrlHelpText": "包括完整 xMatters url。", "xpack.stackConnectors.components.xmatters.passwordTextFieldLabel": "密码", @@ -35186,6 +36758,7 @@ "xpack.stackConnectors.email.sentByKibanaMessage": "此消息由 Kibana 发送。", "xpack.stackConnectors.email.title": "电子邮件", "xpack.stackConnectors.error.requiredWebhookBodyText": "“正文”必填。", + "xpack.stackConnectors.error.requiredWebhookTorqTokenText": "“Torq 集成令牌”必填。", "xpack.stackConnectors.error.requireValidJSONBody": "正文必须是有效的 JSON。", "xpack.stackConnectors.esIndex.errorIndexingErrorMessage": "索引文档时出错", "xpack.stackConnectors.esIndex.title": "索引", @@ -35197,6 +36770,9 @@ "xpack.stackConnectors.pagerduty.unexpectedNullResponseErrorMessage": "来自 PagerDuty 的异常空响应", "xpack.stackConnectors.resilient.title": "IBM Resilient", "xpack.stackConnectors.sections.ospgenie.loadingJsonEditor": "正在加载 JSON 编辑器", + "xpack.stackConnectors.security.genAi.params.error.invalidActionText": "操作名称无效。", + "xpack.stackConnectors.security.genAi.params.error.invalidBodyText": "正文不包含有效 JSON 格式。", + "xpack.stackConnectors.security.genAi.params.error.requiredActionText": "“操作”必填。", "xpack.stackConnectors.security.tines.config.authenticationTitle": "身份验证", "xpack.stackConnectors.security.tines.config.emailTextFieldLabel": "电子邮件", "xpack.stackConnectors.security.tines.config.error.invalidUrlTextField": "租户 URL 无效。", @@ -35249,6 +36825,7 @@ "xpack.stackConnectors.slack.configurationErrorNoHostname": "配置 slack 操作时出错:无法解析 webhookUrl 中的主机名", "xpack.stackConnectors.slack.errorPostingErrorMessage": "发布 slack 消息时出错", "xpack.stackConnectors.slack.errorPostingRetryLaterErrorMessage": "发布 slack 消息时出错,稍后重试", + "xpack.stackConnectors.slack.params.channelsComboBoxLabel": "频道", "xpack.stackConnectors.slack.params.componentError.getChannelsRequestFailed": "无法检索 Slack 频道列表", "xpack.stackConnectors.slack.title": "Slack", "xpack.stackConnectors.slack.unexpectedNullResponseErrorMessage": "来自 slack 的异常空响应", @@ -35308,6 +36885,13 @@ "xpack.synthetics.alerts.monitorStatus.defaultRecoveryMessage": "来自 {observerLocation} 且 url 为 {monitorUrl} 的监测 {monitorName} 的告警已恢复", "xpack.synthetics.alerts.monitorStatus.defaultRecoverySubjectMessage": "URL 为 {monitorUrl} 的监测 {monitorName} 已恢复", "xpack.synthetics.alerts.monitorStatus.defaultSubjectMessage": "URL 为 {monitorUrl} 的监测 {monitorName} 已关闭", + "xpack.synthetics.alerts.monitorStatus.upCheck.reasonWithoutDuration": "监测现已再次启动。它于 {checkedAt}成功运行", + "xpack.synthetics.alerts.syntheticsMonitorStatus.defaultActionMessage": "“{monitorName}”为来自 {locationName} 的 {status} 状态 - Elastic Synthetics\n\n详情:\n\n- 监测名称:{monitorName} \n- {monitorUrlLabel}:{monitorUrl} \n- 监测类型:{monitorType} \n- 检查时间:{checkedAt} \n- 来自:{locationName} \n- 收到错误:{lastErrorMessage} \n{linkMessage}", + "xpack.synthetics.alerts.syntheticsMonitorStatus.defaultRecoveryMessage": "来自 {locationName} 的“{monitorName}”的告警不再处于活动状态:{recoveryReason} - Elastic Synthetics\n\n详情:\n\n- 监测名称:{monitorName} \n- {monitorUrlLabel}:{monitorUrl} \n- 监测类型:{monitorType} \n- 来自:{locationName} \n- 收到的上一个错误:{lastErrorMessage} \n{linkMessage}", + "xpack.synthetics.alerts.syntheticsMonitorStatus.defaultRecoverySubjectMessage": "“{monitorName}”({locationName}) {recoveryStatus} - Elastic Synthetics", + "xpack.synthetics.alerts.syntheticsMonitorStatus.defaultSubjectMessage": "“{monitorName}”({locationName}) 已关闭 - Elastic Synthetics", + "xpack.synthetics.alerts.syntheticsMonitorTLS.defaultRecoverySubjectMessage": "告警已解析证书 {commonName} - Elastic Synthetics", + "xpack.synthetics.alerts.syntheticsMonitorTLS.defaultSubjectMessage": "已针对证书 {commonName} 触发告警 - Elastic Synthetics", "xpack.synthetics.alerts.tls.defaultActionMessage": "检测到来自颁发者 {issuer} 的 TLS 证书 {commonName} 的状态为 {status}。证书 {summary}", "xpack.synthetics.alerts.tls.defaultRecoveryMessage": "来自颁发者 {issuer} 的 TLS 证书 {commonName} 的告警已恢复", "xpack.synthetics.alerts.tls.legacy.defaultActionMessage": "检测到 {count} 个 TLS 证书即将过期或即将过时。\n{expiringConditionalOpen}\n即将过期的证书计数:{expiringCount}\n即将过期的证书:{expiringCommonNameAndDate}\n{expiringConditionalClose}\n{agingConditionalOpen}\n过时的证书计数:{agingCount}\n过时的证书:{agingCommonNameAndDate}\n{agingConditionalClose}\n", @@ -35340,6 +36924,7 @@ "xpack.synthetics.management.monitorList.recordRange": "正在显示第 {range} 个(共 {total} 个){monitorsLabel}", "xpack.synthetics.management.monitorList.recordRangeLabel": "{monitorCount, plural, other {监测}}", "xpack.synthetics.management.monitorList.recordTotal": "正在显示 {total} 个 {monitorsLabel}", + "xpack.synthetics.manualTestRun.failedTest.name": "{name} 的手动测试运行失败", "xpack.synthetics.monitor.stepOfSteps": "第 {stepNumber} 步,共 {totalSteps} 步", "xpack.synthetics.monitorAddEdit.throttling.connectionProfile": "({download} Mbps,{upload} Mbps,{latency} 毫秒)", "xpack.synthetics.monitorConfig.monitorScriptEditStep.description": "使用 Elastic Synthetics 记录器生成并上传脚本。或者,您也可以在脚本编辑器中编辑现有 {playwright} 脚本(或粘贴新脚本)。", @@ -35348,6 +36933,7 @@ "xpack.synthetics.monitorConfig.schedule.label": "每 {value, number} {value, plural, other {小时}}", "xpack.synthetics.monitorConfig.schedule.minutes.label": "每 {value, number} {value, plural, other {分钟}}", "xpack.synthetics.monitorConfig.syntheticsArgs.mode.helpText": "如果 {any},该监测将仅 Ping 主机名的一个 IP 地址。如果 {all},该监测将 Ping 主机名的所有可解析 IP。如果您正使用 DNS 负载均衡器并希望 Ping 指定主机名的每个 IP 地址,{all} 会非常有用。", + "xpack.synthetics.monitorConfig.throttlingDisabled.label": "连接配置文件({icon} 有关限制的重要信息:{link})", "xpack.synthetics.monitorDetail.days": "{n, plural, other {天}}", "xpack.synthetics.monitorDetail.hours": "{n, plural, other {小时}}", "xpack.synthetics.monitorDetail.minutes": "{n, plural, other {分钟}}", @@ -35362,7 +36948,7 @@ "xpack.synthetics.monitorManagement.agentCallout.content": "要在此专用位置上运行“浏览器”监测,请确保使用 {code} Docker 容器,其中包含运行这些监测必需的依赖项。有关更多信息,{link}。", "xpack.synthetics.monitorManagement.agentMissingCallout.content": "您已选择一个未附加任何代理的代理策略。请确保在此策略中至少注册了一个代理。您可以在创建位置之前或之后添加代理。有关更多信息,{link}。", "xpack.synthetics.monitorManagement.anotherPrivateLocation": "此代理策略已附加到以下位置:{locationName}。", - "xpack.synthetics.monitorManagement.cannotDelete.description": "不能删除此位置,因为它正运行 {monCount, number} 个{monCount, plural, other {监测}}。\n 请先从监测中移除该位置,再将其删除。", + "xpack.synthetics.monitorManagement.cannotDelete.description": "无法删除此位置,因为它已用在 {monCount, number} 个{monCount, plural, other {监测}}中。\n 请先从所有监测中移除此位置。", "xpack.synthetics.monitorManagement.deleteLocationName": "删除“{location}”", "xpack.synthetics.monitorManagement.deleteMonitorNameLabel": "删除“{name}”监测?", "xpack.synthetics.monitorManagement.lastXDays": "过去 {count, number} {count, plural, other {天}}", @@ -35373,8 +36959,8 @@ "xpack.synthetics.monitorManagement.service.error.status": "状态:{status}。", "xpack.synthetics.monitorManagement.stepCompleted": "已完成 {stepCount, number} 个{stepCount, plural, other {步骤}}", "xpack.synthetics.monitorManagement.timeTaken": "耗时 {timeTaken}", - "xpack.synthetics.monitorManagement.viewMonitors": "位置 {name} 正运行 {count, number} 个{count, plural, other {监测}}。", - "xpack.synthetics.monitorManagementRoute.title": "监测管理 | {baseTitle}", + "xpack.synthetics.monitorManagement.viewMonitors": "{name} 已用在 {count, number} 个{count, plural, other {监测}}中。", + "xpack.synthetics.monitorManagementRoute.title": "Synthetics 管理 | {baseTitle}", "xpack.synthetics.monitorNotFound.title": "找不到 Synthetics 监测 | {baseTitle}", "xpack.synthetics.overview.actions.disabledSuccessLabel": "已成功禁用监测“{name}”。", "xpack.synthetics.overview.actions.disabledSuccessLabel.alert": "现在已对监测“{name}”禁用告警。", @@ -35393,16 +36979,28 @@ "xpack.synthetics.paramManagement.paramDeleteFailuresMessage.name": "已成功删除参数 {name}。", "xpack.synthetics.paramManagement.paramDeleteSuccessMessage.name": "已成功删除参数 {name}。", "xpack.synthetics.params.description": "定义可在浏览器和轻量级监测的配置中使用的变量和参数,如凭据或 URL。{learnMore}", + "xpack.synthetics.params.unprivileged.unprivilegedDescription": "您需要其他权限才能查看 Synthetics 应用数据使用情况和保留设置。{docsLink}", "xpack.synthetics.pingList.expandedRow.bodySize": "正文大小为 {bodyBytes}。", "xpack.synthetics.pingList.expandedRow.truncated": "显示前 {contentBytes} 个字节。", "xpack.synthetics.pingList.recencyMessage": "{fromNow}已检查", - "xpack.synthetics.project.readOnly.callout.content": "已从外部项目添加此监测:{projectId}。从此页面,您只能对其执行启用、禁用或移除操作。要做出配置更改,您必须编辑其源文件,然后从该项目再次推送配置。", + "xpack.synthetics.project.readOnly.callout.content": "已从外部项目添加此监测:{projectId}。在此页面,您只能启用和禁用监测及其告警,或将其移除。要做出配置更改,您必须编辑其源文件,然后从该项目再次推送配置。", "xpack.synthetics.projectMonitorApi.validation.invalidUrlOrHosts.description": "`{monitorType}` 项目监测必须在版本 `{version}` 中具有字段 `{key}` 的一个值。未创建或更新您的监测。", "xpack.synthetics.prompt.errors.notFound.body": "抱歉,找不到 ID 为 {monitorId} 的监测。它可能已被移除,或您没有查看权限。", + "xpack.synthetics.rules.tls.defaultActionMessage": "检测到的 TLS 证书 {commonName} 为 {status} 状态 - Elastic Synthetics\n\n详情:\n\n- 摘要:{summary}\n- 常见名称:{commonName}\n- 颁发者:{issuer}\n- 监测:{monitorName} \n- 监测 URL:{monitorUrl} \n- 监测类型:{monitorType} \n- 来自:{locationName}", + "xpack.synthetics.rules.tls.validAfterExpiredString": "已于 {relativeDate} 天前,即 {date}过期。", + "xpack.synthetics.rules.tls.validAfterExpiringString": "将在 {relativeDate} 天后,即 {date}到期。", + "xpack.synthetics.rules.tls.validBeforeExpiredString": "自 {relativeDate} 天前,即 {date}开始生效。", + "xpack.synthetics.rules.tls.validBeforeExpiringString": "从现在到 {date}的 {relativeDate} 天里无效。", + "xpack.synthetics.server.monitors.invalidScheduleDetails": "提供给监测配置的 {schedule} 分钟计划无效。请使用受支持的监测计划。", + "xpack.synthetics.server.monitors.invalidSchemaError": "监测不是 {type} 类型的有效监测", "xpack.synthetics.server.projectMonitors.invalidPrivateLocationError": "以下专用位置无效:“{location}”。请将其移除或替换为有效的专用位置。", "xpack.synthetics.server.projectMonitors.invalidPublicLocationError": "位置无效:“{location}”。请将其移除或替换为有效位置。", "xpack.synthetics.service.projectMonitors.cannotUpdateMonitorToDifferentTypeDetails": "无法将 {previousType} 类型的监测 {monitorId} 更新为 {currentType} 类型。请先删除监测,然后重试。", + "xpack.synthetics.service.projectMonitors.failedToCreateMonitors": "无法创建监测:{journeyId}", "xpack.synthetics.service.projectMonitors.failedToCreateXMonitors": "无法创建 {length} 监测", + "xpack.synthetics.service.projectMonitors.failedToUpdateJourney": "无法更新过程:{journeyId}", + "xpack.synthetics.service.projectMonitors.failedToUpdateXMonitors": "无法更新 {length} 监测", + "xpack.synthetics.settingsRoute.params.deleteCount": "删除 {count} 个参数", "xpack.synthetics.settingsRoute.retentionCalloutDescription": "要更改数据保留设置,建议创建您自己的索引生命周期策略,并将其附加到 {stackManagement} 中的相关定制组件模板。有关更多信息,{docsLink}。", "xpack.synthetics.settingsRoute.table.retentionPeriodValue": "{value} 天 + 滚动更新", "xpack.synthetics.settingsRoute.title": "设置 | {baseTitle}", @@ -35421,7 +37019,7 @@ "xpack.synthetics.synthetics.testDetails.stepNav": "{stepIndex} / {totalSteps}", "xpack.synthetics.tableTitle.showing": "正在显示第 {count} 个(共 {total} 个){label}", "xpack.synthetics.tagsList.filter": "单击以筛选带 {tag} 标签的列表", - "xpack.synthetics.testRun.runErrorLocation.reason": "无法在位置 {locationName} 运行监测。{reason}", + "xpack.synthetics.testRun.runErrorLocation.reason": "无法在位置 {locationName} 上运行测试。{reason}", "xpack.synthetics.testRunDetailsRoute.title": "测试运行详情 | {baseTitle}", "xpack.synthetics.waterfall.networkRequests.count": "正在显示第 {countShown} 个(共 {total} 个){networkRequestsLabel}", "xpack.synthetics.waterfall.networkRequests.pluralizedCount": "{total, plural, other {网络请求}}", @@ -35430,11 +37028,13 @@ "xpack.synthetics.addEditMonitor.scriptEditor.helpText": "运行内联定义的 Synthetics 测试脚本。", "xpack.synthetics.addEditMonitor.scriptEditor.label": "脚本编辑器", "xpack.synthetics.addEditMonitor.scriptEditor.placeholder": "// 在此处粘贴 Playwright 脚本......", + "xpack.synthetics.alertDropdown.noPermissions": "您的权限不足,无法执行此操作。", "xpack.synthetics.alerting.noConnectorsCallout.button": "立即配置", "xpack.synthetics.alerting.noConnectorsCallout.content": "您具有启用了告警的监测,但未配置默认连接器来发送那些告警。", "xpack.synthetics.alerting.noConnectorsCallout.header": "未发送告警", "xpack.synthetics.alertRule.monitorStatus.description": "管理 Synthetics 监测状态规则操作。", "xpack.synthetics.alertRules.actionGroups.monitorStatus": "Synthetics 监测状态", + "xpack.synthetics.alertRules.actionGroups.tls": "Synthetics TLS 证书", "xpack.synthetics.alertRules.monitorStatus": "Synthetics 监测状态", "xpack.synthetics.alertRules.monitorStatus.actionVariables.context.alertDetailUrl.description": "链接到显示有关此告警的进一步详情和上下文的视图", "xpack.synthetics.alertRules.monitorStatus.actionVariables.context.alertReasonMessage.description": "告警原因的简洁描述", @@ -35457,11 +37057,22 @@ "xpack.synthetics.alertRules.monitorStatus.actionVariables.state.monitorUrl": "监测的 URL。", "xpack.synthetics.alertRules.monitorStatus.actionVariables.state.observerHostname": "从中执行检查的位置的主机名。", "xpack.synthetics.alertRules.monitorStatus.actionVariables.state.status": "监测状态(例如“关闭”)。", + "xpack.synthetics.alertRules.monitorStatus.browser.label": "浏览器", + "xpack.synthetics.alertRules.monitorStatus.host.label": "主机", + "xpack.synthetics.alertRules.monitorStatus.unavailableUrlLabel": "(不可用)", "xpack.synthetics.alerts.durationAnomaly.clientName": "Uptime 持续时间异常", "xpack.synthetics.alerts.durationAnomaly.description": "运行时间监测持续时间异常时告警。", + "xpack.synthetics.alerts.monitorStatus.absoluteLink.label": "- 链接", "xpack.synthetics.alerts.monitorStatus.clientName": "运行时间监测状态", + "xpack.synthetics.alerts.monitorStatus.defaultRecovery.status": "已恢复", + "xpack.synthetics.alerts.monitorStatus.deleteMonitor.reason": "此监测已删除", + "xpack.synthetics.alerts.monitorStatus.deleteMonitor.status": "已删除", "xpack.synthetics.alerts.monitorStatus.description": "监测关闭或超出可用性阈值时告警。", "xpack.synthetics.alerts.monitorStatus.downLabel": "关闭", + "xpack.synthetics.alerts.monitorStatus.relativeLink.label": "- 相对链接", + "xpack.synthetics.alerts.monitorStatus.removedLocation.reason": "此位置已从监测中移除", + "xpack.synthetics.alerts.monitorStatus.removedLocation.status": "已恢复", + "xpack.synthetics.alerts.monitorStatus.upCheck.status": "现已打开", "xpack.synthetics.alerts.searchPlaceholder.kql": "使用 kql 语法筛选", "xpack.synthetics.alerts.settings.addConnector": "添加连接器", "xpack.synthetics.alerts.syntheticsMonitorStatus.clientName": "监测状态", @@ -35548,6 +37159,9 @@ "xpack.synthetics.createPackagePolicy.stepConfigure.requestBodyType.XML": "XML", "xpack.synthetics.createPackagePolicy.stepConfigure.responseBodyIndex.always": "始终", "xpack.synthetics.createPackagePolicy.stepConfigure.responseBodyIndex.onError": "错误时", + "xpack.synthetics.dataRetention.unprivileged.cluster": "设置 `read_ilm`、`monitor` 以查看,设置 `manage_ilm` 以管理 Elasticsearch 集群上的 ILM 策略。", + "xpack.synthetics.dataRetention.unprivileged.index": "在以下 Elasticsearch 索引上设置 `read`、`monitor`:`synthetics-*`", + "xpack.synthetics.dataRetention.unprivileged.unprivilegedTitle": "缺少权限", "xpack.synthetics.dcl.label": "DCL", "xpack.synthetics.detailsPanel.alerts": "告警", "xpack.synthetics.detailsPanel.alerts.active": "活动", @@ -35558,7 +37172,7 @@ "xpack.synthetics.detailsPanel.last24Hours": "过去 24 小时", "xpack.synthetics.detailsPanel.last30Days": "过去 30 天", "xpack.synthetics.detailsPanel.monitorDetails": "监测详情", - "xpack.synthetics.detailsPanel.monitorDetails.enabled": "已启用", + "xpack.synthetics.detailsPanel.monitorDetails.enabled": "已启用(所有位置)", "xpack.synthetics.detailsPanel.monitorDetails.monitorType": "监测类型", "xpack.synthetics.detailsPanel.monitorDuration": "监测持续时间", "xpack.synthetics.detailsPanel.summary": "摘要", @@ -35571,7 +37185,9 @@ "xpack.synthetics.durationTrend.percentile75": "第 75 个", "xpack.synthetics.editMonitor.errorDetailsRoute.title": "错误详细信息", "xpack.synthetics.editMonitor.pageHeader.title": "编辑监测", - "xpack.synthetics.emptyState.enablement.disabledDescription": "当前已禁用 Synthetics 应用。通过 Synthetics 应用,您可以从全球托管测试地点运行轻量级、真正的浏览器监测。要启用 Synthetics 应用,请与管理员联系。", + "xpack.synthetics.emptyState.enablement.contactAdministrator": "仅管理员可以启用此功能。", + "xpack.synthetics.emptyState.enablement.disabledDescription": "基于真实浏览器模拟和轻量级终端 ping 运行自动检查,以从全球任何位置评估您用户的体验。", + "xpack.synthetics.emptyState.enablement.title": "通过 Synthetics 监测服务和应用程序的状态", "xpack.synthetics.emptyStateError.notAuthorized": "您无权查看 Uptime 数据,请联系系统管理员。", "xpack.synthetics.emptyStateError.title": "错误", "xpack.synthetics.errorDetails.errorDuration": "错误持续时间", @@ -35598,6 +37214,7 @@ "xpack.synthetics.fieldLabels.fcp": "首次内容绘制 (FCP)", "xpack.synthetics.fieldLabels.lcp": "最大内容绘制 (LCP)", "xpack.synthetics.fieldLabels.transferSize": "transferSize 属性表示提取的资源的大小。该大小包括响应标头字段加上响应有效负载正文", + "xpack.synthetics.getCerts.failed": "无法获取 TLS 证书。", "xpack.synthetics.gettingStarted.createLocationHeading": "开始使用组合监测", "xpack.synthetics.gettingStarted.createLocationLabel": "创建位置", "xpack.synthetics.gettingStarted.createSingle.description": " 以开始使用 Elastic Synthetics 监测。", @@ -35611,7 +37228,9 @@ "xpack.synthetics.gettingStarted.privateLocationLabel": "专用位置", "xpack.synthetics.historyPanel.durationTrends": "持续时间趋势", "xpack.synthetics.historyPanel.stats": "统计信息", + "xpack.synthetics.inProgress.label": "手动测试运行正在进行中。", "xpack.synthetics.inspectButtonText": "检查", + "xpack.synthetics.invalidLicense.licenseManagementLink": "管理您的许可", "xpack.synthetics.keyValuePairsField.key.ariaLabel": "钥匙", "xpack.synthetics.keyValuePairsField.key.label": "钥匙", "xpack.synthetics.keyValuePairsField.value.ariaLabel": "值", @@ -35620,6 +37239,8 @@ "xpack.synthetics.leftOver.errors.createIssue": "创建问题。", "xpack.synthetics.leftOver.errors.delete": "删除集成", "xpack.synthetics.leftOver.errors.title": "请单击以下按钮删除集成。通常应该不会出现这种情况。既然已删除监测,应该会自动删除集成。如果经常出现这种情况,请上报 ", + "xpack.synthetics.license.invalidLicenseDescription": "Synthetics UI 不可用,因为您当前的许可证已过期或不再有效。", + "xpack.synthetics.license.invalidLicenseTitle": "许可无效", "xpack.synthetics.locations.error.content": "加载测试位置时出错。请稍后重试。", "xpack.synthetics.locations.error.label": "无法加载测试位置", "xpack.synthetics.management.actions": "操作", @@ -35689,8 +37310,10 @@ "xpack.synthetics.monitorConfig.clientKey.label": "客户端密钥", "xpack.synthetics.monitorConfig.clientKeyPassphrase.helpText": "用于 TLS 客户端身份验证的证书密钥密码。", "xpack.synthetics.monitorConfig.clientKeyPassphrase.label": "客户端密钥密码", + "xpack.synthetics.monitorConfig.create.alertTlsEnabled.label": "在此监测上启用 TLS 告警。", "xpack.synthetics.monitorConfig.customTLS.label": "使用定制 TLS 配置", - "xpack.synthetics.monitorConfig.edit.enabled.label": "已禁用监测不会运行测试。", + "xpack.synthetics.monitorConfig.edit.alertTlsEnabled.label": "禁用会在此监测上停止 TLS 告警。", + "xpack.synthetics.monitorConfig.edit.enabled.label": "如果禁用,则此监测不会运行任何测试。您可以随时启用该项。", "xpack.synthetics.monitorConfig.enabled.label": "启用监测", "xpack.synthetics.monitorConfig.enabledAlerting.label": "启用状态告警", "xpack.synthetics.monitorConfig.frequency.helpText": "您要多久运行此测试一次?频率越高,总成本越高。", @@ -35828,6 +37451,7 @@ "xpack.synthetics.monitorConfig.textAssertion.helpText": "呈现指定文本时考虑加载的页面。", "xpack.synthetics.monitorConfig.textAssertion.label": "文本断言", "xpack.synthetics.monitorConfig.throttling.helpText": "模拟网络限制(下载、上传、延迟)。", + "xpack.synthetics.monitorConfig.throttlingDisabled.link": "通知", "xpack.synthetics.monitorConfig.timeout.formatError": "超时无效。", "xpack.synthetics.monitorConfig.timeout.greaterThan0Error": "超时必须大于或等于 0。", "xpack.synthetics.monitorConfig.timeout.helpText": "允许用于测试连接并交换数据的总时间。", @@ -35871,6 +37495,7 @@ "xpack.synthetics.monitorDetails.summary.message": "消息", "xpack.synthetics.monitorDetails.summary.result": "结果", "xpack.synthetics.monitorDetails.summary.screenshot": "屏幕截图", + "xpack.synthetics.monitorDetails.summary.successful": "成功", "xpack.synthetics.monitorDetails.summary.testRuns": "测试运行", "xpack.synthetics.monitorDetails.summary.totalRuns": "总运行次数", "xpack.synthetics.monitorDetails.summary.viewErrorDetails": "查看错误详情", @@ -35881,12 +37506,19 @@ "xpack.synthetics.monitorEditPage.error.label": "无法加载监测配置", "xpack.synthetics.monitorErrorsTab.title": "错误", "xpack.synthetics.monitorHistoryTab.title": "历史记录", + "xpack.synthetics.monitorInspect.closeLabel": "关闭", + "xpack.synthetics.monitorInspect.configLabel": "配置", + "xpack.synthetics.monitorInspect.formattedConfigLabel.description": "查看此监测的格式化配置。", + "xpack.synthetics.monitorInspect.formattedConfigLabel.valid": "只能检查有效表单配置。", + "xpack.synthetics.monitorInspect.hideParams": "隐藏参数值", + "xpack.synthetics.monitorInspect.inspectLabel": "检查配置", + "xpack.synthetics.monitorInspect.sourceCodeLabel": "源代码", "xpack.synthetics.monitorLastRun.lastRunLabel": "上次运行", "xpack.synthetics.monitorList.closeFlyoutText": "关闭", "xpack.synthetics.monitorList.durationChart.durationSeriesName": "持续时间", "xpack.synthetics.monitorList.durationChart.previousPeriodSeriesName": "上一时段", "xpack.synthetics.monitorList.durationHeaderText": "持续时间", - "xpack.synthetics.monitorList.enabledItemText": "已启用", + "xpack.synthetics.monitorList.enabledItemText": "已启用(所有位置)", "xpack.synthetics.monitorList.errorSummary": "错误摘要", "xpack.synthetics.monitorList.goToMonitorLinkText": "前往监测", "xpack.synthetics.monitorList.lastModified": "最后修改时间", @@ -35908,6 +37540,7 @@ "xpack.synthetics.monitorList.testRunLogs": "测试运行日志", "xpack.synthetics.monitorList.timestamp": "时间戳", "xpack.synthetics.monitorList.type": "类型", + "xpack.synthetics.monitorList.unAvailable": "(不可用)", "xpack.synthetics.monitorList.viewInDiscover": "在 Discover 中查看", "xpack.synthetics.monitorLocation.locationContextMenuTitleLabel": "前往位置", "xpack.synthetics.monitorLocation.locationLabel": "位置", @@ -35928,9 +37561,9 @@ "xpack.synthetics.monitorManagement.apiKey.label": "API 密钥", "xpack.synthetics.monitorManagement.apiKeyWarning.label": "此 API 密钥仅显示一次。请保留副本作为您自己的记录。", "xpack.synthetics.monitorManagement.areYouSure": "是否确定要删除此位置?", - "xpack.synthetics.monitorManagement.callout.description.disabled": "监测管理需要有效 API 密钥才能在 Elastic 的全球托管测试位置运行监测。如果之前已启用监测管理,该 API 密钥可能不再有效。", - "xpack.synthetics.monitorManagement.callout.disabled": "监测管理当前处于禁用状态", - "xpack.synthetics.monitorManagement.callout.disabled.adminContact": "管理员访问 Synthetics 应用时,将启用监测管理。", + "xpack.synthetics.monitorManagement.callout.description.disabled": "Synthetics 应用需要有效 API 密钥才能在 Elastic 的全球托管测试位置运行监测。如果之前已启用 Synthetics 应用,该 API 密钥可能不再有效。", + "xpack.synthetics.monitorManagement.callout.disabled": "当前已禁用 Synthetics 应用", + "xpack.synthetics.monitorManagement.callout.disabled.adminContact": "管理员访问 Synthetics 应用时,将启用 Synthetics 应用。", "xpack.synthetics.monitorManagement.cancelLabel": "取消", "xpack.synthetics.monitorManagement.closeButtonLabel": "关闭", "xpack.synthetics.monitorManagement.completed": "已完成", @@ -35947,13 +37580,14 @@ "xpack.synthetics.monitorManagement.disabled.label": "已禁用", "xpack.synthetics.monitorManagement.discardLabel": "取消", "xpack.synthetics.monitorManagement.editMonitorCrumb": "编辑监测", - "xpack.synthetics.monitorManagement.editMonitorError": "加载监测管理时出错", - "xpack.synthetics.monitorManagement.editMonitorError.description": "无法加载监测管理设置。请联系支持人员。", + "xpack.synthetics.monitorManagement.editMonitorError": "加载 Synthetics 应用时出错", + "xpack.synthetics.monitorManagement.editMonitorError.description": "无法加载 Synthetics 应用设置。请联系支持人员。", "xpack.synthetics.monitorManagement.emptyState.enablement.doc": "阅读文档", "xpack.synthetics.monitorManagement.emptyState.enablement.learnMore": "希望了解详情?", "xpack.synthetics.monitorManagement.emptyState.enablement.title": "启用", "xpack.synthetics.monitorManagement.failed": "失败", "xpack.synthetics.monitorManagement.failedRun": "无法运行步骤", + "xpack.synthetics.monitorManagement.failedScheduling": "无法获得手动测试运行的任何结果。", "xpack.synthetics.monitorManagement.filter.frequencyLabel": "频率", "xpack.synthetics.monitorManagement.filter.locationLabel": "位置", "xpack.synthetics.monitorManagement.filter.placeholder": "按名称、URL、主机、标签、项目或位置搜索", @@ -35968,14 +37602,14 @@ "xpack.synthetics.monitorManagement.getProjectApiKey.label": "生成项目 API 密钥", "xpack.synthetics.monitorManagement.getProjectAPIKeyLabel.generate": "生成项目 API 密钥", "xpack.synthetics.monitorManagement.inProgress": "进行中", - "xpack.synthetics.monitorManagement.label": "监测管理", + "xpack.synthetics.monitorManagement.label": "Synthetics 应用", "xpack.synthetics.monitorManagement.learnMore": "有关更多信息,", "xpack.synthetics.monitorManagement.learnMore.label": "了解详情", - "xpack.synthetics.monitorManagement.loading.label": "正在加载监测管理", + "xpack.synthetics.monitorManagement.loading.label": "正在加载 Synthetics 应用", "xpack.synthetics.monitorManagement.loadingSteps": "正在加载步骤......", "xpack.synthetics.monitorManagement.locationName": "位置名称", "xpack.synthetics.monitorManagement.locationsLabel": "位置", - "xpack.synthetics.monitorManagement.manageMonitorLoadingLabel": "正在加载监测管理", + "xpack.synthetics.monitorManagement.manageMonitorLoadingLabel": "正在加载 Synthetics 应用", "xpack.synthetics.monitorManagement.manageMonitorLoadingLabel.callout.learnMore": "了解详情。", "xpack.synthetics.monitorManagement.monitorAddedSuccessMessage": "已成功添加监测。", "xpack.synthetics.monitorManagement.monitorAddedSuccessMessage.subtext": "下次将根据其定义的计划运行。", @@ -35985,12 +37619,12 @@ "xpack.synthetics.monitorManagement.monitorList.disclaimer.title": "删除此监测不会将其从项目源中移除", "xpack.synthetics.monitorManagement.monitors": "监测", "xpack.synthetics.monitorManagement.monitorsTab.title": "管理", - "xpack.synthetics.monitorManagement.monitorSync.failure.content": "同步一个或多个位置的监测时遇到问题:", + "xpack.synthetics.monitorManagement.monitorSync.failure.content": "运行一个或多个位置的监测时遇到问题:", "xpack.synthetics.monitorManagement.monitorSync.failure.dismissLabel": "关闭", "xpack.synthetics.monitorManagement.monitorSync.failure.notAvailable": "不可用", "xpack.synthetics.monitorManagement.monitorSync.failure.reasonLabel": "原因", "xpack.synthetics.monitorManagement.monitorSync.failure.statusLabel": "状态", - "xpack.synthetics.monitorManagement.monitorSync.failure.title": "监测无法与 Synthetics 服务同步", + "xpack.synthetics.monitorManagement.monitorSync.failure.title": "某些监测未正确运行", "xpack.synthetics.monitorManagement.nameRequired": "“位置名称”必填", "xpack.synthetics.monitorManagement.noSyntheticsPermissions": "您的权限不足,无法执行此操作。", "xpack.synthetics.monitorManagement.overviewTab.title": "概览", @@ -36010,13 +37644,14 @@ "xpack.synthetics.monitorManagement.requestAccess": "请求访问权限", "xpack.synthetics.monitorManagement.saveLabel": "保存", "xpack.synthetics.monitorManagement.selectOneOrMoreLocations": "选择一个或多个位置。", + "xpack.synthetics.monitorManagement.selectOneOrMoreLocationsDetails": "选择将执行监测的位置。", "xpack.synthetics.monitorManagement.selectPolicyHost": "选择代理策略", "xpack.synthetics.monitorManagement.selectPolicyHost.helpText": "我们建议每个代理策略使用单一 Elastic 代理。", "xpack.synthetics.monitorManagement.service.error.title": "无法同步监测配置", "xpack.synthetics.monitorManagement.startAddingLocationsDescription": "专用位置供您从自己的场所运行监测。它们需要可以通过 Fleet 进行控制和维护的 Elastic 代理和代理策略。", "xpack.synthetics.monitorManagement.steps": "步长", "xpack.synthetics.monitorManagement.summary.heading": "摘要", - "xpack.synthetics.monitorManagement.syntheticsEnableLabel.management": "启用监测管理", + "xpack.synthetics.monitorManagement.syntheticsEnableLabel.management": "启用 Synthetics 应用", "xpack.synthetics.monitorManagement.testResult": "测试结果", "xpack.synthetics.monitorManagement.testResults": "测试结果", "xpack.synthetics.monitorManagement.testRuns.label": "测试运行", @@ -36024,7 +37659,7 @@ "xpack.synthetics.monitorManagement.urlRequiredLabel": "“URL”必填", "xpack.synthetics.monitorManagement.useEnv.label": "用作环境变量", "xpack.synthetics.monitorManagement.value.required": "“值”必填", - "xpack.synthetics.monitorManagement.viewLocationMonitors": "查看位置监测", + "xpack.synthetics.monitorManagement.viewLocationMonitors": "查看监测", "xpack.synthetics.monitorManagement.viewTestRunDetails": "查看测试结果详情", "xpack.synthetics.monitorManagement.websiteUrlHelpText": "例如,您公司的主页或 https://elastic.co。", "xpack.synthetics.monitorManagement.websiteUrlLabel": "网站 URL", @@ -36039,6 +37674,7 @@ "xpack.synthetics.monitorStatus.failed": "失败", "xpack.synthetics.monitorStatus.failedLabel": "失败", "xpack.synthetics.monitorStatus.pendingLabel": "待处理", + "xpack.synthetics.monitorStatus.recoveredLabel": "已恢复", "xpack.synthetics.monitorStatus.skipped": "已跳过", "xpack.synthetics.monitorStatus.statusLabel": "状态", "xpack.synthetics.monitorStatus.succeededLabel": "成功", @@ -36062,12 +37698,12 @@ "xpack.synthetics.noFindingsStates.unprivileged.unprivilegedTitle": "需要权限", "xpack.synthetics.notFoundBody": "抱歉,找不到您要查找的页面。该页面可能已移除、重命名,或可能从不存在。", "xpack.synthetics.notFoundTitle": "未找到页面", - "xpack.synthetics.overview.actions.disableLabelDisableAlert": "禁用状态告警", + "xpack.synthetics.overview.actions.disableLabelDisableAlert": "禁用状态告警(所有位置)", "xpack.synthetics.overview.actions.disablingLabel": "正在禁用监测", "xpack.synthetics.overview.actions.editMonitor.name": "编辑监测", - "xpack.synthetics.overview.actions.enableLabelDisableAlert": "启用状态告警", - "xpack.synthetics.overview.actions.enableLabelDisableMonitor": "禁用监测", - "xpack.synthetics.overview.actions.enableLabelEnableMonitor": "启用监测", + "xpack.synthetics.overview.actions.enableLabelDisableAlert": "启用状态告警(所有位置)", + "xpack.synthetics.overview.actions.enableLabelDisableMonitor": "禁用监测(所有位置)", + "xpack.synthetics.overview.actions.enableLabelEnableMonitor": "启用监测(所有位置)", "xpack.synthetics.overview.actions.enablingLabel": "正在启用监测", "xpack.synthetics.overview.actions.goToMonitor.name": "前往监测", "xpack.synthetics.overview.actions.menu.title": "操作", @@ -36120,6 +37756,7 @@ "xpack.synthetics.overview.status.headingText": "当前状态", "xpack.synthetics.overview.status.pending.description": "待处理", "xpack.synthetics.overview.status.up.description": "运行", + "xpack.synthetics.overview.SyntheticsHeading": "监测", "xpack.synthetics.overviewPage.overviewCrumb": "概览", "xpack.synthetics.page_header.analyzeData.label": "导航到“浏览数据”视图以可视化 Synthetics/用户数据", "xpack.synthetics.page_header.settingsLink": "设置", @@ -36144,6 +37781,7 @@ "xpack.synthetics.pingList.timestampColumnLabel": "时间戳", "xpack.synthetics.pluginDescription": "Synthetics 监测", "xpack.synthetics.privateLocations.learnMore.label": "了解详情。", + "xpack.synthetics.privateLocations.needFleetPermission.description": "一旦有代理策略可用,您将能够通过常规 Synthetics 应用权限管理专用位置和监测。", "xpack.synthetics.project.readOnly.callout.title": "此配置为只读状态", "xpack.synthetics.projectMonitorApi.validation.invalidConfiguration.title": "Heartbeat 配置无效", "xpack.synthetics.projectMonitorApi.validation.invalidNamespace.title": "命名空间无效", @@ -36153,14 +37791,27 @@ "xpack.synthetics.routes.baseTitle": "Synthetics - Kibana", "xpack.synthetics.routes.createNewMonitor": "前往主页", "xpack.synthetics.routes.goToSynthetics": "前往 Synthetics 主页", + "xpack.synthetics.rules.tls.agingLabel": "已过旧", + "xpack.synthetics.rules.tls.clientName": "Synthetics TLS", + "xpack.synthetics.rules.tls.criteriaExpression.ariaLabel": "显示正由此告警监视的监测条件的表达式", + "xpack.synthetics.rules.tls.description": "Synthetics 监测的 TLS 证书即将到期时告警。", + "xpack.synthetics.rules.tls.expiredLabel": "已过期", + "xpack.synthetics.rules.tls.expiringLabel": "将到期", + "xpack.synthetics.rules.tls.invalidLabel": "无效", "xpack.synthetics.runTest.failure": "无法手动运行测试", "xpack.synthetics.seconds.label": "秒", "xpack.synthetics.seconds.shortForm.label": "秒", "xpack.synthetics.send": "发送", + "xpack.synthetics.server.monitors.invalidConfigurationError": "由于配置无效,无法保存或更新监测。", + "xpack.synthetics.server.monitors.invalidPayloadError": "有效负载不是有效的监测对象", + "xpack.synthetics.server.monitors.invalidScheduleError": "监测计划无效", + "xpack.synthetics.server.monitors.invalidTypeError": "监测类型无效", "xpack.synthetics.server.project.delete.toolarge": "删除请求,有效负载太大。每个请求请最多发送 250 个要删除的监测", "xpack.synthetics.server.projectMonitors.locationEmptyError": "必须至少将一个位置或专用位置添加到此监测。", "xpack.synthetics.service.projectMonitors.cannotUpdateMonitorToDifferentType": "无法将监测更新为不同类型。", "xpack.synthetics.service.projectMonitors.failedToUpdateMonitor": "无法创建或更新监测", + "xpack.synthetics.settings.addParams.fail": "无法添加全局参数。", + "xpack.synthetics.settings.addParams.success": "已成功添加全局参数。", "xpack.synthetics.settings.alertDefaultForm.requiredEmail": "到:选定的电子邮件连接器需要电子邮件", "xpack.synthetics.settings.applyChanges": "应用更改", "xpack.synthetics.settings.blank.error": "不能为空。", @@ -36168,12 +37819,15 @@ "xpack.synthetics.settings.cannotEditText": "您的用户当前对 Uptime 应用有“读取”权限。启用“全部”权限级别以编辑这些设置。", "xpack.synthetics.settings.cannotEditTitle": "您无权编辑设置。", "xpack.synthetics.settings.defaultConnectors": "默认连接器", - "xpack.synthetics.settings.defaultConnectors.description": "选择要用于告警的一个或多个连接器。这些设置将应用于所有基于 Synthetics 的告警。", + "xpack.synthetics.settings.defaultConnectors.description": "选择一个或多个要用于告警的连接器。这些设置适用于所有基于 Synthetics 的告警。", "xpack.synthetics.settings.discardChanges": "放弃更改", - "xpack.synthetics.settings.enableAlerting": "已成功更新监测状态规则类型。后续规则告警将考虑这些更改。", + "xpack.synthetics.settings.editParams.fail": "无法编辑全局参数。", + "xpack.synthetics.settings.editParams.success": "已成功编辑全局参数。", + "xpack.synthetics.settings.enableAlerting": "已成功更新监测状态规则。更改将在下次执行规则时生效。", "xpack.synthetics.settings.enabledAlert.fail": "无法更新监测状态规则类型。", - "xpack.synthetics.settings.enablement.fail": "无法启用监测管理", + "xpack.synthetics.settings.enablement.fail": "无法启用 Synthetics 应用", "xpack.synthetics.settings.error.couldNotSave": "无法保存设置!", + "xpack.synthetics.settings.getParams.failed": "无法获取全局参数。", "xpack.synthetics.settings.invalid.error": "值必须大于 0。", "xpack.synthetics.settings.invalid.nanError": "值必须为整数。", "xpack.synthetics.settings.noSpace.error": "索引名称不得包含空格", @@ -36200,6 +37854,7 @@ "xpack.synthetics.settingsRoute.params.tableCaption": "Synthetics 全局参数", "xpack.synthetics.settingsRoute.params.tags": "标签", "xpack.synthetics.settingsRoute.params.value": "值", + "xpack.synthetics.settingsRoute.policy.manageILM": "您需要“manage_ilm”集群权限才能管理 ILM 策略。", "xpack.synthetics.settingsRoute.privateLocations.deleteLabel": "删除专用位置", "xpack.synthetics.settingsRoute.readDocs": "阅读我们的文档", "xpack.synthetics.settingsRoute.retentionCalloutTitle": "Synthetics 数据由托管索引生命周期策略进行配置", @@ -36217,7 +37872,7 @@ "xpack.synthetics.settingsTabs.privateLocations": "专用位置", "xpack.synthetics.sourceConfiguration.alertConnectors.defaultEmail": "默认电子邮件", "xpack.synthetics.sourceConfiguration.alertDefaultForm.emailConnectorPlaceHolder": "到:电子邮件连接器的电子邮件", - "xpack.synthetics.sourceConfiguration.alertDefaultForm.selectConnector": "请选择一个或多个连接器", + "xpack.synthetics.sourceConfiguration.alertDefaultForm.selectConnector": "选择一个或多个连接器", "xpack.synthetics.sourceConfiguration.defaultConnectors": "默认连接器", "xpack.synthetics.sourceConfiguration.defaultConnectors.description.defaultEmail": "选定电子邮件告警连接器需要电子邮件设置。", "xpack.synthetics.stackManagement": "Stack Management", @@ -36302,9 +37957,10 @@ "xpack.synthetics.testDuration.label": "测试持续时间", "xpack.synthetics.testResults.expandedRow.response_body.notRecorded": "正文未记录。在监测配置的高级选项中将索引响应正文选项设置为“始终打开”以记录正文。", "xpack.synthetics.testRun.description": "请在保存前测试您的监测并验证结果", - "xpack.synthetics.testRun.pushError": "无法推送监测到服务。", + "xpack.synthetics.testRun.pushError": "当前无法执行此测试。请稍后重试。", "xpack.synthetics.testRun.pushing.description": "正在推送监测到服务......", - "xpack.synthetics.testRun.runErrorLabel": "运行测试时出错", + "xpack.synthetics.testRun.runErrorLabel": "现在无法运行该测试", + "xpack.synthetics.testRun.testErrorLabel": "运行测试时出错", "xpack.synthetics.testRunDetailsRoute.page.title": "测试运行详情", "xpack.synthetics.timestamp.label": "@timestamp", "xpack.synthetics.tls": "TLS", @@ -36313,6 +37969,8 @@ "xpack.synthetics.tls.expirationExpression.description": "具有的证书将在以下天数内到期:", "xpack.synthetics.toggleAlertButton.content": "监测状态规则", "xpack.synthetics.toggleAlertFlyout.ariaLabel": "打开添加规则浮出控件", + "xpack.synthetics.toggleAlertFlyout.tls.ariaLabel": "打开添加 TLS 规则浮出控件", + "xpack.synthetics.toggleTlsAlertButton.label.content": "TLS 证书规则", "xpack.synthetics.totalDuration.metrics": "步骤持续时间", "xpack.synthetics.totalDuration.transferSize": "传输大小", "xpack.synthetics.uptimeFeatureCatalogueTitle": "运行时间", @@ -36324,412 +37982,6 @@ "xpack.synthetics.waterfall.networkRequests.filteredOut": "已筛除", "xpack.synthetics.waterfall.networkRequests.heading": "网络请求", "xpack.synthetics.waterfallChart.sidebar.url.https": "https", - "xpack.uptime.alerts.monitorExpression.label": "移除筛选 {title}", - "xpack.uptime.alerts.monitorStatus.actionVariables.down": "在过去 {interval}中失败 {count} 次。大于 {numTimes} 时告警。", - "xpack.uptime.alerts.monitorStatus.actionVariables.downAndAvailabilityMessage": "{downMonitorsMessage} {availabilityBreachMessage}", - "xpack.uptime.alerts.monitorStatus.monitorCallOut.title": "此告警将应用到大约 {snapshotCount} 个监测。", - "xpack.uptime.alerts.monitorStatus.reasonMessage": "来自 {location} 的监测“{name}”为 {status} 已于 {checkedAt} 检查。", - "xpack.uptime.alerts.monitorStatus.timerangeValueField.value": "最后一个 {value}", - "xpack.uptime.alerts.tls.validAfterExpiredString": "已于 {relativeDate} 天前,即 {date}过期。", - "xpack.uptime.alerts.tls.validAfterExpiringString": "将在 {relativeDate} 天后,即 {date}到期。", - "xpack.uptime.alerts.tls.validBeforeExpiredString": "自 {relativeDate} 天前,即 {date}开始生效。", - "xpack.uptime.alerts.tls.validBeforeExpiringString": "从现在到 {date}的 {relativeDate} 天里无效。", - "xpack.uptime.availabilityLabelText": "{value} %", - "xpack.uptime.charts.mlAnnotation.header": "分数:{score}", - "xpack.uptime.charts.mlAnnotation.severity": "严重性:{severity}", - "xpack.uptime.controls.selectSeverity.scoreDetailsDescription": "分数 {value} 及以上", - "xpack.uptime.deprecateNoticeModal.forMoreInformation": "有关更多信息,{docsLink}", - "xpack.uptime.durationChart.emptyPrompt.description": "在选定时间范围内此监测从未{emphasizedText}。", - "xpack.uptime.integration.deprecation.content": "您至少具有一个使用 Elastic Synthetics 集成的已配置监测。从 Elastic 8.8 起,该集成将被弃用,您无法再编辑这些监测。请将它们迁移到项目监测,或将它们添加到在 Observability 中直接可用的全新 Synthetics 应用程序中。有关详情,请参阅我们的{link}。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.manageMLJobDescription": "创建作业后,可以在 {mlJobsPageLink}中管理作业以及查看更多详细信息。", - "xpack.uptime.monitorCharts.durationChart.leftAxis.title": "持续时间({unit})", - "xpack.uptime.monitorCharts.monitorDuration.titleLabelWithAnomaly": "监测持续时间(异常:{noOfAnomalies})", - "xpack.uptime.monitorList.defineConnector.description": "在 {link} 中定义默认连接器以启用监测状态告警。", - "xpack.uptime.monitorList.drawer.missingLocation": "某些 Heartbeat 实例未定义位置。{link}到您的 Heartbeat 配置。", - "xpack.uptime.monitorList.drawer.statusRowLocationList": "上次检查时状态为“{status}”的位置列表。", - "xpack.uptime.monitorList.expandDrawerButton.ariaLabel": "展开 ID 为 {id} 的监测的行", - "xpack.uptime.monitorList.infraIntegrationAction.docker.tooltip": "在 Infrastructure UI 上查找容器 ID“{containerId}”", - "xpack.uptime.monitorList.infraIntegrationAction.ip.tooltip": "在 Infrastructure UI 上查找 IP“{ip}”", - "xpack.uptime.monitorList.infraIntegrationAction.kubernetes.tooltip": "在 Infrastructure UI 上查找 Pod UID“{podUid}”。", - "xpack.uptime.monitorList.loggingIntegrationAction.container.tooltip": "在 Logging UI 上查找容器 ID“{containerId}”", - "xpack.uptime.monitorList.loggingIntegrationAction.ip.tooltip": "在 Logging UI 上查找 IP“{ip}”", - "xpack.uptime.monitorList.loggingIntegrationAction.kubernetes.tooltip": "查找 Pod UID“{podUid}”的日志", - "xpack.uptime.monitorList.monitorType.filter": "筛选 {type} 类型的所有监测", - "xpack.uptime.monitorList.mostRecentError.title": "最近错误 ({timestamp})", - "xpack.uptime.monitorList.noDownHistory": "在选定时间范围内此监测从未{emphasizedText}。", - "xpack.uptime.monitorList.observabilityIntegrationsColumn.apmIntegrationLink.tooltip": "单击此处可在 APM 中查找域“{domain}”或显式定义的“服务名称”。", - "xpack.uptime.monitorList.observabilityIntegrationsColumn.popoverIconButton.ariaLabel": "打开 url {monitorUrl} 的监测的集成弹出式窗口", - "xpack.uptime.monitorList.pageSizePopoverButtonText": "每页行数:{size}", - "xpack.uptime.monitorList.pageSizeSelect.numRowsItemMessage": "{numRows} 行", - "xpack.uptime.monitorList.redirects.title.number": "{number}", - "xpack.uptime.monitorList.statusColumn.checkedTimestamp": "{timestamp}已检查", - "xpack.uptime.monitorList.statusColumn.locStatusMessage": "在 {noLoc} 个位置", - "xpack.uptime.monitorList.statusColumn.locStatusMessage.multiple": "在 {noLoc} 个位置", - "xpack.uptime.monitorList.statusColumn.locStatusMessage.tooltip.down": "在 {locs} 关闭", - "xpack.uptime.monitorList.statusColumn.locStatusMessage.tooltip.up": "在 {locs} 运行", - "xpack.uptime.monitorList.table.description": "具有“状态”、“名称”、“URL”、“IP”、“中断历史记录”和“集成”列的“监测状态”表。该表当前显示 {length} 个项目。", - "xpack.uptime.monitorList.tags.filter": "筛选带 {tag} 标签的所有监测", - "xpack.uptime.monitorRoute.title": "监测 | {baseTitle}", - "xpack.uptime.monitorStatusBar.locations.oneLocStatus": "在 {loc} 位置处于 {status}", - "xpack.uptime.monitorStatusBar.locations.upStatus": "在 {loc} 位置处于 {status}", - "xpack.uptime.overview.alerts.enabled.success.description": "此监测关闭时,将有消息发送到 {actionConnectors}。", - "xpack.uptime.pingist.durationSecondsColumnFormatting": "{seconds} 秒", - "xpack.uptime.pingist.durationSecondsColumnFormatting.singular": "{seconds} 秒", - "xpack.uptime.pingList.durationMsColumnFormatting": "{millis} 毫秒", - "xpack.uptime.pingList.expandedRow.response_body.notRecorded": "正文未记录。阅读我们的{docsLink}以详细了解如何记录响应正文。", - "xpack.uptime.public.pages.mappingError.bodyDocsLink": "您可以在 {docsLink} 中了解如何解决此问题。", - "xpack.uptime.public.pages.mappingError.bodyMessage": "检测到不正确的映射!可能您忘记运行 Heartbeat {setup} 命令?", - "xpack.uptime.snapshot.donutChart.ariaLabel": "显示当前状态的饼图。{down} 个监测已关闭,共 {total} 个。", - "xpack.uptime.snapshotHistogram.description": "显示从 {startTime} 到 {endTime} 的运行时间时移状态的条形图。", - "xpack.uptime.sourceConfiguration.ageThresholdDefaultValue": "默认值为 {defaultValue}", - "xpack.uptime.sourceConfiguration.expirationThresholdDefaultValue": "默认值为 {defaultValue}", - "xpack.uptime.sourceConfiguration.heartbeatIndicesDefaultValue": "默认值为 {defaultValue}", - "xpack.uptime.stepDetailRoute.title": "Synthetics 详细信息 | {baseTitle}", - "xpack.uptime.synthetics.emptyJourney.message.checkGroupField": "该过程的检查组是 {codeBlock}。", - "xpack.uptime.synthetics.executedStep.screenshot.notSucceeded": "{status} 检查的屏幕截图", - "xpack.uptime.synthetics.journey.allFailedMessage": "{total} 个步骤 - 全部失败或跳过", - "xpack.uptime.synthetics.journey.allSucceededMessage": "{total} 个步骤 - 全部成功", - "xpack.uptime.synthetics.journey.partialSuccessMessage": "{total} 个步骤 - {succeeded} 个成功", - "xpack.uptime.synthetics.pingTimestamp.captionContent": "第 {stepNumber} 步,共 {totalSteps} 步", - "xpack.uptime.synthetics.screenshotDisplay.altText": "名称为“{stepName}”的步骤的屏幕截图", - "xpack.uptime.synthetics.step.duration": "{value} 秒", - "xpack.uptime.synthetics.waterfall.offsetUnit": "{offset} 毫秒", - "xpack.uptime.synthetics.waterfall.requestsHighlightedMessage": "({numHighlightedRequests}匹配筛选)", - "xpack.uptime.synthetics.waterfall.requestsTotalMessage": "{numNetworkRequests} 个网络请求", - "xpack.uptime.synthetics.waterfall.requestsTotalMessage.first": "前 {count} 个", - "xpack.uptime.addDataButtonLabel": "添加数据", - "xpack.uptime.alertDropdown.noWritePermissions": "您需要 Uptime 的读写访问权限才能在此应用中创建告警。", - "xpack.uptime.alerts.anomaly.criteriaExpression.ariaLabel": "显示选定监测的条件的表达式。", - "xpack.uptime.alerts.anomaly.criteriaExpression.description": "当监测", - "xpack.uptime.alerts.anomaly.scoreExpression.ariaLabel": "显示异常告警阈值的条件的表达式。", - "xpack.uptime.alerts.anomaly.scoreExpression.description": "具有异常,严重性为", - "xpack.uptime.alerts.createRulesPanel.title": "创建规则", - "xpack.uptime.alerts.durationAnomaly": "Uptime 持续时间异常", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.anomalyStartTimestamp": "异常开始的 ISO8601 时间戳。", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.expectedResponseTime": "预期响应时间", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.monitor": "名称或 ID 的友好呈现,建议类似于 My Monitor 的名称", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.monitorId": "监测的 ID。", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.monitorUrl": "监测的 URL。", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.observerLocation": "执行 Heartbeat 检查的观察者位置。", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.severity": "异常的严重性。", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.severityScore": "异常严重性分数", - "xpack.uptime.alerts.durationAnomaly.actionVariables.state.slowestAnomalyResponse": "在附加单位(ms、s)的异常存储桶期间最慢的响应时间。", - "xpack.uptime.alerts.monitorStatus": "运行时间监测状态", - "xpack.uptime.alerts.monitorStatus.actionVariables.context.alertDetailUrl.description": "Elastic 内视图的链接,显示与此告警相关的进一步详细信息和上下文", - "xpack.uptime.alerts.monitorStatus.actionVariables.context.alertReasonMessage.description": "告警原因的简洁描述", - "xpack.uptime.alerts.monitorStatus.actionVariables.context.message.description": "生成的消息,汇总当前关闭的监测", - "xpack.uptime.alerts.monitorStatus.actionVariables.context.viewInAppUrl.description": "Elastic 中可用于进一步调查告警及其上下文的视图或功能的链接", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.checkedAt": "监测检查的时间戳。", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.currentTriggerStarted": "表示告警触发时当前触发状况开始的时间戳", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.firstCheckedAt": "表示此告警首次检查的时间戳", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.firstTriggeredAt": "表示告警首次触发的时间戳", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.isTriggered": "表示告警当前是否触发的标志", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.lastCheckedAt": "表示告警最近检查时间的时间戳", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.lastErrorMessage": "监测最新错误消息", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.lastResolvedAt": "表示此告警最近解决时间的时间戳", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.lastTriggeredAt": "表示告警最近触发时间的时间戳", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.monitor": "名称或 ID 的友好呈现,建议类似于 My Monitor 的名称", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.monitorId": "监测的 ID。", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.monitorType": "监测的类型(例如 HTTP/TCP)。", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.monitorUrl": "监测的 URL。", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.observerHostname": "执行 Heartbeat 检查的观察者主机名。", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.observerLocation": "执行 Heartbeat 检查的观察者位置。", - "xpack.uptime.alerts.monitorStatus.actionVariables.state.statusMessage": "状态消息,例如关闭和/或低于可用性阈值(如果执行可用性检查)。", - "xpack.uptime.alerts.monitorStatus.addFilter": "添加筛选", - "xpack.uptime.alerts.monitorStatus.addFilter.location": "位置", - "xpack.uptime.alerts.monitorStatus.addFilter.port": "端口", - "xpack.uptime.alerts.monitorStatus.addFilter.tag": "标签", - "xpack.uptime.alerts.monitorStatus.addFilter.type": "类型", - "xpack.uptime.alerts.monitorStatus.availability.isEnabledCheckbox.label": "可用性", - "xpack.uptime.alerts.monitorStatus.availability.threshold.anyMonitorDescription": "任何监测启动于", - "xpack.uptime.alerts.monitorStatus.availability.threshold.ariaLabel": "指定此告警的可用性阈值", - "xpack.uptime.alerts.monitorStatus.availability.threshold.description": "匹配的监测运行于", - "xpack.uptime.alerts.monitorStatus.availability.threshold.input.ariaLabel": "输入用于检查此告警的可用性阈值", - "xpack.uptime.alerts.monitorStatus.availability.timerangeValueField.ariaLabel": "输入告警可用性检查的单位数。", - "xpack.uptime.alerts.monitorStatus.availability.timerangeValueField.expression": "(之内)过去", - "xpack.uptime.alerts.monitorStatus.availability.timerangeValueField.popover.ariaLabel": "指定跟踪时间范围的可用性", - "xpack.uptime.alerts.monitorStatus.availability.unit.headline": "选择时间范围单位", - "xpack.uptime.alerts.monitorStatus.availability.unit.selectable": "使用此选择来设置此告警的可用性范围单位", - "xpack.uptime.alerts.monitorStatus.filterBar.ariaLabel": "允许对监测状态告警使用筛选条件的输入", - "xpack.uptime.alerts.monitorStatus.filters.anyLocation": "任意位置", - "xpack.uptime.alerts.monitorStatus.filters.anyPort": "任意端口", - "xpack.uptime.alerts.monitorStatus.filters.anyTag": "任意标签", - "xpack.uptime.alerts.monitorStatus.filters.anyType": "任意类型", - "xpack.uptime.alerts.monitorStatus.filters.from": "自", - "xpack.uptime.alerts.monitorStatus.filters.fromLocation": "来源位置", - "xpack.uptime.alerts.monitorStatus.filters.location.label": "选择要应用到告警查询的位置筛选。", - "xpack.uptime.alerts.monitorStatus.filters.of": "的", - "xpack.uptime.alerts.monitorStatus.filters.ofType": "类型", - "xpack.uptime.alerts.monitorStatus.filters.port.label": "选择要应用到告警查询的端口筛选。", - "xpack.uptime.alerts.monitorStatus.filters.scheme.label": "选择要应用到告警查询的协议方案筛选。", - "xpack.uptime.alerts.monitorStatus.filters.tag.label": "选择要应用到告警查询的标签筛选。", - "xpack.uptime.alerts.monitorStatus.filters.using": "使用", - "xpack.uptime.alerts.monitorStatus.filters.usingPort": "使用端口", - "xpack.uptime.alerts.monitorStatus.filters.with": "使用", - "xpack.uptime.alerts.monitorStatus.filters.withTag": "具有标签", - "xpack.uptime.alerts.monitorStatus.numTimesExpression.anyMonitors.description": "任何监测已关闭 >=", - "xpack.uptime.alerts.monitorStatus.numTimesExpression.ariaLabel": "打开弹出框以输入已关闭计数", - "xpack.uptime.alerts.monitorStatus.numTimesExpression.matchingMonitors.description": "匹配的监测已关闭 >=", - "xpack.uptime.alerts.monitorStatus.numTimesField.ariaLabel": "输入触发告警的已关闭计数", - "xpack.uptime.alerts.monitorStatus.oldAlertCallout.title": "您可能正在编辑较旧的告警,某些字段可能不自动填充。", - "xpack.uptime.alerts.monitorStatus.statusEnabledCheck.label": "状态检查", - "xpack.uptime.alerts.monitorStatus.timerangeOption.days": "天", - "xpack.uptime.alerts.monitorStatus.timerangeOption.hours": "小时", - "xpack.uptime.alerts.monitorStatus.timerangeOption.minutes": "分钟", - "xpack.uptime.alerts.monitorStatus.timerangeOption.months": "个月", - "xpack.uptime.alerts.monitorStatus.timerangeOption.seconds": "秒", - "xpack.uptime.alerts.monitorStatus.timerangeOption.weeks": "周", - "xpack.uptime.alerts.monitorStatus.timerangeOption.years": "年", - "xpack.uptime.alerts.monitorStatus.timerangeSelectionHeader": "选择时间范围单位", - "xpack.uptime.alerts.monitorStatus.timerangeUnitExpression.ariaLabel": "打开时间范围单位选择字段的弹出框", - "xpack.uptime.alerts.monitorStatus.timerangeUnitSelectable": "告警应使用的时间范围单位的可选择字段", - "xpack.uptime.alerts.monitorStatus.timerangeValueExpression.ariaLabel": "打开时间范围值字段的弹出框", - "xpack.uptime.alerts.monitorStatus.timerangeValueField.ariaLabel": "输入告警范围的时间单位数目", - "xpack.uptime.alerts.monitorStatus.timerangeValueField.expression": "之内", - "xpack.uptime.alerts.timerangeUnitSelectable.daysOption.ariaLabel": "“天”时间范围选择项", - "xpack.uptime.alerts.timerangeUnitSelectable.hoursOption.ariaLabel": "“小时”时间范围选择项", - "xpack.uptime.alerts.timerangeUnitSelectable.minutesOption.ariaLabel": "“分钟”时间范围选择项", - "xpack.uptime.alerts.timerangeUnitSelectable.monthsOption.ariaLabel": "“月”时间范围选择项", - "xpack.uptime.alerts.timerangeUnitSelectable.secondsOption.ariaLabel": "“秒”时间范围选择项", - "xpack.uptime.alerts.timerangeUnitSelectable.weeksOption.ariaLabel": "“周”时间范围选择项", - "xpack.uptime.alerts.timerangeUnitSelectable.yearsOption.ariaLabel": "“年”时间范围选择项", - "xpack.uptime.alerts.tls": "Uptime TLS", - "xpack.uptime.alerts.tls.actionVariables.state.agingCommonNameAndDate": "检测到的证书的常见名称和到期日期/时间。", - "xpack.uptime.alerts.tls.actionVariables.state.agingCount": "检测到即将过时的证书数目。", - "xpack.uptime.alerts.tls.actionVariables.state.count": "告警执行工具检测到的证书数目", - "xpack.uptime.alerts.tls.actionVariables.state.expiringCommonNameAndDate": "检测到的证书的常见名称和到期日期/时间", - "xpack.uptime.alerts.tls.actionVariables.state.expiringCount": "告警检测到的即将到期证书数目。", - "xpack.uptime.alerts.tls.agingLabel": "已过旧", - "xpack.uptime.alerts.tls.criteriaExpression.ariaLabel": "显示此告警监视的监测条件的表达式", - "xpack.uptime.alerts.tls.expiredLabel": "已过期", - "xpack.uptime.alerts.tls.expiringLabel": "将到期", - "xpack.uptime.alerts.tls.invalidLabel": "无效", - "xpack.uptime.alerts.tlsLegacy": "Uptime TLS(旧版)", - "xpack.uptime.alertsPopover.toggleButton.ariaLabel": "打开告警和规则上下文菜单", - "xpack.uptime.apmIntegrationAction.description": "在 APM 中搜索此监测", - "xpack.uptime.apmIntegrationAction.text": "显示 APM 数据", - "xpack.uptime.breadcrumbs.legacyOverviewBreadcrumbText": "运行时间", - "xpack.uptime.controls.selectSeverity.criticalLabel": "紧急", - "xpack.uptime.controls.selectSeverity.majorLabel": "重大", - "xpack.uptime.controls.selectSeverity.minorLabel": "轻微", - "xpack.uptime.controls.selectSeverity.warningLabel": "警告", - "xpack.uptime.deprecateNoticeModal.addPrivateLocations": "根据您的 Fleet 策略添加专用位置", - "xpack.uptime.deprecateNoticeModal.automateMonitors": "使用项目监测自动创建监测", - "xpack.uptime.deprecateNoticeModal.description": "此 Elastic Synthetics 集成已过时。相反,您现在可以直接在 Synthetics 应用中更高效地监测终端、页面和用户旅程:", - "xpack.uptime.deprecateNoticeModal.elasticManagedLocations": "在由 Elastic 管理的多个位置或从您自己的专用位置运行监测", - "xpack.uptime.deprecateNoticeModal.goBack": "返回", - "xpack.uptime.deprecateNoticeModal.goToSynthetics": "前往 Synthetics", - "xpack.uptime.deprecateNoticeModal.headerText": "在 Synthetics 中,现在开箱即可使用组合监测", - "xpack.uptime.deprecateNoticeModal.manageMonitors": "从单一位置管理轻量级和浏览器监测", - "xpack.uptime.deprecateNoticeModal.readDocs": "阅读文档。", - "xpack.uptime.durationChart.emptyPrompt.title": "没有持续时间数据", - "xpack.uptime.editPackagePolicy.inSynthetics": "在 Synthetics 中编辑", - "xpack.uptime.editPackagePolicy.inSyntheticsDesc": "此软件包策略由 Synthetics 应用托管。", - "xpack.uptime.emptyState.loadingMessage": "正在加载……", - "xpack.uptime.emptyStateError.notFoundPage": "未找到页面", - "xpack.uptime.enableAlert.editAlert": "编辑告警", - "xpack.uptime.filterBar.ariaLabel": "概览页面的输入筛选条件", - "xpack.uptime.filterBar.filterAllLabel": "全部", - "xpack.uptime.filterBar.options.location.name": "位置", - "xpack.uptime.filterBar.options.portLabel": "端口", - "xpack.uptime.filterBar.options.schemeLabel": "方案", - "xpack.uptime.filterBar.options.tagsLabel": "标签", - "xpack.uptime.fleetIntegration.assets.description": "在 Synthetics 中查看监测", - "xpack.uptime.fleetIntegration.assets.name": "监测", - "xpack.uptime.integration.deprecation.dismiss": "关闭", - "xpack.uptime.integration.deprecation.link": "Synthetics 迁移文档", - "xpack.uptime.integration.deprecation.title": "迁移 Elastic Synthetics 集成监测", - "xpack.uptime.integrationLink.missingDataMessage": "未找到此集成的所需数据。", - "xpack.uptime.kueryBar.searchPlaceholder.kql": "使用 kql 语法搜索监测 ID、名称和类型等(例如 monitor.type: \"http\" AND tags: \"dev\")", - "xpack.uptime.kueryBar.searchPlaceholder.simpleText": "按监测 ID、名称、URL、端口或标签搜索", - "xpack.uptime.locationName.helpLinkAnnotation": "添加位置", - "xpack.uptime.mappingErrorRoute.breadcrumb": "映射错误", - "xpack.uptime.mappingErrorRoute.pageHeader.title": "映射错误", - "xpack.uptime.mappingErrorRoute.title": "Synthetics | 映射错误", - "xpack.uptime.ml.durationChart.exploreInMlApp": "在 ML 应用中浏览", - "xpack.uptime.ml.enableAnomalyDetectionPanel.add_job_permissions_needed": "需要权限", - "xpack.uptime.ml.enableAnomalyDetectionPanel.anomalyDetectionTitle": "异常检测", - "xpack.uptime.ml.enableAnomalyDetectionPanel.cancelLabel": "取消", - "xpack.uptime.ml.enableAnomalyDetectionPanel.createMLJobDescription": "在此处可以创建 Machine Learning 作业,以便为运行时间监测计算\n 响应持续时间的异常分数。启用后,详情页面上的监测持续时间图表\n 将显示预期边界并使用异常标注图表。您还可能\n 识别在所有地理区域的延迟增长时段。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.createNewJobButtonLabel": "创建新作业", - "xpack.uptime.ml.enableAnomalyDetectionPanel.disableAnomalyAlert": "禁用异常告警", - "xpack.uptime.ml.enableAnomalyDetectionPanel.disableAnomalyDetectionTitle": "禁用异常检测", - "xpack.uptime.ml.enableAnomalyDetectionPanel.enable_or_manage_job": "您可以启用异常检测作业,或者如果此处已有作业,则可以管理该作业或告警。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.enableAnomalyAlert": "启用异常告警", - "xpack.uptime.ml.enableAnomalyDetectionPanel.enableAnomalyDetectionTitle": "启用异常检测", - "xpack.uptime.ml.enableAnomalyDetectionPanel.insufficient_permissions_add_job": "您必须具有 Machine Learning 的 Kibana 权限才能使用此功能。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreatedLazyNotificationText": "分析正等待 ML 节点变为可用。可能要花费点时间,才会将结果添加到响应时间图表。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreatedNotificationText": "现在正在运行响应持续时间图表的分析。可能要花费点时间,才会将结果添加到响应时间图表。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreatedNotificationText.viewJobLinkText": "查看作业", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreatedNotificationTitle": "作业已成功创建", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreationFailedNotificationText": "您当前的许可证可能不允许创建 Machine Learning 作业,或者此作业可能已存在。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobCreationFailedNotificationTitle": "作业创建失败", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobDeletionConfirmLabel": "删除异常检测作业?", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobDeletionNotificationTitle": "作业已删除", - "xpack.uptime.ml.enableAnomalyDetectionPanel.jobDeletionSuccessNotificationText": "作业已成功删除", - "xpack.uptime.ml.enableAnomalyDetectionPanel.manageAnomalyDetectionTitle": "管理异常检测", - "xpack.uptime.ml.enableAnomalyDetectionPanel.manageMLJobDescription.mlJobsPageLinkText": "Machine Learning 作业管理页面", - "xpack.uptime.ml.enableAnomalyDetectionPanel.manageMLJobDescription.noteText": "注意:可能要过几分钟后,作业才会开始计算结果。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.noPermissionsTooltip": "您需要 Uptime 的读写访问权限才能创建异常告警。", - "xpack.uptime.ml.enableAnomalyDetectionPanel.startTrial": "开始为期 14 天的免费试用", - "xpack.uptime.ml.enableAnomalyDetectionPanel.startTrialDesc": "要访问持续时间异常检测,必须订阅 Elastic 白金级许可证。", - "xpack.uptime.monitorCharts.durationChart.wrapper.label": "显示监测的 ping 持续时间(按位置分组)的图表。", - "xpack.uptime.monitorCharts.monitorDuration.titleLabel": "监测持续时间", - "xpack.uptime.monitorDetails.ml.confirmAlertDeleteMessage": "确定要删除异常告警?", - "xpack.uptime.monitorDetails.ml.confirmDeleteMessage": "是否确定要删除此作业?", - "xpack.uptime.monitorDetails.ml.deleteJobWarning": "删除作业可能会非常耗时。删除将在后台进行,数据可能不会马上消失。", - "xpack.uptime.monitorDetails.ml.deleteMessage": "正在删除作业......", - "xpack.uptime.monitorDetails.statusBar.pingType.browser": "浏览器", - "xpack.uptime.monitorDetails.statusBar.pingType.http": "HTTP", - "xpack.uptime.monitorDetails.statusBar.pingType.icmp": "ICMP", - "xpack.uptime.monitorDetails.statusBar.pingType.tcp": "TCP", - "xpack.uptime.monitorDetails.title.disclaimer.description": "(公测版)", - "xpack.uptime.monitorDetails.title.disclaimer.link": "查看更多内容", - "xpack.uptime.monitorDetails.title.pingType.browser": "浏览器", - "xpack.uptime.monitorDetails.title.pingType.http": "HTTP ping", - "xpack.uptime.monitorDetails.title.pingType.icmp": "ICMP ping", - "xpack.uptime.monitorDetails.title.pingType.tcp": "TCP ping", - "xpack.uptime.monitorList.defineConnector.popover.description": "以接收状态告警。", - "xpack.uptime.monitorList.disableDownAlert": "禁用状态告警", - "xpack.uptime.monitorList.downLineSeries.downLabel": "关闭检查", - "xpack.uptime.monitorList.drawer.mostRecentRun": "最新测试运行", - "xpack.uptime.monitorList.drawer.url": "URL", - "xpack.uptime.monitorList.enabledAlerts.noAlert": "没有为此监测启用规则。", - "xpack.uptime.monitorList.enabledAlerts.title": "已启用规则", - "xpack.uptime.monitorList.enableDownAlert": "启用状态告警", - "xpack.uptime.monitorList.geoName.helpLinkAnnotation": "添加位置", - "xpack.uptime.monitorList.infraIntegrationAction.container.message": "显示容器指标", - "xpack.uptime.monitorList.infraIntegrationAction.docker.description": "在 Infrastructure UI 上查找此监测的容器 ID", - "xpack.uptime.monitorList.infraIntegrationAction.ip.ariaLabel": "在 Infrastructure UI 上查找此监测的 IP 地址", - "xpack.uptime.monitorList.infraIntegrationAction.ip.message": "显示主机指标", - "xpack.uptime.monitorList.infraIntegrationAction.kubernetes.description": "在 Infrastructure UI 上查找此监测的 Pod UID", - "xpack.uptime.monitorList.infraIntegrationAction.kubernetes.message": "显示 Pod 指标", - "xpack.uptime.monitorList.integrationGroup.emptyMessage": "没有可用的集成应用程序", - "xpack.uptime.monitorList.loading": "正在加载……", - "xpack.uptime.monitorList.locations.expand": "单击以查看剩余位置", - "xpack.uptime.monitorList.loggingIntegrationAction.container.id": "显示容器日志", - "xpack.uptime.monitorList.loggingIntegrationAction.container.message": "显示容器日志", - "xpack.uptime.monitorList.loggingIntegrationAction.ip.description": "在 Logging UI 中查找此监测的 IP 地址", - "xpack.uptime.monitorList.loggingIntegrationAction.ip.message": "显示主机日志", - "xpack.uptime.monitorList.loggingIntegrationAction.kubernetes.ariaLabel": "显示 Pod 日志", - "xpack.uptime.monitorList.loggingIntegrationAction.kubernetes.message": "显示 Pod 日志", - "xpack.uptime.monitorList.monitorHistoryColumnLabel": "中断历史记录", - "xpack.uptime.monitorList.monitoringStatusTitle": "监测", - "xpack.uptime.monitorList.nameColumnLabel": "名称", - "xpack.uptime.monitorList.noItemForSelectedFiltersMessage": "未找到匹配选定筛选条件的监测", - "xpack.uptime.monitorList.noItemMessage": "未找到任何运行时间监测", - "xpack.uptime.monitorList.noMessage.troubleshoot": "尝试使用绝对日期范围。如果监测在之后显示,可能表示安装 Heartbeat 或 Kibana 的位置出现系统时钟问题。", - "xpack.uptime.monitorList.observabilityInvestigateColumn.popoverIconButton.label": "调查", - "xpack.uptime.monitorList.statusAlert.label": "状态告警", - "xpack.uptime.monitorList.statusColumnLabel": "状态", - "xpack.uptime.monitorList.tags.expand": "单击以查看剩余标签", - "xpack.uptime.monitorList.tlsColumnLabel": "TLS 证书", - "xpack.uptime.monitorList.troubleshoot.systemClockOutOfSync": "系统时钟可能不同步", - "xpack.uptime.monitorList.troubleshoot.tryDateRange": "应用绝对日期范围", - "xpack.uptime.monitorList.troubleshoot.whereAreMyMonitors": "我的监测在什么位置?", - "xpack.uptime.monitorStatusBar.durationTextAriaLabel": "监测持续时间(毫秒)", - "xpack.uptime.monitorStatusBar.healthStatusMessageAriaLabel": "监测状态", - "xpack.uptime.monitorStatusBar.loadingMessage": "正在加载……", - "xpack.uptime.monitorStatusBar.monitor.availability": "总体可用性", - "xpack.uptime.monitorStatusBar.monitor.availabilityReport.availability": "可用性", - "xpack.uptime.monitorStatusBar.monitor.availabilityReport.location": "位置", - "xpack.uptime.monitorStatusBar.monitor.id": "监测 ID", - "xpack.uptime.monitorStatusBar.monitor.monitoringFrom": "正监测自", - "xpack.uptime.monitorStatusBar.monitor.monitoringFrom.listToMap": "更改到地图视图以按位置检查可用性。", - "xpack.uptime.monitorStatusBar.monitor.monitoringFrom.MapToList": "更改到列表视图以按位置检查可用性。", - "xpack.uptime.monitorStatusBar.monitorUrlLinkAriaLabel": "监测 URL 链接", - "xpack.uptime.monitorStatusBar.sslCertificate.title": "TLS 证书", - "xpack.uptime.monitorStatusBar.timestampFromNowTextAriaLabel": "自上次检查以来经过的时间", - "xpack.uptime.monitorStatusBar.type.ariaLabel": "监测类型", - "xpack.uptime.monitorStatusBar.type.label": "类型", - "xpack.uptime.navigateToAlertingButton.content": "管理规则", - "xpack.uptime.navigateToAlertingUi": "离开 Uptime 并前往“Alerting 管理”页面", - "xpack.uptime.noDataConfig.beatsCard.description": "主动监测站点和服务的可用性。接收告警并更快地解决问题,从而优化用户体验。", - "xpack.uptime.noDataConfig.beatsCard.title": "通过 Heartbeat 添加监测", - "xpack.uptime.noDataConfig.solutionName": "Observability", - "xpack.uptime.notFountPage.homeLinkText": "返回主页", - "xpack.uptime.openAlertContextPanel.label": "创建规则", - "xpack.uptime.overview.alerts.disabled.failed": "无法禁用规则!", - "xpack.uptime.overview.alerts.disabled.success": "已成功禁用规则!", - "xpack.uptime.overview.alerts.enabled.failed": "无法启用规则!", - "xpack.uptime.overview.alerts.enabled.success": "已成功启用规则 ", - "xpack.uptime.overview.uptimeHeading": "运行时间监测", - "xpack.uptime.overviewPageLink.disabled.ariaLabel": "禁用的分页按钮表示在监测列表中无法进行进一步导航。", - "xpack.uptime.overviewPageLink.next.ariaLabel": "下页结果", - "xpack.uptime.overviewPageLink.prev.ariaLabel": "上页结果", - "xpack.uptime.page_header.addDataLink.label": "导航到有关如何添加 Uptime 数据的教程", - "xpack.uptime.page_header.defineConnector.popover.defaultLink": "定义默认连接器", - "xpack.uptime.page_header.defineConnector.settingsLink": "设置", - "xpack.uptime.page_header.manageLink.not": "监测管理在 Uptime 中不再可用,请改用 Synthetics 应用。", - "xpack.uptime.page_header.manageMonitors": "监测管理", - "xpack.uptime.pingList.checkHistoryTitle": "历史记录", - "xpack.uptime.pingList.columns.failedStep": "失败的步骤", - "xpack.uptime.pingList.drawer.body.docsLink": "文档", - "xpack.uptime.pingList.stepDurationHeader": "步骤持续时间", - "xpack.uptime.pingList.synthetics.performanceBreakDown": "查看性能细目", - "xpack.uptime.pingList.synthetics.waterfall.filters.popover": "单击以打开瀑布筛选", - "xpack.uptime.public.pages.mappingError.title": "Heartbeat 映射缺失", - "xpack.uptime.routes.legacyBaseTitle": "Uptime - Kibana", - "xpack.uptime.settings.heading": "Uptime 设置", - "xpack.uptime.snapshot.monitor": "监测", - "xpack.uptime.snapshot.monitors": "监测", - "xpack.uptime.snapshot.noDataDescription": "选定的时间范围中没有 ping。", - "xpack.uptime.snapshot.noDataTitle": "没有可用的 ping 数据", - "xpack.uptime.snapshot.pingsOverTimeTitle": "时移 Ping 数", - "xpack.uptime.snapshotHistogram.series.pings": "监测 Ping", - "xpack.uptime.snapshotHistogram.xAxisId": "Ping X 轴", - "xpack.uptime.snapshotHistogram.yAxis.title": "Ping", - "xpack.uptime.snapshotHistogram.yAxisId": "Ping Y 轴", - "xpack.uptime.sourceConfiguration.ageLimit.units.days": "天", - "xpack.uptime.sourceConfiguration.ageLimitThresholdInput.ariaLabel": "该输入控制 Kibana 显示警告之前 TLS 证书有效的最大天数。", - "xpack.uptime.sourceConfiguration.alertConnectors": "告警连接器", - "xpack.uptime.sourceConfiguration.alertDefaultForm.requiredEmail": "电子邮件连接器需要目标电子邮件", - "xpack.uptime.sourceConfiguration.alertDefaults": "告警默认值", - "xpack.uptime.sourceConfiguration.applySettingsButtonLabel": "应用更改", - "xpack.uptime.sourceConfiguration.certificateExpirationThresholdInput.ariaLabel": "该输入控制 Kibana 显示警告之前离 TLS 证书到期剩余的最小天数。", - "xpack.uptime.sourceConfiguration.certificateThresholdDescription": "更改显示并告警证书错误的阈值。注意:这会影响任何配置的告警。", - "xpack.uptime.sourceConfiguration.certificationSectionTitle": "证书到期", - "xpack.uptime.sourceConfiguration.defaultConnectors.description": "要用于发送告警的默认连接器。", - "xpack.uptime.sourceConfiguration.discardSettingsButtonLabel": "取消", - "xpack.uptime.sourceConfiguration.errorStateLabel": "到期阈值", - "xpack.uptime.sourceConfiguration.expirationThreshold": "到期/使用时间阈值", - "xpack.uptime.sourceConfiguration.heartbeatIndicesDescription": "用于匹配包含 Heartbeat 数据的索引的索引模式", - "xpack.uptime.sourceConfiguration.heartbeatIndicesLabel": "Heartbeat 索引", - "xpack.uptime.sourceConfiguration.heartbeatIndicesTitle": "Uptime 索引", - "xpack.uptime.sourceConfiguration.indicesSectionTitle": "索引", - "xpack.uptime.sourceConfiguration.warningStateLabel": "使用时间限制", - "xpack.uptime.stepList.collapseRow": "折叠", - "xpack.uptime.stepList.expandRow": "展开", - "xpack.uptime.stepList.stepName": "步骤名称", - "xpack.uptime.synthetics.consoleStepList.message": "此过程无法运行,记录的控制台输出如下所示:", - "xpack.uptime.synthetics.consoleStepList.title": "未执行步骤", - "xpack.uptime.synthetics.emptyJourney.message.footer": "没有更多可显示的信息。", - "xpack.uptime.synthetics.emptyJourney.message.heading": "此过程不包含任何步骤。", - "xpack.uptime.synthetics.emptyJourney.title": "没有此过程的任何步骤", - "xpack.uptime.synthetics.executedStep.consoleOutput.label": "控制台输出", - "xpack.uptime.synthetics.executedStep.errorHeading": "错误消息", - "xpack.uptime.synthetics.executedStep.screenshot.not": "屏幕截图", - "xpack.uptime.synthetics.executedStep.scriptHeading.label": "在此步骤执行的脚本", - "xpack.uptime.synthetics.executedStep.stackTrace": "堆栈跟踪", - "xpack.uptime.synthetics.imageLoadingSpinner.ariaLabel": "表示图像正在加载的动画旋转图标", - "xpack.uptime.synthetics.journey.loadingSteps": "正在加载步骤......", - "xpack.uptime.synthetics.nextStepButton.ariaLabel": "下一步", - "xpack.uptime.synthetics.performanceBreakDown.label": "性能细目", - "xpack.uptime.synthetics.prevStepButton.airaLabel": "上一步", - "xpack.uptime.synthetics.screenshot.loadingImageMessage": "正在加载", - "xpack.uptime.synthetics.screenshot.noImageMessage": "没有可用图像", - "xpack.uptime.synthetics.screenshotDisplay.altTextWithoutName": "屏幕截图", - "xpack.uptime.synthetics.statusBadge.failedMessage": "失败", - "xpack.uptime.synthetics.statusBadge.skippedMessage": "已跳过", - "xpack.uptime.synthetics.statusBadge.succeededMessage": "成功", - "xpack.uptime.synthetics.step.durationTrend": "步骤持续时间趋势", - "xpack.uptime.synthetics.stepDetail.noData": "找不到此步骤的数据", - "xpack.uptime.synthetics.stepList.nextCheck": "下一检查", - "xpack.uptime.synthetics.stepList.previousCheck": "上一检查", - "xpack.uptime.synthetics.thumbnail.fullSize.alt": "此过程步骤的缩略图屏幕截图较大版本。", - "xpack.uptime.title": "运行时间", - "xpack.uptime.toggleTlsAlertButton.ariaLabel": "打开 TLS 规则浮出控件", - "xpack.uptime.toggleTlsAlertButton.content": "TLS 规则", "xpack.threatIntelligence.common.emptyPage.body3": "要开始使用 Elastic 威胁情报,请从“集成”页面启用一个或多个威胁情报集成,或使用 Filebeat 采集数据。有关更多信息,请查看 {docsLink}。", "xpack.threatIntelligence.addToBlockList": "添加阻止列表条目", "xpack.threatIntelligence.addToExistingCase": "添加到现有案例", @@ -36814,10 +38066,10 @@ "xpack.transform.actionDeleteTransform.deleteDestinationIndexTitle": "删除目标索引 {destinationIndex}", "xpack.transform.alertTypes.transformHealth.errorMessagesMessage": "{count, plural, other {转换}} {transformsString} {count, plural, other {包含}}错误消息。", "xpack.transform.alertTypes.transformHealth.errorMessagesRecoveryMessage": "{count, plural, other {转换}}消息中没有任何错误。", - "xpack.transform.alertTypes.transformHealth.healthCheckMessage": "{count, plural, other {转换}} {transformsString}{count, plural, other { }}运行不正常。", - "xpack.transform.alertTypes.transformHealth.healthCheckRecoveryMessage": "{count, plural, other {转换}} {transformsString}{count, plural, other { }}运行正常。", - "xpack.transform.alertTypes.transformHealth.notStartedMessage": "{count, plural, other {转换}} {transformsString}{count, plural, other { }}未启动。", - "xpack.transform.alertTypes.transformHealth.notStartedRecoveryMessage": "{count, plural, other {转换}} {transformsString}{count, plural, other { }}已启动。", + "xpack.transform.alertTypes.transformHealth.healthCheckMessage": "{count, plural, other {转换}} {transformsString}{count, plural, other {有}}运行不正常。", + "xpack.transform.alertTypes.transformHealth.healthCheckRecoveryMessage": "{count, plural, other {转换}} {transformsString}{count, plural, other {有}}运行正常。", + "xpack.transform.alertTypes.transformHealth.notStartedMessage": "{count, plural, other {转换}} {transformsString}{count, plural, other {有}}未启动。", + "xpack.transform.alertTypes.transformHealth.notStartedRecoveryMessage": "{count, plural, other {转换}} {transformsString}{count, plural, other {有}}已启动。", "xpack.transform.app.deniedPrivilegeDescription": "要使用“转换”部分,必须具有{privilegesCount, plural, other {以下集群权限}}:{missingPrivileges}。", "xpack.transform.capability.pleaseContactAdministratorTooltip": "{message}请联系您的管理员。", "xpack.transform.clone.noDataViewErrorPromptText": "无法克隆转换 {transformId}。对于 {dataViewTitle},不存在数据视图。", @@ -37198,7 +38450,6 @@ "xpack.transform.transformList.editFlyoutFormMaxPageSearchSizeHelpText": "用于每个检查点的组合聚合的初始页面大小。", "xpack.transform.transformList.editFlyoutFormMaxPageSearchSizeLabel": "最大页面搜索大小", "xpack.transform.transformList.editFlyoutFormNumberAboveZeroNotValidErrorMessage": "值必须是大于零的整数。", - "xpack.transform.transformSettingValidations.numberGreaterThanOrEqualToNegativeOneNotValidErrorMessage": "重试次数需要介于 0 和 100 之间,或为 -1(表示无限重试)。", "xpack.transform.transformList.editFlyoutFormNumFailureRetriesHelpText": "将转换任务标记为失败前可恢复失败的重试次数。将其设置为 -1 表示无限重试。", "xpack.transform.transformList.editFlyoutFormRequiredErrorMessage": "必填字段。", "xpack.transform.transformList.editFlyoutFormRetentionPolicyDateFieldHelpText": "选择可用于从目标索引中识别出日期文档的日期字段。", @@ -37267,6 +38518,11 @@ "xpack.transform.transformNodes.noTransformNodesCallOutTitle": "没有可用的转换节点。", "xpack.transform.transformNodes.noTransformNodesLearnMoreLinkText": "了解详情", "xpack.transform.transformsDescription": "使用转换将现有 Elasticsearch 索引透视到汇总的实体中心型索引或创建最新文档的索引视图,以进行快速访问。", + "xpack.transform.transformSettingsValidations.numberOfRetriesInvalidErrorMessage": "重试次数需要介于 0 和 100 之间,或为 -1(表示无限重试)。", + "xpack.transform.transformSettingValidations.maxPageSearchSizeInvalidMessage": "最大页面搜索大小需要是介于 10 到 65536 之间的整数。", + "xpack.transform.transformSettingValidations.numberGreaterThanOrEqualToNegativeOneNotValidErrorMessage": "重试次数需要介于 0 和 100 之间,或为 -1(表示无限重试)。", + "xpack.transform.transformSettingValidations.numberRange10To10000NotValidErrorMessage": "值必须是介于 10 到 10000 之间的整数。", + "xpack.transform.transformSettingValidations.retentionPolicyMaxAgeInvalidMessage": "最大存在时间格式无效。至少需要 60s。", "xpack.transform.transformsTitle": "转换", "xpack.transform.transformsWizard.cloneTransformTitle": "克隆转换", "xpack.transform.transformsWizard.createTransformTitle": "创建转换", @@ -37293,7 +38549,7 @@ "xpack.triggersActionsUI.checkRuleTypeEnabled.ruleTypeDisabledByLicenseMessage": "此规则类型需要{minimumLicenseRequired}许可证。", "xpack.triggersActionsUI.components.builtinActionTypes.missingSecretsValuesLabel": "未导入敏感信息。请为以下字段{encryptedFieldsLength, plural, other {s}} {secretFieldsLabel} 输入值{encryptedFieldsLength, plural, other {s}}。", "xpack.triggersActionsUI.components.simpleConnectorForm.secrets.reenterValuesLabel": "记住您的 {secretFieldsLabel} {encryptedFieldsLength, plural, other {值}}。每次编辑连接器时都必须重新输入{encryptedFieldsLength, plural, other {这些值}}。", - "xpack.triggersActionsUI.components.simpleConnectorForm.secrets.reenterValuesMessage": "值{encryptedFieldsLength, plural, other {s}} {secretFieldsLabel}{encryptedFieldsLength, plural, other { }}已加密。请为{encryptedFieldsLength, plural, other {这些}}字段{encryptedFieldsLength, plural, other {s}}重新输入值{encryptedFieldsLength, plural, other {s}}。", + "xpack.triggersActionsUI.components.simpleConnectorForm.secrets.reenterValuesMessage": "值{encryptedFieldsLength, plural, other {s}} {secretFieldsLabel}{encryptedFieldsLength, plural, other {有}}已加密。请为{encryptedFieldsLength, plural, other {这些}}字段{encryptedFieldsLength, plural, other {s}}重新输入值{encryptedFieldsLength, plural, other {s}}。", "xpack.triggersActionsUI.data.coreQueryParams.aggTypeRequiredErrorMessage": "[aggField]:当 [aggType] 为“{aggType}”时必须具有值", "xpack.triggersActionsUI.data.coreQueryParams.formattedFieldErrorMessage": "{fieldName} 的 {formatName} 格式无效:“{fieldValue}”", "xpack.triggersActionsUI.data.coreQueryParams.invalidAggTypeErrorMessage": "aggType 无效:“{aggType}”", @@ -37395,16 +38651,15 @@ "xpack.triggersActionsUI.sections.rulesList.lastRunOutcomeWarningDescription": "警告:{total}", "xpack.triggersActionsUI.sections.rulesList.removeAllSnoozeSchedules": "移除{count, plural, other {# 个计划}}?", "xpack.triggersActionsUI.sections.rulesList.rulesListAutoRefresh.lastUpdateText": "已更新 {lastUpdateText}", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.days": "{value, plural, other {# 天}}", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.hours": "{value, plural, other {# 小时}}", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.minutes": "{value, plural, other {# 分钟}}", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.months": "{value, plural, other {# 个月}}", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.seconds": "{value, plural, other {# 秒}}", "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.snoozedTooltip": "通知将暂停 {snoozeTime}", "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.snoozeScheduledTooltip": "计划从 {schedStart} 开始暂停通知", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.timeRemaining": "剩餘時間", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.seconds": "{value, plural, one {# 秒} other {# 秒}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.minutes": "{value, plural, one {# 分钟} other {# 分钟}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.hours": "{value, plural, one {# 小时} other {# 小时}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.days": "{value, plural, one {# 天} other {# 天}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.weeks": "{value, plural, one {# 周} other {# 周}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.months": "{value, plural, one {# 个月} other {# 个月}}", - "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.years": "{value, plural, one {# 年} other {# 年}}", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.weeks": "{value, plural, other {# 周}}", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.years": "{value, plural, other {# 年}}", "xpack.triggersActionsUI.sections.rulesList.rulesListTable.columns.intervalTooltipText": "{interval} 的规则时间间隔低于配置的最小时间间隔 {minimumInterval}。这可能会影响告警性能。", "xpack.triggersActionsUI.sections.rulesList.rulesListTable.columns.ruleExecutionPercentileTooltip": "此规则过去的 {sampleLimit} 运行持续时间 (mm:ss) 的第 {percentileOrdinal} 个百分位。", "xpack.triggersActionsUI.sections.rulesList.selectAllRulesButton": "选择所有 {formattedTotalRules} 个{totalRules, plural, =1 {规则} other {规则}}", @@ -37455,10 +38710,13 @@ "xpack.triggersActionsUI.alerts.table.actions.alertsAlreadyAttachedToCase": "所有选定告警已附加到该案例", "xpack.triggersActionsUI.alerts.table.actions.noAlertsAddedToCaseTitle": "未向该案例添加任何告警", "xpack.triggersActionsUI.alertsSearchBar.placeholder": "搜索告警(例如 kibana.alert.evaluation.threshold > 75)", + "xpack.triggersActionsUI.alertsTable.api.bulkGetMaintenanceWindow.errorTitle": "提取维护窗口数据时出错", "xpack.triggersActionsUI.alertsTable.configuration.errorBody": "加载告警表时出现错误。此表缺少所需配置。请联系您的管理员寻求帮助", "xpack.triggersActionsUI.alertsTable.configuration.errorTitle": "无法加载告警表", "xpack.triggersActionsUI.alertsTable.lastUpdated.updated": "已更新", "xpack.triggersActionsUI.alertsTable.lastUpdated.updating": "正在更新......", + "xpack.triggersActionsUI.alertsTable.maintenanceWindowTooltip.endTime": "结束", + "xpack.triggersActionsUI.alertsTable.maintenanceWindowTooltip.startTime": "启动", "xpack.triggersActionsUI.appName": "规则", "xpack.triggersActionsUI.bulkActions.columnHeader.AriaLabel": "选择所有行", "xpack.triggersActionsUI.cases.api.bulkGet": "提取案例数据时出错", @@ -37569,6 +38827,7 @@ "xpack.triggersActionsUI.licenseCheck.actionTypeDisabledByLicenseLinkTitle": "查看许可证选项", "xpack.triggersActionsUI.licenseCheck.actionTypeDisabledByLicenseMessageDescription": "要重新启用此操作,请升级您的许可证。", "xpack.triggersActionsUI.logs.breadcrumbTitle": "日志", + "xpack.triggersActionsUI.maintenanceWindows.label": "维护窗口", "xpack.triggersActionsUI.managementSection.connectors.displayDescription": "连接第三方软件与您的告警数据。", "xpack.triggersActionsUI.managementSection.connectors.displayName": "连接器", "xpack.triggersActionsUI.managementSection.displayDescription": "使用规则来检测条件。", @@ -37695,6 +38954,7 @@ "xpack.triggersActionsUI.sections.alertsTable.alertsFlyout.reason": "原因", "xpack.triggersActionsUI.sections.alertsTable.column.actions": "操作", "xpack.triggersActionsUI.sections.alertsTable.leadingControl.viewDetails": "查看详情", + "xpack.triggersActionsUI.sections.alertsTable.title": "告警表", "xpack.triggersActionsUI.sections.confirmConnectorEditClose.cancelButtonLabel": "取消", "xpack.triggersActionsUI.sections.confirmConnectorEditClose.confirmConnectorCloseMessage": "您无法恢复未保存更改。", "xpack.triggersActionsUI.sections.confirmConnectorEditClose.discardButtonLabel": "放弃更改", @@ -37834,6 +39094,7 @@ "xpack.triggersActionsUI.sections.ruleDetails.scheduleIntervalToastMessageButton": "编辑规则", "xpack.triggersActionsUI.sections.ruleDetails.scheduleIntervalToastTitle": "配置设置", "xpack.triggersActionsUI.sections.ruleDetails.updateAPIKeyButtonLabel": "更新 API 密钥", + "xpack.triggersActionsUI.sections.ruleDetails.userManagedApikey": "此规则与 API 密钥关联。", "xpack.triggersActionsUI.sections.ruleDetails.viewRuleInAppButtonLabel": "在应用中查看", "xpack.triggersActionsUI.sections.ruleEdit.cancelButtonLabel": "取消", "xpack.triggersActionsUI.sections.ruleEdit.changeInPrivilegesLabel": "保存此规则将更改其权限,并可能更改其行为。", @@ -37858,7 +39119,7 @@ "xpack.triggersActionsUI.sections.ruleForm.error.requiredIntervalText": "“检查时间间隔”必填。", "xpack.triggersActionsUI.sections.ruleForm.error.requiredNameText": "“名称”必填。", "xpack.triggersActionsUI.sections.ruleForm.error.requiredRuleTypeIdText": "“规则类型”必填。", - "xpack.triggersActionsUI.sections.ruleForm.frequencyNotifyWhen.label": "操作运行频率", + "xpack.triggersActionsUI.sections.ruleForm.frequencyNotifyWhen.label": "运行间隔", "xpack.triggersActionsUI.sections.ruleForm.loadingRuleTypeParamsDescription": "正在加载规则类型参数……", "xpack.triggersActionsUI.sections.ruleForm.loadingRuleTypesDescription": "正在加载规则类型……", "xpack.triggersActionsUI.sections.ruleForm.renotifyFieldLabel": "通知", @@ -37960,6 +39221,7 @@ "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.noSnoozeAppliedTooltip": "生成告警时发送通知", "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.openSnoozePanel": "打开暂停面板", "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.snoozedIndefinitelyTooltip": "通知已无期限暂停", + "xpack.triggersActionsUI.sections.rulesList.rulesListNotifyBadge.timeRemaining": "剩余时间", "xpack.triggersActionsUI.sections.rulesList.rulesListSnoozePanel.snoozeFailed": "无法更改规则暂停设置", "xpack.triggersActionsUI.sections.rulesList.rulesListSnoozePanel.snoozeSuccess": "已成功暂停规则", "xpack.triggersActionsUI.sections.rulesList.rulesListSnoozePanel.unsnoozeSuccess": "已成功取消暂停规则", @@ -38025,6 +39287,7 @@ "xpack.triggersActionsUI.sections.rulesList.unableToLoadRuleTypesMessage": "无法加载规则类型", "xpack.triggersActionsUI.sections.rulesList.unableToRunRuleSoon": "无法计划您的要运行的规则", "xpack.triggersActionsUI.sections.rulesList.weeksLabel": "周", + "xpack.triggersActionsUI.sections.ruleTagFilter.loading": "正在加载标签", "xpack.triggersActionsUI.sections.testConnectorForm.awaitingExecutionDescription": "执行测试时,结果将显示在此处。", "xpack.triggersActionsUI.sections.testConnectorForm.createActionHeader": "创建操作", "xpack.triggersActionsUI.sections.testConnectorForm.executeTestButton": "运行", @@ -38835,11 +40098,38 @@ "cases.components.tooltip.by": "依据", "cases.components.tooltip.closed": "已关闭", "cases.components.tooltip.opened": "已打开", + "defaultNavigation.analytics.dataExploration": "数据探索", + "defaultNavigation.devTools.developerTools": "开发者工具", + "defaultNavigation.management.alertAndInsights": "告警和洞见", + "defaultNavigation.management.ingest": "采集", + "defaultNavigation.management.integrationManagement": "集成管理", + "defaultNavigation.management.sectionLabel": "管理", + "defaultNavigation.management.stackManagement": "Stack Management", + "defaultNavigation.management.stackManagementData": "数据", + "defaultNavigation.ml.aiopsLabs": "AIOps 实验室", + "defaultNavigation.ml.anomalyDetection": "异常检测", + "defaultNavigation.ml.dataFrameAnalytics": "数据帧分析", + "defaultNavigation.ml.dataView": "数据视图", + "defaultNavigation.ml.dataVisualizer": "数据可视化工具", + "defaultNavigation.ml.file": "文件", + "defaultNavigation.ml.jobs": "作业", + "defaultNavigation.ml.machineLearning": "Machine Learning", + "defaultNavigation.ml.modelManagement": "模型管理", "devTools.badge.betaLabel": "公测版", "devTools.badge.readOnly.text": "只读", "devTools.badge.readOnly.tooltip": "无法保存", "devTools.breadcrumb.homeLabel": "开发工具", "devTools.devToolsTitle": "开发工具", + "eventAnnotation.annotationList.add": "添加注释", + "eventAnnotation.content.name": "标注组", + "eventAnnotation.edit.back": "返回", + "eventAnnotation.edit.cancel": "取消", + "eventAnnotation.edit.save": "保存标注组", + "eventAnnotation.eventAnnotationGroup.metadata.name": "标注组", + "eventAnnotation.eventAnnotationGroup.savedObjectFinder.emptyCTA": "创建标注图层", + "eventAnnotation.eventAnnotationGroup.savedObjectFinder.emptyPromptDescription": "当前没有可供从库中选择的标注。创建新图层以添加标注。", + "eventAnnotation.eventAnnotationGroup.savedObjectFinder.emptyPromptTitle": "首先添加标注图层", + "eventAnnotation.eventAnnotationGroup.savedObjectFinder.notFoundLabel": "找不到匹配的标注组。", "eventAnnotation.fetch.description": "事件标注提取", "eventAnnotation.fetchEventAnnotations.args.annotationConfigs": "标注配置", "eventAnnotation.fetchEventAnnotations.args.interval.help": "要用于此聚合的时间间隔", @@ -38851,6 +40141,15 @@ "eventAnnotation.group.args.annotationConfigs.ignoreGlobalFilters.help": "进行切换以忽略标注的全局筛选", "eventAnnotation.group.args.annotationGroups": "标注组", "eventAnnotation.group.description": "事件标注组", + "eventAnnotation.groupEditor.addAnnotation": "标注", + "eventAnnotation.groupEditor.dataView": "数据视图", + "eventAnnotation.groupEditor.description": "描述", + "eventAnnotation.groupEditor.details": "详情", + "eventAnnotation.groupEditor.optional": "可选", + "eventAnnotation.groupEditor.title": "标题", + "eventAnnotation.groupEditor.titleRequired": "标题必填。", + "eventAnnotation.groupEditorFlyout.title": "编辑标注组", + "eventAnnotation.listingViewTitle": "标注组", "eventAnnotation.manualAnnotation.args.color": "线条的颜色", "eventAnnotation.manualAnnotation.args.icon": "用于标注线条的可选图标", "eventAnnotation.manualAnnotation.args.id": "标注的 ID", @@ -38882,6 +40181,51 @@ "eventAnnotation.rangeAnnotation.args.label": "标注的名称", "eventAnnotation.rangeAnnotation.args.time": "标注的时间戳", "eventAnnotation.rangeAnnotation.description": "配置手动标注", + "eventAnnotation.tableList.dataView": "数据视图", + "eventAnnotation.tableList.emptyPrompt.body": "您可以创建并保存标注,供在 Lens 可视化编辑器中跨多个可视化使用。", + "eventAnnotation.tableList.emptyPrompt.cta": "在 Lens 中创建新标注", + "eventAnnotation.tableList.emptyPrompt.title": "在 Lens 中创建您的首个标注", + "eventAnnotation.tableList.entityName": "标注组", + "eventAnnotation.tableList.entityNamePlural": "标注组", + "eventAnnotation.tableList.listTitle": "标注库", + "eventAnnotation.xyChart.annotation.hide": "隐藏标注", + "eventAnnotation.xyChart.annotation.manual": "静态日期", + "eventAnnotation.xyChart.annotation.query": "定制查询", + "eventAnnotation.xyChart.annotation.queryField": "目标日期字段", + "eventAnnotation.xyChart.annotation.queryInput": "标注查询", + "eventAnnotation.xyChart.annotation.tooltip": "显示其他字段", + "eventAnnotation.xyChart.annotation.tooltip.addField": "添加字段", + "eventAnnotation.xyChart.annotation.tooltip.deleteButtonLabel": "删除", + "eventAnnotation.xyChart.annotation.tooltip.noFields": "未选择任何内容", + "eventAnnotation.xyChart.annotationDate": "标注日期", + "eventAnnotation.xyChart.annotationDate.from": "自", + "eventAnnotation.xyChart.annotationDate.placementType": "位置类型", + "eventAnnotation.xyChart.annotationDate.to": "至", + "eventAnnotation.xyChart.appearance": "外观", + "eventAnnotation.xyChart.applyAsRange": "应用为范围", + "eventAnnotation.xyChart.defaultAnnotationLabel": "事件", + "eventAnnotation.xyChart.defaultRangeAnnotationLabel": "事件范围", + "eventAnnotation.xyChart.fillStyle": "填充", + "eventAnnotation.xyChart.fillStyle.inside": "内部", + "eventAnnotation.xyChart.fillStyle.outside": "外部", + "eventAnnotation.xyChart.iconSelect.alertIconLabel": "告警", + "eventAnnotation.xyChart.iconSelect.asteriskIconLabel": "星号", + "eventAnnotation.xyChart.iconSelect.bellIconLabel": "钟铃", + "eventAnnotation.xyChart.iconSelect.boltIconLabel": "闪电", + "eventAnnotation.xyChart.iconSelect.bugIconLabel": "昆虫", + "eventAnnotation.xyChart.iconSelect.circleIconLabel": "圆形", + "eventAnnotation.xyChart.iconSelect.commentIconLabel": "注释", + "eventAnnotation.xyChart.iconSelect.flagIconLabel": "旗帜", + "eventAnnotation.xyChart.iconSelect.heartLabel": "心形", + "eventAnnotation.xyChart.iconSelect.mapMarkerLabel": "地图标记", + "eventAnnotation.xyChart.iconSelect.mapPinLabel": "地图图钉", + "eventAnnotation.xyChart.iconSelect.starFilledLabel": "星形填充", + "eventAnnotation.xyChart.iconSelect.starLabel": "五角星", + "eventAnnotation.xyChart.iconSelect.tagIconLabel": "标签", + "eventAnnotation.xyChart.iconSelect.triangleIconLabel": "三角形", + "eventAnnotation.xyChart.lineColor.label": "颜色", + "eventAnnotation.xyChart.placement": "位置", + "eventAnnotation.xyChart.tooltip": "工具提示", "expandableFlyout.previewSection.backButton": "返回", "expandableFlyout.previewSection.closeButton": "关闭", "expressionHeatmap.function.args.addTooltipHelpText": "在悬浮时显示工具提示", @@ -38940,6 +40284,7 @@ "expressionTagcloud.feedbackMessage.truncatedTagsDescription": "标签数量已截断,以避免绘制时间过长。", "expressionTagcloud.functions.tagcloud.args.ariaLabelHelpText": "指定标签云图的 aria 标签", "expressionTagcloud.functions.tagcloud.args.bucketHelpText": "存储桶维度配置", + "expressionTagcloud.functions.tagcloud.args.isPreviewHelpText": "将 isPreview 设置为 true 以免显示空间不足警告", "expressionTagcloud.functions.tagcloud.args.maxFontSizeHelpText": "最大字体大小", "expressionTagcloud.functions.tagcloud.args.metricHelpText": "指标维度配置", "expressionTagcloud.functions.tagcloud.args.minFontSizeHelpText": "最小字体大小", @@ -39069,6 +40414,10 @@ "monaco.painlessLanguage.autocomplete.paramsKeywordDescription": "访问传递到脚本的变量。", "observabilityAlertDetails.alertActiveTimeRangeAnnotation.detailsTooltip": "活动", "observabilityAlertDetails.alertAnnotation.detailsTooltip": "已启动告警", + "observabilityAlertDetails.alertThresholdAnnotation.detailsTooltip": "已启动告警", + "observabilityAlertDetails.alertThresholdTimeRangeRect.detailsTooltip": "阈值", + "randomSampling.ui.sliderControl.accuracyLabel": "准确性", + "randomSampling.ui.sliderControl.performanceLabel": "性能", "reporting.common.browserCouldNotLaunchErrorMessage": "无法生成屏幕截图,因为浏览器未启动。有关更多信息,请查看服务器日志。", "reporting.common.cloud.insufficientSystemMemoryError": "由于内存不足,无法生成此报告。", "reporting.common.pdfWorkerOutOfMemoryErrorMessage": "由于内存不足,无法生成 PDF。尝试生成更小的 PDF,然后重试此报告。", @@ -39273,33 +40622,6 @@ "xpack.features.ossFeatures.visualizeShortUrlSubFeatureName": "短 URL", "xpack.features.savedObjectsManagementFeatureName": "已保存对象管理", "xpack.features.visualizeFeatureName": "Visualize 库", - "xpack.observability_onboarding.breadcrumbs.onboarding": "载入", - "xpack.observability_onboarding.fetcher.error.status": "错误", - "xpack.observability_onboarding.fetcher.error.title": "提取资源时出错", - "xpack.observability_onboarding.fetcher.error.url": "URL", - "xpack.observabilityShared.navigation.betaBadge": "公测版", - "xpack.observabilityShared.navigation.experimentalBadgeLabel": "技术预览", - "xpack.observabilityShared.navigation.newBadge": "新建", - "xpack.observabilityShared.pageLayout.sideNavTitle": "Observability", - "xpack.observabilityShared.tour.alertsStep.imageAltText": "告警演示", - "xpack.observabilityShared.tour.alertsStep.tourContent": "通过电子邮件、PagerDuty 和 Slack 等第三方平台集成定义并检测触发告警的条件。", - "xpack.observabilityShared.tour.alertsStep.tourTitle": "发生更改时接收通知", - "xpack.observabilityShared.tour.endButtonLabel": "结束教程", - "xpack.observabilityShared.tour.guidedSetupStep.tourContent": "继续使用 Elastic Observability 的最简便方法,是按照数据助手中推荐的后续步骤操作。", - "xpack.observabilityShared.tour.guidedSetupStep.tourTitle": "Elastic Observability 让您事半功倍", - "xpack.observabilityShared.tour.metricsExplorerStep.imageAltText": "指标浏览器演示", - "xpack.observabilityShared.tour.metricsExplorerStep.tourContent": "流式传输、分组并可视化您的系统、云、网络和其他基础架构源中的指标。", - "xpack.observabilityShared.tour.metricsExplorerStep.tourTitle": "监测基础架构运行状况", - "xpack.observabilityShared.tour.nextButtonLabel": "下一步", - "xpack.observabilityShared.tour.observabilityOverviewStep.tourContent": "学习快速教程以了解在一个堆栈中保存所有 Observability 数据的优势。", - "xpack.observabilityShared.tour.observabilityOverviewStep.tourTitle": "欢迎使用 Elastic Observability", - "xpack.observabilityShared.tour.servicesStep.imageAltText": "服务演示", - "xpack.observabilityShared.tour.servicesStep.tourContent": "通过收集有关服务的详细信息快速查找并修复性能问题。", - "xpack.observabilityShared.tour.servicesStep.tourTitle": "确定并解决应用程序问题", - "xpack.observabilityShared.tour.skipButtonLabel": "跳过教程", - "xpack.observabilityShared.tour.streamStep.imageAltText": "日志流演示", - "xpack.observabilityShared.tour.streamStep.tourContent": "监测、筛选并检查从您的应用程序、服务器、虚拟机和容器中流入的日志事件。", - "xpack.observabilityShared.tour.streamStep.tourTitle": "实时跟踪您的日志", "xpack.painlessLab.apiReferenceButtonLabel": "API 参考", "xpack.painlessLab.context.defaultLabel": "脚本结果将转换成字符串", "xpack.painlessLab.context.filterLabel": "使用筛选脚本查询的上下文", @@ -39336,6 +40658,7 @@ "xpack.painlessLab.resetButtonLabel": "重置脚本", "xpack.painlessLab.showRequestButtonLabel": "显示 API 请求", "xpack.painlessLab.title": "Painless 实验室", - "xpack.painlessLab.walkthroughButtonLabel": "指导" + "xpack.painlessLab.walkthroughButtonLabel": "指导", + "xpack.serverlessObservability.nav.getStarted": "开始使用" } -} \ No newline at end of file +} diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_summary_widget/alert_summary_widget.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_summary_widget/alert_summary_widget.tsx index 68da793cf37b9..b880d93d63179 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_summary_widget/alert_summary_widget.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_summary_widget/alert_summary_widget.tsx @@ -34,7 +34,8 @@ export const AlertSummaryWidget = ({ timeRange, }); - if (isLoading) return ; + if (isLoading) + return ; if (error) return ; diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_summary_widget/components/alert_summary_widget_loader.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_summary_widget/components/alert_summary_widget_loader.tsx index 146e79173fd93..67d98de4eff66 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_summary_widget/components/alert_summary_widget_loader.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/alert_summary_widget/components/alert_summary_widget_loader.tsx @@ -6,22 +6,29 @@ */ import React from 'react'; -import { EuiLoadingChart } from '@elastic/eui'; +import { EuiLoadingChart, EuiLoadingSpinner } from '@elastic/eui'; import { AlertSummaryWidgetProps } from '..'; -type Props = Pick; +type Props = { isLoadingWithoutChart: boolean | undefined } & Pick< + AlertSummaryWidgetProps, + 'fullSize' +>; -export const AlertSummaryWidgetLoader = ({ fullSize }: Props) => { +export const AlertSummaryWidgetLoader = ({ fullSize, isLoadingWithoutChart }: Props) => { return (
    - + {isLoadingWithoutChart ? ( + + ) : ( + + )}
    ); }; diff --git a/x-pack/plugins/triggers_actions_ui/public/common/constants/comparators.ts b/x-pack/plugins/triggers_actions_ui/public/common/constants/comparators.ts index 6ed23ff8dd657..0bec60efab15d 100644 --- a/x-pack/plugins/triggers_actions_ui/public/common/constants/comparators.ts +++ b/x-pack/plugins/triggers_actions_ui/public/common/constants/comparators.ts @@ -14,6 +14,7 @@ export enum COMPARATORS { BETWEEN = 'between', LESS_THAN = '<', LESS_THAN_OR_EQUALS = '<=', + NOT_BETWEEN = 'notBetween', } export const builtInComparators: { [key: string]: Comparator } = { @@ -58,4 +59,11 @@ export const builtInComparators: { [key: string]: Comparator } = { value: COMPARATORS.BETWEEN, requiredValues: 2, }, + [COMPARATORS.NOT_BETWEEN]: { + text: i18n.translate('xpack.triggersActionsUI.common.constants.comparators.isNotBetweenLabel', { + defaultMessage: 'Not between', + }), + value: COMPARATORS.NOT_BETWEEN, + requiredValues: 2, + }, }; diff --git a/x-pack/plugins/triggers_actions_ui/public/common/expression_items/threshold.test.tsx b/x-pack/plugins/triggers_actions_ui/public/common/expression_items/threshold.test.tsx index 8f40a184d2c33..9988fd94eee59 100644 --- a/x-pack/plugins/triggers_actions_ui/public/common/expression_items/threshold.test.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/common/expression_items/threshold.test.tsx @@ -23,35 +23,39 @@ describe('threshold expression', () => { /> ); expect(wrapper.find('[data-test-subj="comparatorOptionsComboBox"]')).toMatchInlineSnapshot(` - ", - }, - Object { - "text": "Is above or equals", - "value": ">=", - }, - Object { - "text": "Is below", - "value": "<", - }, - Object { - "text": "Is below or equals", - "value": "<=", - }, - Object { - "text": "Is between", - "value": "between", - }, - ] - } - value="between" - /> + ", + }, + Object { + "text": "Is above or equals", + "value": ">=", + }, + Object { + "text": "Is below", + "value": "<", + }, + Object { + "text": "Is below or equals", + "value": "<=", + }, + Object { + "text": "Is between", + "value": "between", + }, + Object { + "text": "Not between", + "value": "notBetween", + }, + ] + } + value="between" + /> `); }); @@ -154,13 +158,13 @@ describe('threshold expression', () => { /> ); expect(wrapper.find('[data-test-subj="alertThresholdInput"]')).toMatchInlineSnapshot(` - - `); + + `); }); }); diff --git a/x-pack/plugins/triggers_actions_ui/public/common/get_rule_alerts_summary.tsx b/x-pack/plugins/triggers_actions_ui/public/common/get_rule_alerts_summary.tsx index ae7c8462320db..21763d1e5f0c9 100644 --- a/x-pack/plugins/triggers_actions_ui/public/common/get_rule_alerts_summary.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/common/get_rule_alerts_summary.tsx @@ -15,7 +15,14 @@ const AlertSummaryWidgetLazy: React.FC = lazy( export const getAlertSummaryWidgetLazy = (props: AlertSummaryWidgetProps) => { return ( - }> + + } + > ); diff --git a/x-pack/plugins/uptime/public/legacy_uptime/lib/helper/rtl_helpers.tsx b/x-pack/plugins/uptime/public/legacy_uptime/lib/helper/rtl_helpers.tsx index 425daf9292fb7..b2f96c4bac8a3 100644 --- a/x-pack/plugins/uptime/public/legacy_uptime/lib/helper/rtl_helpers.tsx +++ b/x-pack/plugins/uptime/public/legacy_uptime/lib/helper/rtl_helpers.tsx @@ -20,7 +20,6 @@ import { merge } from 'lodash'; import { createMemoryHistory, History } from 'history'; import { CoreStart } from '@kbn/core/public'; import { I18nProvider } from '@kbn/i18n-react'; -import { EuiPageTemplate_Deprecated as EuiPageTemplate } from '@elastic/eui'; import { coreMock } from '@kbn/core/public/mocks'; // eslint-disable-next-line import/no-extraneous-dependencies import { configure } from '@testing-library/dom'; @@ -31,6 +30,7 @@ import { triggersActionsUiMock } from '@kbn/triggers-actions-ui-plugin/public/mo import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; import { unifiedSearchPluginMock } from '@kbn/unified-search-plugin/public/mocks'; import { Store } from 'redux'; +import { KibanaPageTemplate } from '@kbn/shared-ux-page-kibana-template'; import { stringifyUrlParams } from './url_params/stringify_url_params'; import { mockState } from '../__mocks__/uptime_store.mock'; import { MountWithReduxProvider } from './helper_with_redux'; @@ -153,7 +153,7 @@ export const mockCore: () => Partial = () => { observabilityShared: { navigation: { // @ts-ignore - PageTemplate: EuiPageTemplate, + PageTemplate: KibanaPageTemplate, }, }, exploratoryView: { diff --git a/x-pack/plugins/uptime/server/legacy_uptime/lib/lib.test.ts b/x-pack/plugins/uptime/server/legacy_uptime/lib/lib.test.ts index 13a151da2e635..de101bed4e037 100644 --- a/x-pack/plugins/uptime/server/legacy_uptime/lib/lib.test.ts +++ b/x-pack/plugins/uptime/server/legacy_uptime/lib/lib.test.ts @@ -8,7 +8,8 @@ import { UptimeEsClient } from './lib'; import { savedObjectsClientMock, uiSettingsServiceMock } from '@kbn/core/server/mocks'; import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; -import { savedObjectsAdapter } from './saved_objects'; +import { SavedObjectsErrorHelpers } from '@kbn/core-saved-objects-server'; +import { settingsObjectId, umDynamicSettings } from './saved_objects/uptime_settings'; describe('UptimeEsClient', () => { let uptimeEsClient: UptimeEsClient; @@ -140,9 +141,44 @@ describe('UptimeEsClient', () => { }); describe('heartbeatIndices', () => { it('appends synthetics-* in index for legacy alerts', async () => { - savedObjectsAdapter.getUptimeDynamicSettings = jest.fn().mockResolvedValue({ - heartbeatIndices: 'heartbeat-8*,heartbeat-7*', - syntheticsIndexRemoved: true, + savedObjectsClient.get = jest.fn().mockResolvedValue({ + attributes: { + heartbeatIndices: 'heartbeat-8*,heartbeat-7*', + syntheticsIndexRemoved: true, + }, + }); + uptimeEsClient = new UptimeEsClient(savedObjectsClient, esClient, { isLegacyAlert: true }); + + const mockSearchParams = { + body: { + query: { + match_all: {}, + }, + }, + }; + + await uptimeEsClient.search({ + body: { + query: { + match_all: {}, + }, + }, + }); + + expect(esClient.search).toHaveBeenCalledWith( + { + index: 'heartbeat-8*,heartbeat-7*,synthetics-*', + ...mockSearchParams, + }, + { meta: true } + ); + }); + it('appends synthetics-* in index for legacy alerts when settings are never saved', async () => { + savedObjectsClient.get = jest.fn().mockImplementation(() => { + throw SavedObjectsErrorHelpers.createGenericNotFoundError( + umDynamicSettings.name, + settingsObjectId + ); }); uptimeEsClient = new UptimeEsClient(savedObjectsClient, esClient, { isLegacyAlert: true }); diff --git a/x-pack/plugins/uptime/server/legacy_uptime/lib/lib.ts b/x-pack/plugins/uptime/server/legacy_uptime/lib/lib.ts index e00104974014f..32c8e085cdf48 100644 --- a/x-pack/plugins/uptime/server/legacy_uptime/lib/lib.ts +++ b/x-pack/plugins/uptime/server/legacy_uptime/lib/lib.ts @@ -10,6 +10,7 @@ import { SavedObjectsClientContract, KibanaRequest, CoreRequestHandlerContext, + SavedObjectsErrorHelpers, } from '@kbn/core/server'; import chalk from 'chalk'; import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; @@ -18,9 +19,11 @@ import { RequestStatus } from '@kbn/inspector-plugin/common'; import { InspectResponse } from '@kbn/observability-plugin/typings/common'; import { enableInspectEsQueries } from '@kbn/observability-plugin/common'; import { getInspectResponse } from '@kbn/observability-shared-plugin/common'; +import { DYNAMIC_SETTINGS_DEFAULT_ATTRIBUTES } from '../../constants/settings'; +import { DynamicSettingsAttributes } from '../../runtime_types/settings'; +import { settingsObjectId, umDynamicSettings } from './saved_objects/uptime_settings'; import { API_URLS } from '../../../common/constants'; import { UptimeServerSetup } from './adapters'; -import { savedObjectsAdapter } from './saved_objects/saved_objects'; export type { UMServerLibs } from '../uptime_server'; @@ -202,14 +205,31 @@ export class UptimeEsClient { // if isLegacyAlert appends synthetics-* if it's not already there let indices = ''; let syntheticsIndexRemoved = false; + let settingsChangedByUser = true; + let settings: DynamicSettingsAttributes = DYNAMIC_SETTINGS_DEFAULT_ATTRIBUTES; if (this.heartbeatIndices) { indices = this.heartbeatIndices; } else { - const settings = await savedObjectsAdapter.getUptimeDynamicSettings(this.savedObjectsClient); + try { + const obj = await this.savedObjectsClient.get( + umDynamicSettings.name, + settingsObjectId + ); + settings = obj.attributes; + } catch (getErr) { + if (SavedObjectsErrorHelpers.isNotFoundError(getErr)) { + settingsChangedByUser = false; + } + } + indices = settings?.heartbeatIndices || ''; syntheticsIndexRemoved = settings.syntheticsIndexRemoved ?? false; } - if (this.isLegacyAlert && !indices.includes('synthetics-') && syntheticsIndexRemoved) { + if ( + this.isLegacyAlert && + !indices.includes('synthetics-') && + (syntheticsIndexRemoved || !settingsChangedByUser) + ) { indices = indices + ',synthetics-*'; } return indices; diff --git a/x-pack/plugins/uptime/tsconfig.json b/x-pack/plugins/uptime/tsconfig.json index 7c27b64878253..56621a40dddfe 100644 --- a/x-pack/plugins/uptime/tsconfig.json +++ b/x-pack/plugins/uptime/tsconfig.json @@ -72,6 +72,7 @@ "@kbn/core-http-server", "@kbn/core-http-router-server-internal", "@kbn/actions-plugin", + "@kbn/core-saved-objects-server", ], "exclude": [ "target/**/*", diff --git a/x-pack/test/accessibility/apps/ml.ts b/x-pack/test/accessibility/apps/ml.ts index 9043b06dbc443..dd2fad6de05de 100644 --- a/x-pack/test/accessibility/apps/ml.ts +++ b/x-pack/test/accessibility/apps/ml.ts @@ -7,22 +7,11 @@ import { FtrProviderContext } from '../ftr_provider_context'; -interface Detector { - identifier: string; - function: string; - field?: string; - byField?: string; - overField?: string; - partitionField?: string; - excludeFrequent?: string; - description?: string; -} - export default function ({ getService }: FtrProviderContext) { const a11y = getService('a11y'); const ml = getService('ml'); - describe('ml Accessibility', () => { + describe('ml Accessibility', function () { const esArchiver = getService('esArchiver'); before(async () => { @@ -53,44 +42,20 @@ export default function ({ getService }: FtrProviderContext) { await a11y.testAppSnapshot(); }); - it('anomaly detection page', async () => { - await ml.navigation.navigateToAnomalyDetection(); - await a11y.testAppSnapshot(); - }); - it('data frame analytics page', async () => { await ml.navigation.navigateToDataFrameAnalytics(); await a11y.testAppSnapshot(); }); - - it('settings page', async () => { - await ml.navigation.navigateToSettings(); - await a11y.testAppSnapshot(); - }); }); describe('with data loaded', function () { - const adJobId = 'fq_single_a11y'; const dfaOutlierResultsJobId = 'iph_outlier_a11y'; - const calendarId = 'calendar_a11y'; - const eventDescription = 'calendar_event_a11y'; - const filterId = 'filter_a11y'; - const filterItems = ['filter_item_a11y']; - const fqIndexPattern = 'ft_farequote'; const ecIndexPattern = 'ft_module_sample_ecommerce'; const ihpIndexPattern = 'ft_ihp_outlier'; const egsIndexPattern = 'ft_egs_regression'; const bmIndexPattern = 'ft_bank_marketing'; const ecExpectedTotalCount = '287'; - const adJobAggAndFieldIdentifier = 'Mean(responsetime)'; - const adJobBucketSpan = '30m'; - const adSingleMetricJobId = `fq_single_a11y_${Date.now()}`; - const adMultiSplitField = 'airline'; - const adMultiMetricJobId = `fq_multi_a11y_${Date.now()}`; - const adMultiMetricJobDescription = - 'Multi metric job based on the farequote dataset with 30m bucketspan and mean(responsetime) split by airline'; - const dfaOutlierJobType = 'outlier_detection'; const dfaOutlierJobId = `ihp_outlier_ally_${Date.now()}`; const dfaRegressionJobType = 'regression'; @@ -106,169 +71,32 @@ export default function ({ getService }: FtrProviderContext) { '../../functional/apps/ml/data_visualizer/files_to_import/artificial_server_log' ); - const advancedJobTestData = { - suiteTitle: 'with multiple metric detectors and custom datafeed settings', - jobSource: ecIndexPattern, - jobId: `ec_advanced_1_${Date.now()}`, - get jobIdClone(): string { - return `${this.jobId}_clone`; - }, - jobDescription: `Create advanced job from ${ecIndexPattern} dataset with multiple metric detectors and custom datafeed settings`, - jobGroups: ['automated', 'ecommerce', 'advanced'], - get jobGroupsClone(): string[] { - return [...this.jobGroups, 'clone']; - }, - pickFieldsConfig: { - detectors: [ - { - identifier: 'high_count', - function: 'high_count', - description: 'high_count detector without split', - } as Detector, - { - identifier: 'mean("products.base_price") by "category.keyword"', - function: 'mean', - field: 'products.base_price', - byField: 'category.keyword', - } as Detector, - { - identifier: 'sum("products.discount_amount") over customer_id', - function: 'sum', - field: 'products.discount_amount', - overField: 'customer_id', - } as Detector, - { - identifier: 'median(total_quantity) partition_field_name=customer_gender', - function: 'median', - field: 'total_quantity', - partitionField: 'customer_gender', - } as Detector, - { - identifier: - 'max(total_quantity) by "geoip.continent_name" over customer_id partition_field_name=customer_gender', - function: 'max', - field: 'total_quantity', - byField: 'geoip.continent_name', - overField: 'customer_id', - partitionField: 'customer_gender', - } as Detector, - ], - influencers: [ - 'customer_id', - 'category.keyword', - 'geoip.continent_name', - 'customer_gender', - ], - bucketSpan: '1h', - memoryLimit: '10mb', - }, - datafeedConfig: { - queryDelay: '55s', - frequency: '350s', - scrollSize: '999', - }, - }; - const populationJobTestData = { - suiteTitle: 'population job', - jobSource: ecIndexPattern, - jobId: `ec_population_1_${Date.now()}`, - get jobIdClone(): string { - return `${this.jobId}_clone`; - }, - jobDescription: - 'Create population job based on the ecommerce sample dataset with 2h bucketspan over customer_id' + - ' - detectors: (Mean(products.base_price) by customer_gender), (Mean(products.quantity) by category.leyword)', - jobGroups: ['automated', 'ecommerce', 'population'], - get jobGroupsClone(): string[] { - return [...this.jobGroups, 'clone']; - }, - populationField: 'customer_id', - pickFieldsConfig: { - detectors: [ - { - identifier: 'Mean(products.base_price)', - splitField: 'customer_gender', - frontCardTitle: 'FEMALE', - numberOfBackCards: 1, - }, - { - identifier: 'Mean(products.quantity)', - splitField: 'category.keyword', - frontCardTitle: "Men's Clothing", - numberOfBackCards: 5, - }, - ], - influencers: [ - 'customer_id', - 'category.keyword', - 'geoip.continent_name', - 'customer_gender', - ], - bucketSpan: '2h', - memoryLimit: '8mb', - }, - datafeedConfig: { - queryDelay: '55s', - frequency: '350s', - scrollSize: '999', - }, - }; - before(async () => { - await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/farequote'); await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/ihp_outlier'); await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/egs_regression'); await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/bm_classification'); await esArchiver.loadIfNeeded( 'x-pack/test/functional/es_archives/ml/module_sample_ecommerce' ); - await ml.testResources.createIndexPatternIfNeeded(fqIndexPattern, '@timestamp'); await ml.testResources.createIndexPatternIfNeeded(ihpIndexPattern); await ml.testResources.createIndexPatternIfNeeded(egsIndexPattern); await ml.testResources.createIndexPatternIfNeeded(bmIndexPattern); await ml.testResources.createIndexPatternIfNeeded(ecIndexPattern, 'order_date'); await ml.testResources.setKibanaTimeZoneToUTC(); - await ml.api.createAndRunAnomalyDetectionLookbackJob( - ml.commonConfig.getADFqMultiMetricJobConfig(adJobId), - ml.commonConfig.getADFqDatafeedConfig(adJobId) - ); - await ml.api.createAndRunDFAJob( ml.commonConfig.getDFAIhpOutlierDetectionJobConfig(dfaOutlierResultsJobId) ); - - await ml.api.createCalendar(calendarId, { - calendar_id: calendarId, - job_ids: [], - description: 'Test calendar', - }); - await ml.api.createCalendarEvents(calendarId, [ - { - description: eventDescription, - start_time: '1513641600000', - end_time: '1513728000000', - }, - ]); - - await ml.api.createFilter(filterId, { - description: 'Test filter list', - items: filterItems, - }); }); after(async () => { await ml.api.cleanMlIndices(); await ml.api.deleteIndices(`user-${dfaOutlierResultsJobId}`); - await ml.api.deleteCalendar(calendarId); - await ml.api.deleteFilter(filterId); - await ml.testResources.deleteIndexPatternByTitle(fqIndexPattern); await ml.testResources.deleteIndexPatternByTitle(ihpIndexPattern); await ml.testResources.deleteIndexPatternByTitle(egsIndexPattern); await ml.testResources.deleteIndexPatternByTitle(bmIndexPattern); await ml.testResources.deleteIndexPatternByTitle(ecIndexPattern); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/farequote'); await esArchiver.unload('x-pack/test/functional/es_archives/ml/ihp_outlier'); await esArchiver.unload('x-pack/test/functional/es_archives/ml/egs_regression'); await esArchiver.unload('x-pack/test/functional/es_archives/ml/bm_classification'); @@ -282,299 +110,6 @@ export default function ({ getService }: FtrProviderContext) { await a11y.testAppSnapshot(); }); - it('anomaly detection jobs list page', async () => { - await ml.navigation.navigateToAnomalyDetection(); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create job select index pattern page', async () => { - await ml.jobManagement.navigateToNewJobSourceSelection(); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create job select type page', async () => { - await ml.jobSourceSelection.selectSourceForAnomalyDetectionJob(fqIndexPattern); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create single metric job time range step', async () => { - await ml.jobTypeSelection.selectSingleMetricJob(); - await ml.testExecution.logTestStep('job creation set the time range'); - await ml.jobWizardCommon.clickUseFullDataButton( - 'Feb 7, 2016 @ 00:00:00.000', - 'Feb 11, 2016 @ 23:59:54.000' - ); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create single metric job pick fields step', async () => { - await ml.jobWizardCommon.advanceToPickFieldsSection(); - await ml.testExecution.logTestStep('job creation selects field and aggregation'); - await ml.jobWizardCommon.selectAggAndField(adJobAggAndFieldIdentifier, true); - await ml.testExecution.logTestStep('job creation inputs the bucket span'); - await ml.jobWizardCommon.setBucketSpan(adJobBucketSpan); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create single metric job details step', async () => { - await ml.jobWizardCommon.advanceToJobDetailsSection(); - await ml.testExecution.logTestStep('job creation inputs the job id'); - await ml.jobWizardCommon.setJobId(adSingleMetricJobId); - await ml.testExecution.logTestStep('job creation opens the additional settings section'); - await ml.jobWizardCommon.ensureAdditionalSettingsSectionOpen(); - await ml.testExecution.logTestStep('job creation opens the advanced section'); - await ml.jobWizardCommon.ensureAdvancedSectionOpen(); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create single metric job validation step', async () => { - await ml.jobWizardCommon.advanceToValidationSection(); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create single metric job summary step', async () => { - await ml.jobWizardCommon.advanceToSummarySection(); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create multi metric job and move to time range step', async () => { - // Proceed all the way to the step for selecting the time range - // as the other steps have already been tested for the single metric job - await ml.navigation.navigateToAnomalyDetection(); - await ml.jobManagement.navigateToNewJobSourceSelection(); - await ml.jobSourceSelection.selectSourceForAnomalyDetectionJob(fqIndexPattern); - await ml.jobTypeSelection.selectMultiMetricJob(); - await ml.testExecution.logTestStep('job creation set the time range'); - await ml.jobWizardCommon.clickUseFullDataButton( - 'Feb 7, 2016 @ 00:00:00.000', - 'Feb 11, 2016 @ 23:59:54.000' - ); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create multi metric job pick fields step', async () => { - await ml.jobWizardCommon.advanceToPickFieldsSection(); - await ml.testExecution.logTestStep('job creation selects field and aggregation'); - await ml.jobWizardCommon.selectAggAndField(adJobAggAndFieldIdentifier, false); - await ml.testExecution.logTestStep('job creation selects split field'); - await ml.jobWizardMultiMetric.selectSplitField(adMultiSplitField); - await ml.testExecution.logTestStep('job creation inputs the bucket span'); - await ml.jobWizardCommon.setBucketSpan(adJobBucketSpan); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create multi metric job details step', async () => { - await ml.jobWizardCommon.advanceToJobDetailsSection(); - await ml.testExecution.logTestStep('job creation inputs the job id'); - await ml.jobWizardCommon.setJobId(adMultiMetricJobId); - await ml.testExecution.logTestStep('job creation inputs the job description'); - await ml.jobWizardCommon.setJobDescription(adMultiMetricJobDescription); - await ml.testExecution.logTestStep('job creation opens the additional settings section'); - await ml.jobWizardCommon.ensureAdditionalSettingsSectionOpen(); - await ml.testExecution.logTestStep('job creation opens the advanced section'); - await ml.jobWizardCommon.ensureAdvancedSectionOpen(); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create multi metric job validation step', async () => { - await ml.jobWizardCommon.advanceToValidationSection(); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create multi metric job summary step', async () => { - await ml.jobWizardCommon.advanceToSummarySection(); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create advanced job open wizard', async () => { - await ml.navigation.navigateToMl(); - await ml.navigation.navigateToJobManagement(); - - await ml.jobManagement.navigateToNewJobSourceSelection(); - - await ml.jobSourceSelection.selectSourceForAnomalyDetectionJob( - advancedJobTestData.jobSource - ); - - await ml.jobTypeSelection.selectAdvancedJob(); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create advanced job pick fields step', async () => { - await ml.jobWizardCommon.advanceToPickFieldsSection(); - await a11y.testAppSnapshot(); - - for (const detector of advancedJobTestData.pickFieldsConfig.detectors) { - await ml.jobWizardAdvanced.openCreateDetectorModal(); - await a11y.testAppSnapshot(); - - await ml.jobWizardAdvanced.selectDetectorFunction(detector.function); - if (detector.hasOwnProperty('field')) { - await ml.jobWizardAdvanced.selectDetectorField(detector.field!); - } - if (detector.hasOwnProperty('byField')) { - await ml.jobWizardAdvanced.selectDetectorByField(detector.byField!); - } - if (detector.hasOwnProperty('overField')) { - await ml.jobWizardAdvanced.selectDetectorOverField(detector.overField!); - } - if (detector.hasOwnProperty('partitionField')) { - await ml.jobWizardAdvanced.selectDetectorPartitionField(detector.partitionField!); - } - if (detector.hasOwnProperty('excludeFrequent')) { - await ml.jobWizardAdvanced.selectDetectorExcludeFrequent(detector.excludeFrequent!); - } - if (detector.hasOwnProperty('description')) { - await ml.jobWizardAdvanced.setDetectorDescription(detector.description!); - } - - await ml.jobWizardAdvanced.confirmAddDetectorModal(); - } - - await ml.testExecution.logTestStep('job creation inputs the bucket span'); - await ml.jobWizardCommon.setBucketSpan(advancedJobTestData.pickFieldsConfig.bucketSpan); - - await ml.testExecution.logTestStep('job creation inputs influencers'); - for (const influencer of advancedJobTestData.pickFieldsConfig.influencers) { - await ml.jobWizardCommon.addInfluencer(influencer); - } - - await ml.testExecution.logTestStep('job creation inputs the model memory limit'); - await ml.jobWizardCommon.setModelMemoryLimit( - advancedJobTestData.pickFieldsConfig.memoryLimit, - { - withAdvancedSection: false, - } - ); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create advanced job job details step', async () => { - await ml.jobWizardCommon.advanceToJobDetailsSection(); - await ml.jobWizardCommon.setJobId(advancedJobTestData.jobId); - await ml.jobWizardCommon.setJobDescription(advancedJobTestData.jobDescription); - for (const jobGroup of advancedJobTestData.jobGroups) { - await ml.jobWizardCommon.addJobGroup(jobGroup); - } - await ml.jobWizardCommon.ensureAdditionalSettingsSectionOpen(); - await ml.jobWizardCommon.addCustomUrl({ label: 'check-kibana-dashboard' }); - await ml.jobWizardCommon.addCalendar(calendarId); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create advanced job validation step', async () => { - await ml.jobWizardCommon.advanceToValidationSection(); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create advanced job job summary step', async () => { - await ml.jobWizardCommon.advanceToSummarySection(); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create population job open wizard', async () => { - await ml.navigation.navigateToJobManagement(); - await ml.jobManagement.navigateToNewJobSourceSelection(); - - await ml.jobSourceSelection.selectSourceForAnomalyDetectionJob(ecIndexPattern); - - await ml.testExecution.logTestStep('job creation loads the population job wizard page'); - await ml.jobTypeSelection.selectPopulationJob(); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create population job pick fields step', async () => { - await ml.jobWizardCommon.advanceToPickFieldsSection(); - await ml.jobWizardPopulation.selectPopulationField(populationJobTestData.populationField); - for (const [ - index, - detector, - ] of populationJobTestData.pickFieldsConfig.detectors.entries()) { - await ml.jobWizardCommon.selectAggAndField(detector.identifier, false); - await ml.jobWizardCommon.assertDetectorPreviewExists( - detector.identifier, - index, - 'SCATTER' - ); - } - - for (const [ - index, - detector, - ] of populationJobTestData.pickFieldsConfig.detectors.entries()) { - await ml.jobWizardPopulation.assertDetectorSplitFieldInputExists(index); - await ml.jobWizardPopulation.selectDetectorSplitField(index, detector.splitField); - } - await ml.jobWizardCommon.setBucketSpan(populationJobTestData.pickFieldsConfig.bucketSpan); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create population job details step', async () => { - await ml.jobWizardCommon.advanceToJobDetailsSection(); - - await ml.jobWizardCommon.setJobId(populationJobTestData.jobId); - await ml.jobWizardCommon.setJobDescription(populationJobTestData.jobDescription); - for (const jobGroup of populationJobTestData.jobGroups) { - await ml.jobWizardCommon.addJobGroup(jobGroup); - } - await ml.jobWizardCommon.ensureAdditionalSettingsSectionOpen(); - await ml.jobWizardCommon.addCustomUrl({ label: 'check-kibana-dashboard' }); - await ml.jobWizardCommon.addCalendar(calendarId); - - await ml.testExecution.logTestStep('job creation inputs the model memory limit'); - await ml.jobWizardCommon.setModelMemoryLimit( - populationJobTestData.pickFieldsConfig.memoryLimit - ); - - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create population job validation step', async () => { - await ml.jobWizardCommon.advanceToValidationSection(); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection create population job summary step', async () => { - await ml.jobWizardCommon.advanceToSummarySection(); - await a11y.testAppSnapshot(); - }); - - it('anomaly detection Single Metric Viewer page', async () => { - await ml.navigation.navigateToMl(); - await ml.navigation.navigateToAnomalyDetection(); - await ml.jobTable.clickOpenJobInSingleMetricViewerButton(adJobId); - await ml.commonUI.waitForMlLoadingIndicatorToDisappear(); - - await ml.testExecution.logTestStep('should input the airline entity value'); - await ml.singleMetricViewer.assertEntityInputExist('airline'); - await ml.singleMetricViewer.assertEntityInputSelection('airline', []); - await ml.singleMetricViewer.selectEntityValue('airline', 'AAL'); - - await a11y.testAppSnapshot(); - }); - - it('anomaly detection forecasting from Single Metric Viewer page', async () => { - await ml.testExecution.logTestStep('opens the forecasting modal showing no forecasts'); - await ml.forecast.openForecastModal(); - await a11y.testAppSnapshot(); - - await ml.testExecution.logTestStep('run the forecast and close the modal'); - await ml.forecast.clickForecastModalRunButton(); - - await ml.testExecution.logTestStep('opens the forecasting modal showing a forecast'); - await ml.forecast.openForecastModal(); - await a11y.testAppSnapshot(); - - await ml.testExecution.logTestStep('closes the forecasting modal'); - await ml.forecast.closeForecastModal(); - }); - - it('anomaly detection Anomaly Explorer page', async () => { - await ml.singleMetricViewer.openAnomalyExplorer(); - await ml.commonUI.waitForMlLoadingIndicatorToDisappear(); - await a11y.testAppSnapshot(); - }); - it('data frame analytics page', async () => { await ml.navigation.navigateToDataFrameAnalytics(); await a11y.testAppSnapshot(); @@ -734,33 +269,6 @@ export default function ({ getService }: FtrProviderContext) { await a11y.testAppSnapshot(); }); - it('settings page', async () => { - await ml.navigation.navigateToMl(); - await ml.navigation.navigateToSettings(); - await a11y.testAppSnapshot(); - }); - - it('calendar management page', async () => { - await ml.settings.navigateToCalendarManagement(); - await a11y.testAppSnapshot(); - }); - - it('edit calendar page', async () => { - await ml.settingsCalendar.openCalendarEditForm(calendarId); - await a11y.testAppSnapshot(); - }); - - it('filter list management page', async () => { - await ml.navigation.navigateToSettings(); - await ml.settings.navigateToFilterListsManagement(); - await a11y.testAppSnapshot(); - }); - - it('edit filter list page', async () => { - await ml.settingsFilterList.openFilterListEditForm(filterId); - await a11y.testAppSnapshot(); - }); - it('data visualizer selector page', async () => { await ml.navigation.navigateToDataVisualizer(); await a11y.testAppSnapshot(); diff --git a/x-pack/test/accessibility/apps/ml_anomaly_detection.ts b/x-pack/test/accessibility/apps/ml_anomaly_detection.ts new file mode 100644 index 0000000000000..c8cff8616f23c --- /dev/null +++ b/x-pack/test/accessibility/apps/ml_anomaly_detection.ts @@ -0,0 +1,650 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../ftr_provider_context'; + +interface Detector { + identifier: string; + function: string; + field?: string; + byField?: string; + overField?: string; + partitionField?: string; + excludeFrequent?: string; + description?: string; +} + +export default function ({ getService }: FtrProviderContext) { + const a11y = getService('a11y'); + const ml = getService('ml'); + + describe('machine learning anomaly detection Accessibility', function () { + const esArchiver = getService('esArchiver'); + + before(async () => { + await ml.securityCommon.createMlRoles(); + await ml.securityCommon.createMlUsers(); + }); + + after(async () => { + await ml.securityCommon.cleanMlUsers(); + await ml.securityCommon.cleanMlRoles(); + }); + + describe('for user with full ML access', function () { + before(async () => { + await ml.securityUI.loginAsMlPowerUser(); + await ml.api.cleanMlIndices(); + }); + + after(async () => { + // NOTE: Logout needs to happen before anything else to avoid flaky behavior + await ml.securityUI.logout(); + }); + + describe('with no data loaded', function () { + it('anomaly detection page', async () => { + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToAnomalyDetection(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection settings page', async () => { + await ml.navigation.navigateToSettings(); + await a11y.testAppSnapshot(); + }); + }); + + describe('with data loaded', function () { + const adJobId = 'fq_single_a11y'; + const calendarId = 'calendar_a11y'; + const eventDescription = 'calendar_event_a11y'; + const filterId = 'filter_a11y'; + const filterItems = ['filter_item_a11y']; + const fqIndexPattern = 'ft_farequote'; + const ecIndexPattern = 'ft_module_sample_ecommerce'; + + const categorizationIndexPattern = 'ft_categorization_small'; + + const adJobAggAndFieldIdentifier = 'Mean(responsetime)'; + const adJobBucketSpan = '30m'; + const adSingleMetricJobId = `fq_single_a11y_${Date.now()}`; + const adMultiSplitField = 'airline'; + const adMultiMetricJobId = `fq_multi_a11y_${Date.now()}`; + const adMultiMetricJobDescription = + 'Multi metric job based on the farequote dataset with 30m bucketspan and mean(responsetime) split by airline'; + const adCategorizationDetectorType = 'Rare'; + const adCategorizationFieldIdentifier = 'field1'; + const adCategorizationJobId = `categorization_a11y_${Date.now()}`; + const adCategorizationJobDescription = + 'categorization job based on the ft_categorization dataset looking for rare field1 values'; + const adRecognizerJobModuleId = 'sample_data_ecommerce'; + const adRecognizerJobIdPrefix = 'ally_'; + + const advancedJobTestData = { + suiteTitle: 'with multiple metric detectors and custom datafeed settings', + jobSource: ecIndexPattern, + jobId: `ec_advanced_1_${Date.now()}`, + get jobIdClone(): string { + return `${this.jobId}_clone`; + }, + jobDescription: `Create advanced job from ${ecIndexPattern} dataset with multiple metric detectors and custom datafeed settings`, + jobGroups: ['automated', 'ecommerce', 'advanced'], + get jobGroupsClone(): string[] { + return [...this.jobGroups, 'clone']; + }, + pickFieldsConfig: { + detectors: [ + { + identifier: 'high_count', + function: 'high_count', + description: 'high_count detector without split', + } as Detector, + { + identifier: 'mean("products.base_price") by "category.keyword"', + function: 'mean', + field: 'products.base_price', + byField: 'category.keyword', + } as Detector, + { + identifier: 'sum("products.discount_amount") over customer_id', + function: 'sum', + field: 'products.discount_amount', + overField: 'customer_id', + } as Detector, + { + identifier: 'median(total_quantity) partition_field_name=customer_gender', + function: 'median', + field: 'total_quantity', + partitionField: 'customer_gender', + } as Detector, + { + identifier: + 'max(total_quantity) by "geoip.continent_name" over customer_id partition_field_name=customer_gender', + function: 'max', + field: 'total_quantity', + byField: 'geoip.continent_name', + overField: 'customer_id', + partitionField: 'customer_gender', + } as Detector, + ], + influencers: [ + 'customer_id', + 'category.keyword', + 'geoip.continent_name', + 'customer_gender', + ], + bucketSpan: '1h', + memoryLimit: '10mb', + }, + datafeedConfig: { + queryDelay: '55s', + frequency: '350s', + scrollSize: '999', + }, + }; + const populationJobTestData = { + suiteTitle: 'population job', + jobSource: ecIndexPattern, + jobId: `ec_population_1_${Date.now()}`, + get jobIdClone(): string { + return `${this.jobId}_clone`; + }, + jobDescription: + 'Create population job based on the ecommerce sample dataset with 2h bucketspan over customer_id' + + ' - detectors: (Mean(products.base_price) by customer_gender), (Mean(products.quantity) by category.leyword)', + jobGroups: ['automated', 'ecommerce', 'population'], + get jobGroupsClone(): string[] { + return [...this.jobGroups, 'clone']; + }, + populationField: 'customer_id', + pickFieldsConfig: { + detectors: [ + { + identifier: 'Mean(products.base_price)', + splitField: 'customer_gender', + frontCardTitle: 'FEMALE', + numberOfBackCards: 1, + }, + { + identifier: 'Mean(products.quantity)', + splitField: 'category.keyword', + frontCardTitle: "Men's Clothing", + numberOfBackCards: 5, + }, + ], + influencers: [ + 'customer_id', + 'category.keyword', + 'geoip.continent_name', + 'customer_gender', + ], + bucketSpan: '2h', + memoryLimit: '8mb', + }, + datafeedConfig: { + queryDelay: '55s', + frequency: '350s', + scrollSize: '999', + }, + }; + + before(async () => { + await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/farequote'); + await esArchiver.loadIfNeeded( + 'x-pack/test/functional/es_archives/ml/module_sample_ecommerce' + ); + await esArchiver.loadIfNeeded( + 'x-pack/test/functional/es_archives/ml/categorization_small' + ); + await ml.testResources.createIndexPatternIfNeeded(fqIndexPattern, '@timestamp'); + await ml.testResources.createIndexPatternIfNeeded(ecIndexPattern, 'order_date'); + await ml.testResources.createIndexPatternIfNeeded( + 'ft_categorization_small', + '@timestamp' + ); + await ml.testResources.setKibanaTimeZoneToUTC(); + + await ml.api.createAndRunAnomalyDetectionLookbackJob( + ml.commonConfig.getADFqMultiMetricJobConfig(adJobId), + ml.commonConfig.getADFqDatafeedConfig(adJobId) + ); + + await ml.api.createCalendar(calendarId, { + calendar_id: calendarId, + job_ids: [], + description: 'Test calendar', + }); + await ml.api.createCalendarEvents(calendarId, [ + { + description: eventDescription, + start_time: '1513641600000', + end_time: '1513728000000', + }, + ]); + + await ml.api.createFilter(filterId, { + description: 'Test filter list', + items: filterItems, + }); + }); + + after(async () => { + await ml.api.cleanMlIndices(); + await ml.api.deleteCalendar(calendarId); + await ml.api.deleteFilter(filterId); + + await ml.testResources.deleteIndexPatternByTitle(fqIndexPattern); + await ml.testResources.deleteIndexPatternByTitle(ecIndexPattern); + await ml.testResources.deleteIndexPatternByTitle(categorizationIndexPattern); + await esArchiver.unload('x-pack/test/functional/es_archives/ml/farequote'); + await esArchiver.unload('x-pack/test/functional/es_archives/ml/module_sample_ecommerce'); + await esArchiver.unload('x-pack/test/functional/es_archives/ml/categorization_small'); + await ml.testResources.resetKibanaTimeZone(); + }); + + it('anomaly detection jobs list page', async () => { + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToAnomalyDetection(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create job select index pattern page', async () => { + await ml.jobManagement.navigateToNewJobSourceSelection(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create job select type page', async () => { + await ml.jobSourceSelection.selectSourceForAnomalyDetectionJob(fqIndexPattern); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create single metric job time range step', async () => { + await ml.jobTypeSelection.selectSingleMetricJob(); + await ml.testExecution.logTestStep('job creation set the time range'); + await ml.jobWizardCommon.clickUseFullDataButton( + 'Feb 7, 2016 @ 00:00:00.000', + 'Feb 11, 2016 @ 23:59:54.000' + ); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create single metric job pick fields step', async () => { + await ml.jobWizardCommon.advanceToPickFieldsSection(); + await ml.testExecution.logTestStep('job creation selects field and aggregation'); + await ml.jobWizardCommon.selectAggAndField(adJobAggAndFieldIdentifier, true); + await ml.testExecution.logTestStep('job creation inputs the bucket span'); + await ml.jobWizardCommon.setBucketSpan(adJobBucketSpan); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create single metric job details step', async () => { + await ml.jobWizardCommon.advanceToJobDetailsSection(); + await ml.testExecution.logTestStep('job creation inputs the job id'); + await ml.jobWizardCommon.setJobId(adSingleMetricJobId); + await ml.testExecution.logTestStep('job creation opens the additional settings section'); + await ml.jobWizardCommon.ensureAdditionalSettingsSectionOpen(); + await ml.testExecution.logTestStep('job creation opens the advanced section'); + await ml.jobWizardCommon.ensureAdvancedSectionOpen(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create single metric job validation step', async () => { + await ml.jobWizardCommon.advanceToValidationSection(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create single metric job summary step', async () => { + await ml.jobWizardCommon.advanceToSummarySection(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create multi metric job and move to time range step', async () => { + // Proceed all the way to the step for selecting the time range + // as the other steps have already been tested for the single metric job + await ml.navigation.navigateToAnomalyDetection(); + await ml.jobManagement.navigateToNewJobSourceSelection(); + await ml.jobSourceSelection.selectSourceForAnomalyDetectionJob(fqIndexPattern); + await ml.jobTypeSelection.selectMultiMetricJob(); + await ml.testExecution.logTestStep('job creation set the time range'); + await ml.jobWizardCommon.clickUseFullDataButton( + 'Feb 7, 2016 @ 00:00:00.000', + 'Feb 11, 2016 @ 23:59:54.000' + ); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create multi metric job pick fields step', async () => { + await ml.jobWizardCommon.advanceToPickFieldsSection(); + await ml.testExecution.logTestStep('job creation selects field and aggregation'); + await ml.jobWizardCommon.selectAggAndField(adJobAggAndFieldIdentifier, false); + await ml.testExecution.logTestStep('job creation selects split field'); + await ml.jobWizardMultiMetric.selectSplitField(adMultiSplitField); + await ml.testExecution.logTestStep('job creation inputs the bucket span'); + await ml.jobWizardCommon.setBucketSpan(adJobBucketSpan); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create multi metric job details step', async () => { + await ml.jobWizardCommon.advanceToJobDetailsSection(); + await ml.testExecution.logTestStep('job creation inputs the job id'); + await ml.jobWizardCommon.setJobId(adMultiMetricJobId); + await ml.testExecution.logTestStep('job creation inputs the job description'); + await ml.jobWizardCommon.setJobDescription(adMultiMetricJobDescription); + await ml.testExecution.logTestStep('job creation opens the additional settings section'); + await ml.jobWizardCommon.ensureAdditionalSettingsSectionOpen(); + await ml.testExecution.logTestStep('job creation opens the advanced section'); + await ml.jobWizardCommon.ensureAdvancedSectionOpen(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create multi metric job validation step', async () => { + await ml.jobWizardCommon.advanceToValidationSection(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create multi metric job summary step', async () => { + await ml.jobWizardCommon.advanceToSummarySection(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create advanced job open wizard', async () => { + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToJobManagement(); + + await ml.jobManagement.navigateToNewJobSourceSelection(); + + await ml.jobSourceSelection.selectSourceForAnomalyDetectionJob( + advancedJobTestData.jobSource + ); + + await ml.jobTypeSelection.selectAdvancedJob(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create advanced job pick fields step', async () => { + await ml.jobWizardCommon.advanceToPickFieldsSection(); + await a11y.testAppSnapshot(); + + for (const detector of advancedJobTestData.pickFieldsConfig.detectors) { + await ml.jobWizardAdvanced.openCreateDetectorModal(); + await a11y.testAppSnapshot(); + + await ml.jobWizardAdvanced.selectDetectorFunction(detector.function); + if (detector.hasOwnProperty('field')) { + await ml.jobWizardAdvanced.selectDetectorField(detector.field!); + } + if (detector.hasOwnProperty('byField')) { + await ml.jobWizardAdvanced.selectDetectorByField(detector.byField!); + } + if (detector.hasOwnProperty('overField')) { + await ml.jobWizardAdvanced.selectDetectorOverField(detector.overField!); + } + if (detector.hasOwnProperty('partitionField')) { + await ml.jobWizardAdvanced.selectDetectorPartitionField(detector.partitionField!); + } + if (detector.hasOwnProperty('excludeFrequent')) { + await ml.jobWizardAdvanced.selectDetectorExcludeFrequent(detector.excludeFrequent!); + } + if (detector.hasOwnProperty('description')) { + await ml.jobWizardAdvanced.setDetectorDescription(detector.description!); + } + + await ml.jobWizardAdvanced.confirmAddDetectorModal(); + } + + await ml.testExecution.logTestStep('job creation inputs the bucket span'); + await ml.jobWizardCommon.setBucketSpan(advancedJobTestData.pickFieldsConfig.bucketSpan); + + await ml.testExecution.logTestStep('job creation inputs influencers'); + for (const influencer of advancedJobTestData.pickFieldsConfig.influencers) { + await ml.jobWizardCommon.addInfluencer(influencer); + } + + await ml.testExecution.logTestStep('job creation inputs the model memory limit'); + await ml.jobWizardCommon.setModelMemoryLimit( + advancedJobTestData.pickFieldsConfig.memoryLimit, + { + withAdvancedSection: false, + } + ); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create advanced job job details step', async () => { + await ml.jobWizardCommon.advanceToJobDetailsSection(); + await ml.jobWizardCommon.setJobId(advancedJobTestData.jobId); + await ml.jobWizardCommon.setJobDescription(advancedJobTestData.jobDescription); + for (const jobGroup of advancedJobTestData.jobGroups) { + await ml.jobWizardCommon.addJobGroup(jobGroup); + } + await ml.jobWizardCommon.ensureAdditionalSettingsSectionOpen(); + await ml.jobWizardCommon.addCustomUrl({ label: 'check-kibana-dashboard' }); + await ml.jobWizardCommon.addCalendar(calendarId); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create advanced job validation step', async () => { + await ml.jobWizardCommon.advanceToValidationSection(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create advanced job job summary step', async () => { + await ml.jobWizardCommon.advanceToSummarySection(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create population job open wizard', async () => { + await ml.navigation.navigateToJobManagement(); + await ml.jobManagement.navigateToNewJobSourceSelection(); + + await ml.jobSourceSelection.selectSourceForAnomalyDetectionJob(ecIndexPattern); + + await ml.testExecution.logTestStep('job creation loads the population job wizard page'); + await ml.jobTypeSelection.selectPopulationJob(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create population job pick fields step', async () => { + await ml.jobWizardCommon.advanceToPickFieldsSection(); + await ml.jobWizardPopulation.selectPopulationField(populationJobTestData.populationField); + for (const [ + index, + detector, + ] of populationJobTestData.pickFieldsConfig.detectors.entries()) { + await ml.jobWizardCommon.selectAggAndField(detector.identifier, false); + await ml.jobWizardCommon.assertDetectorPreviewExists( + detector.identifier, + index, + 'SCATTER' + ); + } + + for (const [ + index, + detector, + ] of populationJobTestData.pickFieldsConfig.detectors.entries()) { + await ml.jobWizardPopulation.assertDetectorSplitFieldInputExists(index); + await ml.jobWizardPopulation.selectDetectorSplitField(index, detector.splitField); + } + await ml.jobWizardCommon.setBucketSpan(populationJobTestData.pickFieldsConfig.bucketSpan); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create population job details step', async () => { + await ml.jobWizardCommon.advanceToJobDetailsSection(); + + await ml.jobWizardCommon.setJobId(populationJobTestData.jobId); + await ml.jobWizardCommon.setJobDescription(populationJobTestData.jobDescription); + for (const jobGroup of populationJobTestData.jobGroups) { + await ml.jobWizardCommon.addJobGroup(jobGroup); + } + await ml.jobWizardCommon.ensureAdditionalSettingsSectionOpen(); + await ml.jobWizardCommon.addCustomUrl({ label: 'check-kibana-dashboard' }); + await ml.jobWizardCommon.addCalendar(calendarId); + + await ml.testExecution.logTestStep('job creation inputs the model memory limit'); + await ml.jobWizardCommon.setModelMemoryLimit( + populationJobTestData.pickFieldsConfig.memoryLimit + ); + + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create population job validation step', async () => { + await ml.jobWizardCommon.advanceToValidationSection(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create population job summary step', async () => { + await ml.jobWizardCommon.advanceToSummarySection(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create categorization job and move to time range step', async () => { + await ml.navigation.navigateToJobManagement(); + await ml.jobManagement.navigateToNewJobSourceSelection(); + + await ml.jobSourceSelection.selectSourceForAnomalyDetectionJob( + categorizationIndexPattern + ); + + await ml.testExecution.logTestStep( + 'job creation loads the categorization job wizard page' + ); + await ml.jobTypeSelection.selectCategorizationJob(); + await ml.testExecution.logTestStep('job creation set the time range'); + await ml.jobWizardCommon.clickUseFullDataButton( + 'Apr 5, 2019 @ 11:25:35.770', + 'Nov 21, 2019 @ 00:01:13.923' + ); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create categorization job pick fields step', async () => { + await ml.jobWizardCommon.advanceToPickFieldsSection(); + await ml.testExecution.logTestStep( + `job creation selects ${adCategorizationDetectorType} detector type` + ); + await ml.jobWizardCategorization.selectCategorizationDetectorType( + adCategorizationDetectorType + ); + await ml.testExecution.logTestStep(`job creation selects the categorization field`); + await ml.jobWizardCategorization.selectCategorizationField( + adCategorizationFieldIdentifier + ); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create categorization job details step', async () => { + await ml.jobWizardCommon.advanceToJobDetailsSection(); + await ml.testExecution.logTestStep('job creation inputs the job id'); + await ml.jobWizardCommon.setJobId(adCategorizationJobId); + await ml.testExecution.logTestStep('job creation inputs the job description'); + await ml.jobWizardCommon.setJobDescription(adCategorizationJobDescription); + await ml.testExecution.logTestStep('job creation opens the additional settings section'); + await ml.jobWizardCommon.ensureAdditionalSettingsSectionOpen(); + await ml.testExecution.logTestStep('job creation opens the advanced section'); + await ml.jobWizardCommon.ensureAdvancedSectionOpen(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create categorization job validation step', async () => { + await ml.jobWizardCommon.advanceToValidationSection(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create categorization job summary step', async () => { + await ml.jobWizardCommon.advanceToSummarySection(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create job from data recognizer module open wizard', async () => { + await ml.navigation.navigateToJobManagement(); + await ml.jobManagement.navigateToNewJobSourceSelection(); + await ml.jobSourceSelection.selectSourceForAnomalyDetectionJob(ecIndexPattern); + await ml.testExecution.logTestStep( + `job creation loads the data recognizer job wizard page for the ${adRecognizerJobModuleId} module` + ); + await ml.jobTypeSelection.selectRecognizerJob(adRecognizerJobModuleId); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection create data recognizer job details step', async () => { + await ml.testExecution.logTestStep('job creation inputs the job id prefix'); + await ml.jobWizardRecognizer.setJobIdPrefix(adRecognizerJobIdPrefix); + await ml.testExecution.logTestStep('job creation opens the advanced section'); + await ml.jobWizardCommon.ensureAdvancedSectionOpen(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection Single Metric Viewer page', async () => { + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToAnomalyDetection(); + await ml.jobTable.clickOpenJobInSingleMetricViewerButton(adJobId); + await ml.commonUI.waitForMlLoadingIndicatorToDisappear(); + + await ml.testExecution.logTestStep('should input the airline entity value'); + await ml.singleMetricViewer.assertEntityInputExist('airline'); + await ml.singleMetricViewer.assertEntityInputSelection('airline', []); + await ml.singleMetricViewer.selectEntityValue('airline', 'AAL'); + + await a11y.testAppSnapshot(); + }); + + it('anomaly detection forecasting from Single Metric Viewer page', async () => { + await ml.testExecution.logTestStep('opens the forecasting modal showing no forecasts'); + await ml.forecast.openForecastModal(); + await a11y.testAppSnapshot(); + + await ml.testExecution.logTestStep('run the forecast and close the modal'); + await ml.forecast.clickForecastModalRunButton(); + + await ml.testExecution.logTestStep('opens the forecasting modal showing a forecast'); + await ml.forecast.openForecastModal(); + await a11y.testAppSnapshot(); + + await ml.testExecution.logTestStep('closes the forecasting modal'); + await ml.forecast.closeForecastModal(); + }); + + it('anomaly detection Anomaly Explorer page', async () => { + await ml.singleMetricViewer.openAnomalyExplorer(); + await ml.commonUI.waitForMlLoadingIndicatorToDisappear(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection settings page', async () => { + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToSettings(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection calendar management page', async () => { + await ml.settings.navigateToCalendarManagement(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection edit calendar page', async () => { + await ml.settingsCalendar.openCalendarEditForm(calendarId); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection filter list management page', async () => { + await ml.navigation.navigateToSettings(); + await ml.settings.navigateToFilterListsManagement(); + await a11y.testAppSnapshot(); + }); + + it('anomaly detection edit filter list page', async () => { + await ml.settingsFilterList.openFilterListEditForm(filterId); + await a11y.testAppSnapshot(); + }); + }); + }); + }); +} diff --git a/x-pack/test/accessibility/config.ts b/x-pack/test/accessibility/config.ts index dd059ff56e3b7..1065fc863e358 100644 --- a/x-pack/test/accessibility/config.ts +++ b/x-pack/test/accessibility/config.ts @@ -34,6 +34,7 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { require.resolve('./apps/ingest_node_pipelines'), require.resolve('./apps/index_lifecycle_management'), require.resolve('./apps/ml'), + require.resolve('./apps/ml_anomaly_detection'), require.resolve('./apps/transform'), require.resolve('./apps/lens'), require.resolve('./apps/upgrade_assistant'), diff --git a/x-pack/test/api_integration/apis/kibana/kql_telemetry/kql_telemetry.js b/x-pack/test/api_integration/apis/kibana/kql_telemetry/kql_telemetry.js index 95a65de81e85b..c20b9e95caf01 100644 --- a/x-pack/test/api_integration/apis/kibana/kql_telemetry/kql_telemetry.js +++ b/x-pack/test/api_integration/apis/kibana/kql_telemetry/kql_telemetry.js @@ -6,6 +6,8 @@ */ import expect from '@kbn/expect'; +import { KQL_TELEMETRY_ROUTE_LATEST_VERSION } from '@kbn/data-plugin/common'; +import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common'; export default function ({ getService }) { const supertestNoAuth = getService('supertestWithoutAuth'); @@ -15,9 +17,10 @@ export default function ({ getService }) { describe('no auth', () => { it('should return 401', async () => { return supertestNoAuth - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') .set('kbn-xsrf', 'much access') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: true }) .expect(401); }); @@ -26,9 +29,10 @@ export default function ({ getService }) { describe('with auth', () => { it('should return 200 for a successful request', async () => { return supertest - .post('/api/kibana/kql_opt_in_stats') + .post('/internal/kql_opt_in_stats') .set('content-type', 'application/json') .set('kbn-xsrf', 'such token, wow') + .set(ELASTIC_HTTP_VERSION_HEADER, KQL_TELEMETRY_ROUTE_LATEST_VERSION) .send({ opt_in: true }) .expect('Content-Type', /json/) .expect(200) diff --git a/x-pack/test/api_integration/apis/ml/anomaly_detectors/close_with_spaces.ts b/x-pack/test/api_integration/apis/ml/anomaly_detectors/close_with_spaces.ts index d4d243e13e509..b1c1f650274c5 100644 --- a/x-pack/test/api_integration/apis/ml/anomaly_detectors/close_with_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/anomaly_detectors/close_with_spaces.ts @@ -50,7 +50,7 @@ export default ({ getService }: FtrProviderContext) => { afterEach(async () => { await ml.api.closeAnomalyDetectionJob(jobIdSpace1); await ml.api.cleanMlIndices(); - await ml.testResources.cleanMLSavedObjects(); + await ml.testResources.cleanMLSavedObjects([idSpace1, idSpace2]); }); after(async () => { diff --git a/x-pack/test/api_integration/apis/ml/anomaly_detectors/delete_with_spaces.ts b/x-pack/test/api_integration/apis/ml/anomaly_detectors/delete_with_spaces.ts index d100d6060c5d1..f9044b4863f0d 100644 --- a/x-pack/test/api_integration/apis/ml/anomaly_detectors/delete_with_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/anomaly_detectors/delete_with_spaces.ts @@ -46,7 +46,7 @@ export default ({ getService }: FtrProviderContext) => { afterEach(async () => { await ml.api.cleanMlIndices(); - await ml.testResources.cleanMLSavedObjects(); + await ml.testResources.cleanMLSavedObjects([idSpace1, idSpace2]); }); after(async () => { diff --git a/x-pack/test/api_integration/apis/ml/anomaly_detectors/open_with_spaces.ts b/x-pack/test/api_integration/apis/ml/anomaly_detectors/open_with_spaces.ts index 8cf0ab02507a0..ae28e3d514f6e 100644 --- a/x-pack/test/api_integration/apis/ml/anomaly_detectors/open_with_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/anomaly_detectors/open_with_spaces.ts @@ -49,7 +49,7 @@ export default ({ getService }: FtrProviderContext) => { afterEach(async () => { await ml.api.closeAnomalyDetectionJob(jobIdSpace1); await ml.api.cleanMlIndices(); - await ml.testResources.cleanMLSavedObjects(); + await ml.testResources.cleanMLSavedObjects([idSpace1, idSpace2]); }); after(async () => { diff --git a/x-pack/test/api_integration/apis/ml/data_frame_analytics/delete_spaces.ts b/x-pack/test/api_integration/apis/ml/data_frame_analytics/delete_spaces.ts index eb3b4cb93340b..d843fecc38f00 100644 --- a/x-pack/test/api_integration/apis/ml/data_frame_analytics/delete_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/data_frame_analytics/delete_spaces.ts @@ -50,7 +50,7 @@ export default ({ getService }: FtrProviderContext) => { afterEach(async () => { await ml.api.cleanMlIndices(); - await ml.testResources.cleanMLSavedObjects(); + await ml.testResources.cleanMLSavedObjects([idSpace1, idSpace2]); }); after(async () => { diff --git a/x-pack/test/api_integration/apis/ml/jobs/close_jobs_spaces.ts b/x-pack/test/api_integration/apis/ml/jobs/close_jobs_spaces.ts index 510b3990d45a0..203ba0dcec789 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/close_jobs_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/close_jobs_spaces.ts @@ -58,7 +58,7 @@ export default ({ getService }: FtrProviderContext) => { await ml.api.closeAnomalyDetectionJob(jobIdSpace1); await ml.api.closeAnomalyDetectionJob(jobIdSpace2); await ml.api.cleanMlIndices(); - await ml.testResources.cleanMLSavedObjects(); + await ml.testResources.cleanMLSavedObjects([idSpace1, idSpace2]); }); after(async () => { diff --git a/x-pack/test/api_integration/apis/ml/jobs/delete_jobs_spaces.ts b/x-pack/test/api_integration/apis/ml/jobs/delete_jobs_spaces.ts index 72f87c0a56489..64ce10a3ec414 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/delete_jobs_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/delete_jobs_spaces.ts @@ -53,7 +53,7 @@ export default ({ getService }: FtrProviderContext) => { afterEach(async () => { await ml.api.cleanMlIndices(); - await ml.testResources.cleanMLSavedObjects(); + await ml.testResources.cleanMLSavedObjects([idSpace1, idSpace2]); }); after(async () => { diff --git a/x-pack/test/api_integration/apis/ml/jobs/force_start_datafeeds_spaces.ts b/x-pack/test/api_integration/apis/ml/jobs/force_start_datafeeds_spaces.ts index 132685ba96572..457e352089c07 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/force_start_datafeeds_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/force_start_datafeeds_spaces.ts @@ -87,7 +87,7 @@ export default ({ getService }: FtrProviderContext) => { await ml.api.deleteAnomalyDetectionJobES(jobIdSpace1); await ml.api.deleteAnomalyDetectionJobES(jobIdSpace2); await ml.api.cleanMlIndices(); - await ml.testResources.cleanMLSavedObjects(); + await ml.testResources.cleanMLSavedObjects([idSpace1, idSpace2]); }); after(async () => { diff --git a/x-pack/test/api_integration/apis/ml/jobs/jobs.ts b/x-pack/test/api_integration/apis/ml/jobs/jobs.ts index 3929ed377a51c..a6c423bd8474d 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/jobs.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/jobs.ts @@ -16,6 +16,7 @@ export default ({ getService }: FtrProviderContext) => { const esArchiver = getService('esArchiver'); const supertest = getService('supertestWithoutAuth'); const ml = getService('ml'); + const spacesService = getService('spaces'); const idSpace1 = 'space1'; @@ -95,6 +96,7 @@ export default ({ getService }: FtrProviderContext) => { before(async () => { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/farequote'); await ml.testResources.setKibanaTimeZoneToUTC(); + await spacesService.create({ id: idSpace1, name: 'space_one', disabledFeatures: [] }); for (const job of testSetupJobConfigs) { await ml.api.createAnomalyDetectionJob(job); @@ -123,7 +125,9 @@ export default ({ getService }: FtrProviderContext) => { }); after(async () => { + await spacesService.delete(idSpace1); await ml.api.cleanMlIndices(); + await ml.testResources.cleanMLSavedObjects(); }); it('returns expected list of combined jobs with stats in default space', async () => { diff --git a/x-pack/test/api_integration/apis/ml/jobs/reset.ts b/x-pack/test/api_integration/apis/ml/jobs/reset.ts index 574124448b1e9..0b69097a907e9 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/reset.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/reset.ts @@ -52,8 +52,7 @@ export default ({ getService }: FtrProviderContext) => { [MULTI_METRIC_JOB_CONFIG.job_id]: { reset: true, task: 'cannot be predicted' }, }; - // Failing: See https://github.com/elastic/kibana/issues/160370 - describe.skip('reset_jobs', function () { + describe('reset_jobs', function () { before(async () => { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/farequote'); await ml.testResources.createIndexPatternIfNeeded('ft_farequote', '@timestamp'); diff --git a/x-pack/test/api_integration/apis/ml/jobs/stop_datafeeds_spaces.ts b/x-pack/test/api_integration/apis/ml/jobs/stop_datafeeds_spaces.ts index 9e8c342c8ced4..d42b94073d104 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/stop_datafeeds_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/stop_datafeeds_spaces.ts @@ -90,7 +90,7 @@ export default ({ getService }: FtrProviderContext) => { await ml.api.deleteAnomalyDetectionJobES(jobIdSpace1); await ml.api.deleteAnomalyDetectionJobES(jobIdSpace2); await ml.api.cleanMlIndices(); - await ml.testResources.cleanMLSavedObjects(); + await ml.testResources.cleanMLSavedObjects([idSpace1, idSpace2]); }); after(async () => { diff --git a/x-pack/test/api_integration/apis/ml/jobs/update_groups.ts b/x-pack/test/api_integration/apis/ml/jobs/update_groups.ts index 20ebb75a219e8..5507716eeae91 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/update_groups.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/update_groups.ts @@ -70,6 +70,7 @@ export default ({ getService }: FtrProviderContext) => { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.cleanMLSavedObjects(); }); it('returns expected list of groups after update', async () => { diff --git a/x-pack/test/api_integration/apis/ml/results/get_anomaly_search.ts b/x-pack/test/api_integration/apis/ml/results/get_anomaly_search.ts index 5cfe728abb8b7..9238fe5cce1c6 100644 --- a/x-pack/test/api_integration/apis/ml/results/get_anomaly_search.ts +++ b/x-pack/test/api_integration/apis/ml/results/get_anomaly_search.ts @@ -68,10 +68,10 @@ export default ({ getService }: FtrProviderContext) => { }); after(async () => { - await ml.api.cleanMlIndices(); - await ml.testResources.cleanMLSavedObjects(); await spacesService.delete(idSpace1); await spacesService.delete(idSpace2); + await ml.api.cleanMlIndices(); + await ml.testResources.cleanMLSavedObjects(); }); it('should see results in current space', async () => { diff --git a/x-pack/test/api_integration/apis/ml/saved_objects/remove_from_current_space.ts b/x-pack/test/api_integration/apis/ml/saved_objects/remove_from_current_space.ts index 44232ef2dd01b..9cf0f50a8cbb7 100644 --- a/x-pack/test/api_integration/apis/ml/saved_objects/remove_from_current_space.ts +++ b/x-pack/test/api_integration/apis/ml/saved_objects/remove_from_current_space.ts @@ -69,10 +69,10 @@ export default ({ getService }: FtrProviderContext) => { }); after(async () => { - await ml.api.cleanMlIndices(); - await ml.testResources.cleanMLSavedObjects(); await spacesService.delete(idSpace1); await spacesService.delete(idSpace2); + await ml.api.cleanMlIndices(); + await ml.testResources.cleanMLSavedObjects(); }); it('should remove AD job from current space', async () => { diff --git a/x-pack/test/api_integration/apis/ml/saved_objects/update_jobs_spaces.ts b/x-pack/test/api_integration/apis/ml/saved_objects/update_jobs_spaces.ts index cbe3c584e89ff..1b79fdccb2feb 100644 --- a/x-pack/test/api_integration/apis/ml/saved_objects/update_jobs_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/saved_objects/update_jobs_spaces.ts @@ -61,7 +61,7 @@ export default ({ getService }: FtrProviderContext) => { afterEach(async () => { await ml.api.cleanMlIndices(); - await ml.testResources.cleanMLSavedObjects(); + await ml.testResources.cleanMLSavedObjects([idSpace1, idSpace2]); }); after(async () => { diff --git a/x-pack/test/api_integration/apis/ml/saved_objects/update_trained_model_spaces.ts b/x-pack/test/api_integration/apis/ml/saved_objects/update_trained_model_spaces.ts index 69f5acdbcb03d..a5a87b7015c04 100644 --- a/x-pack/test/api_integration/apis/ml/saved_objects/update_trained_model_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/saved_objects/update_trained_model_spaces.ts @@ -55,7 +55,7 @@ export default ({ getService }: FtrProviderContext) => { afterEach(async () => { await ml.api.cleanMlIndices(); - await ml.testResources.cleanMLSavedObjects(); + await ml.testResources.cleanMLSavedObjects([idSpace1, idSpace2]); }); after(async () => { diff --git a/x-pack/test/api_integration/apis/synthetics/add_monitor_private_location.ts b/x-pack/test/api_integration/apis/synthetics/add_monitor_private_location.ts index f315dd711ff7e..bc2c00a80047f 100644 --- a/x-pack/test/api_integration/apis/synthetics/add_monitor_private_location.ts +++ b/x-pack/test/api_integration/apis/synthetics/add_monitor_private_location.ts @@ -13,7 +13,6 @@ import { omit } from 'lodash'; import { secretKeys } from '@kbn/synthetics-plugin/common/constants/monitor_management'; import { PackagePolicy } from '@kbn/fleet-plugin/common'; import expect from '@kbn/expect'; -import { syntheticsMonitorType } from '@kbn/synthetics-plugin/common/types/saved_objects'; import { FtrProviderContext } from '../../ftr_provider_context'; import { getFixtureJson } from './helper/get_fixture_json'; import { comparePolicies, getTestSyntheticsPolicy } from './sample_data/test_policy'; @@ -35,7 +34,7 @@ export default function ({ getService }: FtrProviderContext) { const security = getService('security'); before(async () => { - await kibanaServer.savedObjects.clean({ types: [syntheticsMonitorType] }); + await kibanaServer.savedObjects.cleanStandardList(); await testPrivateLocations.installSyntheticsPackage(); _httpMonitorJson = getFixtureJson('http_monitor'); @@ -85,26 +84,26 @@ export default function ({ getService }: FtrProviderContext) { it('does not add a monitor if there is an error in creating integration', async () => { const newMonitor = { ...httpMonitorJson }; - const invalidName = '!@#$%^&*()_++[\\-\\]- wow'; + const invalidLocation = testFleetPolicyID + '1'; + const invalidName = 'invalid name'; - newMonitor.locations.push({ - id: testFleetPolicyID, + const location = { + id: invalidLocation, label: 'Test private location 0', isServiceManaged: false, - }); + }; newMonitor.name = invalidName; const apiResponse = await supertestAPI .post(SYNTHETICS_API_URLS.SYNTHETICS_MONITORS) .set('kbn-xsrf', 'true') - .send(newMonitor) + .send({ ...newMonitor, locations: [location, ...newMonitor.locations] }) .expect(500); expect(apiResponse.body).eql({ statusCode: 500, - message: - 'YAMLException: unknown escape sequence at line 3, column 34:\n name: "!@#$,%,^,&,*,(,),_,+,+,[,\\,\\,-,\\,\\,],-, ,w,o,w,"\n ^', + message: `Unable to find Synthetics private location for agentId ${invalidLocation}`, error: 'Internal Server Error', }); diff --git a/x-pack/test/api_integration/apis/synthetics/add_monitor_project_private_location.ts b/x-pack/test/api_integration/apis/synthetics/add_monitor_project_private_location.ts index 6315dd57172e4..29b1d6878b2c8 100644 --- a/x-pack/test/api_integration/apis/synthetics/add_monitor_project_private_location.ts +++ b/x-pack/test/api_integration/apis/synthetics/add_monitor_project_private_location.ts @@ -18,6 +18,7 @@ export default function ({ getService }: FtrProviderContext) { this.tags('skipCloud'); const supertest = getService('supertest'); + const kibanaServer = getService('kibanaServer'); let projectMonitors: ProjectMonitorsRequest; @@ -46,6 +47,10 @@ export default function ({ getService }: FtrProviderContext) { await testPrivateLocations.setTestLocations([testPolicyId]); }); + after(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + }); + beforeEach(() => { projectMonitors = setUniqueIds({ monitors: getFixtureJson('project_browser_monitor').monitors, @@ -58,17 +63,20 @@ export default function ({ getService }: FtrProviderContext) { const secondMonitor = { ...projectMonitors.monitors[0], id: 'test-id-2', - privateLocations: ['Test private location 0'], + privateLocations: ['Test private location 7'], }; const testMonitors = [ projectMonitors.monitors[0], - { ...secondMonitor, name: '!@#$%^&*()_++[\\-\\]- wow name' }, + { + ...secondMonitor, + name: '!@#$%^&*()_++[\\-\\]- wow name', + }, ]; try { const body = await monitorTestService.addProjectMonitors(project, testMonitors); expect(body.createdMonitors.length).eql(1); expect(body.failedMonitors[0].reason).eql( - 'unknown escape sequence at line 3, column 34:\n name: "!@#$,%,^,&,*,(,),_,+,+,[,\\,\\,-,\\,\\,],-, ,w,o,w, ,n,a,m,e,"\n ^' + "Couldn't save or update monitor because of an invalid configuration." ); } finally { await Promise.all([ @@ -88,32 +96,25 @@ export default function ({ getService }: FtrProviderContext) { privateLocations: ['Test private location 0'], }; const testMonitors = [projectMonitors.monitors[0], secondMonitor]; - try { - const body = await monitorTestService.addProjectMonitors(project, testMonitors); - expect(body.createdMonitors.length).eql(2); - const editedBody = await monitorTestService.addProjectMonitors(project, testMonitors); - expect(editedBody.createdMonitors.length).eql(0); - expect(editedBody.updatedMonitors.length).eql(2); - - testMonitors[1].name = '!@#$%^&*()_++[\\-\\]- wow name'; - - const editedBodyError = await monitorTestService.addProjectMonitors(project, testMonitors); - expect(editedBodyError.createdMonitors.length).eql(0); - expect(editedBodyError.updatedMonitors.length).eql(1); - expect(editedBodyError.failedMonitors.length).eql(1); - expect(editedBodyError.failedMonitors[0].details).eql( - 'Failed to update journey: test-id-2' - ); - expect(editedBodyError.failedMonitors[0].reason).eql( - 'unknown escape sequence at line 3, column 34:\n name: "!@#$,%,^,&,*,(,),_,+,+,[,\\,\\,-,\\,\\,],-, ,w,o,w, ,n,a,m,e,"\n ^' - ); - } finally { - await Promise.all([ - testMonitors.map((monitor) => { - return monitorTestService.deleteMonitorByJourney(projectMonitors, monitor.id, project); - }), - ]); - } + const body = await monitorTestService.addProjectMonitors(project, testMonitors); + expect(body.createdMonitors.length).eql(2); + const editedBody = await monitorTestService.addProjectMonitors(project, testMonitors); + expect(editedBody.createdMonitors.length).eql(0); + expect(editedBody.updatedMonitors.length).eql(2); + + testMonitors[1].name = '!@#$%^&*()_++[\\-\\]- wow name'; + testMonitors[1].privateLocations = ['Test private location 8']; + + const editedBodyError = await monitorTestService.addProjectMonitors(project, testMonitors); + expect(editedBodyError.createdMonitors.length).eql(0); + expect(editedBodyError.updatedMonitors.length).eql(1); + expect(editedBodyError.failedMonitors.length).eql(1); + expect(editedBodyError.failedMonitors[0].details).eql( + 'Invalid private location: "Test private location 8". Remove it or replace it with a valid private location.' + ); + expect(editedBodyError.failedMonitors[0].reason).eql( + "Couldn't save or update monitor because of an invalid configuration." + ); }); }); } diff --git a/x-pack/test/api_integration/apis/synthetics/edit_monitor.ts b/x-pack/test/api_integration/apis/synthetics/edit_monitor.ts index 1334579d46d2c..3f6e544eb027a 100644 --- a/x-pack/test/api_integration/apis/synthetics/edit_monitor.ts +++ b/x-pack/test/api_integration/apis/synthetics/edit_monitor.ts @@ -43,6 +43,7 @@ export default function ({ getService }: FtrProviderContext) { }; before(async () => { + await kibanaServer.savedObjects.cleanStandardList(); _httpMonitorJson = getFixtureJson('http_monitor'); await supertest.post('/api/fleet/setup').set('kbn-xsrf', 'true').send().expect(200); await supertest @@ -56,6 +57,10 @@ export default function ({ getService }: FtrProviderContext) { await testPrivateLocations.setTestLocations([testPolicyId]); }); + after(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + }); + beforeEach(() => { httpMonitorJson = { ..._httpMonitorJson }; }); @@ -299,7 +304,7 @@ export default function ({ getService }: FtrProviderContext) { expect(editResponse.body).not.to.have.keys('unknownkey'); }); - it('handles private location errors and does not update the monitor if integration policy is unable to be updated', async () => { + it.skip('handles private location errors and does not update the monitor if integration policy is unable to be updated', async () => { const name = 'Monitor with private location'; const newMonitor = { name, @@ -390,54 +395,47 @@ export default function ({ getService }: FtrProviderContext) { const SPACE_NAME = `test-space-name ${uuidv4()}`; let monitorId = ''; - try { - await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); + await kibanaServer.spaces.create({ id: SPACE_ID, name: SPACE_NAME }); - const response = await supertest - .post(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) - .set('kbn-xsrf', 'true') - .send(newMonitor) - .expect(200); + const response = await supertest + .post(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}`) + .set('kbn-xsrf', 'true') + .send(newMonitor) + .expect(200); - const { id, attributes: savedMonitor } = response.body; - monitorId = id; - const toUpdate = { - ...savedMonitor, - urls: 'https://google.com', - }; - await supertest - .put(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}/${monitorId}`) - .set('kbn-xsrf', 'true') - .send(toUpdate) - .expect(200); + const { id, attributes: savedMonitor } = response.body; + monitorId = id; + const toUpdate = { + ...savedMonitor, + urls: 'https://google.com', + }; + await supertest + .put(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}/${monitorId}`) + .set('kbn-xsrf', 'true') + .send(toUpdate) + .expect(200); - const updatedResponse = await monitorTestService.getMonitor(monitorId, true, SPACE_ID); + const updatedResponse = await monitorTestService.getMonitor(monitorId, true, SPACE_ID); - // ensure monitor was updated - expect(updatedResponse.body.urls).eql(toUpdate.urls); + // ensure monitor was updated + expect(updatedResponse.body.urls).eql(toUpdate.urls); - // update a second time, ensures AAD was not corrupted - const toUpdate2 = { - ...savedMonitor, - urls: 'https://google.com', - }; + // update a second time, ensures AAD was not corrupted + const toUpdate2 = { + ...savedMonitor, + urls: 'https://google.com', + }; - await supertest - .put(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}/${monitorId}`) - .set('kbn-xsrf', 'true') - .send(toUpdate2) - .expect(200); + await supertest + .put(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}/${monitorId}`) + .set('kbn-xsrf', 'true') + .send(toUpdate2) + .expect(200); - const updatedResponse2 = await monitorTestService.getMonitor(monitorId, true, SPACE_ID); + const updatedResponse2 = await monitorTestService.getMonitor(monitorId, true, SPACE_ID); - // ensure monitor was updated - expect(updatedResponse2.body.urls).eql(toUpdate2.urls); - } finally { - await supertest - .delete(`/s/${SPACE_ID}${SYNTHETICS_API_URLS.SYNTHETICS_MONITORS}/${monitorId}`) - .set('kbn-xsrf', 'true') - .expect(200); - } + // ensure monitor was updated + expect(updatedResponse2.body.urls).eql(toUpdate2.urls); }); }); } diff --git a/x-pack/test/api_integration/apis/synthetics/inspect_monitor.ts b/x-pack/test/api_integration/apis/synthetics/inspect_monitor.ts index 44a80f403f71c..4b9346adadc2a 100644 --- a/x-pack/test/api_integration/apis/synthetics/inspect_monitor.ts +++ b/x-pack/test/api_integration/apis/synthetics/inspect_monitor.ts @@ -8,7 +8,6 @@ import { MonitorFields } from '@kbn/synthetics-plugin/common/runtime_types'; import { SYNTHETICS_API_URLS } from '@kbn/synthetics-plugin/common/constants'; import expect from '@kbn/expect'; -import { syntheticsParamType } from '@kbn/synthetics-plugin/common/types/saved_objects'; import { FtrProviderContext } from '../../ftr_provider_context'; import { getFixtureJson } from './helper/get_fixture_json'; import { SyntheticsMonitorTestService } from './services/synthetics_monitor_test_service'; @@ -27,7 +26,9 @@ export default function ({ getService }: FtrProviderContext) { let _monitors: MonitorFields[]; before(async () => { - await kibanaServer.savedObjects.clean({ types: [syntheticsParamType] }); + await kibanaServer.savedObjects.cleanStandardList(); + await kibanaServer.savedObjects.clean({ types: ['synthetics-param'] }); + await testPrivateLocations.installSyntheticsPackage(); await supertest .put(SYNTHETICS_API_URLS.SYNTHETICS_ENABLEMENT) .set('kbn-xsrf', 'true') diff --git a/x-pack/test/apm_api_integration/tests/diagnostics/apm_events.spec.ts b/x-pack/test/apm_api_integration/tests/diagnostics/apm_events.spec.ts index e5c2d205f1405..1dee1eea19f78 100644 --- a/x-pack/test/apm_api_integration/tests/diagnostics/apm_events.spec.ts +++ b/x-pack/test/apm_api_integration/tests/diagnostics/apm_events.spec.ts @@ -28,7 +28,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); it('returns zero data streams`', async () => { - const { status, body } = await apmApiClient.adminUser({ + const { status, body } = await apmApiClient.readUser({ endpoint: 'GET /internal/apm/diagnostics', }); expect(status).to.be(200); @@ -59,7 +59,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { after(() => synthtraceEsClient.clean()); it('returns zero doc_counts when no time range is specified', async () => { - const { body } = await apmApiClient.adminUser({ + const { body } = await apmApiClient.readUser({ endpoint: 'GET /internal/apm/diagnostics', }); @@ -67,7 +67,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); it('returns non-zero doc_counts when time range is specified', async () => { - const { body } = await apmApiClient.adminUser({ + const { body } = await apmApiClient.readUser({ endpoint: 'GET /internal/apm/diagnostics', params: { query: { start: new Date(start).toISOString(), end: new Date(end).toISOString() }, @@ -105,7 +105,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { const expectedDocCount = 450; beforeEach(async () => { - const res = await apmApiClient.adminUser({ + const res = await apmApiClient.readUser({ endpoint: 'GET /internal/apm/diagnostics', params: { query: { start: new Date(start).toISOString(), end: new Date(end).toISOString() }, @@ -168,7 +168,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); it('returns zero doc_counts when filtering by a non-existing service', async () => { - const { body } = await apmApiClient.adminUser({ + const { body } = await apmApiClient.readUser({ endpoint: 'GET /internal/apm/diagnostics', params: { query: { @@ -183,7 +183,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); it('returns non-zero doc_counts when filtering by an existing service', async () => { - const { body } = await apmApiClient.adminUser({ + const { body } = await apmApiClient.readUser({ endpoint: 'GET /internal/apm/diagnostics', params: { query: { diff --git a/x-pack/test/apm_api_integration/tests/diagnostics/privileges.spec.ts b/x-pack/test/apm_api_integration/tests/diagnostics/privileges.spec.ts new file mode 100644 index 0000000000000..e6185cd43270d --- /dev/null +++ b/x-pack/test/apm_api_integration/tests/diagnostics/privileges.spec.ts @@ -0,0 +1,87 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { APIReturnType } from '@kbn/apm-plugin/public/services/rest/create_call_apm_api'; +import expect from '@kbn/expect'; +import { FtrProviderContext } from '../../common/ftr_provider_context'; + +export default function ApiTest({ getService }: FtrProviderContext) { + const registry = getService('registry'); + const apmApiClient = getService('apmApiClient'); + + registry.when('Diagnostics: Privileges', { config: 'basic', archives: [] }, () => { + describe('superuser', () => { + let body: APIReturnType<'GET /internal/apm/diagnostics'>; + + beforeEach(async () => { + const res = await apmApiClient.adminUser({ + endpoint: 'GET /internal/apm/diagnostics', + }); + body = res.body; + expect(res.status).to.be(200); + }); + + it('has all privileges', async () => { + expect(body.diagnosticsPrivileges.hasAllPrivileges).to.be(true); + }); + + it('has all index privileges', async () => { + expect(body.diagnosticsPrivileges.hasAllIndexPrivileges).to.be(true); + expect(body.diagnosticsPrivileges.index).to.eql({ + 'apm-*': { read: true }, + 'logs-apm*': { read: true }, + 'metrics-apm*': { read: true }, + 'traces-apm*': { read: true }, + }); + }); + + it('has all cluster privileges', async () => { + expect(body.diagnosticsPrivileges.hasAllClusterPrivileges).to.be(true); + expect(body.diagnosticsPrivileges.cluster).to.eql({ + read_pipeline: true, + manage_index_templates: true, + monitor: true, + }); + }); + }); + + describe('viewer', () => { + let body: APIReturnType<'GET /internal/apm/diagnostics'>; + + beforeEach(async () => { + const res = await apmApiClient.readUser({ + endpoint: 'GET /internal/apm/diagnostics', + }); + body = res.body; + expect(res.status).to.be(200); + }); + + it('does not have all privileges', async () => { + expect(body.diagnosticsPrivileges.hasAllPrivileges).to.be(false); + }); + + it('has all index privileges', async () => { + expect(body.diagnosticsPrivileges.hasAllIndexPrivileges).to.be(true); + expect(body.diagnosticsPrivileges.index).to.eql({ + 'apm-*': { read: true }, + 'logs-apm*': { read: true }, + 'metrics-apm*': { read: true }, + 'traces-apm*': { read: true }, + }); + }); + + it('does not have any cluster privileges', async () => { + expect(body.diagnosticsPrivileges.hasAllClusterPrivileges).to.be(false); + expect(body.diagnosticsPrivileges.cluster).to.eql({ + read_pipeline: false, + manage_index_templates: false, + monitor: false, + }); + }); + }); + }); +} diff --git a/x-pack/test/cases_api_integration/common/lib/api/configuration.ts b/x-pack/test/cases_api_integration/common/lib/api/configuration.ts index 2d3f7312af474..b0f21f8dc386f 100644 --- a/x-pack/test/cases_api_integration/common/lib/api/configuration.ts +++ b/x-pack/test/cases_api_integration/common/lib/api/configuration.ts @@ -5,10 +5,13 @@ * 2.0. */ -import { CaseConnector, ConnectorTypes } from '@kbn/cases-plugin/common/api'; import { CASE_CONFIGURE_URL } from '@kbn/cases-plugin/common/constants'; import { ConfigurationRequest } from '@kbn/cases-plugin/common/types/api'; -import { Configuration } from '@kbn/cases-plugin/common/types/domain'; +import { + CaseConnector, + Configuration, + ConnectorTypes, +} from '@kbn/cases-plugin/common/types/domain'; import type SuperTest from 'supertest'; import { User } from '../authentication/types'; diff --git a/x-pack/test/cases_api_integration/common/lib/api/connectors.ts b/x-pack/test/cases_api_integration/common/lib/api/connectors.ts index 3e5f499c2314b..77570d5fd9c39 100644 --- a/x-pack/test/cases_api_integration/common/lib/api/connectors.ts +++ b/x-pack/test/cases_api_integration/common/lib/api/connectors.ts @@ -10,18 +10,16 @@ import http from 'http'; import type SuperTest from 'supertest'; import { CASE_CONFIGURE_CONNECTORS_URL } from '@kbn/cases-plugin/common/constants'; -import { - CaseConnector, - ConnectorTypes, - CasePostRequest, - Case, - GetCaseConnectorsResponse, - getCaseConnectorsUrl, -} from '@kbn/cases-plugin/common/api'; +import { CasePostRequest, Case, getCaseConnectorsUrl } from '@kbn/cases-plugin/common/api'; import { ActionResult, FindActionResult } from '@kbn/actions-plugin/server/types'; import { getServiceNowServer } from '@kbn/actions-simulators-plugin/server/plugin'; import { RecordingServiceNowSimulator } from '@kbn/actions-simulators-plugin/server/servicenow_simulation'; -import { Configuration } from '@kbn/cases-plugin/common/types/domain'; +import { + CaseConnector, + Configuration, + ConnectorTypes, +} from '@kbn/cases-plugin/common/types/domain'; +import { GetCaseConnectorsResponse } from '@kbn/cases-plugin/common/types/api'; import { User } from '../authentication/types'; import { superUser } from '../authentication/users'; import { getPostCaseRequest } from '../mock'; diff --git a/x-pack/test/cases_api_integration/common/lib/api/index.ts b/x-pack/test/cases_api_integration/common/lib/api/index.ts index 1a758f2ddbea8..c816d3c570a24 100644 --- a/x-pack/test/cases_api_integration/common/lib/api/index.ts +++ b/x-pack/test/cases_api_integration/common/lib/api/index.ts @@ -34,7 +34,6 @@ import { CasesPatchRequest, CasesStatusResponse, AlertResponse, - ConnectorMappingsAttributes, CasesByAlertId, CaseResolveResponse, SingleCaseMetricsResponse, @@ -46,7 +45,11 @@ import { ActionResult } from '@kbn/actions-plugin/server/types'; import { CasePersistedAttributes } from '@kbn/cases-plugin/server/common/types/case'; import type { SavedObjectsRawDocSource } from '@kbn/core/server'; import type { ConfigurationPersistedAttributes } from '@kbn/cases-plugin/server/common/types/configure'; -import { Configurations, Configuration } from '@kbn/cases-plugin/common/types/domain'; +import { + Configurations, + Configuration, + ConnectorMappingsAttributes, +} from '@kbn/cases-plugin/common/types/domain'; import { ConfigurationPatchRequest } from '@kbn/cases-plugin/common/types/api'; import { User } from '../authentication/types'; import { superUser } from '../authentication/users'; diff --git a/x-pack/test/cases_api_integration/common/lib/mock.ts b/x-pack/test/cases_api_integration/common/lib/mock.ts index bd89e2d1aa663..ab684f8604157 100644 --- a/x-pack/test/cases_api_integration/common/lib/mock.ts +++ b/x-pack/test/cases_api_integration/common/lib/mock.ts @@ -10,7 +10,6 @@ import { Case, CasesFindResponse, Comment, - ConnectorTypes, CommentRequestUserType, CommentRequestAlertType, CommentType, @@ -25,6 +24,7 @@ import { FileAttachmentMetadata, } from '@kbn/cases-plugin/common/api'; import { FILE_ATTACHMENT_TYPE } from '@kbn/cases-plugin/common/constants'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FILE_SO_TYPE } from '@kbn/files-plugin/common'; export const defaultUser = { email: null, full_name: null, username: 'elastic' }; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/basic/cases/push_case.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/basic/cases/push_case.ts index ae37c59183078..2b97db5c36cfd 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/basic/cases/push_case.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/basic/cases/push_case.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../../common/ftr_provider_context'; import { postCaseReq } from '../../../../common/lib/mock'; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/patch_cases.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/patch_cases.ts index e97cd1d3d506c..568cf12c911c7 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/patch_cases.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/patch_cases.ts @@ -9,13 +9,8 @@ import expect from '@kbn/expect'; import { ALERT_WORKFLOW_STATUS } from '@kbn/rule-data-utils'; import { DETECTION_ENGINE_QUERY_SIGNALS_URL } from '@kbn/security-solution-plugin/common/constants'; -import { - CaseSeverity, - Cases, - CaseStatuses, - CommentType, - ConnectorTypes, -} from '@kbn/cases-plugin/common/api'; +import { CaseSeverity, Cases, CaseStatuses, CommentType } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { defaultUser, diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/post_case.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/post_case.ts index f36ebc6e8961f..2bceea9852cff 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/post_case.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/cases/post_case.ts @@ -8,12 +8,8 @@ import expect from '@kbn/expect'; import { CASES_URL } from '@kbn/cases-plugin/common/constants'; -import { - ConnectorTypes, - ConnectorJiraTypeFields, - CaseStatuses, - CaseSeverity, -} from '@kbn/cases-plugin/common/api'; +import { CaseStatuses, CaseSeverity } from '@kbn/cases-plugin/common/api'; +import { ConnectorJiraTypeFields, ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { getPostCaseRequest, postCaseResp, defaultUser } from '../../../../common/lib/mock'; import { deleteCasesByESQuery, diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/configure/patch_configure.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/configure/patch_configure.ts index 523b32a299187..d94ff433550e7 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/configure/patch_configure.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/configure/patch_configure.ts @@ -6,7 +6,7 @@ */ import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/configure/post_configure.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/configure/post_configure.ts index 9bb99f1968af4..0b152d5cd9d95 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/configure/post_configure.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/configure/post_configure.ts @@ -6,7 +6,7 @@ */ import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/metrics/get_case_metrics_connectors.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/metrics/get_case_metrics_connectors.ts index 2717a1968b4e2..19564ade7b02a 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/metrics/get_case_metrics_connectors.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/metrics/get_case_metrics_connectors.ts @@ -6,7 +6,7 @@ */ import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { getPostCaseRequest } from '../../../../common/lib/mock'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/find_user_actions.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/find_user_actions.ts index ef51555118f04..36d7285e85aae 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/find_user_actions.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/find_user_actions.ts @@ -6,9 +6,13 @@ */ import expect from '@kbn/expect'; -import { Case, CaseSeverity, CaseStatuses, ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { Case, CaseSeverity, CaseStatuses } from '@kbn/cases-plugin/common/api'; import { MAX_USER_ACTIONS_PER_PAGE } from '@kbn/cases-plugin/common/constants'; -import { UserActionTypes, CommentUserAction } from '@kbn/cases-plugin/common/types/domain'; +import { + UserActionTypes, + CommentUserAction, + ConnectorTypes, +} from '@kbn/cases-plugin/common/types/domain'; import { globalRead, noKibanaPrivileges, diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/get_all_user_actions.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/get_all_user_actions.ts index dc6e1a8c15ca6..d668e3f382b64 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/get_all_user_actions.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/get_all_user_actions.ts @@ -13,10 +13,9 @@ import { CaseStatuses, CommentRequestUserType, CommentType, - ConnectorTypes, getCaseUserActionUrl, } from '@kbn/cases-plugin/common/api'; -import { CreateCaseUserAction } from '@kbn/cases-plugin/common/types/domain'; +import { CreateCaseUserAction, ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { postCaseReq, postCommentUserReq, getPostCaseRequest } from '../../../../common/lib/mock'; import { diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/get_user_action_stats.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/get_user_action_stats.ts index 6801fa4fe3785..29672ab14d7c3 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/get_user_action_stats.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/common/user_actions/get_user_action_stats.ts @@ -6,8 +6,9 @@ */ import expect from '@kbn/expect'; -import { Case, CaseSeverity, CaseStatuses, ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { Case, CaseSeverity, CaseStatuses } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { globalRead, obsSec, diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/cases/push_case.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/cases/push_case.ts index 608153386ffe5..3aa368c631f65 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/cases/push_case.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/cases/push_case.ts @@ -10,8 +10,9 @@ import http from 'http'; import expect from '@kbn/expect'; -import { CaseConnector, CaseStatuses, CommentType, User } from '@kbn/cases-plugin/common/api'; +import { CaseStatuses, CommentType, User } from '@kbn/cases-plugin/common/api'; import { RecordingServiceNowSimulator } from '@kbn/actions-simulators-plugin/server/servicenow_simulation'; +import { CaseConnector } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/get_configure.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/get_configure.ts index 16638a4e61ecb..8b0eaec7da876 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/get_configure.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/get_configure.ts @@ -7,7 +7,7 @@ import http from 'http'; import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/patch_configure.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/patch_configure.ts index 7fb89ed913e04..afe207240a871 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/patch_configure.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/patch_configure.ts @@ -7,7 +7,7 @@ import http from 'http'; import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/post_configure.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/post_configure.ts index cfe8d0412ee4d..66e8b830d0718 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/post_configure.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/configure/post_configure.ts @@ -7,7 +7,7 @@ import http from 'http'; import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_connectors.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_connectors.ts index 7e0b617b8f274..fc753bf1a8a3b 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_connectors.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_connectors.ts @@ -8,8 +8,8 @@ import http from 'http'; import expect from '@kbn/expect'; -import { CaseSeverity, CaseStatuses, ConnectorTypes } from '@kbn/cases-plugin/common/api'; -import { UserActionTypes } from '@kbn/cases-plugin/common/types/domain'; +import { CaseSeverity, CaseStatuses } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes, UserActionTypes } from '@kbn/cases-plugin/common/types/domain'; import { globalRead, noKibanaPrivileges, diff --git a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_user_action_stats.ts b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_user_action_stats.ts index b90e6212f63bf..30437ae90aba3 100644 --- a/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_user_action_stats.ts +++ b/x-pack/test/cases_api_integration/security_and_spaces/tests/trial/internal/get_user_action_stats.ts @@ -8,7 +8,7 @@ import http from 'http'; import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { postCaseReq } from '../../../../common/lib/mock'; diff --git a/x-pack/test/cases_api_integration/spaces_only/tests/common/cases/post_case.ts b/x-pack/test/cases_api_integration/spaces_only/tests/common/cases/post_case.ts index e4117fa77218a..e017b39b4d9a5 100644 --- a/x-pack/test/cases_api_integration/spaces_only/tests/common/cases/post_case.ts +++ b/x-pack/test/cases_api_integration/spaces_only/tests/common/cases/post_case.ts @@ -7,7 +7,7 @@ import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { getPostCaseRequest, nullUser, postCaseResp } from '../../../../common/lib/mock'; import { deleteCasesByESQuery, diff --git a/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/get_configure.ts b/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/get_configure.ts index 56d4f02d29e57..b430ab6a99f9d 100644 --- a/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/get_configure.ts +++ b/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/get_configure.ts @@ -7,7 +7,7 @@ import http from 'http'; import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/patch_configure.ts b/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/patch_configure.ts index 4c08356f6353b..ddcc5f3d33148 100644 --- a/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/patch_configure.ts +++ b/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/patch_configure.ts @@ -7,7 +7,7 @@ import http from 'http'; import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/post_configure.ts b/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/post_configure.ts index c40c54f234ab1..4393410688768 100644 --- a/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/post_configure.ts +++ b/x-pack/test/cases_api_integration/spaces_only/tests/trial/configure/post_configure.ts @@ -7,7 +7,7 @@ import http from 'http'; import expect from '@kbn/expect'; -import { ConnectorTypes } from '@kbn/cases-plugin/common/api'; +import { ConnectorTypes } from '@kbn/cases-plugin/common/types/domain'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; import { ObjectRemover as ActionsRemover } from '../../../../../alerting_api_integration/common/lib'; diff --git a/x-pack/test/functional/apps/infra/hosts_view.ts b/x-pack/test/functional/apps/infra/hosts_view.ts index 63f77df630368..27a624752288a 100644 --- a/x-pack/test/functional/apps/infra/hosts_view.ts +++ b/x-pack/test/functional/apps/infra/hosts_view.ts @@ -150,11 +150,14 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const returnTo = async (path: string, timeout = 2000) => retry.waitForWithTimeout('returned to hosts view', timeout, async () => { await browser.goBack(); + await pageObjects.header.waitUntilLoadingHasFinished(); const currentUrl = await browser.getCurrentUrl(); return !!currentUrl.match(path); }); - describe('Hosts View', function () { + // Failing: See https://github.com/elastic/kibana/issues/162221 + // Failing: See https://github.com/elastic/kibana/issues/162220 + describe.skip('Hosts View', function () { before(async () => { await Promise.all([ esArchiver.load('x-pack/test/functional/es_archives/infra/alerts'), @@ -293,6 +296,40 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { await pageObjects.infraHostsView.clickShowAllMetadataOverviewTab(); await pageObjects.header.waitUntilLoadingHasFinished(); await pageObjects.infraHostsView.metadataTableExist(); + await pageObjects.infraHostsView.clickOverviewFlyoutTab(); + }); + + it('should show alerts', async () => { + await pageObjects.header.waitUntilLoadingHasFinished(); + await pageObjects.infraHostsView.overviewAlertsTitleExist(); + }); + + it('should open alerts flyout', async () => { + await pageObjects.header.waitUntilLoadingHasFinished(); + await pageObjects.infraHostsView.clickOverviewOpenAlertsFlyout(); + // There are 2 flyouts open (asset details and alerts) + // so we need a stricter selector + // to be sure that we are closing the alerts flyout + const closeAlertFlyout = await find.byCssSelector( + '[aria-labelledby="flyoutRuleAddTitle"] > [data-test-subj="euiFlyoutCloseButton"]' + ); + await closeAlertFlyout.click(); + }); + + it('should navigate to alerts', async () => { + await pageObjects.infraHostsView.clickOverviewLinkToAlerts(); + await pageObjects.header.waitUntilLoadingHasFinished(); + const url = parse(await browser.getCurrentUrl()); + + const query = decodeURIComponent(url.query ?? ''); + + const alertsQuery = + "_a=(kuery:'host.name:\"Jennys-MBP.fritz.box\"',rangeFrom:'2023-03-28T18:20:00.000Z',rangeTo:'2023-03-28T18:21:00.000Z',status:all)"; + + expect(url.pathname).to.eql('/app/observability/alerts'); + expect(query).to.contain(alertsQuery); + + await returnTo(HOSTS_VIEW_PATH); }); }); @@ -383,22 +420,18 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { }); }); - it('should navigate to APM services after click', async () => { - await pageObjects.infraHostsView.clickFlyoutApmServicesLink(); - const url = parse(await browser.getCurrentUrl()); - - const query = decodeURIComponent(url.query ?? ''); + describe('Flyout links', () => { + it('should navigate to APM services after click', async () => { + await pageObjects.infraHostsView.clickFlyoutApmServicesLink(); + const url = parse(await browser.getCurrentUrl()); + const query = decodeURIComponent(url.query ?? ''); + const kuery = 'kuery=host.hostname:"Jennys-MBP.fritz.box"'; - const kuery = 'kuery=host.hostname:"Jennys-MBP.fritz.box"'; - const rangeFrom = 'rangeFrom=2023-03-28T18:20:00.000Z'; - const rangeTo = 'rangeTo=2023-03-28T18:21:00.000Z'; + expect(url.pathname).to.eql('/app/apm/services'); + expect(query).to.contain(kuery); - expect(url.pathname).to.eql('/app/apm/services'); - expect(query).to.contain(kuery); - expect(query).to.contain(rangeFrom); - expect(query).to.contain(rangeTo); - - await returnTo(HOSTS_VIEW_PATH); + await returnTo(HOSTS_VIEW_PATH); + }); }); }); @@ -477,6 +510,26 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { }); }); + it('should render alerts count for a host inside a flyout', async () => { + await pageObjects.infraHostsView.clickHostCheckbox('demo-stack-mysql-01', '-'); + await pageObjects.infraHostsView.clickSelectedHostsButton(); + await pageObjects.infraHostsView.clickSelectedHostsAddFilterButton(); + await pageObjects.infraHostsView.clickTableOpenFlyoutButton(); + + const activeAlertsCount = await pageObjects.infraHostsView.getActiveAlertsCountText(); + const totalAlertsCount = await pageObjects.infraHostsView.getTotalAlertsCountText(); + + expect(activeAlertsCount).to.equal('2 '); + expect(totalAlertsCount).to.equal('3'); + + const deleteFilterButton = await find.byCssSelector( + `[title="Delete host.name: demo-stack-mysql-01"]` + ); + await deleteFilterButton.click(); + + await pageObjects.infraHostsView.clickCloseFlyoutButton(); + }); + it('should render "N/A" when processes summary is not available in flyout', async () => { await pageObjects.infraHostsView.clickTableOpenFlyoutButton(); await pageObjects.infraHostsView.clickProcessesFlyoutTab(); diff --git a/x-pack/test/functional/apps/lens/group4/tsdb.ts b/x-pack/test/functional/apps/lens/group4/tsdb.ts index dd747600a21ef..7f6045b6f7cf4 100644 --- a/x-pack/test/functional/apps/lens/group4/tsdb.ts +++ b/x-pack/test/functional/apps/lens/group4/tsdb.ts @@ -7,89 +7,371 @@ import expect from '@kbn/expect'; import { partition } from 'lodash'; +import moment from 'moment'; +import { MappingProperty } from '@elastic/elasticsearch/lib/api/types'; import { FtrProviderContext } from '../../../ftr_provider_context'; +const TEST_DOC_COUNT = 100; +const TIME_PICKER_FORMAT = 'MMM D, YYYY [@] HH:mm:ss.SSS'; +const timeSeriesMetrics: Record = { + bytes_gauge: 'gauge', + bytes_counter: 'counter', +}; +const timeSeriesDimensions = ['request', 'url']; + +type TestDoc = Record>; + +const testDocTemplate: TestDoc = { + agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1', + bytes: 6219, + clientip: '223.87.60.27', + extension: 'deb', + geo: { + srcdest: 'US:US', + src: 'US', + dest: 'US', + coordinates: { lat: 39.41042861, lon: -88.8454325 }, + }, + host: 'artifacts.elastic.co', + index: 'kibana_sample_data_logs', + ip: '223.87.60.27', + machine: { ram: 8589934592, os: 'win 8' }, + memory: null, + message: + '223.87.60.27 - - [2018-07-22T00:39:02.912Z] "GET /elasticsearch/elasticsearch-6.3.2.deb_1 HTTP/1.1" 200 6219 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1"', + phpmemory: null, + referer: 'http://twitter.com/success/wendy-lawrence', + request: '/elasticsearch/elasticsearch-6.3.2.deb', + response: 200, + tags: ['success', 'info'], + '@timestamp': '2018-07-22T00:39:02.912Z', + url: 'https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.deb_1', + utc_time: '2018-07-22T00:39:02.912Z', + event: { dataset: 'sample_web_logs' }, + bytes_gauge: 0, + bytes_counter: 0, +}; + +function getDataMapping( + { tsdb, removeTSDBFields }: { tsdb: boolean; removeTSDBFields?: boolean } = { + tsdb: false, + } +): Record { + const dataStreamMapping: Record = { + '@timestamp': { + type: 'date', + }, + agent: { + fields: { + keyword: { + ignore_above: 256, + type: 'keyword', + }, + }, + type: 'text', + }, + bytes: { + type: 'long', + }, + bytes_counter: { + type: 'long', + }, + bytes_gauge: { + type: 'long', + }, + clientip: { + type: 'ip', + }, + event: { + properties: { + dataset: { + type: 'keyword', + }, + }, + }, + extension: { + fields: { + keyword: { + ignore_above: 256, + type: 'keyword', + }, + }, + type: 'text', + }, + geo: { + properties: { + coordinates: { + type: 'geo_point', + }, + dest: { + type: 'keyword', + }, + src: { + type: 'keyword', + }, + srcdest: { + type: 'keyword', + }, + }, + }, + host: { + fields: { + keyword: { + ignore_above: 256, + type: 'keyword', + }, + }, + type: 'text', + }, + index: { + fields: { + keyword: { + ignore_above: 256, + type: 'keyword', + }, + }, + type: 'text', + }, + ip: { + type: 'ip', + }, + machine: { + properties: { + os: { + fields: { + keyword: { + ignore_above: 256, + type: 'keyword', + }, + }, + type: 'text', + }, + ram: { + type: 'long', + }, + }, + }, + memory: { + type: 'double', + }, + message: { + fields: { + keyword: { + ignore_above: 256, + type: 'keyword', + }, + }, + type: 'text', + }, + phpmemory: { + type: 'long', + }, + referer: { + type: 'keyword', + }, + request: { + type: 'keyword', + }, + response: { + fields: { + keyword: { + ignore_above: 256, + type: 'keyword', + }, + }, + type: 'text', + }, + tags: { + fields: { + keyword: { + ignore_above: 256, + type: 'keyword', + }, + }, + type: 'text', + }, + timestamp: { + path: '@timestamp', + type: 'alias', + }, + url: { + type: 'keyword', + }, + utc_time: { + type: 'date', + }, + }; + + if (tsdb) { + // augment the current mapping + for (const [fieldName, fieldMapping] of Object.entries(dataStreamMapping || {})) { + if ( + timeSeriesMetrics[fieldName] && + (fieldMapping.type === 'double' || fieldMapping.type === 'long') + ) { + fieldMapping.time_series_metric = timeSeriesMetrics[fieldName]; + } + + if (timeSeriesDimensions.includes(fieldName) && fieldMapping.type === 'keyword') { + fieldMapping.time_series_dimension = true; + } + } + } else if (removeTSDBFields) { + for (const fieldName of Object.keys(timeSeriesMetrics)) { + delete dataStreamMapping[fieldName]; + } + } + return dataStreamMapping; +} + +function sumFirstNValues(n: number, bars: Array<{ y: number }>): number { + const indexes = Array(n) + .fill(1) + .map((_, i) => i); + let countSum = 0; + for (const index of indexes) { + if (bars[index]) { + countSum += bars[index].y; + } + } + return countSum; +} + export default function ({ getService, getPageObjects }: FtrProviderContext) { const PageObjects = getPageObjects(['common', 'timePicker', 'lens', 'dashboard']); const testSubjects = getService('testSubjects'); - const es = getService('es'); const find = getService('find'); + const kibanaServer = getService('kibanaServer'); + const es = getService('es'); const log = getService('log'); + const dataStreams = getService('dataStreams'); + const elasticChart = getService('elasticChart'); const indexPatterns = getService('indexPatterns'); - const kibanaServer = getService('kibanaServer'); const esArchiver = getService('esArchiver'); + const createDocs = async ( + esIndex: string, + { isStream, removeTSDBFields }: { isStream: boolean; removeTSDBFields?: boolean }, + startTime: string + ) => { + log.info( + `Adding ${TEST_DOC_COUNT} to ${esIndex} with starting time from ${moment + .utc(startTime, TIME_PICKER_FORMAT) + .format(TIME_PICKER_FORMAT)} to ${moment + .utc(startTime, TIME_PICKER_FORMAT) + .add(2 * TEST_DOC_COUNT, 'seconds') + .format(TIME_PICKER_FORMAT)}` + ); + const docs = Array(TEST_DOC_COUNT) + .fill(testDocTemplate) + .map((templateDoc, i) => { + const timestamp = moment + .utc(startTime, TIME_PICKER_FORMAT) + .add(TEST_DOC_COUNT + i, 'seconds') + .format(); + const doc: TestDoc = { + ...templateDoc, + '@timestamp': timestamp, + utc_time: timestamp, + bytes_gauge: Math.floor(Math.random() * 10000 * i), + bytes_counter: 5000, + }; + if (removeTSDBFields) { + for (const field of Object.keys(timeSeriesMetrics)) { + delete doc[field]; + } + } + return doc; + }); + + const result = await es.bulk( + { + index: esIndex, + body: docs.map((d) => `{"${isStream ? 'create' : 'index'}": {}}\n${JSON.stringify(d)}\n`), + }, + { meta: true } + ); + + const res = result.body; + + if (res.errors) { + const resultsWithErrors = res.items + .filter(({ index }) => index?.error) + .map(({ index }) => index?.error); + for (const error of resultsWithErrors) { + log.error(`Error: ${JSON.stringify(error)}`); + } + const [indexExists, dataStreamExists] = await Promise.all([ + es.indices.exists({ index: esIndex }), + es.indices.getDataStream({ name: esIndex }), + ]); + log.debug(`Index exists: ${indexExists} - Data stream exists: ${dataStreamExists}`); + } + log.info(`Indexed ${res.items.length} test data docs.`); + }; + describe('lens tsdb', function () { - describe('downsampling', () => { - const dataViewTitle = 'sample-01'; - const rollupDataViewTitle = 'sample-01,sample-01-rollup'; - const fromTime = 'Jun 17, 2022 @ 00:00:00.000'; - const toTime = 'Jun 23, 2022 @ 00:00:00.000'; - const testArchive = 'test/functional/fixtures/es_archiver/search/downsampled'; - const testIndex = 'sample-01'; - const testRollupIndex = 'sample-01-rollup'; + const tsdbIndex = 'kibana_sample_data_logstsdb'; + const tsdbDataView = tsdbIndex; + const tsdbEsArchive = 'test/functional/fixtures/es_archiver/kibana_sample_data_logs_tsdb'; + const fromTime = 'Apr 16, 2023 @ 00:00:00.000'; + const toTime = 'Jun 16, 2023 @ 00:00:00.000'; + before(async () => { + log.info(`loading ${tsdbIndex} index...`); + await esArchiver.loadIfNeeded(tsdbEsArchive); + log.info(`creating a data view for "${tsdbDataView}"...`); + await indexPatterns.create( + { + title: tsdbDataView, + timeFieldName: '@timestamp', + }, + { override: true } + ); + log.info(`updating settings to use the "${tsdbDataView}" dataView...`); + await kibanaServer.uiSettings.update({ + 'dateFormat:tz': 'UTC', + defaultIndex: '0ae0bc7a-e4ca-405c-ab67-f2b5913f2a51', + 'timepicker:timeDefaults': `{ "from": "${fromTime}", "to": "${toTime}" }`, + }); + }); + + after(async () => { + await kibanaServer.savedObjects.cleanStandardList(); + await kibanaServer.uiSettings.replace({}); + await es.indices.delete({ index: [tsdbIndex] }); + }); + + describe('downsampling', () => { + const downsampleDataView: { index: string; dataView: string } = { index: '', dataView: '' }; before(async () => { - // create rollup data - log.info(`loading ${testIndex} index...`); - await esArchiver.loadIfNeeded(testArchive); - log.info(`add write block to ${testIndex} index...`); - await es.indices.addBlock({ index: testIndex, block: 'write' }); - try { - log.info(`rolling up ${testIndex} index...`); - // es client currently does not have method for downsample - await es.transport.request({ - method: 'POST', - path: '/sample-01/_downsample/sample-01-rollup', - body: { fixed_interval: '1h' }, - }); - } catch (err) { - log.info(`ignoring resource_already_exists_exception...`); - if (!err.message.match(/resource_already_exists_exception/)) { - throw err; - } - } + const downsampledTargetIndex = await dataStreams.downsampleTSDBIndex(tsdbIndex, { + isStream: false, + }); + downsampleDataView.index = downsampledTargetIndex; + downsampleDataView.dataView = `${tsdbIndex},${downsampledTargetIndex}`; - log.info(`creating ${rollupDataViewTitle} data view...`); - await indexPatterns.create( - { - title: rollupDataViewTitle, - timeFieldName: '@timestamp', - }, - { override: true } - ); + log.info(`creating a data view for "${downsampleDataView.dataView}"...`); await indexPatterns.create( { - title: dataViewTitle, + title: downsampleDataView.dataView, timeFieldName: '@timestamp', }, { override: true } ); - await kibanaServer.uiSettings.update({ - 'dateFormat:tz': 'UTC', - defaultIndex: '0ae0bc7a-e4ca-405c-ab67-f2b5913f2a51', - 'timepicker:timeDefaults': '{ "from": "now-1y", "to": "now" }', - }); }); after(async () => { - await kibanaServer.savedObjects.cleanStandardList(); - await kibanaServer.uiSettings.replace({}); - await es.indices.delete({ index: [testIndex, testRollupIndex] }); + await es.indices.delete({ index: [downsampleDataView.index] }); }); describe('for regular metric', () => { it('defaults to median for non-rolled up metric', async () => { await PageObjects.common.navigateToApp('lens'); - await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime); - await PageObjects.lens.switchDataPanelIndexPattern(dataViewTitle); - await PageObjects.lens.waitForField('kubernetes.container.memory.available.bytes'); - await PageObjects.lens.dragFieldToWorkspace( - 'kubernetes.container.memory.available.bytes', - 'xyVisChart' - ); + await PageObjects.lens.waitForField('bytes_gauge'); + await PageObjects.lens.dragFieldToWorkspace('bytes_gauge', 'xyVisChart'); expect(await PageObjects.lens.getDimensionTriggerText('lnsXY_yDimensionPanel')).to.eql( - 'Median of kubernetes.container.memory.available.bytes' + 'Median of bytes_gauge' ); }); @@ -101,17 +383,14 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); }); - describe('for rolled up metric', () => { + describe('for rolled up metric (downsampled)', () => { it('defaults to average for rolled up metric', async () => { - await PageObjects.lens.switchDataPanelIndexPattern(rollupDataViewTitle); + await PageObjects.lens.switchDataPanelIndexPattern(downsampleDataView.dataView); await PageObjects.lens.removeLayer(); - await PageObjects.lens.waitForField('kubernetes.container.memory.available.bytes'); - await PageObjects.lens.dragFieldToWorkspace( - 'kubernetes.container.memory.available.bytes', - 'xyVisChart' - ); + await PageObjects.lens.waitForField('bytes_gauge'); + await PageObjects.lens.dragFieldToWorkspace('bytes_gauge', 'xyVisChart'); expect(await PageObjects.lens.getDimensionTriggerText('lnsXY_yDimensionPanel')).to.eql( - 'Average of kubernetes.container.memory.available.bytes' + 'Average of bytes_gauge' ); }); it('shows warnings in editor when using median', async () => { @@ -120,7 +399,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await testSubjects.click('lns-indexPatternDimension-median'); await PageObjects.lens.waitForVisualization('xyVisChart'); await PageObjects.lens.assertMessageListContains( - 'Median of kubernetes.container.memory.available.bytes uses a function that is unsupported by rolled up data. Select a different function or change the time range.', + 'Median of bytes_gauge uses a function that is unsupported by rolled up data. Select a different function or change the time range.', 'warning' ); }); @@ -129,42 +408,20 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.dashboard.waitForRenderComplete(); await PageObjects.lens.assertMessageListContains( - 'Median of kubernetes.container.memory.available.bytes uses a function that is unsupported by rolled up data. Select a different function or change the time range.', + 'Median of bytes_gauge uses a function that is unsupported by rolled up data. Select a different function or change the time range.', 'warning' ); }); }); }); - describe('field types support', () => { + describe('time series special field types support', () => { before(async () => { - log.info(`loading sample TSDB index...`); - await esArchiver.load('test/functional/fixtures/es_archiver/kibana_sample_data_logs_tsdb'); - log.info(`creating the TSDB data view...`); - await kibanaServer.importExport.load( - 'test/functional/fixtures/kbn_archiver/kibana_sample_data_logs_tsdb' - ); - log.info(`setting the TSDB dataView as default...`); - await kibanaServer.uiSettings.replace({ - defaultIndex: '90943e30-9a47-11e8-b64d-95841ca0c247', - }); await PageObjects.common.navigateToApp('lens'); + await PageObjects.lens.switchDataPanelIndexPattern(tsdbDataView); await PageObjects.lens.goToTimeRange(); }); - after(async () => { - log.info(`removing the TSDB index...`); - await esArchiver.unload( - 'test/functional/fixtures/es_archiver/kibana_sample_data_logs_tsdb' - ); - log.info(`removing the TSDB dataView...`); - await kibanaServer.importExport.unload( - 'test/functional/fixtures/kbn_archiver/kibana_sample_data_logs_tsdb' - ); - log.info(`unsetting the TSDB dataView default...`); - await kibanaServer.uiSettings.unset('defaultIndex'); - }); - afterEach(async () => { await PageObjects.lens.removeLayer(); }); @@ -289,5 +546,382 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { } } }); + + describe('Scenarios with changing stream type', () => { + const now = moment().utc(); + const fromMoment = now.clone().subtract(1, 'hour'); + const toMoment = now.clone(); + const fromTimeForScenarios = fromMoment.format(TIME_PICKER_FORMAT); + const toTimeForScenarios = toMoment.format(TIME_PICKER_FORMAT); + + const getScenarios = ( + initialIndex: string + ): Array<{ + name: string; + indexes: Array<{ + index: string; + create?: boolean; + downsample?: boolean; + tsdb?: boolean; + removeTSDBFields?: boolean; + }>; + }> => [ + { + name: 'Dataview with no additional stream/index', + indexes: [{ index: initialIndex }], + }, + { + name: 'Dataview with an additional regular index', + indexes: [ + { index: initialIndex }, + { index: 'regular_index', create: true, removeTSDBFields: true }, + ], + }, + { + name: 'Dataview with an additional downsampled TSDB stream', + indexes: [ + { index: initialIndex }, + { index: 'tsdb_index_2', create: true, tsdb: true, downsample: true }, + ], + }, + { + name: 'Dataview with additional regular index and a downsampled TSDB stream', + indexes: [ + { index: initialIndex }, + { index: 'regular_index', create: true, removeTSDBFields: true }, + { index: 'tsdb_index_2', create: true, tsdb: true, downsample: true }, + ], + }, + { + name: 'Dataview with an additional TSDB stream', + indexes: [{ index: initialIndex }, { index: 'tsdb_index_2', create: true, tsdb: true }], + }, + ]; + + function runTestsForEachScenario( + initialIndex: string, + testingFn: ( + indexes: Array<{ + index: string; + create?: boolean; + downsample?: boolean; + tsdb?: boolean; + removeTSDBFields?: boolean; + }> + ) => void + ): void { + for (const { name, indexes } of getScenarios(initialIndex)) { + describe(name, () => { + let dataViewName: string; + let downsampledTargetIndex: string = ''; + + before(async () => { + for (const { index, create, downsample, tsdb, removeTSDBFields } of indexes) { + if (create) { + if (tsdb) { + await dataStreams.createDataStream( + index, + getDataMapping({ tsdb, removeTSDBFields }), + tsdb + ); + } else { + log.info(`creating a index "${index}" with mapping...`); + await es.indices.create({ + index, + mappings: { + properties: getDataMapping({ tsdb: Boolean(tsdb), removeTSDBFields }), + }, + }); + } + // add data to the newly created index + await createDocs( + index, + { isStream: Boolean(tsdb), removeTSDBFields }, + fromTimeForScenarios + ); + } + if (downsample) { + downsampledTargetIndex = await dataStreams.downsampleTSDBIndex(index, { + isStream: Boolean(tsdb), + }); + } + } + dataViewName = `${indexes.map(({ index }) => index).join(',')}${ + downsampledTargetIndex ? `,${downsampledTargetIndex}` : '' + }`; + log.info(`creating a data view for "${dataViewName}"...`); + await indexPatterns.create( + { + title: dataViewName, + timeFieldName: '@timestamp', + }, + { override: true } + ); + await PageObjects.common.navigateToApp('lens'); + await elasticChart.setNewChartUiDebugFlag(true); + // go to the + await PageObjects.lens.goToTimeRange( + fromTimeForScenarios, + moment + .utc(toTimeForScenarios, TIME_PICKER_FORMAT) + .add(2, 'hour') + .format(TIME_PICKER_FORMAT) // consider also new documents + ); + }); + + after(async () => { + for (const { index, create, tsdb } of indexes) { + if (create) { + if (tsdb) { + await dataStreams.deleteDataStream(index); + } else { + log.info(`deleting the index "${index}"...`); + await es.indices.delete({ + index, + }); + } + } + // no need to cleant he specific downsample index as everything linked to the stream + // is cleaned up automatically + } + }); + + beforeEach(async () => { + await PageObjects.lens.switchDataPanelIndexPattern(dataViewName); + await PageObjects.lens.removeLayer(); + }); + + testingFn(indexes); + }); + } + } + + describe('Data-stream upgraded to TSDB scenarios', () => { + const streamIndex = 'data_stream'; + // rollover does not allow to change name, it will just change backing index underneath + const streamConvertedToTsdbIndex = streamIndex; + + before(async () => { + log.info(`Creating "${streamIndex}" data stream...`); + await dataStreams.createDataStream(streamIndex, getDataMapping(), false); + + // add some data to the stream + await createDocs(streamIndex, { isStream: true }, fromTimeForScenarios); + + log.info(`Update settings for "${streamIndex}" dataView...`); + await kibanaServer.uiSettings.update({ + 'dateFormat:tz': 'UTC', + 'timepicker:timeDefaults': '{ "from": "now-1y", "to": "now" }', + }); + log.info(`Upgrade "${streamIndex}" stream to TSDB...`); + + const tsdbMapping = getDataMapping({ tsdb: true }); + await dataStreams.upgradeStreamToTSDB(streamIndex, tsdbMapping); + log.info( + `Add more data to new "${streamConvertedToTsdbIndex}" dataView (now with TSDB backing index)...` + ); + // add some more data when upgraded + await createDocs(streamConvertedToTsdbIndex, { isStream: true }, toTimeForScenarios); + }); + + after(async () => { + await dataStreams.deleteDataStream(streamIndex); + }); + + runTestsForEachScenario(streamConvertedToTsdbIndex, (indexes) => { + it('should detect the data stream has now been upgraded to TSDB', async () => { + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension', + operation: 'date_histogram', + field: '@timestamp', + }); + + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension', + operation: 'min', + field: `bytes_counter`, + keepOpen: true, + }); + + expect( + testSubjects.exists(`lns-indexPatternDimension-average incompatible`, { + timeout: 500, + }) + ).to.eql(false); + await PageObjects.lens.closeDimensionEditor(); + }); + + it(`should visualize a date histogram chart for counter field`, async () => { + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension', + operation: 'date_histogram', + field: '@timestamp', + }); + + // check the counter field works + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension', + operation: 'min', + field: `bytes_counter`, + }); + // and also that the count of documents should be "indexes.length" times overall + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension', + operation: 'count', + }); + + await PageObjects.lens.waitForVisualization('xyVisChart'); + const data = await PageObjects.lens.getCurrentChartDebugState('xyVisChart'); + const counterBars = data.bars![0].bars; + const countBars = data.bars![1].bars; + + log.info('Check counter data before the upgrade'); + // check there's some data before the upgrade + expect(counterBars[0].y).to.eql(5000); + log.info('Check counter data after the upgrade'); + // check there's some data after the upgrade + expect(counterBars[counterBars.length - 1].y).to.eql(5000); + + log.info('Check count before the upgrade'); + const columnsToCheck = countBars.length / 2; + // Before the upgrade the count is N times the indexes + expect(sumFirstNValues(columnsToCheck, countBars)).to.eql( + indexes.length * TEST_DOC_COUNT + ); + log.info('Check count after the upgrade'); + // later there are only documents for the upgraded stream + expect(sumFirstNValues(columnsToCheck, [...countBars].reverse())).to.eql( + TEST_DOC_COUNT + ); + }); + }); + }); + + describe('TSDB downgraded to regular data stream scenarios', () => { + const tsdbStream = 'tsdb_stream_dowgradable'; + // rollover does not allow to change name, it will just change backing index underneath + const tsdbConvertedToStream = tsdbStream; + + before(async () => { + log.info(`Creating "${tsdbStream}" data stream...`); + await dataStreams.createDataStream(tsdbStream, getDataMapping({ tsdb: true }), true); + + // add some data to the stream + await createDocs(tsdbStream, { isStream: true }, fromTimeForScenarios); + + log.info(`Update settings for "${tsdbStream}" dataView...`); + await kibanaServer.uiSettings.update({ + 'dateFormat:tz': 'UTC', + 'timepicker:timeDefaults': '{ "from": "now-1y", "to": "now" }', + }); + log.info( + `Dowgrade "${tsdbStream}" stream into regular stream "${tsdbConvertedToStream}"...` + ); + + await dataStreams.downgradeTSDBtoStream(tsdbStream, getDataMapping({ tsdb: true })); + log.info(`Add more data to new "${tsdbConvertedToStream}" dataView (no longer TSDB)...`); + // add some more data when upgraded + await createDocs(tsdbConvertedToStream, { isStream: true }, toTimeForScenarios); + }); + + after(async () => { + await dataStreams.deleteDataStream(tsdbConvertedToStream); + }); + + runTestsForEachScenario(tsdbConvertedToStream, (indexes) => { + it('should keep TSDB restrictions only if a tsdb stream is in the dataView mix', async () => { + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension', + operation: 'date_histogram', + field: '@timestamp', + }); + + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension', + operation: 'min', + field: `bytes_counter`, + keepOpen: true, + }); + + expect( + testSubjects.exists(`lns-indexPatternDimension-average incompatible`, { + timeout: 500, + }) + ).to.eql(indexes.some(({ tsdb }) => tsdb)); + await PageObjects.lens.closeDimensionEditor(); + }); + + it(`should visualize a date histogram chart for counter field`, async () => { + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension', + operation: 'date_histogram', + field: '@timestamp', + }); + // just check the data is shown + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension', + operation: 'count', + }); + + await PageObjects.lens.waitForVisualization('xyVisChart'); + const data = await PageObjects.lens.getCurrentChartDebugState('xyVisChart'); + const bars = data.bars![0].bars; + const columnsToCheck = bars.length / 2; + log.info('Check count before the downgrade'); + // Before the upgrade the count is N times the indexes + expect(sumFirstNValues(columnsToCheck, bars)).to.eql(indexes.length * TEST_DOC_COUNT); + log.info('Check count after the downgrade'); + // later there are only documents for the upgraded stream + expect(sumFirstNValues(columnsToCheck, [...bars].reverse())).to.eql(TEST_DOC_COUNT); + }); + + it('should visualize data when moving the time window around the downgrade moment', async () => { + // check after the downgrade + await PageObjects.lens.goToTimeRange( + moment + .utc(fromTimeForScenarios, TIME_PICKER_FORMAT) + .subtract(1, 'hour') + .format(TIME_PICKER_FORMAT), + moment + .utc(fromTimeForScenarios, TIME_PICKER_FORMAT) + .add(1, 'hour') + .format(TIME_PICKER_FORMAT) // consider only new documents + ); + + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension', + operation: 'date_histogram', + field: '@timestamp', + }); + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension', + operation: 'count', + }); + + await PageObjects.lens.waitForVisualization('xyVisChart'); + const dataBefore = await PageObjects.lens.getCurrentChartDebugState('xyVisChart'); + const barsBefore = dataBefore.bars![0].bars; + expect(barsBefore.some(({ y }) => y)).to.eql(true); + + // check after the downgrade + await PageObjects.lens.goToTimeRange( + moment + .utc(toTimeForScenarios, TIME_PICKER_FORMAT) + .add(1, 'second') + .format(TIME_PICKER_FORMAT), + moment + .utc(toTimeForScenarios, TIME_PICKER_FORMAT) + .add(2, 'hour') + .format(TIME_PICKER_FORMAT) // consider also new documents + ); + + await PageObjects.lens.waitForVisualization('xyVisChart'); + const dataAfter = await PageObjects.lens.getCurrentChartDebugState('xyVisChart'); + const barsAfter = dataAfter.bars![0].bars; + expect(barsAfter.some(({ y }) => y)).to.eql(true); + }); + }); + }); + }); }); } diff --git a/x-pack/test/functional/apps/ml/anomaly_detection_integrations/map_to_ml.ts b/x-pack/test/functional/apps/ml/anomaly_detection_integrations/map_to_ml.ts index a5a87b7ed1847..63cac23c5ed1d 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection_integrations/map_to_ml.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection_integrations/map_to_ml.ts @@ -77,7 +77,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await ml.commonUI.waitForMlLoadingIndicatorToDisappear(); - await ml.testExecution.logTestStep('Exploror page loaded'); + await ml.testExecution.logTestStep('Explorer page loaded'); await ml.lensVisualizations.anomalyExplorerPageLoaded(); await ml.testExecution.logTestStep('pre-fills the job selection'); diff --git a/x-pack/test/functional/apps/ml/anomaly_detection_jobs/categorization_job.ts b/x-pack/test/functional/apps/ml/anomaly_detection_jobs/categorization_job.ts index 2bf433a7d77c3..b1939d75d05c3 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection_jobs/categorization_job.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection_jobs/categorization_job.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { CATEGORY_EXAMPLES_VALIDATION_STATUS } from '@kbn/ml-plugin/common/constants/categorization_job'; +import { CATEGORY_EXAMPLES_VALIDATION_STATUS } from '@kbn/ml-category-validator'; import type { FtrProviderContext } from '../../../ftr_provider_context'; import type { FieldStatsType } from '../common/types'; diff --git a/x-pack/test/functional/apps/ml/anomaly_detection_jobs/convert_jobs_to_advanced_job.ts b/x-pack/test/functional/apps/ml/anomaly_detection_jobs/convert_jobs_to_advanced_job.ts index 230f2d79f2448..49383315df1f9 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection_jobs/convert_jobs_to_advanced_job.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection_jobs/convert_jobs_to_advanced_job.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { CATEGORY_EXAMPLES_VALIDATION_STATUS } from '@kbn/ml-plugin/common/constants/categorization_job'; +import { CATEGORY_EXAMPLES_VALIDATION_STATUS } from '@kbn/ml-category-validator'; import type { PickFieldsConfig, DatafeedConfig, Detector } from './types'; import type { FtrProviderContext } from '../../../ftr_provider_context'; diff --git a/x-pack/test/functional/apps/ml/short_tests/notifications/notification_list.ts b/x-pack/test/functional/apps/ml/short_tests/notifications/notification_list.ts index 37cb71ba3c042..062b2809c375d 100644 --- a/x-pack/test/functional/apps/ml/short_tests/notifications/notification_list.ts +++ b/x-pack/test/functional/apps/ml/short_tests/notifications/notification_list.ts @@ -52,8 +52,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await ml.api.deleteAnomalyDetectionJobES(jobId); } await spacesService.delete(idSpace1); - await ml.testResources.cleanMLSavedObjects(); await ml.api.cleanMlIndices(); + await ml.testResources.cleanMLSavedObjects(); await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); }); diff --git a/x-pack/test/functional/apps/ml/stack_management_jobs/manage_spaces.ts b/x-pack/test/functional/apps/ml/stack_management_jobs/manage_spaces.ts index 03f235dcd814a..55b2bdfa12063 100644 --- a/x-pack/test/functional/apps/ml/stack_management_jobs/manage_spaces.ts +++ b/x-pack/test/functional/apps/ml/stack_management_jobs/manage_spaces.ts @@ -135,8 +135,8 @@ export default function ({ getService }: FtrProviderContext) { await spacesService.delete(spaceId); } } - await ml.testResources.cleanMLSavedObjects(); await ml.api.cleanMlIndices(); + await ml.testResources.cleanMLSavedObjects([spaceIds.idSpace1]); await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); await ml.testResources.deleteIndexPatternByTitle('ft_ihp_outlier'); }); diff --git a/x-pack/test/functional/fixtures/kbn_archiver/maps.json b/x-pack/test/functional/fixtures/kbn_archiver/maps.json index ae0b2be43f7de..318cb3c445186 100644 --- a/x-pack/test/functional/fixtures/kbn_archiver/maps.json +++ b/x-pack/test/functional/fixtures/kbn_archiver/maps.json @@ -77,7 +77,7 @@ { "attributes": { - "description": "", + "description": null, "layerListJSON": "[{\"id\":\"n1t6f\",\"label\":null,\"minZoom\":0,\"maxZoom\":24,\"sourceDescriptor\":{\"id\":\"62eca1fc-fe42-11e8-8eb2-f2801f1b9fd1\",\"type\":\"ES_SEARCH\",\"geoField\":\"geometry\",\"limit\":2048,\"filterByMapBounds\":false,\"showTooltip\":true,\"tooltipProperties\":[\"name\"],\"applyGlobalQuery\":false,\"indexPatternRefName\":\"layer_1_source_index_pattern\",\"scalingType\":\"LIMIT\"},\"visible\":true,\"temporary\":false,\"style\":{\"type\":\"VECTOR\",\"properties\":{\"fillColor\":{\"type\":\"DYNAMIC\",\"options\":{\"fieldMetaOptions\":{\"isEnabled\":false,\"sigma\":3},\"field\":{\"label\":\"max(prop1) group by meta_for_geo_shapes*.runtime_shape_name\",\"name\":\"__kbnjoin__max_of_prop1__855ccb86-fe42-11e8-8eb2-f2801f1b9fd1\",\"origin\":\"join\"},\"color\":\"Blues\"}},\"iconSize\":{\"type\":\"STATIC\",\"options\":{\"size\":10}},\"symbolizeAs\":{\"options\":{\"value\":\"circle\"}},\"icon\":{\"type\":\"STATIC\",\"options\":{\"value\":\"marker\"}}},\"temporary\":true,\"previousStyle\":null},\"type\":\"VECTOR\",\"joins\":[{\"leftField\":\"name\",\"right\":{\"id\":\"855ccb86-fe42-11e8-8eb2-f2801f1b9fd1\",\"indexPatternTitle\":\"meta_for_geo_shapes*\",\"term\":\"runtime_shape_name\",\"metrics\":[{\"type\":\"max\",\"field\":\"prop1\"}],\"applyGlobalQuery\":true,\"indexPatternRefName\":\"layer_1_join_0_index_pattern\",\"type\":\"ES_TERM_SOURCE\"}}]}]", "mapStateJSON": "{\"zoom\":3.02,\"center\":{\"lon\":77.33426,\"lat\":-0.04647},\"timeFilters\":{\"from\":\"now-17m\",\"to\":\"now\",\"mode\":\"quick\"},\"refreshConfig\":{\"isPaused\":true,\"interval\":1000},\"settings\":{\"autoFitToDataBounds\":false}}", "title": "join example", diff --git a/x-pack/test/functional/page_objects/infra_hosts_view.ts b/x-pack/test/functional/page_objects/infra_hosts_view.ts index 631b475197b1a..b56b57843cd3b 100644 --- a/x-pack/test/functional/page_objects/infra_hosts_view.ts +++ b/x-pack/test/functional/page_objects/infra_hosts_view.ts @@ -48,6 +48,14 @@ export function InfraHostsViewProvider({ getService }: FtrProviderContext) { return testSubjects.click('hostsView-flyout-tabs-metadata'); }, + async clickOverviewLinkToAlerts() { + return testSubjects.click('assetDetails-flyout-alerts-link'); + }, + + async clickOverviewOpenAlertsFlyout() { + return testSubjects.click('infraNodeContextPopoverCreateInventoryRuleButton'); + }, + async clickProcessesFlyoutTab() { return testSubjects.click('hostsView-flyout-tabs-processes'); }, @@ -203,6 +211,22 @@ export function InfraHostsViewProvider({ getService }: FtrProviderContext) { return div.getAttribute('title'); }, + overviewAlertsTitleExist() { + return testSubjects.exists('assetDetailsAlertsTitle'); + }, + + async getActiveAlertsCountText() { + const container = await testSubjects.find('activeAlertCount'); + const containerText = await container.getVisibleText(); + return containerText; + }, + + async getTotalAlertsCountText() { + const container = await testSubjects.find('totalAlertCount'); + const containerText = await container.getVisibleText(); + return containerText; + }, + async getAssetDetailsMetricsCharts() { const container = await testSubjects.find('assetDetailsMetricsChartGrid'); return container.findAllByCssSelector('[data-test-subj*="assetDetailsMetricsChart"]'); diff --git a/x-pack/test/functional/services/cases/helpers.ts b/x-pack/test/functional/services/cases/helpers.ts index 6b7e39e8e50d8..2dc0d7863bef0 100644 --- a/x-pack/test/functional/services/cases/helpers.ts +++ b/x-pack/test/functional/services/cases/helpers.ts @@ -5,7 +5,8 @@ * 2.0. */ -import { CaseConnector, CasePostRequest } from '@kbn/cases-plugin/common/api'; +import { CasePostRequest } from '@kbn/cases-plugin/common/api'; +import { CaseConnector } from '@kbn/cases-plugin/common/types/domain'; import { v4 as uuidv4 } from 'uuid'; export function generateRandomCaseWithoutConnector(): CasePostRequest { diff --git a/x-pack/test/functional/services/cases/list.ts b/x-pack/test/functional/services/cases/list.ts index de03d2a236e14..2a89efeaf9872 100644 --- a/x-pack/test/functional/services/cases/list.ts +++ b/x-pack/test/functional/services/cases/list.ts @@ -192,7 +192,10 @@ export function CasesTableServiceProvider( const row = rows[index]; await row.click(); - await find.existsByCssSelector('[data-test-subj*="case-action-popover-"'); + await retry.waitFor( + 'popover-action-exists', + async () => await find.existsByCssSelector('[data-test-subj*="case-action-popover-"') + ); }, async openAssigneesPopover() { @@ -223,6 +226,7 @@ export function CasesTableServiceProvider( await testSubjects.existOrFail(`cases-bulk-action-status-${status}`); await testSubjects.click(`cases-bulk-action-status-${status}`); + await header.waitUntilLoadingHasFinished(); }, async changeSeverity(severity: CaseSeverity, index: number) { @@ -240,6 +244,7 @@ export function CasesTableServiceProvider( await testSubjects.existOrFail(`cases-bulk-action-severity-${severity}`); await testSubjects.click(`cases-bulk-action-severity-${severity}`); + await header.waitUntilLoadingHasFinished(); }, async bulkChangeStatusCases(status: CaseStatuses) { diff --git a/x-pack/test/functional/services/data_stream.ts b/x-pack/test/functional/services/data_stream.ts new file mode 100644 index 0000000000000..13cc8547b5677 --- /dev/null +++ b/x-pack/test/functional/services/data_stream.ts @@ -0,0 +1,233 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { MappingProperty } from '@elastic/elasticsearch/lib/api/types'; +import type { FtrProviderContext } from '../ftr_provider_context'; + +const waitFor = (time: number = 1000) => new Promise((r) => setTimeout(r, time)); + +/** + * High level interface to operate with Elasticsearch data stream and TSDS. + */ +export function DataStreamProvider({ getService }: FtrProviderContext) { + const es = getService('es'); + const log = getService('log'); + const retry = getService('retry'); + + const downsampleDefaultOptions = { + isStream: true, + interval: '1h', + deleteOriginal: false, + }; + + /** + * Downsample a data-stream or a specific backing index + * @param indexOrStream An index or a data stream + * @param options A set of options to configure the downsample. + * @param options.isStream The most important option which is used to correctly handle data streams when passed (otherwise it will throw). Default is true. + * @param options.interval The interval size for the downsampling. Default value is '1h'. + * @param options.deleteOriginal Whether the original backing index (not data stream!) should be deleted after downsampling. Default to false. + * @returns the name of the downsampled index + */ + async function downsampleTSDBIndex( + indexOrStream: string, + { + isStream = downsampleDefaultOptions.isStream, + interval = downsampleDefaultOptions.interval, + deleteOriginal = downsampleDefaultOptions.deleteOriginal, + }: { isStream: boolean; interval?: string; deleteOriginal?: boolean } = downsampleDefaultOptions + ) { + let sourceIndex = indexOrStream; + // block and downsample work only at index level, so no direct data stream access + // there's some more work to do if a data stream is passed + if (isStream) { + log.info('Force a rollover for the data stream to get the backing "old_index"'); + const res = await es.indices.rollover({ + alias: indexOrStream, + }); + sourceIndex = res.old_index; + } + + const downsampledTargetIndex = `${indexOrStream}_downsampled`; + log.info(`add write block to "${sourceIndex}" index...`); + await es.indices.addBlock({ index: sourceIndex, block: 'write' }); + let waitTime = 1000; + + await retry.tryForTime( + 15000, + async () => { + log.debug( + `Wait ${ + waitTime / 1000 + }s before running the downsampling to avoid a null_pointer_exception` + ); + await waitFor(waitTime); + + try { + log.info(`downsampling "${sourceIndex}" index...`); + await es.indices.downsample({ + index: sourceIndex, + target_index: downsampledTargetIndex, + config: { fixed_interval: interval || downsampleDefaultOptions.interval }, + }); + } catch (err) { + // Ignore this specific errors + if (err.message.match(/resource_already_exists_exception/)) { + log.info(`ignoring resource_already_exists_exception...`); + return; + } + // increase the waiting time exponentially? + waitTime = waitTime * 1.5; + // make it bubble up everything else + throw err; + } + }, + async () => { + // provide some debug info if the retry fails + if (isStream) { + const [exists, oldIndexExists] = await Promise.all([ + es.indices.getDataStream({ name: indexOrStream }), + es.indices.exists({ index: sourceIndex }), + ]); + log.debug(`Data stream exists: ${Boolean(exists)}; old_index exists: ${oldIndexExists}`); + } else { + const exists = await es.indices.exists({ index: indexOrStream }); + log.debug(`Index exists: ${exists}`); + } + } + ); + + if (deleteOriginal) { + log.info(`Deleting original index ${sourceIndex}`); + await es.indices.delete({ index: sourceIndex }); + } + + return downsampledTargetIndex; + } + + // @internal + async function updateDataStreamTemplate( + stream: string, + mapping: Record, + tsdb?: boolean + ) { + await es.cluster.putComponentTemplate({ + name: `${stream}_mapping`, + template: { + settings: tsdb + ? { + mode: 'time_series', + routing_path: 'request', + } + : { mode: undefined }, + mappings: { + properties: mapping, + }, + }, + }); + log.info(`Updating ${stream} index template${tsdb ? ' for TSDB' : ''}...`); + await es.indices.putIndexTemplate({ + name: `${stream}_index_template`, + index_patterns: [stream], + data_stream: {}, + composed_of: [`${stream}_mapping`], + _meta: { + description: `Template for ${stream} testing index`, + }, + }); + } + + /** + * "Upgrade" a given data stream into a time series data series (TSDB/TSDS) + * @param stream the data stream name + * @param newMapping the new mapping already with time series metrics/dimensions configured + */ + async function upgradeStreamToTSDB(stream: string, newMapping: Record) { + // rollover to upgrade the index type to time_series + // uploading a new mapping for the stream index using the provided metric/dimension list + log.info(`Updating ${stream} data stream component template with TSDB stuff...`); + await updateDataStreamTemplate(stream, newMapping, true); + + log.info('Rolling over the backing index for TSDB'); + await es.indices.rollover({ + alias: stream, + }); + } + + /** + * "Downgrade" a TSDB/TSDS data stream into a regular data stream + * @param tsdbStream the TSDB/TSDS data stream to "downgrade" + * @param oldMapping the new mapping already with time series metrics/dimensions already removed + */ + async function downgradeTSDBtoStream( + tsdbStream: string, + newMapping: Record + ) { + // strip out any time-series specific mapping + for (const fieldMapping of Object.values(newMapping || {})) { + if ('time_series_metric' in fieldMapping) { + delete fieldMapping.time_series_metric; + } + if ('time_series_dimension' in fieldMapping) { + delete fieldMapping.time_series_dimension; + } + } + log.info(`Updating ${tsdbStream} data stream component template with TSDB stuff...`); + await updateDataStreamTemplate(tsdbStream, newMapping, false); + // rollover to downgrade the index type to regular stream + log.info(`Rolling over the ${tsdbStream} data stream into a regular data stream...`); + await es.indices.rollover({ + alias: tsdbStream, + }); + } + + /** + * Takes care of the entire process to create a data stream + * @param streamIndex name of the new data stream to create + * @param mappings the mapping to associate with the data stream + * @param tsdb when enabled it will configure the data stream as a TSDB/TSDS + */ + async function createDataStream( + streamIndex: string, + mappings: Record, + tsdb: boolean = true + ) { + log.info(`Creating ${streamIndex} data stream component template...`); + + await updateDataStreamTemplate(streamIndex, mappings, tsdb); + + log.info(`Creating ${streamIndex} data stream index...`); + await es.indices.createDataStream({ + name: streamIndex, + }); + } + + /** + * Takes care of deleting a data stream and cleaning up everything associated to it + * @param streamIndex name of the data stream + */ + async function deleteDataStream(streamIndex: string) { + log.info(`Delete ${streamIndex} data stream index...`); + await es.indices.deleteDataStream({ name: streamIndex }); + log.info(`Delete ${streamIndex} index template...`); + await es.indices.deleteIndexTemplate({ + name: `${streamIndex}_index_template`, + }); + log.info(`Delete ${streamIndex} data stream component template...`); + await es.cluster.deleteComponentTemplate({ + name: `${streamIndex}_mapping`, + }); + } + + return { + createDataStream, + deleteDataStream, + downsampleTSDBIndex, + upgradeStreamToTSDB, + downgradeTSDBtoStream, + }; +} diff --git a/x-pack/test/functional/services/index.ts b/x-pack/test/functional/services/index.ts index 9e77c3594c96e..03ad1ea2361e3 100644 --- a/x-pack/test/functional/services/index.ts +++ b/x-pack/test/functional/services/index.ts @@ -68,6 +68,7 @@ import { ActionsServiceProvider } from './actions'; import { RulesServiceProvider } from './rules'; import { AiopsProvider } from './aiops'; import { SampleDataServiceProvider } from './sample_data'; +import { DataStreamProvider } from './data_stream'; // define the name and providers for services that should be // available to your tests. If you don't specify anything here @@ -129,4 +130,5 @@ export const services = { cases: CasesServiceProvider, aiops: AiopsProvider, sampleData: SampleDataServiceProvider, + dataStreams: DataStreamProvider, }; diff --git a/x-pack/test/functional/services/ml/index.ts b/x-pack/test/functional/services/ml/index.ts index dcff82f60a02d..b920b173e2080 100644 --- a/x-pack/test/functional/services/ml/index.ts +++ b/x-pack/test/functional/services/ml/index.ts @@ -36,6 +36,7 @@ import { MachineLearningJobWizardCommonProvider } from './job_wizard_common'; import { MachineLearningJobWizardCategorizationProvider } from './job_wizard_categorization'; import { MachineLearningJobWizardMultiMetricProvider } from './job_wizard_multi_metric'; import { MachineLearningJobWizardPopulationProvider } from './job_wizard_population'; +import { MachineLearningJobWizardRecognizerProvider } from './job_wizard_recognizer'; import { MachineLearningJobWizardGeoProvider } from './job_wizard_geo'; import { MachineLearningLensVisualizationsProvider } from './lens_visualizations'; import { MachineLearningNavigationProvider } from './navigation'; @@ -123,6 +124,7 @@ export function MachineLearningProvider(context: FtrProviderContext) { context, commonFieldStatsFlyout ); + const jobWizardRecognizer = MachineLearningJobWizardRecognizerProvider(context, commonUI); const jobWizardCommon = MachineLearningJobWizardCommonProvider( context, commonUI, @@ -200,6 +202,7 @@ export function MachineLearningProvider(context: FtrProviderContext) { jobWizardGeo, jobWizardMultiMetric, jobWizardPopulation, + jobWizardRecognizer, lensVisualizations, mlNodesPanel, navigation, diff --git a/x-pack/test/functional/services/ml/job_type_selection.ts b/x-pack/test/functional/services/ml/job_type_selection.ts index abdf96633b1ae..efce869d9ab76 100644 --- a/x-pack/test/functional/services/ml/job_type_selection.ts +++ b/x-pack/test/functional/services/ml/job_type_selection.ts @@ -64,5 +64,14 @@ export function MachineLearningJobTypeSelectionProvider({ getService }: FtrProvi async assertCategorizationJobWizardOpen() { await testSubjects.existOrFail('mlPageJobWizard categorization'); }, + + async selectRecognizerJob(moduleId: string) { + await testSubjects.clickWhenNotDisabledWithoutRetry(`mlRecognizerCard ${moduleId}`); + await this.assertRecognizerJobWizardOpen(); + }, + + async assertRecognizerJobWizardOpen() { + await testSubjects.existOrFail('mlPageJobWizard recognizer'); + }, }; } diff --git a/x-pack/test/functional/services/ml/job_wizard_categorization.ts b/x-pack/test/functional/services/ml/job_wizard_categorization.ts index a646106c42253..49d37a0db4214 100644 --- a/x-pack/test/functional/services/ml/job_wizard_categorization.ts +++ b/x-pack/test/functional/services/ml/job_wizard_categorization.ts @@ -7,7 +7,7 @@ import expect from '@kbn/expect'; -import { CATEGORY_EXAMPLES_VALIDATION_STATUS } from '@kbn/ml-plugin/common/constants/categorization_job'; +import { CATEGORY_EXAMPLES_VALIDATION_STATUS } from '@kbn/ml-category-validator'; import type { FtrProviderContext } from '../../ftr_provider_context'; import type { MlCommonFieldStatsFlyout } from './field_stats_flyout'; diff --git a/x-pack/test/functional/services/ml/job_wizard_recognizer.ts b/x-pack/test/functional/services/ml/job_wizard_recognizer.ts new file mode 100644 index 0000000000000..b59692ea0f803 --- /dev/null +++ b/x-pack/test/functional/services/ml/job_wizard_recognizer.ts @@ -0,0 +1,38 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; + +import type { FtrProviderContext } from '../../ftr_provider_context'; +import type { MlCommonUI } from './common_ui'; + +export function MachineLearningJobWizardRecognizerProvider( + { getService }: FtrProviderContext, + mlCommonUI: MlCommonUI +) { + const testSubjects = getService('testSubjects'); + + return { + async assertJobIdValue(expectedValue: string) { + const actualJobPrefixId = await testSubjects.getAttribute( + 'mlJobRecognizerWizardInputJobIdPrefix', + 'value' + ); + expect(actualJobPrefixId).to.eql( + expectedValue, + `Expected job id prefix value to be '${expectedValue}' (got '${actualJobPrefixId}')` + ); + }, + + async setJobIdPrefix(prefix: string) { + await mlCommonUI.setValueWithChecks('mlJobRecognizerWizardInputJobIdPrefix', prefix, { + clearWithKeyboard: true, + }); + await this.assertJobIdValue(prefix); + }, + }; +} diff --git a/x-pack/test/functional/services/ml/test_resources.ts b/x-pack/test/functional/services/ml/test_resources.ts index e8fb9b4e8a152..bf5f6aed44789 100644 --- a/x-pack/test/functional/services/ml/test_resources.ts +++ b/x-pack/test/functional/services/ml/test_resources.ts @@ -101,12 +101,14 @@ export function MachineLearningTestResourcesProvider( log.debug(` > Not found`); }, - async getSavedObjectIdsByType(objectType: SavedObjectType): Promise { + async getSavedObjectIdsByType(objectType: SavedObjectType, space?: string): Promise { const savedObjectIds: string[] = []; log.debug(`Searching for '${objectType}' ...`); const { body: findResponse, status } = await supertest - .get(`/api/saved_objects/_find?type=${objectType}&per_page=10000`) + .get( + `${space ? `/s/${space}` : ''}/api/saved_objects/_find?type=${objectType}&per_page=10000` + ) .set(getCommonRequestHeader('1')); mlApi.assertResponseStatusCode(200, status, findResponse); @@ -514,17 +516,23 @@ export function MachineLearningTestResourcesProvider( await this.assertSavedObjectExistsById(id, SavedObjectType.DASHBOARD); }, - async deleteMlSavedObjectByJobId(jobId: string, jobType: JobType) { + async deleteMlSavedObjectByJobId(jobId: string, jobType: JobType, space?: string) { const savedObjectId = `${jobType}-${jobId}`; - await this.deleteSavedObjectById(savedObjectId, SavedObjectType.ML_JOB, true); + await this.deleteSavedObjectById(savedObjectId, SavedObjectType.ML_JOB, true, space); }, - async cleanMLSavedObjects() { + async cleanMLSavedObjects(additionalSpaces: string[] = []) { + // clean default space await this.cleanMLJobSavedObjects(); await this.cleanMLTrainedModelsSavedObjects(); + + for (const space of additionalSpaces) { + await this.cleanMLJobSavedObjects(space); + await this.cleanMLTrainedModelsSavedObjects(space); + } }, - async cleanMLJobSavedObjects() { + async cleanMLJobSavedObjects(space?: string) { log.debug('Deleting ML job saved objects ...'); const savedObjectIds = await this.getSavedObjectIdsByType(SavedObjectType.ML_JOB); for (const id of savedObjectIds) { @@ -533,10 +541,11 @@ export function MachineLearningTestResourcesProvider( log.debug('> ML job saved objects deleted.'); }, - async cleanMLTrainedModelsSavedObjects() { + async cleanMLTrainedModelsSavedObjects(space?: string) { log.debug('Deleting ML trained model saved objects ...'); const savedObjectIds = await this.getSavedObjectIdsByType( - SavedObjectType.ML_TRAINED_MODEL_SAVED_OBJECT_TYPE + SavedObjectType.ML_TRAINED_MODEL_SAVED_OBJECT_TYPE, + space ); for (const id of savedObjectIds) { if (mlApi.isInternalModelId(id)) { @@ -546,7 +555,8 @@ export function MachineLearningTestResourcesProvider( await this.deleteSavedObjectById( id, SavedObjectType.ML_TRAINED_MODEL_SAVED_OBJECT_TYPE, - true + true, + space ); } log.debug('> ML trained model saved objects deleted.'); diff --git a/x-pack/test/functional_with_es_ssl/apps/cases/group2/list_view.ts b/x-pack/test/functional_with_es_ssl/apps/cases/group2/list_view.ts index c15e574cad587..f19d488b4dc25 100644 --- a/x-pack/test/functional_with_es_ssl/apps/cases/group2/list_view.ts +++ b/x-pack/test/functional_with_es_ssl/apps/cases/group2/list_view.ts @@ -602,8 +602,7 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { }); }); - // FLAKY: https://github.com/elastic/kibana/issues/160622 - describe.skip('Severity', () => { + describe('Severity', () => { before(async () => { await cases.api.createNthRandomCases(1); await header.waitUntilLoadingHasFinished(); diff --git a/x-pack/test/tsconfig.json b/x-pack/test/tsconfig.json index 5cda7fbbdf8fd..8d7ef58f2775e 100644 --- a/x-pack/test/tsconfig.json +++ b/x-pack/test/tsconfig.json @@ -135,6 +135,7 @@ "@kbn/profiling-plugin", "@kbn/observability-onboarding-plugin", "@kbn/bfetch-plugin", - "@kbn/uptime-plugin" + "@kbn/uptime-plugin", + "@kbn/ml-category-validator" ] } diff --git a/x-pack/test_serverless/functional/page_objects/index.ts b/x-pack/test_serverless/functional/page_objects/index.ts index 8111f8be33abb..a40eca62f0b52 100644 --- a/x-pack/test_serverless/functional/page_objects/index.ts +++ b/x-pack/test_serverless/functional/page_objects/index.ts @@ -8,6 +8,7 @@ // eslint-disable-next-line @kbn/imports/no_boundary_crossing import { pageObjects as xpackFunctionalPageObjects } from '../../../test/functional/page_objects'; import { SvlCommonPageProvider } from './svl_common_page'; +import { SvlCommonNavigationProvider } from './svl_common_navigation'; import { SvlObltOnboardingPageProvider } from './svl_oblt_onboarding_page'; import { SvlObltOnboardingStreamLogFilePageProvider } from './svl_oblt_onboarding_stream_log_file'; import { SvlObltOverviewPageProvider } from './svl_oblt_overview_page'; @@ -18,6 +19,7 @@ export const pageObjects = { ...xpackFunctionalPageObjects, svlCommonPage: SvlCommonPageProvider, + svlCommonNavigation: SvlCommonNavigationProvider, svlObltOnboardingPage: SvlObltOnboardingPageProvider, SvlObltOnboardingStreamLogFilePage: SvlObltOnboardingStreamLogFilePageProvider, svlObltOverviewPage: SvlObltOverviewPageProvider, diff --git a/x-pack/test_serverless/functional/page_objects/svl_common_navigation.ts b/x-pack/test_serverless/functional/page_objects/svl_common_navigation.ts new file mode 100644 index 0000000000000..60964a820ac75 --- /dev/null +++ b/x-pack/test_serverless/functional/page_objects/svl_common_navigation.ts @@ -0,0 +1,222 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import type { AppDeepLinkId } from '@kbn/core-chrome-browser'; + +import type { NavigationID as MlNavId } from '@kbn/default-nav-ml'; +import type { NavigationID as AlNavId } from '@kbn/default-nav-analytics'; +import type { NavigationID as MgmtNavId } from '@kbn/default-nav-management'; +import type { NavigationID as DevNavId } from '@kbn/default-nav-devtools'; + +// use this for nicer type suggestions, but allow any string anyway +type NavigationId = MlNavId | AlNavId | MgmtNavId | DevNavId | string; + +import type { FtrProviderContext } from '../ftr_provider_context'; +import type { WebElementWrapper } from '../../../../test/functional/services/lib/web_element_wrapper'; + +export function SvlCommonNavigationProvider(ctx: FtrProviderContext) { + const testSubjects = ctx.getService('testSubjects'); + const browser = ctx.getService('browser'); + const retry = ctx.getService('retry'); + + async function getByVisibleText( + selector: string | (() => Promise), + text: string + ) { + const subjects = + typeof selector === 'string' ? await testSubjects.findAll(selector) : await selector(); + let found: WebElementWrapper | null = null; + for (const subject of subjects) { + const visibleText = await subject.getVisibleText(); + if (visibleText === text) { + found = subject; + break; + } + } + return found; + } + + return { + // check that chrome ui is in the serverless (project) mode + async expectExists() { + await testSubjects.existOrFail('kibanaProjectHeader'); + }, + async clickLogo() { + await testSubjects.click('nav-header-logo'); + }, + // side nav related actions + sidenav: { + async expectLinkExists( + by: { deepLinkId: AppDeepLinkId } | { navId: string } | { text: string } + ) { + if ('deepLinkId' in by) { + await testSubjects.existOrFail(`~nav-item-deepLinkId-${by.deepLinkId}`); + } else if ('navId' in by) { + await testSubjects.existOrFail(`~nav-item-id-${by.navId}`); + } else { + expect(await getByVisibleText('~nav-item', by.text)).not.be(null); + } + }, + async expectLinkActive( + by: { deepLinkId: AppDeepLinkId } | { navId: string } | { text: string } + ) { + await this.expectLinkExists(by); + if ('deepLinkId' in by) { + await testSubjects.existOrFail( + `~nav-item-deepLinkId-${by.deepLinkId} & ~nav-item-isActive` + ); + } else if ('navId' in by) { + await testSubjects.existOrFail(`~nav-item-id-${by.navId} & ~nav-item-isActive`); + } else { + await retry.try(async () => { + const link = await getByVisibleText('~nav-item', by.text); + expect(await link!.elementHasClass(`nav-item-isActive`)).to.be(true); + }); + } + }, + async clickLink(by: { deepLinkId: AppDeepLinkId } | { navId: string } | { text: string }) { + await this.expectLinkExists(by); + if ('deepLinkId' in by) { + await testSubjects.click(`~nav-item-deepLinkId-${by.deepLinkId}`); + } else if ('navId' in by) { + await testSubjects.click(`~nav-item-id-${by.navId}`); + } else { + await retry.try(async () => { + const link = await getByVisibleText('~nav-item', by.text); + await link!.click(); + }); + } + }, + async expectSectionExists(sectionId: NavigationId) { + await testSubjects.existOrFail(`~nav-bucket-${sectionId}`); + }, + async isSectionOpen(sectionId: NavigationId) { + await this.expectSectionExists(sectionId); + const section = await testSubjects.find(`~nav-bucket-${sectionId}`); + const collapseBtn = await section.findByCssSelector(`[aria-controls="${sectionId}"]`); + const isExpanded = await collapseBtn.getAttribute('aria-expanded'); + return isExpanded === 'true'; + }, + async expectSectionOpen(sectionId: NavigationId) { + await this.expectSectionExists(sectionId); + const isOpen = await this.isSectionOpen(sectionId); + expect(isOpen).to.be(true); + }, + async expectSectionClosed(sectionId: NavigationId) { + await this.expectSectionExists(sectionId); + const isOpen = await this.isSectionOpen(sectionId); + expect(isOpen).to.be(false); + }, + async openSection(sectionId: NavigationId) { + await this.expectSectionExists(sectionId); + const isOpen = await this.isSectionOpen(sectionId); + if (isOpen) return; + const section = await testSubjects.find(`~nav-bucket-${sectionId}`); + const collapseBtn = await section.findByCssSelector(`[aria-controls="${sectionId}"]`); + await collapseBtn.click(); + await this.expectSectionOpen(sectionId); + }, + async closeSection(sectionId: NavigationId) { + await this.expectSectionExists(sectionId); + const isOpen = await this.isSectionOpen(sectionId); + if (!isOpen) return; + const section = await testSubjects.find(`~nav-bucket-${sectionId}`); + const collapseBtn = await section.findByCssSelector(`[aria-controls="${sectionId}"]`); + await collapseBtn.click(); + await this.expectSectionClosed(sectionId); + }, + }, + breadcrumbs: { + async expectExists() { + await testSubjects.existOrFail('breadcrumbs'); + }, + async clickHome() { + await testSubjects.click('~breadcrumb-home'); + }, + async expectBreadcrumbExists(by: { deepLinkId: AppDeepLinkId } | { text: string }) { + if ('deepLinkId' in by) { + await testSubjects.existOrFail(`~breadcrumb-deepLinkId-${by.deepLinkId}`); + } else { + await retry.try(async () => { + expect(await getByVisibleText('~breadcrumb', by.text)).not.be(null); + }); + } + }, + }, + search: new SvlNavigationSearchPageObject(ctx), + recent: { + async expectExists() { + await testSubjects.existOrFail('nav-bucket-recentlyAccessed'); + }, + async expectHidden() { + await testSubjects.missingOrFail('nav-bucket-recentlyAccessed', { timeout: 1000 }); + }, + async expectLinkExists(text: string) { + await this.expectExists(); + let foundLink: WebElementWrapper | null = null; + await retry.try(async () => { + foundLink = await getByVisibleText( + async () => + (await testSubjects.find('nav-bucket-recentlyAccessed')).findAllByTagName('a'), + text + ); + expect(!!foundLink).to.be(true); + }); + + return foundLink!; + }, + async clickLink(text: string) { + const link = await this.expectLinkExists(text); + await link!.click(); + }, + }, + + // helper to assert that the page did not reload + async createNoPageReloadCheck() { + const trackReloadTs = Date.now(); + await browser.execute( + ({ ts }) => { + // @ts-ignore + window.__testTrackReload__ = ts; + }, + { + ts: trackReloadTs, + } + ); + + return async () => { + const noReload = await browser.execute( + ({ ts }) => { + // @ts-ignore + return window.__testTrackReload__ && window.__testTrackReload__ === ts; + }, + { + ts: trackReloadTs, + } + ); + expect(noReload).to.be(true); + }; + }, + }; +} + +// eslint-disable-next-line @kbn/imports/no_boundary_crossing +import { NavigationalSearchPageObject } from '../../../test/functional/page_objects/navigational_search'; +class SvlNavigationSearchPageObject extends NavigationalSearchPageObject { + constructor(ctx: FtrProviderContext) { + // @ts-expect-error -- this expects FtrProviderContext from x-pack/test/functional/ftr_provider_context.ts + super(ctx); + } + + async showSearch() { + await this.ctx.getService('testSubjects').click('nav-search-reveal'); + } + async hideSearch() { + await this.ctx.getService('testSubjects').click('nav-search-conceal'); + } +} diff --git a/x-pack/test_serverless/functional/test_suites/observability/index.ts b/x-pack/test_serverless/functional/test_suites/observability/index.ts index 840d12af15066..ef6be408d1a35 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/index.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/index.ts @@ -10,5 +10,6 @@ import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ loadTestFile }: FtrProviderContext) { describe('serverless observability UI', function () { loadTestFile(require.resolve('./landing_page')); + loadTestFile(require.resolve('./navigation')); }); } diff --git a/x-pack/test_serverless/functional/test_suites/observability/navigation.ts b/x-pack/test_serverless/functional/test_suites/observability/navigation.ts new file mode 100644 index 0000000000000..6b810305892ce --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/observability/navigation.ts @@ -0,0 +1,89 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default function ({ getPageObject, getService }: FtrProviderContext) { + const svlObltOnboardingPage = getPageObject('svlObltOnboardingPage'); + const svlObltNavigation = getService('svlObltNavigation'); + const svlCommonNavigation = getPageObject('svlCommonNavigation'); + const browser = getService('browser'); + + describe('navigation', function () { + before(async () => { + await svlObltNavigation.navigateToLandingPage(); + }); + + it('navigate observability sidenav & breadcrumbs', async () => { + const expectNoPageReload = await svlCommonNavigation.createNoPageReloadCheck(); + + // check serverless search side nav exists + await svlCommonNavigation.expectExists(); + await svlCommonNavigation.breadcrumbs.expectExists(); + await svlObltOnboardingPage.assertQuickstartBadgeExists(); + + // check side nav links + await svlCommonNavigation.sidenav.expectSectionOpen('observability_project_nav'); + await svlCommonNavigation.sidenav.expectLinkActive({ deepLinkId: 'observabilityOnboarding' }); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ + deepLinkId: 'observabilityOnboarding', + }); + await svlCommonNavigation.sidenav.expectSectionClosed('project_settings_project_nav'); + + // TODO: test something oblt project specific instead of generic discover + // navigate to discover + await svlCommonNavigation.sidenav.clickLink({ deepLinkId: 'discover' }); + await svlCommonNavigation.sidenav.expectLinkActive({ deepLinkId: 'discover' }); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ deepLinkId: 'discover' }); + await expect(await browser.getCurrentUrl()).contain('/app/discover'); + + // check the aiops subsection + await svlCommonNavigation.sidenav.clickLink({ navId: 'aiops' }); // open ai ops subsection + await svlCommonNavigation.sidenav.clickLink({ deepLinkId: 'ml:anomalyDetection' }); + await svlCommonNavigation.sidenav.expectLinkActive({ deepLinkId: 'ml:anomalyDetection' }); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ text: 'AIOps' }); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ + deepLinkId: 'ml:anomalyDetection', + }); + + // navigate to a different section + await svlCommonNavigation.sidenav.openSection('project_settings_project_nav'); + await svlCommonNavigation.sidenav.clickLink({ deepLinkId: 'management' }); + await svlCommonNavigation.sidenav.expectLinkActive({ deepLinkId: 'management' }); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ deepLinkId: 'management' }); + + // navigate back to serverless oblt overview + await svlCommonNavigation.breadcrumbs.clickHome(); + await svlCommonNavigation.sidenav.expectLinkActive({ deepLinkId: 'observabilityOnboarding' }); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ + deepLinkId: 'observabilityOnboarding', + }); + await svlCommonNavigation.sidenav.expectSectionOpen(`project_settings_project_nav`); // remains open + + await expectNoPageReload(); + }); + + it('active sidenav section is auto opened on load', async () => { + await svlCommonNavigation.sidenav.openSection('project_settings_project_nav'); + await svlCommonNavigation.sidenav.clickLink({ deepLinkId: 'management' }); + await browser.refresh(); + await svlCommonNavigation.expectExists(); + await svlCommonNavigation.sidenav.expectSectionOpen('project_settings_project_nav'); + }); + + it('navigate using search', async () => { + await svlCommonNavigation.search.showSearch(); + // TODO: test something oblt project specific instead of generic discover + await svlCommonNavigation.search.searchFor('discover'); + await svlCommonNavigation.search.clickOnOption(0); + await svlCommonNavigation.search.hideSearch(); + + await expect(await browser.getCurrentUrl()).contain('/app/discover'); + }); + }); +} diff --git a/x-pack/test_serverless/functional/test_suites/search/index.ts b/x-pack/test_serverless/functional/test_suites/search/index.ts index ed145d4a99ed6..8dce70b4f15e9 100644 --- a/x-pack/test_serverless/functional/test_suites/search/index.ts +++ b/x-pack/test_serverless/functional/test_suites/search/index.ts @@ -10,5 +10,6 @@ import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ loadTestFile }: FtrProviderContext) { describe('serverless search UI', function () { loadTestFile(require.resolve('./landing_page')); + loadTestFile(require.resolve('./navigation')); }); } diff --git a/x-pack/test_serverless/functional/test_suites/search/navigation.ts b/x-pack/test_serverless/functional/test_suites/search/navigation.ts new file mode 100644 index 0000000000000..82dac047ac2c3 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/search/navigation.ts @@ -0,0 +1,90 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default function ({ getPageObject, getService }: FtrProviderContext) { + const svlSearchLandingPage = getPageObject('svlSearchLandingPage'); + const svlSearchNavigation = getService('svlSearchNavigation'); + const svlCommonNavigation = getPageObject('svlCommonNavigation'); + const testSubjects = getService('testSubjects'); + const browser = getService('browser'); + + describe('navigation', function () { + before(async () => { + await svlSearchNavigation.navigateToLandingPage(); + }); + + it('navigate search sidenav & breadcrumbs', async () => { + const expectNoPageReload = await svlCommonNavigation.createNoPageReloadCheck(); + + // check serverless search side nav exists + await svlCommonNavigation.expectExists(); + await svlCommonNavigation.breadcrumbs.expectExists(); + await svlSearchLandingPage.assertSvlSearchSideNavExists(); + + // check side nav links + await testSubjects.existOrFail(`svlSearchOverviewPage`); + await svlCommonNavigation.sidenav.expectSectionOpen('search_project_nav'); + await svlCommonNavigation.sidenav.expectLinkActive({ + deepLinkId: 'serverlessElasticsearch', + }); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ + deepLinkId: 'serverlessElasticsearch', + }); + await svlCommonNavigation.sidenav.expectSectionClosed('rootNav:ml'); + + // TODO: test something search project specific instead of generic discover + // navigate to discover + await svlCommonNavigation.sidenav.clickLink({ deepLinkId: 'discover' }); + await svlCommonNavigation.sidenav.expectLinkActive({ deepLinkId: 'discover' }); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ text: `Explore` }); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ deepLinkId: 'discover' }); + await expect(await browser.getCurrentUrl()).contain('/app/discover'); + + // navigate to a different section + await svlCommonNavigation.sidenav.openSection('rootNav:ml'); + await svlCommonNavigation.sidenav.clickLink({ deepLinkId: 'ml:notifications' }); + await svlCommonNavigation.sidenav.expectLinkActive({ deepLinkId: 'ml:notifications' }); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ text: `Machine Learning` }); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ + deepLinkId: 'ml:notifications', + }); + await testSubjects.existOrFail(`mlPageNotifications`); + + // navigate back to serverless search overview + await svlCommonNavigation.breadcrumbs.clickHome(); + await svlCommonNavigation.sidenav.expectLinkActive({ + deepLinkId: 'serverlessElasticsearch', + }); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ text: `Getting started` }); + await testSubjects.existOrFail(`svlSearchOverviewPage`); + await svlCommonNavigation.sidenav.expectSectionOpen(`rootNav:ml`); // remains open + + await expectNoPageReload(); + }); + + it('active sidenav section is auto opened on load', async () => { + await svlCommonNavigation.sidenav.openSection('rootNav:ml'); + await svlCommonNavigation.sidenav.clickLink({ deepLinkId: 'ml:notifications' }); + await browser.refresh(); + await testSubjects.existOrFail(`mlPageNotifications`); + await svlCommonNavigation.sidenav.expectSectionOpen('rootNav:ml'); + }); + + it('navigate using search', async () => { + await svlCommonNavigation.search.showSearch(); + // TODO: test something search project specific instead of generic discover + await svlCommonNavigation.search.searchFor('discover'); + await svlCommonNavigation.search.clickOnOption(0); + await svlCommonNavigation.search.hideSearch(); + + await expect(await browser.getCurrentUrl()).contain('/app/discover'); + }); + }); +} diff --git a/x-pack/test_serverless/functional/test_suites/security/index.ts b/x-pack/test_serverless/functional/test_suites/security/index.ts index 4d31c06188bcf..f96995401d1ff 100644 --- a/x-pack/test_serverless/functional/test_suites/security/index.ts +++ b/x-pack/test_serverless/functional/test_suites/security/index.ts @@ -10,6 +10,7 @@ import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ loadTestFile }: FtrProviderContext) { describe('serverless security UI', function () { loadTestFile(require.resolve('./landing_page')); + loadTestFile(require.resolve('./navigation')); loadTestFile(require.resolve('./management')); }); } diff --git a/x-pack/test_serverless/functional/test_suites/security/navigation.ts b/x-pack/test_serverless/functional/test_suites/security/navigation.ts new file mode 100644 index 0000000000000..b8bb85a90eb73 --- /dev/null +++ b/x-pack/test_serverless/functional/test_suites/security/navigation.ts @@ -0,0 +1,47 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default function ({ getPageObject, getService }: FtrProviderContext) { + const svlSecLandingPage = getPageObject('svlSecLandingPage'); + const svlSecNavigation = getService('svlSecNavigation'); + const svlCommonNavigation = getPageObject('svlCommonNavigation'); + const testSubjects = getService('testSubjects'); + const browser = getService('browser'); + + describe('navigation', function () { + before(async () => { + await svlSecNavigation.navigateToLandingPage(); + }); + + it('has security serverless side nav', async () => { + await svlSecLandingPage.assertSvlSecSideNavExists(); + await svlCommonNavigation.expectExists(); + }); + + it('breadcrumbs reflect navigation state', async () => { + await svlCommonNavigation.breadcrumbs.expectExists(); + // TODO: use `deepLinkId` instead of `text`, once security deep links are available in @kbn/core-chrome-browser + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ text: 'Get started' }); + await testSubjects.click('solutionSideNavItemLink-alerts'); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ text: 'Alerts' }); + await svlCommonNavigation.breadcrumbs.clickHome(); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbExists({ text: 'Get started' }); + }); + + it('navigate using search', async () => { + await svlCommonNavigation.search.showSearch(); + await svlCommonNavigation.search.searchFor('dashboards'); + await svlCommonNavigation.search.clickOnOption(1); + await svlCommonNavigation.search.hideSearch(); + + await expect(await browser.getCurrentUrl()).contain('app/security/dashboards'); + }); + }); +} diff --git a/x-pack/test_serverless/tsconfig.json b/x-pack/test_serverless/tsconfig.json index 9bf29d87b413c..1eb4f8e38c89d 100644 --- a/x-pack/test_serverless/tsconfig.json +++ b/x-pack/test_serverless/tsconfig.json @@ -27,5 +27,10 @@ "@kbn/telemetry-collection-xpack-plugin", "@kbn/telemetry-tools", "@kbn/ftr-common-functional-services", + "@kbn/core-chrome-browser", + "@kbn/default-nav-ml", + "@kbn/default-nav-analytics", + "@kbn/default-nav-management", + "@kbn/default-nav-devtools", ] } diff --git a/yarn.lock b/yarn.lock index 2694b8f50b597..91a7de87818a1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4042,6 +4042,10 @@ version "0.0.0" uid "" +"@kbn/discover-utils@link:packages/kbn-discover-utils": + version "0.0.0" + uid "" + "@kbn/doc-links@link:packages/kbn-doc-links": version "0.0.0" uid "" @@ -4654,6 +4658,10 @@ version "0.0.0" uid "" +"@kbn/ml-category-validator@link:x-pack/packages/ml/category_validator": + version "0.0.0" + uid "" + "@kbn/ml-data-frame-analytics-utils@link:x-pack/packages/ml/data_frame_analytics_utils": version "0.0.0" uid ""