diff --git a/docs/settings/reporting-settings.asciidoc b/docs/settings/reporting-settings.asciidoc index dce53703ba8e18..b5e0af7e188a11 100644 --- a/docs/settings/reporting-settings.asciidoc +++ b/docs/settings/reporting-settings.asciidoc @@ -106,7 +106,7 @@ available, but there will likely be errors in the visualizations in the report. If capturing a report fails for any reason, {kib} will re-attempt other reporting job, as many times as this setting. Defaults to `3`. `xpack.reporting.capture.loadDelay`:: -Specify the {time-units}[amount of time] before taking a screenshot when visualizations are not evented. All visualizations that ship with {kib} are evented, so this setting should not have much effect. If you are seeing empty images instead of visualizations, try increasing this value. Defaults to `3s`. +deprecated:[8.0.0,This setting has no effect.] Specify the {time-units}[amount of time] before taking a screenshot when visualizations are not evented. All visualizations that ship with {kib} are evented, so this setting should not have much effect. If you are seeing empty images instead of visualizations, try increasing this value. Defaults to `3s`. *NOTE*: This setting exists for backwards compatibility, but is unused and therefore does not have an affect on reporting performance. [float] [[reporting-chromium-settings]] @@ -220,8 +220,7 @@ Enables a check that warns you when there's a potential formula included in the Escape formula values in cells with a `'`. See OWASP: https://www.owasp.org/index.php/CSV_Injection. Defaults to `true`. `xpack.reporting.csv.enablePanelActionDownload`:: -Enables CSV export from a saved search on a dashboard. This action is available in the dashboard panel menu for the saved search. -NOTE: This setting exists for backwards compatibility, but is unused and hardcoded to `true`. CSV export from a saved search on a dashboard is enabled when Reporting is enabled. +deprecated:[7.9.0,This setting has no effect.] Enables CSV export from a saved search on a dashboard. This action is available in the dashboard panel menu for the saved search. *NOTE*: This setting exists for backwards compatibility, but is unused and hardcoded to `true`. CSV export from a saved search on a dashboard is enabled when Reporting is enabled. `xpack.reporting.csv.useByteOrderMarkEncoding`:: Adds a byte order mark (`\ufeff`) at the beginning of the CSV file. Defaults to `false`. diff --git a/docs/user/dashboard/images/lens_visualizationTypeDropdown_7.16.png b/docs/user/dashboard/images/lens_visualizationTypeDropdown_7.16.png deleted file mode 100644 index dce53da1f2cad2..00000000000000 Binary files a/docs/user/dashboard/images/lens_visualizationTypeDropdown_7.16.png and /dev/null differ diff --git a/docs/user/dashboard/images/lens_visualizationTypeDropdown_8.0.png b/docs/user/dashboard/images/lens_visualizationTypeDropdown_8.0.png new file mode 100644 index 00000000000000..3a7cc44b820ee7 Binary files /dev/null and b/docs/user/dashboard/images/lens_visualizationTypeDropdown_8.0.png differ diff --git a/docs/user/dashboard/tutorial-create-a-dashboard-of-lens-panels.asciidoc b/docs/user/dashboard/tutorial-create-a-dashboard-of-lens-panels.asciidoc index 4d36647c808b30..7437eb480e73f8 100644 --- a/docs/user/dashboard/tutorial-create-a-dashboard-of-lens-panels.asciidoc +++ b/docs/user/dashboard/tutorial-create-a-dashboard-of-lens-panels.asciidoc @@ -68,7 +68,7 @@ The only number function that you can use with *clientip* is *Unique count*, als . Open the *Visualization type* dropdown, then select *Metric*. + [role="screenshot"] -image::images/lens_visualizationTypeDropdown_7.16.png[Visualization type dropdown] +image::images/lens_visualizationTypeDropdown_8.0.png[Visualization type dropdown] . From the *Available fields* list, drag *clientip* to the workspace or layer pane. + diff --git a/examples/dashboard_embeddable_examples/public/by_value/embeddable.tsx b/examples/dashboard_embeddable_examples/public/by_value/embeddable.tsx index 29297341c30165..76e0827ed3fd66 100644 --- a/examples/dashboard_embeddable_examples/public/by_value/embeddable.tsx +++ b/examples/dashboard_embeddable_examples/public/by_value/embeddable.tsx @@ -82,6 +82,7 @@ const initialInput: DashboardContainerInput = { to: 'now', from: 'now-1d', }, + timeRestore: false, title: 'test', query: { query: '', diff --git a/fleet_packages.json b/fleet_packages.json index 9dd281dacae8a6..69fd83f12037ca 100644 --- a/fleet_packages.json +++ b/fleet_packages.json @@ -15,7 +15,7 @@ [ { "name": "apm", - "version": "8.0.0" + "version": "8.1.0" }, { "name": "elastic_agent", @@ -23,7 +23,7 @@ }, { "name": "endpoint", - "version": "1.4.1" + "version": "1.5.0" }, { "name": "fleet_server", @@ -31,6 +31,6 @@ }, { "name": "synthetics", - "version": "0.9.0" + "version": "0.9.2" } ] diff --git a/package.json b/package.json index 6012dae1008228..3a68eaa63c0632 100644 --- a/package.json +++ b/package.json @@ -90,6 +90,7 @@ "**/pdfkit/crypto-js": "4.0.0", "**/react-syntax-highlighter": "^15.3.1", "**/react-syntax-highlighter/**/highlight.js": "^10.4.1", + "**/refractor/prismjs": "~1.27.0", "**/trim": "1.0.1", "**/typescript": "4.5.3", "**/underscore": "^1.13.1", diff --git a/src/core/public/notifications/toasts/toasts_api.test.ts b/src/core/public/notifications/toasts/toasts_api.test.ts index 87d703d5b68148..35f141a995d068 100644 --- a/src/core/public/notifications/toasts/toasts_api.test.ts +++ b/src/core/public/notifications/toasts/toasts_api.test.ts @@ -19,13 +19,13 @@ async function getCurrentToasts(toasts: ToastsApi) { function uiSettingsMock() { const mock = uiSettingsServiceMock.createSetupContract(); - mock.get.mockImplementation(() => (config: string) => { + mock.get.mockImplementation((config: string) => { switch (config) { case 'notifications:lifetime:info': return 5000; case 'notifications:lifetime:warning': return 10000; - case 'notification:lifetime:error': + case 'notifications:lifetime:error': return 30000; default: throw new Error(`Accessing ${config} is not supported in the mock.`); @@ -113,6 +113,12 @@ describe('#add()', () => { const toasts = new ToastsApi(toastDeps()); expect(toasts.add('foo')).toHaveProperty('title', 'foo'); }); + + it('fallbacks to default values for undefined properties', async () => { + const toasts = new ToastsApi(toastDeps()); + const toast = toasts.add({ title: 'foo', toastLifeTimeMs: undefined }); + expect(toast.toastLifeTimeMs).toEqual(5000); + }); }); describe('#remove()', () => { @@ -145,6 +151,12 @@ describe('#addInfo()', () => { expect(currentToasts[0].toastLifeTimeMs).toBe(1); expect(currentToasts[0]).toBe(toast); }); + + it('fallbacks to default values for undefined properties', async () => { + const toasts = new ToastsApi(toastDeps()); + const toast = toasts.addInfo({ title: 'foo', toastLifeTimeMs: undefined }); + expect(toast.toastLifeTimeMs).toEqual(5000); + }); }); describe('#addSuccess()', () => { @@ -159,6 +171,12 @@ describe('#addSuccess()', () => { const currentToasts = await getCurrentToasts(toasts); expect(currentToasts[0]).toBe(toast); }); + + it('fallbacks to default values for undefined properties', async () => { + const toasts = new ToastsApi(toastDeps()); + const toast = toasts.addSuccess({ title: 'foo', toastLifeTimeMs: undefined }); + expect(toast.toastLifeTimeMs).toEqual(5000); + }); }); describe('#addWarning()', () => { @@ -173,6 +191,12 @@ describe('#addWarning()', () => { const currentToasts = await getCurrentToasts(toasts); expect(currentToasts[0]).toBe(toast); }); + + it('fallbacks to default values for undefined properties', async () => { + const toasts = new ToastsApi(toastDeps()); + const toast = toasts.addWarning({ title: 'foo', toastLifeTimeMs: undefined }); + expect(toast.toastLifeTimeMs).toEqual(10000); + }); }); describe('#addDanger()', () => { @@ -187,6 +211,12 @@ describe('#addDanger()', () => { const currentToasts = await getCurrentToasts(toasts); expect(currentToasts[0]).toBe(toast); }); + + it('fallbacks to default values for undefined properties', async () => { + const toasts = new ToastsApi(toastDeps()); + const toast = toasts.addDanger({ title: 'foo', toastLifeTimeMs: undefined }); + expect(toast.toastLifeTimeMs).toEqual(10000); + }); }); describe('#addError', () => { diff --git a/src/core/public/notifications/toasts/toasts_api.tsx b/src/core/public/notifications/toasts/toasts_api.tsx index 5e5d9d5615fd45..5aaea1ca90a56b 100644 --- a/src/core/public/notifications/toasts/toasts_api.tsx +++ b/src/core/public/notifications/toasts/toasts_api.tsx @@ -9,6 +9,7 @@ import { EuiGlobalToastListToast as EuiToast } from '@elastic/eui'; import React from 'react'; import * as Rx from 'rxjs'; +import { omitBy, isUndefined } from 'lodash'; import { ErrorToast } from './error_toast'; import { MountPoint } from '../../types'; @@ -75,7 +76,7 @@ const normalizeToast = (toastOrTitle: ToastInput): ToastInputFields => { title: toastOrTitle, }; } - return toastOrTitle; + return omitBy(toastOrTitle, isUndefined); }; /** diff --git a/src/dev/build/args.test.ts b/src/dev/build/args.test.ts index f372a9e88f2f99..c06c13230c63f7 100644 --- a/src/dev/build/args.test.ts +++ b/src/dev/build/args.test.ts @@ -40,10 +40,10 @@ it('build default and oss dist for current platform, without packages, by defaul "dockerTagQualifier": null, "downloadCloudDependencies": true, "downloadFreshNode": true, + "eprRegistry": "snapshot", "initialize": true, "isRelease": false, "targetAllPlatforms": false, - "useSnapshotEpr": false, "versionQualifier": "", }, "log": , @@ -71,10 +71,10 @@ it('builds packages if --all-platforms is passed', () => { "dockerTagQualifier": null, "downloadCloudDependencies": true, "downloadFreshNode": true, + "eprRegistry": "snapshot", "initialize": true, "isRelease": false, "targetAllPlatforms": true, - "useSnapshotEpr": false, "versionQualifier": "", }, "log": , @@ -102,10 +102,10 @@ it('limits packages if --rpm passed with --all-platforms', () => { "dockerTagQualifier": null, "downloadCloudDependencies": true, "downloadFreshNode": true, + "eprRegistry": "snapshot", "initialize": true, "isRelease": false, "targetAllPlatforms": true, - "useSnapshotEpr": false, "versionQualifier": "", }, "log": , @@ -133,10 +133,10 @@ it('limits packages if --deb passed with --all-platforms', () => { "dockerTagQualifier": null, "downloadCloudDependencies": true, "downloadFreshNode": true, + "eprRegistry": "snapshot", "initialize": true, "isRelease": false, "targetAllPlatforms": true, - "useSnapshotEpr": false, "versionQualifier": "", }, "log": , @@ -165,10 +165,10 @@ it('limits packages if --docker passed with --all-platforms', () => { "dockerTagQualifier": null, "downloadCloudDependencies": true, "downloadFreshNode": true, + "eprRegistry": "snapshot", "initialize": true, "isRelease": false, "targetAllPlatforms": true, - "useSnapshotEpr": false, "versionQualifier": "", }, "log": , @@ -204,10 +204,10 @@ it('limits packages if --docker passed with --skip-docker-ubi and --all-platform "dockerTagQualifier": null, "downloadCloudDependencies": true, "downloadFreshNode": true, + "eprRegistry": "snapshot", "initialize": true, "isRelease": false, "targetAllPlatforms": true, - "useSnapshotEpr": false, "versionQualifier": "", }, "log": , @@ -236,10 +236,10 @@ it('limits packages if --all-platforms passed with --skip-docker-ubuntu', () => "dockerTagQualifier": null, "downloadCloudDependencies": true, "downloadFreshNode": true, + "eprRegistry": "snapshot", "initialize": true, "isRelease": false, "targetAllPlatforms": true, - "useSnapshotEpr": false, "versionQualifier": "", }, "log": , diff --git a/src/dev/build/args.ts b/src/dev/build/args.ts index 9c38fe18668569..03fe49b72c9544 100644 --- a/src/dev/build/args.ts +++ b/src/dev/build/args.ts @@ -40,8 +40,8 @@ export function readCliArgs(argv: string[]) { 'silent', 'debug', 'help', - 'use-snapshot-epr', ], + string: ['epr-registry'], alias: { v: 'verbose', d: 'debug', @@ -55,6 +55,7 @@ export function readCliArgs(argv: string[]) { 'docker-push': false, 'docker-tag-qualifier': null, 'version-qualifier': '', + 'epr-registry': 'snapshot', }, unknown: (flag) => { unknownFlags.push(flag); @@ -96,6 +97,18 @@ export function readCliArgs(argv: string[]) { return Boolean(flags[name]); } + const eprRegistry = flags['epr-registry']; + if (eprRegistry !== 'snapshot' && eprRegistry !== 'production') { + log.error( + `Invalid value for --epr-registry, must be 'production' or 'snapshot', got ${eprRegistry}` + ); + return { + log, + showHelp: true, + unknownFlags: [], + }; + } + const buildOptions: BuildOptions = { isRelease: Boolean(flags.release), versionQualifier: flags['version-qualifier'], @@ -116,7 +129,7 @@ export function readCliArgs(argv: string[]) { createDockerUBI: isOsPackageDesired('docker-images') && !Boolean(flags['skip-docker-ubi']), createDockerContexts: !Boolean(flags['skip-docker-contexts']), targetAllPlatforms: Boolean(flags['all-platforms']), - useSnapshotEpr: Boolean(flags['use-snapshot-epr']), + eprRegistry: flags['epr-registry'], }; return { diff --git a/src/dev/build/build_distributables.ts b/src/dev/build/build_distributables.ts index ba271eb6ba4da7..4fb849988cb607 100644 --- a/src/dev/build/build_distributables.ts +++ b/src/dev/build/build_distributables.ts @@ -30,7 +30,7 @@ export interface BuildOptions { versionQualifier: string | undefined; targetAllPlatforms: boolean; createExamplePlugins: boolean; - useSnapshotEpr: boolean; + eprRegistry: 'production' | 'snapshot'; } export async function buildDistributables(log: ToolingLog, options: BuildOptions): Promise { diff --git a/src/dev/build/cli.ts b/src/dev/build/cli.ts index 323a40d02de66b..ffcbb68215ab7c 100644 --- a/src/dev/build/cli.ts +++ b/src/dev/build/cli.ts @@ -47,6 +47,7 @@ if (showHelp) { --skip-node-download {dim Reuse existing downloads of node.js} --verbose,-v {dim Turn on verbose logging} --no-debug {dim Turn off debug logging} + --epr-registry {dim Specify the EPR registry to use for Fleet packages, 'production' or 'snapshot'} `) + '\n' ); process.exit(1); diff --git a/src/dev/build/tasks/bundle_fleet_packages.ts b/src/dev/build/tasks/bundle_fleet_packages.ts index cda4f47d1210eb..7d0dc6a25a47e3 100644 --- a/src/dev/build/tasks/bundle_fleet_packages.ts +++ b/src/dev/build/tasks/bundle_fleet_packages.ts @@ -28,9 +28,10 @@ export const BundleFleetPackages: Task = { // Support the `--use-snapshot-epr` command line argument to fetch from the snapshot registry // in development or test environments const { buildOptions } = readCliArgs(process.argv); - const eprUrl = buildOptions?.useSnapshotEpr - ? 'https://epr-snapshot.elastic.co' - : 'https://epr.elastic.co'; + const eprUrl = + buildOptions?.eprRegistry === 'snapshot' + ? 'https://epr-snapshot.elastic.co' + : 'https://epr.elastic.co'; const configFilePath = config.resolveFromRepo('fleet_packages.json'); const fleetPackages = (await read(configFilePath)) || '[]'; diff --git a/src/fixtures/telemetry_collectors/enum_collector.ts b/src/fixtures/telemetry_collectors/enum_collector.ts index b1e7d232ee7664..f0528b7dcee1ab 100644 --- a/src/fixtures/telemetry_collectors/enum_collector.ts +++ b/src/fixtures/telemetry_collectors/enum_collector.ts @@ -6,13 +6,9 @@ * Side Public License, v 1. */ -import { CollectorSet } from '../../plugins/usage_collection/server/collector'; -import { loggerMock } from '../../core/server/logging/logger.mock'; +import { createUsageCollectionSetupMock } from '../../plugins/usage_collection/server/mocks'; -const { makeUsageCollector } = new CollectorSet({ - logger: loggerMock.create(), - maximumWaitTimeForAllCollectorsInS: 0, -}); +const { makeUsageCollector } = createUsageCollectionSetupMock(); enum TELEMETRY_LAYER_TYPE { ES_DOCS = 'es_docs', diff --git a/src/fixtures/telemetry_collectors/externally_defined_collector.ts b/src/fixtures/telemetry_collectors/externally_defined_collector.ts index 363b289eb54286..d954bd30fe0028 100644 --- a/src/fixtures/telemetry_collectors/externally_defined_collector.ts +++ b/src/fixtures/telemetry_collectors/externally_defined_collector.ts @@ -6,16 +6,10 @@ * Side Public License, v 1. */ -import { - CollectorSet, - UsageCollectorOptions, -} from '../../plugins/usage_collection/server/collector'; -import { loggerMock } from '../../core/server/logging/logger.mock'; +import type { UsageCollectorOptions } from 'src/plugins/usage_collection/server'; +import { createUsageCollectionSetupMock } from '../../plugins/usage_collection/server/mocks'; -const collectorSet = new CollectorSet({ - logger: loggerMock.create(), - maximumWaitTimeForAllCollectorsInS: 0, -}); +const collectorSet = createUsageCollectionSetupMock(); interface Usage { locale: string; diff --git a/src/fixtures/telemetry_collectors/imported_interface_from_export/index.ts b/src/fixtures/telemetry_collectors/imported_interface_from_export/index.ts index 095ee9e8f6091f..222a89bf322984 100644 --- a/src/fixtures/telemetry_collectors/imported_interface_from_export/index.ts +++ b/src/fixtures/telemetry_collectors/imported_interface_from_export/index.ts @@ -6,14 +6,10 @@ * Side Public License, v 1. */ -import { CollectorSet } from '../../../plugins/usage_collection/server/collector'; -import { loggerMock } from '../../../core/server/logging/logger.mock'; import type { Usage } from './types'; +import { createUsageCollectionSetupMock } from '../../../plugins/usage_collection/server/mocks'; -const { makeUsageCollector } = new CollectorSet({ - logger: loggerMock.create(), - maximumWaitTimeForAllCollectorsInS: 0, -}); +const { makeUsageCollector } = createUsageCollectionSetupMock(); export const myCollector = makeUsageCollector({ type: 'importing_from_export_collector', diff --git a/src/fixtures/telemetry_collectors/imported_schema.ts b/src/fixtures/telemetry_collectors/imported_schema.ts index 68930097eedab2..6ea7ded9044043 100644 --- a/src/fixtures/telemetry_collectors/imported_schema.ts +++ b/src/fixtures/telemetry_collectors/imported_schema.ts @@ -6,14 +6,10 @@ * Side Public License, v 1. */ -import { CollectorSet } from '../../plugins/usage_collection/server/collector'; -import { loggerMock } from '../../core/server/logging/logger.mock'; +import { createUsageCollectionSetupMock } from '../../plugins/usage_collection/server/mocks'; import { externallyDefinedSchema } from './constants'; -const { makeUsageCollector } = new CollectorSet({ - logger: loggerMock.create(), - maximumWaitTimeForAllCollectorsInS: 0, -}); +const { makeUsageCollector } = createUsageCollectionSetupMock(); interface Usage { locale?: string; diff --git a/src/fixtures/telemetry_collectors/imported_usage_interface.ts b/src/fixtures/telemetry_collectors/imported_usage_interface.ts index 16a14aa8bde07a..43f2bc0d6fb5b8 100644 --- a/src/fixtures/telemetry_collectors/imported_usage_interface.ts +++ b/src/fixtures/telemetry_collectors/imported_usage_interface.ts @@ -6,14 +6,10 @@ * Side Public License, v 1. */ -import { CollectorSet } from '../../plugins/usage_collection/server/collector'; -import { loggerMock } from '../../core/server/logging/logger.mock'; import { Usage } from './constants'; +import { createUsageCollectionSetupMock } from '../../plugins/usage_collection/server/mocks'; -const { makeUsageCollector } = new CollectorSet({ - logger: loggerMock.create(), - maximumWaitTimeForAllCollectorsInS: 0, -}); +const { makeUsageCollector } = createUsageCollectionSetupMock(); export const myCollector = makeUsageCollector({ type: 'imported_usage_interface_collector', diff --git a/src/fixtures/telemetry_collectors/indexed_interface_with_not_matching_schema.ts b/src/fixtures/telemetry_collectors/indexed_interface_with_not_matching_schema.ts index c99e25be20fc47..5a353ddfbd843a 100644 --- a/src/fixtures/telemetry_collectors/indexed_interface_with_not_matching_schema.ts +++ b/src/fixtures/telemetry_collectors/indexed_interface_with_not_matching_schema.ts @@ -6,13 +6,9 @@ * Side Public License, v 1. */ -import { CollectorSet } from '../../plugins/usage_collection/server/collector'; -import { loggerMock } from '../../core/server/logging/logger.mock'; +import { createUsageCollectionSetupMock } from '../../plugins/usage_collection/server/mocks'; -const { makeUsageCollector } = new CollectorSet({ - logger: loggerMock.create(), - maximumWaitTimeForAllCollectorsInS: 0, -}); +const { makeUsageCollector } = createUsageCollectionSetupMock(); interface Usage { [key: string]: { diff --git a/src/fixtures/telemetry_collectors/nested_collector.ts b/src/fixtures/telemetry_collectors/nested_collector.ts index 812b7d7f452dcb..4d78f26f9fb895 100644 --- a/src/fixtures/telemetry_collectors/nested_collector.ts +++ b/src/fixtures/telemetry_collectors/nested_collector.ts @@ -6,13 +6,10 @@ * Side Public License, v 1. */ -import { CollectorSet, Collector } from '../../plugins/usage_collection/server/collector'; -import { loggerMock } from '../../core/server/logging/logger.mock'; +import type { Collector } from 'src/plugins/usage_collection/server'; +import { createUsageCollectionSetupMock } from '../../plugins/usage_collection/server/mocks'; -const collectorSet = new CollectorSet({ - logger: loggerMock.create(), - maximumWaitTimeForAllCollectorsInS: 0, -}); +const collectorSet = createUsageCollectionSetupMock(); interface Usage { locale?: string; diff --git a/src/fixtures/telemetry_collectors/schema_defined_with_spreads_collector.ts b/src/fixtures/telemetry_collectors/schema_defined_with_spreads_collector.ts index 730af7bc10ed62..5d8f446f3fd63a 100644 --- a/src/fixtures/telemetry_collectors/schema_defined_with_spreads_collector.ts +++ b/src/fixtures/telemetry_collectors/schema_defined_with_spreads_collector.ts @@ -6,13 +6,10 @@ * Side Public License, v 1. */ -import { CollectorSet, MakeSchemaFrom } from '../../plugins/usage_collection/server/collector'; -import { loggerMock } from '../../core/server/logging/logger.mock'; +import type { MakeSchemaFrom } from 'src/plugins/usage_collection/server'; +import { createUsageCollectionSetupMock } from '../../plugins/usage_collection/server/mocks'; -const { makeUsageCollector } = new CollectorSet({ - logger: loggerMock.create(), - maximumWaitTimeForAllCollectorsInS: 0, -}); +const { makeUsageCollector } = createUsageCollectionSetupMock(); interface MyObject { total: number; diff --git a/src/fixtures/telemetry_collectors/stats_collector.ts b/src/fixtures/telemetry_collectors/stats_collector.ts index 55d447751d4b67..c8f513a07253ba 100644 --- a/src/fixtures/telemetry_collectors/stats_collector.ts +++ b/src/fixtures/telemetry_collectors/stats_collector.ts @@ -6,13 +6,9 @@ * Side Public License, v 1. */ -import { CollectorSet } from '../../plugins/usage_collection/server/collector'; -import { loggerMock } from '../../core/server/logging/logger.mock'; +import { createUsageCollectionSetupMock } from '../../plugins/usage_collection/server/mocks'; -const { makeStatsCollector } = new CollectorSet({ - logger: loggerMock.create(), - maximumWaitTimeForAllCollectorsInS: 0, -}); +const { makeStatsCollector } = createUsageCollectionSetupMock(); interface Usage { some_field: string; diff --git a/src/fixtures/telemetry_collectors/unmapped_collector.ts b/src/fixtures/telemetry_collectors/unmapped_collector.ts index f9aec71f0b5b82..60b33bbcb340d6 100644 --- a/src/fixtures/telemetry_collectors/unmapped_collector.ts +++ b/src/fixtures/telemetry_collectors/unmapped_collector.ts @@ -6,13 +6,9 @@ * Side Public License, v 1. */ -import { CollectorSet } from '../../plugins/usage_collection/server/collector'; -import { loggerMock } from '../../core/server/logging/logger.mock'; +import { createUsageCollectionSetupMock } from '../../plugins/usage_collection/server/mocks'; -const { makeUsageCollector } = new CollectorSet({ - logger: loggerMock.create(), - maximumWaitTimeForAllCollectorsInS: 0, -}); +const { makeUsageCollector } = createUsageCollectionSetupMock(); interface Usage { locale: string; diff --git a/src/fixtures/telemetry_collectors/working_collector.ts b/src/fixtures/telemetry_collectors/working_collector.ts index ab9d6d56af05a0..a34f52da6c9144 100644 --- a/src/fixtures/telemetry_collectors/working_collector.ts +++ b/src/fixtures/telemetry_collectors/working_collector.ts @@ -6,13 +6,9 @@ * Side Public License, v 1. */ -import { CollectorSet } from '../../plugins/usage_collection/server/collector'; -import { loggerMock } from '../../core/server/logging/logger.mock'; +import { createUsageCollectionSetupMock } from '../../plugins/usage_collection/server/mocks'; -const { makeUsageCollector } = new CollectorSet({ - logger: loggerMock.create(), - maximumWaitTimeForAllCollectorsInS: 0, -}); +const { makeUsageCollector } = createUsageCollectionSetupMock(); interface MyObject { total: number; diff --git a/src/fixtures/telemetry_collectors/working_collector_with_description.ts b/src/fixtures/telemetry_collectors/working_collector_with_description.ts index 433993df06886a..6f57f481de9b4c 100644 --- a/src/fixtures/telemetry_collectors/working_collector_with_description.ts +++ b/src/fixtures/telemetry_collectors/working_collector_with_description.ts @@ -6,13 +6,9 @@ * Side Public License, v 1. */ -import { CollectorSet } from '../../plugins/usage_collection/server/collector'; -import { loggerMock } from '../../core/server/logging/logger.mock'; +import { createUsageCollectionSetupMock } from '../../plugins/usage_collection/server/mocks'; -const { makeUsageCollector } = new CollectorSet({ - logger: loggerMock.create(), - maximumWaitTimeForAllCollectorsInS: 0, -}); +const { makeUsageCollector } = createUsageCollectionSetupMock(); interface MyObject { total: number; diff --git a/src/plugins/chart_expressions/expression_gauge/public/components/__snapshots__/gauge_component.test.tsx.snap b/src/plugins/chart_expressions/expression_gauge/public/components/__snapshots__/gauge_component.test.tsx.snap index 9af3bb2be8a570..0bd72c606dd9f9 100644 --- a/src/plugins/chart_expressions/expression_gauge/public/components/__snapshots__/gauge_component.test.tsx.snap +++ b/src/plugins/chart_expressions/expression_gauge/public/components/__snapshots__/gauge_component.test.tsx.snap @@ -7,7 +7,16 @@ exports[`GaugeComponent renders the chart 1`] = ` = memo( diff --git a/src/plugins/controls/public/control_group/component/control_frame_component.tsx b/src/plugins/controls/public/control_group/component/control_frame_component.tsx index e921cbd90d2983..8ae1aac7867d0e 100644 --- a/src/plugins/controls/public/control_group/component/control_frame_component.tsx +++ b/src/plugins/controls/public/control_group/component/control_frame_component.tsx @@ -98,15 +98,19 @@ export const ControlFrame = ({ customPrepend, enableActions, embeddableId }: Con const form = ( {(embeddable && customPrepend) ?? null} {usingTwoLineLayout ? undefined : ( - - {title} - + + + {title} + + )} } diff --git a/src/plugins/controls/public/control_group/component/control_group_sortable_item.tsx b/src/plugins/controls/public/control_group/component/control_group_sortable_item.tsx index ecba29bb5f1db9..7f7944c8ca3199 100644 --- a/src/plugins/controls/public/control_group/component/control_group_sortable_item.tsx +++ b/src/plugins/controls/public/control_group/component/control_group_sortable_item.tsx @@ -81,6 +81,7 @@ const SortableControlInner = forwardRef< data-render-complete="true" className={classNames('controlFrameWrapper', { 'controlFrameWrapper-isDragging': isDragging, + 'controlFrameWrapper-isEditable': isEditable, 'controlFrameWrapper--small': width === 'small', 'controlFrameWrapper--medium': width === 'medium', 'controlFrameWrapper--large': width === 'large', diff --git a/src/plugins/controls/public/control_group/control_group.scss b/src/plugins/controls/public/control_group/control_group.scss index 29e45e7fd1e699..bd8974a4b7b06e 100644 --- a/src/plugins/controls/public/control_group/control_group.scss +++ b/src/plugins/controls/public/control_group/control_group.scss @@ -82,10 +82,26 @@ $controlMinWidth: $euiSize * 14; } } +.controlFrame__labelToolTip { + max-width: 50%; +} + .controlFrameWrapper { flex-basis: auto; position: relative; + &.controlFrameWrapper-isEditable { + .controlFrame__formControlLayoutLabel { + padding-left: 0; + } + } + + &:not(.controlFrameWrapper-isEditable) { + .controlFrameFormControlLayout--twoLine .euiFormControlLayout__childrenWrapper { + border-radius: $euiBorderRadius 0 0 $euiBorderRadius; + } + } + .controlFrame__formControlLayout { width: 100%; min-width: $controlMinWidth; @@ -93,7 +109,6 @@ $controlMinWidth: $euiSize * 14; &Label { @include euiTextTruncate; - max-width: 50%; border-radius: $euiBorderRadius; } diff --git a/src/plugins/controls/public/control_types/options_list/options_list.scss b/src/plugins/controls/public/control_types/options_list/options_list.scss index 51ad9dc6610a89..3ccd79ee48a6c2 100644 --- a/src/plugins/controls/public/control_types/options_list/options_list.scss +++ b/src/plugins/controls/public/control_types/options_list/options_list.scss @@ -22,6 +22,10 @@ border-color: darken($euiColorLightestShade, 2%); } +.optionsList--filterBtnWrapper { + height: 100%; +} + .optionsList--filterBtn { .euiFilterButton__text-hasNotification { flex-grow: 1; diff --git a/src/plugins/controls/public/control_types/options_list/options_list_component.tsx b/src/plugins/controls/public/control_types/options_list/options_list_component.tsx index 74f2130528e97a..5547618349b943 100644 --- a/src/plugins/controls/public/control_types/options_list/options_list_component.tsx +++ b/src/plugins/controls/public/control_types/options_list/options_list_component.tsx @@ -6,8 +6,8 @@ * Side Public License, v 1. */ -import { EuiFilterButton, EuiFilterGroup, EuiPopover } from '@elastic/eui'; -import React, { useCallback, useEffect, useMemo, useState } from 'react'; +import { EuiFilterButton, EuiFilterGroup, EuiPopover, useResizeObserver } from '@elastic/eui'; +import React, { useCallback, useEffect, useMemo, useState, useRef } from 'react'; import { BehaviorSubject, Subject } from 'rxjs'; import classNames from 'classnames'; import { debounce } from 'lodash'; @@ -37,6 +37,9 @@ export const OptionsListComponent = ({ const [isPopoverOpen, setIsPopoverOpen] = useState(false); const [searchString, setSearchString] = useState(''); + const resizeRef = useRef(null); + const dimensions = useResizeObserver(resizeRef.current); + // Redux embeddable Context to get state from Embeddable input const { useEmbeddableDispatch, @@ -85,21 +88,25 @@ export const OptionsListComponent = ({ }, [selectedOptions]); const button = ( - setIsPopoverOpen((openState) => !openState)} - isSelected={isPopoverOpen} - numActiveFilters={selectedOptionsCount} - hasActiveFilters={(selectedOptionsCount ?? 0) > 0} - > - {!selectedOptionsCount ? OptionsListStrings.summary.getPlaceholder() : selectedOptionsString} - +
+ setIsPopoverOpen((openState) => !openState)} + isSelected={isPopoverOpen} + numActiveFilters={selectedOptionsCount} + hasActiveFilters={(selectedOptionsCount ?? 0) > 0} + > + {!selectedOptionsCount + ? OptionsListStrings.summary.getPlaceholder() + : selectedOptionsString} + +
); return ( @@ -120,6 +127,7 @@ export const OptionsListComponent = ({ repositionOnScroll > - + - + (field.aggregatable && field.type === 'string') || field.type === 'boolean' @@ -105,7 +105,7 @@ export const OptionsListEditor = ({ }} /> - + void; availableOptions: OptionsListComponentState['availableOptions']; @@ -55,12 +57,13 @@ export const OptionsListPopover = ({ <> {title}
- + updateSearchString(event.target.value)} value={searchString} data-test-subj="optionsList-control-search-input" @@ -105,6 +108,7 @@ export const OptionsListPopover = ({
300 ? width : undefined }} className="optionsList__items" data-option-count={availableOptions?.length ?? 0} data-test-subj={`optionsList-control-available-options`} diff --git a/src/plugins/dashboard/public/application/lib/convert_dashboard_state.ts b/src/plugins/dashboard/public/application/lib/convert_dashboard_state.ts index 89ad65f58278f0..cc35fa8307d2f3 100644 --- a/src/plugins/dashboard/public/application/lib/convert_dashboard_state.ts +++ b/src/plugins/dashboard/public/application/lib/convert_dashboard_state.ts @@ -11,6 +11,7 @@ import type { KibanaExecutionContext } from 'src/core/public'; import { DashboardSavedObject } from '../../saved_dashboards'; import { getTagsFromSavedDashboard, migrateAppState } from '.'; import { EmbeddablePackageState, ViewMode } from '../../services/embeddable'; +import { TimeRange } from '../../services/data'; import { convertPanelStateToSavedDashboardPanel } from '../../../common/embeddable/embeddable_saved_object_converters'; import { DashboardState, @@ -74,7 +75,9 @@ export const savedObjectToDashboardState = ({ version, usageCollection ); - + if (rawState.timeRestore) { + rawState.timeRange = { from: savedDashboard.timeFrom, to: savedDashboard.timeTo } as TimeRange; + } rawState.controlGroupInput = deserializeControlGroupFromDashboardSavedObject( savedDashboard ) as ControlGroupInput; @@ -106,6 +109,7 @@ export const stateToDashboardContainerInput = ({ panels, query, title, + timeRestore, } = dashboardState; return { @@ -127,6 +131,7 @@ export const stateToDashboardContainerInput = ({ timeRange: { ..._.cloneDeep(timefilter.getTime()), }, + timeRestore, executionContext, }; }; diff --git a/src/plugins/dashboard/public/application/lib/diff_dashboard_state.ts b/src/plugins/dashboard/public/application/lib/diff_dashboard_state.ts index 729b0d06f4ab8b..85a8bf54c9266f 100644 --- a/src/plugins/dashboard/public/application/lib/diff_dashboard_state.ts +++ b/src/plugins/dashboard/public/application/lib/diff_dashboard_state.ts @@ -15,13 +15,7 @@ import { controlGroupInputIsEqual } from './dashboard_control_group'; import { DashboardOptions, DashboardPanelMap, DashboardState } from '../../types'; import { IEmbeddable } from '../../services/embeddable'; -const stateKeystoIgnore = [ - 'expandedPanelId', - 'fullScreenMode', - 'savedQuery', - 'viewMode', - 'tags', -] as const; +const stateKeystoIgnore = ['expandedPanelId', 'fullScreenMode', 'savedQuery', 'viewMode', 'tags']; type DashboardStateToCompare = Omit; const inputKeystoIgnore = ['searchSessionId', 'lastReloadRequestTime', 'executionContext'] as const; @@ -60,6 +54,9 @@ export const diffDashboardState = async ({ newState: DashboardState; getEmbeddable: (id: string) => Promise; }): Promise> => { + if (!newState.timeRestore) { + stateKeystoIgnore.push('timeRange'); + } const { controlGroupInput: originalControlGroupInput, options: originalOptions, diff --git a/src/plugins/dashboard/public/application/lib/sync_dashboard_container_input.ts b/src/plugins/dashboard/public/application/lib/sync_dashboard_container_input.ts index d3930cb5c0621b..a339ec4f8405fd 100644 --- a/src/plugins/dashboard/public/application/lib/sync_dashboard_container_input.ts +++ b/src/plugins/dashboard/public/application/lib/sync_dashboard_container_input.ts @@ -20,6 +20,7 @@ import { setFullScreenMode, setPanels, setQuery, + setTimeRange, } from '../state'; import { diffDashboardContainerInput } from './diff_dashboard_state'; import { replaceUrlHashQuery } from '../../../../kibana_utils/public'; @@ -111,6 +112,10 @@ export const applyContainerChangesToState = ({ dispatchDashboardStateChange(setQuery(input.query)); } + if (input.timeRestore && !_.isEqual(input.timeRange, latestState.timeRange)) { + dispatchDashboardStateChange(setTimeRange(input.timeRange)); + } + if (!_.isEqual(input.expandedPanelId, latestState.expandedPanelId)) { dispatchDashboardStateChange(setExpandedPanelId(input.expandedPanelId)); } diff --git a/src/plugins/dashboard/public/application/lib/sync_dashboard_filter_state.ts b/src/plugins/dashboard/public/application/lib/sync_dashboard_filter_state.ts index ea4ecf8dc7a3d2..d187ee207b2fe0 100644 --- a/src/plugins/dashboard/public/application/lib/sync_dashboard_filter_state.ts +++ b/src/plugins/dashboard/public/application/lib/sync_dashboard_filter_state.ts @@ -81,6 +81,7 @@ export const syncDashboardFilterState = ({ set: ({ filters, query }) => { intermediateFilterState.filters = cleanFiltersForSerialize(filters ?? []) || []; intermediateFilterState.query = query || queryString.getDefaultQuery(); + applyFilters(intermediateFilterState.query, intermediateFilterState.filters); dispatchDashboardStateChange(setFiltersAndQuery(intermediateFilterState)); }, state$: $onDashboardStateChange.pipe( diff --git a/src/plugins/dashboard/public/application/state/dashboard_state_slice.ts b/src/plugins/dashboard/public/application/state/dashboard_state_slice.ts index 5604dfaa875e18..eea9edd13507f7 100644 --- a/src/plugins/dashboard/public/application/state/dashboard_state_slice.ts +++ b/src/plugins/dashboard/public/application/state/dashboard_state_slice.ts @@ -8,7 +8,7 @@ import { createSlice, PayloadAction } from '@reduxjs/toolkit'; -import { Filter, Query } from '../../services/data'; +import { Filter, Query, TimeRange } from '../../services/data'; import { ViewMode } from '../../services/embeddable'; import type { DashboardControlGroupInput } from '../lib/dashboard_control_group'; import { DashboardOptions, DashboardPanelMap, DashboardState } from '../../types'; @@ -72,6 +72,9 @@ export const dashboardStateSlice = createSlice({ setTimeRestore: (state, action: PayloadAction) => { state.timeRestore = action.payload; }, + setTimeRange: (state, action: PayloadAction) => { + state.timeRange = action.payload; + }, setDescription: (state, action: PayloadAction) => { state.description = action.payload; }, @@ -109,6 +112,7 @@ export const { setSavedQueryId, setDescription, setTimeRestore, + setTimeRange, setSyncColors, setUseMargins, setViewMode, diff --git a/src/plugins/dashboard/public/application/test_helpers/get_sample_dashboard_input.ts b/src/plugins/dashboard/public/application/test_helpers/get_sample_dashboard_input.ts index 46be5b3b16d849..29e4e7aa8ee1ac 100644 --- a/src/plugins/dashboard/public/application/test_helpers/get_sample_dashboard_input.ts +++ b/src/plugins/dashboard/public/application/test_helpers/get_sample_dashboard_input.ts @@ -28,6 +28,7 @@ export function getSampleDashboardInput( to: 'now', from: 'now-15m', }, + timeRestore: false, viewMode: ViewMode.VIEW, panels: {}, ...overrides, diff --git a/src/plugins/dashboard/public/types.ts b/src/plugins/dashboard/public/types.ts index 4de07974203a7e..c1023f8e900bd1 100644 --- a/src/plugins/dashboard/public/types.ts +++ b/src/plugins/dashboard/public/types.ts @@ -69,6 +69,7 @@ export interface DashboardState { expandedPanelId?: string; options: DashboardOptions; panels: DashboardPanelMap; + timeRange?: TimeRange; controlGroupInput?: DashboardControlGroupInput; } @@ -86,6 +87,7 @@ export interface DashboardContainerInput extends ContainerInput { isFullScreenMode: boolean; expandedPanelId?: string; timeRange: TimeRange; + timeRestore: boolean; description?: string; useMargins: boolean; syncColors?: boolean; diff --git a/src/plugins/presentation_util/public/components/data_view_picker/data_view_picker.scss b/src/plugins/presentation_util/public/components/data_view_picker/data_view_picker.scss new file mode 100644 index 00000000000000..0d79a59a42fc78 --- /dev/null +++ b/src/plugins/presentation_util/public/components/data_view_picker/data_view_picker.scss @@ -0,0 +1,6 @@ +.presDataViewPicker__panel { + min-width: $euiSizeXXL * 8; + @include euiBreakpoint('l', 'xl') { + width: $euiFormMaxWidth; + } +} \ No newline at end of file diff --git a/src/plugins/presentation_util/public/components/data_view_picker/data_view_picker.tsx b/src/plugins/presentation_util/public/components/data_view_picker/data_view_picker.tsx index 2391f945d478ab..ec9cb26ed3dce6 100644 --- a/src/plugins/presentation_util/public/components/data_view_picker/data_view_picker.tsx +++ b/src/plugins/presentation_util/public/components/data_view_picker/data_view_picker.tsx @@ -13,6 +13,8 @@ import { DataViewListItem } from '../../../../data_views/common'; import { ToolbarButton, ToolbarButtonProps } from '../../../../kibana_react/public'; +import './data_view_picker.scss'; + export type DataViewTriggerProps = ToolbarButtonProps & { label: string; title?: string; @@ -67,49 +69,48 @@ export function DataViewPicker({ display="block" panelPaddingSize="s" ownFocus + panelClassName="presDataViewPicker__panel" > -
- - {i18n.translate('presentationUtil.dataViewPicker.changeDataViewTitle', { - defaultMessage: 'Data view', - })} - - - {...selectableProps} - searchable - singleSelection="always" - options={dataViews.map(({ title, id }) => ({ - key: id, - label: title, - value: id, - 'data-test-subj': `data-view-picker-${title}`, - checked: id === selectedDataViewId ? 'on' : undefined, - }))} - onChange={(choices) => { - const choice = choices.find(({ checked }) => checked) as unknown as { - value: string; - }; - onChangeDataViewId(choice.value); - setPopoverIsOpen(false); - }} - searchProps={{ - compressed: true, - ...(selectableProps ? selectableProps.searchProps : undefined), - }} - > - {(list, search) => ( - <> - {search} - {list} - - )} - -
+ + {i18n.translate('presentationUtil.dataViewPicker.changeDataViewTitle', { + defaultMessage: 'Data view', + })} + + + {...selectableProps} + searchable + singleSelection="always" + options={dataViews.map(({ title, id }) => ({ + key: id, + label: title, + value: id, + 'data-test-subj': `data-view-picker-${title}`, + checked: id === selectedDataViewId ? 'on' : undefined, + }))} + onChange={(choices) => { + const choice = choices.find(({ checked }) => checked) as unknown as { + value: string; + }; + onChangeDataViewId(choice.value); + setPopoverIsOpen(false); + }} + searchProps={{ + compressed: true, + ...(selectableProps ? selectableProps.searchProps : undefined), + }} + > + {(list, search) => ( + <> + {search} + {list} + + )} + ); diff --git a/src/plugins/presentation_util/public/components/field_picker/field_search.scss b/src/plugins/presentation_util/public/components/field_picker/field_search.scss new file mode 100644 index 00000000000000..bc4ea714a41133 --- /dev/null +++ b/src/plugins/presentation_util/public/components/field_picker/field_search.scss @@ -0,0 +1,6 @@ +.presFilterByType__panel { + min-width: $euiSizeXXL * 8; + @include euiBreakpoint('l', 'xl') { + width: $euiFormMaxWidth; + } +} \ No newline at end of file diff --git a/src/plugins/presentation_util/public/components/field_picker/field_search.tsx b/src/plugins/presentation_util/public/components/field_picker/field_search.tsx index b2f6c2f36254f7..3f3dcfdef5c8b0 100644 --- a/src/plugins/presentation_util/public/components/field_picker/field_search.tsx +++ b/src/plugins/presentation_util/public/components/field_picker/field_search.tsx @@ -24,6 +24,8 @@ import { import { FieldIcon } from '@kbn/react-field'; import { FormattedMessage } from '@kbn/i18n-react'; +import './field_search.scss'; + export interface Props { onSearchChange: (value: string) => void; searchValue?: string; @@ -86,7 +88,7 @@ export function FieldSearch({ {}} isDisabled={!isPopoverOpen}> { - const logger = loggingSystemMock.createLogger(); + let logger: jest.Mocked; + let executionContext: jest.Mocked; - const loggerSpies = { - debug: jest.spyOn(logger, 'debug'), - warn: jest.spyOn(logger, 'warn'), - }; + let collectorSetConfig: CollectorSetConfig; + + beforeEach(() => { + logger = loggingSystemMock.createLogger(); + executionContext = executionContextServiceMock.createSetupContract(); + collectorSetConfig = { logger, executionContext }; + }); describe('registers a collector set and runs lifecycle events', () => { let fetch: Function; beforeEach(() => { fetch = noop; - loggerSpies.debug.mockRestore(); - loggerSpies.warn.mockRestore(); }); const mockEsClient = elasticsearchServiceMock.createClusterClient().asInternalUser; const mockSoClient = savedObjectsClientMock.create(); const req = void 0; // No need to instantiate any KibanaRequest in these tests it('should throw an error if non-Collector type of object is registered', () => { - const collectors = new CollectorSet({ logger }); + const collectors = new CollectorSet(collectorSetConfig); const registerPojo = () => { collectors.registerCollector({ type: 'type_collector_test', @@ -53,7 +57,7 @@ describe('CollectorSet', () => { }); it('should throw when 2 collectors with the same type are registered', () => { - const collectorSet = new CollectorSet({ logger }); + const collectorSet = new CollectorSet(collectorSetConfig); collectorSet.registerCollector( new Collector(logger, { type: 'test_duplicated', fetch: () => 1, isReady: () => true }) ); @@ -73,7 +77,7 @@ describe('CollectorSet', () => { it('should log debug status of fetching from the collector', async () => { // @ts-expect-error we are just mocking the output of any call mockEsClient.ping.mockResolvedValue({ passTest: 1000 }); - const collectors = new CollectorSet({ logger }); + const collectors = new CollectorSet(collectorSetConfig); collectors.registerCollector( new Collector(logger, { type: 'MY_TEST_COLLECTOR', @@ -85,11 +89,9 @@ describe('CollectorSet', () => { ); const result = await collectors.bulkFetch(mockEsClient, mockSoClient, req); - expect(loggerSpies.debug).toHaveBeenCalledTimes(2); - expect(loggerSpies.debug).toHaveBeenCalledWith('Getting ready collectors'); - expect(loggerSpies.debug).toHaveBeenCalledWith( - 'Fetching data from MY_TEST_COLLECTOR collector' - ); + expect(logger.debug).toHaveBeenCalledTimes(2); + expect(logger.debug).toHaveBeenCalledWith('Getting ready collectors'); + expect(logger.debug).toHaveBeenCalledWith('Fetching data from MY_TEST_COLLECTOR collector'); expect(result).toStrictEqual([ { type: 'MY_TEST_COLLECTOR', @@ -108,7 +110,7 @@ describe('CollectorSet', () => { }); it('should gracefully handle a collector fetch method throwing an error', async () => { - const collectors = new CollectorSet({ logger }); + const collectors = new CollectorSet(collectorSetConfig); collectors.registerCollector( new Collector(logger, { type: 'MY_TEST_COLLECTOR', @@ -138,7 +140,7 @@ describe('CollectorSet', () => { }); it('should not break if isReady is not a function', async () => { - const collectors = new CollectorSet({ logger }); + const collectors = new CollectorSet(collectorSetConfig); collectors.registerCollector( new Collector(logger, { type: 'MY_TEST_COLLECTOR', @@ -167,7 +169,7 @@ describe('CollectorSet', () => { }); it('should not break if isReady is not provided', async () => { - const collectors = new CollectorSet({ logger }); + const collectors = new CollectorSet(collectorSetConfig); collectors.registerCollector( // @ts-expect-error we are intentionally sending it wrong. new Collector(logger, { @@ -199,7 +201,7 @@ describe('CollectorSet', () => { let collectorSet: CollectorSet; beforeEach(() => { - collectorSet = new CollectorSet({ logger }); + collectorSet = new CollectorSet(collectorSetConfig); }); it('should snake_case and convert field names to api standards', () => { @@ -261,7 +263,12 @@ describe('CollectorSet', () => { }); describe('makeStatsCollector', () => { - const collectorSet = new CollectorSet({ logger }); + let collectorSet: CollectorSet; + + beforeEach(() => { + collectorSet = new CollectorSet(collectorSetConfig); + }); + test('TS should hide kibanaRequest when not opted-in', () => { collectorSet.makeStatsCollector({ type: 'MY_TEST_COLLECTOR', @@ -326,7 +333,12 @@ describe('CollectorSet', () => { }); describe('makeUsageCollector', () => { - const collectorSet = new CollectorSet({ logger }); + let collectorSet: CollectorSet; + + beforeEach(() => { + collectorSet = new CollectorSet(collectorSetConfig); + }); + describe('TS validations', () => { describe('when types are inferred', () => { test('TS should hide kibanaRequest when not opted-in', () => { @@ -529,10 +541,14 @@ describe('CollectorSet', () => { }); describe('bulkFetch', () => { - const collectorSetConfig = { logger, maximumWaitTimeForAllCollectorsInS: 1 }; - let collectorSet = new CollectorSet(collectorSetConfig); - afterEach(() => { - collectorSet = new CollectorSet(collectorSetConfig); + let collectorSet: CollectorSet; + + beforeEach(() => { + const collectorSetConfigWithMaxTime: CollectorSetConfig = { + ...collectorSetConfig, + maximumWaitTimeForAllCollectorsInS: 1, + }; + collectorSet = new CollectorSet(collectorSetConfigWithMaxTime); }); it('skips collectors that are not ready', async () => { @@ -698,6 +714,70 @@ describe('CollectorSet', () => { expect(results).toHaveLength(2); }); + it('calls fetch with execution context', async () => { + collectorSet.registerCollector( + collectorSet.makeUsageCollector({ + type: 'ready_col', + isReady: () => true, + schema: { test: { type: 'long' } }, + fetch: () => ({ test: 1000 }), + }) + ); + + const mockEsClient = elasticsearchServiceMock.createClusterClient().asInternalUser; + const mockSoClient = savedObjectsClientMock.create(); + await collectorSet.bulkFetch(mockEsClient, mockSoClient, undefined); + + expect(executionContext.withContext).toHaveBeenCalledTimes(1); + expect(executionContext.withContext).toHaveBeenCalledWith( + { + type: 'usage_collection', + name: 'collector.fetch', + id: 'ready_col', + description: `Fetch method in the Collector "ready_col"`, + }, + expect.any(Function) + ); + }); + + it('calls fetch with execution context for every collector', async () => { + ['ready_col_1', 'ready_col_2'].forEach((type) => + collectorSet.registerCollector( + collectorSet.makeUsageCollector({ + type, + isReady: () => true, + schema: { test: { type: 'long' } }, + fetch: () => ({ test: 1000 }), + }) + ) + ); + + const mockEsClient = elasticsearchServiceMock.createClusterClient().asInternalUser; + const mockSoClient = savedObjectsClientMock.create(); + await collectorSet.bulkFetch(mockEsClient, mockSoClient, undefined); + + expect(executionContext.withContext).toHaveBeenCalledTimes(2); + expect(executionContext.withContext).toHaveBeenCalledWith( + { + type: 'usage_collection', + name: 'collector.fetch', + id: 'ready_col_1', + description: `Fetch method in the Collector "ready_col_1"`, + }, + expect.any(Function) + ); + + expect(executionContext.withContext).toHaveBeenCalledWith( + { + type: 'usage_collection', + name: 'collector.fetch', + id: 'ready_col_2', + description: `Fetch method in the Collector "ready_col_2"`, + }, + expect.any(Function) + ); + }); + it('adds extra context to collectors with extendFetchContext config', async () => { const mockReadyFetch = jest.fn().mockResolvedValue({}); collectorSet.registerCollector( diff --git a/src/plugins/usage_collection/server/collector/collector_set.ts b/src/plugins/usage_collection/server/collector/collector_set.ts index 79fb0a39c7801e..49332b0a1826fc 100644 --- a/src/plugins/usage_collection/server/collector/collector_set.ts +++ b/src/plugins/usage_collection/server/collector/collector_set.ts @@ -12,6 +12,8 @@ import type { ElasticsearchClient, SavedObjectsClientContract, KibanaRequest, + KibanaExecutionContext, + ExecutionContextSetup, } from 'src/core/server'; import { Collector } from './collector'; import type { ICollector, CollectorOptions } from './types'; @@ -26,8 +28,9 @@ interface CollectorWithStatus { collector: AnyCollector; } -interface CollectorSetConfig { +export interface CollectorSetConfig { logger: Logger; + executionContext: ExecutionContextSetup; maximumWaitTimeForAllCollectorsInS?: number; collectors?: AnyCollector[]; } @@ -42,14 +45,17 @@ interface CollectorStats { export class CollectorSet { private readonly logger: Logger; + private readonly executionContext: ExecutionContextSetup; private readonly maximumWaitTimeForAllCollectorsInS: number; private readonly collectors: Map; constructor({ logger, + executionContext, maximumWaitTimeForAllCollectorsInS = DEFAULT_MAXIMUM_WAIT_TIME_FOR_ALL_COLLECTORS_IN_S, collectors = [], }: CollectorSetConfig) { this.logger = logger; + this.executionContext = executionContext; this.collectors = new Map(collectors.map((collector) => [collector.type, collector])); this.maximumWaitTimeForAllCollectorsInS = maximumWaitTimeForAllCollectorsInS; } @@ -208,7 +214,15 @@ export class CollectorSet { soClient, ...(collector.extendFetchContext.kibanaRequest && { kibanaRequest }), }; - const result = await collector.fetch(context); + const executionContext: KibanaExecutionContext = { + type: 'usage_collection', + name: 'collector.fetch', + id: collector.type, + description: `Fetch method in the Collector "${collector.type}"`, + }; + const result = await this.executionContext.withContext(executionContext, () => + collector.fetch(context) + ); collectorStats.succeeded.names.push(collector.type); return { type: collector.type, result }; } catch (err) { @@ -297,6 +311,7 @@ export class CollectorSet { private makeCollectorSetFromArray = (collectors: AnyCollector[]) => { return new CollectorSet({ logger: this.logger, + executionContext: this.executionContext, maximumWaitTimeForAllCollectorsInS: this.maximumWaitTimeForAllCollectorsInS, collectors, }); diff --git a/src/plugins/usage_collection/server/mocks.ts b/src/plugins/usage_collection/server/mocks.ts index 6146e38cfd6c19..6f7d4f19cbaf12 100644 --- a/src/plugins/usage_collection/server/mocks.ts +++ b/src/plugins/usage_collection/server/mocks.ts @@ -8,6 +8,7 @@ import { elasticsearchServiceMock, + executionContextServiceMock, httpServerMock, loggingSystemMock, savedObjectsClientMock, @@ -23,6 +24,7 @@ export { Collector }; export const createUsageCollectionSetupMock = () => { const collectorSet = new CollectorSet({ logger: loggingSystemMock.createLogger(), + executionContext: executionContextServiceMock.createSetupContract(), maximumWaitTimeForAllCollectorsInS: 1, }); const { createUsageCounter, getUsageCounterByType } = diff --git a/src/plugins/usage_collection/server/plugin.ts b/src/plugins/usage_collection/server/plugin.ts index 56044e361d99ff..f415dd768dc226 100644 --- a/src/plugins/usage_collection/server/plugin.ts +++ b/src/plugins/usage_collection/server/plugin.ts @@ -112,6 +112,7 @@ export class UsageCollectionPlugin implements Plugin { const collectorSet = new CollectorSet({ logger: this.logger.get('usage-collection', 'collector-set'), + executionContext: core.executionContext, maximumWaitTimeForAllCollectorsInS: config.maximumWaitTimeForAllCollectorsInS, }); diff --git a/src/plugins/usage_collection/server/routes/integration_tests/stats.test.ts b/src/plugins/usage_collection/server/routes/integration_tests/stats.test.ts index dce768f520867e..181535552a7f6c 100644 --- a/src/plugins/usage_collection/server/routes/integration_tests/stats.test.ts +++ b/src/plugins/usage_collection/server/routes/integration_tests/stats.test.ts @@ -51,6 +51,7 @@ describe('/api/stats', () => { router, collectorSet: new CollectorSet({ logger: loggingSystemMock.create().asLoggerFactory().get(), + executionContext: executionContextServiceMock.createSetupContract(), }), config: { allowAnonymous: true, diff --git a/test/functional/page_objects/dashboard_page.ts b/test/functional/page_objects/dashboard_page.ts index c3f88d20369af1..acda3d5b8b02da 100644 --- a/test/functional/page_objects/dashboard_page.ts +++ b/test/functional/page_objects/dashboard_page.ts @@ -291,6 +291,24 @@ export class DashboardPageObject extends FtrService { }); } + public async clearUnsavedChanges() { + this.log.debug('clearUnsavedChanges'); + let switchMode = false; + if (await this.getIsInViewMode()) { + await this.switchToEditMode(); + switchMode = true; + } + await this.retry.try(async () => { + // avoid flaky test by surrounding in retry + await this.testSubjects.existOrFail('dashboardUnsavedChangesBadge'); + await this.clickQuickSave(); + await this.testSubjects.missingOrFail('dashboardUnsavedChangesBadge'); + }); + if (switchMode) { + await this.clickCancelOutOfEditMode(); + } + } + public async clickNewDashboard(continueEditing = false) { const discardButtonExists = await this.testSubjects.exists('discardDashboardPromptButton'); if (!continueEditing && discardButtonExists) { diff --git a/x-pack/plugins/apm/common/__snapshots__/elasticsearch_fieldnames.test.ts.snap b/x-pack/plugins/apm/common/__snapshots__/elasticsearch_fieldnames.test.ts.snap index 9b255a87df39ed..1416221fc2fe58 100644 --- a/x-pack/plugins/apm/common/__snapshots__/elasticsearch_fieldnames.test.ts.snap +++ b/x-pack/plugins/apm/common/__snapshots__/elasticsearch_fieldnames.test.ts.snap @@ -133,8 +133,6 @@ exports[`Error OBSERVER_HOSTNAME 1`] = `undefined`; exports[`Error OBSERVER_LISTENING 1`] = `undefined`; -exports[`Error OBSERVER_VERSION_MAJOR 1`] = `8`; - exports[`Error PARENT_ID 1`] = `"parentId"`; exports[`Error POD_NAME 1`] = `undefined`; @@ -382,8 +380,6 @@ exports[`Span OBSERVER_HOSTNAME 1`] = `undefined`; exports[`Span OBSERVER_LISTENING 1`] = `undefined`; -exports[`Span OBSERVER_VERSION_MAJOR 1`] = `8`; - exports[`Span PARENT_ID 1`] = `"parentId"`; exports[`Span POD_NAME 1`] = `undefined`; @@ -637,8 +633,6 @@ exports[`Transaction OBSERVER_HOSTNAME 1`] = `undefined`; exports[`Transaction OBSERVER_LISTENING 1`] = `undefined`; -exports[`Transaction OBSERVER_VERSION_MAJOR 1`] = `8`; - exports[`Transaction PARENT_ID 1`] = `"parentId"`; exports[`Transaction POD_NAME 1`] = `undefined`; diff --git a/x-pack/plugins/apm/common/elasticsearch_fieldnames.ts b/x-pack/plugins/apm/common/elasticsearch_fieldnames.ts index f0ea5b6cb116e9..aaf864b3bf75ba 100644 --- a/x-pack/plugins/apm/common/elasticsearch_fieldnames.ts +++ b/x-pack/plugins/apm/common/elasticsearch_fieldnames.ts @@ -41,7 +41,6 @@ export const USER_AGENT_NAME = 'user_agent.name'; export const DESTINATION_ADDRESS = 'destination.address'; export const OBSERVER_HOSTNAME = 'observer.hostname'; -export const OBSERVER_VERSION_MAJOR = 'observer.version_major'; export const OBSERVER_LISTENING = 'observer.listening'; export const PROCESSOR_EVENT = 'processor.event'; diff --git a/x-pack/plugins/apm/dev_docs/query_debugging_in_development_and_production.md b/x-pack/plugins/apm/dev_docs/query_debugging_in_development_and_production.md index 5811306a05fda0..42a1a256e34b06 100644 --- a/x-pack/plugins/apm/dev_docs/query_debugging_in_development_and_production.md +++ b/x-pack/plugins/apm/dev_docs/query_debugging_in_development_and_production.md @@ -1,20 +1,20 @@ # Query Debugging -When debugging an issue with the APM UI it can be very helpful to see the exact Elasticsearch queries and responses that was made for a given API request. +When debugging an issue with the APM UI it can be very helpful to see the exact Elasticsearch queries and responses that was made for a given API request. To enable debugging of Elasticsearch queries in APM UI do the following: -1. Go to "Stack Management" +1. Go to "Stack Management" 2. Under "Kibana" on the left-hand side, select "Advanced Settings" 3. Search for "Observability" 4. Enable "Inspect ES queries" setting 5. Click "Save" -When you navigate back to APM UI you can now inspect Elasticsearch queries by opening your browser's Developer Tools and selecting an api request to APM's api. +When you navigate back to APM UI you can now inspect Elasticsearch queries by opening your browser's Developer Tools and selecting an api request to APM's api. There will be an `_inspect` key containing every Elasticsearch query made during that request including both requests and responses to and from Elasticsearch. ![image](https://user-images.githubusercontent.com/209966/140500012-b075adf0-8401-40fd-99f8-85b68711de17.png) -## Example +## Example When "Inspect ES queries" are enabed all API calls to the APM API will be include the query param `_inspect=true`. For the environments API the request / response will be: @@ -24,11 +24,7 @@ GET /internal/apm/environments?start=&end=&_inspect=true ```json { - "environments": [ - "production", - "testing", - "ENVIRONMENT_NOT_DEFINED" - ], + "environments": ["production", "testing", "ENVIRONMENT_NOT_DEFINED"], "_inspect": [ { "id": "get_environments (/internal/apm/environments)", @@ -48,18 +44,7 @@ GET /internal/apm/environments?start=&end=&_inspect=true }, { "terms": { - "processor.event": [ - "transaction", - "metric", - "error" - ] - } - }, - { - "range": { - "observer.version_major": { - "gte": 7 - } + "processor.event": ["transaction", "metric", "error"] } } ] diff --git a/x-pack/plugins/apm/public/components/app/service_inventory/index.tsx b/x-pack/plugins/apm/public/components/app/service_inventory/index.tsx index 2d984b7db703d0..dc7b80ded50ad3 100644 --- a/x-pack/plugins/apm/public/components/app/service_inventory/index.tsx +++ b/x-pack/plugins/apm/public/components/app/service_inventory/index.tsx @@ -114,7 +114,7 @@ function useServicesFetcher() { ); useEffect(() => { - if (mainStatisticsData.hasLegacyData && !hasDisplayedToast) { + if (!hasDisplayedToast) { hasDisplayedToast = true; core.notifications.toasts.addWarning({ @@ -141,11 +141,7 @@ function useServicesFetcher() { ), }); } - }, [ - mainStatisticsData.hasLegacyData, - upgradeAssistantHref, - core.notifications.toasts, - ]); + }, [upgradeAssistantHref, core.notifications.toasts]); return { mainStatisticsData, diff --git a/x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx b/x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx index 4a5bc86ff4636c..6b5dcbfbdd345c 100644 --- a/x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx +++ b/x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx @@ -13,7 +13,7 @@ import { KibanaPageTemplateProps, } from '../../../../../../../src/plugins/kibana_react/public'; import { EnvironmentsContextProvider } from '../../../context/environments_context/environments_context'; -import { useFetcher } from '../../../hooks/use_fetcher'; +import { useFetcher, FETCH_STATUS } from '../../../hooks/use_fetcher'; import { ApmPluginStartDeps } from '../../../plugin'; import { ApmEnvironmentFilter } from '../../shared/environment_filter'; import { getNoDataConfig } from './no_data_config'; @@ -50,20 +50,35 @@ export function ApmMainTemplate({ const ObservabilityPageTemplate = observability.navigation.PageTemplate; - const { data } = useFetcher((callApmApi) => { + const { data, status } = useFetcher((callApmApi) => { return callApmApi('GET /internal/apm/has_data'); }, []); + const shouldBypassNoDataScreen = bypassNoDataScreenPaths.some((path) => + location.pathname.includes(path) + ); + + const { data: fleetApmPoliciesData, status: fleetApmPoliciesStatus } = + useFetcher( + (callApmApi) => { + if (!data?.hasData && !shouldBypassNoDataScreen) { + return callApmApi('GET /internal/apm/fleet/has_apm_policies'); + } + }, + [shouldBypassNoDataScreen, data?.hasData] + ); + const noDataConfig = getNoDataConfig({ basePath, docsLink: docLinks!.links.observability.guide, - hasData: data?.hasData, + hasApmData: data?.hasData, + hasApmIntegrations: fleetApmPoliciesData?.hasApmPolicies, + shouldBypassNoDataScreen, + loading: + status === FETCH_STATUS.LOADING || + fleetApmPoliciesStatus === FETCH_STATUS.LOADING, }); - const shouldBypassNoDataScreen = bypassNoDataScreenPaths.some((path) => - location.pathname.includes(path) - ); - const rightSideItems = environmentFilter ? [] : []; const pageTemplate = ( diff --git a/x-pack/plugins/apm/public/components/routing/templates/no_data_config.ts b/x-pack/plugins/apm/public/components/routing/templates/no_data_config.ts index b376ca3aec2c5f..d753901471eea8 100644 --- a/x-pack/plugins/apm/public/components/routing/templates/no_data_config.ts +++ b/x-pack/plugins/apm/public/components/routing/templates/no_data_config.ts @@ -10,35 +10,54 @@ import { KibanaPageTemplateProps } from '../../../../../../../src/plugins/kibana export function getNoDataConfig({ docsLink, + shouldBypassNoDataScreen, + loading, basePath, - hasData, + hasApmData, + hasApmIntegrations, }: { docsLink: string; + shouldBypassNoDataScreen: boolean; + loading: boolean; basePath?: string; - hasData?: boolean; + hasApmData?: boolean; + hasApmIntegrations?: boolean; }): KibanaPageTemplateProps['noDataConfig'] { - // Returns no data config when there is no historical data - if (hasData === false) { - return { - solution: i18n.translate('xpack.apm.noDataConfig.solutionName', { - defaultMessage: 'Observability', - }), - actions: { - elasticAgent: { - title: i18n.translate('xpack.apm.ux.overview.agent.title', { + // don't show "no data screen" when there is APM data or it should be bypassed + if (hasApmData || shouldBypassNoDataScreen || loading) { + return; + } + const noDataConfigDetails = hasApmIntegrations + ? { + title: i18n.translate('xpack.apm.noDataConfig.addDataButtonLabel', { + defaultMessage: 'Add data', + }), + href: `${basePath}/app/home#/tutorial/apm`, + } + : { + title: i18n.translate( + 'xpack.apm.noDataConfig.addApmIntegrationButtonLabel', + { defaultMessage: 'Add the APM integration', - }), - description: i18n.translate( - 'xpack.apm.ux.overview.agent.description', - { - defaultMessage: - 'Use APM agents to collect APM data. We make it easy with agents for many popular languages.', - } - ), - href: `${basePath}/app/home#/tutorial/apm`, - }, + } + ), + href: `${basePath}/app/integrations/detail/apm/overview`, + }; + + return { + solution: i18n.translate('xpack.apm.noDataConfig.solutionName', { + defaultMessage: 'Observability', + }), + actions: { + elasticAgent: { + title: noDataConfigDetails.title, + description: i18n.translate('xpack.apm.ux.overview.agent.description', { + defaultMessage: + 'Use APM agents to collect APM data. We make it easy with agents for many popular languages.', + }), + href: noDataConfigDetails.href, }, - docsLink, - }; - } + }, + docsLink, + }; } diff --git a/x-pack/plugins/apm/public/tutorial/tutorial_apm_fleet_check.ts b/x-pack/plugins/apm/public/tutorial/tutorial_apm_fleet_check.ts index 99db7bb9637dd8..69c3b1dcb55673 100644 --- a/x-pack/plugins/apm/public/tutorial/tutorial_apm_fleet_check.ts +++ b/x-pack/plugins/apm/public/tutorial/tutorial_apm_fleet_check.ts @@ -8,13 +8,13 @@ import { callApmApi } from '../services/rest/create_call_apm_api'; export async function hasFleetApmIntegrations() { try { - const { hasData = false } = await callApmApi( - 'GET /internal/apm/fleet/has_data', + const { hasApmPolicies = false } = await callApmApi( + 'GET /internal/apm/fleet/has_apm_policies', { signal: null, } ); - return hasData; + return hasApmPolicies; } catch (e) { console.error('Something went wrong while fetching apm fleet data', e); return false; diff --git a/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_apm_event_client/add_filter_to_exclude_legacy_data.ts b/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_apm_event_client/add_filter_to_exclude_legacy_data.ts deleted file mode 100644 index 60984d65f4499a..00000000000000 --- a/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_apm_event_client/add_filter_to_exclude_legacy_data.ts +++ /dev/null @@ -1,32 +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 { cloneDeep } from 'lodash'; -import { OBSERVER_VERSION_MAJOR } from '../../../../../common/elasticsearch_fieldnames'; -import { - ESSearchRequest, - ESFilter, -} from '../../../../../../../../src/core/types/elasticsearch'; - -/* - Adds a range query to the ES request to exclude legacy data -*/ - -export function addFilterToExcludeLegacyData( - params: ESSearchRequest & { - body: { query: { bool: { filter: ESFilter[] } } }; - } -) { - const nextParams = cloneDeep(params); - - // add filter for omitting pre-7.x data - nextParams.body.query.bool.filter.push({ - range: { [OBSERVER_VERSION_MAJOR]: { gte: 7 } }, - }); - - return nextParams; -} diff --git a/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_apm_event_client/index.ts b/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_apm_event_client/index.ts index ac801367662fc3..fdf023e197b7cc 100644 --- a/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_apm_event_client/index.ts +++ b/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_apm_event_client/index.ts @@ -33,7 +33,6 @@ import { getDebugTitle, } from '../call_async_with_debug'; import { cancelEsRequestOnAbort } from '../cancel_es_request_on_abort'; -import { addFilterToExcludeLegacyData } from './add_filter_to_exclude_legacy_data'; import { unpackProcessorEvents } from './unpack_processor_events'; export type APMEventESSearchRequest = Omit & { @@ -97,14 +96,8 @@ export class APMEventClient { this.indices ); - const { includeLegacyData = false } = params.apm; - - const withPossibleLegacyDataFilter = !includeLegacyData - ? addFilterToExcludeLegacyData(withProcessorEventFilter) - : withProcessorEventFilter; - const searchParams = { - ...withPossibleLegacyDataFilter, + ...withProcessorEventFilter, ...(this.includeFrozen ? { ignore_throttled: false } : {}), ignore_unavailable: true, preference: 'any', diff --git a/x-pack/plugins/apm/server/lib/helpers/setup_request.test.ts b/x-pack/plugins/apm/server/lib/helpers/setup_request.test.ts index 9e7eb1ea8c0218..6d3789837d2d91 100644 --- a/x-pack/plugins/apm/server/lib/helpers/setup_request.test.ts +++ b/x-pack/plugins/apm/server/lib/helpers/setup_request.test.ts @@ -10,7 +10,6 @@ import { setupRequest } from './setup_request'; import { APMConfig } from '../..'; import { APMRouteHandlerResources } from '../../routes/typings'; import { ProcessorEvent } from '../../../common/processor_event'; -import { PROCESSOR_EVENT } from '../../../common/elasticsearch_fieldnames'; import { getApmIndices } from '../../routes/settings/apm_indices/get_apm_indices'; jest.mock('../../routes/settings/apm_indices/get_apm_indices', () => ({ @@ -121,10 +120,7 @@ describe('setupRequest', () => { foo: 'bar', query: { bool: { - filter: [ - { terms: { 'processor.event': ['transaction'] } }, - { range: { 'observer.version_major': { gte: 7 } } }, - ], + filter: [{ terms: { 'processor.event': ['transaction'] } }], }, }, }, @@ -161,94 +157,6 @@ describe('setupRequest', () => { ); }); }); - - describe('with a bool filter', () => { - it('adds a range filter for `observer.version_major` to the existing filter', async () => { - const mockResources = getMockResources(); - const { apmEventClient } = await setupRequest(mockResources); - await apmEventClient.search('foo', { - apm: { - events: [ProcessorEvent.transaction], - }, - body: { - query: { bool: { filter: [{ term: { field: 'someTerm' } }] } }, - }, - }); - const params = - mockResources.context.core.elasticsearch.client.asCurrentUser.search - .mock.calls[0][0]; - // @ts-expect-error missing body definition - expect(params.body).toEqual({ - query: { - bool: { - filter: [ - { term: { field: 'someTerm' } }, - { terms: { [PROCESSOR_EVENT]: ['transaction'] } }, - { range: { 'observer.version_major': { gte: 7 } } }, - ], - }, - }, - }); - }); - - it('does not add a range filter for `observer.version_major` if includeLegacyData=true', async () => { - const mockResources = getMockResources(); - const { apmEventClient } = await setupRequest(mockResources); - await apmEventClient.search('foo', { - apm: { - events: [ProcessorEvent.error], - includeLegacyData: true, - }, - body: { - query: { bool: { filter: [{ term: { field: 'someTerm' } }] } }, - }, - }); - const params = - mockResources.context.core.elasticsearch.client.asCurrentUser.search - .mock.calls[0][0]; - // @ts-expect-error missing body definition - expect(params.body).toEqual({ - query: { - bool: { - filter: [ - { term: { field: 'someTerm' } }, - { - terms: { - [PROCESSOR_EVENT]: ['error'], - }, - }, - ], - }, - }, - }); - }); - }); -}); - -describe('without a bool filter', () => { - it('adds a range filter for `observer.version_major`', async () => { - const mockResources = getMockResources(); - const { apmEventClient } = await setupRequest(mockResources); - await apmEventClient.search('foo', { - apm: { - events: [ProcessorEvent.error], - }, - }); - const params = - mockResources.context.core.elasticsearch.client.asCurrentUser.search.mock - .calls[0][0]; - // @ts-expect-error missing body definition - expect(params.body).toEqual({ - query: { - bool: { - filter: [ - { terms: { [PROCESSOR_EVENT]: ['error'] } }, - { range: { 'observer.version_major': { gte: 7 } } }, - ], - }, - }, - }); - }); }); describe('with includeFrozen=false', () => { diff --git a/x-pack/plugins/apm/server/lib/helpers/transactions/get_is_using_transaction_events.ts b/x-pack/plugins/apm/server/lib/helpers/transactions/get_is_using_transaction_events.ts index 75be545a7e4273..12c47936374e1f 100644 --- a/x-pack/plugins/apm/server/lib/helpers/transactions/get_is_using_transaction_events.ts +++ b/x-pack/plugins/apm/server/lib/helpers/transactions/get_is_using_transaction_events.ts @@ -6,11 +6,11 @@ */ import { getSearchAggregatedTransactions } from '.'; -import { SearchAggregatedTransactionSetting } from '../../../../common/aggregated_transactions'; import { Setup } from '../setup_request'; import { kqlQuery, rangeQuery } from '../../../../../observability/server'; import { ProcessorEvent } from '../../../../common/processor_event'; import { APMEventClient } from '../create_es_client/create_apm_event_client'; +import { SearchAggregatedTransactionSetting } from '../../../../common/aggregated_transactions'; export async function getIsUsingTransactionEvents({ setup: { config, apmEventClient }, @@ -23,20 +23,6 @@ export async function getIsUsingTransactionEvents({ start?: number; end?: number; }): Promise { - const searchAggregatedTransactions = config.searchAggregatedTransactions; - - if ( - searchAggregatedTransactions === SearchAggregatedTransactionSetting.never - ) { - return false; - } - if ( - !kuery && - searchAggregatedTransactions === SearchAggregatedTransactionSetting.always - ) { - return false; - } - const searchesAggregatedTransactions = await getSearchAggregatedTransactions({ config, start, @@ -45,7 +31,11 @@ export async function getIsUsingTransactionEvents({ kuery, }); - if (!searchesAggregatedTransactions) { + if ( + !searchesAggregatedTransactions && + config.searchAggregatedTransactions !== + SearchAggregatedTransactionSetting.never + ) { // if no aggregrated transactions, check if any transactions at all return await getHasTransactions({ start, diff --git a/x-pack/plugins/apm/server/routes/fleet/route.ts b/x-pack/plugins/apm/server/routes/fleet/route.ts index 11753ab3ef12c1..97949dfc7d0c3f 100644 --- a/x-pack/plugins/apm/server/routes/fleet/route.ts +++ b/x-pack/plugins/apm/server/routes/fleet/route.ts @@ -27,18 +27,18 @@ import { setupRequest } from '../../lib/helpers/setup_request'; import { createApmServerRoute } from '../apm_routes/create_apm_server_route'; const hasFleetDataRoute = createApmServerRoute({ - endpoint: 'GET /internal/apm/fleet/has_data', + endpoint: 'GET /internal/apm/fleet/has_apm_policies', options: { tags: [] }, - handler: async ({ core, plugins }): Promise<{ hasData: boolean }> => { + handler: async ({ core, plugins }): Promise<{ hasApmPolicies: boolean }> => { const fleetPluginStart = await plugins.fleet?.start(); if (!fleetPluginStart) { - return { hasData: false }; + return { hasApmPolicies: false }; } const packagePolicies = await getApmPackgePolicies({ core, fleetPluginStart, }); - return { hasData: packagePolicies.total > 0 }; + return { hasApmPolicies: packagePolicies.total > 0 }; }, }); diff --git a/x-pack/plugins/apm/server/routes/services/__snapshots__/queries.test.ts.snap b/x-pack/plugins/apm/server/routes/services/__snapshots__/queries.test.ts.snap index 0f7caab5bf6c0b..4014f2a4a2accf 100644 --- a/x-pack/plugins/apm/server/routes/services/__snapshots__/queries.test.ts.snap +++ b/x-pack/plugins/apm/server/routes/services/__snapshots__/queries.test.ts.snap @@ -16,43 +16,6 @@ Object { } `; -exports[`services queries fetches the legacy data status 1`] = ` -Object { - "apm": Object { - "events": Array [ - "transaction", - ], - "includeLegacyData": true, - }, - "body": Object { - "query": Object { - "bool": Object { - "filter": Array [ - Object { - "range": Object { - "observer.version_major": Object { - "lt": 7, - }, - }, - }, - Object { - "range": Object { - "@timestamp": Object { - "format": "epoch_millis", - "gte": 1, - "lte": 50000, - }, - }, - }, - ], - }, - }, - "size": 0, - }, - "terminate_after": 1, -} -`; - exports[`services queries fetches the service agent name 1`] = ` Object { "apm": Object { diff --git a/x-pack/plugins/apm/server/routes/services/get_services/get_legacy_data_status.ts b/x-pack/plugins/apm/server/routes/services/get_services/get_legacy_data_status.ts deleted file mode 100644 index 7275e34786e361..00000000000000 --- a/x-pack/plugins/apm/server/routes/services/get_services/get_legacy_data_status.ts +++ /dev/null @@ -1,43 +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 { rangeQuery } from '../../../../../observability/server'; -import { ProcessorEvent } from '../../../../common/processor_event'; -import { OBSERVER_VERSION_MAJOR } from '../../../../common/elasticsearch_fieldnames'; -import { Setup } from '../../../lib/helpers/setup_request'; - -// returns true if 6.x data is found -export async function getLegacyDataStatus( - setup: Setup, - start: number, - end: number -) { - const { apmEventClient } = setup; - - const params = { - terminate_after: 1, - apm: { - events: [ProcessorEvent.transaction], - includeLegacyData: true, - }, - body: { - size: 0, - query: { - bool: { - filter: [ - { range: { [OBSERVER_VERSION_MAJOR]: { lt: 7 } } }, - ...rangeQuery(start, end), - ], - }, - }, - }, - }; - - const resp = await apmEventClient.search('get_legacy_data_status', params); - const hasLegacyData = resp.hits.total.value > 0; - return hasLegacyData; -} diff --git a/x-pack/plugins/apm/server/routes/services/get_services/index.ts b/x-pack/plugins/apm/server/routes/services/get_services/index.ts index 9d1670fe845828..f46e53736c3e9e 100644 --- a/x-pack/plugins/apm/server/routes/services/get_services/index.ts +++ b/x-pack/plugins/apm/server/routes/services/get_services/index.ts @@ -8,7 +8,6 @@ import { Logger } from '@kbn/logging'; import { withApmSpan } from '../../../utils/with_apm_span'; import { Setup } from '../../../lib/helpers/setup_request'; -import { getLegacyDataStatus } from './get_legacy_data_status'; import { getServicesItems } from './get_services_items'; export async function getServices({ @@ -29,22 +28,18 @@ export async function getServices({ end: number; }) { return withApmSpan('get_services', async () => { - const [items, hasLegacyData] = await Promise.all([ - getServicesItems({ - environment, - kuery, - setup, - searchAggregatedTransactions, - logger, - start, - end, - }), - getLegacyDataStatus(setup, start, end), - ]); + const items = await getServicesItems({ + environment, + kuery, + setup, + searchAggregatedTransactions, + logger, + start, + end, + }); return { items, - hasLegacyData, }; }); } diff --git a/x-pack/plugins/apm/server/routes/services/queries.test.ts b/x-pack/plugins/apm/server/routes/services/queries.test.ts index 30d89214959da5..c6e1a971c8237a 100644 --- a/x-pack/plugins/apm/server/routes/services/queries.test.ts +++ b/x-pack/plugins/apm/server/routes/services/queries.test.ts @@ -8,7 +8,6 @@ import { getServiceAgent } from './get_service_agent'; import { getServiceTransactionTypes } from './get_service_transaction_types'; import { getServicesItems } from './get_services/get_services_items'; -import { getLegacyDataStatus } from './get_services/get_legacy_data_status'; import { hasHistoricalAgentData } from '../../routes/historical_data/has_historical_agent_data'; import { SearchParamsMock, @@ -68,16 +67,6 @@ describe('services queries', () => { expect(allParams).toMatchSnapshot(); }); - it('fetches the legacy data status', async () => { - const start = 1; - const end = 50000; - mock = await inspectSearchParams((setup) => - getLegacyDataStatus(setup, start, end) - ); - - expect(mock.params).toMatchSnapshot(); - }); - it('fetches the agent status', async () => { mock = await inspectSearchParams((setup) => hasHistoricalAgentData(setup)); diff --git a/x-pack/plugins/apm/server/routes/services/route.ts b/x-pack/plugins/apm/server/routes/services/route.ts index 949105807b0f2b..55f7b4f14b7b67 100644 --- a/x-pack/plugins/apm/server/routes/services/route.ts +++ b/x-pack/plugins/apm/server/routes/services/route.ts @@ -96,7 +96,6 @@ const servicesRoute = createApmServerRoute({ healthStatus: import('./../../../common/service_health_status').ServiceHealthStatus; } >; - hasLegacyData: boolean; }> { const setup = await setupRequest(resources); const { params, logger } = resources; diff --git a/x-pack/plugins/apm/server/tutorial/envs/on_prem.ts b/x-pack/plugins/apm/server/tutorial/envs/on_prem.ts index 18e30fe07808a3..ff0a9953bcbeda 100644 --- a/x-pack/plugins/apm/server/tutorial/envs/on_prem.ts +++ b/x-pack/plugins/apm/server/tutorial/envs/on_prem.ts @@ -128,7 +128,6 @@ export function onPremInstructions({ 'processor.event': ['error', 'transaction', 'metric'], }, }, - { range: { 'observer.version_major': { gte: 7 } } }, ], }, }, diff --git a/x-pack/plugins/apm/server/tutorial/envs/on_prem_apm_server_instruction_set.ts b/x-pack/plugins/apm/server/tutorial/envs/on_prem_apm_server_instruction_set.ts index b9c491082f787e..8c327a62f0d8e3 100644 --- a/x-pack/plugins/apm/server/tutorial/envs/on_prem_apm_server_instruction_set.ts +++ b/x-pack/plugins/apm/server/tutorial/envs/on_prem_apm_server_instruction_set.ts @@ -124,10 +124,7 @@ export function getOnPremApmServerInstructionSet({ index: apmConfig.indices.onboarding, query: { bool: { - filter: [ - { term: { 'processor.event': 'onboarding' } }, - { range: { 'observer.version_major': { gte: 7 } } }, - ], + filter: [{ term: { 'processor.event': 'onboarding' } }], }, }, }, diff --git a/x-pack/plugins/cases/common/ui/types.ts b/x-pack/plugins/cases/common/ui/types.ts index f6bfb510cab813..95135f4a0e9a09 100644 --- a/x-pack/plugins/cases/common/ui/types.ts +++ b/x-pack/plugins/cases/common/ui/types.ts @@ -26,15 +26,6 @@ export interface CasesContextFeatures { export type CasesFeatures = Partial; -export interface CasesContextValue { - owner: string[]; - appId: string; - appTitle: string; - userCanCrud: boolean; - basePath: string; - features: CasesContextFeatures; -} - export interface CasesUiConfigType { markdownPlugins: { lens: boolean; diff --git a/x-pack/plugins/cases/public/components/cases_context/cases_context_reducer.ts b/x-pack/plugins/cases/public/components/cases_context/cases_context_reducer.ts new file mode 100644 index 00000000000000..f9480723232146 --- /dev/null +++ b/x-pack/plugins/cases/public/components/cases_context/cases_context_reducer.ts @@ -0,0 +1,50 @@ +/* + * 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 { CreateCaseFlyoutProps } from '../create/flyout'; + +export const getInitialCasesContextState = (): CasesContextState => { + return { + createCaseFlyout: { + isFlyoutOpen: false, + }, + }; +}; + +export interface CasesContextState { + createCaseFlyout: { + isFlyoutOpen: boolean; + props?: CreateCaseFlyoutProps; + }; +} + +export enum CasesContextStoreActionsList { + OPEN_CREATE_CASE_FLYOUT, + CLOSE_CREATE_CASE_FLYOUT, +} +export type CasesContextStoreAction = + | { + type: CasesContextStoreActionsList.OPEN_CREATE_CASE_FLYOUT; + payload: CreateCaseFlyoutProps; + } + | { type: CasesContextStoreActionsList.CLOSE_CREATE_CASE_FLYOUT }; + +export const casesContextReducer: React.Reducer = ( + state: CasesContextState, + action: CasesContextStoreAction +): CasesContextState => { + switch (action.type) { + case CasesContextStoreActionsList.OPEN_CREATE_CASE_FLYOUT: { + return { ...state, createCaseFlyout: { isFlyoutOpen: true, props: action.payload } }; + } + case CasesContextStoreActionsList.CLOSE_CREATE_CASE_FLYOUT: { + return { ...state, createCaseFlyout: { isFlyoutOpen: false } }; + } + default: + return state; + } +}; diff --git a/x-pack/plugins/cases/public/components/cases_context/cases_global_components.test.tsx b/x-pack/plugins/cases/public/components/cases_context/cases_global_components.test.tsx new file mode 100644 index 00000000000000..53c9129812d8b3 --- /dev/null +++ b/x-pack/plugins/cases/public/components/cases_context/cases_global_components.test.tsx @@ -0,0 +1,48 @@ +/* + * 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 { AppMockRenderer, createAppMockRenderer } from '../../common/mock'; +import { getCreateCaseFlyoutLazyNoProvider } from '../../methods/get_create_case_flyout'; +import { CasesGlobalComponents } from './cases_global_components'; + +jest.mock('../../methods/get_create_case_flyout'); + +const getCreateCaseFlyoutLazyNoProviderMock = getCreateCaseFlyoutLazyNoProvider as jest.Mock; + +describe('Cases context UI', () => { + let appMock: AppMockRenderer; + + beforeEach(() => { + appMock = createAppMockRenderer(); + getCreateCaseFlyoutLazyNoProviderMock.mockClear(); + }); + + describe('create case flyout', () => { + it('should render the create case flyout when isFlyoutOpen is true', async () => { + const state = { + createCaseFlyout: { + isFlyoutOpen: true, + props: { + attachments: [], + }, + }, + }; + appMock.render(); + expect(getCreateCaseFlyoutLazyNoProviderMock).toHaveBeenCalledWith({ attachments: [] }); + }); + it('should not render the create case flyout when isFlyoutOpen is false', async () => { + const state = { + createCaseFlyout: { + isFlyoutOpen: false, + }, + }; + appMock.render(); + expect(getCreateCaseFlyoutLazyNoProviderMock).not.toHaveBeenCalled(); + }); + }); +}); diff --git a/x-pack/plugins/cases/public/components/cases_context/cases_global_components.tsx b/x-pack/plugins/cases/public/components/cases_context/cases_global_components.tsx new file mode 100644 index 00000000000000..42ff36e201df47 --- /dev/null +++ b/x-pack/plugins/cases/public/components/cases_context/cases_global_components.tsx @@ -0,0 +1,21 @@ +/* + * 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 { getCreateCaseFlyoutLazyNoProvider } from '../../methods'; +import { CasesContextState } from './cases_context_reducer'; + +export const CasesGlobalComponents = React.memo(({ state }: { state: CasesContextState }) => { + return ( + <> + {state.createCaseFlyout.isFlyoutOpen && state.createCaseFlyout.props !== undefined + ? getCreateCaseFlyoutLazyNoProvider(state.createCaseFlyout.props) + : null} + + ); +}); +CasesGlobalComponents.displayName = 'CasesContextUi'; diff --git a/x-pack/plugins/cases/public/components/cases_context/index.tsx b/x-pack/plugins/cases/public/components/cases_context/index.tsx index aceefad97382a3..1f1da31595a041 100644 --- a/x-pack/plugins/cases/public/components/cases_context/index.tsx +++ b/x-pack/plugins/cases/public/components/cases_context/index.tsx @@ -5,21 +5,38 @@ * 2.0. */ -import React, { useState, useEffect } from 'react'; +import React, { useState, useEffect, useReducer, Dispatch } from 'react'; import { merge } from 'lodash'; -import { CasesContextValue, CasesFeatures } from '../../../common/ui/types'; import { DEFAULT_FEATURES } from '../../../common/constants'; import { DEFAULT_BASE_PATH } from '../../common/navigation'; import { useApplication } from './use_application'; +import { + CasesContextStoreAction, + casesContextReducer, + getInitialCasesContextState, +} from './cases_context_reducer'; +import { CasesContextFeatures, CasesFeatures } from '../../containers/types'; +import { CasesGlobalComponents } from './cases_global_components'; -export const CasesContext = React.createContext(undefined); +export type CasesContextValueDispatch = Dispatch; + +export interface CasesContextValue { + owner: string[]; + appId: string; + appTitle: string; + userCanCrud: boolean; + basePath: string; + features: CasesContextFeatures; + dispatch: CasesContextValueDispatch; +} -export interface CasesContextProps - extends Omit { +export interface CasesContextProps extends Pick { basePath?: string; features?: CasesFeatures; } +export const CasesContext = React.createContext(undefined); + export interface CasesContextStateValue extends Omit { appId?: string; appTitle?: string; @@ -30,6 +47,7 @@ export const CasesProvider: React.FC<{ value: CasesContextProps }> = ({ value: { owner, userCanCrud, basePath = DEFAULT_BASE_PATH, features = {} }, }) => { const { appId, appTitle } = useApplication(); + const [state, dispatch] = useReducer(casesContextReducer, getInitialCasesContextState()); const [value, setValue] = useState(() => ({ owner, userCanCrud, @@ -39,6 +57,7 @@ export const CasesProvider: React.FC<{ value: CasesContextProps }> = ({ * of the DEFAULT_FEATURES object */ features: merge({}, DEFAULT_FEATURES, features), + dispatch, })); /** @@ -58,7 +77,10 @@ export const CasesProvider: React.FC<{ value: CasesContextProps }> = ({ }, [appTitle, appId, userCanCrud]); return isCasesContextValue(value) ? ( - {children} + + + {children} + ) : null; }; CasesProvider.displayName = 'CasesProvider'; @@ -66,3 +88,6 @@ CasesProvider.displayName = 'CasesProvider'; function isCasesContextValue(value: CasesContextStateValue): value is CasesContextValue { return value.appId != null && value.appTitle != null && value.userCanCrud != null; } + +// eslint-disable-next-line import/no-default-export +export default CasesProvider; diff --git a/x-pack/plugins/cases/public/components/create/flyout/create_case_flyout.tsx b/x-pack/plugins/cases/public/components/create/flyout/create_case_flyout.tsx index 0097df1587a731..c40dfc98513d82 100644 --- a/x-pack/plugins/cases/public/components/create/flyout/create_case_flyout.tsx +++ b/x-pack/plugins/cases/public/components/create/flyout/create_case_flyout.tsx @@ -16,8 +16,8 @@ import { UsePostComment } from '../../../containers/use_post_comment'; export interface CreateCaseFlyoutProps { afterCaseCreated?: (theCase: Case, postComment: UsePostComment['postComment']) => Promise; - onClose: () => void; - onSuccess: (theCase: Case) => Promise; + onClose?: () => void; + onSuccess?: (theCase: Case) => Promise; attachments?: CreateCaseAttachment; } @@ -66,6 +66,8 @@ const FormWrapper = styled.div` export const CreateCaseFlyout = React.memo( ({ afterCaseCreated, onClose, onSuccess, attachments }) => { + const handleCancel = onClose || function () {}; + const handleOnSuccess = onSuccess || async function () {}; return ( <> @@ -85,8 +87,8 @@ export const CreateCaseFlyout = React.memo( diff --git a/x-pack/plugins/cases/public/components/create/flyout/use_cases_add_to_new_case_flyout.test.tsx b/x-pack/plugins/cases/public/components/create/flyout/use_cases_add_to_new_case_flyout.test.tsx new file mode 100644 index 00000000000000..2c3750887cb1de --- /dev/null +++ b/x-pack/plugins/cases/public/components/create/flyout/use_cases_add_to_new_case_flyout.test.tsx @@ -0,0 +1,78 @@ +/* + * 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. + */ + +/* eslint-disable react/display-name */ + +import { renderHook } from '@testing-library/react-hooks'; +import React from 'react'; +import { CasesContext } from '../../cases_context'; +import { CasesContextStoreActionsList } from '../../cases_context/cases_context_reducer'; +import { useCasesAddToNewCaseFlyout } from './use_cases_add_to_new_case_flyout'; + +describe('use cases add to new case flyout hook', () => { + const dispatch = jest.fn(); + let wrapper: React.FC; + beforeEach(() => { + dispatch.mockReset(); + wrapper = ({ children }) => { + return ( + + {children} + + ); + }; + }); + + it('should throw if called outside of a cases context', () => { + const { result } = renderHook(() => { + useCasesAddToNewCaseFlyout({}); + }); + expect(result.error?.message).toContain( + 'useCasesContext must be used within a CasesProvider and have a defined value' + ); + }); + + it('should dispatch the open action when invoked', () => { + const { result } = renderHook( + () => { + return useCasesAddToNewCaseFlyout({}); + }, + { wrapper } + ); + result.current.open(); + expect(dispatch).toHaveBeenCalledWith( + expect.objectContaining({ + type: CasesContextStoreActionsList.OPEN_CREATE_CASE_FLYOUT, + }) + ); + }); + + it('should dispatch the close action when invoked', () => { + const { result } = renderHook( + () => { + return useCasesAddToNewCaseFlyout({}); + }, + { wrapper } + ); + result.current.close(); + expect(dispatch).toHaveBeenCalledWith( + expect.objectContaining({ + type: CasesContextStoreActionsList.CLOSE_CREATE_CASE_FLYOUT, + }) + ); + }); +}); diff --git a/x-pack/plugins/cases/public/components/create/flyout/use_cases_add_to_new_case_flyout.tsx b/x-pack/plugins/cases/public/components/create/flyout/use_cases_add_to_new_case_flyout.tsx new file mode 100644 index 00000000000000..e9514ee582d992 --- /dev/null +++ b/x-pack/plugins/cases/public/components/create/flyout/use_cases_add_to_new_case_flyout.tsx @@ -0,0 +1,48 @@ +/* + * 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 { useCallback } from 'react'; +import { CasesContextStoreActionsList } from '../../cases_context/cases_context_reducer'; +import { useCasesContext } from '../../cases_context/use_cases_context'; +import { CreateCaseFlyoutProps } from './create_case_flyout'; + +export const useCasesAddToNewCaseFlyout = (props: CreateCaseFlyoutProps) => { + const context = useCasesContext(); + + const closeFlyout = useCallback(() => { + context.dispatch({ + type: CasesContextStoreActionsList.CLOSE_CREATE_CASE_FLYOUT, + }); + }, [context]); + + const openFlyout = useCallback(() => { + context.dispatch({ + type: CasesContextStoreActionsList.OPEN_CREATE_CASE_FLYOUT, + payload: { + ...props, + onClose: () => { + closeFlyout(); + if (props.onClose) { + return props.onClose(); + } + }, + afterCaseCreated: async (...args) => { + closeFlyout(); + if (props.afterCaseCreated) { + return props.afterCaseCreated(...args); + } + }, + }, + }); + }, [closeFlyout, context, props]); + return { + open: openFlyout, + close: closeFlyout, + }; +}; + +export type UseCasesAddToNewCaseFlyout = typeof useCasesAddToNewCaseFlyout; diff --git a/x-pack/plugins/cases/public/components/create/form.tsx b/x-pack/plugins/cases/public/components/create/form.tsx index c4784f9a891b1a..c4646ff7f7c02e 100644 --- a/x-pack/plugins/cases/public/components/create/form.tsx +++ b/x-pack/plugins/cases/public/components/create/form.tsx @@ -57,6 +57,7 @@ const MySpinner = styled(EuiLoadingSpinner)` `; export type SupportedCreateCaseAttachment = CommentRequestAlertType | CommentRequestUserType; export type CreateCaseAttachment = SupportedCreateCaseAttachment[]; +export type CaseAttachments = SupportedCreateCaseAttachment[]; export interface CreateCaseFormFieldsProps { connectors: ActionConnector[]; diff --git a/x-pack/plugins/cases/public/index.tsx b/x-pack/plugins/cases/public/index.tsx index 79eefba78a488c..be23b9a46893b9 100644 --- a/x-pack/plugins/cases/public/index.tsx +++ b/x-pack/plugins/cases/public/index.tsx @@ -19,6 +19,8 @@ export type { GetCreateCaseFlyoutProps } from './methods/get_create_case_flyout' export type { GetAllCasesSelectorModalProps } from './methods/get_all_cases_selector_modal'; export type { GetRecentCasesProps } from './methods/get_recent_cases'; +export type { CaseAttachments } from './components/create/form'; + export type { ICasesDeepLinkId } from './common/navigation'; export { getCasesDeepLinks, diff --git a/x-pack/plugins/cases/public/methods/get_cases_context.tsx b/x-pack/plugins/cases/public/methods/get_cases_context.tsx new file mode 100644 index 00000000000000..a2314696773b0e --- /dev/null +++ b/x-pack/plugins/cases/public/methods/get_cases_context.tsx @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { EuiLoadingSpinner } from '@elastic/eui'; +import React, { lazy, ReactNode, Suspense } from 'react'; +import { CasesContextProps } from '../components/cases_context'; + +export type GetCasesContextProps = CasesContextProps; + +const CasesProviderLazy: React.FC<{ value: GetCasesContextProps }> = lazy( + () => import('../components/cases_context') +); + +const CasesProviderLazyWrapper = ({ + owner, + userCanCrud, + features, + children, +}: GetCasesContextProps & { children: ReactNode }) => { + return ( + }> + {children} + + ); +}; +CasesProviderLazyWrapper.displayName = 'CasesProviderLazyWrapper'; + +export const getCasesContextLazy = () => { + return CasesProviderLazyWrapper; +}; diff --git a/x-pack/plugins/cases/public/methods/get_create_case_flyout.tsx b/x-pack/plugins/cases/public/methods/get_create_case_flyout.tsx index 90fbeafaa9ed0b..a0453c8fbb47e3 100644 --- a/x-pack/plugins/cases/public/methods/get_create_case_flyout.tsx +++ b/x-pack/plugins/cases/public/methods/get_create_case_flyout.tsx @@ -12,7 +12,7 @@ import { CasesProvider, CasesContextProps } from '../components/cases_context'; export type GetCreateCaseFlyoutProps = CreateCaseFlyoutProps & CasesContextProps; -const CreateCaseFlyoutLazy: React.FC = lazy( +export const CreateCaseFlyoutLazy: React.FC = lazy( () => import('../components/create/flyout') ); export const getCreateCaseFlyoutLazy = ({ @@ -35,3 +35,9 @@ export const getCreateCaseFlyoutLazy = ({ ); + +export const getCreateCaseFlyoutLazyNoProvider = (props: CreateCaseFlyoutProps) => ( + }> + + +); diff --git a/x-pack/plugins/cases/public/mocks.ts b/x-pack/plugins/cases/public/mocks.ts index 6f508d9b6da3bb..7c89bb1ddc2f95 100644 --- a/x-pack/plugins/cases/public/mocks.ts +++ b/x-pack/plugins/cases/public/mocks.ts @@ -10,9 +10,14 @@ import { CasesUiStart } from './types'; const createStartContract = (): jest.Mocked => ({ canUseCases: jest.fn(), getCases: jest.fn(), + getCasesContext: jest.fn(), getAllCasesSelectorModal: jest.fn(), getCreateCaseFlyout: jest.fn(), getRecentCases: jest.fn(), + getCreateCaseFlyoutNoProvider: jest.fn(), + hooks: { + getUseCasesAddToNewCaseFlyout: jest.fn(), + }, }); export const casesPluginMock = { diff --git a/x-pack/plugins/cases/public/plugin.ts b/x-pack/plugins/cases/public/plugin.ts index 70882560edb778..acf51c8380f658 100644 --- a/x-pack/plugins/cases/public/plugin.ts +++ b/x-pack/plugins/cases/public/plugin.ts @@ -14,8 +14,11 @@ import { getAllCasesSelectorModalLazy, getCreateCaseFlyoutLazy, canUseCases, + getCreateCaseFlyoutLazyNoProvider, } from './methods'; import { CasesUiConfigType } from '../common/ui/types'; +import { getCasesContextLazy } from './methods/get_cases_context'; +import { useCasesAddToNewCaseFlyout } from './components/create/flyout/use_cases_add_to_new_case_flyout'; /** * @public @@ -35,9 +38,14 @@ export class CasesUiPlugin implements Plugin} */ getCases: (props: GetCasesProps) => ReactElement; + getCasesContext: () => ( + props: GetCasesContextProps & { children: ReactNode } + ) => ReactElement; /** * Modal to select a case in a list of all owner cases * @param props GetAllCasesSelectorModalProps @@ -78,10 +84,16 @@ export interface CasesUiStart { * @returns A react component that is a flyout for creating a case */ getCreateCaseFlyout: (props: GetCreateCaseFlyoutProps) => ReactElement; + getCreateCaseFlyoutNoProvider: ( + props: CreateCaseFlyoutProps + ) => ReactElement; /** * Get the recent cases component * @param props GetRecentCasesProps * @returns A react component for showing recent cases */ getRecentCases: (props: GetRecentCasesProps) => ReactElement; + hooks: { + getUseCasesAddToNewCaseFlyout: UseCasesAddToNewCaseFlyout; + }; } diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/assets/assets.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/assets/assets.tsx index 6dae7920fa6923..b0e1189f131ba3 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/assets/assets.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/assets/assets.tsx @@ -13,10 +13,9 @@ import { groupBy } from 'lodash'; import type { ResolvedSimpleSavedObject } from 'src/core/public'; -import { useKibana } from '../../../../../../../../../../../src/plugins/kibana_react/public'; import { Loading, Error, ExtensionWrapper } from '../../../../../components'; -import type { PackageInfo, StartPlugins } from '../../../../../types'; +import type { PackageInfo } from '../../../../../types'; import { InstallStatus } from '../../../../../types'; import { @@ -37,9 +36,9 @@ interface AssetsPanelProps { export const AssetsPage = ({ packageInfo }: AssetsPanelProps) => { const { name, version } = packageInfo; - const { spaces } = useKibana().services; const pkgkey = `${name}-${version}`; const { + spaces, savedObjects: { client: savedObjectsClient }, } = useStartServices(); const customAssetsExtension = useUIExtension(packageInfo.name, 'package-detail-assets'); diff --git a/x-pack/plugins/fleet/public/plugin.ts b/x-pack/plugins/fleet/public/plugin.ts index 79dc8cc38c4bf5..b8bda08177a7ed 100644 --- a/x-pack/plugins/fleet/public/plugin.ts +++ b/x-pack/plugins/fleet/public/plugin.ts @@ -26,6 +26,8 @@ import type { SharePluginStart } from 'src/plugins/share/public'; import { once } from 'lodash'; +import type { SpacesPluginStart } from '../../spaces/public'; + import type { CloudStart } from '../../cloud/public'; import type { UsageCollectionSetup } from '../../../../src/plugins/usage_collection/public'; @@ -105,6 +107,7 @@ export interface FleetStartServices extends CoreStart, Exclude 0) { throw new IngestManagerError( - `There is already an integration policy with the same name: ${packagePolicy.name}` + `An integration policy with the name ${packagePolicy.name} already exists. Please rename it or choose a different name.` ); } } @@ -389,7 +389,9 @@ class PackagePolicyService { const filtered = (existingPoliciesWithName?.items || []).filter((p) => p.id !== id); if (filtered.length > 0) { - throw new IngestManagerError('There is already an integration policy with the same name'); + throw new IngestManagerError( + `An integration policy with the name ${packagePolicy.name} already exists. Please rename it or choose a different name.` + ); } let inputs = restOfPackagePolicy.inputs.map((input) => diff --git a/x-pack/plugins/observability/public/pages/alerts/containers/alerts_page/alerts_page.tsx b/x-pack/plugins/observability/public/pages/alerts/containers/alerts_page/alerts_page.tsx index a8e78410e13c5e..e8f79ec4e6e272 100644 --- a/x-pack/plugins/observability/public/pages/alerts/containers/alerts_page/alerts_page.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/containers/alerts_page/alerts_page.tsx @@ -13,7 +13,10 @@ import React, { useCallback, useEffect, useRef, useState } from 'react'; import useAsync from 'react-use/lib/useAsync'; import { ALERT_STATUS, AlertStatus } from '@kbn/rule-data-utils'; +import { observabilityFeatureId } from '../../../../../common'; +import { useGetUserCasesPermissions } from '../../../../hooks/use_get_user_cases_permissions'; import { euiStyled } from '../../../../../../../../src/plugins/kibana_react/common'; +import { useKibana } from '../../../../../../../../src/plugins/kibana_react/public'; import { loadAlertAggregations as loadRuleAggregations } from '../../../../../../../plugins/triggers_actions_ui/public'; import { AlertStatusFilterButton } from '../../../../../common/typings'; import { ParsedTechnicalFields } from '../../../../../../rule_registry/common/parse_technical_fields'; @@ -35,6 +38,7 @@ import { } from '../state_container'; import './styles.scss'; import { AlertsStatusFilter, AlertsDisclaimer, AlertsSearchBar } from '../../components'; +import { ObservabilityAppServices } from '../../../../application/types'; interface RuleStatsState { total: number; @@ -228,6 +232,10 @@ function AlertsPage() { // If there is any data, set hasData to true otherwise we need to wait till all the data is loaded before setting hasData to true or false; undefined indicates the data is still loading. const hasData = hasAnyData === true || (isAllRequestsComplete === false ? undefined : false); + const kibana = useKibana(); + const CasesContext = kibana.services.cases.getCasesContext(); + const userPermissions = useGetUserCasesPermissions(); + if (!hasAnyData && !isAllRequestsComplete) { return ; } @@ -322,13 +330,19 @@ function AlertsPage() { - + + + diff --git a/x-pack/plugins/observability/public/pages/alerts/containers/alerts_table_t_grid/alerts_table_t_grid.tsx b/x-pack/plugins/observability/public/pages/alerts/containers/alerts_table_t_grid/alerts_table_t_grid.tsx index d419fbee1d34ed..20b86fed197f83 100644 --- a/x-pack/plugins/observability/public/pages/alerts/containers/alerts_table_t_grid/alerts_table_t_grid.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/containers/alerts_table_t_grid/alerts_table_t_grid.tsx @@ -189,14 +189,14 @@ function ObservabilityActions({ timelines.getAddToExistingCaseButton({ event, casePermissions, - appId: observabilityFeatureId, + appId: observabilityAppId, owner: observabilityFeatureId, onClose: afterCaseSelection, }), timelines.getAddToNewCaseButton({ event, casePermissions, - appId: observabilityFeatureId, + appId: observabilityAppId, owner: observabilityFeatureId, onClose: afterCaseSelection, }), diff --git a/x-pack/plugins/security/public/session/session_timeout.test.ts b/x-pack/plugins/security/public/session/session_timeout.test.ts index b6cd758354dfad..dc046824dc9a86 100644 --- a/x-pack/plugins/security/public/session/session_timeout.test.ts +++ b/x-pack/plugins/security/public/session/session_timeout.test.ts @@ -130,9 +130,12 @@ describe('SessionTimeout', () => { await sessionTimeout.start(); expect(http.fetch).toHaveBeenCalledTimes(1); - // Increment system time enough so that session extension gets triggered + // Increment system time far enough to bypass throttle time nowMock.mockReturnValue(Date.now() + SESSION_EXTENSION_THROTTLE_MS + 10); + + // Trigger session extension and wait for next tick window.dispatchEvent(new Event('mousemove')); + await new Promise((resolve) => process.nextTick(resolve)); expect(http.fetch).toHaveBeenCalledTimes(2); expect(http.fetch).toHaveBeenLastCalledWith( @@ -159,11 +162,44 @@ describe('SessionTimeout', () => { expect(http.fetch).toHaveBeenCalledTimes(1); + // Trigger session extension and wait for next tick window.dispatchEvent(new Event('mousemove')); + await new Promise((resolve) => process.nextTick(resolve)); expect(http.fetch).toHaveBeenCalledTimes(1); }); + it('exponentially increases retry time when extending session fails', async () => { + nowMock.mockReturnValue(0); + + const { sessionTimeout, http } = createSessionTimeout(); + await sessionTimeout.start(); + + expect(http.fetch).toHaveBeenCalledTimes(1); + + // Increment system time far enough to bypass throttle time + nowMock.mockReturnValue(Date.now() + SESSION_EXTENSION_THROTTLE_MS + 10); + + // Now make subsequent HTTP calls fail + http.fetch.mockRejectedValue(new Error('Failure')); + + // Trigger session extension and wait for next tick + window.dispatchEvent(new Event('mousemove')); + await new Promise((resolve) => process.nextTick(resolve)); + + expect(http.fetch).toHaveBeenCalledTimes(2); + + // Increment system time far enough to bypass throttle time + nowMock.mockReturnValue(Date.now() + SESSION_EXTENSION_THROTTLE_MS + 10); + + // Trigger session extension and wait for next tick + window.dispatchEvent(new Event('mousemove')); + await new Promise((resolve) => process.nextTick(resolve)); + + // Without exponential retry backoff, this would have been called a 3rd time + expect(http.fetch).toHaveBeenCalledTimes(2); + }); + it('marks HTTP requests as system requests when tab is not visible', async () => { const { sessionTimeout, http } = createSessionTimeout(); await sessionTimeout.start(); diff --git a/x-pack/plugins/security/public/session/session_timeout.ts b/x-pack/plugins/security/public/session/session_timeout.ts index 8b83f34f642fd7..f3f58b63c0e7f5 100644 --- a/x-pack/plugins/security/public/session/session_timeout.ts +++ b/x-pack/plugins/security/public/session/session_timeout.ts @@ -38,6 +38,7 @@ export class SessionTimeout { private isVisible = document.visibilityState !== 'hidden'; private isFetchingSessionInfo = false; + private consecutiveErrorCount = 0; private snoozedWarningState?: SessionState; private sessionState$ = new BehaviorSubject({ @@ -218,7 +219,8 @@ export class SessionTimeout { return ( !this.isFetchingSessionInfo && !this.warningToast && - Date.now() > lastExtensionTime + SESSION_EXTENSION_THROTTLE_MS + Date.now() > + lastExtensionTime + SESSION_EXTENSION_THROTTLE_MS * Math.exp(this.consecutiveErrorCount) ); } @@ -229,6 +231,7 @@ export class SessionTimeout { method: extend ? 'POST' : 'GET', asSystemRequest: !extend, }); + this.consecutiveErrorCount = 0; if (sessionInfo) { const { expiresInMs, canBeExtended } = sessionInfo; const nextState: SessionState = { @@ -243,7 +246,7 @@ export class SessionTimeout { return nextState; } } catch (error) { - // ignore + this.consecutiveErrorCount++; } finally { this.isFetchingSessionInfo = false; } diff --git a/x-pack/plugins/security_solution/public/app/app.tsx b/x-pack/plugins/security_solution/public/app/app.tsx index b129991ed8fba1..184ea12903b19b 100644 --- a/x-pack/plugins/security_solution/public/app/app.tsx +++ b/x-pack/plugins/security_solution/public/app/app.tsx @@ -11,7 +11,6 @@ import { Store, Action } from 'redux'; import { Provider as ReduxStoreProvider } from 'react-redux'; import { EuiErrorBoundary } from '@elastic/eui'; -import { QueryClient, QueryClientProvider } from 'react-query'; import { KibanaThemeProvider } from '../../../../../src/plugins/kibana_react/public'; import { AppLeaveHandler, AppMountParameters } from '../../../../../src/core/public'; @@ -27,6 +26,7 @@ import { StartServices } from '../types'; import { PageRouter } from './routes'; import { EuiThemeProvider } from '../../../../../src/plugins/kibana_react/common'; import { UserPrivilegesProvider } from '../common/components/user_privileges/user_privileges_context'; +import { ReactQueryClientProvider } from '../common/containers/query_client/query_client_provider'; interface StartAppComponent { children: React.ReactNode; @@ -37,8 +37,6 @@ interface StartAppComponent { theme$: AppMountParameters['theme$']; } -const queryClient = new QueryClient(); - const StartAppComponent: FC = ({ children, history, @@ -63,7 +61,7 @@ const StartAppComponent: FC = ({ - + = ({ > {children} - + diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/alert_summary_view.test.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/alert_summary_view.test.tsx index 24b907e6bd9382..4bb4c4809764a6 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/alert_summary_view.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/event_details/alert_summary_view.test.tsx @@ -258,6 +258,105 @@ describe('AlertSummaryView', () => { }); }); + test('Ransomware event code shows correct fields', () => { + const enhancedData = [ + ...mockAlertDetailsData.map((item) => { + if (item.category === 'event' && item.field === 'event.code') { + return { + ...item, + values: ['ransomware'], + originalValue: ['ransomware'], + }; + } + return item; + }), + { category: 'Ransomware', field: 'Ransomware.feature', values: ['mbr'] }, + { + category: 'process', + field: 'process.hash.sha256', + values: ['3287rhf3847gb38fb3o984g9384g7b3b847gb'], + }, + ] as TimelineEventsDetailsItem[]; + const renderProps = { + ...props, + data: enhancedData, + }; + const { getByText } = render( + + + + ); + ['process.hash.sha256', 'Ransomware.feature'].forEach((fieldId) => { + expect(getByText(fieldId)); + }); + }); + + test('Machine learning events show correct fields', () => { + const enhancedData = [ + ...mockAlertDetailsData.map((item) => { + if (item.category === 'kibana' && item.field === 'kibana.alert.rule.type') { + return { + ...item, + values: ['machine_learning'], + originalValue: ['machine_learning'], + }; + } + return item; + }), + { + category: 'kibana', + field: 'kibana.alert.rule.parameters.machine_learning_job_id', + values: ['i_am_the_ml_job_id'], + }, + { category: 'kibana', field: 'kibana.alert.rule.parameters.anomaly_threshold', values: [2] }, + ] as TimelineEventsDetailsItem[]; + const renderProps = { + ...props, + data: enhancedData, + }; + const { getByText } = render( + + + + ); + ['i_am_the_ml_job_id', 'kibana.alert.rule.parameters.anomaly_threshold'].forEach((fieldId) => { + expect(getByText(fieldId)); + }); + }); + + test('Threat match events show correct fields', () => { + const enhancedData = [ + ...mockAlertDetailsData.map((item) => { + if (item.category === 'kibana' && item.field === 'kibana.alert.rule.type') { + return { + ...item, + values: ['threat_match'], + originalValue: ['threat_match'], + }; + } + return item; + }), + { + category: 'kibana', + field: 'kibana.alert.rule.threat_index', + values: ['threat_index*'], + }, + { category: 'kibana', field: 'kibana.alert.rule.threat_query', values: ['*query*'] }, + ] as TimelineEventsDetailsItem[]; + const renderProps = { + ...props, + data: enhancedData, + }; + const { getByText } = render( + + + + ); + ['threat_index*', '*query*'].forEach((fieldId) => { + expect(getByText(fieldId)); + }); + }); + test('Ransomware event code resolves fields from the source event', () => { const renderProps = { ...props, diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/get_alert_summary_rows.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/get_alert_summary_rows.tsx index af93393e5b8a49..9f0dfb53a5c4be 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/get_alert_summary_rows.tsx +++ b/x-pack/plugins/security_solution/public/common/components/event_details/get_alert_summary_rows.tsx @@ -6,7 +6,7 @@ */ import { find, isEmpty, uniqBy } from 'lodash/fp'; -import { ALERT_RULE_NAMESPACE, ALERT_RULE_TYPE } from '@kbn/rule-data-utils'; +import { ALERT_RULE_NAMESPACE, ALERT_RULE_PARAMETERS, ALERT_RULE_TYPE } from '@kbn/rule-data-utils'; import * as i18n from './translations'; import { BrowserFields } from '../../../../common/search_strategy/index_fields'; @@ -14,7 +14,6 @@ import { ALERTS_HEADERS_THRESHOLD_CARDINALITY, ALERTS_HEADERS_THRESHOLD_COUNT, ALERTS_HEADERS_THRESHOLD_TERMS, - ALERTS_HEADERS_TARGET_IMPORT_HASH, ALERTS_HEADERS_RULE_DESCRIPTION, } from '../../../detections/components/alerts_table/translations'; import { ALERT_THRESHOLD_RESULT } from '../../../../common/field_maps/field_names'; @@ -111,16 +110,17 @@ function getFieldsByEventCode( case EventCode.SHELLCODE_THREAD: return [ { id: 'Target.process.executable' }, - { - id: 'Target.process.thread.Ext.start_address_detaiuls.memory_pe.imphash', - label: ALERTS_HEADERS_TARGET_IMPORT_HASH, - }, { id: 'Memory_protection.unique_key_v1', }, ]; - case EventCode.MEMORY_SIGNATURE: case EventCode.RANSOMWARE: + return [ + { id: 'Ransomware.feature' }, + { id: 'process.hash.sha256' }, + ...getFieldsByCategory({ ...eventCategories, primaryEventCategory: undefined }), + ]; + case EventCode.MEMORY_SIGNATURE: // Resolve more fields based on the source event return getFieldsByCategory({ ...eventCategories, primaryEventCategory: undefined }); default: @@ -145,10 +145,10 @@ function getFieldsByRuleType(ruleType?: string): EventSummaryField[] { case 'machine_learning': return [ { - id: `${ALERT_RULE_NAMESPACE}.machine_learning_job_id`, + id: `${ALERT_RULE_PARAMETERS}.machine_learning_job_id`, }, { - id: `${ALERT_RULE_NAMESPACE}.anomaly_threshold`, + id: `${ALERT_RULE_PARAMETERS}.anomaly_threshold`, }, ]; case 'threat_match': @@ -157,7 +157,7 @@ function getFieldsByRuleType(ruleType?: string): EventSummaryField[] { id: `${ALERT_RULE_NAMESPACE}.threat_index`, }, { - id: `${ALERT_RULE_NAMESPACE}.index`, + id: `${ALERT_RULE_NAMESPACE}.threat_query`, }, ]; default: diff --git a/x-pack/plugins/security_solution/public/common/containers/query_client/query_client_provider.tsx b/x-pack/plugins/security_solution/public/common/containers/query_client/query_client_provider.tsx new file mode 100644 index 00000000000000..c888a89c44cde6 --- /dev/null +++ b/x-pack/plugins/security_solution/public/common/containers/query_client/query_client_provider.tsx @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { memo } from 'react'; +import { QueryClient, QueryClientProvider } from 'react-query'; + +export const queryClient = new QueryClient(); + +export const ReactQueryClientProvider = memo(({ children }) => { + return {children}; +}); + +ReactQueryClientProvider.displayName = 'ReactQueryClientProvider'; diff --git a/x-pack/plugins/security_solution/public/common/containers/use_full_screen/index.test.tsx b/x-pack/plugins/security_solution/public/common/containers/use_full_screen/index.test.tsx new file mode 100644 index 00000000000000..5e3c3e0350dc50 --- /dev/null +++ b/x-pack/plugins/security_solution/public/common/containers/use_full_screen/index.test.tsx @@ -0,0 +1,95 @@ +/* + * 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, { useEffect } from 'react'; +import { TestProviders } from '../../mock'; +import { + renderHook, + act, + RenderResult, + WaitForNextUpdate, + cleanup, +} from '@testing-library/react-hooks'; +import { useGlobalFullScreen, GlobalFullScreen } from '.'; + +describe('useFullScreen', () => { + describe('with no data-grid present in the dom', () => { + let result: RenderResult; + let waitForNextUpdate: WaitForNextUpdate; + test('Default values with no data grid in the dom', async () => { + await act(async () => { + const WrapperContainer: React.FC<{ children?: React.ReactNode }> = ({ children }) => ( +
+ {children} +
+ ); + ({ result, waitForNextUpdate } = renderHook(() => useGlobalFullScreen(), { + wrapper: WrapperContainer, + })); + await waitForNextUpdate(); + expect(result.current.globalFullScreen).toEqual(false); + }); + act(() => { + result.current.setGlobalFullScreen(true); + }); + expect(result.current.globalFullScreen).toEqual(true); + cleanup(); + }); + }); + + describe('with a mock full screen data-grid in the dom', () => { + let result: RenderResult; + let waitForNextUpdate: WaitForNextUpdate; + afterEach(() => { + cleanup(); + }); + test('setting globalFullScreen to true should not remove the chrome removal class and data grid remains open and full screen', async () => { + await act(async () => { + const WrapperContainer: React.FC<{ children?: React.ReactNode }> = ({ children }) => { + useEffect(() => { + document.body.classList.add('euiDataGrid__restrictBody'); + }, []); + return ( +
+ {children} +
+ ); + }; + ({ result, waitForNextUpdate } = renderHook(() => useGlobalFullScreen(), { + wrapper: WrapperContainer, + })); + await waitForNextUpdate(); + }); + act(() => { + result.current.setGlobalFullScreen(true); + }); + expect(document.querySelector('.euiDataGrid__restrictBody')).toBeTruthy(); + }); + test('setting globalFullScreen to false should remove the chrome removal class and data grid remains open and full screen', async () => { + await act(async () => { + const WrapperContainer: React.FC<{ children?: React.ReactNode }> = ({ children }) => { + useEffect(() => { + document.body.classList.add('euiDataGrid__restrictBody'); + }, []); + return ( +
+ {children} +
+ ); + }; + ({ result, waitForNextUpdate } = renderHook(() => useGlobalFullScreen(), { + wrapper: WrapperContainer, + })); + await waitForNextUpdate(); + }); + act(() => { + result.current.setGlobalFullScreen(false); + }); + expect(document.querySelector('.euiDataGrid__restrictBody')).toBeNull(); + }); + }); +}); diff --git a/x-pack/plugins/security_solution/public/common/containers/use_full_screen/index.tsx b/x-pack/plugins/security_solution/public/common/containers/use_full_screen/index.tsx index 4af2c63676241b..17458353d093b8 100644 --- a/x-pack/plugins/security_solution/public/common/containers/use_full_screen/index.tsx +++ b/x-pack/plugins/security_solution/public/common/containers/use_full_screen/index.tsx @@ -28,12 +28,12 @@ export const resetScroll = () => { } }, 0); }; -interface GlobalFullScreen { +export interface GlobalFullScreen { globalFullScreen: boolean; setGlobalFullScreen: (fullScreen: boolean) => void; } -interface TimelineFullScreen { +export interface TimelineFullScreen { timelineFullScreen: boolean; setTimelineFullScreen: (fullScreen: boolean) => void; } @@ -44,10 +44,11 @@ export const useGlobalFullScreen = (): GlobalFullScreen => { useShallowEqualSelector(inputsSelectors.globalFullScreenSelector) ?? false; const setGlobalFullScreen = useCallback( (fullScreen: boolean) => { + const isDataGridFullScreen = document.querySelector('.euiDataGrid--fullScreen') !== null; if (fullScreen) { document.body.classList.add(SCROLLING_DISABLED_CLASS_NAME, 'euiDataGrid__restrictBody'); resetScroll(); - } else { + } else if (isDataGridFullScreen === false || fullScreen === false) { document.body.classList.remove(SCROLLING_DISABLED_CLASS_NAME, 'euiDataGrid__restrictBody'); resetScroll(); } @@ -73,9 +74,10 @@ export const useTimelineFullScreen = (): TimelineFullScreen => { useShallowEqualSelector(inputsSelectors.timelineFullScreenSelector) ?? false; const setTimelineFullScreen = useCallback( (fullScreen: boolean) => { + const isDataGridFullScreen = document.querySelector('.euiDataGrid--fullScreen') !== null; if (fullScreen) { document.body.classList.add('euiDataGrid__restrictBody'); - } else { + } else if (isDataGridFullScreen === false || fullScreen === false) { document.body.classList.remove('euiDataGrid__restrictBody'); } dispatch(inputsActions.setFullScreen({ id: 'timeline', fullScreen })); diff --git a/x-pack/plugins/security_solution/public/common/lib/kibana/hooks.ts b/x-pack/plugins/security_solution/public/common/lib/kibana/hooks.ts index 411dd5542038b6..ebf361914ca3b8 100644 --- a/x-pack/plugins/security_solution/public/common/lib/kibana/hooks.ts +++ b/x-pack/plugins/security_solution/public/common/lib/kibana/hooks.ts @@ -157,8 +157,8 @@ export const useGetUserCasesPermissions = () => { useEffect(() => { setCasesPermissions({ - crud: !!uiCapabilities[CASES_FEATURE_ID].crud_cases, - read: !!uiCapabilities[CASES_FEATURE_ID].read_cases, + crud: !!uiCapabilities[CASES_FEATURE_ID]?.crud_cases, + read: !!uiCapabilities[CASES_FEATURE_ID]?.read_cases, }); }, [uiCapabilities]); diff --git a/x-pack/plugins/security_solution/public/common/mock/mock_cases_context.tsx b/x-pack/plugins/security_solution/public/common/mock/mock_cases_context.tsx new file mode 100644 index 00000000000000..66c3fc2c932ebc --- /dev/null +++ b/x-pack/plugins/security_solution/public/common/mock/mock_cases_context.tsx @@ -0,0 +1,12 @@ +/* + * 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'; + +export const mockCasesContext: React.FC = (props) => { + return <>{props?.children ?? null}; +}; +mockCasesContext.displayName = 'CasesContextMock'; diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/index.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/index.tsx index 256a063c441583..1499e803fdf37e 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/index.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/index.tsx @@ -10,6 +10,7 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react'; import { connect, ConnectedProps, useDispatch } from 'react-redux'; import { Dispatch } from 'redux'; import type { Filter } from '@kbn/es-query'; +import { APP_ID } from '../../../../common/constants'; import { getEsQueryConfig } from '../../../../../../../src/plugins/data/common'; import { Status } from '../../../../common/detection_engine/schemas/common/schemas'; import { RowRendererId, TimelineIdLiteral } from '../../../../common/types/timeline'; @@ -24,7 +25,7 @@ import { useAppToasts } from '../../../common/hooks/use_app_toasts'; import { useIsExperimentalFeatureEnabled } from '../../../common/hooks/use_experimental_features'; import { useInvalidFilterQuery } from '../../../common/hooks/use_invalid_filter_query'; import { defaultCellActions } from '../../../common/lib/cell_actions/default_cell_actions'; -import { useKibana } from '../../../common/lib/kibana'; +import { useGetUserCasesPermissions, useKibana } from '../../../common/lib/kibana'; import { inputsModel, inputsSelectors, State } from '../../../common/store'; import { SourcererScopeName } from '../../../common/store/sourcerer/model'; import * as i18nCommon from '../../../common/translations'; @@ -356,29 +357,34 @@ export const AlertsTableComponent: React.FC = ({ const leadingControlColumns = useMemo(() => getDefaultControlColumn(ACTION_BUTTON_COUNT), []); + const casesPermissions = useGetUserCasesPermissions(); + const CasesContext = kibana.services.cases.getCasesContext(); + if (loading || indexPatternsLoading || isEmpty(selectedPatterns)) { return null; } return ( - + + + ); }; diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/translations.ts b/x-pack/plugins/security_solution/public/detections/components/alerts_table/translations.ts index 1897ad45fe7ffe..590b5759ecae45 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/translations.ts +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/translations.ts @@ -136,13 +136,6 @@ export const ALERTS_HEADERS_THRESHOLD_CARDINALITY = i18n.translate( } ); -export const ALERTS_HEADERS_TARGET_IMPORT_HASH = i18n.translate( - 'xpack.securitySolution.eventsViewer.alerts.overviewTable.targetImportHash', - { - defaultMessage: 'Import Hash', - } -); - export const ACTION_OPEN_ALERT = i18n.translate( 'xpack.securitySolution.detectionEngine.alerts.actions.openAlertTitle', { diff --git a/x-pack/plugins/security_solution/public/detections/pages/detection_engine/detection_engine.test.tsx b/x-pack/plugins/security_solution/public/detections/pages/detection_engine/detection_engine.test.tsx index c5d053c57fc970..4b6cbb6f7e16dd 100644 --- a/x-pack/plugins/security_solution/public/detections/pages/detection_engine/detection_engine.test.tsx +++ b/x-pack/plugins/security_solution/public/detections/pages/detection_engine/detection_engine.test.tsx @@ -24,6 +24,7 @@ import { createStore, State } from '../../../common/store'; import { mockHistory, Router } from '../../../common/mock/router'; import { mockTimelines } from '../../../common/mock/mock_timelines_plugin'; import { mockBrowserFields } from '../../../common/containers/source/mock'; +import { mockCasesContext } from '../../../common/mock/mock_cases_context'; // Test will fail because we will to need to mock some core services to make the test work // For now let's forget about SiemSearchBar and QueryBar @@ -72,6 +73,9 @@ jest.mock('../../../common/lib/kibana', () => { siem: { crud_alerts: true, read_alerts: true }, }, }, + cases: { + getCasesContext: mockCasesContext, + }, uiSettings: { get: jest.fn(), }, diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/index.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/index.tsx new file mode 100644 index 00000000000000..fc345f1820a308 --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/index.tsx @@ -0,0 +1,15 @@ +/* + * 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 { useListArtifact } from './use_list_artifact'; +export { useGetArtifact } from './use_get_artifact'; +export { useCreateArtifact } from './use_create_artifact'; +export { useUpdateArtifact } from './use_update_artifact'; +export { useDeleteArtifact } from './use_delete_artifact'; +export { useSummaryArtifact } from './use_summary_artifact'; +export { useBulkUpdateArtifact } from './use_bulk_update_artifact'; +export { useBulkDeleteArtifact } from './use_bulk_delete_artifact'; diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/test_utils.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/test_utils.tsx new file mode 100644 index 00000000000000..2680d1a0ddd8e5 --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/test_utils.tsx @@ -0,0 +1,60 @@ +/* + * 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 { renderHook } from '@testing-library/react-hooks'; +import { HttpSetup } from 'kibana/public'; +import { CreateExceptionListSchema } from '@kbn/securitysolution-io-ts-list-types'; +import { coreMock } from '../../../../../../../src/core/public/mocks'; +import { ReactQueryClientProvider } from '../../../common/containers/query_client/query_client_provider'; + +export const getFakeListId: () => string = () => 'FAKE_LIST_ID'; +export const getFakeListDefinition: () => CreateExceptionListSchema = () => ({ + name: 'FAKE_LIST_NAME', + namespace_type: 'agnostic', + description: 'FAKE_LIST_DESCRIPTION', + list_id: getFakeListId(), + type: 'endpoint', +}); + +export const getFakeHttpService = () => { + const fakeCoreStart = coreMock.createStart({ basePath: '/mock' }); + const fakeHttpServices = fakeCoreStart.http as jest.Mocked; + fakeHttpServices.post.mockClear(); + fakeHttpServices.get.mockClear(); + fakeHttpServices.put.mockClear(); + fakeHttpServices.delete.mockClear(); + + return fakeHttpServices; +}; + +export const renderQuery = async ( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + hook: () => any, + waitForHook: 'isSuccess' | 'isLoading' | 'isError' = 'isSuccess' +) => { + const wrapper = ({ children }: { children: React.ReactNode }): JSX.Element => ( + {children} + ); + const { result: resultHook, waitFor } = renderHook(() => hook(), { + wrapper, + }); + await waitFor(() => resultHook.current[waitForHook]); + return resultHook.current; +}; + +export const renderMutation = async ( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + hook: () => any +) => { + const wrapper = ({ children }: { children: React.ReactNode }): JSX.Element => ( + {children} + ); + const { result: resultHook } = renderHook(() => hook(), { + wrapper, + }); + return resultHook.current; +}; diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_delete_artifact.test.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_delete_artifact.test.tsx new file mode 100644 index 00000000000000..a7bae8c1f37d60 --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_delete_artifact.test.tsx @@ -0,0 +1,101 @@ +/* + * 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 { useBulkDeleteArtifact } from './use_bulk_delete_artifact'; +import { HttpSetup } from 'kibana/public'; +import { ExceptionsListApiClient } from '../../services/exceptions_list/exceptions_list_api_client'; +import { + getFakeListId, + getFakeListDefinition, + getFakeHttpService, + renderMutation, +} from './test_utils'; +import { getExceptionListItemSchemaMock } from '../../../../../lists/common/schemas/response/exception_list_item_schema.mock'; +import { act } from '@testing-library/react-hooks'; + +describe('Bulk delete artifact hook', () => { + let result: ReturnType; + + let fakeHttpServices: jest.Mocked; + let instance: ExceptionsListApiClient; + + beforeEach(() => { + fakeHttpServices = getFakeHttpService(); + instance = new ExceptionsListApiClient( + fakeHttpServices, + getFakeListId(), + getFakeListDefinition() + ); + }); + + it('Bulk delete an artifact', async () => { + const exceptionItem1 = { ...getExceptionListItemSchemaMock(), list_id: getFakeListId() }; + const exceptionItem2 = { ...getExceptionListItemSchemaMock(), list_id: getFakeListId() }; + + fakeHttpServices.delete.mockClear(); + fakeHttpServices.delete.mockResolvedValueOnce(exceptionItem1); + fakeHttpServices.delete.mockResolvedValueOnce(exceptionItem2); + const onSuccessMock: jest.Mock = jest.fn(); + + result = await renderMutation(() => + useBulkDeleteArtifact(instance, { + retry: false, + onSuccess: onSuccessMock, + }) + ); + + expect(fakeHttpServices.delete).toHaveBeenCalledTimes(0); + + await act(async () => { + const res = await result.mutateAsync(['fakeId-1', 'fakeId-2']); + expect(res).toEqual([exceptionItem1, exceptionItem2]); + expect(onSuccessMock).toHaveBeenCalledTimes(1); + expect(fakeHttpServices.delete).toHaveBeenCalledTimes(2); + expect(fakeHttpServices.delete).toHaveBeenNthCalledWith(1, '/api/exception_lists/items', { + query: { + id: 'fakeId-1', + namespace_type: 'agnostic', + }, + }); + expect(fakeHttpServices.delete).toHaveBeenNthCalledWith(2, '/api/exception_lists/items', { + query: { + id: 'fakeId-2', + namespace_type: 'agnostic', + }, + }); + }); + }); + + it('throw when bulk deleting an artifact', async () => { + const error = { + response: { + status: 500, + }, + }; + fakeHttpServices.delete.mockClear(); + fakeHttpServices.delete.mockRejectedValue(error); + + const onErrorMock: jest.Mock = jest.fn(); + + result = await renderMutation(() => + useBulkDeleteArtifact(instance, { + onError: onErrorMock, + retry: false, + }) + ); + + await act(async () => { + try { + await result.mutateAsync(['fakeId-1', 'fakeId-2']); + } catch (err) { + expect(err).toBe(error); + expect(fakeHttpServices.delete).toHaveBeenCalledTimes(2); + expect(onErrorMock).toHaveBeenCalledTimes(1); + } + }); + }); +}); diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_delete_artifact.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_delete_artifact.tsx new file mode 100644 index 00000000000000..5feda65996ea1b --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_delete_artifact.tsx @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import pMap from 'p-map'; +import { HttpFetchError } from 'kibana/public'; +import { ExceptionListItemSchema } from '@kbn/securitysolution-io-ts-list-types'; +import { useMutation, UseMutationResult, UseQueryOptions } from 'react-query'; +import { ExceptionsListApiClient } from '../../services/exceptions_list/exceptions_list_api_client'; + +export function useBulkDeleteArtifact( + exceptionListApiClient: ExceptionsListApiClient, + customOptions: UseQueryOptions, + options: { + concurrency: number; + } = { + concurrency: 5, + } +): UseMutationResult void> { + return useMutation void>( + (exceptionIds: string[]) => { + return pMap( + exceptionIds, + (id) => { + return exceptionListApiClient.delete(id); + }, + options + ); + }, + customOptions + ); +} diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_update_artifact.test.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_update_artifact.test.tsx new file mode 100644 index 00000000000000..a622eedb99f1ec --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_update_artifact.test.tsx @@ -0,0 +1,97 @@ +/* + * 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 { useBulkUpdateArtifact } from './use_bulk_update_artifact'; +import { HttpSetup } from 'kibana/public'; +import { ExceptionsListApiClient } from '../../services/exceptions_list/exceptions_list_api_client'; +import { + getFakeListId, + getFakeListDefinition, + getFakeHttpService, + renderMutation, +} from './test_utils'; +import { getExceptionListItemSchemaMock } from '../../../../../lists/common/schemas/response/exception_list_item_schema.mock'; +import { act } from '@testing-library/react-hooks'; + +describe('Bulk update artifact hook', () => { + let result: ReturnType; + + let fakeHttpServices: jest.Mocked; + let instance: ExceptionsListApiClient; + + beforeEach(() => { + fakeHttpServices = getFakeHttpService(); + instance = new ExceptionsListApiClient( + fakeHttpServices, + getFakeListId(), + getFakeListDefinition() + ); + }); + + it('Bulk update an artifact', async () => { + const exceptionItem1 = { ...getExceptionListItemSchemaMock(), list_id: getFakeListId() }; + const exceptionItem2 = { ...getExceptionListItemSchemaMock(), list_id: getFakeListId() }; + + fakeHttpServices.put.mockClear(); + fakeHttpServices.put.mockResolvedValueOnce(exceptionItem1); + fakeHttpServices.put.mockResolvedValueOnce(exceptionItem2); + const onSuccessMock: jest.Mock = jest.fn(); + + result = await renderMutation(() => + useBulkUpdateArtifact(instance, { + retry: false, + onSuccess: onSuccessMock, + }) + ); + + expect(fakeHttpServices.put).toHaveBeenCalledTimes(0); + + await act(async () => { + const res = await result.mutateAsync([exceptionItem1, exceptionItem2]); + expect(res).toEqual([exceptionItem1, exceptionItem2]); + expect(onSuccessMock).toHaveBeenCalledTimes(1); + expect(fakeHttpServices.put).toHaveBeenCalledTimes(2); + expect(fakeHttpServices.put).toHaveBeenNthCalledWith(1, '/api/exception_lists/items', { + body: JSON.stringify(ExceptionsListApiClient.cleanExceptionsBeforeUpdate(exceptionItem1)), + }); + expect(fakeHttpServices.put).toHaveBeenNthCalledWith(2, '/api/exception_lists/items', { + body: JSON.stringify(ExceptionsListApiClient.cleanExceptionsBeforeUpdate(exceptionItem2)), + }); + }); + }); + + it('throw when bulk updating an artifact', async () => { + const error = { + response: { + status: 500, + }, + }; + const exceptionItem1 = { ...getExceptionListItemSchemaMock(), list_id: getFakeListId() }; + const exceptionItem2 = { ...getExceptionListItemSchemaMock(), list_id: getFakeListId() }; + fakeHttpServices.put.mockClear(); + fakeHttpServices.put.mockRejectedValue(error); + + const onErrorMock: jest.Mock = jest.fn(); + + result = await renderMutation(() => + useBulkUpdateArtifact(instance, { + onError: onErrorMock, + retry: false, + }) + ); + + await act(async () => { + try { + await result.mutateAsync([exceptionItem1, exceptionItem2]); + } catch (err) { + expect(err).toBe(error); + expect(fakeHttpServices.put).toHaveBeenCalledTimes(2); + expect(onErrorMock).toHaveBeenCalledTimes(1); + } + }); + }); +}); diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_update_artifact.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_update_artifact.tsx new file mode 100644 index 00000000000000..181fe6dc9d7d5c --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_bulk_update_artifact.tsx @@ -0,0 +1,44 @@ +/* + * 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 pMap from 'p-map'; +import { HttpFetchError } from 'kibana/public'; +import { + UpdateExceptionListItemSchema, + ExceptionListItemSchema, +} from '@kbn/securitysolution-io-ts-list-types'; +import { useMutation, UseMutationResult, UseQueryOptions } from 'react-query'; +import { ExceptionsListApiClient } from '../../services/exceptions_list/exceptions_list_api_client'; + +export function useBulkUpdateArtifact( + exceptionListApiClient: ExceptionsListApiClient, + customOptions: UseQueryOptions, + options: { + concurrency: number; + } = { + concurrency: 5, + } +): UseMutationResult< + ExceptionListItemSchema[], + HttpFetchError, + UpdateExceptionListItemSchema[], + () => void +> { + return useMutation< + ExceptionListItemSchema[], + HttpFetchError, + UpdateExceptionListItemSchema[], + () => void + >((exceptions: UpdateExceptionListItemSchema[]) => { + return pMap( + exceptions, + (exception) => { + return exceptionListApiClient.update(exception); + }, + options + ); + }, customOptions); +} diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_create_artifact.test.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_create_artifact.test.tsx new file mode 100644 index 00000000000000..89ce9ece8fa132 --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_create_artifact.test.tsx @@ -0,0 +1,91 @@ +/* + * 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 { useCreateArtifact } from './use_create_artifact'; +import { HttpSetup } from 'kibana/public'; +import { ExceptionsListApiClient } from '../../services/exceptions_list/exceptions_list_api_client'; +import { + getFakeListId, + getFakeListDefinition, + getFakeHttpService, + renderMutation, +} from './test_utils'; +import { getExceptionListItemSchemaMock } from '../../../../../lists/common/schemas/response/exception_list_item_schema.mock'; +import { act } from '@testing-library/react-hooks'; + +describe('Create artifact hook', () => { + let result: ReturnType; + + let fakeHttpServices: jest.Mocked; + let instance: ExceptionsListApiClient; + + beforeEach(() => { + fakeHttpServices = getFakeHttpService(); + instance = new ExceptionsListApiClient( + fakeHttpServices, + getFakeListId(), + getFakeListDefinition() + ); + }); + + it('create an artifact', async () => { + const exceptionItem = { ...getExceptionListItemSchemaMock(), list_id: getFakeListId() }; + + fakeHttpServices.post.mockClear(); + fakeHttpServices.post.mockResolvedValueOnce(exceptionItem); + const onSuccessMock: jest.Mock = jest.fn(); + + result = await renderMutation(() => + useCreateArtifact(instance, { + retry: false, + onSuccess: onSuccessMock, + }) + ); + + expect(fakeHttpServices.post).toHaveBeenCalledTimes(0); + + await act(async () => { + const res = await result.mutateAsync(exceptionItem); + expect(res).toBe(exceptionItem); + expect(onSuccessMock).toHaveBeenCalledTimes(1); + expect(fakeHttpServices.post).toHaveBeenCalledTimes(1); + expect(fakeHttpServices.post).toHaveBeenCalledWith('/api/exception_lists/items', { + body: JSON.stringify(exceptionItem), + }); + }); + }); + + it('throw when creating an artifact', async () => { + const exceptionItem = { ...getExceptionListItemSchemaMock(), list_id: getFakeListId() }; + const error = { + response: { + status: 500, + }, + }; + fakeHttpServices.post.mockClear(); + fakeHttpServices.post.mockRejectedValue(error); + + const onErrorMock: jest.Mock = jest.fn(); + + result = await renderMutation(() => + useCreateArtifact(instance, { + onError: onErrorMock, + retry: false, + }) + ); + + await act(async () => { + try { + await result.mutateAsync(exceptionItem); + } catch (err) { + expect(err).toBe(error); + expect(fakeHttpServices.post).toHaveBeenCalledTimes(1); + expect(onErrorMock).toHaveBeenCalledTimes(1); + } + }); + }); +}); diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_create_artifact.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_create_artifact.tsx new file mode 100644 index 00000000000000..346c4f7b42a87e --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_create_artifact.tsx @@ -0,0 +1,32 @@ +/* + * 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 { + CreateExceptionListItemSchema, + ExceptionListItemSchema, +} from '@kbn/securitysolution-io-ts-list-types'; +import { HttpFetchError } from 'kibana/public'; +import { useMutation, UseMutationResult, UseQueryOptions } from 'react-query'; +import { ExceptionsListApiClient } from '../../services/exceptions_list/exceptions_list_api_client'; + +export function useCreateArtifact( + exceptionListApiClient: ExceptionsListApiClient, + customOptions: UseQueryOptions +): UseMutationResult< + ExceptionListItemSchema, + HttpFetchError, + CreateExceptionListItemSchema, + () => void +> { + return useMutation< + ExceptionListItemSchema, + HttpFetchError, + CreateExceptionListItemSchema, + () => void + >((exception: CreateExceptionListItemSchema) => { + return exceptionListApiClient.create(exception); + }, customOptions); +} diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_delete_artifact.test.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_delete_artifact.test.tsx new file mode 100644 index 00000000000000..8d31ce8f059bb5 --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_delete_artifact.test.tsx @@ -0,0 +1,93 @@ +/* + * 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 { useDeleteArtifact } from './use_delete_artifact'; +import { HttpSetup } from 'kibana/public'; +import { ExceptionsListApiClient } from '../../services/exceptions_list/exceptions_list_api_client'; +import { + getFakeListId, + getFakeListDefinition, + getFakeHttpService, + renderMutation, +} from './test_utils'; +import { getExceptionListItemSchemaMock } from '../../../../../lists/common/schemas/response/exception_list_item_schema.mock'; +import { act } from '@testing-library/react-hooks'; + +describe('Delete artifact hook', () => { + let result: ReturnType; + + let fakeHttpServices: jest.Mocked; + let instance: ExceptionsListApiClient; + + beforeEach(() => { + fakeHttpServices = getFakeHttpService(); + instance = new ExceptionsListApiClient( + fakeHttpServices, + getFakeListId(), + getFakeListDefinition() + ); + }); + + it('delete an artifact', async () => { + const exceptionItem = { ...getExceptionListItemSchemaMock(), list_id: getFakeListId() }; + + fakeHttpServices.delete.mockClear(); + fakeHttpServices.delete.mockResolvedValueOnce(exceptionItem); + const onSuccessMock: jest.Mock = jest.fn(); + + result = await renderMutation(() => + useDeleteArtifact(instance, { + retry: false, + onSuccess: onSuccessMock, + }) + ); + + expect(fakeHttpServices.delete).toHaveBeenCalledTimes(0); + + await act(async () => { + const res = await result.mutateAsync('fakeId'); + expect(res).toBe(exceptionItem); + expect(onSuccessMock).toHaveBeenCalledTimes(1); + expect(fakeHttpServices.delete).toHaveBeenCalledTimes(1); + expect(fakeHttpServices.delete).toHaveBeenCalledWith('/api/exception_lists/items', { + query: { + id: 'fakeId', + namespace_type: 'agnostic', + }, + }); + }); + }); + + it('throw when deleting an artifact', async () => { + const error = { + response: { + status: 500, + }, + }; + fakeHttpServices.delete.mockClear(); + fakeHttpServices.delete.mockRejectedValue(error); + + const onErrorMock: jest.Mock = jest.fn(); + + result = await renderMutation(() => + useDeleteArtifact(instance, { + onError: onErrorMock, + retry: false, + }) + ); + + await act(async () => { + try { + await result.mutateAsync('fakeId'); + } catch (err) { + expect(err).toBe(error); + expect(fakeHttpServices.delete).toHaveBeenCalledTimes(1); + expect(onErrorMock).toHaveBeenCalledTimes(1); + } + }); + }); +}); diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_delete_artifact.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_delete_artifact.tsx new file mode 100644 index 00000000000000..27820c73b740ae --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_delete_artifact.tsx @@ -0,0 +1,19 @@ +/* + * 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 { ExceptionListItemSchema } from '@kbn/securitysolution-io-ts-list-types'; +import { HttpFetchError } from 'kibana/public'; +import { useMutation, UseMutationResult, UseQueryOptions } from 'react-query'; +import { ExceptionsListApiClient } from '../../services/exceptions_list/exceptions_list_api_client'; + +export function useDeleteArtifact( + exceptionListApiClient: ExceptionsListApiClient, + customOptions: UseQueryOptions +): UseMutationResult void> { + return useMutation void>((id: string) => { + return exceptionListApiClient.delete(id); + }, customOptions); +} diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_get_artifact.test.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_get_artifact.test.tsx new file mode 100644 index 00000000000000..70f9620c6edc99 --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_get_artifact.test.tsx @@ -0,0 +1,83 @@ +/* + * 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 { useGetArtifact } from './use_get_artifact'; +import { HttpSetup } from 'kibana/public'; +import { ExceptionsListApiClient } from '../../services/exceptions_list/exceptions_list_api_client'; +import { + getFakeListId, + getFakeListDefinition, + getFakeHttpService, + renderQuery, +} from './test_utils'; +import { getExceptionListItemSchemaMock } from '../../../../../lists/common/schemas/response/exception_list_item_schema.mock'; + +describe('Get artifact hook', () => { + let result: ReturnType; + + let fakeHttpServices: jest.Mocked; + let instance: ExceptionsListApiClient; + + beforeEach(() => { + fakeHttpServices = getFakeHttpService(); + instance = new ExceptionsListApiClient( + fakeHttpServices, + getFakeListId(), + getFakeListDefinition() + ); + }); + + it('get an artifact', async () => { + const apiResponse = getExceptionListItemSchemaMock(); + fakeHttpServices.get.mockResolvedValueOnce(apiResponse); + + const onSuccessMock: jest.Mock = jest.fn(); + + result = await renderQuery( + () => + useGetArtifact(instance, 'fakeId', { + onSuccess: onSuccessMock, + retry: false, + }), + 'isSuccess' + ); + + expect(result.data).toBe(apiResponse); + expect(fakeHttpServices.get).toHaveBeenCalledTimes(1); + expect(fakeHttpServices.get).toHaveBeenCalledWith('/api/exception_lists/items', { + query: { + id: 'fakeId', + namespace_type: 'agnostic', + }, + }); + expect(onSuccessMock).toHaveBeenCalledTimes(1); + }); + + it('throw when getting an artifact', async () => { + const error = { + response: { + status: 500, + }, + }; + fakeHttpServices.get.mockRejectedValue(error); + + const onErrorMock: jest.Mock = jest.fn(); + + result = await renderQuery( + () => + useGetArtifact(instance, 'fakeId', { + onError: onErrorMock, + retry: false, + }), + 'isError' + ); + + expect(result.error).toBe(error); + expect(fakeHttpServices.get).toHaveBeenCalledTimes(1); + expect(onErrorMock).toHaveBeenCalledTimes(1); + }); +}); diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_get_artifact.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_get_artifact.tsx new file mode 100644 index 00000000000000..bc27ba285ccb38 --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_get_artifact.tsx @@ -0,0 +1,29 @@ +/* + * 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 { ExceptionListItemSchema } from '@kbn/securitysolution-io-ts-list-types'; +import { HttpFetchError } from 'kibana/public'; +import { QueryObserverResult, useQuery, UseQueryOptions } from 'react-query'; +import { ExceptionsListApiClient } from '../../services/exceptions_list/exceptions_list_api_client'; + +export function useGetArtifact( + exceptionListApiClient: ExceptionsListApiClient, + id: string, + customQueryOptions: UseQueryOptions +): QueryObserverResult { + return useQuery( + ['get', exceptionListApiClient, id], + () => { + return exceptionListApiClient.get(id); + }, + { + refetchIntervalInBackground: false, + refetchOnWindowFocus: false, + refetchOnMount: true, + ...customQueryOptions, + } + ); +} diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_list_artifact.test.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_list_artifact.test.tsx new file mode 100644 index 00000000000000..e7f389735056e3 --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_list_artifact.test.tsx @@ -0,0 +1,106 @@ +/* + * 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 { useListArtifact } from './use_list_artifact'; +import { HttpSetup } from 'kibana/public'; +import { ExceptionsListApiClient } from '../../services/exceptions_list/exceptions_list_api_client'; +import { getFoundExceptionListItemSchemaMock } from '../../../../../lists/common/schemas/response/found_exception_list_item_schema.mock'; +import { + getFakeListId, + getFakeListDefinition, + getFakeHttpService, + renderQuery, +} from './test_utils'; + +describe('List artifact hook', () => { + let result: ReturnType; + let searchableFields: string[]; + let options: + | { + filter: string; + page: number; + perPage: number; + policies: string[]; + } + | undefined; + + let fakeHttpServices: jest.Mocked; + let instance: ExceptionsListApiClient; + + beforeEach(() => { + fakeHttpServices = getFakeHttpService(); + instance = new ExceptionsListApiClient( + fakeHttpServices, + getFakeListId(), + getFakeListDefinition() + ); + options = undefined; + searchableFields = []; + }); + + it('get a list of exceptions', async () => { + const apiResponse = getFoundExceptionListItemSchemaMock(10); + fakeHttpServices.get.mockResolvedValueOnce(apiResponse); + options = { + filter: 'test', + page: 2, + perPage: 20, + policies: ['policy-1', 'all'], + }; + searchableFields = ['field-1', 'field-1.field-2', 'field-2']; + const onSuccessMock: jest.Mock = jest.fn(); + + result = await renderQuery( + () => + useListArtifact(instance, searchableFields, options, { + onSuccess: onSuccessMock, + retry: false, + }), + 'isSuccess' + ); + + expect(result.data).toBe(apiResponse); + expect(fakeHttpServices.get).toHaveBeenCalledTimes(1); + expect(fakeHttpServices.get).toHaveBeenCalledWith('/api/exception_lists/items/_find', { + query: { + filter: + '((exception-list-agnostic.attributes.tags:"policy:policy-1" OR exception-list-agnostic.attributes.tags:"policy:all")) AND ((exception-list-agnostic.attributes.field-1:(*test*) OR exception-list-agnostic.attributes.field-1.field-2:(*test*) OR exception-list-agnostic.attributes.field-2:(*test*)))', + list_id: ['FAKE_LIST_ID'], + namespace_type: ['agnostic'], + page: 2, + per_page: 20, + sort_field: undefined, + sort_order: undefined, + }, + }); + expect(onSuccessMock).toHaveBeenCalledTimes(1); + }); + + it('throw when getting a list of exceptions', async () => { + const error = { + response: { + status: 500, + }, + }; + fakeHttpServices.get.mockRejectedValue(error); + + const onErrorMock: jest.Mock = jest.fn(); + + result = await renderQuery( + () => + useListArtifact(instance, searchableFields, options, { + onError: onErrorMock, + retry: false, + }), + 'isError' + ); + + expect(result.error).toBe(error); + expect(fakeHttpServices.get).toHaveBeenCalledTimes(1); + expect(onErrorMock).toHaveBeenCalledTimes(1); + }); +}); diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_list_artifact.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_list_artifact.tsx new file mode 100644 index 00000000000000..9ac894649d6021 --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_list_artifact.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 { FoundExceptionListItemSchema } from '@kbn/securitysolution-io-ts-list-types'; +import { HttpFetchError } from 'kibana/public'; +import { QueryObserverResult, useQuery, UseQueryOptions } from 'react-query'; +import { MANAGEMENT_DEFAULT_PAGE, MANAGEMENT_DEFAULT_PAGE_SIZE } from '../../common/constants'; +import { parsePoliciesAndFilterToKql, parseQueryFilterToKQL } from '../../common/utils'; +import { ExceptionsListApiClient } from '../../services/exceptions_list/exceptions_list_api_client'; + +export function useListArtifact( + exceptionListApiClient: ExceptionsListApiClient, + searcheableFields: string[], + options: { + filter: string; + page: number; + perPage: number; + policies: string[]; + } = { + filter: '', + page: MANAGEMENT_DEFAULT_PAGE, + perPage: MANAGEMENT_DEFAULT_PAGE_SIZE, + policies: [], + }, + customQueryOptions: UseQueryOptions +): QueryObserverResult { + const { filter, page, perPage, policies } = options; + + return useQuery( + ['list', exceptionListApiClient, options], + () => { + return exceptionListApiClient.find({ + filter: parsePoliciesAndFilterToKql({ + policies, + kuery: parseQueryFilterToKQL(filter, searcheableFields), + }), + perPage, + page, + }); + }, + { + refetchIntervalInBackground: false, + refetchOnWindowFocus: false, + refetchOnMount: true, + keepPreviousData: true, + ...customQueryOptions, + } + ); +} diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_summary_artifact.test.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_summary_artifact.test.tsx new file mode 100644 index 00000000000000..e2e9fac383d122 --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_summary_artifact.test.tsx @@ -0,0 +1,98 @@ +/* + * 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 { useSummaryArtifact } from './use_summary_artifact'; +import { HttpSetup } from 'kibana/public'; +import { ExceptionsListApiClient } from '../../services/exceptions_list/exceptions_list_api_client'; +import { getFoundExceptionListItemSchemaMock } from '../../../../../lists/common/schemas/response/found_exception_list_item_schema.mock'; +import { + getFakeListId, + getFakeListDefinition, + getFakeHttpService, + renderQuery, +} from './test_utils'; + +describe('Summary artifact hook', () => { + let result: ReturnType; + let searchableFields: string[]; + let options: + | { + filter: string; + policies: string[]; + } + | undefined; + + let fakeHttpServices: jest.Mocked; + let instance: ExceptionsListApiClient; + + beforeEach(() => { + fakeHttpServices = getFakeHttpService(); + instance = new ExceptionsListApiClient( + fakeHttpServices, + getFakeListId(), + getFakeListDefinition() + ); + options = undefined; + searchableFields = []; + }); + + it('get a summary of list exceptions', async () => { + const apiResponse = getFoundExceptionListItemSchemaMock(10); + fakeHttpServices.get.mockResolvedValueOnce(apiResponse); + options = { + filter: 'test', + policies: ['policy-1', 'all'], + }; + searchableFields = ['field-1', 'field-1.field-2', 'field-2']; + const onSuccessMock: jest.Mock = jest.fn(); + + result = await renderQuery( + () => + useSummaryArtifact(instance, searchableFields, options, { + onSuccess: onSuccessMock, + retry: false, + }), + 'isSuccess' + ); + + expect(result.data).toBe(apiResponse); + expect(fakeHttpServices.get).toHaveBeenCalledTimes(1); + expect(fakeHttpServices.get).toHaveBeenCalledWith('/api/exception_lists/summary', { + query: { + filter: + '((exception-list-agnostic.attributes.tags:"policy:policy-1" OR exception-list-agnostic.attributes.tags:"policy:all")) AND ((exception-list-agnostic.attributes.field-1:(*test*) OR exception-list-agnostic.attributes.field-1.field-2:(*test*) OR exception-list-agnostic.attributes.field-2:(*test*)))', + list_id: 'FAKE_LIST_ID', + namespace_type: 'agnostic', + }, + }); + expect(onSuccessMock).toHaveBeenCalledTimes(1); + }); + + it('throw when summary a list of exceptions', async () => { + const error = { + response: { + status: 500, + }, + }; + fakeHttpServices.get.mockRejectedValue(error); + + const onErrorMock: jest.Mock = jest.fn(); + + result = await renderQuery( + () => + useSummaryArtifact(instance, searchableFields, options, { + onError: onErrorMock, + retry: false, + }), + 'isError' + ); + + expect(result.error).toBe(error); + expect(fakeHttpServices.get).toHaveBeenCalledTimes(1); + expect(onErrorMock).toHaveBeenCalledTimes(1); + }); +}); diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_summary_artifact.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_summary_artifact.tsx new file mode 100644 index 00000000000000..e068ab650d3912 --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_summary_artifact.tsx @@ -0,0 +1,45 @@ +/* + * 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 { ExceptionListSummarySchema } from '@kbn/securitysolution-io-ts-list-types'; +import { HttpFetchError } from 'kibana/public'; +import { QueryObserverResult, useQuery, UseQueryOptions } from 'react-query'; +import { parsePoliciesAndFilterToKql, parseQueryFilterToKQL } from '../../common/utils'; +import { ExceptionsListApiClient } from '../../services/exceptions_list/exceptions_list_api_client'; + +export function useSummaryArtifact( + exceptionListApiClient: ExceptionsListApiClient, + searcheableFields: string[], + options: { + filter: string; + policies: string[]; + } = { + filter: '', + policies: [], + }, + customQueryOptions: UseQueryOptions +): QueryObserverResult { + const { filter, policies } = options; + + return useQuery( + ['summary', exceptionListApiClient, options], + () => { + return exceptionListApiClient.summary( + parsePoliciesAndFilterToKql({ + policies, + kuery: parseQueryFilterToKQL(filter, searcheableFields), + }) + ); + }, + { + refetchIntervalInBackground: false, + refetchOnWindowFocus: false, + refetchOnMount: true, + keepPreviousData: true, + ...customQueryOptions, + } + ); +} diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_update_artifact.test.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_update_artifact.test.tsx new file mode 100644 index 00000000000000..c850648e3160a6 --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_update_artifact.test.tsx @@ -0,0 +1,91 @@ +/* + * 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 { useUpdateArtifact } from './use_update_artifact'; +import { HttpSetup } from 'kibana/public'; +import { ExceptionsListApiClient } from '../../services/exceptions_list/exceptions_list_api_client'; +import { + getFakeListId, + getFakeListDefinition, + getFakeHttpService, + renderMutation, +} from './test_utils'; +import { getExceptionListItemSchemaMock } from '../../../../../lists/common/schemas/response/exception_list_item_schema.mock'; +import { act } from '@testing-library/react-hooks'; + +describe('Update artifact hook', () => { + let result: ReturnType; + + let fakeHttpServices: jest.Mocked; + let instance: ExceptionsListApiClient; + + beforeEach(() => { + fakeHttpServices = getFakeHttpService(); + instance = new ExceptionsListApiClient( + fakeHttpServices, + getFakeListId(), + getFakeListDefinition() + ); + }); + + it('update an artifact', async () => { + const exceptionItem = { ...getExceptionListItemSchemaMock(), list_id: getFakeListId() }; + + fakeHttpServices.put.mockClear(); + fakeHttpServices.put.mockResolvedValueOnce(exceptionItem); + const onSuccessMock: jest.Mock = jest.fn(); + + result = await renderMutation(() => + useUpdateArtifact(instance, { + retry: false, + onSuccess: onSuccessMock, + }) + ); + + expect(fakeHttpServices.put).toHaveBeenCalledTimes(0); + + await act(async () => { + const res = await result.mutateAsync(exceptionItem); + expect(res).toBe(exceptionItem); + expect(onSuccessMock).toHaveBeenCalledTimes(1); + expect(fakeHttpServices.put).toHaveBeenCalledTimes(1); + expect(fakeHttpServices.put).toHaveBeenCalledWith('/api/exception_lists/items', { + body: JSON.stringify(ExceptionsListApiClient.cleanExceptionsBeforeUpdate(exceptionItem)), + }); + }); + }); + + it('throw when updating an artifact', async () => { + const exceptionItem = { ...getExceptionListItemSchemaMock(), list_id: getFakeListId() }; + const error = { + response: { + status: 500, + }, + }; + fakeHttpServices.put.mockClear(); + fakeHttpServices.put.mockRejectedValue(error); + + const onErrorMock: jest.Mock = jest.fn(); + + result = await renderMutation(() => + useUpdateArtifact(instance, { + onError: onErrorMock, + retry: false, + }) + ); + + await act(async () => { + try { + await result.mutateAsync(exceptionItem); + } catch (err) { + expect(err).toBe(error); + expect(fakeHttpServices.put).toHaveBeenCalledTimes(1); + expect(onErrorMock).toHaveBeenCalledTimes(1); + } + }); + }); +}); diff --git a/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_update_artifact.tsx b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_update_artifact.tsx new file mode 100644 index 00000000000000..a972096bb600ce --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/hooks/artifacts/use_update_artifact.tsx @@ -0,0 +1,32 @@ +/* + * 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 { + UpdateExceptionListItemSchema, + ExceptionListItemSchema, +} from '@kbn/securitysolution-io-ts-list-types'; +import { HttpFetchError } from 'kibana/public'; +import { useMutation, UseMutationResult, UseQueryOptions } from 'react-query'; +import { ExceptionsListApiClient } from '../../services/exceptions_list/exceptions_list_api_client'; + +export function useUpdateArtifact( + exceptionListApiClient: ExceptionsListApiClient, + customQueryOptions: UseQueryOptions +): UseMutationResult< + ExceptionListItemSchema, + HttpFetchError, + UpdateExceptionListItemSchema, + () => void +> { + return useMutation< + ExceptionListItemSchema, + HttpFetchError, + UpdateExceptionListItemSchema, + () => void + >((exception: UpdateExceptionListItemSchema) => { + return exceptionListApiClient.update(exception); + }, customQueryOptions); +} diff --git a/x-pack/plugins/security_solution/public/management/services/exceptions_list/exceptions_list_api_client.test.ts b/x-pack/plugins/security_solution/public/management/services/exceptions_list/exceptions_list_api_client.test.ts index c1e3a2f76064fa..21a50079a1f1fe 100644 --- a/x-pack/plugins/security_solution/public/management/services/exceptions_list/exceptions_list_api_client.test.ts +++ b/x-pack/plugins/security_solution/public/management/services/exceptions_list/exceptions_list_api_client.test.ts @@ -98,6 +98,41 @@ describe('Exceptions List Api Client', () => { expect(exceptionsListApiClientInstanceV2).toBeDefined(); expect(exceptionsListApiClientInstanceV3).toBeDefined(); }); + + it('Creating an instance fails because the create list call throws', async () => { + try { + fakeHttpServices.post.mockRejectedValueOnce({ + response: { + status: 500, + }, + }); + const newFakeListId = 'fakeListIdV3'; + const failedInstance = new ExceptionsListApiClient( + fakeHttpServices, + newFakeListId, + getFakeListDefinition() + ); + await failedInstance.find(getQueryParams()); + } catch (err) { + expect(err.response.status).toBe(500); + } + }); + + it('Creating an instance when list already exists does not throw', async () => { + fakeHttpServices.post.mockRejectedValueOnce({ + response: { + status: 409, + }, + }); + const newFakeListId = 'fakeListIdV4'; + const notFailedInstance = new ExceptionsListApiClient( + fakeHttpServices, + newFakeListId, + getFakeListDefinition() + ); + await notFailedInstance.find(getQueryParams()); + expect(notFailedInstance).toBeDefined(); + }); }); describe('Wen using public methods', () => { @@ -203,6 +238,7 @@ describe('Exceptions List Api Client', () => { expect(fakeHttpServices.get).toHaveBeenCalledWith(`${EXCEPTION_LIST_URL}/summary`, { query: { filter: fakeQklFilter, + list_id: getFakeListId(), namespace_type: 'agnostic', }, }); diff --git a/x-pack/plugins/security_solution/public/management/services/exceptions_list/exceptions_list_api_client.ts b/x-pack/plugins/security_solution/public/management/services/exceptions_list/exceptions_list_api_client.ts index 226d70ca307974..6edf55e569d355 100644 --- a/x-pack/plugins/security_solution/public/management/services/exceptions_list/exceptions_list_api_client.ts +++ b/x-pack/plugins/security_solution/public/management/services/exceptions_list/exceptions_list_api_client.ts @@ -46,28 +46,28 @@ export class ExceptionsListApiClient { } ExceptionsListApiClient.wasListCreated.set( this.listId, - new Promise(async (resolve, reject) => { - try { - await this.http.post(EXCEPTION_LIST_URL, { - body: JSON.stringify({ ...this.listDefinition, list_id: this.listId }), - }); - - resolve(); - } catch (err) { - // Ignore 409 errors. List already created - if (err.response?.status !== 409) { - reject(err); + new Promise((resolve, reject) => { + const asyncFunction = async () => { + try { + await this.http.post(EXCEPTION_LIST_URL, { + body: JSON.stringify({ ...this.listDefinition, list_id: this.listId }), + }); + + resolve(); + } catch (err) { + // Ignore 409 errors. List already created + if (err.response?.status !== 409) { + ExceptionsListApiClient.wasListCreated.delete(this.listId); + reject(err); + } + + resolve(); } - - resolve(); - } + }; + asyncFunction(); }) ); - ExceptionsListApiClient.wasListCreated.get(this.listId)?.catch(() => { - ExceptionsListApiClient.wasListCreated.delete(this.listId); - }); - return ExceptionsListApiClient.wasListCreated.get(this.listId); } @@ -115,14 +115,13 @@ export class ExceptionsListApiClient { const exceptionToUpdateCleaned = { ...exception }; // Clean unnecessary fields for update action [ - 'created_at', - 'created_by', 'created_at', 'created_by', 'list_id', 'tie_breaker_id', 'updated_at', 'updated_by', + 'meta', ].forEach((field) => { delete exceptionToUpdateCleaned[field as keyof UpdateExceptionListItemSchema]; }); @@ -187,6 +186,7 @@ export class ExceptionsListApiClient { async create(exception: CreateExceptionListItemSchema): Promise { await this.ensureListExists; this.checkIfIsUsingTheRightInstance(exception.list_id); + delete exception.meta; return this.http.post(EXCEPTION_LIST_ITEM_URL, { body: JSON.stringify(exception), }); @@ -226,6 +226,7 @@ export class ExceptionsListApiClient { return this.http.get(`${EXCEPTION_LIST_URL}/summary`, { query: { filter, + list_id: this.listId, namespace_type: 'agnostic', }, }); diff --git a/x-pack/plugins/security_solution/public/timelines/components/graph_overlay/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/graph_overlay/index.tsx index b7b3aa0b33bcb1..64475147edc9d5 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/graph_overlay/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/graph_overlay/index.tsx @@ -14,13 +14,16 @@ import { EuiToolTip, EuiLoadingSpinner, } from '@elastic/eui'; -import React, { useCallback, useMemo } from 'react'; +import React, { useCallback, useMemo, useEffect } from 'react'; import { useDispatch } from 'react-redux'; import styled from 'styled-components'; import { FULL_SCREEN } from '../timeline/body/column_headers/translations'; import { EXIT_FULL_SCREEN } from '../../../common/components/exit_full_screen/translations'; -import { FULL_SCREEN_TOGGLED_CLASS_NAME } from '../../../../common/constants'; +import { + FULL_SCREEN_TOGGLED_CLASS_NAME, + SCROLLING_DISABLED_CLASS_NAME, +} from '../../../../common/constants'; import { useGlobalFullScreen, useTimelineFullScreen, @@ -31,6 +34,7 @@ import { timelineSelectors } from '../../store/timeline'; import { timelineDefaults } from '../../store/timeline/defaults'; import { isFullScreen } from '../timeline/body/column_headers'; import { updateTimelineGraphEventId } from '../../../timelines/store/timeline/actions'; +import { inputsActions } from '../../../common/store/actions'; import { Resolver } from '../../../resolver/view'; import { isLoadingSelector, @@ -160,14 +164,34 @@ const GraphOverlayComponent: React.FC = ({ timelineId }) => { const isInTimeline = timelineId === TimelineId.active; const onCloseOverlay = useCallback(() => { - if (timelineId === TimelineId.active) { - setTimelineFullScreen(false); + const isDataGridFullScreen = document.querySelector('.euiDataGrid--fullScreen') !== null; + // Since EUI changes these values directly as a side effect, need to add them back on close. + if (isDataGridFullScreen) { + if (timelineId === TimelineId.active) { + document.body.classList.add('euiDataGrid__restrictBody'); + } else { + document.body.classList.add(SCROLLING_DISABLED_CLASS_NAME, 'euiDataGrid__restrictBody'); + } } else { - setGlobalFullScreen(false); + if (timelineId === TimelineId.active) { + setTimelineFullScreen(false); + } else { + setGlobalFullScreen(false); + } } dispatch(updateTimelineGraphEventId({ id: timelineId, graphEventId: '' })); }, [dispatch, timelineId, setTimelineFullScreen, setGlobalFullScreen]); + useEffect(() => { + return () => { + if (timelineId === TimelineId.active) { + dispatch(inputsActions.setFullScreen({ id: 'timeline', fullScreen: false })); + } else { + dispatch(inputsActions.setFullScreen({ id: 'global', fullScreen: false })); + } + }; + }, [dispatch, timelineId]); + const toggleFullScreen = useCallback(() => { if (timelineId === TimelineId.active) { setTimelineFullScreen(!timelineFullScreen); diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/index.test.tsx index db927e67ccc67e..66a140987475c5 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/index.test.tsx @@ -24,6 +24,7 @@ import { useMountAppended } from '../../../../common/utils/use_mount_appended'; import { timelineActions } from '../../../store/timeline'; import { ColumnHeaderOptions, TimelineTabs } from '../../../../../common/types/timeline'; import { defaultRowRenderers } from './renderers'; +import { mockCasesContext } from '../../../../common/mock/mock_cases_context'; jest.mock('../../../../common/lib/kibana/hooks'); jest.mock('../../../../common/hooks/use_app_toasts'); @@ -40,6 +41,9 @@ jest.mock('../../../../common/lib/kibana', () => { siem: { crud_alerts: true, read_alerts: true }, }, }, + cases: { + getCasesContext: () => mockCasesContext, + }, data: { search: jest.fn(), query: jest.fn(), diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/index.tsx index 7257d4246f6fef..a9d0028f6d9db5 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/index.tsx @@ -11,6 +11,8 @@ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react' import { connect, ConnectedProps, useDispatch } from 'react-redux'; import deepEqual from 'fast-deep-equal'; +import { APP_ID } from '../../../../../common/constants'; +import { useGetUserCasesPermissions, useKibana } from '../../../../common/lib/kibana'; import { FIRST_ARIA_INDEX, ARIA_COLINDEX_ATTRIBUTE, @@ -225,60 +227,65 @@ export const BodyComponent = React.memo( }, [columnHeaders.length, containerRef, data.length] ); + const kibana = useKibana(); + const casesPermissions = useGetUserCasesPermissions(); + const CasesContext = kibana.services.cases.getCasesContext(); return ( <> - - + + + - - + + + diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/eql_tab_content/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/eql_tab_content/index.test.tsx index b4bd3aa1f0ae23..43622b7e453652 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/eql_tab_content/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/eql_tab_content/index.test.tsx @@ -23,6 +23,7 @@ import { useTimelineEventsDetails } from '../../../containers/details/index'; import { useSourcererDataView } from '../../../../common/containers/sourcerer'; import { mockSourcererScope } from '../../../../common/containers/sourcerer/mocks'; import { useDraggableKeyboardWrapper as mockUseDraggableKeyboardWrapper } from '../../../../../../timelines/public/components'; +import { mockCasesContext } from '../../../../common/mock/mock_cases_context'; jest.mock('../../../containers/index', () => ({ useTimelineEvents: jest.fn(), @@ -56,6 +57,9 @@ jest.mock('../../../../common/lib/kibana', () => { navigateToApp: jest.fn(), getUrlForApp: jest.fn(), }, + cases: { + getCasesContext: () => mockCasesContext, + }, docLinks: { links: { query: { eql: 'url-eql_doc' } } }, uiSettings: { get: jest.fn(), diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/pinned_tab_content/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/pinned_tab_content/index.test.tsx index 8707bb33da08cd..ffe50f935b9fec 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/pinned_tab_content/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/pinned_tab_content/index.test.tsx @@ -24,6 +24,7 @@ import { mockSourcererScope } from '../../../../common/containers/sourcerer/mock import { PinnedTabContentComponent, Props as PinnedTabContentComponentProps } from '.'; import { Direction } from '../../../../../common/search_strategy'; import { useDraggableKeyboardWrapper as mockUseDraggableKeyboardWrapper } from '../../../../../../timelines/public/components'; +import { mockCasesContext } from '../../../../common/mock/mock_cases_context'; jest.mock('../../../containers/index', () => ({ useTimelineEvents: jest.fn(), @@ -51,6 +52,9 @@ jest.mock('../../../../common/lib/kibana', () => { navigateToApp: jest.fn(), getUrlForApp: jest.fn(), }, + cases: { + getCasesContext: () => mockCasesContext, + }, uiSettings: { get: jest.fn(), }, diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/query_tab_content/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/query_tab_content/index.test.tsx index 580f5cf9cc2ae7..019bedacbffe88 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/query_tab_content/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/query_tab_content/index.test.tsx @@ -26,6 +26,7 @@ import { useSourcererDataView } from '../../../../common/containers/sourcerer'; import { mockSourcererScope } from '../../../../common/containers/sourcerer/mocks'; import { Direction } from '../../../../../common/search_strategy'; import * as helpers from '../helpers'; +import { mockCasesContext } from '../../../../common/mock/mock_cases_context'; jest.mock('../../../containers/index', () => ({ useTimelineEvents: jest.fn(), @@ -59,6 +60,9 @@ jest.mock('../../../../common/lib/kibana', () => { navigateToApp: jest.fn(), getUrlForApp: jest.fn(), }, + cases: { + getCasesContext: () => mockCasesContext, + }, uiSettings: { get: jest.fn(), }, diff --git a/x-pack/plugins/security_solution/scripts/endpoint/endpoint_policies/index.ts b/x-pack/plugins/security_solution/scripts/endpoint/endpoint_policies/index.ts new file mode 100644 index 00000000000000..0a04ca761b50ba --- /dev/null +++ b/x-pack/plugins/security_solution/scripts/endpoint/endpoint_policies/index.ts @@ -0,0 +1,64 @@ +/* + * 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 { run, createFailError } from '@kbn/dev-utils'; +import { KbnClient } from '@kbn/test'; +import { indexFleetEndpointPolicy } from '../../../common/endpoint/data_loaders/index_fleet_endpoint_policy'; +import { setupFleetForEndpoint } from '../../../common/endpoint/data_loaders/setup_fleet_for_endpoint'; +import { BaseDataGenerator } from '../../../common/endpoint/data_generators/base_data_generator'; + +class EndpointPolicyGenerator extends BaseDataGenerator { + public policyName(preFix: string | number = '') { + return `${preFix}${preFix ? ' ' : ''}${this.randomString(5)} Endpoint Policy`; + } +} + +const generate = new EndpointPolicyGenerator(); + +export const cli = () => { + run( + async ({ log, flags: { kibana, count } }) => { + const kbn = new KbnClient({ log, url: kibana as string }); + const max = Number(count); + let created = 0; + + log.info(`Creating ${count} endpoint policies...`); + + try { + const { endpointPackage } = await setupFleetForEndpoint(kbn); + + while (created < max) { + created++; + await indexFleetEndpointPolicy( + kbn, + generate.policyName(created), + endpointPackage.version + ); + } + } catch (error) { + log.error(error); + throw createFailError(error.message); + } + + log.success(`Done!`); + }, + { + description: 'Load Endpoint Policies into fleet (also creates associated Agent Policies)', + flags: { + string: ['kibana'], + default: { + count: 15, + kibana: 'http://elastic:changeme@localhost:5601', + }, + help: ` + --count Number of Endpoint Policies to create. Default: 15 + --kibana The URL to kibana including credentials. Default: http://elastic:changeme@localhost:5601 + `, + }, + } + ); +}; diff --git a/x-pack/plugins/fleet/public/types/start_plugins.ts b/x-pack/plugins/security_solution/scripts/endpoint/load_endpoint_policies.js similarity index 66% rename from x-pack/plugins/fleet/public/types/start_plugins.ts rename to x-pack/plugins/security_solution/scripts/endpoint/load_endpoint_policies.js index 8fcad821f2ccbd..b982fa4eaeaa34 100644 --- a/x-pack/plugins/fleet/public/types/start_plugins.ts +++ b/x-pack/plugins/security_solution/scripts/endpoint/load_endpoint_policies.js @@ -5,8 +5,5 @@ * 2.0. */ -import type { SpacesPluginStart } from '../../../spaces/public'; - -export interface StartPlugins { - spaces?: SpacesPluginStart; -} +require('../../../../../src/setup_node_env'); +require('./endpoint_policies').cli(); diff --git a/x-pack/plugins/timelines/public/components/actions/timeline/cases/add_to_new_case_button.tsx b/x-pack/plugins/timelines/public/components/actions/timeline/cases/add_to_new_case_button.tsx index a83cca49c1fd7a..18ddda0791c578 100644 --- a/x-pack/plugins/timelines/public/components/actions/timeline/cases/add_to_new_case_button.tsx +++ b/x-pack/plugins/timelines/public/components/actions/timeline/cases/add_to_new_case_button.tsx @@ -8,6 +8,8 @@ import React, { memo } from 'react'; import { EuiContextMenuItem } from '@elastic/eui'; +import { useKibana } from '../../../../../../../../src/plugins/kibana_react/public'; +import { TimelinesStartServices } from '../../../../types'; import { useAddToCase } from '../../../../hooks/use_add_to_case'; import { AddToCaseActionProps } from './add_to_case_action'; import * as i18n from './translations'; @@ -25,7 +27,7 @@ const AddToNewCaseButtonComponent: React.FC = ({ owner, onClose, }) => { - const { addNewCaseClick, isDisabled, userCanCrud } = useAddToCase({ + const { isDisabled, userCanCrud, caseAttachments, onCaseSuccess, onCaseCreated } = useAddToCase({ event, useInsertTimeline, casePermissions, @@ -33,6 +35,20 @@ const AddToNewCaseButtonComponent: React.FC = ({ owner, onClose, }); + const { cases } = useKibana().services; + const createCaseFlyout = cases.hooks.getUseCasesAddToNewCaseFlyout({ + attachments: caseAttachments, + afterCaseCreated: onCaseCreated, + onSuccess: onCaseSuccess, + }); + + const handleClick = () => { + // close the popover + if (onClose) { + onClose(); + } + createCaseFlyout.open(); + }; return ( <> @@ -40,7 +56,7 @@ const AddToNewCaseButtonComponent: React.FC = ({ = ({ )} - {!graphEventId && graphOverlay == null && ( - <> - {!hasAlerts && !loading && } - {hasAlerts && ( - - - - - - )} - - )} + <> + {!hasAlerts && !loading && } + {hasAlerts && ( + + + + + + )} + )} diff --git a/x-pack/plugins/timelines/public/hooks/use_add_to_case.ts b/x-pack/plugins/timelines/public/hooks/use_add_to_case.ts index 0e45a9bdb984dc..63a7d07831c4b7 100644 --- a/x-pack/plugins/timelines/public/hooks/use_add_to_case.ts +++ b/x-pack/plugins/timelines/public/hooks/use_add_to_case.ts @@ -9,14 +9,14 @@ import { useState, useCallback, useMemo, SyntheticEvent } from 'react'; import { useDispatch } from 'react-redux'; import { ALERT_RULE_NAME, ALERT_RULE_UUID } from '@kbn/rule-data-utils'; import { useKibana } from '../../../../../src/plugins/kibana_react/public'; -import { Case } from '../../../cases/common'; +import { Case, CommentType } from '../../../cases/common'; import { TimelinesStartServices } from '../types'; import { TimelineItem } from '../../common/search_strategy'; import { tGridActions } from '../store/t_grid'; import { useDeepEqualSelector } from './use_selector'; import { createUpdateSuccessToaster } from '../components/actions/timeline/cases/helpers'; import { AddToCaseActionProps } from '../components/actions'; -import { CasesDeepLinkId, generateCaseViewPath } from '../../../cases/public'; +import { CaseAttachments, CasesDeepLinkId, generateCaseViewPath } from '../../../cases/public'; interface UseAddToCase { addNewCaseClick: () => void; @@ -32,6 +32,7 @@ interface UseAddToCase { closePopover: () => void; isPopoverOpen: boolean; isCreateCaseFlyoutOpen: boolean; + caseAttachments?: CaseAttachments; } export const useAddToCase = ({ @@ -39,6 +40,7 @@ export const useAddToCase = ({ casePermissions, appId, onClose, + owner, }: AddToCaseActionProps): UseAddToCase => { const eventId = event?.ecs._id ?? ''; const dispatch = useDispatch(); @@ -109,6 +111,23 @@ export const useAddToCase = ({ }, [onViewCaseClick, toasts, dispatch, eventId] ); + const caseAttachments: CaseAttachments = useMemo(() => { + const eventIndex = event?.ecs._index ?? ''; + const { ruleId, ruleName } = normalizedEventFields(event); + const attachments = [ + { + alertId: eventId, + index: eventIndex ?? '', + rule: { + id: ruleId, + name: ruleName, + }, + owner, + type: CommentType.alert as const, + }, + ]; + return attachments; + }, [event, eventId, owner]); const onCaseClicked = useCallback( (theCase?: Case) => { @@ -140,6 +159,7 @@ export const useAddToCase = ({ } }, [onClose, closePopover, dispatch, eventId]); return { + caseAttachments, addNewCaseClick, addExistingCaseClick, onCaseClicked, diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index c62e8cfc237dee..437980e71b488e 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -111,6 +111,8 @@ "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 ", "xpack.lens.indexPattern.overall_sum.documentation.markdown": "\n現在のグラフの系列のすべてのデータポイントのメトリックの合計を計算します。系列は日付ヒストグラムまたは間隔関数を使用してディメンションによって定義されます。\n上位の値やフィルターなどのデータを分解する他のディメンションは別の系列として処理されます。\n\n日付ヒストグラムまたは間隔関数が現在のグラフで使用されている場合、使用されている関数に関係なく、「overall_sum」はすべてのディメンションで合計値を計算します。\n\n例:合計の割合\n`sum(bytes) / overall_sum(sum(bytes))`\n ", "xpack.lens.indexPattern.percentile.documentation.markdown": "\nフィールドの値の指定された百分位数を返します。これはドキュメントに出現する値のnパーセントが小さい値です。\n\n例:値の95 %より大きいバイト数を取得:\n`percentile(bytes, percentile=95)`\n ", + "xpack.lens.advancedSettings.useFieldExistenceSampling.description": "有効な場合、インデックスマッピングを使用するのではなく、ドキュメントサンプリングを使用して、Lensフィールドリストのフィールドの存在(使用可能または空)を決定します。", + "xpack.lens.advancedSettings.useFieldExistenceSampling.title": "フィールド存在サンプリングを使用", "xpack.lens.app.addToLibrary": "ライブラリに保存", "xpack.lens.app.cancel": "キャンセル", "xpack.lens.app.cancelButtonAriaLabel": "変更を保存せずに最後に使用していたアプリに戻る", @@ -136,9 +138,12 @@ "xpack.lens.breadcrumbsByValue": "ビジュアライゼーションを編集", "xpack.lens.breadcrumbsCreate": "作成", "xpack.lens.breadcrumbsTitle": "Visualizeライブラリ", + "xpack.lens.chart.labelVisibility.auto": "自動", + "xpack.lens.chart.labelVisibility.custom": "カスタム", + "xpack.lens.chart.labelVisibility.none": "なし", "xpack.lens.chartSwitch.dataLossDescription": "ビジュアライゼーションタイプを選択すると、互換性のない構成オプションと複数のレイヤーが削除されます(存在する場合)。", "xpack.lens.chartSwitch.dataLossLabel": "警告", - "xpack.lens.chartSwitch.experimentalLabel": "実験的", + "xpack.lens.chartSwitch.experimentalLabel": "テクニカルプレビュー", "xpack.lens.chartSwitch.noResults": "{term}の結果が見つかりませんでした。", "xpack.lens.chartTitle.unsaved": "保存されていないビジュアライゼーション", "xpack.lens.configPanel.addLayerButton": "レイヤーを追加", @@ -154,6 +159,10 @@ "xpack.lens.configure.invalidConfigTooltip": "無効な構成です。", "xpack.lens.configure.invalidConfigTooltipClick": "詳細はクリックしてください。", "xpack.lens.configure.invalidReferenceLineDimension": "この基準線は存在しない軸に割り当てられています。この基準線を別の使用可能な軸に移動するか、削除することができます。", + "xpack.lens.configure.suggestedValuee": "候補の値:{value}", + "xpack.lens.confirmModal.cancelButtonLabel": "キャンセル", + "xpack.lens.confirmModal.saveDuplicateButtonLabel": "{name} を保存", + "xpack.lens.confirmModal.saveDuplicateConfirmationMessage": "「{title}」というタイトルの {name} がすでに存在します。保存しますか?", "xpack.lens.customBucketContainer.dragToReorder": "ドラッグして並べ替え", "xpack.lens.dataPanelWrapper.switchDatasource": "データソースに切り替える", "xpack.lens.datatable.addLayer": "ビジュアライゼーションレイヤーを追加", @@ -163,7 +172,7 @@ "xpack.lens.datatable.breakdownRows.description": "フィールドで表の行を分割します。これは高カーディナリティ内訳にお勧めです。", "xpack.lens.datatable.conjunctionSign": " & ", "xpack.lens.datatable.expressionHelpLabel": "データベースレンダー", - "xpack.lens.datatable.groupLabel": "表形式の値と単一の値", + "xpack.lens.datatable.groupLabel": "タブ", "xpack.lens.datatable.label": "表", "xpack.lens.datatable.metrics": "メトリック", "xpack.lens.datatable.suggestionLabel": "表として", @@ -186,6 +195,9 @@ "xpack.lens.dragDrop.altOption": "Alt/Option", "xpack.lens.dragDrop.announce.cancelled": "移動がキャンセルされました。{label}は初期位置に戻りました", "xpack.lens.dragDrop.announce.cancelledItem": "移動がキャンセルされました。{label}は位置{position}の{groupLabel}グループに戻りました", + "xpack.lens.dragDrop.announce.combine.short": " Ctrlを押しながら結合します", + "xpack.lens.dragDrop.announce.dropped.combineCompatible": "位置{dropPosition}で{label}を{dropGroupLabel}に移動し、位置{position}で{dropLabel}を {groupLabel}グループに結合しました", + "xpack.lens.dragDrop.announce.dropped.combineIncompatible": "位置{position}で{label}を{groupLabel}の{nextLabel}に変換し、位置{dropPosition}で{dropGroupLabel}グループの{dropLabel}と結合しました", "xpack.lens.dragDrop.announce.dropped.duplicated": "位置{position}の{groupLabel}グループで{label}を複製しました", "xpack.lens.dragDrop.announce.dropped.duplicateIncompatible": "{label}のコピーを{nextLabel}に変換し、位置{position}の{groupLabel}グループに追加しました", "xpack.lens.dragDrop.announce.dropped.moveCompatible": "位置{position}の{groupLabel}グループに{label}を移動しました", @@ -198,9 +210,12 @@ "xpack.lens.dragDrop.announce.droppedDefault": "位置{position}の{dropGroupLabel}グループで{label}を追加しました", "xpack.lens.dragDrop.announce.droppedNoPosition": "{label}を{dropLabel}に追加しました", "xpack.lens.dragDrop.announce.duplicate.short": " AltキーまたはOptionを押し続けると複製します。", + "xpack.lens.dragDrop.announce.duplicated.combine": "位置{position}の{groupLabel}で{dropLabel}を{label}と結合しました", "xpack.lens.dragDrop.announce.duplicated.replace": "位置{position}の{groupLabel}で{dropLabel}を{label}に置き換えました", "xpack.lens.dragDrop.announce.duplicated.replaceDuplicateCompatible": "位置{position}の{groupLabel}で{dropLabel}を{label}のコピーに置き換えました", "xpack.lens.dragDrop.announce.lifted": "{label}を上げました", + "xpack.lens.dragDrop.announce.selectedTarget.combineCompatible": "位置{position}の{groupLabel}の{label}を、位置{dropPosition}の{dropGroupLabel}グループの{dropLabel}と結合します。Ctrlキーを押しながらスペースバーまたはEnterキーを押すと、結合します", + "xpack.lens.dragDrop.announce.selectedTarget.combineIncompatible": "位置{position}で{label}を{groupLabel}の{nextLabel}に変換し、位置{dropPosition}で{dropGroupLabel}グループの{dropLabel}と結合します。Ctrlキーを押しながらスペースバーまたはEnterキーを押すと、結合します", "xpack.lens.dragDrop.announce.selectedTarget.default": "位置{position}の{dropGroupLabel}グループに{label}を追加しました。スペースまたはEnterを押して追加します", "xpack.lens.dragDrop.announce.selectedTarget.defaultNoPosition": "{label}を{dropLabel}に追加します。スペースまたはEnterを押して追加します", "xpack.lens.dragDrop.announce.selectedTarget.duplicated": "位置{position}の{dropGroupLabel}グループに{label}を複製しました。AltまたはOptionを押しながらスペースバーまたはEnterキーを押すと、複製します", @@ -219,19 +234,40 @@ "xpack.lens.dragDrop.announce.selectedTarget.swapCompatible": "位置{position}の{groupLabel}の{label}を、位置{dropPosition}の{dropGroupLabel}グループの{dropLabel}と入れ替えます。Shiftキーを押しながらスペースバーまたはEnterキーを押すと、入れ替えます", "xpack.lens.dragDrop.announce.selectedTarget.swapIncompatible": "位置{position}で{label}を{groupLabel}の{nextLabel}に変換し、位置{dropPosition}で{dropGroupLabel}グループの{dropLabel}と入れ替えます。Shiftキーを押しながらスペースバーまたはEnterキーを押すと、入れ替えます", "xpack.lens.dragDrop.announce.swap.short": " Shiftキーを押すと入れ替えます。", + "xpack.lens.dragDrop.combine": "結合", + "xpack.lens.dragDrop.control": "Control", "xpack.lens.dragDrop.duplicate": "複製", "xpack.lens.dragDrop.keyboardInstructions": "スペースまたはEnterを押してドラッグを開始します。ドラッグするときには、左右の矢印キーを使用して、ドロップ対象間を移動します。もう一度スペースまたはEnterを押すと終了します。", "xpack.lens.dragDrop.keyboardInstructionsReorder": "スペースまたはEnterを押してドラッグを開始します。ドラッグするときには、上下矢印キーを使用すると、グループの項目を並べ替えます。左右矢印キーを使用すると、グループの外側でドロップ対象を選択します。もう一度スペースまたはEnterを押すと終了します。", "xpack.lens.dragDrop.shift": "Shift", "xpack.lens.dragDrop.swap": "入れ替える", + "xpack.lens.dynamicColoring.customPalette.addColor": "色を追加", + "xpack.lens.dynamicColoring.customPalette.addColorAriaLabel": "色を追加", "xpack.lens.dynamicColoring.customPalette.deleteButtonAriaLabel": "削除", + "xpack.lens.dynamicColoring.customPalette.disallowedEditMinMaxValues": "現在の構成にはカスタム値を設定できません", + "xpack.lens.dynamicColoring.customPalette.distributeValues": "値を分散", + "xpack.lens.dynamicColoring.customPalette.distributeValuesAriaLabel": "値を分散", + "xpack.lens.dynamicColoring.customPalette.invalidMaxValue": "最大値は前の値より大きくなければなりません", + "xpack.lens.dynamicColoring.customPalette.invalidValueOrColor": "1つ以上の色範囲に正しくない値または色が含まれています", + "xpack.lens.dynamicColoring.customPalette.maximumStepsApplied": "ステップの最大数を適用しました", + "xpack.lens.dynamicColoring.customPalette.maxValuePlaceholder": "最大値", + "xpack.lens.dynamicColoring.customPalette.minValuePlaceholder": "最小値", + "xpack.lens.dynamicColoring.customPalette.oneColorRange": "複数の色が必要です", + "xpack.lens.dynamicColoring.customPalette.rangeAriaLabel": "範囲{index}", + "xpack.lens.dynamicColoring.customPalette.reverseColors": "色を反転", + "xpack.lens.dynamicColoring.customPalette.selectNewColor": "新しい色を選択", + "xpack.lens.dynamicColoring.customPalette.setCustomMaxValue": "カスタム最小値を設定", + "xpack.lens.dynamicColoring.customPalette.setCustomMinValue": "カスタム最大値を設定", + "xpack.lens.dynamicColoring.customPalette.useAutoMaxValue": "最大データ値を使用", + "xpack.lens.dynamicColoring.customPalette.useAutoMinValue": "最小データ値を使用", + "xpack.lens.dynamicColoring.customPaletteAriaLabel": "色を反転", "xpack.lens.editorFrame.buildExpressionError": "グラフの準備中に予期しないエラーが発生しました", "xpack.lens.editorFrame.colorIndicatorLabel": "このディメンションの色:{hex}", "xpack.lens.editorFrame.dataFailure": "データの読み込み中にエラーが発生しました。", "xpack.lens.editorFrame.dataViewNotFound": "データビューが見つかりません", "xpack.lens.editorFrame.dataViewReconfigure": "データビュー管理ページで再作成", "xpack.lens.editorFrame.emptyWorkspace": "開始するにはここにフィールドをドロップしてください", - "xpack.lens.editorFrame.emptyWorkspaceHeading": "Lensはビジュアライゼーションを作成するための新しいツールです", + "xpack.lens.editorFrame.emptyWorkspaceHeading": "Lensはビジュアライゼーションを作成するための推奨エディターです", "xpack.lens.editorFrame.emptyWorkspaceSimple": "ここにフィールドをドロップ", "xpack.lens.editorFrame.expandRenderingErrorButton": "エラーの詳細を表示", "xpack.lens.editorFrame.expressionFailure": "式でエラーが発生しました", @@ -243,13 +279,18 @@ "xpack.lens.editorFrame.invisibleIndicatorLabel": "このディメンションは現在グラフに表示されません", "xpack.lens.editorFrame.networkErrorMessage": "ネットワークエラーです。しばらくたってから再試行するか、管理者に連絡してください。", "xpack.lens.editorFrame.noColorIndicatorLabel": "このディメンションには個別の色がありません", + "xpack.lens.editorFrame.optionalDimensionLabel": "オプション", "xpack.lens.editorFrame.paletteColorIndicatorLabel": "このディメンションはパレットを使用しています", "xpack.lens.editorFrame.previewErrorLabel": "レンダリングのプレビューに失敗しました", + "xpack.lens.editorFrame.requiresFieldWarningLabel": "必須フィールド", + "xpack.lens.editorFrame.requiresTwoOrMoreFieldsWarningLabel": "{requiredMinDimensionCount}フィールドは必須です", "xpack.lens.editorFrame.suggestionPanelTitle": "提案", "xpack.lens.editorFrame.workspaceLabel": "ワークスペース", "xpack.lens.embeddable.failure": "ビジュアライゼーションを表示できませんでした", "xpack.lens.embeddable.fixErrors": "Lensエディターで編集し、エラーを修正", "xpack.lens.embeddable.legacyURLConflict.shortMessage": "URLの競合が発生しました", + "xpack.lens.embeddable.missingTimeRangeParam.longMessage": "指定された構成にはtimeRangeプロパティが必須です", + "xpack.lens.embeddable.missingTimeRangeParam.shortMessage": "timeRangeプロパティがありません", "xpack.lens.embeddable.moreErrors": "Lensエディターで編集すると、エラーの詳細が表示されます", "xpack.lens.embeddableDisplayName": "レンズ", "xpack.lens.fieldFormats.longSuffix.d": "日単位", @@ -320,24 +361,44 @@ "xpack.lens.functions.renameColumns.idMap.help": "キーが古い列 ID で値が対応する新しい列 ID となるように JSON エンコーディングされたオブジェクトです。他の列 ID はすべてのそのままです。", "xpack.lens.functions.timeScale.dateColumnMissingMessage": "指定した dateColumnId {columnId} は存在しません。", "xpack.lens.functions.timeScale.timeInfoMissingMessage": "日付ヒストグラム情報を取得できませんでした", + "xpack.lens.gauge.addLayer": "ビジュアライゼーションレイヤーを追加", + "xpack.lens.gauge.appearanceLabel": "見た目", + "xpack.lens.gauge.dynamicColoring.label": "帯色", + "xpack.lens.gauge.gaugeLabel": "ゲージ", + "xpack.lens.gauge.goalValueLabel": "目標値", + "xpack.lens.gauge.maxValueLabel": "最高値", + "xpack.lens.gauge.metricLabel": "メトリック", + "xpack.lens.gauge.minValueLabel": "最小値", + "xpack.lens.gaugeHorizontal.gaugeLabel": "横ゲージ", + "xpack.lens.gaugeVertical.gaugeLabel": "縦ゲージ", + "xpack.lens.gaugeVisualization.goalValueGreaterMaximumShortMessage": "目標値が最大値を超えています。", + "xpack.lens.gaugeVisualization.metricValueGreaterMaximumShortMessage": "メトリック値が最大値を超えています。", + "xpack.lens.gaugeVisualization.minimumValueGreaterGoalShortMessage": "最小値が目標値を超えています。", + "xpack.lens.gaugeVisualization.minValueGreaterMetricShortMessage": "最小値がメトリック値を超えています。", "xpack.lens.geoFieldWorkspace.dropMessage": "Mapsで開くにはここにフィールドをドロップします", "xpack.lens.geoFieldWorkspace.dropZoneLabel": "Mapsで開くにはゾーンをドロップします", + "xpack.lens.guageVisualization.chartCannotRenderEqual": "最小値と最大値を同じにすることはできません", + "xpack.lens.guageVisualization.chartCannotRenderMinGreaterMax": "最小値は最大値以下でなければなりません", "xpack.lens.heatmap.addLayer": "ビジュアライゼーションレイヤーを追加", "xpack.lens.heatmap.cellValueLabel": "セル値", "xpack.lens.heatmap.groupLabel": "ヒートマップ", "xpack.lens.heatmap.heatmapLabel": "ヒートマップ", + "xpack.lens.heatmap.horizontalAxisDisabledHelpText": "この設定は、横軸が有効であるときにのみ適用されます。", "xpack.lens.heatmap.horizontalAxisLabel": "横軸", + "xpack.lens.heatmap.verticalAxisDisabledHelpText": "この設定は、縦軸が有効であるときにのみ適用されます。", "xpack.lens.heatmap.verticalAxisLabel": "縦軸", "xpack.lens.heatmapChart.legendVisibility.hide": "非表示", "xpack.lens.heatmapChart.legendVisibility.show": "表示", "xpack.lens.heatmapVisualization.arrayValuesWarningMessage": "{label}には配列値が含まれます。可視化が想定通りに表示されない場合があります。", - "xpack.lens.heatmapVisualization.heatmapGroupLabel": "ヒートマップ", + "xpack.lens.heatmapVisualization.heatmapGroupLabel": "大きさ", "xpack.lens.heatmapVisualization.heatmapLabel": "ヒートマップ", "xpack.lens.heatmapVisualization.missingXAccessorLongMessage": "横軸の構成がありません。", "xpack.lens.heatmapVisualization.missingXAccessorShortMessage": "横軸がありません。", "xpack.lens.indexPattern.advancedSettings": "高度なオプションを追加", "xpack.lens.indexPattern.allFieldsLabel": "すべてのフィールド", "xpack.lens.indexPattern.allFieldsLabelHelp": "使用可能なフィールドには、フィルターと一致する最初の 500 件のドキュメントのデータがあります。すべてのフィールドを表示するには、空のフィールドを展開します。一部のフィールドタイプは、完全なテキストおよびグラフィックフィールドを含む Lens では、ビジュアライゼーションできません。", + "xpack.lens.indexPattern.ascendingCountPrecisionErrorWarning": "データのインデックス方法のため、このビジュアライゼーションの{name}は近似される場合があります。レコード数の昇順ではなく希少性で並べ替えてください。この制限の詳細については、{link}。", + "xpack.lens.indexPattern.ascendingCountPrecisionErrorWarning.link": "ドキュメントをご覧ください", "xpack.lens.indexPattern.availableFieldsLabel": "利用可能なフィールド", "xpack.lens.indexPattern.avg": "平均", "xpack.lens.indexPattern.avg.description": "集約されたドキュメントから抽出された数値の平均値を計算する単一値メトリック集約", @@ -349,7 +410,7 @@ "xpack.lens.indexPattern.cardinality.signature": "フィールド:文字列", "xpack.lens.indexPattern.cardinalityOf": "{name} のユニークカウント", "xpack.lens.indexPattern.changeDataViewTitle": "データビュー", - "xpack.lens.indexPattern.chooseField": "フィールドを選択", + "xpack.lens.indexPattern.chooseField": "フィールド", "xpack.lens.indexPattern.chooseFieldLabel": "この関数を使用するには、フィールドを選択してください。", "xpack.lens.indexPattern.chooseSubFunction": "サブ関数を選択", "xpack.lens.indexPattern.columnFormatLabel": "値の形式", @@ -384,6 +445,7 @@ "xpack.lens.indexPattern.dateHistogram.upTo": "最大", "xpack.lens.indexPattern.dateHistogram.week": "週", "xpack.lens.indexPattern.dateHistogram.year": "年", + "xpack.lens.indexPattern.dateHistogramTimeShift": "単一のレイヤーでは、前の時間範囲シフトと日付ヒストグラムを結合できません。\"{column}\"で明示的な時間シフト期間を使用するか、日付ヒストグラムを置換してください。", "xpack.lens.indexPattern.decimalPlacesLabel": "小数点以下", "xpack.lens.indexPattern.defaultFormatLabel": "デフォルト", "xpack.lens.indexPattern.derivative": "差異", @@ -430,6 +492,7 @@ "xpack.lens.indexPattern.formulaExpressionWrongType": "式の演算{operation}のパラメーターの型が正しくありません:{params}", "xpack.lens.indexPattern.formulaFieldNotRequired": "演算{operation}ではどのフィールドも引数として使用できません", "xpack.lens.indexPattern.formulaFieldValue": "フィールド", + "xpack.lens.indexPattern.formulaFilterableHelpText": "指定されたフィルターは式全体に適用されます。", "xpack.lens.indexPattern.formulaLabel": "式", "xpack.lens.indexPattern.formulaMathMissingArgument": "式{operation}の演算には{count}個の引数がありません:{params}", "xpack.lens.indexPattern.formulaMetricValue": "メトリック", @@ -437,6 +500,7 @@ "xpack.lens.indexPattern.formulaNoOperation": "演算なし", "xpack.lens.indexPattern.formulaOperationDoubleQueryError": "kql=またはlucene=のいずれかのみを使用します。両方は使用できません", "xpack.lens.indexPattern.formulaOperationDuplicateParams": "演算{operation}のパラメーターが複数回宣言されました:{params}", + "xpack.lens.indexPattern.formulaOperationFiltersTypeConflicts": "タイプ\"{outerType}\"の式フィルターは、{operation}演算のタイプ\"{innerType}\"の内部フィルターと比較できません。", "xpack.lens.indexPattern.formulaOperationQueryError": "{rawQuery}では{language}=''に単一引用符が必要です", "xpack.lens.indexPattern.formulaOperationTooManyFirstArguments": "式の演算{operation}には{supported, plural, one {1つの} other {サポートされている}} {type}が必要です。検出:{text}", "xpack.lens.indexPattern.formulaOperationValue": "演算", @@ -449,7 +513,7 @@ "xpack.lens.indexPattern.formulaWarningStaticValueText": "式を上書きするには、入力フィールドの値を変更します", "xpack.lens.indexPattern.formulaWarningText": "式を上書きするには、クイック関数を選択します", "xpack.lens.indexPattern.formulaWithTooManyArguments": "演算{operation}の引数が多すぎます", - "xpack.lens.indexPattern.functionsLabel": "関数を選択", + "xpack.lens.indexPattern.functionsLabel": "関数", "xpack.lens.indexPattern.groupByDropdown": "グループ分けの条件", "xpack.lens.indexPattern.incompleteOperation": "(未完了)", "xpack.lens.indexPattern.intervals": "間隔", @@ -516,6 +580,10 @@ "xpack.lens.indexPattern.percentile.signature": "フィールド:文字列、[percentile]:数値", "xpack.lens.indexPattern.percentileOf": "{name}の{percentile, selectordinal, other {#}}パーセンタイル", "xpack.lens.indexPattern.pinnedTopValuesLabel": "{field}のフィルター", + "xpack.lens.indexPattern.precisionErrorWarning": "データのインデックス方法のため、このビジュアライゼーションの{name}は近似される場合があります。{topValues}の数を増やすか、正確な結果を得るには{topValues}ではなく{filters}を使用してください。この制限の詳細については、{link}。", + "xpack.lens.indexPattern.precisionErrorWarning.filters": "フィルター", + "xpack.lens.indexPattern.precisionErrorWarning.link": "ドキュメントをご覧ください", + "xpack.lens.indexPattern.precisionErrorWarning.topValues": "トップの値", "xpack.lens.indexPattern.quickFunctionsLabel": "クイック機能", "xpack.lens.indexPattern.range.isInvalid": "この範囲は無効です", "xpack.lens.indexPattern.ranges.addRange": "範囲を追加", @@ -536,6 +604,7 @@ "xpack.lens.indexPattern.ranges.lessThanOrEqualTooltip": "以下", "xpack.lens.indexPattern.ranges.lessThanPrepend": "<", "xpack.lens.indexPattern.ranges.lessThanTooltip": "より小さい", + "xpack.lens.indexPattern.rareTermsOf": "{name}の希少な値", "xpack.lens.indexPattern.records": "記録", "xpack.lens.indexPattern.referenceFunctionPlaceholder": "サブ関数", "xpack.lens.indexPattern.removeColumnAriaLabel": "フィールドを追加するか、{groupLabel}までドラッグアンドドロップします", @@ -555,8 +624,16 @@ "xpack.lens.indexPattern.sum": "合計", "xpack.lens.indexPattern.sum.description": "集約されたドキュメントから抽出された数値を合計する単一値メトリック集約。", "xpack.lens.indexPattern.sumOf": "{name} の合計", + "xpack.lens.indexPattern.switchToRare": "希少性でランク", "xpack.lens.indexPattern.terms": "トップの値", + "xpack.lens.indexPattern.terms.addaFilter": "フィールドの追加", + "xpack.lens.indexPattern.terms.addField": "フィールドの追加", "xpack.lens.indexPattern.terms.advancedSettings": "高度な設定", + "xpack.lens.indexPattern.terms.deleteButtonAriaLabel": "削除", + "xpack.lens.indexPattern.terms.deleteButtonDisabled": "この関数には定義された1つのフィールドの最小値が必須です", + "xpack.lens.indexPattern.terms.deleteButtonLabel": "削除", + "xpack.lens.indexPattern.terms.dragToReorder": "ドラッグして並べ替え", + "xpack.lens.indexPattern.terms.maxDocCount": "用語ごとの最大ドキュメント数", "xpack.lens.indexPattern.terms.missingBucketDescription": "このフィールドなしでドキュメントを含める", "xpack.lens.indexPattern.terms.missingLabel": "(欠落値)", "xpack.lens.indexPattern.terms.orderAlphabetical": "アルファベット順", @@ -565,14 +642,17 @@ "xpack.lens.indexPattern.terms.orderByHelp": "上位の値がランク付けされる条件となるディメンションを指定します。", "xpack.lens.indexPattern.terms.orderDescending": "降順", "xpack.lens.indexPattern.terms.orderDirection": "ランク方向", + "xpack.lens.indexPattern.terms.orderRare": "希少性", "xpack.lens.indexPattern.terms.otherBucketDescription": "他の値を「その他」としてグループ化", "xpack.lens.indexPattern.terms.otherLabel": "その他", + "xpack.lens.indexPattern.terms.scriptedFieldErrorShort": "複数のフィールドを使用するときには、スクリプトフィールドがサポートされていません", "xpack.lens.indexPattern.terms.size": "値の数", "xpack.lens.indexPattern.terms.sizeLimitMax": "値が最大値{max}を超えています。最大値が使用されます。", "xpack.lens.indexPattern.terms.sizeLimitMin": "値が最小値{min}未満です。最小値が使用されます。", "xpack.lens.indexPattern.termsOf": "{name} のトップの値", "xpack.lens.indexPattern.termsWithMultipleShifts": "単一のレイヤーでは、メトリックを異なる時間シフトと動的な上位の値と組み合わせることができません。すべてのメトリックで同じ時間シフト値を使用するか、上位の値ではなくフィルターを使用します。", "xpack.lens.indexPattern.termsWithMultipleShiftsFixActionLabel": "フィルターを使用", + "xpack.lens.indexPattern.termsWithMultipleTermsAndScriptedFields": "複数のフィールドを使用するときには、スクリプトフィールドがサポートされていません。{fields}が見つかりました", "xpack.lens.indexPattern.timeScale.enableTimeScale": "単位で正規化", "xpack.lens.indexPattern.timeScale.label": "単位で正規化", "xpack.lens.indexPattern.timeScale.tooltip": "基本の日付間隔に関係なく、常に指定された時間単位のレートとして表示されるように値を正規化します。", @@ -582,11 +662,13 @@ "xpack.lens.indexPattern.timeShift.6hours": "6時間前(6h)", "xpack.lens.indexPattern.timeShift.6months": "6か月前(6M)", "xpack.lens.indexPattern.timeShift.day": "1日前(1d)", + "xpack.lens.indexPattern.timeShift.genericInvalidHelp": "時間シフト値が無効です。", "xpack.lens.indexPattern.timeShift.help": "時間シフトと単位を入力", "xpack.lens.indexPattern.timeShift.hour": "1時間前(1h)", "xpack.lens.indexPattern.timeShift.label": "時間シフト", "xpack.lens.indexPattern.timeShift.month": "1か月前(1M)", "xpack.lens.indexPattern.timeShift.noMultipleHelp": "時間シフトは日付ヒストグラム間隔の乗数でなければなりません。時間シフトまたは日付ヒストグラム間隔を調整", + "xpack.lens.indexPattern.timeShift.previous": "前の時間範囲", "xpack.lens.indexPattern.timeShift.tooSmallHelp": "時間シフトは日付ヒストグラム間隔よりも大きくなければなりません。時間シフトを増やすか、日付ヒストグラムで間隔を小さくしてください", "xpack.lens.indexPattern.timeShift.week": "1週間前(1w)", "xpack.lens.indexPattern.timeShift.year": "1年前(1y)", @@ -613,18 +695,33 @@ "xpack.lens.indexPatterns.noMetaDataLabel": "メタフィールドがありません。", "xpack.lens.indexPatternSuggestion.removeLayerLabel": "{indexPatternTitle}のみを表示", "xpack.lens.indexPatternSuggestion.removeLayerPositionLabel": "レイヤー{layerNumber}のみを表示", + "xpack.lens.label.gauge.labelMajor.header": "タイトル", + "xpack.lens.label.gauge.labelMinor.header": "サブタイトル", + "xpack.lens.label.header": "ラベル", "xpack.lens.labelInput.label": "ラベル", "xpack.lens.layerPanel.layerVisualizationType": "レイヤービジュアライゼーションタイプ", "xpack.lens.layerPanel.missingDataView": "データビューが見つかりません", "xpack.lens.legacyUrlConflict.objectNoun": "レンズビジュアライゼーション", "xpack.lens.lensSavedObjectLabel": "レンズビジュアライゼーション", + "xpack.lens.metric.accessor.help": "値が表示されている列", "xpack.lens.metric.addLayer": "ビジュアライゼーションレイヤーを追加", - "xpack.lens.metric.groupLabel": "表形式の値と単一の値", + "xpack.lens.metric.colorMode.help": "色を変更するメトリックの部分", + "xpack.lens.metric.dynamicColoring.background": "塗りつぶし", + "xpack.lens.metric.dynamicColoring.label": "値別の色", + "xpack.lens.metric.dynamicColoring.none": "なし", + "xpack.lens.metric.dynamicColoring.text": "テキスト", + "xpack.lens.metric.groupLabel": "目標値と単一の値", "xpack.lens.metric.label": "メトリック", + "xpack.lens.metric.metricTitle.help": "表示されるメトリックのタイトル。", + "xpack.lens.metric.mode.help": "グラフの表示モード。減らすと、最小サイズ内でメトリックのみが表示されます", + "xpack.lens.metric.palette.help": "値の色を指定します", + "xpack.lens.metric.title.help": "グラフタイトル。", "xpack.lens.pageTitle": "レンズ", "xpack.lens.paletteHeatmapGradient.customize": "編集", "xpack.lens.paletteHeatmapGradient.customizeLong": "パレットを編集", "xpack.lens.paletteHeatmapGradient.label": "色", + "xpack.lens.paletteMetricGradient.label": "色", + "xpack.lens.palettePicker.colorRangesLabel": "色の範囲", "xpack.lens.palettePicker.label": "カラーパレット", "xpack.lens.paletteTableGradient.customize": "編集", "xpack.lens.paletteTableGradient.label": "色", @@ -633,13 +730,22 @@ "xpack.lens.pie.donutLabel": "ドーナッツ", "xpack.lens.pie.groupLabel": "比率", "xpack.lens.pie.groupsizeLabel": "サイズ単位", + "xpack.lens.pie.mosaiclabel": "モザイク", + "xpack.lens.pie.mosaicSuggestionLabel": "モザイクとして", "xpack.lens.pie.pielabel": "円", "xpack.lens.pie.sliceGroupLabel": "スライス", + "xpack.lens.pie.smallValuesWarningMessage": "ワッフルグラフは小さいフィールド値を効果的に表示できません。すべてのフィールド値を表示するには、データ表または樹形図を使用してください。", "xpack.lens.pie.suggestionLabel": "{chartName}として", "xpack.lens.pie.treemapGroupLabel": "グループ分けの条件", "xpack.lens.pie.treemaplabel": "ツリーマップ", "xpack.lens.pie.treemapSuggestionLabel": "ツリーマップとして", + "xpack.lens.pie.wafflelabel": "ワッフル", + "xpack.lens.pie.waffleSuggestionLabel": "ワッフルとして", "xpack.lens.pieChart.categoriesInLegendLabel": "ラベルを非表示", + "xpack.lens.pieChart.emptySizeRatioLabel": "内側の領域のサイズ", + "xpack.lens.pieChart.emptySizeRatioOptions.large": "大", + "xpack.lens.pieChart.emptySizeRatioOptions.medium": "中", + "xpack.lens.pieChart.emptySizeRatioOptions.small": "小", "xpack.lens.pieChart.fitInsideOnlyLabel": "内部のみ", "xpack.lens.pieChart.hiddenNumbersLabel": "グラフから非表示", "xpack.lens.pieChart.labelPositionLabel": "位置", @@ -654,14 +760,15 @@ "xpack.lens.pieChart.showPercentValuesLabel": "割合を表示", "xpack.lens.pieChart.showTreemapCategoriesLabel": "ラベルを表示", "xpack.lens.pieChart.valuesLabel": "ラベル", - "xpack.lens.lineMarker.positionRequirementTooltip": "位置を変更するには、アイコンを選択するか、表示名を表示する必要があります", - "xpack.lens.lineMarker.textVisibility": "表示名を表示", + "xpack.lens.pieChart.visualOptionsLabel": "視覚オプション", "xpack.lens.resetLayerAriaLabel": "レイヤー {index} をリセット", "xpack.lens.resetVisualizationAriaLabel": "ビジュアライゼーションをリセット", + "xpack.lens.saveDuplicateRejectedDescription": "重複ファイルの保存確認が拒否されました", "xpack.lens.searchTitle": "Lens:ビジュアライゼーションを作成", "xpack.lens.section.configPanelLabel": "構成パネル", "xpack.lens.section.dataPanelLabel": "データパネル", "xpack.lens.section.workspaceLabel": "ビジュアライゼーションワークスペース", + "xpack.lens.shared.axisNameLabel": "軸のタイトル", "xpack.lens.shared.chartValueLabelVisibilityLabel": "ラベル", "xpack.lens.shared.curveLabel": "視覚オプション", "xpack.lens.shared.legend.filterForValueButtonAriaLabel": "値でフィルター", @@ -687,6 +794,10 @@ "xpack.lens.shared.legendVisibleTooltip": "凡例を表示する必要があります", "xpack.lens.shared.maxLinesLabel": "最大行", "xpack.lens.shared.nestedLegendLabel": "ネスト済み", + "xpack.lens.shared.overwriteAxisTitle": "軸タイトルを上書き", + "xpack.lens.shared.ShowAxisTitleLabel": "表示", + "xpack.lens.shared.ticksPositionOptions": "帯の目盛", + "xpack.lens.shared.ticksPositionOptionsTooltip": "目盛を均等に分布するのではなく、各帯の境界に目盛を表示します", "xpack.lens.shared.truncateLegend": "テキストを切り捨て", "xpack.lens.shared.valueInLegendLabel": "値を表示", "xpack.lens.shared.valueLabelsVisibility.auto": "非表示", @@ -729,6 +840,10 @@ "xpack.lens.table.tableCellFilter.filterForValueText": "値でフィルター", "xpack.lens.table.tableCellFilter.filterOutValueAriaLabel": "値の除外:{cellContent}", "xpack.lens.table.tableCellFilter.filterOutValueText": "値を除外", + "xpack.lens.table.valuesVisualOptions": "視覚オプション", + "xpack.lens.table.visualOptionsFitRowToContentLabel": "行を内容に合わせる", + "xpack.lens.table.visualOptionsPaginateTable": "表のページ制御", + "xpack.lens.table.visualOptionsPaginateTableTooltip": "項目が9件以下の場合、ページ制御は非表示です", "xpack.lens.timeScale.removeLabel": "時間単位で正規化を削除", "xpack.lens.timeShift.removeLabel": "時間シフトを削除", "xpack.lens.visTypeAlias.description": "ドラッグアンドドロップエディターでビジュアライゼーションを作成します。いつでもビジュアライゼーションタイプを切り替えることができます。", @@ -746,7 +861,6 @@ "xpack.lens.xyChart.axisExtent.disabledDataBoundsMessage": "折れ線グラフのみをデータ境界に合わせることができます", "xpack.lens.xyChart.axisExtent.full": "完全", "xpack.lens.xyChart.axisExtent.label": "境界", - "xpack.lens.shared.axisNameLabel": "軸名", "xpack.lens.xyChart.axisOrientation.angled": "傾斜", "xpack.lens.xyChart.axisOrientation.horizontal": "横", "xpack.lens.xyChart.axisOrientation.label": "向き", @@ -800,39 +914,13 @@ "xpack.lens.xyChart.missingValuesLabel": "欠測値", "xpack.lens.xyChart.missingValuesLabelHelpText": "デフォルトでは、Lensではデータのギャップが表示されません。ギャップを埋めるには、選択します。", "xpack.lens.xyChart.nestUnderRoot": "データセット全体", - "xpack.lens.shared.overwriteAxisTitle": "軸タイトルを上書き", "xpack.lens.xyChart.position.help": "凡例の配置を指定します。", - "xpack.lens.xyChart.iconSelect.alertIconLabel": "アラート", - "xpack.lens.xyChart.iconSelect.asteriskIconLabel": "アスタリスク", - "xpack.lens.xyChart.iconSelect.bellIconLabel": "ベル", - "xpack.lens.xyChart.iconSelect.boltIconLabel": "ボルト", - "xpack.lens.xyChart.iconSelect.bugIconLabel": "バグ", - "xpack.lens.xyChart.iconSelect.commentIconLabel": "コメント", - "xpack.lens.xyChart.iconSelect.flagIconLabel": "旗", - "xpack.lens.xyChart.iconSelect.noIconLabel": "なし", - "xpack.lens.xyChart.iconSelect.tagIconLabel": "タグ", - "xpack.lens.xyChart.lineColor.label": "色", - "xpack.lens.xyChart.fill.above": "上", - "xpack.lens.xyChart.fill.after": "後", - "xpack.lens.xyChart.fill.before": "前", - "xpack.lens.xyChart.fill.below": "下", - "xpack.lens.xyChart.fill.label": "塗りつぶし", - "xpack.lens.xyChart.fill.none": "なし", - "xpack.lens.xyChart.lineMarker.auto": "自動", - "xpack.lens.xyChart.lineMarker.icon": "アイコン", - "xpack.lens.xyChart.lineMarker.position": "装飾位置", - "xpack.lens.xyChart.lineStyle.dashed": "鎖線", - "xpack.lens.xyChart.lineStyle.dotted": "点線", - "xpack.lens.xyChart.lineStyle.label": "ラインスタイル", - "xpack.lens.xyChart.lineStyle.solid": "塗りつぶし", - "xpack.lens.xyChart.lineThickness.label": "線の太さです", "xpack.lens.xyChart.renderer.help": "X/Y チャートを再レンダリング", "xpack.lens.xyChart.rightAxisDisabledHelpText": "この設定は、右の軸が有効であるときにのみ適用されます。", "xpack.lens.xyChart.rightAxisLabel": "右の軸", "xpack.lens.xyChart.seriesColor.auto": "自動", "xpack.lens.xyChart.seriesColor.label": "系列色", "xpack.lens.xyChart.shouldTruncate.help": "凡例項目が切り捨てられるかどうかを指定します", - "xpack.lens.shared.ShowAxisTitleLabel": "表示", "xpack.lens.xyChart.showEnzones": "部分データマーカーを表示", "xpack.lens.xyChart.showSingleSeries.help": "エントリが1件の凡例を表示するかどうかを指定します", "xpack.lens.xyChart.splitSeries": "内訳の基準", @@ -906,7 +994,7 @@ "advancedSettings.advancedSettingsLabel": "高度な設定", "advancedSettings.badge.readOnly.text": "読み取り専用", "advancedSettings.badge.readOnly.tooltip": "高度な設定を保存できません", - "advancedSettings.callOutCautionDescription": "これらの設定は非常に上級ユーザー向けなのでご注意ください。ここでの変更は Kibana の重要な部分に不具合を生じさせる可能性があります。これらの設定は非公開、サポート対象外、または実験的な場合があります。フィールドにデフォルト値がある場合、そのフィールドを未入力のままにするとデフォルトに戻り、他の構成で許容されないことがあります。カスタム設定を削除すると、Kibana の構成から永久に削除されます。", + "advancedSettings.callOutCautionDescription": "これらの設定は非常に上級ユーザー向けなのでご注意ください。ここでの変更は Kibana の重要な部分に不具合を生じさせる可能性があります。これらの設定は非公開、サポート対象外、またはテクニカルプレビュー中の場合があります。フィールドにデフォルト値がある場合、そのフィールドを未入力のままにするとデフォルトに戻り、他の構成で許容されないことがあります。カスタム設定を削除すると、Kibana の構成から永久に削除されます。", "advancedSettings.callOutCautionTitle": "注意:不具合につながる可能性があります", "advancedSettings.categoryNames.dashboardLabel": "ダッシュボード", "advancedSettings.categoryNames.discoverLabel": "Discover", @@ -960,8 +1048,10 @@ "autocomplete.invalidNumberError": "有効な数値ではありません", "autocomplete.loadingDescription": "読み込み中...", "autocomplete.selectField": "最初にフィールドを選択してください...", + "bfetch.disableBfetch": "リクエストバッチを無効にする", "bfetch.disableBfetchCompression": "バッチ圧縮を無効にする", "bfetch.disableBfetchCompressionDesc": "バッチ圧縮を無効にします。個別の要求をデバッグできますが、応答サイズが大きくなります。", + "bfetch.disableBfetchDesc": "リクエストバッチを無効にします。これにより、KibanaからのHTTPリクエスト数は減りますが、個別にリクエストをデバッグできます。", "charts.advancedSettings.visualization.colorMappingText": "互換性パレットを使用して、グラフで値を特定の色にマッピング色にマッピングします。", "charts.advancedSettings.visualization.colorMappingTextDeprecation": "この設定はサポートが終了し、将来のバージョンではサポートされません。", "charts.advancedSettings.visualization.colorMappingTitle": "カラーマッピング", @@ -985,6 +1075,7 @@ "charts.functions.systemPaletteHelpText": "動的カラーパレットを作成します。", "charts.legend.toggleLegendButtonAriaLabel": "凡例を切り替える", "charts.legend.toggleLegendButtonTitle": "凡例を切り替える", + "charts.noDataLabel": "結果が見つかりませんでした", "charts.palettes.complimentaryLabel": "無料", "charts.palettes.coolLabel": "Cool", "charts.palettes.customLabel": "カスタム", @@ -1029,8 +1120,9 @@ "console.helpPage.keyboardCommands.submitRequestDescription": "リクエストを送信します", "console.helpPage.keyboardCommands.switchFocusToAutoCompleteMenuDescription": "自動入力メニューに焦点を切り替えます。矢印を使用してさらに用語を選択します", "console.helpPage.keyboardCommandsTitle": "キーボードコマンド", + "console.helpPage.learnAboutConsoleAndQueryDslText": "{console}および{queryDsl}の詳細", "console.helpPage.pageTitle": "ヘルプ", - "console.helpPage.requestFormatDescription": "ホワイトエディターに 1 つ以上のリクエストを入力できます。コンソールはコンパクトなフォーマットのリクエストを理解できます。", + "console.helpPage.requestFormatDescription": "エディターに1つ以上のリクエストを入力できます。コンソールはコンパクトなフォーマットのリクエストを理解できます。", "console.helpPage.requestFormatTitle": "リクエストフォーマット", "console.historyPage.applyHistoryButtonLabel": "適用", "console.historyPage.clearHistoryButtonLabel": "クリア", @@ -1044,10 +1136,13 @@ "console.loadingError.buttonLabel": "コンソールの再読み込み", "console.loadingError.message": "最新データを取得するために再読み込みを試してください。", "console.loadingError.title": "コンソールを読み込めません", + "console.notification.clearHistory": "履歴を消去", + "console.notification.disableSavingToHistory": "保存を無効にする", "console.notification.error.couldNotSaveRequestTitle": "リクエストをコンソール履歴に保存できませんでした。", - "console.notification.error.historyQuotaReachedMessage": "リクエスト履歴が満杯です。コンソール履歴を消去して、新しいリクエストを保存します。", + "console.notification.error.historyQuotaReachedMessage": "リクエスト履歴が満杯です。コンソール履歴を消去するか、新しいリクエストの保存を無効にしてください。", "console.notification.error.noRequestSelectedTitle": "リクエストを選択していません。リクエストの中にカーソルを置いて選択します。", "console.notification.error.unknownErrorTitle": "不明なリクエストエラー", + "console.outputCannotPreviewBinaryData": "バイナリデータをプレビューできません。", "console.outputTextarea": "開発ツールコンソール出力", "console.pageHeading": "コンソール", "console.requestInProgressBadgeText": "リクエストが進行中", @@ -1061,16 +1156,21 @@ "console.settingsPage.cancelButtonLabel": "キャンセル", "console.settingsPage.fieldsLabelText": "フィールド", "console.settingsPage.fontSizeLabel": "フォントサイズ", + "console.settingsPage.historyLabel": "履歴", "console.settingsPage.indicesAndAliasesLabelText": "インデックスとエイリアス", "console.settingsPage.jsonSyntaxLabel": "JSON構文", "console.settingsPage.pageTitle": "コンソール設定", "console.settingsPage.refreshButtonLabel": "自動入力候補の更新", - "console.settingsPage.refreshingDataDescription": "コンソールは、Elasticsearchをクエリして自動入力候補を更新します。クラスターが大きい場合や、ネットワークの制限がある場合には、自動更新で問題が発生する可能性があります。", - "console.settingsPage.refreshingDataLabel": "自動入力候補を更新しています", + "console.settingsPage.refreshingDataDescription": "コンソールは、Elasticsearchをクエリして自動入力候補を更新します。帯域幅コストを削減するには、更新頻度を下げることをお勧めします。", + "console.settingsPage.refreshingDataLabel": "更新頻度", + "console.settingsPage.refreshInterval.everyHourTimeInterval": "毎時", + "console.settingsPage.refreshInterval.onceTimeInterval": "コンソールの読み込み時に1回", "console.settingsPage.saveButtonLabel": "保存", + "console.settingsPage.savingRequestsToHistoryMessage": "履歴へのリクエストの保存を無効にしてください", "console.settingsPage.templatesLabelText": "テンプレート", "console.settingsPage.tripleQuotesMessage": "出力ウィンドウでは三重引用符を使用してください", "console.settingsPage.wrapLongLinesLabelText": "長い行を改行", + "console.splitPanel.adjustPanelSizeAriaLabel": "左右のキーを押してパネルサイズを調整します", "console.topNav.helpTabDescription": "ヘルプ", "console.topNav.helpTabLabel": "ヘルプ", "console.topNav.historyTabDescription": "履歴", @@ -1089,6 +1189,61 @@ "console.welcomePage.quickTipsTitle": "今のうちにいくつか簡単なコツをお教えします", "console.welcomePage.supportedRequestFormatDescription": "リクエストの入力中、コンソールが候補を提案するので、Enter/Tabを押して確定できます。これらの候補はリクエストの構造、およびインデックス、タイプに基づくものです。", "console.welcomePage.supportedRequestFormatTitle": "コンソールは cURL と同様に、コンパクトなフォーマットのリクエストを理解できます。", + "controls.controlGroup.emptyState.addControlButtonTitle": "コントロールを追加", + "controls.controlGroup.emptyState.callToAction": "コントロールを使用すると、ダッシュボードデータのフィルタリングと操作が可能です", + "controls.controlGroup.emptyState.twoLineLoadingTitle": "...", + "controls.controlGroup.floatingActions.editTitle": "コントロールを編集", + "controls.controlGroup.floatingActions.removeTitle": "コントロールを削除", + "controls.controlGroup.manageControl.cancelTitle": "キャンセル", + "controls.controlGroup.manageControl.createFlyoutTitle": "コントロールを作成", + "controls.controlGroup.manageControl.editFlyoutTitle": "コントロールを編集", + "controls.controlGroup.manageControl.saveChangesTitle": "保存して閉じる", + "controls.controlGroup.manageControl.titleInputTitle": "タイトル", + "controls.controlGroup.manageControl.widthInputTitle": "コントロールサイズ", + "controls.controlGroup.management.addControl": "コントロールを追加", + "controls.controlGroup.management.buttonTitle": "コントロールを構成", + "controls.controlGroup.management.defaultWidthTitle": "デフォルトサイズ", + "controls.controlGroup.management.delete": "コントロールを削除", + "controls.controlGroup.management.delete.cancel": "キャンセル", + "controls.controlGroup.management.delete.confirm": "削除", + "controls.controlGroup.management.delete.deleteAllTitle": "すべてのコントロールを削除しますか?", + "controls.controlGroup.management.delete.deleteTitle": "コントロールを削除しますか?", + "controls.controlGroup.management.delete.sub": "コントロールを削除した後は、復元できません。", + "controls.controlGroup.management.deleteAll": "すべて削除", + "controls.controlGroup.management.deleteNew.cancel": "キャンセル", + "controls.controlGroup.management.deleteNew.confirm": "コントロールを破棄", + "controls.controlGroup.management.deleteNew.sub": "このコントロールの変更は破棄されます。続行しますか?", + "controls.controlGroup.management.deleteNew.title": "新しいコントロールを破棄", + "controls.controlGroup.management.discard.cancel": "キャンセル", + "controls.controlGroup.management.discard.confirm": "変更を破棄", + "controls.controlGroup.management.discard.sub": "このコントロールの変更は破棄されます。続行しますか?", + "controls.controlGroup.management.discard.title": "変更を破棄しますか?", + "controls.controlGroup.management.flyoutTitle": "コントロールを構成", + "controls.controlGroup.management.layout.auto": "自動", + "controls.controlGroup.management.layout.controlWidthLegend": "コントロールサイズを変更", + "controls.controlGroup.management.layout.designSwitchLegend": "コントロール設計を切り替え", + "controls.controlGroup.management.layout.large": "大", + "controls.controlGroup.management.layout.medium": "中", + "controls.controlGroup.management.layout.singleLine": "1行", + "controls.controlGroup.management.layout.small": "小", + "controls.controlGroup.management.layout.twoLine": "2行", + "controls.controlGroup.management.layoutTitle": "レイアウト", + "controls.controlGroup.management.setAllWidths": "すべてのサイズをデフォルトに設定", + "controls.controlGroup.title": "コントロールグループ", + "controls.optionsList.editor.allowMultiselectTitle": "ドロップダウンでの複数選択を許可", + "controls.optionsList.editor.dataViewTitle": "データビュー", + "controls.optionsList.editor.fieldTitle": "フィールド", + "controls.optionsList.editor.indexPatternTitle": "インデックスパターン", + "controls.optionsList.editor.noDataViewTitle": "データビューを選択", + "controls.optionsList.errors.dataViewNotFound": "データビュー{dataViewId}が見つかりませんでした", + "controls.optionsList.popover.allOptionsTitle": "すべてのオプションを表示", + "controls.optionsList.popover.clearAllSelectionsTitle": "選択した項目をクリア", + "controls.optionsList.popover.empty": "フィルターが見つかりません", + "controls.optionsList.popover.loading": "フィルターを読み込み中", + "controls.optionsList.popover.selectedOptionsTitle": "選択したオプションのみを表示", + "controls.optionsList.popover.selectionsEmpty": "選択されていません", + "controls.optionsList.summary.placeholder": "選択してください...", + "controls.optionsList.summary.separator": ",", "core.application.appContainer.loadingAriaLabel": "アプリケーションを読み込んでいます", "core.application.appNotFound.pageDescription": "この URL にアプリケーションが見つかりませんでした。前の画面に戻るか、メニューからアプリを選択してみてください。", "core.application.appNotFound.title": "アプリケーションが見つかりません", @@ -1110,6 +1265,9 @@ "core.deprecations.elasticsearchUsername.title": "「elasticsearch.username: {username}」は廃止予定です", "core.deprecations.noCorrectiveAction": "この廃止予定は自動的に解決できません。", "core.euiAccordion.isLoading": "読み込み中", + "core.euiAutoRefresh.autoRefreshLabel": "自動更新", + "core.euiAutoRefresh.buttonLabelOff": "自動更新はオフです", + "core.euiAutoRefresh.buttonLabelOn": "自動更新はオンで、{prettyInterval}に設定されています", "core.euiBasicTable.noItemsMessage": "項目が見つかりません", "core.euiBasicTable.selectAllRows": "すべての行を選択", "core.euiBasicTable.selectThisRow": "この行を選択", @@ -1199,6 +1357,18 @@ "core.euiDataGridToolbar.fullScreenButton": "全画面", "core.euiDataGridToolbar.fullScreenButtonActive": "全画面を終了", "core.euiDatePopoverButton.outdatedTitle": "更新が必要:{title}", + "core.euiDisplaySelector.buttonText": "表示オプション", + "core.euiDisplaySelector.densityLabel": "密度", + "core.euiDisplaySelector.labelAuto": "自動的に合わせる", + "core.euiDisplaySelector.labelCompact": "簡易", + "core.euiDisplaySelector.labelCustom": "カスタム", + "core.euiDisplaySelector.labelExpanded": "詳細", + "core.euiDisplaySelector.labelNormal": "標準", + "core.euiDisplaySelector.labelSingle": "単一", + "core.euiDisplaySelector.lineCountLabel": "行ごとの線数", + "core.euiDisplaySelector.resetButtonText": "デフォルトにリセット", + "core.euiDisplaySelector.rowHeightLabel": "行高さ", + "core.euiErrorBoundary.error": "エラー", "core.euiFieldPassword.maskPassword": "パスワードをマスク", "core.euiFieldPassword.showPassword": "プレーンテキストとしてパスワードを表示します。注記:パスワードは画面上に見えるように表示されます。", "core.euiFilePicker.clearSelectedFiles": "選択したファイルを消去", @@ -1245,11 +1415,20 @@ "core.euiNotificationEventReadIcon.readAria": "{eventName}は既読です", "core.euiNotificationEventReadIcon.unread": "未読", "core.euiNotificationEventReadIcon.unreadAria": "{eventName}は未読です", + "core.euiPagination.collection": "収集", "core.euiPagination.firstRangeAriaLabel": "ページ2を{lastPage}にスキップしています", + "core.euiPagination.fromEndLabel": "最後から", + "core.euiPagination.last": "最後", "core.euiPagination.lastRangeAriaLabel": "ページ{firstPage}を{lastPage}にスキップしています", + "core.euiPagination.of": "/", + "core.euiPagination.page": "ページ", "core.euiPagination.pageOfTotalCompressed": "{total}ページ中{page}ページ", "core.euiPaginationButton.longPageString": "{page}/{totalPages}ページ", "core.euiPaginationButton.shortPageString": "{page}ページ", + "core.euiPaginationButtonArrow.firstPage": "最初のページ", + "core.euiPaginationButtonArrow.lastPage": "最後のページ", + "core.euiPaginationButtonArrow.nextPage": "次のページ", + "core.euiPaginationButtonArrow.previousPage": "前のページ", "core.euiPinnableListGroup.pinExtraActionLabel": "項目をピン留め", "core.euiPinnableListGroup.pinnedExtraActionLabel": "項目のピン留めを外す", "core.euiPopover.screenReaderAnnouncement": "これはダイアログです。ダイアログを閉じるには、 escape を押してください。", @@ -1264,6 +1443,8 @@ "core.euiQuickSelect.unitLabel": "時間単位", "core.euiQuickSelect.valueLabel": "時間値", "core.euiRecentlyUsed.legend": "最近使用した日付範囲", + "core.euiRefreshInterval.fullDescriptionOff": "更新はオフです。間隔は{optionValue} {optionText}に設定されています。", + "core.euiRefreshInterval.fullDescriptionOn": "更新はオンです。間隔は{optionValue} {optionText}に設定されています。", "core.euiRefreshInterval.legend": "以下の感覚ごとに更新", "core.euiRelativeTab.dateInputError": "有効な範囲でなければなりません", "core.euiRelativeTab.fullDescription": "単位は変更可能です。現在 {unit} に設定されています。", @@ -1306,6 +1487,7 @@ "core.euiStepStrings.simpleWarning": "ステップ{number}には警告があります", "core.euiStepStrings.step": "ステップ{number}: {title}", "core.euiStepStrings.warning": "ステップ{number}: {title}には警告があります", + "core.euiSuperSelect.screenReaderAnnouncement": "フォームセレクターを使用中で、1 つのオプションを選択する必要があります。上下の矢印キーで移動するか、Escキーで閉じます。", "core.euiSuperSelectControl.selectAnOption": "オプションの選択:{selectedValue} を選択済み", "core.euiSuperUpdateButton.cannotUpdateTooltip": "アップデートできません", "core.euiSuperUpdateButton.clickToApplyTooltip": "クリックして適用", @@ -1341,21 +1523,30 @@ "core.status.greenTitle": "緑", "core.status.redTitle": "赤", "core.status.yellowTitle": "黄", + "core.statusPage.coreStatus.sectionTitle": "コアステータス", "core.statusPage.loadStatus.serverIsDownErrorMessage": "サーバーステータスのリクエストに失敗しました。サーバーがダウンしている可能性があります。", "core.statusPage.loadStatus.serverStatusCodeErrorMessage": "サーバーステータスのリクエストに失敗しました。ステータスコード:{responseStatus}", "core.statusPage.metricsTiles.columns.heapTotalHeader": "ヒープ合計", "core.statusPage.metricsTiles.columns.heapUsedHeader": "使用ヒープ", + "core.statusPage.metricsTiles.columns.load.metaHeader": "読み込み間隔", "core.statusPage.metricsTiles.columns.loadHeader": "読み込み", + "core.statusPage.metricsTiles.columns.processDelayDetailsHeader": "パーセンタイル", + "core.statusPage.metricsTiles.columns.processDelayHeader": "遅延", "core.statusPage.metricsTiles.columns.requestsPerSecHeader": "1秒あたりのリクエスト", "core.statusPage.metricsTiles.columns.resTimeAvgHeader": "平均応答時間", "core.statusPage.metricsTiles.columns.resTimeMaxHeader": "最長応答時間", "core.statusPage.serverStatus.statusTitle": "Kibanaのステータス:{kibanaStatus}", "core.statusPage.statusApp.loadingErrorText": "ステータスの読み込み中にエラーが発生しました", - "core.statusPage.statusApp.statusActions.buildText": "ビルド{buildNum}", - "core.statusPage.statusApp.statusActions.commitText": "COMMIT {buildSha}", + "core.statusPage.statusApp.statusActions.buildText": "ビルド:{buildNum}", + "core.statusPage.statusApp.statusActions.commitText": "コミット:{buildSha}", + "core.statusPage.statusApp.statusActions.versionText": "バージョン:{versionNum}", "core.statusPage.statusApp.statusTitle": "プラグインステータス", + "core.statusPage.statusTable.columns.expandRow.collapseLabel": "縮小", + "core.statusPage.statusTable.columns.expandRow.expandLabel": "拡張", + "core.statusPage.statusTable.columns.expandRowHeader": "行を展開", "core.statusPage.statusTable.columns.idHeader": "ID", "core.statusPage.statusTable.columns.statusHeader": "ステータス", + "core.statusPage.statusTable.columns.statusSummaryHeader": "ステータス概要", "core.toasts.errorToast.seeFullError": "完全なエラーを表示", "core.ui_settings.params.darkModeText": "Kibana UIのダークモードを有効にします。この設定を適用するにはページの更新が必要です。", "core.ui_settings.params.darkModeTitle": "ダークモード", @@ -1478,7 +1669,7 @@ "dashboard.createConfirmModal.cancelButtonLabel": "キャンセル", "dashboard.createConfirmModal.confirmButtonLabel": "やり直す", "dashboard.createConfirmModal.continueButtonLabel": "編集を続行", - "dashboard.createConfirmModal.unsavedChangesSubtitle": "編集を続行するか、空のダッシュボードで始めることができます。", + "dashboard.createConfirmModal.unsavedChangesSubtitle": "編集を続行するか、空のダッシュボードで始めてください。", "dashboard.createConfirmModal.unsavedChangesTitle": "新しいダッシュボードはすでに実行中です", "dashboard.dashboardAppBreadcrumbsTitle": "ダッシュボード", "dashboard.dashboardGrid.toast.unableToLoadDashboardDangerMessage": "ダッシュボードが読み込めません。", @@ -1509,10 +1700,11 @@ "dashboard.howToStartWorkingOnNewDashboardEditLinkAriaLabel": "ダッシュボードを編集", "dashboard.labs.enableLabsDescription": "このフラグはビューアーで[ラボ]ボタンを使用できるかどうかを決定します。ダッシュボードで実験的機能を有効および無効にするための簡単な方法です。", "dashboard.labs.enableUI": "ダッシュボードで[ラボ]ボタンを有効にする", - "dashboard.listing.createNewDashboard.combineDataViewFromKibanaAppDescription": "あらゆるKibanaアプリからダッシュボードにデータビューを組み合わせて、すべてを1か所に表示できます。", - "dashboard.listing.createNewDashboard.createButtonLabel": "新規ダッシュボードを作成", + "dashboard.listing.createNewDashboard.combineDataViewFromKibanaAppDescription": "ダッシュボードを作成し、ビジュアライゼーションを追加して、すべてのElasticデータを1つの場所で分析します。", + "dashboard.listing.createNewDashboard.createButtonLabel": "ダッシュボードの作成", + "dashboard.listing.createNewDashboard.inProgressTitle": "実行中のダッシュボード", "dashboard.listing.createNewDashboard.newToKibanaDescription": "Kibanaは初心者ですか?{sampleDataInstallLink}してお試しください。", - "dashboard.listing.createNewDashboard.sampleDataInstallLinkText": "サンプルデータをインストール", + "dashboard.listing.createNewDashboard.sampleDataInstallLinkText": "サンプルデータを追加", "dashboard.listing.createNewDashboard.title": "初めてのダッシュボードを作成してみましょう。", "dashboard.listing.readonlyNoItemsBody": "使用可能なダッシュボードはありません。権限を変更してこのスペースにダッシュボードを表示するには、管理者に問い合わせてください。", "dashboard.listing.readonlyNoItemsTitle": "表示するダッシュボードがありません", @@ -1823,6 +2015,13 @@ "data.search.aggs.buckets.dateRange.schema.help": "このアグリゲーションで使用するスキーマ", "data.search.aggs.buckets.dateRange.timeZone.help": "このアグリゲーションで使用するタイムゾーン。", "data.search.aggs.buckets.dateRangeTitle": "日付範囲", + "data.search.aggs.buckets.diversifiedSampler.enabled.help": "このアグリゲーションが有効かどうかを指定します", + "data.search.aggs.buckets.diversifiedSampler.field.help": "重複除外で使用される値を指定します。", + "data.search.aggs.buckets.diversifiedSampler.id.help": "このアグリゲーションのID", + "data.search.aggs.buckets.diversifiedSampler.maxDocsPerValue.help": "選択した重複除外する値ごとに許可されるドキュメント数を制限します。", + "data.search.aggs.buckets.diversifiedSampler.schema.help": "このアグリゲーションで使用するスキーマ", + "data.search.aggs.buckets.diversifiedSampler.shardSize.help": "shard_sizeパラメーターは、各シャードで処理されるサンプルで収集される上位スコアドキュメントの数を制限します。", + "data.search.aggs.buckets.diversifiedSamplerTitle": "分散サンプラー", "data.search.aggs.buckets.filter.customLabel.help": "このアグリゲーションのカスタムラベルを表します", "data.search.aggs.buckets.filter.enabled.help": "このアグリゲーションが有効かどうかを指定します", "data.search.aggs.buckets.filter.filter.help": "KQLまたはLuceneクエリに基づいて結果をフィルタリングします。geo_bounding_boxと一緒に使用しないでください", @@ -1890,6 +2089,21 @@ "data.search.aggs.buckets.ipRange.schema.help": "このアグリゲーションで使用するスキーマ", "data.search.aggs.buckets.ipRangeLabel": "{fieldName} IP 範囲", "data.search.aggs.buckets.ipRangeTitle": "IP範囲", + "data.search.aggs.buckets.multiTerms.customLabel.help": "このアグリゲーションのカスタムラベルを表します", + "data.search.aggs.buckets.multiTerms.enabled.help": "このアグリゲーションが有効かどうかを指定します", + "data.search.aggs.buckets.multiTerms.fields.help": "このアグリゲーションで使用するフィールド", + "data.search.aggs.buckets.multiTerms.id.help": "このアグリゲーションのID", + "data.search.aggs.buckets.multiTerms.json.help": "アグリゲーションがElasticsearchに送信されるときに含める高度なJSON", + "data.search.aggs.buckets.multiTerms.order.help": "結果を返す順序:昇順または降順", + "data.search.aggs.buckets.multiTerms.orderAgg.help": "結果の並べ替えで使用するアグリゲーション構成", + "data.search.aggs.buckets.multiTerms.orderBy.help": "結果を並べ替える基準のフィールド", + "data.search.aggs.buckets.multiTerms.otherBucket.help": "trueに設定すると、許可されたサイズを超えるすべてのバケットをグループ化します", + "data.search.aggs.buckets.multiTerms.otherBucketLabel.help": "他のバケットのドキュメントのグラフで使用される既定のラベル", + "data.search.aggs.buckets.multiTerms.otherFilterJoinName": "または", + "data.search.aggs.buckets.multiTerms.schema.help": "このアグリゲーションで使用するスキーマ", + "data.search.aggs.buckets.multiTerms.separatorLabel.help": "各用語の組み合わせを結合するために使用される区切り文字ラベル", + "data.search.aggs.buckets.multiTerms.size.help": "取得するバケットの最大数", + "data.search.aggs.buckets.multiTermsTitle": "複数の用語", "data.search.aggs.buckets.range.customLabel.help": "このアグリゲーションのカスタムラベルを表します", "data.search.aggs.buckets.range.enabled.help": "このアグリゲーションが有効かどうかを指定します", "data.search.aggs.buckets.range.field.help": "このアグリゲーションで使用するフィールド", @@ -1898,6 +2112,17 @@ "data.search.aggs.buckets.range.ranges.help": "このアグリゲーションで使用するシリアル化された範囲。", "data.search.aggs.buckets.range.schema.help": "このアグリゲーションで使用するスキーマ", "data.search.aggs.buckets.rangeTitle": "範囲", + "data.search.aggs.buckets.rareTerms.enabled.help": "このアグリゲーションが有効かどうかを指定します", + "data.search.aggs.buckets.rareTerms.fields.help": "このアグリゲーションで使用するフィールド", + "data.search.aggs.buckets.rareTerms.id.help": "このアグリゲーションのID", + "data.search.aggs.buckets.rareTerms.maxDocCount.help": "用語が出現する回数。この最大値を下回ると、用語が希少であると判定されます", + "data.search.aggs.buckets.rareTerms.schema.help": "このアグリゲーションで使用するスキーマ", + "data.search.aggs.buckets.rareTermsTitle": "希少な用語", + "data.search.aggs.buckets.sampler.enabled.help": "このアグリゲーションが有効かどうかを指定します", + "data.search.aggs.buckets.sampler.id.help": "このアグリゲーションのID", + "data.search.aggs.buckets.sampler.schema.help": "このアグリゲーションで使用するスキーマ", + "data.search.aggs.buckets.sampler.shardSize.help": "shard_sizeパラメーターは、各シャードで処理されるサンプルで収集される上位スコアドキュメントの数を制限します。", + "data.search.aggs.buckets.samplerTitle": "サンプラー", "data.search.aggs.buckets.shardDelay.customLabel.help": "このアグリゲーションのカスタムラベルを表します", "data.search.aggs.buckets.shardDelay.delay.help": "処理するシャード間の遅延。例:\"5s\".", "data.search.aggs.buckets.shardDelay.enabled.help": "このアグリゲーションが有効かどうかを指定します", @@ -1917,6 +2142,21 @@ "data.search.aggs.buckets.significantTerms.size.help": "取得するバケットの最大数", "data.search.aggs.buckets.significantTermsLabel": "{fieldName} のトップ {size} の珍しいアイテム", "data.search.aggs.buckets.significantTermsTitle": "重要な用語", + "data.search.aggs.buckets.significantText.customLabel.help": "このアグリゲーションのカスタムラベルを表します", + "data.search.aggs.buckets.significantText.enabled.help": "このアグリゲーションが有効かどうかを指定します", + "data.search.aggs.buckets.significantText.exclude.help": "結果から除外する特定のバケット値", + "data.search.aggs.buckets.significantText.excludeLabel": "除外", + "data.search.aggs.buckets.significantText.field.help": "このアグリゲーションで使用するフィールド", + "data.search.aggs.buckets.significantText.filterDuplicateText.help": "近似重複テキストのフィルタリング", + "data.search.aggs.buckets.significantText.id.help": "このアグリゲーションのID", + "data.search.aggs.buckets.significantText.include.help": "結果に含める特定のバケット値", + "data.search.aggs.buckets.significantText.includeLabel": "含める", + "data.search.aggs.buckets.significantText.json.help": "アグリゲーションがElasticsearchに送信されるときに含める高度なJSON", + "data.search.aggs.buckets.significantText.minDocCount.help": "設定された数を超える値と一致する用語を返します", + "data.search.aggs.buckets.significantText.schema.help": "このアグリゲーションで使用するスキーマ", + "data.search.aggs.buckets.significantText.size.help": "取得するバケットの最大数", + "data.search.aggs.buckets.significantTextLabel": "\"{fieldName}\"テキストの上位{size}個の通常ではない用語", + "data.search.aggs.buckets.significantTextTitle": "有意なテキスト", "data.search.aggs.buckets.terms.customLabel.help": "このアグリゲーションのカスタムラベルを表します", "data.search.aggs.buckets.terms.enabled.help": "このアグリゲーションが有効かどうかを指定します", "data.search.aggs.buckets.terms.exclude.help": "結果から除外する特定のバケット値", @@ -1945,15 +2185,20 @@ "data.search.aggs.error.aggNotFound": "「{type}」に登録されたアグリゲーションタイプが見つかりません。", "data.search.aggs.function.buckets.dateHistogram.help": "ヒストグラムアグリゲーションのシリアル化されたアグリゲーション構成を生成します", "data.search.aggs.function.buckets.dateRange.help": "日付範囲アグリゲーションのシリアル化されたアグリゲーション構成を生成します", + "data.search.aggs.function.buckets.diversifiedSampler.help": "分散サンプラーアグリゲーションのシリアル化されたアグリゲーション構成を生成します", "data.search.aggs.function.buckets.filter.help": "フィルターアグリゲーションのシリアル化されたアグリゲーション構成を生成します", "data.search.aggs.function.buckets.filters.help": "フィルターアグリゲーションのシリアル化されたアグリゲーション構成を生成します", "data.search.aggs.function.buckets.geoHash.help": "ジオハッシュアグリゲーションのシリアル化されたアグリゲーション構成を生成します", "data.search.aggs.function.buckets.geoTile.help": "ジオタイルアグリゲーションのシリアル化されたアグリゲーション構成を生成します", "data.search.aggs.function.buckets.histogram.help": "ヒストグラムアグリゲーションのシリアル化されたアグリゲーション構成を生成します", "data.search.aggs.function.buckets.ipRange.help": "IP範囲アグリゲーションのシリアル化されたアグリゲーション構成を生成します", + "data.search.aggs.function.buckets.multiTerms.help": "複数用語アグリゲーションのシリアル化されたアグリゲーション構成を生成します", "data.search.aggs.function.buckets.range.help": "範囲アグリゲーションのシリアル化されたアグリゲーション構成を生成します", + "data.search.aggs.function.buckets.rareTerms.help": "希少用語アグリゲーションのシリアル化されたアグリゲーション構成を生成します", + "data.search.aggs.function.buckets.sampler.help": "サンプラーアグリゲーションのシリアル化されたアグリゲーション構成を生成します", "data.search.aggs.function.buckets.shardDelay.help": "シャード遅延アグリゲーションのシリアル化されたアグリゲーション構成を生成します", "data.search.aggs.function.buckets.significantTerms.help": "重要な用語アグリゲーションのシリアル化されたアグリゲーション構成を生成します", + "data.search.aggs.function.buckets.significantText.help": "有意なテキストアグリゲーションのシリアル化されたアグリゲーション構成を生成します", "data.search.aggs.function.buckets.terms.help": "用語アグリゲーションのシリアル化されたアグリゲーション構成を生成します", "data.search.aggs.function.metrics.avg.help": "平均値アグリゲーションのシリアル化されたアグリゲーション構成を生成します", "data.search.aggs.function.metrics.bucket_avg.help": "平均値バケットアグリゲーションのシリアル化されたアグリゲーション構成を生成します", @@ -2204,8 +2449,14 @@ "data.search.aggs.paramTypes.field.notFoundSavedFieldParameterErrorMessage": "このオブジェクトに関連付けられたフィールド\"{fieldParameter}\"は、データビューに存在しません。別のフィールドを使用してください。", "data.search.aggs.paramTypes.field.requiredFieldParameterErrorMessage": "{fieldParameter} は必須パラメーターです", "data.search.aggs.percentageOfLabel": "{label} の割合", + "data.search.aggs.rareTerms.aggTypesLabel": "{fieldName}の希少な用語", "data.search.aggs.string.customLabel": "カスタムラベル", "data.search.dataRequest.title": "データ", + "data.search.eql.field.help": "取得するフィールドのリスト", + "data.search.eql.help": "Elasticsearch リクエストを実行", + "data.search.eql.index.help": "クエリするElasticsearchインデックス", + "data.search.eql.q.help": "クエリDSL", + "data.search.eql.size.help": "Elasticsearch 検索 API サイズパラメーター", "data.search.es_search.dataRequest.description": "このリクエストはElasticsearchにクエリし、ビジュアライゼーション用のデータを取得します。", "data.search.es_search.dataViewLabel": "データビュー", "data.search.es_search.hitsDescription": "クエリにより返されたドキュメントの数です。", @@ -2390,8 +2641,11 @@ "dataViews.functions.dataViewLoad.id.help": "読み込むデータビューID", "dataViews.indexPatternLoad.error.kibanaRequest": "サーバーでこの検索を実行するには、KibanaRequest が必要です。式実行パラメーターに要求オブジェクトを渡してください。", "dataViews.unableWriteLabel": "データビューを書き込めません。このデータビューへの最新の変更を取得するには、ページを更新してください。", + "devTools.badge.betaLabel": "ベータ", + "devTools.badge.betaTooltipText": "この機能は将来のリリースで大幅に変更される可能性があります", "devTools.badge.readOnly.text": "読み取り専用", "devTools.badge.readOnly.tooltip": "を保存できませんでした", + "devTools.breadcrumb.homeLabel": "開発ツール", "devTools.devToolsTitle": "開発ツール", "discover.advancedSettings.context.defaultSizeText": "コンテキストビューに表示される周りのエントリーの数", "discover.advancedSettings.context.defaultSizeTitle": "コンテキストサイズ", @@ -2403,20 +2657,26 @@ "discover.advancedSettings.defaultColumnsTitle": "デフォルトの列", "discover.advancedSettings.disableDocumentExplorer": "ドキュメントエクスプローラーまたはクラシックビュー", "discover.advancedSettings.disableDocumentExplorerDescription": "クラシックビューではなく、ドキュメントエクスプローラーを使用するには、このオプションをオフにします。ドキュメントエクスプローラーでは、データの並べ替え、列のサイズ変更、全画面表示といった優れた機能を使用できます。", + "discover.advancedSettings.discover.fieldStatisticsLinkText": "フィールド統計情報ビュー", "discover.advancedSettings.discover.modifyColumnsOnSwitchText": "新しいデータビューで使用できない列を削除します。", "discover.advancedSettings.discover.modifyColumnsOnSwitchTitle": "データビューを変更するときに列を修正", "discover.advancedSettings.discover.multiFieldsLinkText": "マルチフィールド", "discover.advancedSettings.discover.readFieldsFromSource": "_sourceからフィールドを読み取る", "discover.advancedSettings.discover.readFieldsFromSourceDescription": "有効にすると、「_source」から直接ドキュメントを読み込みます。これはまもなく廃止される予定です。無効にすると、上位レベルの検索サービスで新しいフィールドAPI経由でフィールドを取得します。", "discover.advancedSettings.discover.showFieldStatistics": "フィールド統計情報を表示", + "discover.advancedSettings.discover.showFieldStatisticsDescription": "{fieldStatisticsDocs}を有効にすると、数値フィールドの最大/最小値やジオフィールドの地図といった詳細が表示されます。この機能はベータ段階で、変更される可能性があります。", "discover.advancedSettings.discover.showMultifields": "マルチフィールドを表示", "discover.advancedSettings.discover.showMultifieldsDescription": "拡張ドキュメントビューに{multiFields}が表示されるかどうかを制御します。ほとんどの場合、マルチフィールドは元のフィールドと同じです。「searchFieldsFromSource」がオフのときにのみこのオプションを使用できます。", "discover.advancedSettings.docTableHideTimeColumnText": "Discover と、ダッシュボードのすべての保存された検索で、「時刻」列を非表示にします。", "discover.advancedSettings.docTableHideTimeColumnTitle": "「時刻」列を非表示", "discover.advancedSettings.fieldsPopularLimitText": "最も頻繁に使用されるフィールドのトップNを表示します", "discover.advancedSettings.fieldsPopularLimitTitle": "頻繁に使用されるフィールドの制限", - "discover.advancedSettings.maxDocFieldsDisplayedText": "ドキュメント列でレンダリングされたフィールドの最大数", + "discover.advancedSettings.maxDocFieldsDisplayedText": "ドキュメント概要でレンダリングされるフィールドの最大数", "discover.advancedSettings.maxDocFieldsDisplayedTitle": "表示される最大ドキュメントフィールド数", + "discover.advancedSettings.params.maxCellHeightText": "表のセルが使用する高さの上限です。切り捨てを無効にするには0に設定します。", + "discover.advancedSettings.params.maxCellHeightTitle": "クラシック表の最大セル高さ", + "discover.advancedSettings.params.rowHeightText": "行に追加できる線数。値-1は、コンテンツに合わせて、行の高さを自動的に調整します。値0はコンテンツが1行に表示されます。", + "discover.advancedSettings.params.rowHeightTitle": "ドキュメントエクスプローラーの行高さ", "discover.advancedSettings.sampleSizeText": "表に表示する行数です", "discover.advancedSettings.sampleSizeTitle": "行数", "discover.advancedSettings.searchOnPageLoadText": "Discover の最初の読み込み時に検索を実行するかを制御します。この設定は、保存された検索の読み込み時には影響しません。", @@ -2457,7 +2717,8 @@ "discover.discoverBreadcrumbTitle": "Discover", "discover.discoverDefaultSearchSessionName": "Discover", "discover.discoverDescription": "ドキュメントにクエリをかけたりフィルターを適用することで、データをインタラクティブに閲覧できます。", - "discover.discoverError.title": "Discoverの読み込みエラー", + "discover.discoverError.missingQueryParamsError": "URLクエリ文字列が見つかりません{missingParamsList}。", + "discover.discoverError.title": "このページを読み込めません", "discover.discoverSubtitle": "インサイトを検索して見つけます。", "discover.discoverTitle": "Discover", "discover.doc.couldNotFindDocumentsDescription": "そのIDに一致するドキュメントがありません。", @@ -2467,6 +2728,10 @@ "discover.doc.loadingDescription": "読み込み中…", "discover.doc.somethingWentWrongDescription": "{indexName}が見つかりません。", "discover.doc.somethingWentWrongDescriptionAddon": "インデックスが存在することを確認してください。", + "discover.docExplorerCallout.bodyMessage": "ドキュメントエクスプローラーでは、データの並べ替え、選択、比較のほか、列のサイズ変更やドキュメントの全画面表示をすばやく実行できます。", + "discover.docExplorerCallout.closeButtonAriaLabel": "閉じる", + "discover.docExplorerCallout.headerMessage": "より効率的な探索方法", + "discover.docExplorerCallout.tryDocumentExplorer": "ドキュメントエクスプローラーを試す", "discover.docTable.documentsNavigation": "ドキュメントナビゲーション", "discover.docTable.limitedSearchResultLabel": "{resultCount}件の結果のみが表示されます。検索結果を絞り込みます。", "discover.docTable.noResultsTitle": "結果が見つかりませんでした", @@ -2493,12 +2758,15 @@ "discover.docTable.tableRow.viewSurroundingDocumentsLinkText": "周りのドキュメントを表示", "discover.docTable.totalDocuments": "{totalDocuments}ドキュメント", "discover.documentsAriaLabel": "ドキュメント", + "discover.docView.table.actions.label": "アクション", + "discover.docView.table.actions.open": "アクションを開く", "discover.docView.table.ignored.multiAboveTooltip": "このフィールドの1つ以上の値が長すぎるため、検索またはフィルタリングできません。", "discover.docView.table.ignored.multiMalformedTooltip": "このフィールドは、検索またはフィルタリングできない正しくない形式の値が1つ以上あります。", "discover.docView.table.ignored.multiUnknownTooltip": "このフィールドの1つ以上の値がElasticsearchによって無視されたため、検索またはフィルタリングできません。", "discover.docView.table.ignored.singleAboveTooltip": "このフィールドの値が長すぎるため、検索またはフィルタリングできません。", "discover.docView.table.ignored.singleMalformedTooltip": "このフィールドの値の形式が正しくないため、検索またはフィルタリングできません。", "discover.docView.table.ignored.singleUnknownTooltip": "このフィールドの値はElasticsearchによって無視されたため、検索またはフィルタリングできません。", + "discover.docView.table.searchPlaceHolder": "検索フィールド名", "discover.docViews.json.jsonTitle": "JSON", "discover.docViews.table.filterForFieldPresentButtonAriaLabel": "フィールド表示のフィルター", "discover.docViews.table.filterForFieldPresentButtonTooltip": "フィールド表示のフィルター", @@ -2508,6 +2776,8 @@ "discover.docViews.table.filterOutValueButtonTooltip": "値を除外", "discover.docViews.table.ignored.multiValueLabel": "無視された値を含む", "discover.docViews.table.ignored.singleValueLabel": "無視された値", + "discover.docViews.table.pinFieldAriaLabel": "フィールドを固定", + "discover.docViews.table.pinFieldLabel": "フィールドを固定", "discover.docViews.table.scoreSortWarningTooltip": "_scoreの値を取得するには、並べ替える必要があります。", "discover.docViews.table.tableTitle": "表", "discover.docViews.table.toggleColumnInTableButtonAriaLabel": "表の列を切り替える", @@ -2516,12 +2786,16 @@ "discover.docViews.table.unableToFilterForPresenceOfMetaFieldsTooltip": "メタフィールドの有無でフィルタリングできません", "discover.docViews.table.unableToFilterForPresenceOfScriptedFieldsTooltip": "スクリプトフィールドの有無でフィルタリングできません", "discover.docViews.table.unindexedFieldsCanNotBeSearchedTooltip": "インデックスがないフィールドまたは無視された値は検索できません", + "discover.docViews.table.unpinFieldAriaLabel": "フィールドを固定解除", + "discover.docViews.table.unpinFieldLabel": "フィールドを固定解除", "discover.embeddable.inspectorRequestDataTitle": "データ", "discover.embeddable.inspectorRequestDescription": "このリクエストはElasticsearchにクエリをかけ、検索データを取得します。", "discover.embeddable.search.displayName": "検索", + "discover.errorLoadingChart": "グラフの読み込みエラー", "discover.field.mappingConflict": "このフィールドは、このパターンと一致するインデックス全体に対して複数の型(文字列、整数など)として定義されています。この競合フィールドを使用することはできますが、Kibana で型を認識する必要がある関数では使用できません。この問題を修正するにはデータのレンダリングが必要です。", "discover.field.mappingConflict.title": "マッピングの矛盾", "discover.field.title": "{fieldName} ({fieldDisplayName})", + "discover.fieldChooser.dataViews.createNewDataView": "新しいデータビューを作成", "discover.fieldChooser.detailViews.emptyStringText": "空の文字列", "discover.fieldChooser.detailViews.existsInRecordsText": "{value} / {totalValue}件のレコードに存在", "discover.fieldChooser.detailViews.filterOutValueButtonAriaLabel": "{field}を除外:\"{value}\"", @@ -2560,8 +2834,8 @@ "discover.fieldChooser.filter.typeLabel": "型", "discover.fieldChooser.indexPattern.changeDataViewTitle": "データビューを変更", "discover.fieldChooser.indexPatterns.actionsPopoverLabel": "データビュー設定", - "discover.fieldChooser.indexPatterns.addFieldButton": "フィールドをデータビューに追加", - "discover.fieldChooser.indexPatterns.manageFieldButton": "データビューフィールドを管理", + "discover.fieldChooser.indexPatterns.addFieldButton": "フィールドの追加", + "discover.fieldChooser.indexPatterns.manageFieldButton": "設定の管理", "discover.fieldChooser.searchPlaceHolder": "検索フィールド名", "discover.fieldChooser.toggleFieldFilterButtonHideAriaLabel": "フィールド設定を非表示", "discover.fieldChooser.toggleFieldFilterButtonShowAriaLabel": "フィールド設定を表示", @@ -2582,6 +2856,8 @@ "discover.fieldNameIcons.stringFieldAriaLabel": "文字列フィールド", "discover.fieldNameIcons.textFieldAriaLabel": "テキストフィールド", "discover.fieldNameIcons.unknownFieldAriaLabel": "不明なフィールド", + "discover.fieldNameIcons.versionFieldAriaLabel": "バージョンフィールド", + "discover.goToDiscoverMainViewButtonText": "Discoverメインビューに移動", "discover.grid.documentHeader": "ドキュメント", "discover.grid.filterFor": "フィルター", "discover.grid.filterForAria": "この{value}でフィルターを適用", @@ -2636,6 +2912,9 @@ "discover.noResults.queryMayNotMatchTitle": "期間を長くして検索を試してください。", "discover.noResults.searchExamples.noResultsBecauseOfError": "検索結果の取得中にエラーが発生しました", "discover.noResults.searchExamples.noResultsMatchSearchCriteriaTitle": "検索条件と一致する結果がありません。", + "discover.noResults.temporaryDisablingFiltersLinkText": "フィルターを一時的に無効にしています", + "discover.noResults.tryRemovingOrDisablingFilters": "削除または{disablingFiltersLink}してください。", + "discover.noResults.trySearchingForDifferentCombination": "別の用語の組み合わせを検索してください。", "discover.noResultsFound": "結果が見つかりませんでした", "discover.notifications.invalidTimeRangeText": "指定された時間範囲が無効です。(開始:'{from}'、終了:'{to}')", "discover.notifications.invalidTimeRangeTitle": "無効な時間範囲", @@ -2719,6 +2998,7 @@ "embeddableApi.panel.labelAborted": "中断しました", "embeddableApi.panel.labelError": "エラー", "embeddableApi.panel.optionsMenu.panelOptionsButtonAriaLabel": "パネルオプション", + "embeddableApi.panel.optionsMenu.panelOptionsButtonAriaLabelWithIndex": "パネル{index}のオプション", "embeddableApi.panel.optionsMenu.panelOptionsButtonEnhancedAriaLabel": "{title} のパネルオプション", "embeddableApi.panel.placeholderTitle": "[タイトルなし]", "embeddableApi.panel.removePanel.displayName": "ダッシュボードから削除", @@ -2801,6 +3081,41 @@ "expressionError.renderer.debug.helpDescription": "デバッグアウトプットをフォーマットされた {JSON} としてレンダリングします", "expressionError.renderer.error.displayName": "エラー情報", "expressionError.renderer.error.helpDescription": "エラーデータをユーザーにわかるようにレンダリングします", + "expressionGauge.renderer.chartCannotRenderEqual": "最小値と最大値を同じにすることはできません", + "expressionGauge.renderer.chartCannotRenderMinGreaterMax": "最小値は最大値以下でなければなりません", + "expressionGauge.renderer.visualizationName": "ゲージ", + "expressionHeatmap.function.args.addTooltipHelpText": "カーソルを置いたときにツールチップを表示", + "expressionHeatmap.function.args.grid.isCellLabelVisible.help": "セルラベルの表示・非表示を指定します。", + "expressionHeatmap.function.args.grid.isXAxisLabelVisible.help": "x軸のラベルを表示するかどうかを指定します。", + "expressionHeatmap.function.args.grid.isXAxisTitleVisible.help": "X軸のタイトルを表示するかどうかを指定します。", + "expressionHeatmap.function.args.grid.isYAxisLabelVisible.help": "Y軸のラベルを表示するかどうかを指定します。", + "expressionHeatmap.function.args.grid.isYAxisTitleVisible.help": "Y軸のタイトルを表示するかどうかを指定します。", + "expressionHeatmap.function.args.grid.strokeColor.help": "グリッドストローク色を指定します", + "expressionHeatmap.function.args.grid.strokeWidth.help": "グリッドストローク幅を指定します", + "expressionHeatmap.function.args.grid.xTitle.help": "X軸のタイトルを指定します", + "expressionHeatmap.function.args.grid.yTitle.help": "Y軸のタイトルを指定します", + "expressionHeatmap.function.args.highlightInHoverHelpText": "有効にすると、カーソルで選択した範囲が凡例の色でハイライトされます", + "expressionHeatmap.function.args.lastRangeIsRightOpen": "trueに設定すると、範囲の最後の値は指定されません", + "expressionHeatmap.function.args.legend.isVisible.help": "判例の表示・非表示を指定します。", + "expressionHeatmap.function.args.legend.maxLines.help": "凡例項目ごとの行数を指定します。", + "expressionHeatmap.function.args.legend.position.help": "凡例の配置を指定します。", + "expressionHeatmap.function.args.legend.shouldTruncate.help": "凡例項目を切り捨てるかどうかを指定します。", + "expressionHeatmap.function.args.splitColumnAccessorHelpText": "分割された列または対応するディメンションのID", + "expressionHeatmap.function.args.splitRowAccessorHelpText": "分割された行または対応するディメンションのID", + "expressionHeatmap.function.args.valueAccessorHelpText": "値列または対応するディメンションのID", + "expressionHeatmap.function.args.xAccessorHelpText": "X軸列または対応するディメンションのID", + "expressionHeatmap.function.args.yAccessorHelpText": "Y軸列または対応するディメンションのID", + "expressionHeatmap.function.dimension.metric": "メトリック", + "expressionHeatmap.function.dimension.splitColumn": "列で分割", + "expressionHeatmap.function.dimension.splitRow": "行で分割", + "expressionHeatmap.function.dimension.xaxis": "X軸", + "expressionHeatmap.function.dimension.yaxis": "Y 軸", + "expressionHeatmap.function.gridConfig.help": "ヒートマップレイアウトを構成します。", + "expressionHeatmap.function.help": "ヒートマップビジュアライゼーション", + "expressionHeatmap.function.legendConfig.help": "チャートの凡例を構成します。", + "expressionHeatmap.function.palette.help": "境界に基づく値の色を指定します。", + "expressionHeatmap.function.percentageMode.help": "オンにすると、ツールチップと凡例が割合として表示されます。", + "expressionHeatmap.visualizationName": "ヒートマップ", "expressionImage.functions.image.args.dataurlHelpText": "画像の {https} {URL} または {BASE64} データ {URL} です。", "expressionImage.functions.image.args.modeHelpText": "{contain} はサイズに合わせて拡大・縮小して画像全体を表示し、{cover} はコンテナーを画像で埋め、必要に応じて両端や下をクロップします。{stretch} は画像の高さと幅をコンテナーの 100% になるよう変更します。", "expressionImage.functions.image.invalidImageModeErrorMessage": "「mode」は「{contain}」、「{cover}」、または「{stretch}」でなければなりません", @@ -2821,6 +3136,7 @@ "expressionMetricVis.function.font.help": "フォント設定です。", "expressionMetricVis.function.help": "メトリックビジュアライゼーション", "expressionMetricVis.function.metric.help": "メトリックディメンションの構成です。", + "expressionMetricVis.function.palette.help": "境界に基づく値の色を指定します。", "expressionMetricVis.function.percentageMode.help": "百分率モードでメトリックを表示します。colorRange を設定する必要があります。", "expressionMetricVis.function.showLabels.help": "メトリック値の下にラベルを表示します。", "expressionRepeatImage.error.repeatImage.missingMaxArgument": "{emptyImageArgument} を指定する場合は、{maxArgument} を設定する必要があります", @@ -2861,10 +3177,12 @@ "expressions.functions.font.args.familyHelpText": "利用可能な{css}ウェブフォント文字列です", "expressions.functions.font.args.italicHelpText": "テキストを斜体にしますか?", "expressions.functions.font.args.lHeightHelpText": "ピクセル単位の行の高さです。", - "expressions.functions.font.args.sizeHelpText": "ピクセル単位のフォントサイズです。", + "expressions.functions.font.args.sizeHelpText": "フォントサイズ", + "expressions.functions.font.args.sizeUnitHelpText": "フォントサイズ単位", "expressions.functions.font.args.underlineHelpText": "テキストに下線を引きますか?", "expressions.functions.font.args.weightHelpText": "フォントの重量です。たとえば、{list}、または {end}です。", "expressions.functions.font.invalidFontWeightErrorMessage": "無効なフォント太さ:'{weight}'", + "expressions.functions.font.invalidSizeUnitErrorMessage": "無効なサイズ単位:'{sizeUnit}'", "expressions.functions.font.invalidTextAlignmentErrorMessage": "無効なテキストアラインメント:'{align}'", "expressions.functions.fontHelpText": "フォントスタイルを作成します。", "expressions.functions.mapColumn.args.copyMetaFromHelpText": "設定されている場合、指定した列IDのメタオブジェクトが指定したターゲット列にコピーされます。列が存在しない場合は失敗し、エラーは表示されません。", @@ -2951,33 +3269,6 @@ "expressionTagcloud.functions.tagcloudHelpText": "Tagcloudのビジュアライゼーションです。", "expressionTagcloud.renderer.tagcloud.displayName": "Tag Cloudのビジュアライゼーションです", "expressionTagcloud.renderer.tagcloud.helpDescription": "Tag Cloudを表示", - "expressionPartitionVis.reusable.function.dimension.buckets": "スライス", - "expressionPartitionVis.reusable.function.args.legendDisplayHelpText": "グラフ凡例を表示", - "expressionPartitionVis.reusable.function.args.addTooltipHelpText": "スライスにカーソルを置いたときにツールチップを表示", - "expressionPartitionVis.reusable.function.args.bucketsHelpText": "バケットディメンション構成", - "expressionPartitionVis.pieVis.function.args.distinctColorsHelpText": "スライスごとに異なる色をマッピングします。同じ値のスライスは同じ色になります", - "expressionPartitionVis.reusable.function.args.isDonutHelpText": "円グラフをドーナツグラフとして表示します", - "expressionPartitionVis.reusable.function.args.labelsHelpText": "円グラフラベル構成", - "expressionPartitionVis.reusable.function.args.legendPositionHelpText": "グラフの上、下、左、右に凡例を配置", - "expressionPartitionVis.reusable.function.args.maxLegendLinesHelpText": "凡例項目ごとの行数を定義します", - "expressionPartitionVis.reusable.function.args.metricHelpText": "メトリックディメンション構成", - "expressionPartitionVis.reusable.function.args.nestedLegendHelpText": "詳細凡例を表示", - "expressionPartitionVis.reusable.function.args.paletteHelpText": "グラフパレット名を定義します", - "expressionPartitionVis.reusable.function.args.splitColumnHelpText": "列ディメンション構成で分割", - "expressionPartitionVis.reusable.function.args.splitRowHelpText": "行ディメンション構成で分割", - "expressionPartitionVis.reusable.function.args.truncateLegendHelpText": "凡例項目が切り捨てられるかどうかを定義します", - "expressionPartitionVis.reusable.function.dimension.metric": "スライスサイズ", - "expressionPartitionVis.reusable.function.dimension.splitcolumn": "列分割", - "expressionPartitionVis.reusable.function.dimension.splitrow": "行分割", - "expressionPartitionVis.partitionLabels.function.help": "円グラフラベルオブジェクトを生成します", - "expressionPartitionVis.partitionLabels.function.args.percentDecimals.help": "割合として値に表示される10進数を定義します", - "expressionPartitionVis.partitionLabels.function.args.position.help": "ラベル位置を定義します", - "expressionPartitionVis.partitionLabels.function.args.values.help": "スライス内の値を定義します", - "expressionPartitionVis.partitionLabels.function.args.valuesFormat.help": "値の形式を定義します", - "expressionPartitionVis.pieVis.function.help": "パイビジュアライゼーション", - "expressionPartitionVis.legend.filterForValueButtonAriaLabel": "値でフィルター", - "expressionPartitionVis.legend.filterOptionsLegend": "{legendDataLabel}、フィルターオプション", - "expressionPartitionVis.legend.filterOutValueButtonAriaLabel": "値を除外", "fieldFormats.advancedSettings.format.bytesFormat.numeralFormatLinkText": "数字フォーマット", "fieldFormats.advancedSettings.format.bytesFormatText": "「バイト」フォーマットのデフォルト{numeralFormatLink}です", "fieldFormats.advancedSettings.format.bytesFormatTitle": "バイトフォーマット", @@ -3033,6 +3324,10 @@ "fieldFormats.duration.outputFormats.humanize.approximate": "人間が読み取り可能(近似値)", "fieldFormats.duration.outputFormats.humanize.precise": "人間が読み取り可能(正確な値)", "fieldFormats.duration.title": "期間", + "fieldFormats.geoPoint.title": "地理ポイント", + "fieldFormats.geoPoint.transformOptions.latLonString": "書式付き文字列:\"lat,lon\"", + "fieldFormats.geoPoint.transformOptions.none": "- なし -", + "fieldFormats.geoPoint.transformOptions.wkt": "よく知られたテキスト", "fieldFormats.histogram.title": "ヒストグラム", "fieldFormats.ip.title": "IP アドレス", "fieldFormats.number.title": "数字", @@ -3164,6 +3459,7 @@ "home.tutorial.instructionSet.noDataLabel": "データが見つかりません", "home.tutorial.instructionSet.statusCheckTitle": "ステータス確認", "home.tutorial.instructionSet.successLabel": "成功", + "home.tutorial.introduction.beatsBadgeLabel": "ビート", "home.tutorial.introduction.betaLabel": "ベータ", "home.tutorial.introduction.browseAllIntegrationsButton": "すべての統合を参照", "home.tutorial.introduction.imageAltDescription": "プライマリダッシュボードのスクリーンショット。", @@ -3965,6 +4261,7 @@ "indexPatternEditor.typeSelect.standard": "スタンダード", "indexPatternEditor.typeSelect.standardDescription": "すべてのデータに完全アグリゲーションを実行", "indexPatternEditor.typeSelect.standardTitle": "標準データビュー", + "indexPatternEditor.validations.noSingleAstriskPattern": "単一の「*」は許可されたパターンではありません", "indexPatternEditor.validations.titleHelpText": "1つ以上のデータソースと一致するインデックスパターンを入力します。複数の文字の一致にアスタリスク(*)を使用します。ペースと / ? , \" < > | 文字は使用できません。", "indexPatternEditor.validations.titleIsRequiredErrorMessage": "名前が必要です。", "indexPatternFieldEditor.cancelField.confirmationModal.cancelButtonLabel": "キャンセル", @@ -4028,8 +4325,10 @@ "indexPatternFieldEditor.editor.form.runtimeType.placeholderLabel": "タイプを選択", "indexPatternFieldEditor.editor.form.runtimeTypeLabel": "型", "indexPatternFieldEditor.editor.form.script.learnMoreLinkText": "スクリプト構文の詳細を参照してください。", + "indexPatternFieldEditor.editor.form.scriptEditor.castErrorMessage": "ランタイムフィールド型を正常に設定したことを検証してください。", "indexPatternFieldEditor.editor.form.scriptEditor.compileErrorMessage": "Painlessスクリプトのコンパイルエラー", "indexPatternFieldEditor.editor.form.scriptEditorAriaLabel": "スクリプトエディター", + "indexPatternFieldEditor.editor.form.scriptEditorPainlessValidationMessage": "無効なPainlessスクリプトです。", "indexPatternFieldEditor.editor.form.source.scriptFieldHelpText": "スクリプトがないランタイムフィールドは、{source}から値を取得します。フィールドが_sourceに存在しない場合は、検索リクエストは値を返しません。{learnMoreLink}", "indexPatternFieldEditor.editor.form.typeSelectAriaLabel": "タイプ選択", "indexPatternFieldEditor.editor.form.validations.customLabelIsRequiredErrorMessage": "フィールドにラベルを付けます。", @@ -4048,10 +4347,17 @@ "indexPatternFieldEditor.fieldPreview.emptyPromptDescription": "既存のフィールドの名前を入力するか、スクリプトを定義して、計算された出力のプレビューを表示します。", "indexPatternFieldEditor.fieldPreview.emptyPromptTitle": "プレビュー", "indexPatternFieldEditor.fieldPreview.error.documentNotFoundDescription": "ドキュメントIDが見つかりません", - "indexPatternFieldEditor.fieldPreview.errorCallout.title": "プレビューエラー", + "indexPatternFieldEditor.fieldPreview.error.errorLoadingDocumentDescription": "ドキュメントの読み込みエラーです。", + "indexPatternFieldEditor.fieldPreview.error.errorLoadingSampleDocumentsDescription": "サンプルドキュメントの読み込みエラーです。", + "indexPatternFieldEditor.fieldPreview.error.painlessSyntax": "無効なPainless構文", + "indexPatternFieldEditor.fieldPreview.errorCallout.title": "データの取得エラー", "indexPatternFieldEditor.fieldPreview.errorTitle": "フィールドプレビューを読み込めませんでした", + "indexPatternFieldEditor.fieldPreview.fieldNameNotSetLabel": "フィールド名が設定されていません", "indexPatternFieldEditor.fieldPreview.filterFieldsPlaceholder": "フィールドのフィルタリング", + "indexPatternFieldEditor.fieldPreview.notAvailableWarningCallout.description": "ランタイムフィールドプレビューは無効です。クラスターから取得できるドキュメントがありませんでした。", + "indexPatternFieldEditor.fieldPreview.notAvailableWarningCallout.title": "プレビューを利用できません", "indexPatternFieldEditor.fieldPreview.pinFieldButtonLabel": "フィールドを固定", + "indexPatternFieldEditor.fieldPreview.scriptErrorBadgeLabel": "スクリプトエラー", "indexPatternFieldEditor.fieldPreview.searchResult.emptyPrompt.clearSearchButtonLabel": "検索のクリア", "indexPatternFieldEditor.fieldPreview.searchResult.emptyPromptTitle": "このデータビューには一致するフィールドがありません", "indexPatternFieldEditor.fieldPreview.showLessFieldsButtonLabel": "簡易表示", @@ -4060,8 +4366,10 @@ "indexPatternFieldEditor.fieldPreview.subTitle.customData": "カスタムデータ", "indexPatternFieldEditor.fieldPreview.title": "プレビュー", "indexPatternFieldEditor.fieldPreview.updatingPreviewLabel": "更新中...", + "indexPatternFieldEditor.fieldPreview.valueNotSetLabel": "値が設定されていません", "indexPatternFieldEditor.fieldPreview.viewImageButtonLabel": "画像を表示", "indexPatternFieldEditor.formatHeader": "フォーマット", + "indexPatternFieldEditor.geoPoint.transformLabel": "変換", "indexPatternFieldEditor.histogram.histogramAsNumberLabel": "アグリゲーションされた数値形式", "indexPatternFieldEditor.histogram.numeralLabel": "数値形式パターン(任意)", "indexPatternFieldEditor.histogram.subFormat.bytes": "バイト", @@ -4555,7 +4863,7 @@ "presentationUtil.labs.components.browserSwitchName": "ブラウザー", "presentationUtil.labs.components.calloutHelp": "変更を適用するには更新します", "presentationUtil.labs.components.closeButtonLabel": "閉じる", - "presentationUtil.labs.components.descriptionMessage": "開発中の機能や実験的な機能を試します。", + "presentationUtil.labs.components.descriptionMessage": "開発中の機能やテクニカルプレビュー中の機能を試します。", "presentationUtil.labs.components.disabledStatusMessage": "デフォルト: {status}", "presentationUtil.labs.components.enabledStatusMessage": "デフォルト: {status}", "presentationUtil.labs.components.kibanaSwitchHelp": "すべてのKibanaユーザーでこのラボを有効にします。", @@ -4660,9 +4968,14 @@ "savedObjectsManagement.objectsTable.flyout.importSavedObjectTitle": "保存されたオブジェクトのインポート", "savedObjectsManagement.objectsTable.flyout.importSuccessful.confirmAllChangesButtonLabel": "すべての変更を確定", "savedObjectsManagement.objectsTable.flyout.importSuccessful.confirmButtonLabel": "完了", + "savedObjectsManagement.objectsTable.flyout.indexPatternConflictsCalloutLinkText": "新規インデックスパターンを作成", + "savedObjectsManagement.objectsTable.flyout.indexPatternConflictsDescription": "次の保存されたオブジェクトは、存在しないインデックスパターンを使用しています。関連付け直す別のインデックスパターンを選択してください。必要に応じて、{indexPatternLink}できます。", + "savedObjectsManagement.objectsTable.flyout.indexPatternConflictsTitle": "インデックスパターンの矛盾", "savedObjectsManagement.objectsTable.flyout.renderConflicts.columnCountDescription": "影響されるオブジェクトの数です", "savedObjectsManagement.objectsTable.flyout.renderConflicts.columnCountName": "カウント", + "savedObjectsManagement.objectsTable.flyout.renderConflicts.columnIdDescription": "インデックスパターンのIDです", "savedObjectsManagement.objectsTable.flyout.renderConflicts.columnIdName": "ID", + "savedObjectsManagement.objectsTable.flyout.renderConflicts.columnNewIndexPatternName": "新規インデックスパターン", "savedObjectsManagement.objectsTable.flyout.renderConflicts.columnSampleOfAffectedObjectsDescription": "影響されるオブジェクトのサンプル", "savedObjectsManagement.objectsTable.flyout.renderConflicts.columnSampleOfAffectedObjectsName": "影響されるオブジェクトのサンプル", "savedObjectsManagement.objectsTable.flyout.selectFileToImportFormRowLabel": "インポートするファイルを選択してください", @@ -4768,6 +5081,8 @@ "share.urlService.redirect.RedirectManager.missingParamLocator": "ロケーターIDが指定されていません。URLで「l」検索パラメーターを指定します。これは既存のロケーターIDにしてください。", "share.urlService.redirect.RedirectManager.missingParamParams": "ロケーターパラメーターが指定されていません。URLで「p」検索パラメーターを指定します。これはロケーターパラメーターのJSONシリアル化オブジェクトにしてください。", "share.urlService.redirect.RedirectManager.missingParamVersion": "ロケーターパラメーターバージョンが指定されていません。URLで「v」検索パラメーターを指定します。これはロケーターパラメーターが生成されたときのKibanaのリリースバージョンです。", + "sharedUX.exitFullScreenButton.exitFullScreenModeButtonText": "全画面を終了", + "sharedUX.exitFullScreenButton.fullScreenModeDescription": "ESC キーで全画面モードを終了します。", "telemetry.callout.appliesSettingTitle": "この設定に加えた変更は {allOfKibanaText} に適用され、自動的に保存されます。", "telemetry.callout.appliesSettingTitle.allOfKibanaText": "Kibana のすべて", "telemetry.callout.clusterStatisticsDescription": "これは収集される基本的なクラスター統計の例です。インデックス、シャード、ノードの数が含まれます。監視がオンになっているかどうかなどのハイレベルの使用統計も含まれます。", @@ -4961,7 +5276,7 @@ "timelion.timelionDescription": "グラフに時系列データを表示します。", "timelion.uiSettings.defaultIndexDescription": "{esParam} で検索するデフォルトの Elasticsearch インデックスです", "timelion.uiSettings.defaultIndexLabel": "デフォルトのインデックス", - "timelion.uiSettings.experimentalLabel": "実験的", + "timelion.uiSettings.experimentalLabel": "テクニカルプレビュー", "timelion.uiSettings.graphiteURLDescription": "{experimentalLabel} Graphite ホストの URL", "timelion.uiSettings.graphiteURLLabel": "Graphite URL", "timelion.uiSettings.legacyChartsLibraryDeprication": "この設定はサポートが終了し、将来のバージョンではサポートされません。", @@ -5156,6 +5471,39 @@ "visDefaultEditor.sidebar.tabs.optionsLabel": "オプション", "visDefaultEditor.sidebar.updateChartButtonLabel": "更新", "visDefaultEditor.sidebar.updateInfoTooltip": "CTRL + Enterは更新のショートカットです。", + "visTypeHeatmap.advancedSettings.visualization.legacyHeatmapChartsLibrary.description": "Visualizeでヒートマップのレガシーグラフライブラリを有効にします。", + "visTypeHeatmap.advancedSettings.visualization.legacyHeatmapChartsLibrary.name": "ヒートマップのレガシーグラフライブラリ", + "visTypeHeatmap.controls.heatmapOptions.colorLabel": "色", + "visTypeHeatmap.controls.heatmapOptions.colorScaleLabel": "カラースケール", + "visTypeHeatmap.controls.heatmapOptions.colorsNumberLabel": "色の数", + "visTypeHeatmap.controls.heatmapOptions.labelsTitle": "ラベル", + "visTypeHeatmap.controls.heatmapOptions.overwriteAutomaticColorLabel": "自動カラーを上書きする", + "visTypeHeatmap.controls.heatmapOptions.rotateLabel": "回転", + "visTypeHeatmap.controls.heatmapOptions.scaleToDataBoundsLabel": "データバウンドに合わせる", + "visTypeHeatmap.controls.heatmapOptions.showLabelsTitle": "ラベルを表示", + "visTypeHeatmap.controls.heatmapOptions.useCustomRangesLabel": "カスタム範囲を使用", + "visTypeHeatmap.editors.heatmap.basicSettingsTitle": "基本設定", + "visTypeHeatmap.editors.heatmap.colorScaleTooltipNotAvailable": "カラースケールは新しいグラフライブラリでサポートされていません。ヒートマップのレガシーグラフライブラリと詳細設定を有効にしてください。", + "visTypeHeatmap.editors.heatmap.heatmapSettingsTitle": "ヒートマップ設定", + "visTypeHeatmap.editors.heatmap.highlightLabel": "ハイライト範囲", + "visTypeHeatmap.editors.heatmap.highlightLabelTooltip": "チャートのカーソルを当てた部分と凡例の対応するラベルをハイライトします。", + "visTypeHeatmap.editors.heatmap.highlightLabelTooltipNotAvailable": "カーソルで選択した範囲のハイライトは、新しいグラフライブラリでまだサポートされていません。ヒートマップのレガシーグラフライブラリと詳細設定を有効にしてください。", + "visTypeHeatmap.editors.heatmap.overwriteColorlNotAvailable": "自動色の上書きは新しいグラフライブラリでサポートされていません。ヒートマップのレガシーグラフライブラリと詳細設定を有効にしてください。", + "visTypeHeatmap.editors.heatmap.rotateLabelNotAvailable": "ラベルの回転は新しいグラフライブラリでサポートされていません。ヒートマップのレガシーグラフライブラリと詳細設定を有効にしてください。", + "visTypeHeatmap.heatmap.groupTitle": "Y 軸", + "visTypeHeatmap.heatmap.heatmapDescription": "マトリックスのセルのデータを網掛けにします。", + "visTypeHeatmap.heatmap.heatmapTitle": "ヒートマップ", + "visTypeHeatmap.heatmap.metricTitle": "値", + "visTypeHeatmap.heatmap.segmentTitle": "X 軸", + "visTypeHeatmap.heatmap.splitTitle": "チャートを分割", + "visTypeHeatmap.legendPositions.bottomText": "一番下", + "visTypeHeatmap.legendPositions.leftText": "左", + "visTypeHeatmap.legendPositions.rightText": "右", + "visTypeHeatmap.legendPositions.topText": "トップ", + "visTypeHeatmap.scaleTypes.linearText": "線形", + "visTypeHeatmap.scaleTypes.logText": "ログ", + "visTypeHeatmap.scaleTypes.squareRootText": "平方根", + "visTypeHeatmap.splitTitle.tooltip": "分割グラフアグリゲーションは、新しいグラフライブラリでまだサポートされていません。分割グラフアグリゲーションを使用するには、ヒートマップのレガシーグラフライブラリと詳細設定を有効にしてください。", "visTypeMarkdown.function.font.help": "フォント設定です。", "visTypeMarkdown.function.help": "マークダウンビジュアライゼーション", "visTypeMarkdown.function.markdown.help": "レンダリングするマークダウン", @@ -5188,6 +5536,7 @@ "visTypePie.editors.pie.decimalSliderLabel": "割合の最大小数点桁数", "visTypePie.editors.pie.distinctColorsLabel": "スライスごとに異なる色を使用", "visTypePie.editors.pie.donutLabel": "ドーナッツ", + "visTypePie.editors.pie.emptySizeRatioLabel": "内側の領域のサイズ", "visTypePie.editors.pie.labelPositionLabel": "ラベル位置", "visTypePie.editors.pie.labelsSettingsTitle": "ラベル設定", "visTypePie.editors.pie.nestedLegendLabel": "ネスト凡例", @@ -5196,6 +5545,9 @@ "visTypePie.editors.pie.showTopLevelOnlyLabel": "トップレベルのみ表示", "visTypePie.editors.pie.showValuesLabel": "値を表示", "visTypePie.editors.pie.valueFormatsLabel": "値", + "visTypePie.emptySizeRatioOptions.large": "大", + "visTypePie.emptySizeRatioOptions.medium": "中", + "visTypePie.emptySizeRatioOptions.small": "小", "visTypePie.labelPositions.insideOrOutsideText": "内部または外部", "visTypePie.labelPositions.insideText": "内部", "visTypePie.legendPositions.bottomText": "一番下", @@ -5277,6 +5629,8 @@ "visTypeTimeseries.addDeleteButtons.deleteButtonDefaultTooltip": "削除", "visTypeTimeseries.addDeleteButtons.reEnableTooltip": "再度有効にする", "visTypeTimeseries.addDeleteButtons.temporarilyDisableTooltip": "一時的に無効にする", + "visTypeTimeseries.advancedSettings.allowCheckingForFailedShardsText": "一部のシャードでリクエストが成功し、その他のシャードで失敗した場合に、TSVBグラフの部分データに関する警告メッセージを表示します。", + "visTypeTimeseries.advancedSettings.allowCheckingForFailedShardsTitle": "TSVBリクエストシャード失敗", "visTypeTimeseries.advancedSettings.allowStringIndicesText": "TSVBビジュアライゼーションでインデックスパターンとElasticsearchを使用できます。", "visTypeTimeseries.advancedSettings.allowStringIndicesTitle": "TSVBで文字列インデックスを許可", "visTypeTimeseries.advancedSettings.maxBucketsText": "TSVBヒストグラム密度に影響します。「histogram:maxBars」よりも大きく設定する必要があります。", @@ -5321,6 +5675,7 @@ "visTypeTimeseries.aggUtils.topHitLabel": "トップヒット", "visTypeTimeseries.aggUtils.valueCountLabel": "値カウント", "visTypeTimeseries.aggUtils.varianceLabel": "相異", + "visTypeTimeseries.annotationRequest.label": "注釈:{id}", "visTypeTimeseries.annotationsEditor.addDataSourceButtonLabel": "データソースを追加", "visTypeTimeseries.annotationsEditor.dataSourcesLabel": "データソース", "visTypeTimeseries.annotationsEditor.fieldsLabel": "フィールド(必須 - コンマ区切りのパス)", @@ -5397,12 +5752,14 @@ "visTypeTimeseries.error.requestForPanelFailedErrorMessage": "このパネルのリクエストに失敗しました", "visTypeTimeseries.errors.fieldNotFound": "フィールド\"{field}\"が見つかりません", "visTypeTimeseries.errors.maxBucketsExceededErrorMessage": "クエリが取得を試みたデータが多すぎます。通常、時間範囲を狭くするか、使用される間隔を変更すると、問題が解決します。", + "visTypeTimeseries.errors.timeFieldNotSpecifiedError": "データを可視化するには、時刻フィールドが必要です", "visTypeTimeseries.externalUrlErrorModal.bodyMessage": "{kibanaConfigFileName}で{externalUrlPolicy}を構成し、{url}へのアクセスを許可します。", "visTypeTimeseries.externalUrlErrorModal.closeButtonLabel": "閉じる", "visTypeTimeseries.externalUrlErrorModal.headerTitle": "この外部URLへのアクセスはまだ有効ではありません", "visTypeTimeseries.fetchFields.loadIndexPatternFieldsErrorMessage": "index_pattern フィールドを読み込めません", "visTypeTimeseries.fieldSelect.fieldIsNotValid": "\"{fieldParameter}\"フィールドは無効であり、現在のインデックスで使用できません。新しいフィールドを選択してください。", "visTypeTimeseries.fieldSelect.selectFieldPlaceholder": "フィールドを選択してください...", + "visTypeTimeseries.filterCannotBeAppliedError": "この構成ではフィルターを適用できません", "visTypeTimeseries.filterRatio.aggregationLabel": "アグリゲーション", "visTypeTimeseries.filterRatio.denominatorLabel": "分母", "visTypeTimeseries.filterRatio.fieldLabel": "フィールド", @@ -5610,6 +5967,7 @@ "visTypeTimeseries.seriesConfig.overrideDataViewLabel": "データビューを上書きしますか?", "visTypeTimeseries.seriesConfig.templateHelpText": "eg. {templateExample}", "visTypeTimeseries.seriesConfig.templateLabel": "テンプレート", + "visTypeTimeseries.seriesRequest.label": "系列:{id}", "visTypeTimeseries.sort.dragToSortAriaLabel": "ドラッグして並べ替えます", "visTypeTimeseries.sort.dragToSortTooltip": "ドラッグして並べ替えます", "visTypeTimeseries.splits.everything.groupByLabel": "グループ分けの条件", @@ -5691,6 +6049,7 @@ "visTypeTimeseries.table.templateHelpText": "eg.{templateExample}", "visTypeTimeseries.table.templateLabel": "テンプレート", "visTypeTimeseries.table.toggleSeriesEditorAriaLabel": "数列エディターを切り替える", + "visTypeTimeseries.tableRequest.label": "表:{id}", "visTypeTimeseries.timeSeries.addSeriesTooltip": "数列を追加", "visTypeTimeseries.timeseries.annotationsTab.annotationsButtonLabel": "注釈", "visTypeTimeseries.timeSeries.axisMaxLabel": "軸最大値", @@ -5811,6 +6170,7 @@ "visTypeTimeseries.visPicker.tableLabel": "表", "visTypeTimeseries.visPicker.timeSeriesLabel": "時系列", "visTypeTimeseries.visPicker.topNLabel": "トップ N", + "visTypeTimeseries.wrongAggregationErrorMessage": "{metricType}アグリゲーションは既存のパネル構成ではサポートされません。", "visTypeTimeseries.yesButtonLabel": "はい", "visTypeVega.deprecatedHistogramIntervalInfo.message": "連結された'interval'フィールドは廃止予定であり、2つの新しい明示的なフィールドの'calendar_interval'と'fixed_interval'がそれに代わります。{dateHistogramDoc}", "visTypeVega.editor.formatError": "仕様のフォーマット中にエラーが発生", @@ -5845,7 +6205,7 @@ "visTypeVega.inspector.vegaAdapter.signal": "信号", "visTypeVega.inspector.vegaAdapter.value": "値", "visTypeVega.inspector.vegaDebugLabel": "Vegaデバッグ", - "visTypeVega.mapView.experimentalMapLayerInfo": "マップレイヤーはまだ実験段階であり、オフィシャルGA機能のサポートSLAが適用されません。フィードバックがある場合は、{githubLink}で問題を報告してください。", + "visTypeVega.mapView.experimentalMapLayerInfo": "この機能はテクニカルプレビュー中であり、将来のリリースでは変更されたり完全に削除されたりする場合があります。Elasticは最善の努力を講じてすべての問題の修正に努めますが、テクニカルプレビュー中の機能には正式なGA機能のサポートSLAが適用されません。フィードバックがある場合は、{githubLink}で問題を報告してください。", "visTypeVega.mapView.mapStyleNotFoundWarningMessage": "{mapStyleParam} が見つかりませんでした", "visTypeVega.mapView.minZoomAndMaxZoomHaveBeenSwappedWarningMessage": "{minZoomPropertyName} と {maxZoomPropertyName} が交換されました", "visTypeVega.mapView.resettingPropertyToMaxValueWarningMessage": "{name} を {max} にリセットしています", @@ -6132,15 +6492,32 @@ "visTypeXy.thresholdLine.style.dashedText": "鎖線", "visTypeXy.thresholdLine.style.dotdashedText": "点線", "visTypeXy.thresholdLine.style.fullText": "完全", - "visualizations.advancedSettings.visualizeEnableLabsText": "ユーザーが実験的なビジュアライゼーションを作成、表示、編集できるようになります。無効の場合、\n ユーザーは本番準備が整ったビジュアライゼーションのみを利用できます。", - "visualizations.advancedSettings.visualizeEnableLabsTitle": "実験的なビジュアライゼーションを有効にする", + "visualizations.advancedSettings.visualizeEnableLabsText": "ユーザーは、テクニカルプレビュー中のビジュアライゼーションを作成、表示、編集できます。\n 無効な場合、ユーザーは本番準備が整ったビジュアライゼーションのみを利用できます。", + "visualizations.advancedSettings.visualizeEnableLabsTitle": "テクニカルプレビュー中のビジュアライゼーションを有効にする", + "visualizations.badge.readOnly.text": "読み取り専用", + "visualizations.badge.readOnly.tooltip": "ビジュアライゼーションをライブラリに保存できません", + "visualizations.byValue_pageHeading": "{originatingApp}アプリに埋め込まれた{chartType}タイプのビジュアライゼーション", + "visualizations.confirmModal.cancelButtonLabel": "キャンセル", + "visualizations.confirmModal.confirmTextDescription": "変更を保存せずにVisualizeエディターから移動しますか?", + "visualizations.confirmModal.overwriteButtonLabel": "上書き", + "visualizations.confirmModal.overwriteConfirmationMessage": "{title} を上書きしてよろしいですか?", + "visualizations.confirmModal.overwriteTitle": "{name} を上書きしますか?", + "visualizations.confirmModal.saveDuplicateButtonLabel": "{name} を保存", + "visualizations.confirmModal.saveDuplicateConfirmationMessage": "「{title}」というタイトルの {name} がすでに存在します。保存しますか?", + "visualizations.confirmModal.title": "保存されていない変更", + "visualizations.createVisualization.failedToLoadErrorMessage": "ビジュアライゼーションを読み込めませんでした", + "visualizations.createVisualization.noIndexPatternOrSavedSearchIdErrorMessage": "indexPatternまたはsavedSearchIdが必要です", + "visualizations.createVisualization.noVisTypeErrorMessage": "有効なビジュアライゼーションタイプを指定してください", "visualizations.disabledLabVisualizationLink": "ドキュメンテーションを表示", "visualizations.disabledLabVisualizationMessage": "ラボビジュアライゼーションを表示するには、高度な設定でラボモードをオンにしてください。", "visualizations.disabledLabVisualizationTitle": "{title} はラボビジュアライゼーションです。", "visualizations.displayName": "ビジュアライゼーション", + "visualizations.editor.createBreadcrumb": "作成", + "visualizations.editor.defaultEditBreadcrumbText": "ビジュアライゼーションを編集", "visualizations.embeddable.inspectorTitle": "インスペクター", "visualizations.embeddable.legacyURLConflict.errorMessage": "このビジュアライゼーションにはレガシーエイリアスと同じURLがあります。このエラーを解決するには、エイリアスを無効にしてください:{json}", "visualizations.embeddable.placeholderTitle": "プレースホルダータイトル", + "visualizations.experimentalVisInfoText": "この機能はテクニカルプレビュー中であり、将来のリリースでは変更されたり完全に削除されたりする場合があります。Elasticは最善の努力を講じてすべての問題の修正に努めますが、テクニカルプレビュー中の機能には正式なGA機能のサポートSLAが適用されません。フィードバックがある場合は、{githubLink}で問題を報告してください。", "visualizations.function.range.from.help": "範囲の開始", "visualizations.function.range.help": "範囲オブジェクトを生成します", "visualizations.function.range.to.help": "範囲の終了", @@ -6153,12 +6530,34 @@ "visualizations.function.xyDimension.label.help": "ラベル", "visualizations.function.xyDimension.params.help": "パラメーター", "visualizations.function.xyDimension.visDimension.help": "ディメンションオブジェクト構成", + "visualizations.helpMenu.appName": "Visualizeライブラリ", "visualizations.initializeWithoutIndexPatternErrorMessage": "インデックスパターンなしで集約を初期化しようとしています", + "visualizations.legacyCharts.conditionalMessage.noPermissions": "古いライブラリに切り替えるには、システム管理者に連絡してください。", + "visualizations.legacyUrlConflict.objectNoun": "{visName}ビジュアライゼーション", + "visualizations.linkedToSearch.unlinkSuccessNotificationText": "保存された検索「{searchTitle}」からリンクが解除されました", + "visualizations.listing.betaTitle": "ベータ", + "visualizations.listing.betaTooltip": "このビジュアライゼーションはベータ段階で、変更される可能性があります。デザインとコードはオフィシャルGA機能よりも完成度が低く、現状のまま保証なしで提供されています。ベータ機能にはオフィシャルGA機能のSLAが適用されません", + "visualizations.listing.breadcrumb": "Visualizeライブラリ", + "visualizations.listing.createNew.createButtonLabel": "新規ビジュアライゼーションを追加", + "visualizations.listing.createNew.description": "データに基づき異なるビジュアライゼーションを作成できます。", + "visualizations.listing.createNew.title": "最初のビジュアライゼーションの作成", + "visualizations.listing.experimentalTitle": "テクニカルプレビュー", + "visualizations.listing.experimentalTooltip": "この機能はテクニカルプレビュー中であり、将来のリリースでは変更されたり完全に削除されたりする場合があります。Elasticは最善の努力を講じてすべての問題の修正に努めますが、テクニカルプレビュー中の機能には正式なGA機能のサポートSLAが適用されません。", + "visualizations.listing.table.descriptionColumnName": "説明", + "visualizations.listing.table.entityName": "ビジュアライゼーション", + "visualizations.listing.table.entityNamePlural": "ビジュアライゼーション", + "visualizations.listing.table.listTitle": "Visualizeライブラリ", + "visualizations.listing.table.titleColumnName": "タイトル", + "visualizations.listing.table.typeColumnName": "型", + "visualizations.listingPageTitle": "Visualizeライブラリ", + "visualizations.newHeatmapChart.conditionalMessage.advancedSettingsLink": "高度な設定", + "visualizations.newHeatmapChart.conditionalMessage.newLibrary": "{link}で古いライブラリに切り替える", + "visualizations.newHeatmapChart.notificationMessage": "新しいヒートマップグラフライブラリはまだ分割グラフアグリゲーションをサポートしていません。{conditionalMessage}", "visualizations.newVisWizard.aggBasedGroupDescription": "クラシック Visualize ライブラリを使用して、アグリゲーションに基づいてグラフを作成します。", "visualizations.newVisWizard.aggBasedGroupTitle": "アグリゲーションに基づく", "visualizations.newVisWizard.chooseSourceTitle": "ソースの選択", - "visualizations.newVisWizard.experimentalTitle": "実験的", - "visualizations.newVisWizard.experimentalTooltip": "このビジュアライゼーションは今後のリリースで変更または削除される可能性があり、SLA のサポート対象になりません。", + "visualizations.newVisWizard.experimentalTitle": "テクニカルプレビュー", + "visualizations.newVisWizard.experimentalTooltip": "この機能はテクニカルプレビュー中であり、将来のリリースでは変更されたり完全に削除されたりする場合があります。Elasticは最善の努力を講じてすべての問題の修正に努めますが、テクニカルプレビュー中の機能には正式なGA機能のサポートSLAが適用されません。", "visualizations.newVisWizard.exploreOptionLinkText": "探索オプション", "visualizations.newVisWizard.filterVisTypeAriaLabel": "ビジュアライゼーションのタイプでフィルタリング", "visualizations.newVisWizard.goBackLink": "別のビジュアライゼーションを選択", @@ -6171,10 +6570,42 @@ "visualizations.newVisWizard.searchSelection.savedObjectType.search": "保存検索", "visualizations.newVisWizard.title": "新規ビジュアライゼーション", "visualizations.newVisWizard.toolsGroupTitle": "ツール", + "visualizations.noMatchRoute.bannerText": "Visualizeアプリケーションはこのルートを認識できません。{route}", + "visualizations.noMatchRoute.bannerTitleText": "ページが見つかりません", "visualizations.noResultsFoundTitle": "結果が見つかりませんでした", + "visualizations.overwriteRejectedDescription": "上書き確認が拒否されました", + "visualizations.pageHeading": "{chartName} {chartType}ビジュアライゼーション", + "visualizations.reporting.defaultReportTitle": "ビジュアライゼーション[{date}]", "visualizations.savedObjectName": "ビジュアライゼーション", + "visualizations.saveDuplicateRejectedDescription": "重複ファイルの保存確認が拒否されました", "visualizations.savingVisualizationFailed.errorMsg": "ビジュアライゼーションの保存が失敗しました", + "visualizations.topNavMenu.cancelAndReturnButtonTooltip": "完了する前に変更を破棄", + "visualizations.topNavMenu.cancelButtonAriaLabel": "変更を保存せずに最後に使用していたアプリに戻る", + "visualizations.topNavMenu.cancelButtonLabel": "キャンセル", + "visualizations.topNavMenu.openInspectorButtonAriaLabel": "ビジュアライゼーションのインスペクターを開く", + "visualizations.topNavMenu.openInspectorButtonLabel": "検査", + "visualizations.topNavMenu.openInspectorDisabledButtonTooltip": "このビジュアライゼーションはインスペクターをサポートしていません。", + "visualizations.topNavMenu.saveAndReturnVisualizationButtonAriaLabel": "可視化の編集が完了し、前回使用していたアプリに戻ります", + "visualizations.topNavMenu.saveAndReturnVisualizationButtonLabel": "保存して戻る", + "visualizations.topNavMenu.saveAndReturnVisualizationDisabledButtonTooltip": "完了する前に変更を適用または破棄", + "visualizations.topNavMenu.saveVisualization.failureNotificationText": "「{visTitle}」の保存中にエラーが発生しました", + "visualizations.topNavMenu.saveVisualization.successNotificationText": "保存された'{visTitle}'", + "visualizations.topNavMenu.saveVisualizationAsButtonLabel": "名前を付けて保存", + "visualizations.topNavMenu.saveVisualizationButtonAriaLabel": "ビジュアライゼーションを保存", + "visualizations.topNavMenu.saveVisualizationButtonLabel": "保存", + "visualizations.topNavMenu.saveVisualizationDisabledButtonTooltip": "保存する前に変更を適用または破棄", + "visualizations.topNavMenu.saveVisualizationObjectType": "ビジュアライゼーション", + "visualizations.topNavMenu.saveVisualizationToLibraryButtonLabel": "ライブラリに保存", + "visualizations.topNavMenu.shareVisualizationButtonAriaLabel": "ビジュアライゼーションを共有", + "visualizations.topNavMenu.shareVisualizationButtonLabel": "共有", + "visualizations.topNavMenu.updatePanel": "{originatingAppName}でパネルを更新", + "visualizations.visualizationLoadingFailedErrorMessage": "ビジュアライゼーションを読み込めませんでした", "visualizations.visualizationTypeInvalidMessage": "無効なビジュアライゼーションタイプ \"{visType}\"", + "visualizations.visualizeDescription": "ビジュアライゼーションを作成してElasticsearchインデックスに保存されたデータをアグリゲーションします。", + "visualizations.visualizeListingBreadcrumbsTitle": "Visualizeライブラリ", + "visualizations.visualizeListingDashboardAppName": "ダッシュボードアプリケーション", + "visualizations.visualizeListingDashboardFlowDescription": "ダッシュボードを作成しますか?{dashboardApp}から直接ビジュアライゼーションを作成して追加します。", + "visualizations.visualizeListingDeleteErrorTitle": "ビジュアライゼーションの削除中にエラーが発生", "xpack.actions.actionTypeRegistry.get.missingActionTypeErrorMessage": "アクションタイプ「{id}」は登録されていません。", "xpack.actions.actionTypeRegistry.register.duplicateActionTypeErrorMessage": "アクションタイプ「{id}」はすでに登録されています。", "xpack.actions.alertHistoryEsIndexConnector.name": "アラート履歴Elasticsearchインデックス", @@ -6251,8 +6682,16 @@ "xpack.alerting.rulesClient.invalidDate": "パラメーター{field}の無効な日付:「{dateValue}」", "xpack.alerting.rulesClient.validateActions.invalidGroups": "無効なアクショングループ:{groups}", "xpack.alerting.rulesClient.validateActions.misconfiguredConnector": "無効なコネクター:{groups}", + "xpack.alerting.ruleTypeRegistry.get.missingRuleTypeError": "ルールタイプ「{id}」は登録されていません。", "xpack.alerting.ruleTypeRegistry.register.customRecoveryActionGroupUsageError": "ルールタイプ[id=\"{id}\"]を登録できません。アクショングループ [{actionGroup}] は、復元とアクティブなアクショングループの両方として使用できません。", + "xpack.alerting.ruleTypeRegistry.register.duplicateRuleTypeError": "ルールタイプ\"{id}\"はすでに登録されています。", + "xpack.alerting.ruleTypeRegistry.register.invalidDefaultTimeoutRuleTypeError": "ルールタイプ\"{id}\"のデフォルト間隔が無効です:{errorMessage}。", + "xpack.alerting.ruleTypeRegistry.register.invalidMinimumTimeoutRuleTypeError": "ルールタイプ\"{id}\"の最低間隔が無効です:{errorMessage}。", + "xpack.alerting.ruleTypeRegistry.register.invalidTimeoutRuleTypeError": "ルールタイプ\"{id}\"のタイムアウトが無効です:{errorMessage}。", "xpack.alerting.savedObjects.goToRulesButtonText": "ルールに移動", + "xpack.alerting.serverSideErrors.expirerdLicenseErrorMessage": "{licenseType}ライセンスの期限が切れたため、ルールタイプ{ruleTypeId}は無効です。", + "xpack.alerting.serverSideErrors.invalidLicenseErrorMessage": "{licenseType}ライセンスが必要であるため、ルール{ruleTypeId}は無効です。アップグレードオプションを表示するには、[ライセンス管理]に移動してください。", + "xpack.alerting.serverSideErrors.unavailableLicenseErrorMessage": "現時点でライセンス情報を入手できないため、ルール{ruleTypeId}は無効です。", "xpack.alerting.serverSideErrors.unavailableLicenseInformationErrorMessage": "アラートを利用できません。現在ライセンス情報が利用できません。", "xpack.apm.a.thresholdMet": "しきい値一致", "xpack.apm.addDataButtonLabel": "データの追加", @@ -6370,7 +6809,7 @@ "xpack.apm.alertAnnotationButtonAriaLabel": "アラート詳細を表示", "xpack.apm.alertAnnotationCriticalTitle": "重大アラート", "xpack.apm.alertAnnotationNoSeverityTitle": "アラート", - "xpack.apm.alertAnnotationTooltipExperimentalText": "実験的", + "xpack.apm.alertAnnotationTooltipExperimentalText": "テクニカルプレビュー", "xpack.apm.alertAnnotationTooltipMoreDetailsText": "ここをクリックして詳細を参照してください。", "xpack.apm.alertAnnotationWarningTitle": "警告アラート", "xpack.apm.alerting.fields.allOption": "すべて", @@ -6394,6 +6833,7 @@ "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.transactionDurationAnomaly.description": "サービスのレイテンシが異常であるときにアラートを表示します。", + "xpack.apm.alertTypes.transactionDurationAnomaly.reason": "過去{interval}における{serviceName}のスコア{measured}の{severityLevel}異常が検知されました。", "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.transactionErrorRate.description": "サービスのトランザクションエラー率が定義されたしきい値を超過したときにアラートを発行します。", "xpack.apm.analyzeDataButton.label": "データの探索", @@ -6439,6 +6879,9 @@ "xpack.apm.chart.error": "データの取得時にエラーが発生しました。再試行してください", "xpack.apm.chart.memorySeries.systemAverageLabel": "平均", "xpack.apm.chart.memorySeries.systemMaxLabel": "最高", + "xpack.apm.coldstartRate": "コールドスタート率", + "xpack.apm.coldstartRate.chart.coldstartRate": "コールドスタート率(平均)", + "xpack.apm.coldstartRate.chart.coldstartRate.previousPeriodLabel": "前の期間", "xpack.apm.compositeSpanCallsLabel": "、{count}件の呼び出し、平均{duration}", "xpack.apm.compositeSpanDurationLabel": "平均時間", "xpack.apm.correlations.cancelButtonTitle": "キャンセル", @@ -6449,7 +6892,7 @@ "xpack.apm.correlations.correlationsTable.excludeLabel": "除外", "xpack.apm.correlations.correlationsTable.filterDescription": "値でフィルタリング", "xpack.apm.correlations.correlationsTable.filterLabel": "フィルター", - "xpack.apm.correlations.correlationsTable.loadingText": "読み込み中", + "xpack.apm.correlations.correlationsTable.loadingText": "読み込み中...", "xpack.apm.correlations.correlationsTable.noDataText": "データなし", "xpack.apm.correlations.failedTransactions.correlationsTable.failurePercentageDescription": "失敗したトランザクションでこの用語が表示される時間の割合。", "xpack.apm.correlations.failedTransactions.correlationsTable.failurePercentageLabel": "失敗%", @@ -6591,7 +7034,7 @@ "xpack.apm.fleet_integration.settings.apm.defaultServiceEnvironmentTitle": "サービス構成", "xpack.apm.fleet_integration.settings.apm.expvarEnabledDescription": "/debug/varsの下に公開されます", "xpack.apm.fleet_integration.settings.apm.expvarEnabledTitle": "APM Server Golang expvarサポートを有効にする", - "xpack.apm.fleet_integration.settings.apm.hostDescription": "この統合の使用方法を識別できるように、名前と説明を選択してください。", + "xpack.apm.fleet_integration.settings.apm.hostDescription": "ホストは、サーバーがリスニングしているホストとポートを定義します。URLは、Elastic CloudまたはECKでデプロイするための変更できない公開アクセス可能なサーバーです。", "xpack.apm.fleet_integration.settings.apm.hostLabel": "ホスト", "xpack.apm.fleet_integration.settings.apm.hostTitle": "サーバー構成", "xpack.apm.fleet_integration.settings.apm.idleTimeoutLabel": "基本接続が終了するまでのアイドル時間", @@ -6602,7 +7045,7 @@ "xpack.apm.fleet_integration.settings.apm.maxHeaderBytesLabel": "リクエストヘッダーの最大サイズ(バイト)", "xpack.apm.fleet_integration.settings.apm.maxHeaderBytesTitle": "上限", "xpack.apm.fleet_integration.settings.apm.readTimeoutLabel": "リクエスト全体を読み取る最大期間", - "xpack.apm.fleet_integration.settings.apm.responseHeadersDescription": "リクエストヘッダーサイズおよびタイミング構成の上限を設定します。", + "xpack.apm.fleet_integration.settings.apm.responseHeadersDescription": "HTTP応答に追加されたカスタムHTTPヘッダー", "xpack.apm.fleet_integration.settings.apm.responseHeadersHelpText": "セキュリティポリシー遵守目的で使用できます。", "xpack.apm.fleet_integration.settings.apm.responseHeadersLabel": "HTTP応答に追加されたカスタムHTTPヘッダー", "xpack.apm.fleet_integration.settings.apm.responseHeadersTitle": "カスタムヘッダー", @@ -6612,9 +7055,14 @@ "xpack.apm.fleet_integration.settings.apm.urlLabel": "URL", "xpack.apm.fleet_integration.settings.apm.writeTimeoutLabel": "応答を書き込む最大時間", "xpack.apm.fleet_integration.settings.apmAgent.description": "{title}アプリケーションの計測を構成します。", + "xpack.apm.fleet_integration.settings.betaBadgeLabel": "ベータ", + "xpack.apm.fleet_integration.settings.betaBadgeTooltip": "このモジュールはGAではありません。不具合が発生したら報告してください。", "xpack.apm.fleet_integration.settings.disabledLabel": "無効", "xpack.apm.fleet_integration.settings.enabledLabel": "有効", "xpack.apm.fleet_integration.settings.optionalLabel": "オプション", + "xpack.apm.fleet_integration.settings.platinumBadgeLabel": "プラチナ", + "xpack.apm.fleet_integration.settings.platinumBadgeTooltipDescription": "Kibanaライセンスがプラチナではない場合、構成は保存されますが、無視されます。", + "xpack.apm.fleet_integration.settings.platinumBadgeTooltipTitle": "プラチナライセンスが必要です", "xpack.apm.fleet_integration.settings.requiredFieldLabel": "必須フィールド", "xpack.apm.fleet_integration.settings.requiredLabel": "必須", "xpack.apm.fleet_integration.settings.rum.enableRumDescription": "リアルユーザー監視(RUM)を有効にする", @@ -6634,6 +7082,16 @@ "xpack.apm.fleet_integration.settings.rum.settings.subtitle": "RUM JSエージェントの構成を管理します。", "xpack.apm.fleet_integration.settings.rum.settings.title": "リアルユーザー監視", "xpack.apm.fleet_integration.settings.selectOrCreateOptions": "オプションを選択または作成", + "xpack.apm.fleet_integration.settings.tailSampling.enableTailSamplingDescription": "テールベースサンプリングを有効にします。", + "xpack.apm.fleet_integration.settings.tailSampling.settings.subtitle": "サービスとトレースのテールベースサンプリングを管理します。", + "xpack.apm.fleet_integration.settings.tailSampling.settings.title": "テールベースサンプリング", + "xpack.apm.fleet_integration.settings.tailSampling.tailSamplingEnabledTitle": "テールベースサンプリングを有効にする", + "xpack.apm.fleet_integration.settings.tailSampling.tailSamplingInterval": "テールベースサンプリング間隔", + "xpack.apm.fleet_integration.settings.tailSampling.tailSamplingIntervalDescription": "複数のAPMサーバー間の同期間隔。数十秒または短い分数にしてください。", + "xpack.apm.fleet_integration.settings.tailSampling.tailSamplingIntervalTitle": "間隔", + "xpack.apm.fleet_integration.settings.tailSampling.tailSamplingPolicies": "テールサンプリングポリシー", + "xpack.apm.fleet_integration.settings.tailSampling.tailSamplingPoliciesDescription": "ポリシーはトレースイベントをサンプルレートにマッピングします。各ポリシーはサンプルレートを指定する必要があります。トレースイベントは指定された順序でポリシーと照合されます。トレースイベントが一致するには、すべてのポリシー条件をtrueにする必要があります。各ポリシーリストの最後は、サンプルレートのみを指定するポリシーにしてください。この最終ポリシーは、より厳密なポリシーと一致しない残りのトレースイベントを取り込むために使用されます。", + "xpack.apm.fleet_integration.settings.tailSampling.tailSamplingPoliciesTitle": "ポリシー", "xpack.apm.fleet_integration.settings.tls.settings.subtitle": "TLS構成の設定。", "xpack.apm.fleet_integration.settings.tls.settings.title": "TLS設定", "xpack.apm.fleet_integration.settings.tls.tlsCertificateLabel": "サーバー証明書へのファイルパス。", @@ -6644,6 +7102,7 @@ "xpack.apm.fleet_integration.settings.tls.tlsEnabledTitle": "TLS を有効にする", "xpack.apm.fleet_integration.settings.tls.tlsKeyLabel": "サーバー証明書鍵へのファイルパス", "xpack.apm.fleet_integration.settings.tls.tlsSupportedProtocolsLabel": "サポートされているプロトコルバージョン", + "xpack.apm.fleet_integration.settings.yamlCodeEditor": "YAMLコードエディター", "xpack.apm.fleetIntegration.apmAgent.discoveryRule.DragHandle": "ハンドルをドラッグ", "xpack.apm.fleetIntegration.apmAgent.editDisacoveryRule.operation": "演算", "xpack.apm.fleetIntegration.apmAgent.editDisacoveryRule.probe": "プローブ", @@ -6697,8 +7156,10 @@ "xpack.apm.home.alertsMenu.transactionDuration": "レイテンシ", "xpack.apm.home.alertsMenu.transactionErrorRate": "失敗したトランザクション率", "xpack.apm.home.alertsMenu.viewActiveAlerts": "ルールの管理", + "xpack.apm.home.infraTabLabel": "インフラストラクチャー", "xpack.apm.home.serviceLogsTabLabel": "ログ", "xpack.apm.home.serviceMapTabLabel": "サービスマップ", + "xpack.apm.infra.announcement": "インフラストラクチャデータは近日公開予定です", "xpack.apm.inspectButtonText": "検査", "xpack.apm.instancesLatencyDistributionChartLegend": "インスタンス", "xpack.apm.instancesLatencyDistributionChartLegend.previousPeriod": "前の期間", @@ -6746,7 +7207,7 @@ "xpack.apm.mlCallout.noJobsCalloutText": "APM の異常検知統合で、異常なトランザクションを特定し、アップストリームおよびダウンストリームサービスの正常性を確認します。わずか数分で開始できます。", "xpack.apm.mlCallout.noJobsCalloutTitle": "異常検知を有効にして、正常性ステータスインジケーターをサービスに追加します", "xpack.apm.mlCallout.updateAvailableCalloutButtonText": "ジョブの更新", - "xpack.apm.mlCallout.updateAvailableCalloutText": "劣化したパフォーマンスに関する詳細な分析を提供する異常検知ジョブを更新し、スループットと失敗したトランザクションレートの検知機能を追加しました。アップグレードを選択する場合は、新しいジョブが作成され、既存のレガシージョブが終了します。APMアプリに表示されるデータは自動的に新しいジョブに切り替わります。", + "xpack.apm.mlCallout.updateAvailableCalloutText": "劣化したパフォーマンスに関する詳細な分析を提供する異常検知ジョブを更新し、スループットと失敗したトランザクションレートの検知機能を追加しました。アップグレードを選択する場合は、新しいジョブが作成され、既存のレガシージョブが終了します。APMアプリに表示されるデータは自動的に新しいジョブに切り替わります。新しいジョブの作成を選択した場合は、すべての既存のジョブを移行するオプションを使用できません。", "xpack.apm.mlCallout.updateAvailableCalloutTitle": "更新が可能です", "xpack.apm.navigation.dependenciesTitle": "依存関係", "xpack.apm.navigation.serviceMapTitle": "サービスマップ", @@ -6778,8 +7239,8 @@ "xpack.apm.serviceDetails.metricsTabLabel": "メトリック", "xpack.apm.serviceDetails.nodesTabLabel": "JVM", "xpack.apm.serviceDetails.overviewTabLabel": "概要", - "xpack.apm.serviceDetails.profilingTabExperimentalDescription": "プロファイリングは実験的機能であり、内部利用専用です。", - "xpack.apm.serviceDetails.profilingTabExperimentalLabel": "実験的", + "xpack.apm.serviceDetails.profilingTabExperimentalDescription": "この機能はテクニカルプレビュー中であり、将来のリリースでは変更されたり完全に削除されたりする場合があります。Elasticは最善の努力を講じてすべての問題の修正に努めますが、テクニカルプレビュー中の機能には正式なGA機能のサポートSLAが適用されません。", + "xpack.apm.serviceDetails.profilingTabExperimentalLabel": "テクニカルプレビュー", "xpack.apm.serviceDetails.profilingTabLabel": "プロファイリング", "xpack.apm.serviceDetails.transactionsTabLabel": "トランザクション", "xpack.apm.serviceHealthStatus.critical": "重大", @@ -6788,11 +7249,15 @@ "xpack.apm.serviceHealthStatus.warning": "警告", "xpack.apm.serviceIcons.cloud": "クラウド", "xpack.apm.serviceIcons.container": "コンテナー", + "xpack.apm.serviceIcons.serverless": "サーバーレス", "xpack.apm.serviceIcons.service": "サービス", "xpack.apm.serviceIcons.serviceDetails.cloud.availabilityZoneLabel": "{zones, plural, =other {可用性ゾーン}} ", + "xpack.apm.serviceIcons.serviceDetails.cloud.betaLabel": "ベータ", + "xpack.apm.serviceIcons.serviceDetails.cloud.betaTooltip": "AWS Lambdaサポートは一般公開されていません。不具合を報告して支援してください。", "xpack.apm.serviceIcons.serviceDetails.cloud.machineTypesLabel": "{machineTypes, plural, =other {コンピュータータイプ}} ", "xpack.apm.serviceIcons.serviceDetails.cloud.projectIdLabel": "プロジェクト ID", "xpack.apm.serviceIcons.serviceDetails.cloud.providerLabel": "クラウドプロバイダー", + "xpack.apm.serviceIcons.serviceDetails.cloud.serviceNameLabel": "クラウドサービス", "xpack.apm.serviceIcons.serviceDetails.container.containerizedLabel": "コンテナー化", "xpack.apm.serviceIcons.serviceDetails.container.noLabel": "いいえ", "xpack.apm.serviceIcons.serviceDetails.container.orchestrationLabel": "オーケストレーション", @@ -6849,6 +7314,7 @@ "xpack.apm.serviceNodeMetrics.unidentifiedServiceNodesWarningTitle": "JVM を特定できませんでした", "xpack.apm.serviceNodeNameMissing": "(空)", "xpack.apm.serviceOveriew.errorsTableOccurrences": "{occurrences}件", + "xpack.apm.serviceOverview.coldstartHelp": "コールドスタート率は、サーバーレス機能のコールドスタートをトリガーするリクエストの割合を示します。", "xpack.apm.serviceOverview.dependenciesTableColumn": "依存関係", "xpack.apm.serviceOverview.dependenciesTableTabLink": "依存関係を表示", "xpack.apm.serviceOverview.dependenciesTableTitle": "依存関係", @@ -7002,7 +7468,54 @@ "xpack.apm.settings.apmIndices.title": "インデックス", "xpack.apm.settings.apmIndices.transactionIndicesLabel": "トランザクションインデックス", "xpack.apm.settings.createApmPackagePolicy.errorToast.title": "クラウドエージェントポリシーでAPMパッケージポリシーを作成できません", - "xpack.apm.settings.customizeApp": "アプリをカスタマイズ", + "xpack.apm.settings.customizeApp": "カスタムリンク", + "xpack.apm.settings.customLink": "カスタムリンク", + "xpack.apm.settings.customLink.create.failed": "リンクを保存できませんでした!", + "xpack.apm.settings.customLink.create.failed.message": "リンクを保存するときに問題が発生しました。エラー:「{errorMessage}」", + "xpack.apm.settings.customLink.create.successed": "リンクを保存しました。", + "xpack.apm.settings.customLink.createCustomLink": "カスタムリンクを作成", + "xpack.apm.settings.customLink.default.label": "Elastic.co", + "xpack.apm.settings.customLink.default.url": "https://www.elastic.co", + "xpack.apm.settings.customLink.delete": "削除", + "xpack.apm.settings.customLink.delete.failed": "カスタムリンクを削除できませんでした", + "xpack.apm.settings.customLink.delete.successed": "カスタムリンクを削除しました。", + "xpack.apm.settings.customLink.emptyPromptText": "変更しましょう。サービスごとのトランザクションの詳細でアクションコンテキストメニューにカスタムリンクを追加できます。自社のサポートポータルへの役立つリンクを作成するか、新しい不具合レポートを発行します。詳細はドキュメントをご覧ください。", + "xpack.apm.settings.customLink.emptyPromptTitle": "リンクが見つかりません。", + "xpack.apm.settings.customLink.flyout.action.title": "リンク", + "xpack.apm.settings.customLink.flyout.close": "閉じる", + "xpack.apm.settings.customLink.flyout.filters.addAnotherFilter": "別のフィルターを追加", + "xpack.apm.settings.customLink.flyOut.filters.defaultOption": "フィールドを選択してください...", + "xpack.apm.settings.customLink.flyOut.filters.defaultOption.value": "値", + "xpack.apm.settings.customLink.flyout.filters.prepend": "フィールド", + "xpack.apm.settings.customLink.flyout.filters.subtitle": "フィルターオプションを使用すると、特定のサービスについてのみ表示されるようにスコープを設定できます。", + "xpack.apm.settings.customLink.flyout.filters.title": "フィルター", + "xpack.apm.settings.customLink.flyout.label": "リンクは APM アプリ全体にわたるトランザクション詳細のコンテキストで利用できるようになります。作成できるリンクの数は無制限です。トランザクションメタデータのいずれかを使用することで、動的変数を参照して URL を入力できます。さらなる詳細および例がドキュメンテーションに記載されています", + "xpack.apm.settings.customLink.flyout.label.doc": "ドキュメンテーション", + "xpack.apm.settings.customLink.flyout.link.label": "ラベル", + "xpack.apm.settings.customLink.flyout.link.label.helpText": "これはアクションコンテキストメニューに表示されるラベルです。できるだけ短くしてください。", + "xpack.apm.settings.customLink.flyout.link.label.placeholder": "例:サポートチケット", + "xpack.apm.settings.customLink.flyout.link.url": "URL", + "xpack.apm.settings.customLink.flyout.link.url.doc": "詳細はドキュメントをご覧ください。", + "xpack.apm.settings.customLink.flyout.link.url.helpText": "URL にフィールド名変数(例:{sample})を追加すると値を適用できます。", + "xpack.apm.settings.customLink.flyout.link.url.placeholder": "例:https://www.elastic.co/", + "xpack.apm.settings.customLink.flyout.required": "必須", + "xpack.apm.settings.customLink.flyout.save": "保存", + "xpack.apm.settings.customLink.flyout.title": "リンクを作成", + "xpack.apm.settings.customLink.info": "これらのリンクは、トランザクション詳細などによって、アプリの選択した領域にあるアクションコンテキストメニューに表示されます。", + "xpack.apm.settings.customLink.license.text": "カスタムリンクを作成するには、Elastic Gold 以上のライセンスが必要です。適切なライセンスがあれば、カスタムリンクを作成してサービスを分析する際にワークフローを改良できます。", + "xpack.apm.settings.customLink.linkPreview.descrition": "上記のフィルターに基づき、サンプルトランザクションドキュメントの値でリンクをテストしてください。", + "xpack.apm.settings.customLink.noPermissionTooltipLabel": "ユーザーロールには、カスタムリンクを作成する権限がありません", + "xpack.apm.settings.customLink.preview.contextVariable.invalid": "無効な変数が定義されているため、サンプルトランザクションドキュメントが見つかりませんでした。", + "xpack.apm.settings.customLink.preview.contextVariable.noMatch": "{variables} に一致する値がサンプルトランザクションドキュメント内にありませんでした。", + "xpack.apm.settings.customLink.preview.transaction.notFound": "定義されたフィルターに基づき、一致するトランザクションドキュメントが見つかりませんでした。", + "xpack.apm.settings.customLink.previewSectionTitle": "プレビュー", + "xpack.apm.settings.customLink.searchInput.filter": "名前と URL でリンクをフィルタリング...", + "xpack.apm.settings.customLink.table.editButtonDescription": "このカスタムリンクを編集", + "xpack.apm.settings.customLink.table.editButtonLabel": "編集", + "xpack.apm.settings.customLink.table.lastUpdated": "最終更新", + "xpack.apm.settings.customLink.table.name": "名前", + "xpack.apm.settings.customLink.table.noResultFound": "\"{value}\"に対する結果が見つかりませんでした。", + "xpack.apm.settings.customLink.table.url": "URL", "xpack.apm.settings.indices": "インデックス", "xpack.apm.settings.schema": "スキーマ", "xpack.apm.settings.schema.confirm.apmServerSettingsCloudLinkText": "クラウドでAPMサーバー設定に移動", @@ -7026,7 +7539,7 @@ "xpack.apm.settings.schema.migrate.classicIndices.description": "現在APMサーバーバイナリを使用しています。このレガシーオプションは7.16以降で廃止予定であり、バージョン8.0以降ではElasticエージェントの管理されたAPMサーバーで置換されています。", "xpack.apm.settings.schema.migrate.classicIndices.title": "APMサーバーバイナリ", "xpack.apm.settings.schema.migrate.dataStreams.buttonText": "Elasticエージェントに切り替える", - "xpack.apm.settings.schema.migrate.dataStreams.description": "バージョン8.0以降では、ElasticエージェントがAPMサーバーを管理する必要があります。Elasticは当社がホスティングするElasticsearch Service、ECEで実行するか、セルフマネージドで実行することができます。Elastic APM統合を追加して、APMデータの取り込みを続けます。", + "xpack.apm.settings.schema.migrate.dataStreams.description": "バージョン8.0以降では、ElasticエージェントでAPMサーバーを管理することが推奨されます。Elasticは当社がホスティングするElasticsearch Service、ECEで実行するか、セルフマネージドで実行することができます。Elastic APM統合を追加して、APMデータの取り込みを続けます。", "xpack.apm.settings.schema.migrate.dataStreams.title": "Elasticエージェント", "xpack.apm.settings.schema.migrationInProgressPanelDescription": "古いAPMサーバーインスタンスのシャットダウン中に新しいAPMサーバーを含めるFleetサーバーインスタンスを作成しています。数分以内にデータがもう一度アプリに取り込まれます。", "xpack.apm.settings.schema.migrationInProgressPanelTitle": "Elasticエージェントに切り替えています...", @@ -7083,6 +7596,7 @@ "xpack.apm.transactionActionMenu.viewSampleDocumentLinkLabel": "サンプルドキュメントを表示", "xpack.apm.transactionBreakdown.chartTitle": "スパンタイプ別時間", "xpack.apm.transactionDetails.clearSelectionAriaLabel": "選択した項目をクリア", + "xpack.apm.transactionDetails.coldstartBadge": "コールドスタート", "xpack.apm.transactionDetails.distribution.failedTransactionsLatencyDistributionErrorTitle": "失敗したトランザクション遅延分布の取得中にエラーが発生しました。", "xpack.apm.transactionDetails.distribution.latencyDistributionErrorTitle": "全体の遅延分布の取得中にエラーが発生しました。", "xpack.apm.transactionDetails.distribution.panelTitle": "レイテンシ分布", @@ -7096,6 +7610,7 @@ "xpack.apm.transactionDetails.servicesTitle": "サービス", "xpack.apm.transactionDetails.spanFlyout.compositeExampleWarning": "これは連続した類似したスパンのグループのサンプルドキュメントです", "xpack.apm.transactionDetails.spanFlyout.databaseStatementTitle": "データベースステートメント", + "xpack.apm.transactionDetails.spanFlyout.dependencyLabel": "依存関係", "xpack.apm.transactionDetails.spanFlyout.nameLabel": "名前", "xpack.apm.transactionDetails.spanFlyout.spanAction": "アクション", "xpack.apm.transactionDetails.spanFlyout.spanDetailsTitle": "スパン詳細", @@ -7286,15 +7801,18 @@ "xpack.apm.tutorial.specProvider.artifacts.dashboards.linkLabel": "APM ダッシュボード", "xpack.apm.tutorial.specProvider.longDescription": "アプリケーションパフォーマンスモニタリング(APM)は、アプリケーション内から詳細なパフォーマンスメトリックやエラーを収集します。何千ものアプリケーションのパフォーマンスをリアルタイムで監視できます。[詳細]({learnMoreLink})。", "xpack.apm.tutorial.specProvider.name": "APM", - "xpack.apm.tutorial.specProvider.savedObjectsInstallMsg": "APM UI の機能には APM インデックスパターンが必要なものがあります。", + "xpack.apm.tutorial.specProvider.savedObjectsInstallMsg": "APM UIの機能にはAPMデータビューが必要なものがあります。", "xpack.apm.tutorial.startServer.textPre": "サーバーは、Elasticsearch アプリケーションのパフォーマンスメトリックを処理し保存します。", "xpack.apm.tutorial.startServer.title": "APM Server の起動", "xpack.apm.tutorial.windowsServerInstructions.textPost": "注:システムでスクリプトの実行が無効な場合、スクリプトを実行するために現在のセッションの実行ポリシーの設定が必要となります。例:{command}。", "xpack.apm.tutorial.windowsServerInstructions.textPre": "1.[ダウンロードページ]({downloadPageLink})から APM Server Windows zip ファイルをダウンロードします。\n2.zip ファイルの内容を {zipFileExtractFolder} に抽出します。\n3.「{apmServerDirectory} ディレクトリの名前を「APM-Server」に変更します。\n4.管理者としてPowerShellプロンプトを開きます(PowerShellアイコンを右クリックして「管理者として実行」を選択します)。Windows XPをご使用の場合、PowerShellのダウンロードとインストールが必要な場合があります。\n5.PowerShell プロンプトで次のコマンドを実行し、APM Server を Windows サービスとしてインストールします。", "xpack.apm.unitLabel": "単位を選択", + "xpack.apm.ux.overview.agent.description": "APMエージェントを使用して、APMデータを収集します。多数の一般的な言語では、エージェントを使用することで処理が簡単になっています。", + "xpack.apm.ux.overview.agent.title": "APM統合を追加", "xpack.apm.views.dependencies.title": "依存関係", "xpack.apm.views.dependenciesInventory.title": "依存関係", "xpack.apm.views.errors.title": "エラー", + "xpack.apm.views.infra.title": "インフラストラクチャー", "xpack.apm.views.listSettings.title": "設定", "xpack.apm.views.logs.title": "ログ", "xpack.apm.views.metrics.title": "メトリック", @@ -7307,6 +7825,7 @@ "xpack.apm.views.settings.agentKeys.title": "エージェントキー", "xpack.apm.views.settings.anomalyDetection.title": "異常検知", "xpack.apm.views.settings.createAgentConfiguration.title": "エージェント構成の作成", + "xpack.apm.views.settings.customLink.title": "カスタムリンク", "xpack.apm.views.settings.editAgentConfiguration.title": "エージェント構成の編集", "xpack.apm.views.settings.indices.title": "インデックス", "xpack.apm.views.settings.schema.title": "スキーマ", @@ -7314,81 +7833,6 @@ "xpack.apm.views.transactions.title": "トランザクション", "xpack.apm.waterfall.errorCount": "{errorCount, plural, one {関連するエラーを表示} other {View # 件の関連するエラーを表示}}", "xpack.apm.waterfall.exceedsMax": "このトレースの項目数は表示されている範囲を超えています", - "xpack.ux.breakdownFilter.browser": "ブラウザー", - "xpack.ux.breakdownFilter.device": "デバイス", - "xpack.ux.breakdownFilter.location": "場所", - "xpack.ux.breakDownFilter.noBreakdown": "内訳なし", - "xpack.ux.breakdownFilter.os": "OS", - "xpack.ux.pageViews.analyze": "分析", - "xpack.ux.coreVitals.dataUndefined": "N/A", - "xpack.ux.coreVitals.fcp": "初回コンテンツの描画", - "xpack.ux.coreVitals.fcpTooltip": "初回コンテンツの描画(FCP)は初期のレンダリングに集中し、ページの読み込みが開始してから、ページのコンテンツのいずれかの部分が画面に表示されるときまでの時間を測定します。", - "xpack.ux.coreVitals.tbt": "合計ブロック時間", - "xpack.ux.coreVitals.tbtTooltip": "合計ブロック時間(TBT)は、初回コンテンツの描画からトランザクションが完了したときまでに発生する、各長いタスクのブロック時間(50 ミリ秒超)の合計です。", - "xpack.ux.dashboard.backend": "バックエンド", - "xpack.ux.dashboard.dataMissing": "N/A", - "xpack.ux.dashboard.frontend": "フロントエンド", - "xpack.ux.dashboard.impactfulMetrics.highTrafficPages": "高トラフィックページ", - "xpack.ux.dashboard.impactfulMetrics.jsErrors": "JavaScript エラー", - "xpack.ux.dashboard.overall.label": "全体", - "xpack.ux.dashboard.pageLoad.label": "ページの読み込み", - "xpack.ux.dashboard.pageLoadDistribution.label": "ページ読み込み分布", - "xpack.ux.dashboard.pageLoadDuration.label": "ページ読み込み時間", - "xpack.ux.dashboard.pageLoadTime.label": "ページ読み込み時間(秒)", - "xpack.ux.dashboard.pageLoadTimes.label": "ページ読み込み時間", - "xpack.ux.dashboard.pagesLoaded.label": "ページが読み込まれました", - "xpack.ux.dashboard.pageViews": "合計ページビュー", - "xpack.ux.dashboard.resetZoom.label": "ズームをリセット", - "xpack.ux.dashboard.tooltips.backEnd": "バックエンド時間は、最初の 1 バイトを受信するまでの時間(TTFB)です。これは、要求が実行された後、最初の応答パケットが受信された時点です。", - "xpack.ux.dashboard.tooltips.frontEnd": "フロントエンド時間は、合計ページ読み込み時間からバックエンド時間を減算した時間です。", - "xpack.ux.dashboard.tooltips.totalPageLoad": "合計はすべてのページ読み込み時間です。", - "xpack.ux.dashboard.totalPageLoad": "合計", - "xpack.ux.filterGroup.breakdown": "内訳", - "xpack.ux.filterGroup.coreWebVitals": "コアWebバイタル", - "xpack.ux.filterGroup.seconds": "秒", - "xpack.ux.filterGroup.selectBreakdown": "内訳を選択", - "xpack.ux.filters.filterByUrl": "IDでフィルタリング", - "xpack.ux.filters.searchResults": "{total}件の検索結果", - "xpack.ux.filters.select": "選択してください", - "xpack.ux.filters.topPages": "上位のページ", - "xpack.ux.filters.url": "Url", - "xpack.ux.filters.url.loadingResults": "結果を読み込み中", - "xpack.ux.filters.url.noResults": "結果がありません", - "xpack.ux.jsErrors.errorMessage": "エラーメッセージ", - "xpack.ux.jsErrors.errorRate": "エラー率", - "xpack.ux.jsErrors.impactedPageLoads": "影響を受けるページ読み込み数", - "xpack.ux.jsErrors.totalErrors": "合計エラー数", - "xpack.ux.jsErrorsTable.errorMessage": "取得できませんでした", - "xpack.ux.uxMetrics.longestLongTasks": "最長タスク時間", - "xpack.ux.uxMetrics.longestLongTasksTooltip": "最も長いタスクの時間。長いタスクは、UI スレッドを長時間(50 ミリ秒以上)独占し、他の重要なタスク(フレームレートや入力レイテンシ)の実行を妨害するユーザーアクティビティまたはブラウザータスクとして定義されます。", - "xpack.ux.uxMetrics.noOfLongTasks": "時間がかかるタスク数", - "xpack.ux.uxMetrics.noOfLongTasksTooltip": "長いタスクの数。長いタスクは、UI スレッドを長時間(50 ミリ秒以上)独占し、他の重要なタスク(フレームレートや入力レイテンシ)の実行を妨害するユーザーアクティビティまたはブラウザータスクとして定義されます。", - "xpack.ux.uxMetrics.sumLongTasks": "時間がかかるタスクの合計時間", - "xpack.ux.uxMetrics.sumLongTasksTooltip": "長いタスクの合計時間。長いタスクは、UI スレッドを長時間(50 ミリ秒以上)独占し、他の重要なタスク(フレームレートや入力レイテンシ)の実行を妨害するユーザーアクティビティまたはブラウザータスクとして定義されます。", - "xpack.ux.visitorBreakdown": "アクセスユーザー内訳", - "xpack.ux.visitorBreakdown.browser": "ブラウザー", - "xpack.ux.visitorBreakdown.operatingSystem": "オペレーティングシステム", - "xpack.ux.visitorBreakdownMap.avgPageLoadDuration": "平均ページ読み込み時間", - "xpack.ux.visitorBreakdownMap.pageLoadDurationByRegion": "地域別ページ読み込み時間(平均)", - "xpack.ux.breadcrumbs.dashboard": "ダッシュボード", - "xpack.ux.breadcrumbs.root": "ユーザーエクスペリエンス", - "xpack.ux.jsErrors.percent": "{pageLoadPercent} %", - "xpack.ux.localFilters.titles.webApplication": "Webアプリケーション", - "xpack.ux.median": "中間", - "xpack.ux.metrics": "メトリック", - "xpack.ux.overview.beatsCard.description": "APMエージェントでRUMを有効にして、ユーザーエクスペリエンスデータを収集します。", - "xpack.ux.overview.beatsCard.title": "APM統合を追加", - "xpack.ux.overview.heading": "ダッシュボード", - "xpack.ux.overview.solutionName": "オブザーバビリティ", - "xpack.ux.percentile.50thMedian": "50 番目(中央値)", - "xpack.ux.percentile.75th": "75番目", - "xpack.ux.percentile.90th": "90番目", - "xpack.ux.percentile.95th": "95番目", - "xpack.ux.percentile.99th": "99番目", - "xpack.ux.percentile.label": "パーセンタイル", - "xpack.ux.percentiles.label": "{value} パーセンタイル", - "xpack.ux.title": "ダッシュボード", - "xpack.ux.visitorBreakdown.noData": "データがありません。", "xpack.banners.settings.backgroundColor.description": "バナーの背景色。{subscriptionLink}", "xpack.banners.settings.backgroundColor.title": "バナー背景色", "xpack.banners.settings.placement.description": "Elasticヘッダーの上に、このスペースの上部のバナーを表示します。{subscriptionLink}", @@ -7470,6 +7914,8 @@ "xpack.canvas.elements.dropdownFilterHelpText": "「exactly」フィルターの値を選択できるドロップダウンです", "xpack.canvas.elements.filterDebugDisplayName": "フィルターのデバッグ", "xpack.canvas.elements.filterDebugHelpText": "ワークパッドに基本グローバルフィルターを表示します", + "xpack.canvas.elements.heatmapDisplayName": "ヒートマップ", + "xpack.canvas.elements.heatmapHelpText": "ヒートマップビジュアライゼーション", "xpack.canvas.elements.horizontalBarChartDisplayName": "横棒", "xpack.canvas.elements.horizontalBarChartHelpText": "カスタマイズ可能な水平棒グラフです", "xpack.canvas.elements.horizontalProgressBarDisplayName": "横棒", @@ -7484,6 +7930,8 @@ "xpack.canvas.elements.markdownHelpText": "Markdownを使ってテキストを追加", "xpack.canvas.elements.metricDisplayName": "メトリック", "xpack.canvas.elements.metricHelpText": "ラベル付きの数字です", + "xpack.canvas.elements.metricVisDisplayName": "(新規)メトリックビジュアライゼーション", + "xpack.canvas.elements.metricVisHelpText": "メトリックビジュアライゼーション", "xpack.canvas.elements.pieDisplayName": "円", "xpack.canvas.elements.pieHelpText": "円グラフ", "xpack.canvas.elements.plotDisplayName": "座標プロット", @@ -7514,8 +7962,9 @@ "xpack.canvas.elements.verticalProgressPillHelpText": "進捗状況を垂直のピルで表示します", "xpack.canvas.elementSettings.dataTabLabel": "データ", "xpack.canvas.elementSettings.displayTabLabel": "表示", + "xpack.canvas.elementSettings.filtersTabLabel": "フィルター", "xpack.canvas.embedObject.noMatchingObjectsMessage": "一致するオブジェクトが見つかりませんでした。", - "xpack.canvas.embedObject.titleText": "Kibanaから追加", + "xpack.canvas.embedObject.titleText": "ライブラリから追加", "xpack.canvas.error.actionsElements.invaludArgIndexErrorMessage": "無効な引数インデックス:{index}", "xpack.canvas.error.downloadWorkpad.downloadFailureErrorMessage": "ワークパッドをダウンロードできませんでした", "xpack.canvas.error.downloadWorkpad.downloadRenderedWorkpadFailureErrorMessage": "レンダリングされたワークパッドをダウンロードできませんでした", @@ -7529,11 +7978,13 @@ "xpack.canvas.error.esService.indicesFetchErrorMessage": "Elasticsearch インデックスを取得できませんでした", "xpack.canvas.error.RenderWithFn.renderErrorMessage": "「{functionName}」のレンダリングが失敗しました", "xpack.canvas.error.useCloneWorkpad.cloneFailureErrorMessage": "ワークパッドのクローンを作成できませんでした", + "xpack.canvas.error.useCreateWorkpad.createFailureErrorMessage": "ワークパッドを作成できませんでした", "xpack.canvas.error.useDeleteWorkpads.deleteFailureErrorMessage": "すべてのワークパッドを削除できませんでした", "xpack.canvas.error.useFindWorkpads.findFailureErrorMessage": "ワークパッドが見つかりませんでした", "xpack.canvas.error.useImportWorkpad.acceptJSONOnlyErrorMessage": "{JSON} 個のファイルしか受け付けられませんでした", "xpack.canvas.error.useImportWorkpad.fileUploadFailureWithoutFileNameErrorMessage": "ファイルをアップロードできませんでした", "xpack.canvas.error.useImportWorkpad.missingPropertiesErrorMessage": "{CANVAS} ワークパッドに必要なプロパティの一部が欠けています。 {JSON} ファイルを編集して正しいプロパティ値を入力し、再試行してください。", + "xpack.canvas.error.useUploadWorkpad.uploadFailureErrorMessage": "ワークパッドをアップロードできませんでした", "xpack.canvas.error.workpadDropzone.tooManyFilesErrorMessage": "同時にアップロードできるファイルは1つだけです。", "xpack.canvas.error.workpadRoutes.createFailureErrorMessage": "ワークパッドを作成できませんでした", "xpack.canvas.error.workpadRoutes.loadFailureErrorMessage": "ID でワークパッドを読み込めませんでした", @@ -7580,6 +8031,8 @@ "xpack.canvas.featureCatalogue.canvasSubtitle": "詳細まで正確な表示を設計します。", "xpack.canvas.features.reporting.pdf": "PDFレポートを生成", "xpack.canvas.features.reporting.pdfFeatureName": "レポート", + "xpack.canvas.formatMsg.toaster.errorStatusMessage": "エラー {errStatus} {errStatusText}: {errMessage}", + "xpack.canvas.formatMsg.toaster.unavailableServerErrorMessage": "HTTP リクエストで接続に失敗しました。Kibana サーバーが実行されていて、ご使用のブラウザの接続が正常に動作していることを確認するか、システム管理者にお問い合わせください。", "xpack.canvas.functionForm.contextError": "エラー:{errorMessage}", "xpack.canvas.functionForm.functionUnknown.unknownArgumentTypeError": "未知の表現タイプ「{expressionType}」", "xpack.canvas.functions.all.args.conditionHelpText": "確認する条件です。", @@ -7828,6 +8281,9 @@ "xpack.canvas.functions.urlparam.args.defaultHelpText": "{URL} パラメーターが指定されていないときに戻される文字列です。", "xpack.canvas.functions.urlparam.args.paramHelpText": "取得する {URL} ハッシュパラメーターです。", "xpack.canvas.functions.urlparamHelpText": "表現で使用する{URL}パラメーターを取得します。{urlparamFn}関数は常に {TYPE_STRING} を戻します。たとえば、値{value}を{URL} {example}のパラメーター{myVar}から取得できます。", + "xpack.canvas.globalConfig.filter": "フィルター", + "xpack.canvas.globalConfig.general": "一般", + "xpack.canvas.globalConfig.title": "ワークパッドの設定", "xpack.canvas.groupSettings.multipleElementsActionsDescription": "個々の設定を編集するには、これらのエレメントの選択を解除し、({gKey})を押してグループ化するか、この選択をワークパッド全体で再利用できるように新規エレメントとして保存します。", "xpack.canvas.groupSettings.multipleElementsDescription": "現在複数エレメントが選択されています。", "xpack.canvas.groupSettings.saveGroupDescription": "ワークパッド全体で再利用できるように、このグループを新規エレメントとして保存します。", @@ -7884,7 +8340,7 @@ "xpack.canvas.keyboardShortcutsDoc.flyout.closeButtonAriaLabel": "キーボードショートカットリファレンスを作成", "xpack.canvas.keyboardShortcutsDoc.flyoutHeaderTitle": "キーボードショートカット", "xpack.canvas.keyboardShortcutsDoc.shortcutListSeparator": "または", - "xpack.canvas.labs.enableLabsDescription": "このフラグはビューアーで[ラボ]ボタンを使用できるかどうかを決定します。キャンバスで実験的機能を有効および無効にするための簡単な方法です。", + "xpack.canvas.labs.enableLabsDescription": "このフラグはビューアーで[ラボ]ボタンを使用できるかどうかを決定します。キャンバスでテクニカルプレビュー中の機能を有効および無効にするための簡単な方法です。", "xpack.canvas.labs.enableUI": "キャンバスで[ラボ]ボタンを有効にする", "xpack.canvas.lib.palettes.canvasLabel": "{CANVAS}", "xpack.canvas.lib.palettes.colorBlindLabel": "Color Blind", @@ -7983,6 +8439,9 @@ "xpack.canvas.sidebarHeader.sendBackwardArialLabel": "エレメントを 1 つ下のレイヤーに移動", "xpack.canvas.sidebarHeader.sendToBackArialLabel": "エレメントを一番下のレイヤーに移動", "xpack.canvas.solutionToolbar.editorMenuButtonLabel": "タイプを選択してください", + "xpack.canvas.stopsColorPicker.deleteColorStopLabel": "削除", + "xpack.canvas.stopsPalettePicker.addColorStopLabel": "色経由点を追加", + "xpack.canvas.stopsPalettePicker.colorStopsLabel": "色経由点", "xpack.canvas.tags.presentationTag": "プレゼンテーション", "xpack.canvas.tags.reportTag": "レポート", "xpack.canvas.templates.darkHelp": "ダークカラーテーマのプレゼンテーションデッキです", @@ -8025,6 +8484,8 @@ "xpack.canvas.uis.arguments.axisConfigDisabledText": "軸設定表示への切り替え", "xpack.canvas.uis.arguments.axisConfigLabel": "ビジュアライゼーションの軸の構成", "xpack.canvas.uis.arguments.axisConfigTitle": "軸の構成", + "xpack.canvas.uis.arguments.colorLabel": "カラーピッカー", + "xpack.canvas.uis.arguments.colorTitle": "色", "xpack.canvas.uis.arguments.customPaletteLabel": "カスタム", "xpack.canvas.uis.arguments.dataColumn.options.averageDropDown": "平均", "xpack.canvas.uis.arguments.dataColumn.options.countDropDown": "カウント", @@ -8073,6 +8534,8 @@ "xpack.canvas.uis.arguments.selectTitle": "選択してください", "xpack.canvas.uis.arguments.shapeLabel": "現在のエレメントの形状を変更", "xpack.canvas.uis.arguments.shapeTitle": "形状", + "xpack.canvas.uis.arguments.stopsPaletteLabel": "境界に基づく値の色を指定します", + "xpack.canvas.uis.arguments.stopsPaletteTitle": "パレットピッカーと境界", "xpack.canvas.uis.arguments.stringLabel": "短い文字列を入力", "xpack.canvas.uis.arguments.stringTitle": "文字列", "xpack.canvas.uis.arguments.textareaLabel": "長い文字列を入力", @@ -8116,6 +8579,34 @@ "xpack.canvas.uis.dataSources.timelion.tips.time": "{timelion}に時間範囲が必要です。時間フィルターエレメントをページに追加するか、表現エディターを使用してエレメントを引き渡します。", "xpack.canvas.uis.dataSources.timelion.tipsTitle": "{canvas}で{timelion}を使用する際のヒント", "xpack.canvas.uis.dataSources.timelionLabel": "{timelion} 構文を使用してタイムラインデータを取得します", + "xpack.canvas.uis.models.heatmap_grid.args.isCellLabelVisibleLabel": "セルラベルの表示・非表示を指定します", + "xpack.canvas.uis.models.heatmap_grid.args.isCellLabelVisibleTitle": "セルラベルを表示", + "xpack.canvas.uis.models.heatmap_grid.args.isXAxisLabelVisibleLabel": "X軸のラベルを表示するかどうかを指定します", + "xpack.canvas.uis.models.heatmap_grid.args.isXAxisLabelVisibleTile": "X軸のラベルを表示", + "xpack.canvas.uis.models.heatmap_grid.args.isXAxisTitleVisibleLabel": "X軸のタイトルを表示するかどうかを指定します", + "xpack.canvas.uis.models.heatmap_grid.args.isXAxisTitleVisibleTile": "X軸のタイトル", + "xpack.canvas.uis.models.heatmap_grid.args.isYAxisLabelVisibleLabel": "Y軸のラベルを表示するかどうかを指定します", + "xpack.canvas.uis.models.heatmap_grid.args.isYAxisLabelVisibleTile": "Y軸のラベルを表示", + "xpack.canvas.uis.models.heatmap_grid.args.isYAxisTitleVisibleLabel": "Y軸のタイトルを表示するかどうかを指定します", + "xpack.canvas.uis.models.heatmap_grid.args.isYAxisTitleVisibleTile": "Y軸のタイトルを表示", + "xpack.canvas.uis.models.heatmap_grid.args.strokeColorLabel": "グリッドストローク色を指定します", + "xpack.canvas.uis.models.heatmap_grid.args.strokeColorTitle": "線色", + "xpack.canvas.uis.models.heatmap_grid.args.strokeWidthLabel": "グリッドストローク幅を指定します", + "xpack.canvas.uis.models.heatmap_grid.args.strokeWidthTitle": "線幅", + "xpack.canvas.uis.models.heatmap_grid.title": "ヒートマップレイアウトを構成", + "xpack.canvas.uis.models.heatmap_legend.args.isVisibleLabel": "凡例の表示・非表示を指定します", + "xpack.canvas.uis.models.heatmap_legend.args.isVisibleTitle": "凡例を表示", + "xpack.canvas.uis.models.heatmap_legend.args.maxLinesLabel": "凡例項目ごとの行数を指定します。", + "xpack.canvas.uis.models.heatmap_legend.args.maxLinesTitle": "凡例最大行", + "xpack.canvas.uis.models.heatmap_legend.args.positionBottomLabel": "一番下", + "xpack.canvas.uis.models.heatmap_legend.args.positionLabel": "凡例の配置を指定します。", + "xpack.canvas.uis.models.heatmap_legend.args.positionLeftLabel": "左", + "xpack.canvas.uis.models.heatmap_legend.args.positionRightLabel": "右", + "xpack.canvas.uis.models.heatmap_legend.args.positionTitle": "凡例位置", + "xpack.canvas.uis.models.heatmap_legend.args.positionTopLabel": "トップ", + "xpack.canvas.uis.models.heatmap_legend.args.shouldTruncateLabel": "凡例項目を切り捨てるかどうかを指定します", + "xpack.canvas.uis.models.heatmap_legend.args.shouldTruncateTitle": "ラベルを切り捨てる", + "xpack.canvas.uis.models.heatmap_legend.title": "ヒートマップグラフの凡例を構成", "xpack.canvas.uis.models.math.args.valueLabel": "データソースから値を抽出する際に使用する関数と列", "xpack.canvas.uis.models.math.args.valueTitle": "値", "xpack.canvas.uis.models.mathTitle": "メジャー", @@ -8149,6 +8640,27 @@ "xpack.canvas.uis.views.dropdownControlTitle": "ドロップダウンフィルター", "xpack.canvas.uis.views.getCellLabel": "最初の行と列を使用", "xpack.canvas.uis.views.getCellTitle": "ドロップダウンフィルター", + "xpack.canvas.uis.views.heatmap.args.gridConfigDisplayName": "ヒートマップレイアウト構成", + "xpack.canvas.uis.views.heatmap.args.gridConfigHelp": "ヒートマップレイアウトを構成", + "xpack.canvas.uis.views.heatmap.args.highlightInHoverDisplayName": "カーソルで選択した範囲のハイライト", + "xpack.canvas.uis.views.heatmap.args.highlightInHoverHelp": "有効にすると、カーソルで選択した範囲が凡例の色でハイライトされます", + "xpack.canvas.uis.views.heatmap.args.lastRangeIsRightOpenDisplayName": "範囲の最後は指定されていません", + "xpack.canvas.uis.views.heatmap.args.lastRangeIsRightOpenHelp": "trueに設定すると、範囲の最後の値は指定されません", + "xpack.canvas.uis.views.heatmap.args.legendDisplayName": "ヒートマップ凡例", + "xpack.canvas.uis.views.heatmap.args.legendHelp": "ヒートマップグラフの凡例を構成", + "xpack.canvas.uis.views.heatmap.args.plitRowAccessorHelp": "分割された行または対応するディメンションのID", + "xpack.canvas.uis.views.heatmap.args.showTooltipDisplayName": "ツールヒントを表示", + "xpack.canvas.uis.views.heatmap.args.showTooltipHelp": "カーソルを置いたときにツールチップを表示", + "xpack.canvas.uis.views.heatmap.args.splitColumnAccessorDisplayName": "分割列", + "xpack.canvas.uis.views.heatmap.args.splitColumnAccessorHelp": "分割された列または対応するディメンションのID", + "xpack.canvas.uis.views.heatmap.args.splitRowAccessorDisplayName": "行を分割", + "xpack.canvas.uis.views.heatmap.args.valueAccessorDisplayName": "値", + "xpack.canvas.uis.views.heatmap.args.valueAccessorHelp": "値列または対応するディメンションの名前", + "xpack.canvas.uis.views.heatmap.args.xAccessorDisplayName": "X 軸", + "xpack.canvas.uis.views.heatmap.args.xAccessorHelp": "X軸列または対応するディメンションの名前", + "xpack.canvas.uis.views.heatmap.args.yAccessorDisplayName": "Y 軸", + "xpack.canvas.uis.views.heatmap.args.yAccessorHelp": "Y軸列または対応するディメンションの名前", + "xpack.canvas.uis.views.heatmapTitle": "ヒートマップビジュアライゼーション", "xpack.canvas.uis.views.image.args.mode.containDropDown": "Contain", "xpack.canvas.uis.views.image.args.mode.coverDropDown": "Cover", "xpack.canvas.uis.views.image.args.mode.stretchDropDown": "Stretch", @@ -8168,6 +8680,22 @@ "xpack.canvas.uis.views.metric.args.metricFormatLabel": "メトリック値のためのフォーマットを選択", "xpack.canvas.uis.views.metric.args.metricFormatTitle": "フォーマット", "xpack.canvas.uis.views.metricTitle": "メトリック", + "xpack.canvas.uis.views.metricVis.args.bucketDisplayName": "バケット", + "xpack.canvas.uis.views.metricVis.args.bucketHelp": "バケットディメンション構成", + "xpack.canvas.uis.views.metricVis.args.colorMode.backgroundOption": "背景", + "xpack.canvas.uis.views.metricVis.args.colorMode.labelsOption": "ラベル", + "xpack.canvas.uis.views.metricVis.args.colorMode.noneOption": "なし", + "xpack.canvas.uis.views.metricVis.args.colorModeDisplayName": "メトリック色モード", + "xpack.canvas.uis.views.metricVis.args.colorModeHelp": "色で塗りつぶすメトリックの部分。", + "xpack.canvas.uis.views.metricVis.args.fontDisplayName": "フォント", + "xpack.canvas.uis.views.metricVis.args.fontHelp": "メトリックフォント構成", + "xpack.canvas.uis.views.metricVis.args.metricDisplayName": "メトリック", + "xpack.canvas.uis.views.metricVis.args.metricHelp": "メトリックディメンション構成", + "xpack.canvas.uis.views.metricVis.args.percentageModeDisplayName": "割合モードを有効にする", + "xpack.canvas.uis.views.metricVis.args.percentageModeHelp": "百分率モードでメトリックを表示します。", + "xpack.canvas.uis.views.metricVis.args.showLabelsDisplayName": "メトリックラベルを表示", + "xpack.canvas.uis.views.metricVis.args.showLabelsHelp": "メトリック値の下にラベルを表示します。", + "xpack.canvas.uis.views.metricVisTitle": "メトリックビジュアライゼーション", "xpack.canvas.uis.views.numberArgTitle": "値", "xpack.canvas.uis.views.openLinksInNewTabHelpLabel": "リンクを新しいタブで開くように設定します", "xpack.canvas.uis.views.openLinksInNewTabLabel": "すべてのリンクを新しいタブで開きます", @@ -8340,6 +8868,22 @@ "xpack.canvas.workpadConfig.widthLabel": "幅", "xpack.canvas.workpadConflict.redirectLabel": "ワークパッド", "xpack.canvas.workpadCreate.createButtonLabel": "ワークパッドを作成", + "xpack.canvas.workpadFilters.defaultFilter.column": "列", + "xpack.canvas.workpadFilters.defaultFilter.filterGroup": "フィルターグループ", + "xpack.canvas.workpadFilters.defaultFilter.type": "型", + "xpack.canvas.workpadFilters.defaultFilter.typeLabel": "ドロップダウン", + "xpack.canvas.workpadFilters.defaultFilter.value": "値", + "xpack.canvas.workpadFilters.filter.blankTypeLabel": "(空白)", + "xpack.canvas.workpadFilters.filters_group.blankValue": "(空白)", + "xpack.canvas.workpadFilters.filters_group.withoutGroup": "グループなし", + "xpack.canvas.workpadFilters.groupByColumn": "列", + "xpack.canvas.workpadFilters.groupByFilterGroup": "フィルターグループ", + "xpack.canvas.workpadFilters.groupByFilterType": "フィルタータイプ", + "xpack.canvas.workpadFilters.groupBySelect": "グループ分けの条件", + "xpack.canvas.workpadFilters.timeFilter.from": "開始:", + "xpack.canvas.workpadFilters.timeFilter.invalidDate": "無効な日付:{date}", + "xpack.canvas.workpadFilters.timeFilter.to": "終了:", + "xpack.canvas.workpadFilters.timeFilter.typeLabel": "時間", "xpack.canvas.workpadHeader.addElementModalCloseButtonLabel": "閉じる", "xpack.canvas.workpadHeader.fullscreenButtonAriaLabel": "全画面表示", "xpack.canvas.workpadHeader.fullscreenTooltip": "全画面モードを開始します", @@ -8446,6 +8990,11 @@ "xpack.cases.allCases.actions": "アクション", "xpack.cases.allCases.comments": "コメント", "xpack.cases.allCases.noTagsAvailable": "利用可能なタグがありません", + "xpack.cases.badge.readOnly.text": "読み取り専用", + "xpack.cases.badge.readOnly.tooltip": "ケースを作成または編集できません", + "xpack.cases.breadcrumbs.all_cases": "ケース", + "xpack.cases.breadcrumbs.configure_cases": "構成", + "xpack.cases.breadcrumbs.create_case": "作成", "xpack.cases.caseTable.bulkActions": "一斉アクション", "xpack.cases.caseTable.bulkActions.closeSelectedTitle": "選択した項目を閉じる", "xpack.cases.caseTable.bulkActions.deleteSelectedTitle": "選択した項目を削除", @@ -8458,9 +9007,9 @@ "xpack.cases.caseTable.delete": "削除", "xpack.cases.caseTable.incidentSystem": "インシデント管理システム", "xpack.cases.caseTable.inProgressCases": "進行中のケース", - "xpack.cases.caseTable.noCases.body": "表示するケースがありません。新しいケースを作成するか、または上記のフィルター設定を変更してください。", - "xpack.cases.caseTable.noCases.readonly.body": "表示するケースがありません。上のフィルター設定を変更してください。", - "xpack.cases.caseTable.noCases.title": "ケースなし", + "xpack.cases.caseTable.noCases.body": "ケースを作成するか、フィルターを編集します。", + "xpack.cases.caseTable.noCases.readonly.body": "フィルター設定を編集します。", + "xpack.cases.caseTable.noCases.title": "表示するケースがありません。", "xpack.cases.caseTable.notPushed": "プッシュされません", "xpack.cases.caseTable.openCases": "ケースを開く", "xpack.cases.caseTable.pushLinkAria": "クリックすると、{ thirdPartyName }でインシデントを表示します。", @@ -8475,7 +9024,9 @@ "xpack.cases.caseView.actionLabel.addDescription": "説明を追加しました", "xpack.cases.caseView.actionLabel.addedField": "追加しました", "xpack.cases.caseView.actionLabel.changededField": "変更しました", + "xpack.cases.caseView.actionLabel.disableSetting": "無効", "xpack.cases.caseView.actionLabel.editedField": "編集しました", + "xpack.cases.caseView.actionLabel.enabledSetting": "有効", "xpack.cases.caseView.actionLabel.on": "日付", "xpack.cases.caseView.actionLabel.pushedNewIncident": "新しいインシデントとしてプッシュしました", "xpack.cases.caseView.actionLabel.removedField": "削除しました", @@ -8483,6 +9034,7 @@ "xpack.cases.caseView.actionLabel.selectedThirdParty": "インシデント管理システムとして{ thirdParty }を選択しました", "xpack.cases.caseView.actionLabel.updateIncident": "インシデントを更新しました", "xpack.cases.caseView.actionLabel.viewIncident": "{incidentNumber}を表示", + "xpack.cases.caseView.activity": "アクティビティ", "xpack.cases.caseView.alertCommentLabelTitle": "アラートを追加しました", "xpack.cases.caseView.alreadyPushedToExternalService": "すでに{ externalService }インシデントにプッシュしました", "xpack.cases.caseView.backLabel": "ケースに戻る", @@ -8502,8 +9054,9 @@ "xpack.cases.caseView.commentFieldRequiredError": "コメントが必要です。", "xpack.cases.caseView.connectors": "外部インシデント管理システム", "xpack.cases.caseView.copyCommentLinkAria": "参照リンクをコピー", - "xpack.cases.caseView.create": "新規ケースを作成", + "xpack.cases.caseView.create": "ケースを作成", "xpack.cases.caseView.createCase": "ケースを作成", + "xpack.cases.caseView.createdOn": "作成日時", "xpack.cases.caseView.description": "説明", "xpack.cases.caseView.description.save": "保存", "xpack.cases.caseView.doesNotExist.button": "ケースに戻る", @@ -8527,6 +9080,17 @@ "xpack.cases.caseView.lockedIncidentTitleNone": "外部インシデントは最新です", "xpack.cases.caseView.markedCaseAs": "ケースを設定", "xpack.cases.caseView.markInProgress": "実行中に設定", + "xpack.cases.caseView.metrics.associatedHosts": "関連付けられたホスト", + "xpack.cases.caseView.metrics.associatedUsers": "関連付けられたユーザー", + "xpack.cases.caseView.metrics.isolatedHosts": "分離されたホスト", + "xpack.cases.caseView.metrics.lifespan.caseCreated": "ケースが作成されました", + "xpack.cases.caseView.metrics.lifespan.inProgressDuration": "実行中の期間", + "xpack.cases.caseView.metrics.lifespan.openDuration": "オープン期間", + "xpack.cases.caseView.metrics.lifespan.openToCloseDuration": "作成からクローズまでの期間", + "xpack.cases.caseView.metrics.lifespan.reopened": "(再オープン)", + "xpack.cases.caseView.metrics.lifespan.reopenedOn": "再オープン ", + "xpack.cases.caseView.metrics.totalAlerts": "アラートの合計数", + "xpack.cases.caseView.metrics.totalConnectors": "コネクターの合計数", "xpack.cases.caseView.moveToCommentAria": "参照されたコメントをハイライト", "xpack.cases.caseView.name": "名前", "xpack.cases.caseView.noReportersAvailable": "利用可能なレポートがありません。", @@ -8549,8 +9113,10 @@ "xpack.cases.caseView.requiredUpdateToExternalService": "{ externalService }インシデントの更新が必要です", "xpack.cases.caseView.sendEmalLinkAria": "クリックすると、{user}に電子メールを送信します", "xpack.cases.caseView.showAlertTooltip": "アラートの詳細を表示", + "xpack.cases.caseView.solution": "ソリューション", "xpack.cases.caseView.statusLabel": "ステータス", "xpack.cases.caseView.syncAlertsLabel": "アラートの同期", + "xpack.cases.caseView.syncAlertsLowercaseLabel": "アラートの同期", "xpack.cases.caseView.tags": "タグ", "xpack.cases.caseView.to": "に", "xpack.cases.caseView.unknown": "不明", @@ -8567,6 +9133,7 @@ "xpack.cases.configure.connectorDeletedOrLicenseWarning": "選択したコネクターが削除されたか、使用するための{appropriateLicense}がありません。別のコネクターを選択するか、新しいコネクターを作成してください。", "xpack.cases.configure.readPermissionsErrorDescription": "コネクターを表示するアクセス権がありません。このケースに関連付けら他コネクターを表示する場合は、Kibana管理者に連絡してください。", "xpack.cases.configure.successSaveToast": "保存された外部接続設定", + "xpack.cases.configureCases": "ケースを構成", "xpack.cases.configureCases.addNewConnector": "新しいコネクターを追加", "xpack.cases.configureCases.cancelButton": "キャンセル", "xpack.cases.configureCases.caseClosureOptionsDesc": "ケースの終了方法を定義します。自動終了のためには、外部のインシデント管理システムへの接続を確立する必要があります。", @@ -8648,17 +9215,20 @@ "xpack.cases.containers.markInProgressCases": "{totalCases, plural, =1 {\"{caseTitle}\"} other {{totalCases}件のケース}}を進行中に設定しました", "xpack.cases.containers.pushToExternalService": "{ serviceName }への送信が正常に完了しました", "xpack.cases.containers.reopenedCases": "{totalCases, plural, =1 {\"{caseTitle}\"} other {{totalCases}件のケース}}をオープンしました", - "xpack.cases.containers.statusChangeToasterText": "このケースのアラートはステータスが更新されました", + "xpack.cases.containers.statusChangeToasterText": "関連付けられたアラートのステータスを更新します。", "xpack.cases.containers.syncCase": "\"{caseTitle}\"のアラートが同期されました", "xpack.cases.containers.updatedCase": "\"{caseTitle}\"を更新しました", "xpack.cases.create.stepOneTitle": "ケースフィールド", "xpack.cases.create.stepThreeTitle": "外部コネクターフィールド", "xpack.cases.create.stepTwoTitle": "ケース設定", "xpack.cases.create.syncAlertsLabel": "アラートステータスをケースステータスと同期", + "xpack.cases.createCase": "ケースを作成", + "xpack.cases.createCase.ariaKeypadSolutionSelection": "単一ソリューション選択", "xpack.cases.createCase.descriptionFieldRequiredError": "説明が必要です。", - "xpack.cases.createCase.fieldTagsEmptyError": "タグを空にすることはできません", + "xpack.cases.createCase.fieldTagsEmptyError": "タグには1つ以上のスペース以外の文字を含める必要があります", "xpack.cases.createCase.fieldTagsHelpText": "このケースの1つ以上のカスタム識別タグを入力します。新しいタグを開始するには、各タグの後でEnterを押します。", "xpack.cases.createCase.maxLengthError": "{field}の長さが長すぎます。最大長は{length}です。", + "xpack.cases.createCase.solutionFieldRequiredError": "ソリューションは必須です", "xpack.cases.createCase.titleFieldRequiredError": "タイトルが必要です。", "xpack.cases.editConnector.editConnectorLinkAria": "クリックしてコネクターを編集", "xpack.cases.emptyString.emptyStringDescription": "空の文字列", @@ -8687,6 +9257,12 @@ "xpack.cases.markdownEditor.plugins.lens.visualizationButtonLabel": "ビジュアライゼーション", "xpack.cases.markdownEditor.plugins.timeline.noParenthesesErrorMsg": "想定される左括弧", "xpack.cases.markdownEditor.preview": "プレビュー", + "xpack.cases.navigation.cases": "ケース", + "xpack.cases.navigation.configure": "ケースを構成", + "xpack.cases.navigation.create": "新規ケースを作成", + "xpack.cases.noPrivileges.button": "ケースに戻る", + "xpack.cases.noPrivileges.message": "{pageName}ページを表示するには、権限を更新する必要があります。詳細については、Kibana管理者に連絡してください。", + "xpack.cases.noPrivileges.title": "権限が必要です", "xpack.cases.pageTitle": "ケース", "xpack.cases.recentCases.commentsTooltip": "コメント", "xpack.cases.recentCases.controlLegend": "ケースフィルター", @@ -9068,6 +9644,7 @@ "xpack.data.mgmt.searchSessions.table.headerStarted": "作成済み", "xpack.data.mgmt.searchSessions.table.headerStatus": "ステータス", "xpack.data.mgmt.searchSessions.table.headerType": "アプリ", + "xpack.data.mgmt.searchSessions.table.mlAppName": "機械学習", "xpack.data.mgmt.searchSessions.table.notRestorableWarning": "検索セッションはもう一度実行されます。今後使用するために保存できます。", "xpack.data.mgmt.searchSessions.table.numSearches": "# 検索", "xpack.data.mgmt.searchSessions.table.versionIncompatibleWarning": "この検索は別のバージョンを実行しているKibanaインスタンスで作成されました。正常に復元されない可能性があります。", @@ -9342,6 +9919,8 @@ "xpack.dataVisualizer.fileBeatConfig.paths": "ファイルのパスをここに追加してください", "xpack.dataVisualizer.fileBeatConfigFlyout.closeButton": "閉じる", "xpack.dataVisualizer.fileBeatConfigFlyout.copyButton": "クリップボードにコピー", + "xpack.dataVisualizer.fullTimeRangeSelector.useFullDataExcludingFrozenButtonTooltip": "凍結されたデータティアを除くデータの全範囲を使用します。", + "xpack.dataVisualizer.fullTimeRangeSelector.useFullDataIncludingFrozenButtonTooltip": "凍結されたデータティアを含むデータの全範囲を使用します。これにより、検索結果が低速になる場合があります。", "xpack.dataVisualizer.index.actionsPanel.discoverAppTitle": "Discover", "xpack.dataVisualizer.index.actionsPanel.exploreTitle": "データの調査", "xpack.dataVisualizer.index.actionsPanel.viewIndexInDiscoverDescription": "インデックスのドキュメントを調査します。", @@ -9354,6 +9933,8 @@ "xpack.dataVisualizer.index.dataGrid.editDataViewFieldTitle": "データビューフィールドを編集", "xpack.dataVisualizer.index.dataGrid.exploreInLensDescription": "Lensで検索", "xpack.dataVisualizer.index.dataGrid.exploreInLensTitle": "Lensで検索", + "xpack.dataVisualizer.index.dataGrid.exploreInMapsDescription": "Mapsで検索", + "xpack.dataVisualizer.index.dataGrid.exploreInMapsTitle": "Mapsで検索", "xpack.dataVisualizer.index.dataLoader.internalServerErrorMessage": "インデックス {index} のデータの読み込み中にエラーが発生。{message}。リクエストがタイムアウトした可能性があります。小さなサンプルサイズを使うか、時間範囲を狭めてみてください。", "xpack.dataVisualizer.index.dataViewErrorMessage": "データビューの検索エラー", "xpack.dataVisualizer.index.dataViewManagement.actionsPopoverLabel": "データビュー設定", @@ -9368,6 +9949,10 @@ "xpack.dataVisualizer.index.fieldStatisticsErrorMessage": "フィールド'{fieldName}'の統計情報の取得エラー:{reason}", "xpack.dataVisualizer.index.fieldTypeSelect": "フィールド型", "xpack.dataVisualizer.index.fullTimeRangeSelector.errorSettingTimeRangeNotification": "時間範囲の設定中にエラーが発生しました。", + "xpack.dataVisualizer.index.fullTimeRangeSelector.moreOptionsButtonAriaLabel": "その他のオプション", + "xpack.dataVisualizer.index.fullTimeRangeSelector.useFullDataButtonLabel": "完全なデータを使用", + "xpack.dataVisualizer.index.fullTimeRangeSelector.useFullDataExcludingFrozenMenuLabel": "凍結されたデータティアを除外", + "xpack.dataVisualizer.index.fullTimeRangeSelector.useFullDataIncludingFrozenMenuLabel": "凍結されたデータティアを含める", "xpack.dataVisualizer.index.indexPatternNotBasedOnTimeSeriesNotificationDescription": "異常検知は時間ベースのインデックスでのみ実行されます", "xpack.dataVisualizer.index.indexPatternNotBasedOnTimeSeriesNotificationTitle": "インデックスパターン {indexPatternTitle} は時系列に基づくものではありません", "xpack.dataVisualizer.index.lensChart.averageOfLabel": "{fieldName}の平均", @@ -9504,6 +10089,9 @@ "xpack.enterpriseSearch.appSearch.crawler.crawlRulesTable.regexPathPatternTooltip": "パスパターンは、Ruby言語正規表現エンジンと互換性がある正規表現です。", "xpack.enterpriseSearch.appSearch.crawler.crawlRulesTable.ruleTableHead": "ルール", "xpack.enterpriseSearch.appSearch.crawler.crawlRulesTable.title": "クロールルール", + "xpack.enterpriseSearch.appSearch.crawler.crawlSelectDomainsModal.modalHeaderTitle": "選択したドメインをクロール", + "xpack.enterpriseSearch.appSearch.crawler.crawlSelectDomainsModal.selectedDescriptor": "選択済み", + "xpack.enterpriseSearch.appSearch.crawler.crawlSelectDomainsModal.startCrawlButtonLabel": "今すぐ適用してクロール", "xpack.enterpriseSearch.appSearch.crawler.crawlTypeOptions.full": "完全", "xpack.enterpriseSearch.appSearch.crawler.crawlTypeOptions.partial": "部分", "xpack.enterpriseSearch.appSearch.crawler.crawlTypeOptions.reAppliedCrawlRules": "再適用されたクロールルール", @@ -9543,12 +10131,17 @@ "xpack.enterpriseSearch.appSearch.crawler.manageCrawlsPopover.manageCrawlsButtonLabel": "クロールの管理", "xpack.enterpriseSearch.appSearch.crawler.manageCrawlsPopover.reApplyCrawlRules.successMessage": "クロールルールはバックグラウンドで再適用されています", "xpack.enterpriseSearch.appSearch.crawler.manageCrawlsPopover.reApplyCrawlRulesButtonLabel": "クロールルールを再適用", + "xpack.enterpriseSearch.appSearch.crawler.simplifiedSelectable.deselectAllButtonLabel": "すべて選択解除", + "xpack.enterpriseSearch.appSearch.crawler.simplifiedSelectable.selectAllButtonLabel": "すべて選択", "xpack.enterpriseSearch.appSearch.crawler.sitemapsTable.addButtonLabel": "サイトマップを追加", "xpack.enterpriseSearch.appSearch.crawler.sitemapsTable.deleteSuccessToastMessage": "サイトマップが削除されました。", "xpack.enterpriseSearch.appSearch.crawler.sitemapsTable.description": "このドメインのクローラーのサイトマップURLを指定します。", "xpack.enterpriseSearch.appSearch.crawler.sitemapsTable.emptyMessageTitle": "既存のサイトマップがありません。", "xpack.enterpriseSearch.appSearch.crawler.sitemapsTable.title": "サイトマップ", "xpack.enterpriseSearch.appSearch.crawler.sitemapsTable.urlTableHead": "URL", + "xpack.enterpriseSearch.appSearch.crawler.startCrawlContextMenu.crawlAllDomainsMenuLabel": "このエンジンのすべてのドメインをクロール", + "xpack.enterpriseSearch.appSearch.crawler.startCrawlContextMenu.crawlSelectDomainsMenuLabel": "選択したドメインをクロール", + "xpack.enterpriseSearch.appSearch.crawler.startCrawlContextMenu.startACrawlButtonLabel": "クロールを開始", "xpack.enterpriseSearch.appSearch.credentials.apiEndpoint": "エンドポイント", "xpack.enterpriseSearch.appSearch.credentials.apiKeys": "APIキー", "xpack.enterpriseSearch.appSearch.credentials.copied": "コピー完了", @@ -9597,13 +10190,13 @@ "xpack.enterpriseSearch.appSearch.curations.ignoredSuggestionsPanel.queryColumnName": "クエリ", "xpack.enterpriseSearch.appSearch.curations.ignoredSuggestionsPanel.title": "無視されたクエリ", "xpack.enterpriseSearch.appSearch.curations.settings.acceptNewSuggesstionsSwitchLabel": "新しい候補を自動的に承諾", - "xpack.enterpriseSearch.appSearch.curations.settings.analyticsDisabledCalloutDescription": "自動キュレーションでは、アカウントで分析を有効にする必要があります。", + "xpack.enterpriseSearch.appSearch.curations.settings.analyticsDisabledCalloutDescription": "適応型関連性では、アカウントで分析を有効にする必要があります。", "xpack.enterpriseSearch.appSearch.curations.settings.analyticsDisabledCalloutTitle": "分析が無効です", - "xpack.enterpriseSearch.appSearch.curations.settings.automaticCurationsDescription": "提案されたキュレーションはエンジンの分析を監視し、自動候補を表示して、最も関連度の高い結果を提供できるようにします。各提案されたキュレーションは、承諾、却下、修正できます。", - "xpack.enterpriseSearch.appSearch.curations.settings.automaticCurationsTitle": "自動キュレーション", - "xpack.enterpriseSearch.appSearch.curations.settings.enableautomaticCurationsSwitchLabel": "自動候補を有効にする", - "xpack.enterpriseSearch.appSearch.curations.settings.licenseUpgradeCTASubtitle": "{platinumLicenseName}ライセンスをアップグレードし、機械学習の能力を高めます。エンジンの分析を解析することで、App Searchは新規または更新されたキュレーションを提案できます。ユーザーが検索している正確な内容を見つけられるように簡単に支援できます。今すぐ無料トライアルを開始してください。", - "xpack.enterpriseSearch.appSearch.curations.settings.licenseUpgradeCTATitle": "自動キュレーションの導入", + "xpack.enterpriseSearch.appSearch.curations.settings.automaticCurationsDescription": "App Searchはエンジンの分析を監視し、キュレーションの変更を提案して、最も関連度の高い結果を提供できるようにします。各候補は、承諾、却下、修正できます。", + "xpack.enterpriseSearch.appSearch.curations.settings.automaticCurationsTitle": "適応型関連性によるキュレーション", + "xpack.enterpriseSearch.appSearch.curations.settings.enableautomaticCurationsSwitchLabel": "候補を有効にする", + "xpack.enterpriseSearch.appSearch.curations.settings.licenseUpgradeCTASubtitle": "{platinumLicenseName}サブスクリプションをアップグレードし、機械学習の能力を高めます。エンジンの分析を解析することで、App Searchは新規または更新されたキュレーションを提案できます。ユーザーが検索している正確な内容を見つけられるように簡単に支援できます。今すぐ無料トライアルを開始してください。", + "xpack.enterpriseSearch.appSearch.curations.settings.licenseUpgradeCTATitle": "適応型関連性によるキュレーションの概要", "xpack.enterpriseSearch.appSearch.curations.settings.manageAnalyticsButtonLabel": "分析の管理", "xpack.enterpriseSearch.appSearch.curations.settings.platinum": "プラチナ", "xpack.enterpriseSearch.appSearch.DEV_ROLE_TYPE_DESCRIPTION": "開発者はエンジンのすべての要素を管理できます。", @@ -9740,8 +10333,8 @@ "xpack.enterpriseSearch.appSearch.engine.curation.automatedLabel": "自動", "xpack.enterpriseSearch.appSearch.engine.curation.convertToManualCurationButtonLabel": "手動キュレーションに変換", "xpack.enterpriseSearch.appSearch.engine.curation.detail.historyButtonLabel": "履歴", - "xpack.enterpriseSearch.appSearch.engine.curation.detail.historyTableDescription": "自動キュレーションに対する最近の変更に関する詳細ログ。", - "xpack.enterpriseSearch.appSearch.engine.curation.detail.historyTableTitle": "自動キュレーションの変更", + "xpack.enterpriseSearch.appSearch.engine.curation.detail.historyTableDescription": "適応型関連性による最近のキュレーションの変更の詳細ログ。", + "xpack.enterpriseSearch.appSearch.engine.curation.detail.historyTableTitle": "順応型関連性の変更", "xpack.enterpriseSearch.appSearch.engine.curation.suggestedDocumentsCallout.description": "エンジンの分析に基づいて、レビュー可能な新しい提案されたドキュメント昇格があります。", "xpack.enterpriseSearch.appSearch.engine.curation.suggestedDocumentsCallout.title": "このクエリの新しい提案されたドキュメント", "xpack.enterpriseSearch.appSearch.engine.curations.actionsPopoverAriaLabel": "その他の提案アクション", @@ -9753,8 +10346,8 @@ "xpack.enterpriseSearch.appSearch.engine.curations.addResult.searchPlaceholder": "検索エンジンドキュメント", "xpack.enterpriseSearch.appSearch.engine.curations.addResult.title": "結果をキュレーションに追加", "xpack.enterpriseSearch.appSearch.engine.curations.automatedCurationsHistoryPanel.queryColumnHeader": "クエリ", - "xpack.enterpriseSearch.appSearch.engine.curations.automatedCurationsHistoryPanel.tableDecription": "自動キュレーションに対する最近の変更に関する詳細ログ。", - "xpack.enterpriseSearch.appSearch.engine.curations.automatedCurationsHistoryPanel.tableTitle": "自動キュレーションの変更", + "xpack.enterpriseSearch.appSearch.engine.curations.automatedCurationsHistoryPanel.tableDecription": "適応型関連性による最近のキュレーションの変更の詳細ログ。", + "xpack.enterpriseSearch.appSearch.engine.curations.automatedCurationsHistoryPanel.tableTitle": "順応型関連性の変更", "xpack.enterpriseSearch.appSearch.engine.curations.convertToManualCurationConfirmation": "これを手動キュレーションに変換しますか?", "xpack.enterpriseSearch.appSearch.engine.curations.create.curationQueriesDescription": "キュレーションする1つ以上のクエリを追加します。後からその他のクエリを追加または削除できます。", "xpack.enterpriseSearch.appSearch.engine.curations.create.curationQueriesTitle": "キュレーションクエリ", @@ -10116,6 +10709,7 @@ "xpack.enterpriseSearch.appSearch.productCardDescription": "WebサイトとWeb/モバイルアプリの強力な検索エクスペリエンスを設計、デプロイ、管理します。", "xpack.enterpriseSearch.appSearch.productDescription": "ダッシュボード、分析、APIを活用し、高度なアプリケーション検索をシンプルにします。", "xpack.enterpriseSearch.appSearch.productName": "App Search", + "xpack.enterpriseSearch.appSearch.result.clicks": "{clicks}クリック", "xpack.enterpriseSearch.appSearch.result.documentDetailLink": "ドキュメントの詳細を表示", "xpack.enterpriseSearch.appSearch.result.hideAdditionalFields": "追加フィールドを非表示", "xpack.enterpriseSearch.appSearch.result.resultPositionLabel": "#{resultPosition}", @@ -10196,6 +10790,11 @@ "xpack.enterpriseSearch.notFound.description": "お探しのページは見つかりませんでした。", "xpack.enterpriseSearch.notFound.title": "404 エラー", "xpack.enterpriseSearch.overview.heading": "Elasticエンタープライズサーチへようこそ", + "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.productCard.heading": "Elastic {productName}", "xpack.enterpriseSearch.overview.productCard.launchButton": "{productName}を開く", "xpack.enterpriseSearch.overview.productCard.setupButton": "{productName}をセットアップ", @@ -10426,7 +11025,7 @@ "xpack.enterpriseSearch.workplaceSearch.contentSource.configOauth.label": "同期するGitHub組織を選択", "xpack.enterpriseSearch.workplaceSearch.contentSource.configuredSources.accountOnlyTooltip": "非公開コンテンツソース。各ユーザーは独自の個人ダッシュボードからコンテンツソースを追加する必要があります。", "xpack.enterpriseSearch.workplaceSearch.contentSource.configuredSources.body": "構成が完了し、接続できます。", - "xpack.enterpriseSearch.workplaceSearch.contentSource.configuredSources.connectButton": "接続", + "xpack.enterpriseSearch.workplaceSearch.contentSource.configuredSources.connectButton": "別の接続", "xpack.enterpriseSearch.workplaceSearch.contentSource.configuredSources.emptyState": "クエリと一致する構成されたソースはありません。", "xpack.enterpriseSearch.workplaceSearch.contentSource.configuredSources.title": "構成されたコンテンツソース", "xpack.enterpriseSearch.workplaceSearch.contentSource.configuredSources.unConnectedTooltip": "接続されたソースはありません", @@ -10975,7 +11574,17 @@ "xpack.features.visualizeFeatureName": "Visualizeライブラリ", "xpack.fileUpload.fileSizeError": "ファイルサイズ{fileSize}は最大ファイルサイズの{maxFileSize}を超えています", "xpack.fileUpload.fileTypeError": "ファイルは使用可能なタイプのいずれかではありません。{types}", + "xpack.fileUpload.geoFilePicker.acceptedFormats": "使用可能な形式:{fileTypes}", + "xpack.fileUpload.geoFilePicker.filePicker": "ファイルを選択するかドラッグ &amp; ドロップしてください", + "xpack.fileUpload.geoFilePicker.maxSize": "最大サイズ:{maxFileSize}", + "xpack.fileUpload.geoFilePicker.noFeaturesDetected": "選択したファイルには特徴量がありません。", + "xpack.fileUpload.geoFilePicker.previewSummary": "{numFeatures}個の特徴量。ファイルの{previewCoverage}%。", "xpack.fileUpload.geojsonImporter.noGeometry": "特長量には必須フィールド「ジオメトリ」が含まれていません", + "xpack.fileUpload.geoUploadWizard.creatingIndexPattern": "データビュー{indexName}を作成しています", + "xpack.fileUpload.geoUploadWizard.dataIndexingError": "データインデックスエラー", + "xpack.fileUpload.geoUploadWizard.dataIndexingStarted": "インデックスを作成中:{indexName}", + "xpack.fileUpload.geoUploadWizard.indexPatternError": "データビューを作成できません", + "xpack.fileUpload.geoUploadWizard.writingToIndex": "インデックスに書き込み中:{progress}%完了", "xpack.fileUpload.import.noIdOrIndexSuppliedErrorMessage": "ID またはインデックスが提供されていません", "xpack.fileUpload.importComplete.copyButtonAriaLabel": "クリップボードにコピー", "xpack.fileUpload.importComplete.failedFeaturesMsg": "{numFailures}個の特長量にインデックスを作成できませんでした。", @@ -11003,10 +11612,13 @@ "xpack.fileUpload.indexNameRequired": "インデックス名は必須です", "xpack.fileUpload.indexPatternAlreadyExistsErrorMessage": "データビューはすでに存在します。", "xpack.fileUpload.indexSettings.enterIndexTypeLabel": "インデックスタイプ", + "xpack.fileUpload.invalidRuntimeFieldMessage": "無効なランタイムフィールド", "xpack.fileUpload.maxFileSizeUiSetting.description": "ファイルのインポート時にファイルサイズ上限を設定します。この設定でサポートされている最大値は1 GBです。", "xpack.fileUpload.maxFileSizeUiSetting.error": "200 MB、1 GBなどの有効なデータサイズにしてください。", "xpack.fileUpload.maxFileSizeUiSetting.name": "最大ファイルアップロードサイズ", "xpack.fileUpload.noFileNameError": "ファイル名が指定されていません", + "xpack.fileUpload.shapefile.sideCarFilePicker.error": "{ext}は{shapefileName}{ext}と想定されます", + "xpack.fileUpload.shapefile.sideCarFilePicker.promptText": "'{ext}'ファイルを選択", "xpack.fleet.addAgentButton": "エージェントの追加", "xpack.fleet.addAgentHelpPopover.documentationLink": "Elasticエージェントの詳細。", "xpack.fleet.addAgentHelpPopover.footActionButton": "OK", @@ -11074,7 +11686,7 @@ "xpack.fleet.agentEnrollment.standaloneDescription": "Elasticエージェントをスタンドアロンで実行して、エージェントがインストールされているホストで、手動でエージェントを構成および更新します。", "xpack.fleet.agentEnrollment.stepCheckForDataDescription": "エージェントがデータの送信を開始します。{link}に移動して、データを表示してください。", "xpack.fleet.agentEnrollment.stepCheckForDataTitle": "データを確認", - "xpack.fleet.agentEnrollment.stepChooseAgentPolicyTitle": "エージェントポリシーを選択", + "xpack.fleet.agentEnrollment.stepChooseAgentPolicyTitle": "追加しているホストのタイプ", "xpack.fleet.agentEnrollment.stepConfigureAgentDescription": "Elasticエージェントがインストールされているホストで、このポリシーを{fileName}にコピーします。Elasticsearch資格情報を使用するには、{fileName}の{outputSection}セクションで、{ESUsernameVariable}と{ESPasswordVariable}を変更します。", "xpack.fleet.agentEnrollment.stepConfigureAgentDescriptionk8s": "Kubernetesクラスター内でKubernetesマニフェストをコピーしてダウンロードします。Daemonset環境変数で{ESUsernameVariable}と{ESPasswordVariable}を修正し、マニフェストを適用します。", "xpack.fleet.agentEnrollment.stepConfigureAgentTitle": "エージェントの構成", @@ -11149,13 +11761,24 @@ "xpack.fleet.agentPolicy.postInstallAddAgentModalCancelButtonLabel": "後でElasticエージェントを追加", "xpack.fleet.agentPolicy.postInstallAddAgentModalConfirmButtonLabel": "Elasticエージェントをホストに追加", "xpack.fleet.agentPolicy.postInstallAddAgentModalDescription": "この統合を完了するために、{elasticAgent}をホストに追加し、データを収集して、Elastic Stackに送信してください", + "xpack.fleet.agentPolicy.saveIntegrationTooltip": "統合ポリシーを保存するには、セキュリティを有効にし、統合のすべての権限が必要です。管理者にお問い合わせください。", "xpack.fleet.agentPolicyActionMenu.buttonText": "アクション", "xpack.fleet.agentPolicyActionMenu.copyPolicyActionText": "ポリシーの複製", "xpack.fleet.agentPolicyActionMenu.enrollAgentActionText": "エージェントの追加", "xpack.fleet.agentPolicyActionMenu.viewPolicyText": "ポリシーを表示", + "xpack.fleet.agentPolicyCreation.created": "エージェントポリシーが作成されました", + "xpack.fleet.agentPolicyCreation.failed": "エージェントポリシーの作成が失敗しました", "xpack.fleet.agentPolicyForm.advancedOptionsToggleLabel": "高度なオプション", + "xpack.fleet.agentPolicyForm.createAgentPolicyDescription": "新しいエージェントポリシーを作成し、この統合を新しいホストに追加します。次のステップでエージェントを追加できます。", + "xpack.fleet.agentPolicyForm.createAgentPolicyDocLink": "エージェントポリシー", + "xpack.fleet.agentPolicyForm.createAgentPolicyFleetServer": "FleetサーバーはElasticエージェントで実行されます。エージェントは、ホストを表すエージェントポリシーで登録されます。専用ホストで実行するには、Fleetサーバーで専用エージェントポリシーを作成する必要があります。", + "xpack.fleet.agentPolicyForm.createAgentPolicyLabel": "エージェントポリシーを作成", + "xpack.fleet.agentPolicyForm.createAgentPolicyText": "ポリシーを作成", + "xpack.fleet.agentPolicyForm.createAgentPolicyTypeOfHosts": "ホストのタイプは{agentPolicy}で制御されています。開始するには、新しいエージェントポリシーを作成してください。", + "xpack.fleet.agentPolicyForm.descriptionDescription": "このポリシーを使用する方法に関する説明を追加します。", "xpack.fleet.agentPolicyForm.descriptionFieldLabel": "説明", - "xpack.fleet.agentPolicyForm.descriptionFieldPlaceholder": "どのようにこのポリシーを使用しますか?", + "xpack.fleet.agentPolicyForm.descriptionFieldPlaceholder": "任意の説明", + "xpack.fleet.agentPolicyForm.monitoringDescription": "監視ログおよびメトリックを収集すると、{agent}統合も作成されます。監視データは上記のデフォルト名前空間に書き込まれます。", "xpack.fleet.agentPolicyForm.monitoringLabel": "アラート監視", "xpack.fleet.agentPolicyForm.monitoringLogsFieldLabel": "エージェントログを収集", "xpack.fleet.agentPolicyForm.monitoringLogsTooltipText": "このポリシーを使用するElasticエージェントからログを収集します。", @@ -11167,7 +11790,9 @@ "xpack.fleet.agentPolicyForm.namespaceFieldDescription": "名前空間はユーザーが構成できる任意のグループであり、データの検索とユーザーアクセス権の管理が容易になります。ポリシー名前空間は、統合のデータストリームの名前を設定するために使用されます。{fleetUserGuide}。", "xpack.fleet.agentPolicyForm.nameSpaceFieldDescription.fleetUserGuideLabel": "詳細", "xpack.fleet.agentPolicyForm.namespaceFieldLabel": "デフォルト名前空間", + "xpack.fleet.agentPolicyForm.newAgentPolicyFieldLabel": "新しいエージェントポリシー名", "xpack.fleet.agentPolicyForm.systemMonitoringText": "システムログとメトリックの収集", + "xpack.fleet.agentPolicyForm.systemMonitoringTooltipText": "これにより、{system}統合も追加され、システムログとメトリックを収集します。", "xpack.fleet.agentPolicyForm.unenrollmentTimeoutDescription": "任意のタイムアウト(秒)。指定されている場合、この期間が経過した後、エージェントは自動的に登録解除されます。", "xpack.fleet.agentPolicyForm.unenrollmentTimeoutLabel": "登録解除タイムアウト", "xpack.fleet.agentPolicyForm.unenrollTimeoutMinValueErrorMessage": "タイムアウトは0よりも大きい値でなければなりません。", @@ -11272,7 +11897,7 @@ "xpack.fleet.createPackagePolicy.stepConfigure.showStreamsAriaLabel": "{type}入力を表示", "xpack.fleet.createPackagePolicy.stepConfigure.toggleAdvancedOptionsButtonText": "高度なオプション", "xpack.fleet.createPackagePolicy.stepConfigurePackagePolicyTitle": "統合の構成", - "xpack.fleet.createPackagePolicy.stepSelectAgentPolicyTitle": "エージェントポリシーに適用", + "xpack.fleet.createPackagePolicy.stepSelectAgentPolicyTitle": "この統合を追加する場所", "xpack.fleet.createPackagePolicy.StepSelectPolicy.agentPolicyFormGroupDescription": "エージェントポリシーは、エージェントのセットで統合のグループを管理するために使用されます。", "xpack.fleet.createPackagePolicy.StepSelectPolicy.agentPolicyFormGroupTitle": "エージェントポリシー", "xpack.fleet.createPackagePolicy.StepSelectPolicy.agentPolicyLabel": "エージェントポリシー", @@ -11301,6 +11926,7 @@ "xpack.fleet.deleteAgentPolicy.confirmModal.cancelButtonLabel": "キャンセル", "xpack.fleet.deleteAgentPolicy.confirmModal.confirmButtonLabel": "ポリシーを削除", "xpack.fleet.deleteAgentPolicy.confirmModal.deletePolicyTitle": "このエージェントポリシーを削除しますか?", + "xpack.fleet.deleteAgentPolicy.confirmModal.fleetServerMessage": "注:このポリシーにはFleet統合があり、Fleetを使用するには必須です。", "xpack.fleet.deleteAgentPolicy.confirmModal.irreversibleMessage": "この操作は元に戻すことができません。", "xpack.fleet.deleteAgentPolicy.confirmModal.loadingAgentsCountMessage": "影響があるエージェントの数を確認中…", "xpack.fleet.deleteAgentPolicy.confirmModal.loadingButtonLabel": "読み込み中…", @@ -11349,9 +11975,12 @@ "xpack.fleet.enrollmentInstructions.platformSelectAriaLabel": "プラットフォーム", "xpack.fleet.enrollmentInstructions.troubleshootingLink": "トラブルシューティングガイド", "xpack.fleet.enrollmentInstructions.troubleshootingText": "接続の問題が発生している場合は、{link}を参照してください。", + "xpack.fleet.enrollmentStepAgentPolicy.addPolicyButton": "新しいエージェントポリシーの作成", + "xpack.fleet.enrollmentStepAgentPolicy.createAgentPolicyText": "ホストのタイプは{agentPolicy}で制御されています。エージェントポリシーを選択するか、新規作成してください。", "xpack.fleet.enrollmentStepAgentPolicy.enrollmentTokenSelectLabel": "登録トークン", "xpack.fleet.enrollmentStepAgentPolicy.noEnrollmentTokensForSelectedPolicyCallout": "選択したエージェントポリシーの登録トークンはありません", "xpack.fleet.enrollmentStepAgentPolicy.policySelectAriaLabel": "エージェントポリシー", + "xpack.fleet.enrollmentStepAgentPolicy.selectAgentPolicyFleetServerText": "FleetサーバーはElasticエージェントで実行されます。エージェントは、ホストを表すエージェントポリシーで登録されます。Fleetサーバー用に構成された既存のエージェントポリシーを使用するか、新規作成することができます。", "xpack.fleet.enrollmentStepAgentPolicy.setUpAgentsLink": "登録トークンを作成", "xpack.fleet.enrollmentStepAgentPolicy.showAuthenticationSettingsButton": "認証設定", "xpack.fleet.enrollmentTokenDeleteModal.cancelButton": "キャンセル", @@ -11369,8 +11998,8 @@ "xpack.fleet.enrollmentTokensList.revokeTokenButtonLabel": "トークンを取り消す", "xpack.fleet.enrollmentTokensList.secretTitle": "シークレット", "xpack.fleet.enrollmentTokensList.showTokenButtonLabel": "トークンを表示", - "xpack.fleet.epm.addPackagePolicyButtonPrivilegesRequiredTooltip": "Elasticエージェント統合を追加するには、スーパーユーザーロールが必要です。管理者にお問い合わせください。", - "xpack.fleet.epm.addPackagePolicyButtonSecurityRequiredTooltip": "Elasticエージェント統合を追加するには、セキュリティを有効にし、スーパーユーザーロールが必要です。管理者にお問い合わせください。", + "xpack.fleet.epm.addPackagePolicyButtonPrivilegesRequiredTooltip": "Elasticエージェント統合には、Fleetの「すべて」権限と統合の「すべて」権限が必要です。管理者にお問い合わせください。", + "xpack.fleet.epm.addPackagePolicyButtonSecurityRequiredTooltip": "Elasticエージェント統合を追加するには、セキュリティを有効にし、Fleetの「すべて」権限が必要です。管理者にお問い合わせください。", "xpack.fleet.epm.addPackagePolicyButtonText": "{packageName}の追加", "xpack.fleet.epm.agentEnrollment.viewDataAssetsLabel": "アセットを表示", "xpack.fleet.epm.agentEnrollment.viewDataDescription.pleaseNoteLabel": "注記:", @@ -11395,6 +12024,7 @@ "xpack.fleet.epm.browseAllButtonText": "すべての統合を参照", "xpack.fleet.epm.categoryLabel": "カテゴリー", "xpack.fleet.epm.detailsTitle": "詳細", + "xpack.fleet.epm.elasticAgentBadgeLabel": "Elasticエージェント", "xpack.fleet.epm.errorLoadingNotice": "NOTICE.txtの読み込みエラー", "xpack.fleet.epm.featuresLabel": "機能", "xpack.fleet.epm.install.packageInstallError": "{pkgName} {pkgVersion}のインストールエラー", @@ -11431,8 +12061,8 @@ "xpack.fleet.epm.pageSubtitle": "データの収集と分析を開始するには、統合を選択します。", "xpack.fleet.epm.releaseBadge.betaDescription": "この統合は本番環境用ではありません。", "xpack.fleet.epm.releaseBadge.betaLabel": "ベータ", - "xpack.fleet.epm.releaseBadge.experimentalDescription": "この統合は、急に変更されたり、将来のリリースで削除されたりする可能性があります。", - "xpack.fleet.epm.releaseBadge.experimentalLabel": "実験的", + "xpack.fleet.epm.releaseBadge.experimentalDescription": "この機能はテクニカルプレビュー中であり、将来のリリースでは変更されたり完全に削除されたりする場合があります。Elasticは最善の努力を講じてすべての問題の修正に努めますが、テクニカルプレビュー中の機能には正式なGA機能のサポートSLAが適用されません。", + "xpack.fleet.epm.releaseBadge.experimentalLabel": "テクニカルプレビュー", "xpack.fleet.epm.screenshotAltText": "{packageName}スクリーンショット#{imageNumber}", "xpack.fleet.epm.screenshotErrorText": "このスクリーンショットを読み込めません", "xpack.fleet.epm.screenshotPaginationAriaLabel": "{packageName}スクリーンショットページネーション", @@ -11450,7 +12080,7 @@ "xpack.fleet.epmList.eprUnavailableCallouBdGatewaytTitleMessage": "これらの統合を表示するには、{registryproxy}またはホスト{onpremregistry}を構成します。", "xpack.fleet.epmList.eprUnavailableCallout400500TitleMessage": "{registryproxy}または{onpremregistry}が正しく構成されていることを確認するか、しばらくたってから再試行してください。", "xpack.fleet.epmList.missingIntegrationPlaceholder": "検索用語と一致する統合が見つかりませんでした。別のキーワードを試すか、左側のカテゴリを使用して参照してください。", - "xpack.fleet.epmList.noPackagesFoundPlaceholder": "パッケージが見つかりません", + "xpack.fleet.epmList.noPackagesFoundPlaceholder": "統合が見つかりません", "xpack.fleet.epmList.onPremLinkSnippetText": "独自のレジストリ", "xpack.fleet.epmList.proxyLinkSnippedText": "プロキシサーバー", "xpack.fleet.epmList.searchPackagesPlaceholder": "統合を検索", @@ -11503,15 +12133,18 @@ "xpack.fleet.fleetServerSetup.setupGuideLink": "FleetおよびElasticエージェントガイド", "xpack.fleet.fleetServerSetup.setupText": "Fleetにエージェントを登録する前に、Fleetサーバーが必要です。Fleetサーバーのセットアップについては、次の手順に従ってください。詳細については、{userGuideLink}を参照してください。", "xpack.fleet.fleetServerSetup.setupTitle": "Fleetサーバーを追加", + "xpack.fleet.fleetServerSetup.stepCreateAgentPolicyTitle": "Fleetサーバーをホストするエージェントポリシーを作成", "xpack.fleet.fleetServerSetup.stepDeploymentModeDescriptionText": "FleetはTransport Layer Security(TLS)を使用して、ElasticエージェントとElastic Stackの他のコンポーネントとの間の通信を暗号化します。デプロイモードを選択し、証明書を処理する方法を決定します。選択内容は後続のステップに表示されるFleetサーバーセットアップコマンドに影響します。", "xpack.fleet.fleetServerSetup.stepDeploymentModeTitle": "セキュリティのデプロイモードを選択", "xpack.fleet.fleetServerSetup.stepFleetServerCompleteDescription": "エージェントをFleetに登録できます。", "xpack.fleet.fleetServerSetup.stepFleetServerCompleteTitle": "Fleetサーバーが接続されました", "xpack.fleet.fleetServerSetup.stepGenerateServiceTokenTitle": "サービストークンを生成", "xpack.fleet.fleetServerSetup.stepInstallAgentTitle": "Fleetサーバーを起動", - "xpack.fleet.fleetServerSetup.stepSelectAgentPolicyTitle": "エージェントポリシーを選択", + "xpack.fleet.fleetServerSetup.stepSelectAgentPolicyTitle": "Fleetサーバーをホストするエージェントポリシーを選択", "xpack.fleet.fleetServerSetup.stepWaitingForFleetServerTitle": "Fleetサーバーの接続を待機しています...", "xpack.fleet.fleetServerSetup.waitingText": "Fleetサーバーの接続を待機しています...", + "xpack.fleet.fleetServerSetupPermissionDeniedErrorMessage": "Fleetサーバーを設定する必要があります。これには{roleName}クラスター権限が必要です。管理者にお問い合わせください。", + "xpack.fleet.fleetServerSetupPermissionDeniedErrorTitle": "パーミッションが拒否されました", "xpack.fleet.fleetServerUnhealthy.requestError": "Fleetサーバーステータスの取得中にエラーが発生しました", "xpack.fleet.fleetServerUpgradeModal.announcementImageAlt": "Fleetサーバーアップグレード通知", "xpack.fleet.fleetServerUpgradeModal.breakingChangeMessage": "これは大きい変更であるため、ベータリリースにしています。ご不便をおかけしていることをお詫び申し上げます。ご質問がある場合や、サポートが必要な場合は、{link}を共有してください。", @@ -11610,7 +12243,8 @@ "xpack.fleet.newEnrollmentKey.placeholder": "トークン名を入力", "xpack.fleet.newEnrollmentKey.policyLabel": "ポリシー", "xpack.fleet.newEnrollmentKey.submitButton": "登録トークンを作成", - "xpack.fleet.noAccess.accessDeniedDescription": "Elastic Fleet にアクセスする権限がありません。Elastic Fleet を使用するには、このアプリケーションの読み取り権または全権を含むユーザーロールが必要です。", + "xpack.fleet.newEnrollmentKeyForm.policyIdRequireErrorMessage": "ポリシーは必須です", + "xpack.fleet.noAccess.accessDeniedDescription": "Elastic Fleet にアクセスする権限がありません。Elastic Fleetを使用するには、このアプリケーションのすべての権限を含むユーザーロールが必要です。", "xpack.fleet.noAccess.accessDeniedTitle": "アクセスが拒否されました", "xpack.fleet.oldAppTitle": "Ingest Manager", "xpack.fleet.overviewPageSubtitle": "Elasticエージェントの集中管理。", @@ -11627,6 +12261,7 @@ "xpack.fleet.packagePolicyValidation.nameRequiredErrorMessage": "名前が必要です", "xpack.fleet.packagePolicyValidation.quoteStringErrorMessage": "*や&などの特殊YAML文字で始まる文字列は二重引用符で囲む必要があります。", "xpack.fleet.packagePolicyValidation.requiredErrorMessage": "{fieldName}が必要です", + "xpack.fleet.permissionDeniedErrorMessage": "Fleet へのアクセスが許可されていません。Fleetの{roleName1} Kibana権限と、統合の{roleName2}または{roleName1}権限が必要です。", "xpack.fleet.permissionDeniedErrorTitle": "パーミッションが拒否されました", "xpack.fleet.permissionsRequestErrorMessageDescription": "Fleet アクセス権の確認中に問題が発生しました", "xpack.fleet.permissionsRequestErrorMessageTitle": "アクセス権を確認できません", @@ -11675,6 +12310,8 @@ "xpack.fleet.serverError.enrollmentKeyDuplicate": "エージェントポリシーの{agentPolicyId}登録キー{providedKeyName}はすでに存在します", "xpack.fleet.serverError.returnedIncorrectKey": "find enrollmentKeyByIdで正しくないキーが返されました", "xpack.fleet.serverError.unableToCreateEnrollmentKey": "登録APIキーを作成できません", + "xpack.fleet.serverPlugin.integrationsPrivilegesTooltip": "すべての統合アクセスには、すべてのSpacesが必要です。", + "xpack.fleet.serverPlugin.privilegesTooltip": "Fleetアクセスには、すべてのSpacesが必要です。", "xpack.fleet.settings.confirmModal.cancelButtonText": "キャンセル", "xpack.fleet.settings.confirmModal.confirmButtonText": "保存してデプロイ", "xpack.fleet.settings.deleteHostButton": "ホストの削除", @@ -12243,6 +12880,7 @@ "xpack.idxMgmt.detailPanel.tabSummaryLabel": "まとめ", "xpack.idxMgmt.editIndexSettingsAction.successfullySavedSettingsForIndicesMessage": "{indexName} の設定が保存されました", "xpack.idxMgmt.editSettingsJSON.saveJSONButtonLabel": "保存", + "xpack.idxMgmt.editSettingsJSON.saveJSONCalloutErrorTitle": "設定の保存中にエラーが発生しました", "xpack.idxMgmt.editSettingsJSON.saveJSONDescription": "変更して JSON を保存します", "xpack.idxMgmt.editSettingsJSON.settingsReferenceLinkText": "設定リファレンス", "xpack.idxMgmt.editTemplate.editTemplatePageTitle": "テンプレート「{name}」を編集", @@ -14001,6 +14639,7 @@ "xpack.infra.metrics.alerting.threshold.errorAlertReason": "{metric}のデータのクエリを試行しているときに、Elasticsearchが失敗しました", "xpack.infra.metrics.alerting.threshold.errorState": "エラー", "xpack.infra.metrics.alerting.threshold.fired": "アラート", + "xpack.infra.metrics.alerting.threshold.firedAlertReason": "{group}の過去{duration}における{metric}は{currentValue}です。{comparator} {threshold}のときにアラートを発行します。", "xpack.infra.metrics.alerting.threshold.noDataAlertReason": "{metric}は過去{interval}に{group}のデータを報告していません", "xpack.infra.metrics.alerting.threshold.noDataFormattedValue": "[データなし]", "xpack.infra.metrics.alerting.threshold.noDataState": "データなし", @@ -14020,6 +14659,8 @@ "xpack.infra.metrics.anomaly.alertName": "インフラストラクチャーの異常", "xpack.infra.metrics.emptyViewDescription": "期間またはフィルターを調整してみてください。", "xpack.infra.metrics.emptyViewTitle": "表示するデータがありません。", + "xpack.infra.metrics.exploreDataButtonLabel": "データの探索", + "xpack.infra.metrics.exploreDataButtonLabel.message": "データの探索では、任意のディメンションの結果データを選択してフィルタリングし、パフォーマンスの問題の原因または影響を調査することができます。", "xpack.infra.metrics.expressionItems.components.closablePopoverTitle.closeLabel": "閉じる", "xpack.infra.metrics.invalidNodeErrorDescription": "構成をよく確認してください", "xpack.infra.metrics.invalidNodeErrorTitle": "{nodeName} がメトリックデータを収集していないようです", @@ -14063,6 +14704,7 @@ "xpack.infra.metrics.nodeDetails.processListRetry": "再試行", "xpack.infra.metrics.nodeDetails.searchForProcesses": "プロセスを検索…", "xpack.infra.metrics.nodeDetails.tabs.processes": "プロセス", + "xpack.infra.metrics.pageHeader.analyzeData.label": "[データの探索]ビューに移動して、インフラメトリックデータを可視化", "xpack.infra.metrics.pluginTitle": "メトリック", "xpack.infra.metrics.refetchButtonLabel": "新規データを確認", "xpack.infra.metrics.settingsTabTitle": "設定", @@ -14399,7 +15041,29 @@ "xpack.ingestPipelines.clone.loadSourcePipelineErrorTitle": "{name}を読み込めません。", "xpack.ingestPipelines.create.docsButtonLabel": "パイプラインドキュメントの作成", "xpack.ingestPipelines.create.pageTitle": "パイプラインの作成", + "xpack.ingestPipelines.createFromCsv.errorMessage": "{message}", + "xpack.ingestPipelines.createFromCsv.fetchPipeline.unexpectedErrorDetails": "予期しないエラー", + "xpack.ingestPipelines.createFromCsv.fetchPipeline.unexpectedErrorTitle": "問題が発生しました", + "xpack.ingestPipelines.createFromCsv.fileUpload.filePickerTitle": "ファイルのアップロード(最大{maxFileSize})", + "xpack.ingestPipelines.createFromCsv.fileUpload.processButton": "CSVの処理", + "xpack.ingestPipelines.createFromCsv.fileUpload.selectOrDragAndDropFileDescription": "CSVファイルを選択するかドラッグ &amp; ドロップしてください", + "xpack.ingestPipelines.createFromCsv.fileUpload.settingDescription": "CSVでアクションが指定されていない場合、フィールドをコピーするか名前を変更するかどうか。", + "xpack.ingestPipelines.createFromCsv.instructions": "CSVファイルを使用して、カスタムデータソースをElastic Common Schema(ECS)にマッピングする方法を定義します。各{source}で、{destination}とフォーマット調整を指定できます。サポートされているヘッダーについては、{templateLink}を参照してください。", + "xpack.ingestPipelines.createFromCsv.instructions.continued": "追加のデータ変換を実行するには、結果のスターターパイプラインにプロセッサーを追加します。", + "xpack.ingestPipelines.createFromCsv.pageTitle": "CSVからパイプラインを作成", + "xpack.ingestPipelines.createFromCsv.preview.copy": "JSONをコピー", + "xpack.ingestPipelines.createFromCsv.preview.createPipeline": "続行してパイプラインを作成", + "xpack.ingestPipelines.createFromCsv.preview.download": "JSONのダウンロード", + "xpack.ingestPipelines.createFromCsv.preview.invalidJson": "無効なJSONです。", + "xpack.ingestPipelines.createFromCsv.preview.jsonMapSuccessful": "パイプラインを生成する前に、JSONを保存または編集することができます。", + "xpack.ingestPipelines.createFromCsv.processFile.emptyFileError": "指定されたファイルは空です。", + "xpack.ingestPipelines.createFromCsv.processFile.emptyFileErrorTitle": "ファイルは空です", + "xpack.ingestPipelines.createFromCsv.processFile.fileTooLargeError": "ファイルのサイズが許可されたサイズの{maxBytes}バイトを超えています。", + "xpack.ingestPipelines.createFromCsv.processFile.fileTooLargeErrorTitle": "ファイルが大きすぎます", + "xpack.ingestPipelines.createFromCsv.processFile.unexpectedError": "指定されたファイルを読み取れませんでした。", + "xpack.ingestPipelines.createFromCsv.processFile.unexpectedErrorTitle": "ファイルの読み込み中にエラーが発生しました", "xpack.ingestPipelines.createRoute.duplicatePipelineIdErrorMessage": "「{name}」という名前のパイプラインがすでに存在します。", + "xpack.ingestPipelines.csvToIngestPipeline.error.emptyFileErrors": "ファイル読み取りエラー:指定されたファイルは空です。", "xpack.ingestPipelines.deleteModal.cancelButtonLabel": "キャンセル", "xpack.ingestPipelines.deleteModal.deleteDescription": " {numPipelinesToDelete, plural, one {このパイプライン} other {これらのパイプライン} }を削除しようとしています:", "xpack.ingestPipelines.deleteModal.errorNotificationMessageText": "パイプライン'{name}'の削除エラー", @@ -14445,22 +15109,28 @@ "xpack.ingestPipelines.list.pipelineDetails.managePipelinePanelTitle": "パイプラインオプション", "xpack.ingestPipelines.list.pipelineDetails.processorsTitle": "プロセッサー", "xpack.ingestPipelines.list.pipelineDetails.versionTitle": "バージョン", - "xpack.ingestPipelines.list.pipelinesDescription": "インデックス前にドキュメントを処理するためのパイプラインを定義します。", + "xpack.ingestPipelines.list.pipelinesDescription": "パイプラインを使用すると、フィールドの削除または変換、テキストからの値の抽出、インデックス前のデータの強化を行うことができます。", "xpack.ingestPipelines.list.pipelinesDocsLinkText": "インジェストパイプラインドキュメント", "xpack.ingestPipelines.list.table.actionColumnTitle": "アクション", "xpack.ingestPipelines.list.table.cloneActionDescription": "このパイプラインをクローン", "xpack.ingestPipelines.list.table.cloneActionLabel": "クローンを作成", - "xpack.ingestPipelines.list.table.createPipelineButtonLabel": "パイプラインの作成", + "xpack.ingestPipelines.list.table.createPipelineButtonLabel": "新しいパイプライン", + "xpack.ingestPipelines.list.table.createPipelineDropdownLabel": "パイプラインの作成", + "xpack.ingestPipelines.list.table.createPipelineFromCsvButtonLabel": "CSVからのパイプライン", "xpack.ingestPipelines.list.table.deleteActionDescription": "このパイプラインを削除", "xpack.ingestPipelines.list.table.deleteActionLabel": "削除", "xpack.ingestPipelines.list.table.editActionDescription": "このパイプラインを編集", "xpack.ingestPipelines.list.table.editActionLabel": "編集", - "xpack.ingestPipelines.list.table.emptyPrompt.createButtonLabel": "パイプラインを作成", - "xpack.ingestPipelines.list.table.emptyPromptDescription": "たとえば、フィールドを削除する1つのプロセッサーと、フィールド名を変更する別のプロセッサーを使用して、パイプラインを作成できます。", + "xpack.ingestPipelines.list.table.emptyCreatePipelineDropdownLabel": "パイプラインの作成", + "xpack.ingestPipelines.list.table.emptyPrompt.createButtonLabel": "新しいパイプライン", + "xpack.ingestPipelines.list.table.emptyPrompt.createButtonLabel.createPipelineFromCsvButtonLabel": "CSVからのパイプライン", + "xpack.ingestPipelines.list.table.emptyPromptDescription": "パイプラインを使用すると、フィールドの削除または変換、テキストからの値の抽出、インデックス前のデータの強化を行うことができます。", "xpack.ingestPipelines.list.table.emptyPromptDocumentionLink": "詳細", "xpack.ingestPipelines.list.table.emptyPromptTitle": "パイプラインを作成して開始", "xpack.ingestPipelines.list.table.nameColumnTitle": "名前", "xpack.ingestPipelines.list.table.reloadButtonLabel": "再読み込み", + "xpack.ingestPipelines.mapToIngestPipeline.error.invalidFormatAction": "無効なフォーマットアクション[{ formatAction }です。有効なアクションは{formatActions}です", + "xpack.ingestPipelines.mapToIngestPipeline.error.parseErrors": "ファイル読み取りエラー:ファイルの処理中に予期しない問題が発生しました。", "xpack.ingestPipelines.pipelineEditor.addDocuments.addDocumentButtonLabel": "ドキュメントを追加", "xpack.ingestPipelines.pipelineEditor.addDocuments.addDocumentErrorMessage": "ドキュメントの追加エラー", "xpack.ingestPipelines.pipelineEditor.addDocuments.addDocumentSuccessMessage": "ドキュメントが追加されました", @@ -14669,7 +15339,9 @@ "xpack.ingestPipelines.pipelineEditor.inferenceForm.fieldMapHelpText": "ドキュメントフィールド名をモデルの既知のフィールド名にマッピングします。モデルのどのマッピングよりも優先されます。", "xpack.ingestPipelines.pipelineEditor.inferenceForm.fieldMapInvalidJSONError": "無効なJSON", "xpack.ingestPipelines.pipelineEditor.inferenceForm.fieldMapLabel": "フィールドマップ(任意)", + "xpack.ingestPipelines.pipelineEditor.inferenceForm.inferenceConfigField.documentationLinkLabel": "ドキュメンテーション", "xpack.ingestPipelines.pipelineEditor.inferenceForm.inferenceConfigLabel": "推論構成(任意)", + "xpack.ingestPipelines.pipelineEditor.inferenceForm.inferenceConfigurationHelpText": "推論タイプとオプションが含まれます。使用可能な構成オプションについては、{documentation}を参照してください。", "xpack.ingestPipelines.pipelineEditor.inferenceForm.modelIDFieldHelpText": "推論するモデルのID。", "xpack.ingestPipelines.pipelineEditor.inferenceForm.modelIDFieldLabel": "モデルID", "xpack.ingestPipelines.pipelineEditor.inferenceForm.patternRequiredError": "モデルID値は必須です。", @@ -14905,7 +15577,7 @@ "xpack.ingestPipelines.processors.description.grok": "{grokLink}式を使用して、フィールドから一致を抽出します。", "xpack.ingestPipelines.processors.description.gsub": "正規表現を使用して、フィールドサブ文字列を置換します。", "xpack.ingestPipelines.processors.description.htmlStrip": "フィールドからHTMLタグを削除します。", - "xpack.ingestPipelines.processors.description.inference": "学習済みのデータフレーム分析モデルを使用して、受信データに対して推論します。", + "xpack.ingestPipelines.processors.description.inference": "学習済みモデルを使用して、投入されるデータに対して推測します。", "xpack.ingestPipelines.processors.description.join": "配列要素を文字列に結合します。各エレメント間に区切り文字を挿入します。", "xpack.ingestPipelines.processors.description.json": "互換性がある文字列からJSONオブジェクトを作成します。", "xpack.ingestPipelines.processors.description.kv": "キーと値のペアを含む文字列からフィールドを抽出します。", @@ -15255,9 +15927,9 @@ "xpack.maps.fileUpload.trimmedResultsMsg": "結果は{numFeatures}個の特徴量に制限されます。これはファイルの{previewCoverage}%です。", "xpack.maps.fileUploadWizard.configureDocumentLayerLabel": "ドキュメントレイヤーとして追加", "xpack.maps.fileUploadWizard.configureUploadLabel": "ファイルのインポート", - "xpack.maps.fileUploadWizard.description": "Elasticsearch で GeoJSON データにインデックスします", + "xpack.maps.fileUploadWizard.description": "ElasticsearchでGeoJSONおよびShapefileファイルにインデックスを作成", "xpack.maps.fileUploadWizard.disabledDesc": "ファイルをアップロードできません。Kibana「データビュー管理」権限がありません。", - "xpack.maps.fileUploadWizard.title": "GeoJSONをアップロード", + "xpack.maps.fileUploadWizard.title": "ファイルをアップロード", "xpack.maps.fileUploadWizard.uploadLabel": "ファイルをインポートしています", "xpack.maps.filterByMapExtentMenuItem.disableDisplayName": "マップ範囲でのフィルターを無効にする", "xpack.maps.filterByMapExtentMenuItem.enableDisplayName": "マップ範囲でのフィルターを有効にする", @@ -15267,7 +15939,9 @@ "xpack.maps.filterEditor.applyGlobalQueryCheckboxLabel": "グローバル検索をレイヤーデータに適用", "xpack.maps.filterEditor.applyGlobalTimeCheckboxLabel": "グローバル時刻をレイヤーデータに適用", "xpack.maps.filterEditor.applyGlobalTimeHelp": "有効にすると、結果がグローバル時刻で絞り込まれます", - "xpack.maps.geoGrid.resolutionLabel": "グリッド解像度", + "xpack.maps.fitToData.autoFitToDataBounds": "[自動的にマップをデータ境界に合わせる]マップ設定を有効にすると、マップが自動的にパン・ズームされ、データ境界が表示されます。", + "xpack.maps.fitToData.label": "データバウンドに合わせる", + "xpack.maps.geoGrid.resolutionLabel": "解決", "xpack.maps.geometryFilterForm.geometryLabelLabel": "ジオメトリラベル", "xpack.maps.geometryFilterForm.relationLabel": "空間関係", "xpack.maps.geoTileAgg.disabled.docValues": "クラスタリングには集約が必要です。doc_valuesをtrueに設定して、集約を有効にします。", @@ -15363,6 +16037,7 @@ "xpack.maps.layers.newVectorLayerWizard.indexPrivsErrorTitle": "インデックス権限がありません", "xpack.maps.layerSettings.attributionLegend": "属性", "xpack.maps.layerTocActions.cloneLayerTitle": "レイヤーおクローンを作成", + "xpack.maps.layerTocActions.editFeaturesTooltip.disabledMessage": "クラスタリング、用語結合、時間フィルタリング、またはグローバル検索なしで、ドキュメントレイヤーでサポートされている特徴量のみを編集します。", "xpack.maps.layerTocActions.fitToDataTitle": "データに合わせる", "xpack.maps.layerTocActions.hideLayerTitle": "レイヤーの非表示", "xpack.maps.layerTocActions.layerActionsTitle": "レイヤー操作", @@ -15472,10 +16147,19 @@ "xpack.maps.regionMap.function.help": "地域マップビジュアライゼーション", "xpack.maps.regionMap.vis.description": "テーママップにメトリックを表示します。", "xpack.maps.regionMapMap.vis.title": "地域マップ", + "xpack.maps.registerIntegrations.gdal.integrationDescription": "shapefilesをアップロードし、GDALを使用してPostGISやOracle Spatialなどの関係データベースから取り込みます。", + "xpack.maps.registerIntegrations.gdal.integrationTitle": "GDAL", "xpack.maps.sampleData.ecommerceSpec.mapsTitle": "[e コマース] 国別の注文", "xpack.maps.sampleData.flightaSpec.logsTitle": "[ログ ] 合計リクエスト数とバイト数", "xpack.maps.sampleData.flightsSpec.mapsTitle": "[フライト] 出発地の時間の遅延", "xpack.maps.sampleDataLinkLabel": "マップ", + "xpack.maps.scalingDocs.clustersDetails": "結果が{maxResultWindow}ドキュメントを超えたときにクラスターを表示します。結果が{maxResultWindow}未満のときにドキュメントを表示します。", + "xpack.maps.scalingDocs.clustersUseCase": "このオプションを使用して、大きいデータセットを表示します。用語結合はサポートされていません。", + "xpack.maps.scalingDocs.limitDetails": "最初の{maxResultWindow}ドキュメントから特徴量を表示します。", + "xpack.maps.scalingDocs.limitUseCase": "このオプションを使用すると、境界を越えて統計情報を比較する階級区分図を作成します。", + "xpack.maps.scalingDocs.maxResultWindow": "{link}インデックス設定で提供された{maxResultWindow}制約。", + "xpack.maps.scalingDocs.mvtDetails": "マップをタイルに区分します。各タイルには、最初の{maxResultWindow}ドキュメントの特徴量が表示されます。{maxResultWindow}を超える結果はタイルに表示されません。バウンディングボックスは、データが不完全である領域を示します。", + "xpack.maps.scalingDocs.mvtUseCase": "このオプションを使用すると、最速読み込み時間で大きいデータセットを表示します。用語結合、書式設定されたラベル、スクリプトフィールドからのデータドリブンスタイルはサポートされません。", "xpack.maps.security.desc": "セキュリティレイヤー", "xpack.maps.security.disabledDesc": "セキュリティデータビューが見つかりません。セキュリティを開始するには、[セキュリティ]>[概要]に移動します。", "xpack.maps.security.title": "セキュリティ", @@ -15527,6 +16211,7 @@ "xpack.maps.source.esGeoGrid.gridRectangleDropdownOption": "グリッド", "xpack.maps.source.esGeoGrid.pointsDropdownOption": "クラスター", "xpack.maps.source.esGeoGrid.showAsLabel": "表示形式", + "xpack.maps.source.esGeoGrid.showAsSelector": "表示方法を選択", "xpack.maps.source.esGeoLine.entityRequestDescription": "Elasticsearch 用語はマップバッファー内のエンティティを取得するように要求します。", "xpack.maps.source.esGeoLine.entityRequestName": "{layerName} エンティティ", "xpack.maps.source.esGeoLine.geofieldLabel": "地理空間フィールド", @@ -15547,13 +16232,15 @@ "xpack.maps.source.esGrid.compositeInspectorDescription": "Elasticsearch ジオグリッド集約リクエスト:{requestId}", "xpack.maps.source.esGrid.compositePaginationErrorMessage": "{layerName} はリクエスト過多の原因になります。「グリッド解像度」を下げるか、またはトップ用語「メトリック」の数を減らしてください。", "xpack.maps.source.esGrid.geospatialFieldLabel": "地理空間フィールド", + "xpack.maps.source.esGrid.highLabel": "高", "xpack.maps.source.esGrid.inspectorDescription": "Elasticsearch ジオグリッド集約リクエスト", + "xpack.maps.source.esGrid.lowLabel": "低", "xpack.maps.source.esGrid.metricsLabel": "メトリック", "xpack.maps.source.esGrid.resolutionParamErrorMessage": "グリッド解像度パラメーターが認識されません:{resolution}", - "xpack.maps.source.esGrid.superFineHelpText": "高精細グリッド解像度はベクトルタイルを使用します。", + "xpack.maps.source.esGrid.superFineHelpText": "高解像度はベクトルタイルを使用します。", "xpack.maps.source.esGrid.vectorTileModal.cancelBtnLabel": "キャンセル", "xpack.maps.source.esGrid.vectorTileModal.confirmBtnLabel": "承諾", - "xpack.maps.source.esGrid.vectorTileModal.message": "高精細グリッド解像度はElasticsearchベクトルタイルAPIのベクトルタイルを使用します。ElasticsearchベクトルタイルAPIは「上位の用語」メトリックをサポートしていません。高精細グリッド解像度に切り替えると、すべての「上位の用語」メトリックがレイヤー構成から削除されます。", + "xpack.maps.source.esGrid.vectorTileModal.message": "高解像度はElasticsearchベクトルタイルAPIのベクトルタイルを使用します。ElasticsearchベクトルタイルAPIは「上位の用語」メトリックをサポートしていません。高精細グリッド解像度に切り替えると、すべての「上位の用語」メトリックがレイヤー構成から削除されます。", "xpack.maps.source.esGrid.vectorTileModal.title": "「上位の用語」メトリックはサポートされていません", "xpack.maps.source.esGridClustersDescription": "それぞれのグリッド付きセルのメトリックでグリッドにグループ分けされた地理空間データです。", "xpack.maps.source.esGridClustersTitle": "クラスターとグリッド", @@ -15704,11 +16391,15 @@ "xpack.maps.tileMap.function.help": "タイルマップのビジュアライゼーションです", "xpack.maps.tileMap.vis.description": "マップ上に緯度と経度の座標を表示します。", "xpack.maps.tileMap.vis.title": "座標マップ", + "xpack.maps.tiles.resultsCompleteMsg": "{countPrefix}{count}個のドキュメントが見つかりました。", + "xpack.maps.tiles.resultsTrimmedMsg": "結果は{countPrefix}{count}個のドキュメントに制限されています。", + "xpack.maps.tiles.shapeCountMsg": " この数は近似値です。", "xpack.maps.timeslider.closeLabel": "時間スライダーを閉じる", "xpack.maps.timeslider.nextTimeWindowLabel": "次の時間ウィンドウ", "xpack.maps.timeslider.pauseLabel": "一時停止", "xpack.maps.timeslider.playLabel": "再生", "xpack.maps.timeslider.previousTimeWindowLabel": "前の時間ウィンドウ", + "xpack.maps.timeslider.setGlobalTime": "グローバル時刻を{timeslice}に設定", "xpack.maps.timesliderToggleButton.closeLabel": "時間スライダーを閉じる", "xpack.maps.timesliderToggleButton.openLabel": "時間スライダーを開く", "xpack.maps.toolbarOverlay.drawBounds.initialGeometryLabel": "境界", @@ -15830,7 +16521,7 @@ "xpack.ml.alertContext.timestampIso8601Description": "ISO8601形式の異常の時間バケット", "xpack.ml.alertContext.topInfluencersDescription": "トップ影響因子", "xpack.ml.alertContext.topRecordsDescription": "上位のレコード", - "xpack.ml.alertTypes.anomalyDetection.defaultActionMessage": "Elastic Stack機械学習アラート:\n- ジョブID: \\{\\{context.jobIds\\}\\}\n- Time: \\{\\{context.timestampIso8601\\}\\}\n- 異常スコア:\\{\\{context.score\\}\\}\n\n\\{\\{context.message\\}\\}\n\n\\{\\{#context.topInfluencers.length\\}\\}\n トップ影響因子:\n \\{\\{#context.topInfluencers\\}\\}\n \\{\\{influencer_field_name\\}\\} = \\{\\{influencer_field_value\\}\\} [\\{\\{score\\}\\}]\n \\{\\{/context.topInfluencers\\}\\}\n\\{\\{/context.topInfluencers.length\\}\\}\n\n\\{\\{#context.topRecords.length\\}\\}\n トップの記録:\n \\{\\{#context.topRecords\\}\\}\n \\{\\{function\\}\\}(\\{\\{field_name\\}\\}) \\{\\{by_field_value\\}\\} \\{\\{over_field_value\\}\\} \\{\\{partition_field_value\\}\\} [\\{\\{score\\}\\}]\n \\{\\{/context.topRecords\\}\\}\n\\{\\{/context.topRecords.length\\}\\}\n\n\\{\\{!Kibanaで構成していない場合、kibanaBaseUrlを置換してください\\}\\}\n[異常エクスプローラーで開く](\\{\\{\\{kibanaBaseUrl\\}\\}\\}\\{\\{\\{context.anomalyExplorerUrl\\}\\}\\})\n", + "xpack.ml.alertTypes.anomalyDetection.defaultActionMessage": "Elastic Stack機械学習アラート:\n- ジョブID: \\{\\{context.jobIds\\}\\}\n- Time: \\{\\{context.timestampIso8601\\}\\}\n- 異常スコア:\\{\\{context.score\\}\\}\n\n\\{\\{context.message\\}\\}\n\n\\{\\{#context.topInfluencers.length\\}\\}\n トップ影響因子:\n \\{\\{#context.topInfluencers\\}\\}\n \\{\\{influencer_field_name\\}\\} = \\{\\{influencer_field_value\\}\\} [\\{\\{score\\}\\}]\n \\{\\{/context.topInfluencers\\}\\}\n\\{\\{/context.topInfluencers.length\\}\\}\n\n\\{\\{#context.topRecords.length\\}\\}\n トップの記録:\n \\{\\{#context.topRecords\\}\\}\n \\{\\{function\\}\\}(\\{\\{field_name\\}\\}) \\{\\{by_field_value\\}\\}\\{\\{over_field_value\\}\\}\\{\\{partition_field_value\\}\\} [\\{\\{score\\}\\}].標準:\\{\\{typical\\}\\}、実際:\\{\\{actual\\}\\}\n \\{\\{/context.topRecords\\}\\}\n\\{\\{/context.topRecords.length\\}\\}\n\n\\{\\{!Kibanaで構成していない場合、kibanaBaseUrlを置換してください\\}\\}\n[異常エクスプローラーで開く](\\{\\{\\{kibanaBaseUrl\\}\\}\\}\\{\\{\\{context.anomalyExplorerUrl\\}\\}\\})\n", "xpack.ml.alertTypes.anomalyDetection.description": "異常検知ジョブの結果が条件と一致するときにアラートを発行します。", "xpack.ml.alertTypes.anomalyDetection.jobSelection.errorMessage": "ジョブ選択は必須です", "xpack.ml.alertTypes.anomalyDetection.lookbackInterval.errorMessage": "ルックバック間隔が無効です", @@ -15952,6 +16643,7 @@ "xpack.ml.anomaliesTable.linksMenu.unableToOpenLinkErrorMessage": "カテゴリー ID {categoryId} の詳細の読み込み中にエラーが発生したためリンクを開けません", "xpack.ml.anomaliesTable.linksMenu.unableToViewExamplesErrorMessage": "ジョブ ID {jobId} の詳細が見つからなかったため例を表示できません", "xpack.ml.anomaliesTable.linksMenu.viewExamplesLabel": "例を表示", + "xpack.ml.anomaliesTable.linksMenu.viewInDiscover": "Discoverに表示", "xpack.ml.anomaliesTable.linksMenu.viewSeriesLabel": "数列を表示", "xpack.ml.anomaliesTable.metricDescriptionSortColumnName": "説明", "xpack.ml.anomaliesTable.noMatchingAnomaliesFoundTitle": "一致する注釈が見つかりません", @@ -15967,7 +16659,10 @@ "xpack.ml.anomalyChartsEmbeddable.setupModal.confirmButtonLabel": "構成を確認", "xpack.ml.anomalyChartsEmbeddable.setupModal.title": "異常エクスプローラーグラフ構成", "xpack.ml.anomalyChartsEmbeddable.title": "{jobIds}のML異常グラフ", + "xpack.ml.anomalyDetection.anomalyExplorer.docTitle": "異常エクスプローラー", "xpack.ml.anomalyDetection.anomalyExplorerLabel": "異常エクスプローラー", + "xpack.ml.anomalyDetection.jobs.docTitle": "異常検知ジョブ", + "xpack.ml.anomalyDetection.jobsManagementLabel": "ジョブ", "xpack.ml.anomalyDetection.singleMetricViewerLabel": "シングルメトリックビューアー", "xpack.ml.anomalyDetectionAlert.actionGroupName": "異常スコアが条件と一致しました", "xpack.ml.anomalyDetectionAlert.advancedSettingsLabel": "高度な設定", @@ -16056,6 +16751,8 @@ "xpack.ml.calendarsList.table.newButtonLabel": "新規", "xpack.ml.checkLicense.licenseHasExpiredMessage": "機械学習ライセンスの期限が切れました。", "xpack.ml.chrome.help.appName": "機械学習", + "xpack.ml.common.learnMoreQuestion": "詳細について", + "xpack.ml.common.readDocumentationLink": "ドキュメンテーションを表示", "xpack.ml.components.colorRangeLegend.blueColorRangeLabel": "青", "xpack.ml.components.colorRangeLegend.greenRedColorRangeLabel": "緑 - 赤", "xpack.ml.components.colorRangeLegend.influencerScaleLabel": "影響因子カスタムスケール", @@ -16568,8 +17265,15 @@ "xpack.ml.dataframe.jobsTabLabel": "ジョブ", "xpack.ml.dataframe.mapTabLabel": "マップ", "xpack.ml.dataframe.stepDetailsForm.destinationIndexInvalidErrorLink": "インデックス名の制限に関する詳細。", + "xpack.ml.dataFrameAnalytics.analyticsMap.docTitle": "分析マップ", + "xpack.ml.dataFrameAnalytics.createJob.docTitle": "ジョブの作成", + "xpack.ml.dataFrameAnalytics.exploration.docTitle": "探索", + "xpack.ml.dataFrameAnalytics.jobs.docTitle": "データフレーム分析ジョブ", "xpack.ml.dataFrameAnalyticsBreadcrumbs.analyticsMapLabel": "分析マップ", + "xpack.ml.dataFrameAnalyticsBreadcrumbs.dataFrameCreationLabel": "ジョブの作成", "xpack.ml.dataFrameAnalyticsBreadcrumbs.dataFrameExplorationLabel": "探索", + "xpack.ml.dataFrameAnalyticsBreadcrumbs.dataViewLabel": "データビュー", + "xpack.ml.dataFrameAnalyticsBreadcrumbs.jobsManagementLabel": "ジョブ", "xpack.ml.dataFrameAnalyticsLabel": "データフレーム分析", "xpack.ml.dataGrid.CcsWarningCalloutBody": "データビューのデータの取得中に問題が発生しました。ソースプレビューとクラスター横断検索を組み合わせることは、バージョン7.10以上ではサポートされていません。変換を構成して作成することはできます。", "xpack.ml.dataGrid.CcsWarningCalloutTitle": "クラスター横断検索でフィールドデータが返されませんでした。", @@ -16586,13 +17290,17 @@ "xpack.ml.dataGridChart.topCategoriesLegend": "上位 {maxChartColumns}/{cardinality} カテゴリ", "xpack.ml.dataViewNotBasedOnTimeSeriesNotificationDescription": "異常検知は時間ベースのインデックスでのみ実行されます", "xpack.ml.dataViewNotBasedOnTimeSeriesNotificationTitle": "データビュー{dataViewName}は時系列に基づいていません", + "xpack.ml.dataVisualizer.dataView.docTitle": "インデックスデータビジュアライザー", + "xpack.ml.dataVisualizer.docTitle": "データビジュアライザー", + "xpack.ml.dataVisualizer.file.docTitle": "ファイルデータビジュアライザー", "xpack.ml.dataVisualizer.fileBasedLabel": "ファイル", + "xpack.ml.dataVisualizer.pageHeader": "データビジュアライザー", "xpack.ml.datavisualizer.selector.dataVisualizerDescription": "機械学習データビジュアライザーツールは、ログファイルのメトリックとフィールド、または既存の Elasticsearch インデックスを分析し、データの理解を助けます。", "xpack.ml.datavisualizer.selector.dataVisualizerTitle": "データビジュアライザー", "xpack.ml.datavisualizer.selector.importDataDescription": "ログファイルからデータをインポートします。最大{maxFileSize}のファイルをアップロードできます。", - "xpack.ml.datavisualizer.selector.importDataTitle": "データのインポート", + "xpack.ml.datavisualizer.selector.importDataTitle": "ファイルのデータを可視化", "xpack.ml.datavisualizer.selector.selectDataViewButtonLabel": "データビューを選択", - "xpack.ml.datavisualizer.selector.selectDataViewTitle": "データビューを選択", + "xpack.ml.datavisualizer.selector.selectDataViewTitle": "データビューのデータを可視化", "xpack.ml.datavisualizer.selector.startTrialButtonLabel": "トライアルを開始", "xpack.ml.datavisualizer.selector.startTrialTitle": "トライアルを開始", "xpack.ml.datavisualizer.selector.uploadFileButtonLabel": "ファイルを選択", @@ -16607,6 +17315,8 @@ "xpack.ml.deepLink.fileUpload": "ファイルアップロード", "xpack.ml.deepLink.filterListsSettings": "フィルターリスト", "xpack.ml.deepLink.indexDataVisualizer": "インデックスデータビジュアライザー", + "xpack.ml.deepLink.modelManagement": "モデル管理", + "xpack.ml.deepLink.nodesOverview": "ノード", "xpack.ml.deepLink.overview": "概要", "xpack.ml.deepLink.settings": "設定", "xpack.ml.deepLink.trainedModels": "学習済みモデル", @@ -16674,7 +17384,9 @@ "xpack.ml.explorer.charts.tooManyBucketsDescription": "この選択には、表示するバケットが多すぎます。ビューの時間範囲を狭めるか、タイムラインの選択を絞り込んでください。", "xpack.ml.explorer.charts.viewLabel": "表示", "xpack.ml.explorer.clearSelectionLabel": "選択した項目をクリア", + "xpack.ml.explorer.dashboardsTable.actionsHeader": "アクション", "xpack.ml.explorer.dashboardsTable.descriptionColumnHeader": "説明", + "xpack.ml.explorer.dashboardsTable.editActionName": "ダッシュボードに追加", "xpack.ml.explorer.dashboardsTable.titleColumnHeader": "タイトル", "xpack.ml.explorer.distributionChart.anomalyScoreLabel": "異常スコア", "xpack.ml.explorer.distributionChart.entityLabel": "エンティティ", @@ -16694,6 +17406,7 @@ "xpack.ml.explorer.noConfiguredInfluencersTooltip": "選択されたジョブに影響因子が構成されていないため、トップインフルエンスリストは非表示になっています。", "xpack.ml.explorer.noInfluencersFoundTitle": "{viewBySwimlaneFieldName}影響因子が見つかりません", "xpack.ml.explorer.noInfluencersFoundTitleFilterMessage": "指定されたフィルターの{viewBySwimlaneFieldName} 影響因子が見つかりません", + "xpack.ml.explorer.noJobSelectedLabel": "ジョブが選択されていません", "xpack.ml.explorer.noMatchingAnomaliesFoundTitle": "一致する注釈が見つかりません", "xpack.ml.explorer.noResultsFoundLabel": "結果が見つかりませんでした", "xpack.ml.explorer.overallLabel": "全体", @@ -16747,6 +17460,11 @@ "xpack.ml.formatters.metricChangeDescription.unusuallyLowDescription": "異常に低い", "xpack.ml.formatters.metricChangeDescription.unusualValuesDescription": "異常な値", "xpack.ml.fullTimeRangeSelector.errorSettingTimeRangeNotification": "時間範囲の設定中にエラーが発生しました。", + "xpack.ml.fullTimeRangeSelector.useFullDataButtonLabel": "完全なデータを使用", + "xpack.ml.fullTimeRangeSelector.useFullDataExcludingFrozenButtonTooltip": "凍結されたデータティアを除くデータの全範囲を使用します。", + "xpack.ml.fullTimeRangeSelector.useFullDataExcludingFrozenMenuLabel": "凍結されたデータティアを除外", + "xpack.ml.fullTimeRangeSelector.useFullDataIncludingFrozenButtonTooltip": "凍結されたデータティアを含むデータの全範囲を使用します。これにより、検索結果が低速になる場合があります。", + "xpack.ml.fullTimeRangeSelector.useFullDataIncludingFrozenMenuLabel": "凍結されたデータティアを含める", "xpack.ml.helpPopover.ariaLabel": "ヘルプ", "xpack.ml.importExport.exportButton": "ジョブのエクスポート", "xpack.ml.importExport.exportFlyout.adDeselectAllButton": "すべて選択解除", @@ -16803,6 +17521,7 @@ "xpack.ml.influencersList.noInfluencersFoundTitle": "影響因子が見つかりません", "xpack.ml.influencersList.totalAnomalyScoreTooltipDescription": "合計異常スコア:{totalScoreLabel}", "xpack.ml.interimResultsControl.label": "中間結果を含める", + "xpack.ml.invalidRuntimeFieldMessage": "無効なランタイムフィールド", "xpack.ml.itemsGrid.itemsCountLabel": "{pageSize} 個の項目", "xpack.ml.itemsGrid.itemsPerPageButtonLabel": "ページごとの項目数:{itemsPerPage}", "xpack.ml.itemsGrid.noItemsAddedTitle": "項目が追加されていません", @@ -16830,9 +17549,11 @@ "xpack.ml.jobsAwaitingNodeWarningShared.title": "機械学習ノードの待機中", "xpack.ml.jobsBreadcrumbs.advancedConfigurationLabel": "高度な構成", "xpack.ml.jobsBreadcrumbs.categorizationLabel": "カテゴリー分け", + "xpack.ml.jobsBreadcrumbs.createJobLabel": "ジョブを作成", "xpack.ml.jobsBreadcrumbs.multiMetricLabel": "マルチメトリック", "xpack.ml.jobsBreadcrumbs.populationLabel": "集団", "xpack.ml.jobsBreadcrumbs.rareLabel": "ほとんどない", + "xpack.ml.jobsBreadcrumbs.selectDateViewLabel": "データビュー", "xpack.ml.jobsBreadcrumbs.selectIndexOrSearchLabelRecognize": "認識されたインデックス", "xpack.ml.jobsBreadcrumbs.selectJobType": "ジョブを作成", "xpack.ml.jobsBreadcrumbs.singleMetricLabel": "シングルメトリック", @@ -16858,6 +17579,7 @@ "xpack.ml.jobSelector.jobsTab": "ジョブ", "xpack.ml.jobSelector.jobTimeRangeLabel": "{fromString} ~ {toString}", "xpack.ml.jobSelector.noJobsFoundTitle": "異常検知ジョブが見つかりません", + "xpack.ml.jobSelector.noJobsSelectedLabel": "ジョブが選択されていません", "xpack.ml.jobSelector.noResultsForJobLabel": "成果がありません", "xpack.ml.jobSelector.selectAllGroupLabel": "すべて選択", "xpack.ml.jobSelector.selectAllOptionLabel": "*", @@ -16885,6 +17607,7 @@ "xpack.ml.jobsList.closeActionStatusText": "閉じる", "xpack.ml.jobsList.closedActionStatusText": "クローズ済み", "xpack.ml.jobsList.closeJobErrorMessage": "ジョブをクローズできませんでした", + "xpack.ml.jobsList.closeJobsModal.closeManagedDatafeedsDescription": "閉じる", "xpack.ml.jobsList.collapseJobDetailsAriaLabel": "{itemId} の詳細を非表示", "xpack.ml.jobsList.createNewJobButtonLabel": "ジョブを作成", "xpack.ml.jobsList.datafeedChart.annotationLineSeriesId": "注釈行結果", @@ -16919,8 +17642,11 @@ "xpack.ml.jobsList.datafeedStateLabel": "データフィード状態", "xpack.ml.jobsList.deleteActionStatusText": "削除", "xpack.ml.jobsList.deletedActionStatusText": "削除されました", + "xpack.ml.jobsList.deleteJobCheckModal.removeAction": "削除", + "xpack.ml.jobsList.deleteJobCheckModal.removeOrDeleteAction": "削除または閉じる", "xpack.ml.jobsList.deleteJobErrorMessage": "ジョブの削除に失敗しました", "xpack.ml.jobsList.deleteJobModal.cancelButtonLabel": "キャンセル", + "xpack.ml.jobsList.deleteJobModal.deleteAction": "削除中", "xpack.ml.jobsList.deleteJobModal.deleteButtonLabel": "削除", "xpack.ml.jobsList.deleteJobModal.deleteJobsTitle": "{jobsCount, plural, one {{jobId}} other {# 件のジョブ}}を削除しますか?", "xpack.ml.jobsList.deleteJobModal.deletingJobsStatusLabel": "ジョブを削除中", @@ -16962,6 +17688,7 @@ "xpack.ml.jobsList.editJobFlyout.saveChangesButtonLabel": "変更を保存", "xpack.ml.jobsList.editJobFlyout.unsavedChangesDialogMessage": "保存しないと、変更が失われます。", "xpack.ml.jobsList.editJobFlyout.unsavedChangesDialogTitle": "閉じる前に変更を保存しますか?", + "xpack.ml.jobsList.editJobModal.editManagedJobDescription": "編集中", "xpack.ml.jobsList.expandJobDetailsAriaLabel": "{itemId} の詳細を表示", "xpack.ml.jobsList.idLabel": "ID", "xpack.ml.jobsList.jobActionsColumn.screenReaderDescription": "このカラムには、各ジョブで実行可能なメニューの追加アクションが含まれます", @@ -17019,6 +17746,8 @@ "xpack.ml.jobsList.jobStateLabel": "ジョブ状態", "xpack.ml.jobsList.latestTimestampLabel": "最新タイムスタンプ", "xpack.ml.jobsList.loadingJobsLabel": "ジョブを読み込み中…", + "xpack.ml.jobsList.managedBadgeLabel": "管理中", + "xpack.ml.jobsList.managedBadgeTooltip": "このジョブはElasticによってあらかじめ構成および管理されています。製品の他の部分はその動作に依存関係が存在している場合があります。", "xpack.ml.jobsList.managementActions.cloneJobDescription": "ジョブのクローンを作成します", "xpack.ml.jobsList.managementActions.cloneJobLabel": "ジョブのクローンを作成します", "xpack.ml.jobsList.managementActions.closeJobDescription": "ジョブを閉じる", @@ -17086,6 +17815,9 @@ "xpack.ml.jobsList.startDatafeedModal.startButtonLabel": "開始", "xpack.ml.jobsList.startDatafeedModal.startFromNowLabel": "今から開始", "xpack.ml.jobsList.startDatafeedModal.startJobsTitle": "{jobsCount, plural, one {{jobId}} other {# 件のジョブ}}を開始", + "xpack.ml.jobsList.startDatafeedsConfirmModal.cancelButtonLabel": "キャンセル", + "xpack.ml.jobsList.startDatafeedsModal.resetManagedDatafeedsDescription": "セットしています", + "xpack.ml.jobsList.startDatafeedsModal.startManagedDatafeedsDescription": "{jobsCount, plural, one {このジョブ} other {これらのジョブの1つ以上}}はElasticによってあらかじめ構成されています。終了日を指定して{jobsCount, plural, one {それを} other {それらを}}開始すると、製品の他の部分に影響する可能性があります。", "xpack.ml.jobsList.startedActionStatusText": "開始済み", "xpack.ml.jobsList.startJobErrorMessage": "ジョブの開始に失敗しました", "xpack.ml.jobsList.statsBar.activeDatafeedsLabel": "アクティブなデータフィード", @@ -17095,6 +17827,8 @@ "xpack.ml.jobsList.statsBar.openJobsLabel": "ジョブを開く", "xpack.ml.jobsList.statsBar.totalJobsLabel": "合計ジョブ数", "xpack.ml.jobsList.stopActionStatusText": "停止", + "xpack.ml.jobsList.stopDatafeedsConfirmModal.cancelButtonLabel": "キャンセル", + "xpack.ml.jobsList.stopDatafeedsModal.stopManagedDatafeedsDescription": "停止中", "xpack.ml.jobsList.stopJobErrorMessage": "ジョブの停止に失敗しました", "xpack.ml.jobsList.stoppedActionStatusText": "停止中", "xpack.ml.jobsList.title": "異常検知ジョブ", @@ -17103,6 +17837,7 @@ "xpack.ml.machineLearningDescription": "時系列データから通常の動作を自動的に学習し、異常を検知します。", "xpack.ml.machineLearningSubtitle": "モデリング、予測、検出を行います。", "xpack.ml.machineLearningTitle": "機械学習", + "xpack.ml.managedJobsWarningCallout": "{jobsCount, plural, one {このジョブ} other {これらのジョブの1つ以上}}はElasticによってあらかじめ構成されています。{jobsCount, plural, one {それを} other {それらを}}{action}すると、製品の他の部分に影響する可能性があります。", "xpack.ml.management.jobsList.accessDeniedTitle": "アクセスが拒否されました", "xpack.ml.management.jobsList.analyticsDocsLabel": "分析ジョブドキュメント", "xpack.ml.management.jobsList.analyticsTab": "分析", @@ -17132,6 +17867,33 @@ "xpack.ml.management.syncSavedObjectsFlyout.savedObjectsDeleted.title": "一致しない保存されたオブジェクト({count})", "xpack.ml.management.syncSavedObjectsFlyout.sync.error": "一部のジョブを同期できません。", "xpack.ml.management.syncSavedObjectsFlyout.syncButton": "同期", + "xpack.ml.maps.anomalyLayerActualLabel": "実際", + "xpack.ml.maps.anomalyLayerByFieldNameLabel": "フィールド名別", + "xpack.ml.maps.anomalyLayerByFieldValueLabel": "フィールド値別", + "xpack.ml.maps.anomalyLayerDescription": "機械学習ジョブから異常を表示", + "xpack.ml.maps.anomalyLayerFieldNameLabel": "フィールド名", + "xpack.ml.maps.anomalyLayerFunctionDescriptionLabel": "関数", + "xpack.ml.maps.anomalyLayerOverFieldNameLabel": "オーバーフィールド名", + "xpack.ml.maps.anomalyLayerOverFieldValueLabel": "オーバーフィールド値", + "xpack.ml.maps.anomalyLayerPartitionFieldNameLabel": "パーティションフィールド名", + "xpack.ml.maps.anomalyLayerPartitionFieldValueLabel": "パーティションフィールド値", + "xpack.ml.maps.anomalyLayerRecordScoreLabel": "レコードスコア", + "xpack.ml.maps.anomalyLayerTimeStampLabel": "時間", + "xpack.ml.maps.anomalyLayerTitle": "ML異常", + "xpack.ml.maps.anomalyLayerTypicalLabel": "通常", + "xpack.ml.maps.anomalyLayerTypicalToActualLabel": "標準から実際", + "xpack.ml.maps.anomalyLayerUnavailableMessage": "異常レイヤーはサブスクリプション機能です。適切なサブスクリプションと機械学習へのアクセス権があることを確認してください。", + "xpack.ml.maps.anomalySource.displayLabel": "{jobId}の{typicalActual}", + "xpack.ml.maps.anomalySourcePropLabel": "ジョブID", + "xpack.ml.maps.jobIdLabel": "ジョブID", + "xpack.ml.maps.settingsEditorLabel": "異常", + "xpack.ml.maps.sourceTooltip": "異常を表示", + "xpack.ml.maps.typicalActualLabel": "型", + "xpack.ml.modelManagement.nodesOverview.docTitle": "ノード", + "xpack.ml.modelManagement.nodesOverviewHeader": "ノード", + "xpack.ml.modelManagement.trainedModels.docTitle": "学習済みモデル", + "xpack.ml.modelManagement.trainedModelsHeader": "学習済みモデル", + "xpack.ml.modelManagementLabel": "モデル管理", "xpack.ml.models.dfaValidation.messages.analysisFieldsEmptyWarningText": "分析に含まれる一部のフィールドには{percentEmpty}%以上の空の値があり、分析には適していない可能性があります。", "xpack.ml.models.dfaValidation.messages.analysisFieldsHeading": "分析フィールド", "xpack.ml.models.dfaValidation.messages.analysisFieldsHighWarningText": "{includedFieldsThreshold}を超えるフィールドが分析に選択されています。リソース使用量が増加し、ジョブの実行に時間がかかる場合があります。", @@ -17268,12 +18030,23 @@ "xpack.ml.modelSnapshotTable.retain": "保存", "xpack.ml.modelSnapshotTable.time": "日付が作成されました", "xpack.ml.multiSelectPicker.NoFiltersFoundMessage": "フィルターが見つかりません", + "xpack.ml.navMenu.anomalyDetection.anomalyExplorerText": "異常エクスプローラー", + "xpack.ml.navMenu.anomalyDetection.jobsManagementText": "ジョブ", + "xpack.ml.navMenu.anomalyDetection.singleMetricViewerText": "シングルメトリックビューアー", "xpack.ml.navMenu.anomalyDetectionTabLinkText": "異常検知", + "xpack.ml.navMenu.dataFrameAnalytics.jobsManagementText": "ジョブ", "xpack.ml.navMenu.dataFrameAnalyticsTabLinkText": "データフレーム分析", + "xpack.ml.navMenu.dataViewDataVisualizerLinkText": "データビュー", "xpack.ml.navMenu.dataVisualizerTabLinkText": "データビジュアライザー", + "xpack.ml.navMenu.fileDataVisualizerLinkText": "ファイル", "xpack.ml.navMenu.mlAppNameText": "機械学習", + "xpack.ml.navMenu.modelManagementText": "モデル管理", + "xpack.ml.navMenu.nodesOverviewText": "ノード", "xpack.ml.navMenu.overviewTabLinkText": "概要", "xpack.ml.navMenu.settingsTabLinkText": "設定", + "xpack.ml.navMenu.trainedModelsTabBetaLabel": "テクニカルプレビュー", + "xpack.ml.navMenu.trainedModelsTabBetaTooltipContent": "この機能はテクニカルプレビュー中であり、将来のリリースでは変更されたり完全に削除されたりする場合があります。Elasticは最善の努力を講じてすべての問題の修正に努めますが、テクニカルプレビュー中の機能には正式なGA機能のサポートSLAが適用されません。", + "xpack.ml.navMenu.trainedModelsText": "学習済みモデル", "xpack.ml.newJob.page.createJob": "ジョブを作成", "xpack.ml.newJob.page.createJob.dataViewName": "データビュー{dataViewName}を使用しています", "xpack.ml.newJob.recognize.advancedLabel": "高度な設定", @@ -17629,7 +18402,10 @@ "xpack.ml.newJob.wizard.validateJob.summaryCountFieldMissing": "データフィードとして必要なフィールドはアグリゲーションを使用します。", "xpack.ml.newJobAwaitingNodeWarning.noMLNodesAvailableDescription": "現在ジョブを実行できるノードがないため、該当するノードが使用可能になるまで、OPENING状態のままです。", "xpack.ml.overview.analytics.resultActions.openJobText": "ジョブ結果を表示", - "xpack.ml.overview.analyticsList.emptyPromptText": "データフレーム分析では、データに対して異常値検出、回帰、分類分析を実行し、結果に注釈を付けることができます。ジョブは注釈付きデータと共に、ソースデータのコピーを新規インデックスに保存します。", + "xpack.ml.overview.analytics.viewJobActionName": "ジョブを表示", + "xpack.ml.overview.analytics.viewResultsActionName": "結果を表示", + "xpack.ml.overview.analyticsList.emptyPromptHelperText": "データフレーム分析ジョブを構築する前に、{transforms}を使用して{sourcedata}を作成してください。", + "xpack.ml.overview.analyticsList.emptyPromptText": "データフレーム分析を使用して、外れ値検知、回帰、または分類機械学習モジュールを学習させます。", "xpack.ml.overview.analyticsList.errorPromptTitle": "データフレーム分析リストの取得中にエラーが発生しました。", "xpack.ml.overview.analyticsList.id": "ID", "xpack.ml.overview.analyticsList.manageJobsButtonText": "ジョブの管理", @@ -17642,21 +18418,33 @@ "xpack.ml.overview.anomalyDetection.createJobButtonText": "ジョブを作成", "xpack.ml.overview.anomalyDetection.emptyPromptText": "異常検知により、時系列データの異常な動作を検出できます。データに隠れた異常を自動的に検出して問題をよりすばやく解決しましょう。", "xpack.ml.overview.anomalyDetection.errorPromptTitle": "異常検出ジョブリストの取得中にエラーが発生しました。", + "xpack.ml.overview.anomalyDetection.errorWithFetchingSwimLanesData": "異常結果の取得中にエラーが発生しました", "xpack.ml.overview.anomalyDetection.manageJobsButtonText": "ジョブの管理", + "xpack.ml.overview.anomalyDetection.noAnomaliesFoundMessage": "異常値が見つかりませんでした", + "xpack.ml.overview.anomalyDetection.noResultsFoundMessage": "結果が見つかりませんでした", + "xpack.ml.overview.anomalyDetection.overallScore": "全体スコア", "xpack.ml.overview.anomalyDetection.panelTitle": "異常検知", + "xpack.ml.overview.anomalyDetection.resultActions.openInJobManagementText": "ジョブを表示", + "xpack.ml.overview.anomalyDetection.resultActions.openJobsInAnomalyExplorerText": "異常エクスプローラーで表示", "xpack.ml.overview.anomalyDetection.tableActionLabel": "アクション", "xpack.ml.overview.anomalyDetection.tableActualTooltip": "異常レコード結果の実際の値。", "xpack.ml.overview.anomalyDetection.tableDocsProcessed": "処理されたドキュメント", "xpack.ml.overview.anomalyDetection.tableId": "グループ ID", "xpack.ml.overview.anomalyDetection.tableLatestTimestamp": "最新タイムスタンプ", "xpack.ml.overview.anomalyDetection.tableNumJobs": "グループのジョブ", + "xpack.ml.overview.anomalyDetection.tableOverallScoreTooltip": "選択した時間範囲内の全体的な異常スコア", "xpack.ml.overview.anomalyDetection.tableSeverityTooltip": "0~100の正規化されたスコア。異常レコード結果の相対的な有意性を示します。", "xpack.ml.overview.anomalyDetection.tableTypicalTooltip": "異常レコード結果の標準的な値。", + "xpack.ml.overview.anomalyDetection.viewJobsActionName": "ジョブを表示", + "xpack.ml.overview.anomalyDetection.viewResultsActionName": "異常エクスプローラーで表示", "xpack.ml.overview.feedbackSectionLink": "オンラインでのフィードバック", "xpack.ml.overview.feedbackSectionText": "ご利用に際し、ご意見やご提案がありましたら、{feedbackLink}までお送りください。", + "xpack.ml.overview.gettingStartedSectionDismiss": "閉じる", "xpack.ml.overview.gettingStartedSectionDocs": "ドキュメンテーション", + "xpack.ml.overview.gettingStartedSectionSourceData": "エンティティ中心のソースデータセット", + "xpack.ml.overview.gettingStartedSectionText": "機械学習へようこそ。はじめに{docs}をご覧になるか、新しいジョブを作成してください。", "xpack.ml.overview.gettingStartedSectionTitle": "はじめて使う", - "xpack.ml.overview.gettingStartedSectionTransforms": "Elasticsearchの変換", + "xpack.ml.overview.gettingStartedSectionTransforms": "変換", "xpack.ml.overview.overviewLabel": "概要", "xpack.ml.overview.statsBar.failedAnalyticsLabel": "失敗", "xpack.ml.overview.statsBar.runningAnalyticsLabel": "実行中", @@ -17667,7 +18455,9 @@ "xpack.ml.overviewJobsList.statsBar.failedJobsLabel": "失敗したジョブ", "xpack.ml.overviewJobsList.statsBar.openJobsLabel": "ジョブを開く", "xpack.ml.overviewJobsList.statsBar.totalJobsLabel": "合計ジョブ数", + "xpack.ml.pageRefreshButton": "更新", "xpack.ml.plugin.title": "機械学習", + "xpack.ml.previewAlert.actualLabel": "実際:", "xpack.ml.previewAlert.hideResultsButtonLabel": "結果を非表示", "xpack.ml.previewAlert.intervalLabel": "ルール条件と間隔を確認", "xpack.ml.previewAlert.jobsLabel": "ジョブID:", @@ -17678,6 +18468,7 @@ "xpack.ml.previewAlert.timeLabel": "時間:", "xpack.ml.previewAlert.topInfluencersLabel": "トップ影響因子:", "xpack.ml.previewAlert.topRecordsLabel": "トップの記録:", + "xpack.ml.previewAlert.typicalLabel": "標準:", "xpack.ml.privilege.licenseHasExpiredTooltip": "ご使用のライセンスは期限切れです。", "xpack.ml.privilege.noPermission.createCalendarsTooltip": "カレンダーを作成するパーミッションがありません。", "xpack.ml.privilege.noPermission.createMLJobsTooltip": "機械学習ジョブを作成するパーミッションがありません。", @@ -17775,9 +18566,10 @@ "xpack.ml.ruleEditor.scopeSection.noPermissionToViewFilterListsTitle": "フィルターリストを表示するパーミッションがありません", "xpack.ml.ruleEditor.scopeSection.scopeTitle": "範囲", "xpack.ml.ruleEditor.selectRuleAction.createRuleLinkText": "ルールを作成", - "xpack.ml.ruleEditor.selectRuleAction.orText": "OR ", + "xpack.ml.ruleEditor.selectRuleAction.orText": "OR ", "xpack.ml.ruleEditor.typicalAppliesTypeText": "通常", "xpack.ml.sampleDataLinkLabel": "ML ジョブ", + "xpack.ml.selectDataViewLabel": "データビューを選択", "xpack.ml.settings.anomalyDetection.anomalyDetectionTitle": "異常検知", "xpack.ml.settings.anomalyDetection.calendarsText": "システム停止日や祝日など、異常値を生成したくないイベントについては、カレンダーに予定されているイベントのリストを登録できます。", "xpack.ml.settings.anomalyDetection.calendarsTitle": "カレンダー", @@ -17795,11 +18587,18 @@ "xpack.ml.settings.breadcrumbs.filterLists.createLabel": "作成", "xpack.ml.settings.breadcrumbs.filterLists.editLabel": "編集", "xpack.ml.settings.breadcrumbs.filterListsLabel": "フィルターリスト", + "xpack.ml.settings.calendarList.docTitle": "カレンダー", "xpack.ml.settings.calendars.listHeader.calendarsDescription": "システム停止日や祝日など、異常値を生成したくないイベントについては、カレンダーに予定されているイベントのリストを登録できます。カレンダーは複数のジョブに割り当てることができます。{br}{learnMoreLink}", "xpack.ml.settings.calendars.listHeader.calendarsDescription.learnMoreLinkText": "詳細", "xpack.ml.settings.calendars.listHeader.calendarsListTotalCount": "合計 {totalCount}", "xpack.ml.settings.calendars.listHeader.calendarsTitle": "カレンダー", "xpack.ml.settings.calendars.listHeader.refreshButtonLabel": "更新", + "xpack.ml.settings.createCalendar.docTitle": "カレンダーの作成", + "xpack.ml.settings.createFilter.docTitle": "フィルターを作成", + "xpack.ml.settings.docTitle": "設定", + "xpack.ml.settings.editCalendar.docTitle": "カレンダーの編集", + "xpack.ml.settings.editFilter.docTitle": "フィルターを編集", + "xpack.ml.settings.filterList.docTitle": "フィルター", "xpack.ml.settings.filterLists.addItemPopover.addButtonLabel": "追加", "xpack.ml.settings.filterLists.addItemPopover.addItemButtonLabel": "アイテムを追加", "xpack.ml.settings.filterLists.addItemPopover.enterItemPerLineDescription": "1 行につき 1 つアイテムを追加します", @@ -18091,6 +18890,8 @@ "xpack.ml.trainedModels.nodesList.nodesFetchError": "ノードの取り込みが失敗しました", "xpack.ml.trainedModels.nodesList.nodeTotalMemoryHeader": "合計メモリー", "xpack.ml.trainedModels.nodesList.totalAmountLabel": "合計機械学習ノード", + "xpack.ml.trainedModelsBreadcrumbs.nodeOverviewLabel": "ノード", + "xpack.ml.trainedModelsBreadcrumbs.trainedModelsLabel": "学習済みモデル", "xpack.ml.upgrade.upgradeWarning.upgradeInProgressWarningDescription": "機械学習に関連したインデックスは現在アップグレード中です。", "xpack.ml.upgrade.upgradeWarning.upgradeInProgressWarningDescriptionExtra": "現在いくつかのアクションが利用できません。", "xpack.ml.upgrade.upgradeWarning.upgradeInProgressWarningTitle": "インデックスの移行が進行中です", @@ -18750,6 +19551,8 @@ "xpack.monitoring.featureCatalogueDescription": "ご使用のデプロイのリアルタイムのヘルスとパフォーマンスをトラッキングします。", "xpack.monitoring.featureCatalogueTitle": "スタックを監視", "xpack.monitoring.featureRegistry.monitoringFeatureName": "スタック監視", + "xpack.monitoring.formatMsg.toaster.errorStatusMessage": "エラー {errStatus} {errStatusText}: {errMessage}", + "xpack.monitoring.formatMsg.toaster.unavailableServerErrorMessage": "HTTP リクエストで接続に失敗しました。Kibana サーバーが実行されていて、ご使用のブラウザの接続が正常に動作していることを確認するか、システム管理者にお問い合わせください。", "xpack.monitoring.formatNumbers.notAvailableLabel": "N/A", "xpack.monitoring.healthCheck.disabledWatches.text": "設定モードを使用してアラート定義をレビューし、追加のアクションコネクターを構成して、任意の方法で通知を受信します。", "xpack.monitoring.healthCheck.disabledWatches.title": "新しいアラートの作成", @@ -19642,14 +20445,19 @@ "xpack.observability.alerts.alertStatusFilter.recovered": "回復済み", "xpack.observability.alerts.alertStatusFilter.showAll": "すべて表示", "xpack.observability.alerts.manageRulesButtonLabel": "ルールの管理", + "xpack.observability.alerts.ruleStats.disabled": "無効", + "xpack.observability.alerts.ruleStats.errors": "エラー", + "xpack.observability.alerts.ruleStats.loadError": "ルール統計情報を読み込めません", + "xpack.observability.alerts.ruleStats.muted": "ミュート", + "xpack.observability.alerts.ruleStats.ruleCount": "ルール数", "xpack.observability.alerts.searchBarPlaceholder": "検索アラート(例:kibana.alert.evaluation.threshold > 75)", "xpack.observability.alerts.workflowStatusFilter.acknowledgedButtonLabel": "認識", "xpack.observability.alerts.workflowStatusFilter.closedButtonLabel": "終了", "xpack.observability.alerts.workflowStatusFilter.openButtonLabel": "開く", "xpack.observability.alertsDisclaimerDismissMessage": "メッセージを消去", "xpack.observability.alertsDisclaimerLinkText": "フィードバック", - "xpack.observability.alertsDisclaimerText": "将来のリリースでは、この機能が変更されるか、完全に削除される可能性があります。当社は新しい機能の追加に努めているため、お客様の貴重な{feedback}をお寄せください。", - "xpack.observability.alertsDisclaimerTitle": "現在アラート履歴はオブザーバビリティの実験的機能です", + "xpack.observability.alertsDisclaimerText": "この機能はテクニカルプレビュー中であり、将来のリリースでは変更されたり完全に削除されたりする場合があります。Elasticは最善の努力を講じてすべての問題の修正に努めますが、テクニカルプレビュー中の機能には正式なGA機能のサポートSLAが適用されません。{feedback}を提出します。", + "xpack.observability.alertsDisclaimerTitle": "テクニカルプレビュー", "xpack.observability.alertsFlyout.actualValueLabel": "実際の値", "xpack.observability.alertsFlyout.documentSummaryTitle": "ドキュメント概要", "xpack.observability.alertsFlyout.durationLabel": "期間", @@ -19703,20 +20511,24 @@ "xpack.observability.emptySection.apps.ux.link": "Rum エージェントをインストール", "xpack.observability.emptySection.apps.ux.title": "ユーザーエクスペリエンス", "xpack.observability.enableComparisonByDefault": "比較機能", - "xpack.observability.enableComparisonByDefaultDescription": "APM UIで比較機能を有効にする", + "xpack.observability.enableComparisonByDefaultDescription": "APMアプリで比較機能を有効にする", + "xpack.observability.enableInfrastructureView": "インフラストラクチャ機能", + "xpack.observability.enableInfrastructureViewDescription": "APMアプリでインフラストラクチャビュー機能を有効にする", "xpack.observability.enableInspectEsQueriesExperimentDescription": "API応答でElasticsearchクエリを調査します。", "xpack.observability.enableInspectEsQueriesExperimentName": "ESクエリを調査", "xpack.observability.exp.breakDownFilter.noBreakdown": "内訳なし", "xpack.observability.exp.breakDownFilter.unavailable": "モニター期間メトリックでは、ステップ名内訳を使用できません。ステップ期間メトリックを使用して、ステップ名で分解します。", "xpack.observability.exp.breakDownFilter.warning": "内訳は一度に1つの系列にのみ適用できます。", - "xpack.observability.experimentalBadgeDescription": "この機能は実験的機能であり、将来のリリースでは変更されたり完全に削除されたりする場合があります。Elasticは最善の努力を講じてすべての問題の修正に努めますが、実験的機能には正式なGA機能のサポートSLAが適用されません。", - "xpack.observability.experimentalBadgeLabel": "実験的", + "xpack.observability.experimentalBadgeDescription": "この機能はテクニカルプレビュー中であり、将来のリリースでは変更されたり完全に削除されたりする場合があります。Elasticは最善の努力を講じてすべての問題の修正に努めますが、テクニカルプレビュー中の機能には正式なGA機能のサポートSLAが適用されません。", + "xpack.observability.experimentalBadgeLabel": "テクニカルプレビュー", "xpack.observability.exploratoryView.noBrusing": "ブラシ選択によるズームは時系列グラフでのみ使用できます。", + "xpack.observability.expView.addToCase": "ケースに追加", "xpack.observability.expView.chartTypes.label": "チャートタイプ", "xpack.observability.expView.columns.label": "{sourceField}の{percentileValue}パーセンタイル", "xpack.observability.expView.columns.operation.label": "{sourceField}の{operationType}", "xpack.observability.expView.dateRanger.endDate": "終了日", "xpack.observability.expView.dateRanger.startDate": "開始日", + "xpack.observability.expView.explore": "探索", "xpack.observability.expView.fieldLabels.agentHost": "エージェントホスト", "xpack.observability.expView.fieldLabels.backend": "バックエンド時刻", "xpack.observability.expView.fieldLabels.browserFamily": "ブラウザーファミリー", @@ -19727,7 +20539,10 @@ "xpack.observability.expView.fieldLabels.cls": "累積レイアウト変更", "xpack.observability.expView.fieldLabels.connectionType": "接続タイプ", "xpack.observability.expView.fieldLabels.coreWebVitals": "コア Web バイタル", - "xpack.observability.expView.fieldLabels.cpuUsage": "CPU使用状況", + "xpack.observability.expView.fieldLabels.cpuUsage": "CPU 使用状況", + "xpack.observability.expView.fieldLabels.cpuUsage.docker": "Docker CPU使用状況", + "xpack.observability.expView.fieldLabels.cpuUsage.k8sDocker": "K8s pod CPU使用状況", + "xpack.observability.expView.fieldLabels.cpuUsage.system": "システムCPU使用状況", "xpack.observability.expView.fieldLabels.dcl": "DOMコンテンツが読み込まれました", "xpack.observability.expView.fieldLabels.device": "デバイス", "xpack.observability.expView.fieldLabels.deviceDistribution": "デバイス分布", @@ -19745,7 +20560,7 @@ "xpack.observability.expView.fieldLabels.location": "場所", "xpack.observability.expView.fieldLabels.memoryUsage": "システムメモリー使用状況", "xpack.observability.expView.fieldLabels.metric": "メトリック", - "xpack.observability.expView.fieldLabels.mobile.memoryUsage": "メモリー使用状況", + "xpack.observability.expView.fieldLabels.mobile.memoryUsage": "システムメモリー使用状況", "xpack.observability.expView.fieldLabels.mobileApp": "モバイルアプリ", "xpack.observability.expView.fieldLabels.mobileResponse": "モバイル応答", "xpack.observability.expView.fieldLabels.monitorDurationLabel": "監視期間", @@ -19795,6 +20610,7 @@ "xpack.observability.expView.operationType.sum": "合計", "xpack.observability.expView.reportType.selectDataType": "ビジュアライゼーションを作成するデータ型を選択します。", "xpack.observability.expView.reportType.selectLabel": "レポートタイプを選択", + "xpack.observability.expView.save": "ビジュアライゼーションを保存", "xpack.observability.expView.seriesBuilder.accordion.label": "系列情報を切り替える", "xpack.observability.expView.seriesBuilder.addSeries": "数列を追加", "xpack.observability.expView.seriesBuilder.addSeries.limitation": "このレポートタイプには1つの系列のみを追加できます。", @@ -19903,6 +20719,7 @@ "xpack.observability.overview.exploratoryView.editSeriesColor": "系列の色を編集", "xpack.observability.overview.exploratoryView.hideChart": "グラフを非表示", "xpack.observability.overview.exploratoryView.lensDisabled": "Lensアプリを使用できません。調査ビューを使用するには、Lensを有効にしてください。", + "xpack.observability.overview.exploratoryView.metricsLabel": "Infraメトリック", "xpack.observability.overview.exploratoryView.missingDataType": "データ型が見つかりません", "xpack.observability.overview.exploratoryView.missingReportDefinition": "{reportDefinition}が見つかりません", "xpack.observability.overview.exploratoryView.missingReportMetric": "レポートメトリックが見つかりません", @@ -19938,7 +20755,7 @@ "xpack.observability.overview.ux.title": "ユーザーエクスペリエンス", "xpack.observability.overviewLinkTitle": "概要", "xpack.observability.page_header.addMobileDataLink.label": "モバイルAPMデータの追加に関するチュートリアルに移動", - "xpack.observability.page_header.addUptimeDataLink.label": "Elastic Synthetics統合に移動して、アップタイムデータを追加", + "xpack.observability.page_header.addUptimeDataLink.label": "アップタイムデータの追加に関するチュートリアルに移動", "xpack.observability.page_header.addUXDataLink.label": "ユーザーエクスペリエンスAPMデータの追加に関するチュートリアルに移動", "xpack.observability.pageLayout.sideNavTitle": "Observability", "xpack.observability.resources.documentation": "ドキュメント", @@ -19960,6 +20777,8 @@ "xpack.observability.seriesEditor.edit": "系列を編集", "xpack.observability.seriesEditor.hide": "系列を非表示", "xpack.observability.seriesEditor.sampleDocuments": "新しいタブでサンプルドキュメントを表示", + "xpack.observability.status.addIntegrationLink": "追加", + "xpack.observability.status.learnMoreButton": "詳細", "xpack.observability.transactionRateLabel": "{value} tpm", "xpack.observability.urlFilter.wildcard": "ワイルドカード*{wildcard}*を使用", "xpack.observability.ux.addDataButtonLabel": "UXデータを追加", @@ -20148,7 +20967,7 @@ "xpack.osquery.pack.queriesTable.viewResultsColumnTitle": "結果を表示", "xpack.osquery.pack.queryFlyoutForm.cancelButtonLabel": "キャンセル", "xpack.osquery.pack.queryFlyoutForm.deleteECSMappingRowButtonAriaLabel": "ECSマッピング行を削除", - "xpack.osquery.pack.queryFlyoutForm.descriptionFieldLabel": "説明", + "xpack.osquery.pack.queryFlyoutForm.descriptionFieldLabel": "説明(オプション)", "xpack.osquery.pack.queryFlyoutForm.ecsFieldRequiredErrorMessage": "ECSフィールドは必須です。", "xpack.osquery.pack.queryFlyoutForm.emptyIdError": "IDが必要です", "xpack.osquery.pack.queryFlyoutForm.emptyQueryError": "クエリは必須フィールドです", @@ -20426,16 +21245,26 @@ "xpack.reporting.deprecations.reportingRole.forbiddenErrorMessage": "この廃止予定を修正する十分な権限がありません。", "xpack.reporting.deprecations.reportingRole.unknownErrorCorrectiveAction": "詳細については、Kibanaログを確認してください。", "xpack.reporting.deprecations.reportingRole.unknownErrorMessage": "廃止予定チェックを実行できませんでした。詳細については、Kibanaログを確認してください。", - "xpack.reporting.deprecations.reportingRoleMappings.manualStepOne": "kibana.ymlで「xpack.reporting.roles.enabled: false」を設定します。", - "xpack.reporting.deprecations.reportingRoleMappings.manualStepThree": "レポートへのアクセス権を付与するには、Kibana権限のあるカスタムロールを作成します。", + "xpack.reporting.deprecations.reportingRoleMappings.description": "将来のバージョンでは、レポート権限のデフォルトメカニズムの動作が変更されます。また、このクラスターには、この権限の廃止予定のロールにマッピングされたロールマッピングが存在します。「xpack.reporting.roles.enabled」を「false」に設定すると、アップグレード前に将来の動作を導入できます。", + "xpack.reporting.deprecations.reportingRoleMappings.manualStepFive": "すべてのロールマッピングから\"reporting_user\"ロールを削除し、カスタムロールを追加します。影響を受けるロールマッピング:{roleMappings}。", + "xpack.reporting.deprecations.reportingRoleMappings.manualStepFour": "新しいロールのいずれかを割り当てて、レポート権限をユーザーに付与します。", + "xpack.reporting.deprecations.reportingRoleMappings.manualStepOne": "kibana.ymlで「xpack.reporting.roles.enabled」をfalseに設定します。", + "xpack.reporting.deprecations.reportingRoleMappings.manualStepThree": "[管理]>[セキュリティ]>[ロール]から、レポートのKibanaアプリケーション権限を付与する1つ以上のロールを作成します。", "xpack.reporting.deprecations.reportingRoleMappings.manualStepTwo": "存在する場合は、kibana.ymlで「xpack.reporting.roles.allow」を削除します。", + "xpack.reporting.deprecations.reportingRoleMappings.title": "\"{reportingUserRoleName}\"ロールは廃止予定です。ロールマッピングを確認してください", + "xpack.reporting.deprecations.reportingRoles.description": "将来のバージョンでは、レポート権限のデフォルトメカニズムが変更されます。これはこのクラスターの動作に影響します。「xpack.reporting.roles.enabled」を「false」に設定すると、アップグレード前に将来の動作を導入できます。", + "xpack.reporting.deprecations.reportingRoles.manualStepFour": "新しいロールのいずれかを割り当てて、レポート権限をユーザーに付与します。", "xpack.reporting.deprecations.reportingRoles.manualStepOne": "kibana.ymlで「xpack.reporting.roles.enabled」をfalseに設定します。", - "xpack.reporting.deprecations.reportingRoles.manualStepThree": "新しいロールのいずれかを割り当てて、レポート権限をユーザーに付与します。「xpack.reporting.roles.allow」で指定されたレポートロールが割り当てられたユーザーにはレポート権限がなくなります。アプリケーション権限に基づくロールを割り当てる必要があります。", - "xpack.reporting.deprecations.reportingRoles.manualStepTwo": "**[管理]>[セキュリティ]>[ロール]**から、レポートのKibanaアプリケーション権限を付与する1つ以上のロールを作成します。", + "xpack.reporting.deprecations.reportingRoles.manualStepThree": "[管理]>[セキュリティ]>[ロール]から、レポートのKibanaアプリケーション権限を付与する1つ以上のロールを作成します。", + "xpack.reporting.deprecations.reportingRoles.manualStepTwo": "存在する場合は、kibana.ymlで「xpack.reporting.roles.allow」を削除します。", "xpack.reporting.deprecations.reportingRoles.title": "\"{fromPath}.roles\"設定は廃止予定です", - "xpack.reporting.deprecations.reportingRoleUsers.manualStepOne": "kibana.ymlで「xpack.reporting.roles.enabled: false」を設定します。", - "xpack.reporting.deprecations.reportingRoleUsers.manualStepThree": "レポートへのアクセス権を付与するには、Kibana権限のあるカスタムロールを作成します。", + "xpack.reporting.deprecations.reportingRoleUsers.description": "将来のバージョンでは、レポート権限のデフォルトメカニズムの動作が変更されます。また、このクラスターには、この権限の廃止予定のロールが割り当てられたユーザーが存在します。「xpack.reporting.roles.enabled」を「false」に設定すると、アップグレード前に将来の動作を導入できます。", + "xpack.reporting.deprecations.reportingRoleUsers.manualStepFive": "すべてのユーザーから「reporting_user」ロールを削除し、カスタムロールを追加します。影響を受けるユーザー:{usersRoles}。", + "xpack.reporting.deprecations.reportingRoleUsers.manualStepFour": "新しいロールのいずれかを割り当てて、レポート権限をユーザーに付与します。", + "xpack.reporting.deprecations.reportingRoleUsers.manualStepOne": "kibana.ymlで「xpack.reporting.roles.enabled」をfalseに設定します。", + "xpack.reporting.deprecations.reportingRoleUsers.manualStepThree": "[管理]>[セキュリティ]>[ロール]から、レポートのKibanaアプリケーション権限を付与する1つ以上のロールを作成します。", "xpack.reporting.deprecations.reportingRoleUsers.manualStepTwo": "存在する場合は、kibana.ymlで「xpack.reporting.roles.allow」を削除します。", + "xpack.reporting.deprecations.reportingRoleUsers.title": "\"{reportingUserRoleName}\"ロールは廃止予定です。ユーザーロールを確認してください", "xpack.reporting.diagnostic.browserMissingDependency": "システム依存関係が不足しているため、ブラウザーを正常に起動できませんでした。{url}を参照してください", "xpack.reporting.diagnostic.browserMissingFonts": "ブラウザーはデフォルトフォントを検索できませんでした。この問題を修正するには、{url}を参照してください。", "xpack.reporting.diagnostic.noUsableSandbox": "Chromiumサンドボックスを使用できません。これは「xpack.reporting.capture.browser.chromium.disableSandbox」で無効にすることができます。この作業はご自身の責任で行ってください。{url}を参照してください", @@ -20453,12 +21282,18 @@ "xpack.reporting.jobStatusDetail.deprecatedText": "これは廃止予定のエクスポートタイプです。将来のバージョンのKibanaとの互換性のためには、このレポートの自動化を再作成する必要があります。", "xpack.reporting.jobStatusDetail.errorText": "エラー詳細についてはレポート情報を参照してください。", "xpack.reporting.jobStatusDetail.pendingStatusReachedText": "ジョブの処理を待機しています。", + "xpack.reporting.jobStatusDetail.timeoutSeconds": "{timeout}秒", + "xpack.reporting.jobStatusDetail.timeoutSecondsUnknown": "不明", + "xpack.reporting.jobStatusDetail.unknownText": "不明", "xpack.reporting.jobStatusDetail.warningsText": "警告についてはレポート情報を参照してください。", "xpack.reporting.jobStatuses.completedText": "完了", "xpack.reporting.jobStatuses.failedText": "失敗", "xpack.reporting.jobStatuses.pendingText": "保留中", "xpack.reporting.jobStatuses.processingText": "処理中", "xpack.reporting.jobStatuses.warningText": "完了", + "xpack.reporting.jobType.csvOutputName": "CSV", + "xpack.reporting.jobType.pdfOutputName": "PDF", + "xpack.reporting.jobType.pngOutputName": "PNG", "xpack.reporting.jobWarning.csvContainsFormulas": "CSVには、スプレッドシートアプリケーションで式と解釈される可能性のある文字が含まれています。", "xpack.reporting.jobWarning.exportTypeDeprecated": "これは廃止予定のエクスポートタイプです。将来のバージョンのKibanaとの互換性のためには、このレポートの自動化を再作成する必要があります。", "xpack.reporting.jobWarning.maxSizeReachedTooltip": "レポートが最大サイズに達し、部分データが含まれています。", @@ -20476,21 +21311,31 @@ "xpack.reporting.listing.diagnosticSuccessMessage": "すべて問題なく、レポートは機能します。", "xpack.reporting.listing.diagnosticSuccessTitle": "準備できました。", "xpack.reporting.listing.diagnosticTitle": "レポート診断", + "xpack.reporting.listing.flyout.closeButtonLabel": "閉じる", "xpack.reporting.listing.ilmPolicyCallout.migrateIndicesButtonLabel": "{ilmPolicyName}ポリシーを適用", "xpack.reporting.listing.ilmPolicyCallout.migrateIndicesErrorTitle": "レポートインデックスを移行できませんでした", "xpack.reporting.listing.ilmPolicyCallout.migrateIndicesSuccessTitle": "すべてのレポートインデックスでレポートポリシーが有効です", "xpack.reporting.listing.ilmPolicyCallout.migrationNeededDescription": "レポートが一貫して管理されることを保証するために、すべてのレポートインデックスは{ilmPolicyName}ポリシーを使用します。", "xpack.reporting.listing.ilmPolicyCallout.migrationNeededTitle": "レポートの新しいライフサイクルポリシーを適用", + "xpack.reporting.listing.infoPanel.attempts": "{attempts}/{maxAttempts}", "xpack.reporting.listing.infoPanel.attemptsInfo": "試行", + "xpack.reporting.listing.infoPanel.callout.failedReportTitle": "レポート失敗", + "xpack.reporting.listing.infoPanel.callout.warningsTitle": "レポートには警告があります", "xpack.reporting.listing.infoPanel.completedAtInfo": "完了日時", "xpack.reporting.listing.infoPanel.contentTypeInfo": "コンテンツタイプ", "xpack.reporting.listing.infoPanel.createdAtInfo": "作成日時:", + "xpack.reporting.listing.infoPanel.dimensionsInfoHeight": "ピクセル単位の高さ", + "xpack.reporting.listing.infoPanel.dimensionsInfoWidth": "ピクセル単位の幅", + "xpack.reporting.listing.infoPanel.kibanaVersion": "Kibanaバージョン", "xpack.reporting.listing.infoPanel.notApplicableLabel": "N/A", + "xpack.reporting.listing.infoPanel.outputSectionTitle": "アウトプット", "xpack.reporting.listing.infoPanel.processedByInfo": "処理方法", "xpack.reporting.listing.infoPanel.sizeInfo": "サイズ(バイト)", + "xpack.reporting.listing.infoPanel.space": "Kibanaスペース", "xpack.reporting.listing.infoPanel.startedAtInfo": "開始日時", "xpack.reporting.listing.infoPanel.statusInfo": "ステータス", "xpack.reporting.listing.infoPanel.timeoutInfo": "タイムアウト(ms)", + "xpack.reporting.listing.infoPanel.timestampSectionTitle": "タイムスタンプ", "xpack.reporting.listing.infoPanel.tzInfo": "タイムゾーン", "xpack.reporting.listing.infoPanel.unknownLabel": "不明", "xpack.reporting.listing.reports.ilmPolicyLinkText": "レポートILMポリシーを編集", @@ -20510,13 +21355,14 @@ "xpack.reporting.listing.table.noCreatedReportsDescription": "レポートが作成されていません", "xpack.reporting.listing.table.noTitleLabel": "無題", "xpack.reporting.listing.table.openInKibanaAppDescription": "このレポートが生成されたKibanaアプリを開きます。", - "xpack.reporting.listing.table.openInKibanaAppLabel": "Kibanaアプリを開く", + "xpack.reporting.listing.table.openInKibanaAppLabel": "Kibanaで開く", "xpack.reporting.listing.table.reportInfoAndErrorButtonTooltip": "レポート情報とエラーメッセージを参照してください。", "xpack.reporting.listing.table.reportInfoAndWarningsButtonTooltip": "レポート情報と警告を参照してください。", "xpack.reporting.listing.table.reportInfoButtonTooltip": "レポート情報を参照してください。", "xpack.reporting.listing.table.reportInfoUnableToFetch": "レポート情報を取得できません。", "xpack.reporting.listing.table.requestFailedErrorMessage": "リクエストに失敗しました", "xpack.reporting.listing.table.showReportInfoAriaLabel": "レポート情報を表示", + "xpack.reporting.listing.table.untitledReport": "無題のレポート", "xpack.reporting.listing.table.viewReportingInfoActionButtonDescription": "このレポートの詳細を表示してください。", "xpack.reporting.listing.table.viewReportingInfoActionButtonLabel": "レポート情報を表示", "xpack.reporting.listing.tableColumns.actionsTitle": "アクション", @@ -20542,19 +21388,28 @@ "xpack.reporting.panelContent.unsavedStateErrorTitle": "保存されていない作業内容", "xpack.reporting.pdfFooterImageDescription": "PDFのフッターに使用するカスタム画像です", "xpack.reporting.pdfFooterImageLabel": "PDFフッター画像", + "xpack.reporting.publicNotifier.csvContainsFormulas.formulaReportMessage": "レポート'{reportObjectTitle}'には、スプレッドシートアプリケーションで式と解釈される可能性のある文字が含まれています。", + "xpack.reporting.publicNotifier.csvContainsFormulas.formulaReportTitle": "{reportType}には式を含めることができます", "xpack.reporting.publicNotifier.downloadReportButtonLabel": "レポートをダウンロード", "xpack.reporting.publicNotifier.error.calloutTitle": "レポートジョブが失敗しました", - "xpack.reporting.publicNotifier.error.checkManagement": "詳細については、{path}を参照してください。", - "xpack.reporting.publicNotifier.error.reportingSectionUrlLinkLabel": "管理 > Kibana > レポート", + "xpack.reporting.publicNotifier.error.checkManagement": "詳細については、{path}に移動してください。", + "xpack.reporting.publicNotifier.error.couldNotCreateReportTitle": "'{reportObjectTitle}'の{reportType}レポートを作成できませんでした。", + "xpack.reporting.publicNotifier.error.reportingSectionUrlLinkLabel": "スタック管理 > Kibana > レポート", "xpack.reporting.publicNotifier.error.tryRefresh": "ページを更新してみてください。", "xpack.reporting.publicNotifier.httpErrorMessage": "レポートジョブステータスを確認できませんでした", "xpack.reporting.publicNotifier.maxSizeReached.partialReportDescription": "レポートが最大サイズに達し、部分データが含まれています。", + "xpack.reporting.publicNotifier.maxSizeReached.partialReportTitle": "'{reportObjectTitle}'の部分{reportType}レポートが作成されました", "xpack.reporting.publicNotifier.pollingErrorMessage": "レポート通知エラー", "xpack.reporting.publicNotifier.reportLink.reportingSectionUrlLinkLabel": "スタック管理 > アラートとインサイト > レポート", + "xpack.reporting.publicNotifier.reportLinkDescription": "今すぐダウンロードするか、後から{path}でダウンロードできます。", + "xpack.reporting.publicNotifier.successfullyCreatedReportNotificationTitle": "'{reportObjectTitle}'の{reportType}が作成されました", "xpack.reporting.redirectApp.errorTitle": "リダイレクトエラー", "xpack.reporting.redirectApp.redirectConsoleErrorPrefixLabel": "リダイレクトページエラー:", "xpack.reporting.registerFeature.reportingDescription": "Discover、可視化、ダッシュボードから生成されたレポートを管理します。", "xpack.reporting.registerFeature.reportingTitle": "レポート", + "xpack.reporting.reportInfoFlyout.actionsButtonLabel": "アクション", + "xpack.reporting.reportInfoFlyout.downloadButtonLabel": "ダウンロード", + "xpack.reporting.reportInfoFlyout.openInKibanaAppButtonLabel": "Kibanaで開く", "xpack.reporting.screenCapturePanelContent.canvasLayoutHelpText": "枠線とフッターロゴを削除", "xpack.reporting.screenCapturePanelContent.canvasLayoutLabel": "全ページレイアウト", "xpack.reporting.screenCapturePanelContent.optimizeForPrintingHelpText": "複数のページを使用します。ページごとに最大2のビジュアライゼーションが表示されます", @@ -20996,6 +21851,11 @@ "xpack.security.loginPage.loginSelectorLinkText": "その他のログインオプション", "xpack.security.loginPage.noLoginMethodsAvailableMessage": "システム管理者にお問い合わせください。", "xpack.security.loginPage.noLoginMethodsAvailableTitle": "ログインが無効です。", + "xpack.security.loginPage.openInNewWindowButton": "新しいウィンドウで開く", + "xpack.security.loginPage.openInNewWindowOrChangeBrowserSettingsTitle": "このコンテンツを表示するには、新しいウィンドウで開くか、ブラウザー設定を調整してサードパーティCookieを許可してください。", + "xpack.security.loginPage.openInNewWindowOrChangeKibanaConfigTitle": "このコンテンツを表示するには、新しいウィンドウで開くか、管理者に依頼してクロスオリジンCookieを許可してください。", + "xpack.security.loginPage.requiresCookiesMessage": "続行するには、ブラウザー設定でCookieを有効にしてください。", + "xpack.security.loginPage.requiresCookiesTitle": "ElasticにログインするにはCookieが必要です", "xpack.security.loginPage.requiresSecureConnectionMessage": "システム管理者にお問い合わせください。", "xpack.security.loginPage.requiresSecureConnectionTitle": "ログインにはセキュアな接続が必要です", "xpack.security.loginPage.unknownLayoutMessage": "詳細は Kibana ログを確認し、このページを再度読み込んでみてください。", @@ -21493,6 +22353,7 @@ "xpack.securitySolution.alertDetails.noRiskDataDescription": "このアラートのホストリスクデータが見つかりません", "xpack.securitySolution.alertDetails.overview": "概要", "xpack.securitySolution.alertDetails.overview.enrichedDataTitle": "強化されたデータ", + "xpack.securitySolution.alertDetails.overview.highlightedFields": "ハイライトされたフィールド", "xpack.securitySolution.alertDetails.overview.hostDataTooltipContent": "リスク分類は、ホストで使用可能なときにのみ表示されます。環境内で{hostsRiskScoreDocumentationLink}が有効であることを確認してください。", "xpack.securitySolution.alertDetails.overview.hostRiskDataTitle": "ホストリスクデータ", "xpack.securitySolution.alertDetails.overview.hostsRiskScoreLink": "ホストリスクスコア", @@ -21507,7 +22368,7 @@ "xpack.securitySolution.alerts.riskScoreMapping.defaultRiskScoreTitle": "デフォルトリスクスコア", "xpack.securitySolution.alerts.riskScoreMapping.mappingDescriptionLabel": "ソースイベント値を使用して、デフォルトリスクスコアを上書きします。", "xpack.securitySolution.alerts.riskScoreMapping.mappingDetailsLabel": "値が境界外の場合、またはフィールドがない場合は、デフォルトリスクスコアが使用されます。", - "xpack.securitySolution.alerts.riskScoreMapping.riskScoreFieldTitle": "kibana.alert.rule.risk_score", + "xpack.securitySolution.alerts.riskScoreMapping.riskScoreFieldTitle": "kibana.alert.risk_score", "xpack.securitySolution.alerts.riskScoreMapping.riskScoreMappingTitle": "リスクスコア無効化", "xpack.securitySolution.alerts.riskScoreMapping.riskScoreTitle": "リスクスコア", "xpack.securitySolution.alerts.riskScoreMapping.sourceFieldTitle": "ソースフィールド", @@ -21559,6 +22420,7 @@ "xpack.securitySolution.artifactCard.lastUpdatedBy": "更新者", "xpack.securitySolution.artifactCardGrid.assignmentColumn": "割り当て", "xpack.securitySolution.artifactCardGrid.DescriptionColumn": "説明", + "xpack.securitySolution.artifactCardGrid.expandCollapseLabel": "すべてのカードを{action}", "xpack.securitySolution.artifactCardGrid.nameColumn": "名前", "xpack.securitySolution.artifactExpandableCard.collpase": "縮小", "xpack.securitySolution.artifactExpandableCard.expand": "拡張", @@ -21802,6 +22664,7 @@ "xpack.securitySolution.containers.detectionEngine.createPrePackagedRuleAndTimelineSuccesDescription": "Elasticから事前にパッケージ化されているルールとタイムラインテンプレートをインストールしました", "xpack.securitySolution.containers.detectionEngine.createPrePackagedRuleSuccesDescription": "Elastic から事前にパッケージ化されているルールをインストールしました", "xpack.securitySolution.containers.detectionEngine.createPrePackagedTimelineSuccesDescription": "Elasticから事前にパッケージ化されているタイムラインテンプレートをインストールしました", + "xpack.securitySolution.containers.detectionEngine.ruleExecutionEventsFetchFailDescription": "ルール実行イベントを取得できませんでした", "xpack.securitySolution.containers.detectionEngine.rulesAndTimelines": "ルールとタイムラインを取得できませんでした", "xpack.securitySolution.containers.detectionEngine.tagFetchFailDescription": "タグを取得できませんでした", "xpack.securitySolution.containers.errors.stopJobFailureTitle": "ジョブ停止エラー", @@ -21864,7 +22727,9 @@ "xpack.securitySolution.detectionEngine.alerts.documentTypeTitle": "アラート", "xpack.securitySolution.detectionEngine.alerts.histogram.allOthersGroupingLabel": "その他すべて", "xpack.securitySolution.detectionEngine.alerts.histogram.headerTitle": "傾向", + "xpack.securitySolution.detectionEngine.alerts.histogram.stackByOptions.stackByAriaLabel": "フィールド値でアラートヒストグラムを積み上げ", "xpack.securitySolution.detectionEngine.alerts.histogram.stackByOptions.stackByLabel": "積み上げ", + "xpack.securitySolution.detectionEngine.alerts.histogram.stackByOptions.stackByPlaceholder": "積み上げるフィールドを選択", "xpack.securitySolution.detectionEngine.alerts.histogram.topNLabel": "トップ{fieldName}", "xpack.securitySolution.detectionEngine.alerts.histogram.viewAlertsButtonLabel": "アラートを表示", "xpack.securitySolution.detectionEngine.alerts.loadingAlertsTitle": "アラートを読み込んでいます", @@ -21887,6 +22752,26 @@ "xpack.securitySolution.detectionEngine.alerts.utilityBar.takeActionTitle": "アクションを実行", "xpack.securitySolution.detectionEngine.alertTitle": "アラート", "xpack.securitySolution.detectionEngine.buttonManageRules": "ルールの管理", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditConfirmation.confirmButtonLabel": "カスタムルールの編集", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditConfirmationCancelButtonLabel": "キャンセル", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.addIndexPatternsComboboxHelpText": "Elasticsearchインデックスのデフォルトインデックスパターンをドロップダウンから選択します。カスタムインデックスパターンを追加し、Enterを押すと、新しいインデックスパターンを開始できます。", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.addIndexPatternsComboboxLabel": "選択したルールのインデックスパターンを追加", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.addIndexPatternsOverwriteCheckboxLabel": "すべての選択したルールインデックスパターンを上書き", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.addIndexPatternsTitle": "インデックスパターンを追加", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.addTagsComboboxHelpText": "選択したルールの1つ以上のカスタム識別タグを追加します。新しいタグを開始するには、各タグの後でEnterを押します。", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.addTagsComboboxLabel": "選択したルールのタグを追加", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.addTagsOverwriteCheckboxLabel": "すべての選択したルールタグを上書き", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.addTagsTitle": "タグを追加", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.closeButtonLabel": "閉じる", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.deleteIndexPatternsComboboxHelpText": "Elasticsearchインデックスのデフォルトインデックスパターンをドロップダウンから削除します。カスタムインデックスパターンを追加し、Enterを押すと、新しいインデックスパターンを開始できます。", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.deleteIndexPatternsComboboxLabel": "選択したルールのインデックスパターンを削除", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.deleteIndexPatternsTitle": "インデックスパターンを削除", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.deleteTagsComboboxHelpText": "選択したルールの1つ以上のカスタム識別タグを削除します。新しいタグを開始するには、各タグの後でEnterを押します。", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.deleteTagsComboboxLabel": "選択したルールのタグを削除", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.deleteTagsTitle": "タグを削除", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.indexPatternsRequiredErrorMessage": "インデックスパターンが最低1つ必要です。", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.saveButtonLabel": "保存", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.tagsComoboxRequiredErrorMessage": "1つ以上のタグが必要です。", "xpack.securitySolution.detectionEngine.components.allRules.deleteConfirmationBody": "現在のフィルタークエリと一致するすべてのルールが削除されます。[確認]をクリックすると続行します。", "xpack.securitySolution.detectionEngine.components.allRules.deleteConfirmationCancel": "キャンセル", "xpack.securitySolution.detectionEngine.components.allRules.deleteConfirmationConfirm": "確認", @@ -21896,10 +22781,11 @@ "xpack.securitySolution.detectionEngine.components.allRules.refreshPromptTitle": "応答してください。", "xpack.securitySolution.detectionEngine.components.importRuleModal.cancelTitle": "キャンセル", "xpack.securitySolution.detectionEngine.components.importRuleModal.importFailedDetailedTitle": "{message}", - "xpack.securitySolution.detectionEngine.components.importRuleModal.importRuleTitle": "ルールのインポート", + "xpack.securitySolution.detectionEngine.components.importRuleModal.importRuleTitle": "インポート", "xpack.securitySolution.detectionEngine.components.importRuleModal.initialPromptTextDescription": "有効なrules_export.ndjsonファイルを選択するか、ドラッグしてドロップします", "xpack.securitySolution.detectionEngine.components.importRuleModal.overwriteDescription": "競合するルールIDで既存の検出を上書き", - "xpack.securitySolution.detectionEngine.components.importRuleModal.selectRuleDescription": "インポートするセキュリティルールとアクション([セキュリティ]>[ルール]ページからエクスポートしたもの)を選択します", + "xpack.securitySolution.detectionEngine.components.importRuleModal.overwriteExceptionLabel": "競合する「list_id」で既存の例外リストを上書き", + "xpack.securitySolution.detectionEngine.components.importRuleModal.selectRuleDescription": "インポートするルールを選択します。関連付けられたルールアクションと例外を含めることができます。", "xpack.securitySolution.detectionEngine.createRule. stepScheduleRule.completeWithActivatingTitle": "ルールの作成と有効化", "xpack.securitySolution.detectionEngine.createRule. stepScheduleRule.completeWithoutActivatingTitle": "有効化せずにルールを作成", "xpack.securitySolution.detectionEngine.createRule.backToRulesButton": "ルール", @@ -21959,6 +22845,7 @@ "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.customThreatQueryFieldRequiredEmptyError": "すべての一致には、フィールドと脅威インデックスフィールドの両方が必要です。", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.customThreatQueryFieldRequiredError": "1 つ以上のインジケーター一致が必要です。", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.EqlQueryBarLabel": "EQL クエリ", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.eqlQueryFieldRequiredError": "EQLクエリは必須です。", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldAnomalyThresholdLabel": "異常スコアしきい値", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldMachineLearningJobIdLabel": "機械学習ジョブ", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldQuerBarLabel": "カスタムクエリ", @@ -22673,6 +23560,8 @@ "xpack.securitySolution.detectionEngine.queryPreview.queryPreviewEqlSequenceTitle": "ヒストグラムがありません", "xpack.securitySolution.detectionEngine.queryPreview.queryPreviewHelpText": "クエリ結果をプレビューするデータのタイムフレームを選択します", "xpack.securitySolution.detectionEngine.queryPreview.queryPreviewLabel": "クイッククエリプレビュー", + "xpack.securitySolution.detectionEngine.queryPreview.queryPreviewSeeAllErrors": "すべてのエラーを表示", + "xpack.securitySolution.detectionEngine.queryPreview.queryPreviewSeeAllWarnings": "すべての警告を表示", "xpack.securitySolution.detectionEngine.queryPreview.queryPreviewSubtitleLoading": "...loading", "xpack.securitySolution.detectionEngine.queryPreview.queryThresholdGraphCountLabel": "累積しきい値数", "xpack.securitySolution.detectionEngine.rule.editRule.errorMsgDescription": "{countError, plural, one {このタブ} other {これらのタブ}}に無効な入力があります:{tabHasError}", @@ -22684,11 +23573,11 @@ "xpack.securitySolution.detectionEngine.ruleDetails.backToRulesButton": "ルール", "xpack.securitySolution.detectionEngine.ruleDetails.deletedRule": "削除されたルール", "xpack.securitySolution.detectionEngine.ruleDetails.exceptionsTab": "例外", - "xpack.securitySolution.detectionEngine.ruleDetails.experimentalDescription": "実験的", + "xpack.securitySolution.detectionEngine.ruleDetails.experimentalDescription": "テクニカルプレビュー", "xpack.securitySolution.detectionEngine.ruleDetails.failureHistoryTab": "エラー履歴", "xpack.securitySolution.detectionEngine.ruleDetails.lastFiveErrorsTitle": "最後の5件のエラー", "xpack.securitySolution.detectionEngine.ruleDetails.pageTitle": "ルール詳細", - "xpack.securitySolution.detectionEngine.ruleDetails.ruleCreationDescription": "作成者:{by} 日付:{date}", + "xpack.securitySolution.detectionEngine.ruleDetails.ruleCreationDescription": "作成者: {by} 日付: {date}", "xpack.securitySolution.detectionEngine.ruleDetails.ruleUpdateDescription": "更新者:{by} 日付:{date}", "xpack.securitySolution.detectionEngine.ruleDetails.statusFailedAtColumn": "失敗", "xpack.securitySolution.detectionEngine.ruleDetails.statusFailedDescription": "失敗", @@ -22712,7 +23601,7 @@ "xpack.securitySolution.detectionEngine.rules.allExceptionLists.filters.noExceptionsTitle": "例外リストが見つかりません", "xpack.securitySolution.detectionEngine.rules.allExceptionLists.search.placeholder": "検索例外リスト", "xpack.securitySolution.detectionEngine.rules.allExceptions.filters.noListsBody": "例外リストが見つかりませんでした。", - "xpack.securitySolution.detectionEngine.rules.allExceptions.tableTitle": "例外", + "xpack.securitySolution.detectionEngine.rules.allExceptions.tableTitle": "例外リスト", "xpack.securitySolution.detectionEngine.rules.allRules.actions.bulkActionFailedDescription": "一括アクションを実行できませんでした", "xpack.securitySolution.detectionEngine.rules.allRules.actions.deleteeRuleDescription": "ルールの削除", "xpack.securitySolution.detectionEngine.rules.allRules.actions.duplicateRuleDescription": "ルールの複製", @@ -22724,7 +23613,25 @@ "xpack.securitySolution.detectionEngine.rules.allRules.activeRuleDescription": "アクティブ", "xpack.securitySolution.detectionEngine.rules.allRules.batchActions.deleteSelectedImmutableTitle": "選択には削除できないイミュータブルルールがあります", "xpack.securitySolution.detectionEngine.rules.allRules.batchActionsTitle": "一斉アクション", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.addIndexPatternsTitle": "インデックスパターンを追加", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.addTagsTitle": "タグを追加", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.bulkEditErrorToastTitle": "ルールの更新が失敗しました", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.bulkEditRejectionDescription": "Elasticルールは変更できません。更新アクションはカスタムルールにのみ適用されます。", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.bulkEditSuccessToastTitle": "ルール変更が更新されました", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.bulkEditWarningToastNotifyButtonLabel": "完了時に通知", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.bulkEditWarningToastTitle": "ルールを更新しています", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.contextMenuTitle": "オプション", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.deleteIndexPatternsTitle": "インデックスパターンを削除", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.deleteTagsTitle": "タグを削除", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.deleteTitle": "削除", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.disableTitle": "無効にする", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicateTitle": "複製", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.enableTitle": "有効にする", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.exportTitle": "エクスポート", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.indexPatternsTitle": "インデックスパターン", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.tagsTitle": "タグ", "xpack.securitySolution.detectionEngine.rules.allRules.clearSelectionTitle": "選択した項目をクリア", + "xpack.securitySolution.detectionEngine.rules.allRules.columns.enabledTitle": "有効", "xpack.securitySolution.detectionEngine.rules.allRules.columns.gap": "最後のギャップ(該当する場合)", "xpack.securitySolution.detectionEngine.rules.allRules.columns.gapTooltip": "ルール実行の最新のギャップの期間。ルールルックバックを調整するか、ギャップの軽減については{seeDocs}してください。", "xpack.securitySolution.detectionEngine.rules.allRules.columns.indexingTimes": "インデックス時間(ミリ秒)", @@ -22763,6 +23670,9 @@ "xpack.securitySolution.detectionEngine.rules.defineRuleTitle": "ルールの定義", "xpack.securitySolution.detectionEngine.rules.deleteDescription": "削除", "xpack.securitySolution.detectionEngine.rules.editPageTitle": "編集", + "xpack.securitySolution.detectionEngine.rules.experimentalDescription": "実験的なルール表ビューはテクニカルプレビュー中であり、高度な並べ替え機能を使用できます。表の操作時にパフォーマンスの問題が発生した場合、この設定をオフにできます。", + "xpack.securitySolution.detectionEngine.rules.experimentalOff": "テクニカルプレビュー:オフ", + "xpack.securitySolution.detectionEngine.rules.experimentalOn": "テクニカルプレビュー:オン", "xpack.securitySolution.detectionEngine.rules.importRuleTitle": "ルールのインポート", "xpack.securitySolution.detectionEngine.rules.loadPrePackagedRulesAndTemplatesButton": "Elastic 事前構築済みルールおよびタイムラインテンプレートを読み込む", "xpack.securitySolution.detectionEngine.rules.loadPrePackagedRulesButton": "Elastic 事前構築済みルールを読み込む", @@ -22785,6 +23695,8 @@ "xpack.securitySolution.detectionEngine.rules.update.successfullySavedRuleTitle": "{ruleName}が保存されました", "xpack.securitySolution.detectionEngine.rules.updateButtonTitle": "更新", "xpack.securitySolution.detectionEngine.rules.updatePrePackagedRulesTitle": "Elastic事前構築済みルールまたはタイムラインテンプレートを更新", + "xpack.securitySolution.detectionEngine.ruleStatus.errorCalloutTitle": "ルール失敗", + "xpack.securitySolution.detectionEngine.ruleStatus.partialErrorCalloutTitle": "警告", "xpack.securitySolution.detectionEngine.ruleStatus.refreshButton": "更新", "xpack.securitySolution.detectionEngine.ruleStatus.statusAtDescription": "に", "xpack.securitySolution.detectionEngine.ruleStatus.statusDateDescription": "ステータス日付", @@ -22828,6 +23740,8 @@ "xpack.securitySolution.editDataProvider.selectAnOperatorPlaceholder": "演算子を選択", "xpack.securitySolution.editDataProvider.valueLabel": "値", "xpack.securitySolution.editDataProvider.valuePlaceholder": "値", + "xpack.securitySolution.effectedPolicySelect.assignmentSectionDescription": "すべてのポリシーでグローバルに割り当てるか、特定のポリシーに割り当てます。", + "xpack.securitySolution.effectedPolicySelect.assignmentSectionTitle": "割り当て", "xpack.securitySolution.effectedPolicySelect.viewPolicyLinkLabel": "ポリシーを表示", "xpack.securitySolution.emptyString.emptyStringDescription": "空の文字列", "xpack.securitySolution.endpoint.actions.agentDetails": "エージェント詳細を表示", @@ -22887,15 +23801,21 @@ "xpack.securitySolution.endpoint.details.policyStatus": "ポリシーステータス", "xpack.securitySolution.endpoint.details.policyStatusValue": "{policyStatus, select, success {成功} warning {警告} failure {失敗} other {不明}}", "xpack.securitySolution.endpoint.detailsActions.buttonLabel": "アクションを実行", + "xpack.securitySolution.endpoint.effectedPolicySelect.global": "グローバル", + "xpack.securitySolution.endpoint.effectedPolicySelect.perPolicy": "ポリシー単位", + "xpack.securitySolution.endpoint.eventFilters.fleetIntegration.title": "イベントフィルター", "xpack.securitySolution.endpoint.fleetCustomExtension.artifacts.backButtonLabel": "Fleet統合ポリシーに戻る", - "xpack.securitySolution.endpoint.fleetCustomExtension.backButtonLabel": "エンドポイント統合に戻る", + "xpack.securitySolution.endpoint.fleetCustomExtension.backButtonLabel": "Endpoint Security統合に戻る", "xpack.securitySolution.endpoint.fleetCustomExtension.eventFiltersLabel": "イベントフィルター", + "xpack.securitySolution.endpoint.fleetCustomExtension.eventFiltersManageLabel": "イベントフィルターの管理", + "xpack.securitySolution.endpoint.fleetCustomExtension.eventFiltersSummary.error": "イベントフィルター統計情報の取得中にエラーが発生しました:\"{error}\"", "xpack.securitySolution.endpoint.fleetCustomExtension.eventFiltersSummaryError": "イベントフィルター統計情報の取得中にエラーが発生しました:\"{error}\"", "xpack.securitySolution.endpoint.fleetCustomExtension.exceptionItemsSummary.linux": "Linux", "xpack.securitySolution.endpoint.fleetCustomExtension.exceptionItemsSummary.macos": "Mac", "xpack.securitySolution.endpoint.fleetCustomExtension.exceptionItemsSummary.total": "合計", "xpack.securitySolution.endpoint.fleetCustomExtension.exceptionItemsSummary.windows": "Windows", - "xpack.securitySolution.endpoint.fleetCustomExtension.hostIsolationExceptionsSummary.backButtonLabel": "エンドポイント統合に戻る", + "xpack.securitySolution.endpoint.fleetCustomExtension.hostIsolationExceptionsManageLabel": "ホスト分離例外の管理", + "xpack.securitySolution.endpoint.fleetCustomExtension.hostIsolationExceptionsSummary.backButtonLabel": "Endpoint Security統合に戻る", "xpack.securitySolution.endpoint.fleetCustomExtension.hostIsolationExceptionsSummary.error": "ホスト分離例外統計情報の取得中にエラーが発生しました:\"{error}\"", "xpack.securitySolution.endpoint.fleetCustomExtension.hostIsolationExceptionsSummary.label": "ホスト分離例外", "xpack.securitySolution.endpoint.fleetCustomExtension.hostIsolationExceptionsSummary.manageLabel": "管理", @@ -22924,6 +23844,7 @@ "xpack.securitySolution.endpoint.hostIsolation.unisolate.successfulMessage": "ホスト{hostName}でのリリースは正常に送信されました", "xpack.securitySolution.endpoint.hostIsolation.unisolateHost": "ホストのリリース", "xpack.securitySolution.endpoint.hostIsolation.unIsolateThisHost": "現在{hostName}は{isolated}です。このホストを{unisolate}しますか?", + "xpack.securitySolution.endpoint.hostIsolationExceptions.fleetIntegration.title": "ホスト分離例外アプリケーション", "xpack.securitySolution.endpoint.hostIsolationStatus.isIsolating": "分離中", "xpack.securitySolution.endpoint.hostIsolationStatus.isolated": "分離済み", "xpack.securitySolution.endpoint.hostIsolationStatus.isUnIsolating": "リリース中", @@ -22961,6 +23882,7 @@ "xpack.securitySolution.endpoint.list.transformFailed.message": "現在、必須の変換{transformId}が失敗しています。通常、これは{transformsPage}で修正できます。ヘルプについては、{docsPage}をご覧ください", "xpack.securitySolution.endpoint.list.transformFailed.restartLink": "変換を再開中", "xpack.securitySolution.endpoint.list.transformFailed.title": "必須の変換が失敗しました", + "xpack.securitySolution.endpoint.olicy.trustedApps.layout.search.placeholder": "次のフィールドで検索:名前、説明、値", "xpack.securitySolution.endpoint.paginatedContent.noItemsFoundTitle": "項目が見つかりません", "xpack.securitySolution.endpoint.policy.advanced": "高度な設定", "xpack.securitySolution.endpoint.policy.advanced.calloutTitle": "十分ご注意ください!", @@ -22998,6 +23920,8 @@ "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.kernel.connect": "カーネルドライバーに接続するかどうか。デフォルト:true", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.kernel.filewrite": "「false」の値は、カーネルファイル書き込みイベントを有効にする他の構成設定を上書きします。デフォルト:true", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.kernel.network": "「false」の値は、カーネルネットワークイベントを有効にする他の構成設定を上書きします。デフォルト:true", + "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.kernel.network_extension.enable_content_filtering": "ネットワークコンテンツフィルターを有効または無効にします。これにより、ネットワークイベントが有効/無効になります。このオプションが無効な場合、ホスト分離が失敗します。デフォルト:true", + "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.kernel.network_extension.enable_packet_filtering": "ネットワークパケットフィルターを有効または無効にします。このオプションが無効な場合、ホスト分離が失敗します。デフォルト:true", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.kernel.process": "「false」の値は、カーネルプロセスイベントを有効にする他の構成設定を上書きします。デフォルト:true", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.logging.file": "入力した値は、ディスクに保存されたログと Elasticsearch にストリームされたログに構成されたログレベルよりも優先されます。ほとんどの環境でこのログを変更するには、Fleet を使用することをお勧めします。許可された値は、エラー、警告、情報、デバッグ、トレースです。", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.logging.syslog": "入力された値はログを Syslog に構成します。許可された値は、エラー、警告、情報、デバッグ、トレースです。", @@ -23016,10 +23940,12 @@ "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.user.ca_cert": "Fleet Server認証局のPEM暗号化証明書。", "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", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.elasticsearch.delay": "イベントを Elasticsearch に送信する遅延(秒)。デフォルト:120.", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.elasticsearch.tls.ca_cert": "Elasticsearch 認証局の PEM 暗号化証明書。", "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.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", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.kernel.fileaccess": "制限されたファイルアクセス(読み取り)イベントを報告します。ユーザーがパスを構成することはできません。デフォルト値はtrueです。", @@ -23046,7 +23972,7 @@ "xpack.securitySolution.endpoint.policy.details.antivirusRegistration.toggle": "ウイルス対策として登録", "xpack.securitySolution.endpoint.policy.details.antivirusRegistration.type": "ウイルス対策として登録", "xpack.securitySolution.endpoint.policy.details.av.windowsServerNotSupported": "Windows Serverオペレーティングシステムはサポートされていません", - "xpack.securitySolution.endpoint.policy.details.backToListTitle": "エンドポイントホストに戻る", + "xpack.securitySolution.endpoint.policy.details.backToListTitle": "すべてのエンドポイントを表示", "xpack.securitySolution.endpoint.policy.details.behavior": "悪意のある動作", "xpack.securitySolution.endpoint.policy.details.behavior_protection": "悪意のある動作", "xpack.securitySolution.endpoint.policy.details.cancel": "キャンセル", @@ -23067,6 +23993,8 @@ "xpack.securitySolution.endpoint.policy.details.ransomware": "ランサムウェア", "xpack.securitySolution.endpoint.policy.details.save": "保存", "xpack.securitySolution.endpoint.policy.details.settings": "設定", + "xpack.securitySolution.endpoint.policy.details.tabs.eventFilters": "イベントフィルター", + "xpack.securitySolution.endpoint.policy.details.tabs.isInHostIsolationExceptions": "ホスト分離例外", "xpack.securitySolution.endpoint.policy.details.tabs.policyForm": "ポリシー設定", "xpack.securitySolution.endpoint.policy.details.tabs.trustedApps": "信頼できるアプリケーション", "xpack.securitySolution.endpoint.policy.details.updateConfirm.cancelButtonTitle": "キャンセル", @@ -23078,6 +24006,76 @@ "xpack.securitySolution.endpoint.policy.details.updateSuccessMessage": "統合{name}が更新されました。", "xpack.securitySolution.endpoint.policy.details.updateSuccessTitle": "成功!", "xpack.securitySolution.endpoint.policy.details.upgradeToPlatinum": "Elastic Platinum へのアップグレード", + "xpack.securitySolution.endpoint.policy.eventFilters.empty.unassigned.backButtonLabel": "{policyName}ポリシー", + "xpack.securitySolution.endpoint.policy.eventFilters.empty.unassigned.content": "現在、{policyName}に割り当てられたイベントフィルターがありません。今するイベントフィルターを割り当てるか、イベントフィルターページで追加して管理してください。", + "xpack.securitySolution.endpoint.policy.eventFilters.empty.unassigned.primaryAction": "イベントフィルターの割り当て", + "xpack.securitySolution.endpoint.policy.eventFilters.empty.unassigned.secondaryAction": "イベントフィルターの管理", + "xpack.securitySolution.endpoint.policy.eventFilters.empty.unassigned.title": "割り当てられたイベントフィルターがありません", + "xpack.securitySolution.endpoint.policy.eventFilters.empty.unexisting.action": "イベントフィルターを追加", + "xpack.securitySolution.endpoint.policy.eventFilters.empty.unexisting.content": "現在、エンドポイントにはイベントフィルターが適用されていません。", + "xpack.securitySolution.endpoint.policy.eventFilters.empty.unexisting.title": "イベントフィルターが存在しません", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.about.viewAllLinkLabel": "すべてのイベントフィルターを表示", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.assignToPolicy": "イベントフィルターをポリシーに割り当て", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.cancel": "キャンセル", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.confirm": "{policyName}に割り当てる", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.noAssignable": "このポリシーに割り当てられるイベントフィルターがありません。", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.noResults": "項目が見つかりません", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.searchWarning.text": "最初の100個のイベントフィルターのみが表示されます。検索バーを使用して、結果を絞り込んでください。", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.searchWarning.title": "絞り込まれた検索結果", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.subtitle": "{policyName}に追加するイベントフィルターを選択", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.title": "イベントフィルターの割り当て", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.toastError.text": "アーチファクトの更新中にエラーが発生しました", + "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.layout.flyout.toastSuccess.title": "成功", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.searh.label": "イベントフィルターの検索", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.title": "割り当てられたイベントフィルター", + "xpack.securitySolution.endpoint.policy.eventFilters.list.fullDetailsAction": "詳細を表示", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeAction": "ポリシーから削除", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeActionNotAllowed": "グローバルで適用されたイベントフィルターはポリシーから削除できません。", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeDialog.cancelLabel": "キャンセル", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeDialog.confirmLabel": "ポリシーから削除", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeDialog.errorToastTitle": "イベントフィルターの削除エラー", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeDialog.message": "続行していいですか?", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeDialog.messageCallout": "このイベントフィルターはこのポリシーからのみ削除されます。イベントフィルターページには表示され、管理できます。", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeDialog.successToastTitle": "正常に削除されました", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeDialog.title": "ポリシーからイベントフィルターを削除", + "xpack.securitySolution.endpoint.policy.eventFilters.list.search.placeholder": "次のフィールドで検索:名前、説明、コメント、値", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.empty.unassigned.backButtonLabel": "{policyName}ポリシー", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.empty.unassigned.content": "現在{policyName}に割り当てられたホスト分離例外はありません。今すぐ例外を割り当てるか、ホスト分離例外ページで追加して管理してください。", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.empty.unassigned.primaryAction": "ホスト分離例外の割り当て", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.empty.unassigned.secondaryAction": "ホスト分離例外の管理", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.empty.unassigned.title": "割り当てられたホスト分離例外がありません", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.empty.unexisting.action": "ホスト分離例外の追加", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.empty.unexisting.content": "現在、エンドポイントにはホスト分離例外が適用されていません。", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.empty.unexisting.title": "ホスト分離例外が存在しません", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.assignToPolicy": "ホスト分離例外をポリシーに割り当てる", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.cancel": "キャンセル", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.confirm": "{policyName}に割り当てる", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.noAssignable": "このポリシーに割り当てられるホスト分離例外はありません。", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.noResults": "項目が見つかりません", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.searchWarning.text": "最初の100個のホスト分離例外のみが表示されます。検索バーを使用して、結果を絞り込んでください。", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.searchWarning.title": "絞り込まれた検索結果", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.subtitle": "{policyName}に追加するホスト分離例外を選択", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.title": "ホスト分離例外の割り当て", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.toastError.text": "アーチファクトの更新中にエラーが発生しました", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.toastSuccess.textMultiples": "{count}個のホスト分離例外がリストに追加されました。", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.toastSuccess.textSingle": "\"{name}\"はホスト分離例外リストに追加されました。", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.toastSuccess.title": "成功", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.searh.label": "ホスト分離例外の検索", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.fullDetailsAction": "詳細を表示", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeAction": "ポリシーから削除", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeActionNotAllowed": "グローバルで適用されたホスト分離例外はポリシーから削除できません。", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeDialog.cancelLabel": "キャンセル", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeDialog.confirmLabel": "ポリシーから削除", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeDialog.errorToastTitle": "ホスト分離例外の削除試行中のエラー", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeDialog.message": "続行していいですか?", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeDialog.messageCallout": "このホスト分離例外はこのポリシーからのみ削除されます。ホスト分離例外ページには表示され、管理できます。", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeDialog.successToastTitle": "正常に削除されました", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeDialog.title": "ポリシーからホスト分離例外を削除", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.search.placeholder": "次のフィールドで検索:名前、説明、IP", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.title": "割り当てられたホスト分離例外", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.viewAllLinkLabel": "ホスト分離例外を表示", "xpack.securitySolution.endpoint.policy.protections.behavior": "悪意ある動作に対する保護", "xpack.securitySolution.endpoint.policy.protections.malware": "マルウェア保護", "xpack.securitySolution.endpoint.policy.protections.memory": "メモリ脅威に対する保護", @@ -23228,7 +24226,7 @@ "xpack.securitySolution.endpointDetails.activityLog.logEntry.response.unisolationSuccessful": "エンドポイントが受信したホストリリースリクエスト", "xpack.securitySolution.endpointDetails.activityLog.search": "アクティビティログを検索", "xpack.securitySolution.endpointDetails.overview": "概要", - "xpack.securitySolution.endpointManagement.noPermissionsSubText": "Fleetが無効である可能性があります。この機能を使用するには、Fleetを有効にする必要があります。Fleetを有効にする権限がない場合は、Kibana管理者に連絡してください。", + "xpack.securitySolution.endpointManagement.noPermissionsSubText": "この機能を使用するには、スーパーユーザーロールが必要です。スーパーユーザーロールがなく、ユーザーロールを編集する権限もない場合は、Kibana管理者に問い合わせてください。", "xpack.securitySolution.endpointManagemnet.noPermissionsText": "Elastic Security Administrationを使用するために必要なKibana権限がありません。", "xpack.securitySolution.endpointsTab": "エンドポイント", "xpack.securitySolution.enpdoint.resolver.panelutils.invaliddate": "無効な日付", @@ -23255,9 +24253,12 @@ "xpack.securitySolution.eventDetails.table": "表", "xpack.securitySolution.eventDetails.table.actions": "アクション", "xpack.securitySolution.eventDetails.value": "値", + "xpack.securitySolution.eventDetails.viewAllFields": "テーブルのすべてのフィールドを表示", "xpack.securitySolution.eventDetails.viewColumnCheckboxAriaLabel": "{field} 列を表示", "xpack.securitySolution.eventDetails.viewRuleDetailPage": "ルール詳細ページを表示", "xpack.securitySolution.eventFilter.form.creationSuccessToastTitle": "\"{name}\"がイベントフィルターリストに追加されました。", + "xpack.securitySolution.eventFilter.form.description.label": "イベントフィルターの説明", + "xpack.securitySolution.eventFilter.form.description.placeholder": "説明", "xpack.securitySolution.eventFilter.form.failedToastTitle.create": "新しいイベントフィルターの作成中にエラーが発生しました:\"{error}\"", "xpack.securitySolution.eventFilter.form.failedToastTitle.get": "イベントフィルターを編集できません:\"{error}\"", "xpack.securitySolution.eventFilter.form.failedToastTitle.update": "イベントフィルターの更新中にエラーが発生しました:\"{error}\"", @@ -23267,18 +24268,31 @@ "xpack.securitySolution.eventFilter.form.os.label": "オペレーティングシステムを選択", "xpack.securitySolution.eventFilter.form.rule.name": "エンドポイントイベントフィルター", "xpack.securitySolution.eventFilter.form.updateSuccessToastTitle": "\"{name}\"が正常に更新されました", - "xpack.securitySolution.eventFilter.search.placeholder": "次のフィールドで検索:名前、コメント、値", + "xpack.securitySolution.eventFilter.search.placeholder": "次のフィールドで検索:名前、説明、コメント、値", "xpack.securitySolution.eventFilters.aboutInfo": "イベントフィルターを追加して、大量のイベントや不要なイベントがElasticsearchに書き込まれないように除外します。", + "xpack.securitySolution.eventFilters.commentsSectionDescription": "イベントフィルターにコメントを追加します。", + "xpack.securitySolution.eventFilters.commentsSectionTitle": "コメント", + "xpack.securitySolution.eventFilters.criteriaSectionDescription": "オペレーティングシステムを選択して、条件を追加します。", + "xpack.securitySolution.eventFilters.criteriaSectionTitle": "条件", + "xpack.securitySolution.eventFilters.deletionDialog.calloutTitle": "警告", "xpack.securitySolution.eventFilters.deletionDialog.cancelButton": "キャンセル", - "xpack.securitySolution.eventFilters.deletionDialog.confirmButton": "イベントフィルターを削除", + "xpack.securitySolution.eventFilters.deletionDialog.confirmButton": "削除", "xpack.securitySolution.eventFilters.deletionDialog.deleteFailure": "イベントフィルターリストから\"{name}\"を削除できません。理由:{message}", "xpack.securitySolution.eventFilters.deletionDialog.deleteSuccess": "\"{name}\"がイベントフィルターリストから削除されました。", "xpack.securitySolution.eventFilters.deletionDialog.subMessage": "この操作は元に戻すことができません。続行していいですか?", + "xpack.securitySolution.eventFilters.deletionDialog.title": "\"{name}\"を削除", + "xpack.securitySolution.eventFilters.detailsSectionTitle": "詳細", + "xpack.securitySolution.eventFilters.docsLink": "イベントフィルタードキュメント。", "xpack.securitySolution.eventFilters.eventFiltersFlyout.actions.cancel": "キャンセル", "xpack.securitySolution.eventFilters.eventFiltersFlyout.actions.confirm.create": "イベントフィルターを追加", - "xpack.securitySolution.eventFilters.eventFiltersFlyout.actions.confirm.update": "イベントフィルターを更新", + "xpack.securitySolution.eventFilters.eventFiltersFlyout.actions.confirm.update": "保存", + "xpack.securitySolution.eventFilters.eventFiltersFlyout.actions.confirm.update.withData": "エンドポイントイベントフィルターを追加", "xpack.securitySolution.eventFilters.eventFiltersFlyout.subtitle.create": "イベントフィルターを追加", + "xpack.securitySolution.eventFilters.eventFiltersFlyout.subtitle.create.withData": "Endpoint Security", "xpack.securitySolution.eventFilters.eventFiltersFlyout.subtitle.update": "イベントフィルターを更新", + "xpack.securitySolution.eventFilters.eventFiltersFlyout.title.create.withData": "エンドポイントイベントフィルターを追加", + "xpack.securitySolution.eventFilters.expiredLicenseMessage": "Kibanaライセンスがダウングレードされました。今後のポリシー構成はグローバルにすべてのポリシーに割り当てられます。詳細はご覧ください。 ", + "xpack.securitySolution.eventFilters.expiredLicenseTitle": "失効したライセンス", "xpack.securitySolution.eventFilters.list.cardAction.delete": "イベントフィルターを削除", "xpack.securitySolution.eventFilters.list.cardAction.edit": "イベントフィルターを編集", "xpack.securitySolution.eventFilters.list.pageAddButton": "イベントフィルターを追加", @@ -23342,8 +24356,9 @@ "xpack.securitySolution.eventsViewer.alerts.defaultHeaders.thresholdTerms": "しきい値条件", "xpack.securitySolution.eventsViewer.alerts.defaultHeaders.triggeredTitle": "実行済み", "xpack.securitySolution.eventsViewer.alerts.defaultHeaders.versionTitle": "バージョン", + "xpack.securitySolution.eventsViewer.alerts.overview.changeAlertStatus": "アラートステータスを変更", + "xpack.securitySolution.eventsViewer.alerts.overview.clickToChangeAlertStatus": "クリックすると、アラートステータスを変更します", "xpack.securitySolution.eventsViewer.alerts.overviewTable.signalStatusTitle": "ステータス", - "xpack.securitySolution.eventsViewer.alerts.overviewTable.targetImportHash": "ハッシュのインポート", "xpack.securitySolution.eventsViewer.errorFetchingEventsData": "イベントデータをクエリできませんでした", "xpack.securitySolution.eventsViewer.eventsLabel": "イベント", "xpack.securitySolution.eventsViewer.showingLabel": "表示中", @@ -23389,6 +24404,7 @@ "xpack.securitySolution.exceptions.endpointListLabel": "エンドポイントリスト", "xpack.securitySolution.exceptions.errorLabel": "エラー", "xpack.securitySolution.exceptions.exceptionsPaginationLabel": "ページごとの項目数:{items}", + "xpack.securitySolution.exceptions.failedLoadPolicies": "ポリシーの読み込みエラーが発生しました:\"{error}\"", "xpack.securitySolution.exceptions.fetch404Error": "関連付けられた例外リスト({listId})は存在しません。その他の例外を検出ルールに追加するには、見つからない例外リストを削除してください。", "xpack.securitySolution.exceptions.fetchError": "例外リストの取得エラー", "xpack.securitySolution.exceptions.fieldDescription": "フィールド", @@ -23504,6 +24520,8 @@ "xpack.securitySolution.host.details.overview.cloudProviderTitle": "クラウドプロバイダー", "xpack.securitySolution.host.details.overview.familyTitle": "ファミリー", "xpack.securitySolution.host.details.overview.hostIdTitle": "ホストID", + "xpack.securitySolution.host.details.overview.hostRiskClassification": "ホストリスク分類", + "xpack.securitySolution.host.details.overview.hostRiskScoreTitle": "ホストリスクスコア", "xpack.securitySolution.host.details.overview.inspectTitle": "ホスト概要", "xpack.securitySolution.host.details.overview.instanceIdTitle": "インスタンス ID", "xpack.securitySolution.host.details.overview.ipAddressesTitle": "IP アドレス", @@ -23515,15 +24533,16 @@ "xpack.securitySolution.host.details.overview.regionTitle": "地域", "xpack.securitySolution.host.details.versionLabel": "バージョン", "xpack.securitySolution.hostIsolation.agentStatuses.empty": "-", + "xpack.securitySolution.hostIsolationExceptions.deletionDialog.calloutTitle": "警告", "xpack.securitySolution.hostIsolationExceptions.deletionDialog.cancel": "キャンセル", "xpack.securitySolution.hostIsolationExceptions.deletionDialog.confirmation": "この操作は元に戻すことができません。続行していいですか?", - "xpack.securitySolution.hostIsolationExceptions.deletionDialog.confirmButton": "例外を削除", + "xpack.securitySolution.hostIsolationExceptions.deletionDialog.confirmButton": "削除", "xpack.securitySolution.hostIsolationExceptions.deletionDialog.deleteFailure": "ホスト分離例外リストから\"{name}\"を削除できません。理由:{message}", "xpack.securitySolution.hostIsolationExceptions.deletionDialog.deleteSuccess": "\"{name}\"はホスト分離例外リストから削除されました。", "xpack.securitySolution.hostIsolationExceptions.deletionDialog.title": "ホスト分離例外を削除", "xpack.securitySolution.hostIsolationExceptions.flyout.cancel": "キャンセル", "xpack.securitySolution.hostIsolationExceptions.flyout.createButton": "ホスト分離例外を追加", - "xpack.securitySolution.hostIsolationExceptions.flyout.editButton": "ホスト分離例外を編集", + "xpack.securitySolution.hostIsolationExceptions.flyout.editButton": "保存", "xpack.securitySolution.hostIsolationExceptions.flyout.editTitle": "ホスト分離例外を編集", "xpack.securitySolution.hostIsolationExceptions.flyout.title": "ホスト分離例外を追加", "xpack.securitySolution.hostIsolationExceptions.form.conditions.subtitle": "ホスト分離例外はすべてのオペレーティングシステムに適用されます。", @@ -23554,6 +24573,22 @@ "xpack.securitySolution.hostIsolationExceptions.search.placeholder": "次のフィールドで検索:名前、説明、IP", "xpack.securitySolution.hostOverview.errorSearchDescription": "ホスト概要検索でエラーが発生しました", "xpack.securitySolution.hostOverview.failSearchDescription": "ホスト概要で検索を実行できませんでした", + "xpack.securitySolution.hosts.hostRiskInformation.buttonLabel": "リスクスコアを計算する方法", + "xpack.securitySolution.hosts.hostRiskInformation.classificationHeader": "分類", + "xpack.securitySolution.hosts.hostRiskInformation.closeBtn": "閉じる", + "xpack.securitySolution.hosts.hostRiskInformation.criticalRiskDescription": "90以上", + "xpack.securitySolution.hosts.hostRiskInformation.explanation": "この機能は変換を利用します。また、5日間の範囲で、スクリプトメトリックアグリゲーションを使用して、「オープン」ステータスの検知ルールアラートに基づいてホストリスクスコアを計算します。変換は毎時実行され、新しい検知ルールアラートを受信するとスコアが常に更新されます。", + "xpack.securitySolution.hosts.hostRiskInformation.informationAriaLabel": "情報", + "xpack.securitySolution.hosts.hostRiskInformation.introduction": "ホストリスクスコア機能は、環境内のリスクが高いホストを明らかにします。", + "xpack.securitySolution.hosts.hostRiskInformation.learnMore": "ホストリスクの詳細をご覧ください。{hostsRiskScoreDocumentationLink}", + "xpack.securitySolution.hosts.hostRiskInformation.link": "こちら", + "xpack.securitySolution.hosts.hostRiskInformation.riskHeader": "ホストリスクスコア範囲", + "xpack.securitySolution.hosts.hostRiskInformation.title": "ホストリスクを計算する方法", + "xpack.securitySolution.hosts.hostRiskInformation.unknownRiskDescription": "20未満", + "xpack.securitySolution.hosts.hostScoreOverTime.riskScore": "リスクスコア", + "xpack.securitySolution.hosts.hostScoreOverTime.riskyLabel": "高リスク", + "xpack.securitySolution.hosts.hostScoreOverTime.riskyThresholdHeader": "高リスクしきい値", + "xpack.securitySolution.hosts.hostScoreOverTime.title": "経時的なホストリスクスコア", "xpack.securitySolution.hosts.kqlPlaceholder": "例:host.name:\"foo\"", "xpack.securitySolution.hosts.navigation.alertsTitle": "外部アラート", "xpack.securitySolution.hosts.navigation.allHostsTitle": "すべてのホスト", @@ -23561,20 +24596,36 @@ "xpack.securitySolution.hosts.navigation.authenticationsTitle": "認証", "xpack.securitySolution.hosts.navigation.dns.histogram.errorFetchingDnsData": "DNSデータをクエリできませんでした", "xpack.securitySolution.hosts.navigation.eventsTitle": "イベント", + "xpack.securitySolution.hosts.navigation.hostRisk": "リスク別ホスト", "xpack.securitySolution.hosts.navigation.uncommonProcessesTitle": "非共通プロセス", + "xpack.securitySolution.hosts.navigaton.hostRisk.viewDashboardButtonLabel": "ソースダッシュボードを表示", "xpack.securitySolution.hosts.navigaton.matrixHistogram.errorFetchingAuthenticationsData": "認証データをクエリできませんでした", "xpack.securitySolution.hosts.navigaton.matrixHistogram.errorFetchingEventsData": "イベントデータをクエリできませんでした", "xpack.securitySolution.hosts.pageTitle": "ホスト", + "xpack.securitySolution.hosts.topRiskScoreContributors.rankColumnTitle": "ランク", + "xpack.securitySolution.hosts.topRiskScoreContributors.ruleNameColumnTitle": "ルール名", + "xpack.securitySolution.hosts.topRiskScoreContributors.title": "上位のリスクスコアの要因", "xpack.securitySolution.hostsKpiAuthentications.errorSearchDescription": "ホストKPI認証検索でエラーが発生しました", "xpack.securitySolution.hostsKpiAuthentications.failSearchDescription": "ホストKPI認証で検索を実行できませんでした", "xpack.securitySolution.hostsKpiHosts.errorSearchDescription": "ホストKPIホスト検索でエラーが発生しました", "xpack.securitySolution.hostsKpiHosts.failSearchDescription": "ホストKPIホストで検索を実行できませんでした", "xpack.securitySolution.hostsKpiUniqueIps.errorSearchDescription": "ホストKPI一意のIP検索でエラーが発生しました", "xpack.securitySolution.hostsKpiUniqueIps.failSearchDescription": "ホストKPI一意のIPで検索を実行できませんでした", + "xpack.securitySolution.hostsRiskTable.filteredHostsTitle": "{severity}のリスクがあるホストを表示", + "xpack.securitySolution.hostsRiskTable.hostNameTitle": "ホスト名", + "xpack.securitySolution.hostsRiskTable.hostRiskScoreTitle": "ホストリスクスコア", + "xpack.securitySolution.hostsRiskTable.hostRiskToolTip": "ホストリスク分類はホストリスクスコアで決まります。「重大」または「高」に分類されたホストはリスクが高いことが示されます。", + "xpack.securitySolution.hostsRiskTable.hostsTableTitle": "ホストリスク表はKQL時間範囲の影響を受けません。この表は、各ホストの最後に記録されたリスクスコアを示します。", + "xpack.securitySolution.hostsRiskTable.hostsTitle": "リスク別ホスト", + "xpack.securitySolution.hostsRiskTable.riskTitle": "ホストリスク分類", + "xpack.securitySolution.hostsRiskTable.tableTitle": "ホストリスク", "xpack.securitySolution.hostsTable.firstLastSeenToolTip": "選択された日付範囲との相関付けです", + "xpack.securitySolution.hostsTable.hostRiskTitle": "ホストリスク分類", + "xpack.securitySolution.hostsTable.hostRiskToolTip": "ホストリスク分類はホストリスクスコアで決まります。「重大」または「高」に分類されたホストはリスクが高いことが示されます。", "xpack.securitySolution.hostsTable.hostsTitle": "すべてのホスト", "xpack.securitySolution.hostsTable.lastSeenTitle": "前回の認識", "xpack.securitySolution.hostsTable.nameTitle": "ホスト名", + "xpack.securitySolution.hostsTable.osLastSeenToolTip": "前回観察されたオペレーティングシステム", "xpack.securitySolution.hostsTable.osTitle": "オペレーティングシステム", "xpack.securitySolution.hostsTable.versionTitle": "バージョン", "xpack.securitySolution.hoverActions.showTopTooltip": "上位の{fieldName}を表示", @@ -23631,7 +24682,13 @@ "xpack.securitySolution.inspectDescription": "検査", "xpack.securitySolution.investigationEnrichment.requestError": "脅威インテリジェンスの要求中にエラーが発生しました", "xpack.securitySolution.ja3.fingerprint.ja3.fingerprintLabel": "ja3", + "xpack.securitySolution.kpiHost.enableHostRiskText": "その他のデータを表示するには、ホストリスクモジュールを有効にしてください", + "xpack.securitySolution.kpiHost.hostRiskData": "ホストリスクデータ", + "xpack.securitySolution.kpiHost.learnMore": "詳細", "xpack.securitySolution.kpiHosts.hosts.title": "ホスト", + "xpack.securitySolution.kpiHosts.riskyHosts.errorMessage": "高リスクホストAPIの取得エラー", + "xpack.securitySolution.kpiHosts.riskyHosts.inspectTitle": "KPI高リスクホスト", + "xpack.securitySolution.kpiHosts.riskyHosts.title": "高リスクホスト", "xpack.securitySolution.kpiHosts.uniqueIps.destinationChartLabel": "Dest.", "xpack.securitySolution.kpiHosts.uniqueIps.destinationUnitLabel": "デスティネーション", "xpack.securitySolution.kpiHosts.uniqueIps.sourceChartLabel": "Src.", @@ -23720,10 +24777,11 @@ "xpack.securitySolution.modalAllErrors.seeAllErrors.button": "完全なエラーを表示", "xpack.securitySolution.modalAllErrors.title": "ビジュアライゼーションにエラーがあります", "xpack.securitySolution.navigation.administration": "管理", + "xpack.securitySolution.navigation.administration.policies": "ポリシー", "xpack.securitySolution.navigation.alerts": "アラート", "xpack.securitySolution.navigation.case": "ケース", "xpack.securitySolution.navigation.detect": "検知", - "xpack.securitySolution.navigation.exceptions": "例外", + "xpack.securitySolution.navigation.exceptions": "例外リスト", "xpack.securitySolution.navigation.explore": "探索", "xpack.securitySolution.navigation.hosts": "ホスト", "xpack.securitySolution.navigation.investigate": "調査", @@ -23827,7 +24885,7 @@ "xpack.securitySolution.networkTopNFlowTable.sourceIps": "ソース IP", "xpack.securitySolution.networkUsers.errorSearchDescription": "ネットワークユーザー検索でエラーが発生しました", "xpack.securitySolution.networkUsers.failSearchDescription": "ネットワークユーザーで検索を実行できませんでした", - "xpack.securitySolution.newsFeed.advancedSettingsLinkTitle": "SIEM高度な設定", + "xpack.securitySolution.newsFeed.advancedSettingsLinkTitle": "セキュリティソリューション詳細設定", "xpack.securitySolution.newsFeed.noNewsMessage": "現在のニュースフィードURLは最新のニュースを返しませんでした。", "xpack.securitySolution.newsFeed.noNewsMessageForAdmin": "現在のニュースフィードURLは最新のニュースを返しませんでした。URLを更新するか、セキュリティニュースを無効にすることができます", "xpack.securitySolution.noPermissionsMessage": "{subPluginKey}を表示するには、権限を更新する必要があります。詳細については、Kibana管理者に連絡してください。", @@ -23880,9 +24938,9 @@ "xpack.securitySolution.open.timeline.showingLabel": "表示中:", "xpack.securitySolution.open.timeline.singleTemplateLabel": "テンプレート", "xpack.securitySolution.open.timeline.singleTimelineLabel": "タイムライン", - "xpack.securitySolution.open.timeline.successfullyDeletedTimelinesTitle": "{totalTimelines, plural, =0 {すべてのタイムライン} other {{totalTimelines} 個のタイムライン}}の削除が正常に完了しました", + "xpack.securitySolution.open.timeline.successfullyDeletedTimelinesTitle": "{totalTimelines, plural, =0 {すべてのタイムライン} other {{totalTimelines} 個のタイムライン}}の削除が正常に完了しました", "xpack.securitySolution.open.timeline.successfullyDeletedTimelineTemplatesTitle": "{totalTimelineTemplates, plural, =0 {すべてのタイムライン} other {{totalTimelineTemplates}個のタイムラインテンプレート}}が正常に削除されました", - "xpack.securitySolution.open.timeline.successfullyExportedTimelinesTitle": "{totalTimelines, plural, =0 {すべてのタイムライン} other {{totalTimelines} 個のタイムライン}}のエクスポートが正常に完了しました", + "xpack.securitySolution.open.timeline.successfullyExportedTimelinesTitle": "{totalTimelines, plural, =0 {すべてのタイムライン} other {{totalTimelines} 個のタイムライン}}のエクスポートが正常に完了しました", "xpack.securitySolution.open.timeline.successfullyExportedTimelineTemplatesTitle": "{totalTimelineTemplates, plural, =0 {すべてのタイムライン} other {{totalTimelineTemplates} タイムラインテンプレート}}が正常にエクスポートされました", "xpack.securitySolution.open.timeline.timelineNameTableHeader": "タイムライン名", "xpack.securitySolution.open.timeline.timelineTemplateNameTableHeader": "テンプレート名", @@ -24024,6 +25082,7 @@ "xpack.securitySolution.resolver.graphControls.zoomOut": "ズームアウト", "xpack.securitySolution.resolver.node_button_name": "{nodeState, select, error {{nodeName} の再読み込み} other {{nodeName}}}", "xpack.securitySolution.resolver.node_icon": "{state, select, running {プロセスを実行しています} terminated {プロセスを終了しました} loading {プロセスを読み込んでいます} error {エラープロセス}}", + "xpack.securitySolution.resolver.noProcessEvents.dataView": "別のデータビューを選択した場合、\n \"{field}\"でソースイベントに格納されたすべてのインデックスがデータビューに含まれていることを確認します。", "xpack.securitySolution.resolver.noProcessEvents.eventCategory": "次の項目をタイムラインクエリに追加し、プロセスイベントを確認することもできます。\n リストに何もない場合、そのクエリで検出されたイベントからグラフを作成することはできません。", "xpack.securitySolution.resolver.noProcessEvents.timeRange": "\n イベントの分析ツールは、プロセスイベントに基づいてグラフを作成します。\n 分析されたイベントが現在の時間範囲で関連付けられたプロセスがない場合、\n またはどの時間範囲でもElasticsearchに保存されていない場合、グラフは作成されません。\n 時間範囲を展開すると、関連付けられたプロセスを確認できます。\n ", "xpack.securitySolution.resolver.noProcessEvents.title": "プロセスイベントが見つかりません", @@ -24066,7 +25125,7 @@ "xpack.securitySolution.search.administration.trustedApps": "信頼できるアプリケーション", "xpack.securitySolution.search.alerts": "アラート", "xpack.securitySolution.search.detect": "検知", - "xpack.securitySolution.search.exceptions": "例外", + "xpack.securitySolution.search.exceptions": "例外リスト", "xpack.securitySolution.search.explore": "探索", "xpack.securitySolution.search.hosts": "ホスト", "xpack.securitySolution.search.hosts.anomalies": "異常", @@ -24132,6 +25191,7 @@ "xpack.securitySolution.system.withExitCodeDescription": "終了コードで", "xpack.securitySolution.system.withResultDescription": "結果付き", "xpack.securitySolution.tables.rowItemHelper.moreDescription": "行は表示されていません", + "xpack.securitySolution.tables.rowItemHelper.overflowButtonDescription": "他{count}件", "xpack.securitySolution.threatMatch.andDescription": "AND", "xpack.securitySolution.threatMatch.fieldDescription": "フィールド", "xpack.securitySolution.threatMatch.fieldPlaceholderDescription": "検索", @@ -24221,6 +25281,7 @@ "xpack.securitySolution.timeline.failSearchDescription": "検索を実行できませんでした", "xpack.securitySolution.timeline.fieldTooltip": "フィールド", "xpack.securitySolution.timeline.file.fromOriginalPathDescription": "元のパスから", + "xpack.securitySolution.timeline.flyout.header.closeTimelineButtonLabel": "{isTimeline, select, true {タイムライン} false {テンプレート}}を閉じる", "xpack.securitySolution.timeline.flyout.pane.removeColumnButtonLabel": "列を削除", "xpack.securitySolution.timeline.flyout.pane.timelinePropertiesAriaLabel": "タイムラインのプロパティ", "xpack.securitySolution.timeline.flyoutTimelineTemplateLabel": "タイムラインテンプレート", @@ -24237,6 +25298,7 @@ "xpack.securitySolution.timeline.nameTimeline.modal.header": "タイムライン名を設定", "xpack.securitySolution.timeline.nameTimeline.save.title": "保存", "xpack.securitySolution.timeline.nameTimelineTemplate.modal.header": "タイムラインテンプレート名を設定", + "xpack.securitySolution.timeline.participantsTitle": "参加者", "xpack.securitySolution.timeline.properties.addTimelineButtonLabel": "新しいタイムラインまたはテンプレートの追加", "xpack.securitySolution.timeline.properties.addToFavoriteButtonLabel": "お気に入りに追加", "xpack.securitySolution.timeline.properties.attachTimelineToCaseTooltip": "ケースに関連付けるには、タイムラインのタイトルを入力してください", @@ -24350,6 +25412,8 @@ "xpack.securitySolution.trustedapps.card.operator.matches": "一致", "xpack.securitySolution.trustedApps.conditionsSectionDescription": "オペレーティングシステムを選択して、条件を追加します。条件の可用性は選択したOSによって異なる場合があります。", "xpack.securitySolution.trustedApps.conditionsSectionTitle": "条件", + "xpack.securitySolution.trustedapps.create.conditionFieldDegradedPerformanceMsg": "[{row}] ファイル名のワイルドカードはエンドポイントのパフォーマンスに影響します", + "xpack.securitySolution.trustedapps.create.conditionFieldDuplicatedMsg": "{field}を複数回追加できません", "xpack.securitySolution.trustedapps.create.conditionFieldInvalidHashMsg": "[{row}] 無効なハッシュ値", "xpack.securitySolution.trustedapps.create.conditionFieldInvalidPathMsg": "[{row}] パスの形式が正しくありません。値を検証してください", "xpack.securitySolution.trustedapps.create.conditionFieldValueRequiredMsg": "[{row}] フィールドエントリには値が必要です", @@ -24367,7 +25431,7 @@ "xpack.securitySolution.trustedapps.createTrustedAppFlyout.expiredLicenseMessage": "Kibanaライセンスがダウングレードされました。今後のポリシー構成はグローバルにすべてのポリシーに割り当てられます。詳細はご覧ください。 ", "xpack.securitySolution.trustedapps.createTrustedAppFlyout.expiredLicenseTitle": "失効したライセンス", "xpack.securitySolution.trustedapps.createTrustedAppFlyout.notFoundToastMessage": "信頼できるアプリケーションを編集できません({apiMsg})", - "xpack.securitySolution.trustedapps.createTrustedAppFlyout.successToastTitle": "「{name}」は信頼できるアプリケーションリストに追加されました。", + "xpack.securitySolution.trustedapps.createTrustedAppFlyout.successToastTitle": "\"{name}\"は信頼できるアプリケーションリストに追加されました。", "xpack.securitySolution.trustedapps.createTrustedAppFlyout.updateSuccessToastTitle": "\"{name}\"が更新されました。", "xpack.securitySolution.trustedapps.creationSuccess.title": "成功!", "xpack.securitySolution.trustedapps.deletionDialog.calloutTitle": "警告", @@ -24375,9 +25439,9 @@ "xpack.securitySolution.trustedapps.deletionDialog.confirmButton": "削除", "xpack.securitySolution.trustedapps.deletionDialog.subMessage": "この操作は元に戻すことができません。続行していいですか?", "xpack.securitySolution.trustedapps.deletionDialog.title": "\"{name}\"を削除", - "xpack.securitySolution.trustedapps.deletionError.text": "信頼できるアプリケーションリストから「{name}」を削除できません。理由:{message}", + "xpack.securitySolution.trustedapps.deletionError.text": "信頼できるアプリケーションリストから\"{name}\"を削除できません。理由:{message}", "xpack.securitySolution.trustedapps.deletionError.title": "削除失敗", - "xpack.securitySolution.trustedapps.deletionSuccess.text": "「{name}」は信頼できるアプリケーションリストから削除されました。", + "xpack.securitySolution.trustedapps.deletionSuccess.text": "\"{name}\"は信頼できるアプリケーションリストから削除されました。", "xpack.securitySolution.trustedapps.deletionSuccess.title": "正常に削除されました", "xpack.securitySolution.trustedApps.detailsSectionTitle": "詳細", "xpack.securitySolution.trustedapps.docsLink": "信頼できるアプリケーションドキュメント。", @@ -24841,7 +25905,7 @@ "xpack.snapshotRestore.repositoryForm.commonFields.maxSnapshotBytesTitle": "1 秒間の最高スナップショットバイト数", "xpack.snapshotRestore.repositoryForm.errorUnknownRepositoryTypesMessage": "レポジトリタイプ「{type}」はサポートされていません。", "xpack.snapshotRestore.repositoryForm.errorUnknownRepositoryTypesTitle": "不明なレポジトリタイプ", - "xpack.snapshotRestore.repositoryForm.fields.defaultTypeDescription": "Elasticsearch はファイルシステムと読み取り専用の URL レポジトリをサポートします。他のタイプにはプラグインが必要です。{docLink}", + "xpack.snapshotRestore.repositoryForm.fields.defaultTypeDescription": "スナップショットの保存場所。{docLink}", "xpack.snapshotRestore.repositoryForm.fields.nameDescription": "レポジトリの固有の名前です。", "xpack.snapshotRestore.repositoryForm.fields.nameDescriptionTitle": "レポジトリ名", "xpack.snapshotRestore.repositoryForm.fields.nameLabel": "名前", @@ -24852,7 +25916,7 @@ "xpack.snapshotRestore.repositoryForm.fields.sourceOnlyLabel": "ソースのみのスナップショット", "xpack.snapshotRestore.repositoryForm.fields.typeDescriptionTitle": "レポジトリタイプ", "xpack.snapshotRestore.repositoryForm.fields.typeDocsLinkText": "詳細", - "xpack.snapshotRestore.repositoryForm.fields.typePluginsDocLinkText": "プラグインの詳細をご覧ください。", + "xpack.snapshotRestore.repositoryForm.fields.typePluginsDocLinkText": "リポジトリタイプの詳細をご覧ください。", "xpack.snapshotRestore.repositoryForm.loadingRepositoryTypesDescription": "レポジトリタイプを読み込み中…", "xpack.snapshotRestore.repositoryForm.loadingRepositoryTypesErrorMessage": "レポジトリタイプの読み込み中にエラーが発生しました", "xpack.snapshotRestore.repositoryForm.nextButtonLabel": "次へ", @@ -25430,6 +26494,7 @@ "xpack.stackAlerts.esQuery.missingEsQueryErrorMessage": "[esQuery]:「query」を含む必要があります", "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\\}\\}", + "xpack.stackAlerts.esQuery.ui.alertType.descriptionText": "Elasticsearchクエリと一致したときにアラートを発行します。", "xpack.stackAlerts.esQuery.ui.conditionPrompt": "一致数", "xpack.stackAlerts.esQuery.ui.numQueryMatchesText": "前回の{window}でクエリが{count}個のドキュメントと一致しました。", "xpack.stackAlerts.esQuery.ui.queryEditor": "Elasticsearchクエリエディター", @@ -25584,6 +26649,7 @@ "xpack.timelines.footer.rowsPerPageLabel": "ページごとの行:{rowsPerPage}", "xpack.timelines.footer.totalCountOfEvents": "イベント", "xpack.timelines.hoverActions.addToTimeline": "タイムライン調査に追加", + "xpack.timelines.hoverActions.addToTimeline.addedFieldMessage": "{fieldOrValue}を{isTimeline, select, true {タイムライン} false {テンプレート}}に追加しました", "xpack.timelines.hoverActions.columnToggleLabel": "表の{field}列を切り替える", "xpack.timelines.hoverActions.fieldLabel": "フィールド", "xpack.timelines.hoverActions.filterIn": "フィルタリング", @@ -25676,6 +26742,7 @@ "xpack.transform.agg.popoverForm.filerQueryAdvancedSuggestionTooltip": "他のフィルタークエリアグリゲーションを追加するには、JSON構成を編集します。", "xpack.transform.agg.popoverForm.nameLabel": "集約名", "xpack.transform.agg.popoverForm.percentsLabel": "パーセント", + "xpack.transform.agg.popoverForm.sizeLabel": "サイズ", "xpack.transform.agg.popoverForm.sortDirectionTopMetricsLabel": "並べ替え方向", "xpack.transform.agg.popoverForm.sortFieldTopMetricsLabel": "並べ替えフィールド", "xpack.transform.agg.popoverForm.submitButtonLabel": "適用", @@ -25705,6 +26772,7 @@ "xpack.transform.capability.noPermission.createTransformTooltip": "データフレーム変換を作成するパーミッションがありません。", "xpack.transform.capability.noPermission.deleteTransformTooltip": "データフレーム変換を削除するパーミッションがありません。", "xpack.transform.capability.noPermission.noTransformNodesTooltip": "利用可能な変換ノードがありません。", + "xpack.transform.capability.noPermission.resetTransformTooltip": "変換をリセットするパーミッションがありません。", "xpack.transform.capability.noPermission.startOrStopTransformTooltip": "データフレーム変換を開始・停止するパーミッションがありません。", "xpack.transform.capability.pleaseContactAdministratorTooltip": "{message} 管理者にお問い合わせください。", "xpack.transform.clone.errorPromptText": "ソースデータビューが存在するかどうかを確認するときにエラーが発生しました", @@ -25728,6 +26796,7 @@ "xpack.transform.groupBy.popoverForm.intervalError": "無効な間隔。", "xpack.transform.groupBy.popoverForm.intervalLabel": "間隔", "xpack.transform.groupBy.popoverForm.intervalPercents": "パーセンタイルをコンマで区切って列記します。", + "xpack.transform.groupBy.popoverForm.invalidSizeErrorMessage": "有効な正の数値を入力してください", "xpack.transform.groupBy.popoverForm.missingBucketCheckboxHelpText": "選択すると、値がないドキュメントを含めます。", "xpack.transform.groupby.popoverForm.missingBucketCheckboxLabel": "不足しているバケットを含める", "xpack.transform.groupBy.popoverForm.nameLabel": "グループ分け名", @@ -25738,6 +26807,7 @@ "xpack.transform.home.breadcrumbTitle": "変換", "xpack.transform.indexPreview.copyClipboardTooltip": "インデックスプレビューの開発コンソールステートメントをクリップボードにコピーします。", "xpack.transform.indexPreview.copyRuntimeFieldsClipboardTooltip": "ランタイムフィールドの開発コンソールステートメントをクリップボードにコピーします。", + "xpack.transform.invalidRuntimeFieldMessage": "無効なランタイムフィールド", "xpack.transform.latestPreview.latestPreviewIncompleteConfigCalloutBody": "1 つ以上の一意キーと並べ替えフィールドを選択してください。", "xpack.transform.licenseCheckErrorMessage": "ライセンス確認失敗", "xpack.transform.list.emptyPromptButtonText": "初めての変換を作成してみましょう。", @@ -25873,10 +26943,16 @@ "xpack.transform.stepDetailsForm.destinationIndexInvalidErrorLink": "インデックス名の制限に関する詳細。", "xpack.transform.stepDetailsForm.destinationIndexLabel": "デスティネーションインデックス", "xpack.transform.stepDetailsForm.destinationIndexWarning": "変換を開始する前に、インデックステンプレートまたは{docsLink}を使用して、デスティネーションインデックスのマッピングがソースインデックスと一致することを確認します。そうでない場合、デスティネーションインデックスは動的マッピングで作成されます。変換に失敗した場合、[スタック管理]ページの[メッセージ]タブでエラーを確認してください。", + "xpack.transform.stepDetailsForm.destinationIngestPipelineAriaLabel": "インジェストパイプラインを選択(任意)", + "xpack.transform.stepDetailsForm.destinationIngestPipelineComboBoxPlaceholder": "インジェストパイプラインを選択(任意)", + "xpack.transform.stepDetailsForm.destinationIngestPipelineLabel": "デスティネーションインジェストパイプライン", + "xpack.transform.stepDetailsForm.editFlyoutFormDestinationIngestPipelineFieldSelectAriaLabel": "インジェストパイプラインを選択", + "xpack.transform.stepDetailsForm.editFlyoutFormDestinationIngestPipelineFieldSelectPlaceholder": "インジェストパイプラインを選択", "xpack.transform.stepDetailsForm.editFlyoutFormFrequencyPlaceholderText": "デフォルト:{defaultValue}", "xpack.transform.stepDetailsForm.editFlyoutFormMaxPageSearchSizePlaceholderText": "デフォルト:{defaultValue}", "xpack.transform.stepDetailsForm.errorGettingDataViewTitles": "既存のデータビュータイトルの取得中にエラーが発生しました。", "xpack.transform.stepDetailsForm.errorGettingIndexNames": "既存のインデックス名の取得中にエラーが発生しました。", + "xpack.transform.stepDetailsForm.errorGettingIngestPipelines": "既存のインジェストパイプライン名の取得中にエラーが発生しました。", "xpack.transform.stepDetailsForm.errorGettingTransformList": "既存の変換 ID の取得中にエラーが発生しました:", "xpack.transform.stepDetailsForm.errorGettingTransformPreview": "変換プレビューの取得中にエラーが発生しました。", "xpack.transform.stepDetailsForm.frequencyAriaLabel": "頻度を選択してください。", @@ -25909,6 +26985,7 @@ "xpack.transform.stepDetailsSummary.createDataViewMessage": "この変換のKibanaデータビューが作成されます。", "xpack.transform.stepDetailsSummary.dataViewTimeFieldLabel": "Kibanaデータビュー時間フィールド", "xpack.transform.stepDetailsSummary.destinationIndexLabel": "デスティネーションインデックス", + "xpack.transform.stepDetailsSummary.destinationIngestPipelineLabel": "デスティネーションインジェストパイプライン", "xpack.transform.stepDetailsSummary.frequencyLabel": "頻度", "xpack.transform.stepDetailsSummary.maxPageSearchSizeLabel": "最大ページ検索サイズ", "xpack.transform.stepDetailsSummary.retentionPolicyDateFieldLabel": "保持ポリシーの日付フィールド", @@ -25929,6 +27006,7 @@ "xpack.transform.transformList.deleteActionDisabledToolTipContent": "削除するにはデータフレームジョブを停止してください。", "xpack.transform.transformList.deleteActionNameText": "削除", "xpack.transform.transformList.deleteBulkActionDisabledToolTipContent": "削除するには、選択された変換のうちの 1 つまたは複数を停止する必要があります。", + "xpack.transform.transformList.deleteManagedTransformDescription": "削除中", "xpack.transform.transformList.deleteModalCancelButton": "キャンセル", "xpack.transform.transformList.deleteModalDeleteButton": "削除", "xpack.transform.transformList.deleteModalTitle": "{transformId}を削除しますか?", @@ -25947,7 +27025,7 @@ "xpack.transform.transformList.editFlyoutFormDescriptionLabel": "説明", "xpack.transform.transformList.editFlyoutFormDestinationButtonContent": "ディスティネーション構成", "xpack.transform.transformList.editFlyoutFormDestinationIndexLabel": "デスティネーションインデックス", - "xpack.transform.transformList.editFlyoutFormDestinationIngestPipelineLabel": "パイプライン", + "xpack.transform.transformList.editFlyoutFormDestinationIngestPipelineLabel": "インジェストパイプライン", "xpack.transform.transformList.editFlyoutFormDocsPerSecondHelptext": "スロットリングを有効にするには、毎秒入力するドキュメントの上限を設定します。", "xpack.transform.transformList.editFlyoutFormDocsPerSecondLabel": "毎秒あたりのドキュメント", "xpack.transform.transformList.editFlyoutFormFrequencyHelpText": "変換が連続実行されているときにソースインデックスで変更を確認する間の間隔。また、変換が検索またはインデックス中に一時障害が発生した場合に、再試行する間隔も決定します。最小値は1秒で、最大値は1時間です。", @@ -25965,14 +27043,27 @@ "xpack.transform.transformList.editFlyoutFormRetentionPolicyFieldLabel": "フィールド", "xpack.transform.transformList.editFlyoutFormRetentionPolicyFieldSelectAriaLabel": "保持ポリシーを設定する日付フィールド", "xpack.transform.transformList.editFlyoutFormRetentionPolicyMaxAgeNotValidErrorMessage": "無効な最大年齢形式です。60秒以上が必要です。", + "xpack.transform.transformList.editFlyoutFormRetentionPolicySwitchLabel": "保持ポリシー", "xpack.transform.transformList.editFlyoutFormStringNotValidErrorMessage": "値は文字列型でなければなりません。", "xpack.transform.transformList.editFlyoutTitle": "{transformId}を編集", "xpack.transform.transformList.editFlyoutUpdateButtonText": "更新", + "xpack.transform.transformList.editManagedTransformsDescription": "編集中", "xpack.transform.transformList.editTransformGenericErrorMessage": "変換を削除するためのAPIエンドポイントの呼び出し中にエラーが発生しました。", "xpack.transform.transformList.editTransformSuccessMessage": "変換{transformId}が更新されました。", "xpack.transform.transformList.errorWithCheckingIfUserCanDeleteIndexNotificationErrorMessage": "ユーザーがディスティネーションインデックスを削除できるかどうかを確認するときにエラーが発生しました。", "xpack.transform.transformList.managedBadgeLabel": "管理中", + "xpack.transform.transformList.managedBadgeTooltip": "この変換はElasticによってあらかじめ構成および管理されています。製品の他の部分はその動作に依存関係が存在している場合があります。", "xpack.transform.transformList.refreshButtonLabel": "再読み込み", + "xpack.transform.transformList.resetActionDisabledToolTipContent": "リセットするには変換を停止してください。", + "xpack.transform.transformList.resetActionNameText": "リセット", + "xpack.transform.transformList.resetBulkActionDisabledToolTipContent": "リセットするには、選択された変換の1つ以上を停止する必要があります。", + "xpack.transform.transformList.resetManagedTransformDescription": "セットしています", + "xpack.transform.transformList.resetModalCancelButton": "キャンセル", + "xpack.transform.transformList.resetModalResetButton": "リセット", + "xpack.transform.transformList.resetModalTitle": "{transformId}をリセットしますか?", + "xpack.transform.transformList.resetTransformErrorMessage": "変換 {transformId} のリセット中にエラーが発生しました", + "xpack.transform.transformList.resetTransformGenericErrorMessage": "変換をリセットするための API エンドポイントの呼び出し中にエラーが発生しました。", + "xpack.transform.transformList.resetTransformSuccessMessage": "変換{transformId}をリセットするリクエストが確認されました。", "xpack.transform.transformList.rowCollapse": "{transformId} の詳細を非表示", "xpack.transform.transformList.rowExpand": "{transformId} の詳細を表示", "xpack.transform.transformList.showDetailsColumn.screenReaderDescription": "このカラムには変換ごとの詳細を示すクリック可能なコントロールが含まれます", @@ -25982,10 +27073,13 @@ "xpack.transform.transformList.startModalBody": "変換は、クラスターの検索とインデックスによる負荷を増やします。過剰な負荷が生じた場合は変換を停止してください。", "xpack.transform.transformList.startModalCancelButton": "キャンセル", "xpack.transform.transformList.startModalStartButton": "開始", + "xpack.transform.transformList.startModalStopButton": "終了", "xpack.transform.transformList.startModalTitle": "{transformId}を開始しますか?", "xpack.transform.transformList.startTransformErrorMessage": "変換 {transformId} の開始中にエラーが発生しました", "xpack.transform.transformList.startTransformSuccessMessage": "データフレームジョブ {transformId} が開始しました。", "xpack.transform.transformList.stopActionNameText": "終了", + "xpack.transform.transformList.stopManagedTransformsDescription": "停止中", + "xpack.transform.transformList.stopModalTitle": "{transformId}を停止しますか?", "xpack.transform.transformList.stoppedTransformBulkToolTip": "1 つまたは複数の変換がすでに開始済みです。", "xpack.transform.transformList.stoppedTransformToolTip": "{transformId} はすでに停止済みです。", "xpack.transform.transformList.stopTransformErrorMessage": "データフレーム変換 {transformId} の停止中にエラーが発生しました", @@ -26385,6 +27479,8 @@ "xpack.triggersActionsUI.components.healthCheck.encryptionErrorAction": "詳細情報", "xpack.triggersActionsUI.components.healthCheck.encryptionErrorBeforeKey": "Alertingを使用するには、暗号化鍵を構成する必要があります。", "xpack.triggersActionsUI.components.healthCheck.encryptionErrorTitle": "追加の設定が必要です", + "xpack.triggersActionsUI.components.jsonEditorWithMessageVariable.noEditorErrorMessage": "エディターが見つかりませんでした。ページを更新して再試行してください", + "xpack.triggersActionsUI.components.jsonEditorWithMessageVariable.noEditorErrorTitle": "メッセージ変数を追加できません", "xpack.triggersActionsUI.connectors.breadcrumbTitle": "コネクター", "xpack.triggersActionsUI.data.coreQueryParams.aggTypeRequiredErrorMessage": "[aggType]が「{aggType}」のときには[aggField]に値が必要です", "xpack.triggersActionsUI.data.coreQueryParams.dateStartGTdateEndErrorMessage": "[dateStart]が[dateEnd]よりも大です", @@ -26432,8 +27528,10 @@ "xpack.triggersActionsUI.sections.actionConnectorForm.loadingConnectorSettingsDescription": "コネクター設定を読み込んでいます...", "xpack.triggersActionsUI.sections.actionForm.actionSectionsTitle": "アクション", "xpack.triggersActionsUI.sections.actionForm.addActionButtonLabel": "アクションの追加", + "xpack.triggersActionsUI.sections.actionForm.deprecatedTooltipTitle": "廃止予定のコネクター", "xpack.triggersActionsUI.sections.actionForm.getMoreConnectorsTitle": "その他のコネクターを取得", "xpack.triggersActionsUI.sections.actionForm.getMoreRuleTypesTitle": "その他のルールタイプを取得", + "xpack.triggersActionsUI.sections.actionForm.incidentManagementSystemLabel": "インシデント管理システム", "xpack.triggersActionsUI.sections.actionForm.loadingConnectorsDescription": "コネクターを読み込んでいます…", "xpack.triggersActionsUI.sections.actionForm.loadingConnectorTypesDescription": "コネクタータイプを読み込んでいます...", "xpack.triggersActionsUI.sections.actionForm.preconfiguredTitleMessage": "(構成済み)", @@ -26499,6 +27597,16 @@ "xpack.triggersActionsUI.sections.alertDetails.alertDetailsTitle": "{alertName}", "xpack.triggersActionsUI.sections.alertDetails.alertInstances.disabledRule": "このルールは無効になっていて再表示できません。", "xpack.triggersActionsUI.sections.alertDetails.alerts.disabledRuleTitle": "無効なルール", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.avgDurationDescription": "平均時間", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.columns.alert": "アラート", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.columns.duration": "期間", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.columns.mute": "ミュート", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.columns.start": "開始", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.columns.status": "ステータス", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.ruleLastExecutionDescription": "前回の応答", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.ruleTypeExcessDurationMessage": "期間がルールの想定実行時間を超えています。", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.status.active": "アクティブ", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.status.inactive": "回復済み", "xpack.triggersActionsUI.sections.alertDetails.collapsedItemActons.enableLoadingTitle": "有効にする", "xpack.triggersActionsUI.sections.alertDetails.collapsedItemActons.enableTitle": "有効にする", "xpack.triggersActionsUI.sections.alertDetails.collapsedItemActons.muteLoadingTitle": "ミュート", @@ -26529,7 +27637,7 @@ "xpack.triggersActionsUI.sections.alertForm.alertNotifyWhen.onThrottleInterval.label": "カスタムアクション間隔", "xpack.triggersActionsUI.sections.alertForm.changeAlertTypeAriaLabel": "削除", "xpack.triggersActionsUI.sections.alertForm.checkFieldLabel": "確認間隔", - "xpack.triggersActionsUI.sections.alertForm.checkWithTooltip": "条件を評価する頻度を定義します。", + "xpack.triggersActionsUI.sections.alertForm.checkWithTooltip": "条件を評価する頻度を定義します。チェックはキューに登録されています。可能なかぎり定義された値に近づくように実行されます。", "xpack.triggersActionsUI.sections.alertForm.conditions.addConditionLabel": "追加:", "xpack.triggersActionsUI.sections.alertForm.conditions.removeConditionLabel": "削除", "xpack.triggersActionsUI.sections.alertForm.conditions.title": "条件:", @@ -26553,9 +27661,11 @@ "xpack.triggersActionsUI.sections.alertsList.actionTypeFilterLabel": "アクションタイプ", "xpack.triggersActionsUI.sections.alertsList.addRuleButtonLabel": "ルールを作成", "xpack.triggersActionsUI.sections.alertsList.alertErrorReasonDecrypting": "ルールの復号中にエラーが発生しました。", + "xpack.triggersActionsUI.sections.alertsList.alertErrorReasonDisabled": "ルールを実行できませんでした。ルールは無効化された後に実行されました。", "xpack.triggersActionsUI.sections.alertsList.alertErrorReasonLicense": "ルールを実行できません", "xpack.triggersActionsUI.sections.alertsList.alertErrorReasonReading": "ルールの読み取り中にエラーが発生しました。", "xpack.triggersActionsUI.sections.alertsList.alertErrorReasonRunning": "ルールの実行中にエラーが発生しました。", + "xpack.triggersActionsUI.sections.alertsList.alertErrorReasonTimeout": "タイムアウトのためルール実行がキャンセルされました。", "xpack.triggersActionsUI.sections.alertsList.alertErrorReasonUnknown": "不明な理由でエラーが発生しました。", "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.actionsTex": "アクション", "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.actionsWarningTooltip": "このルールに関連付けられたコネクターの1つを読み込めません。ルールを編集して、新しいコネクターを選択します。", @@ -26569,8 +27679,11 @@ "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.lastExecutionDateTitle": "前回の実行の開始時間。", "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.mutedBadge": "ミュート", "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.nameTitle": "名前", + "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.ruleExecutionPercentileSelectButton": "パーセンタイルを選択", + "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.ruleExecutionPercentileTooltip": "このルールの過去{sampleLimit}実行期間の{percentileOrdinal}パーセンタイル", "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.scheduleTitle": "間隔", "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.statusTitle": "ステータス", + "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.successRatioTitle": "このルールが正常に実行される頻度", "xpack.triggersActionsUI.sections.alertsList.alertStatusActive": "アクティブ", "xpack.triggersActionsUI.sections.alertsList.alertStatusError": "エラー", "xpack.triggersActionsUI.sections.alertsList.alertStatusFilterLabel": "ステータス", @@ -26653,6 +27766,7 @@ "xpack.triggersActionsUI.sections.connectorAddInline.unableToLoadConnectorTitle": "コネクターを読み込めません", "xpack.triggersActionsUI.sections.connectorAddInline.unableToLoadConnectorTitle'": "コネクターを読み込めません", "xpack.triggersActionsUI.sections.connectorAddInline.unauthorizedToCreateForEmptyConnectors": "許可されたユーザーのみがコネクターを構成できます。管理者にお問い合わせください。", + "xpack.triggersActionsUI.sections.deprecatedTitleMessage": "(非推奨)", "xpack.triggersActionsUI.sections.editConnectorForm.actionTypeDescription": "{actionDescription}", "xpack.triggersActionsUI.sections.editConnectorForm.cancelButtonLabel": "キャンセル", "xpack.triggersActionsUI.sections.editConnectorForm.descriptionText": "このコネクターは読み取り専用です。", @@ -26666,7 +27780,10 @@ "xpack.triggersActionsUI.sections.executionDurationChart.avgDurationLabel": "平均期間", "xpack.triggersActionsUI.sections.executionDurationChart.durationLabel": "期間", "xpack.triggersActionsUI.sections.executionDurationChart.executionDurationNoData": "このルールの実行がありません。", + "xpack.triggersActionsUI.sections.executionDurationChart.numberOfExecutionsOption": "{value}回の実行", "xpack.triggersActionsUI.sections.executionDurationChart.recentDurationsTitle": "最近の実行時間", + "xpack.triggersActionsUI.sections.executionDurationChart.selectNumberOfExecutionDurationsLabel": "実行数を選択", + "xpack.triggersActionsUI.sections.isDeprecatedDescription": "このコネクターは廃止予定です。更新するか新しく作成してください。", "xpack.triggersActionsUI.sections.manageLicense.manageLicenseCancelButtonText": "キャンセル", "xpack.triggersActionsUI.sections.manageLicense.manageLicenseConfirmButtonText": "ライセンスの管理", "xpack.triggersActionsUI.sections.manageLicense.manageLicenseMessage": "ルールタイプ{alertTypeId}は無効です。{licenseRequired}ライセンスが必要です。アップグレードオプションを表示するには、[ライセンス管理]に移動してください。", @@ -26765,7 +27882,7 @@ "xpack.uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlPreviewHelpText": "プレビュー\\{\\{event.*\\}\\}では、変数にダミー値が代入されます。", "xpack.uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlPreviewLabel": "URLプレビュー:", "xpack.uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlPreviewLinkText": "プレビュー", - "xpack.uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlTemplateLabel": "URLを入力:", + "xpack.uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlTemplateLabel": "URLを入力", "xpack.uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlTemplatePlaceholderText": "例:{exampleUrl}", "xpack.uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlTemplateSyntaxHelpLinkText": "構文ヘルプ", "xpack.uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlTemplateVariablesFilterPlaceholderText": "変数をフィルター", @@ -26789,12 +27906,22 @@ "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexButton.runReindexLabel": "再インデックスの開始", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexButton.tryAgainLabel": "再試行", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexDescription": "再インデックス中はインデックスが読み取り専用です。再インデックスが完了するまでは、ドキュメントの追加、更新、削除ができません。新しいクラスターを再インデックスする必要がある場合は、再インデックスAPIを使用します。{docsLink}", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.aliasCreatedStepTitle": "{reindexName}インデックスの{indexName}エイリアスを作成します。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.aliasesUpdatedStepTitle": "{reindexName}インデックスを参照する{existingAliases}エイリアスを更新します。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelButton.cancelLabel": "キャンセル", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelButton.cancelledLabel": "キャンセル済み", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelButton.cancellingLabel": "キャンセル中…", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelButton.errorLabel": "キャンセルできませんでした", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelledTitle": "再インデックスはキャンセルされました。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.createIndexStepTitle": "{reindexName}インデックスを作成します。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.aliasCreatedStepTitle": "{reindexName}インデックスの{indexName}エイリアスを作成しています。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.aliasesUpdatedStepTitle": "{reindexName}インデックスを参照する{existingAliases}エイリアスを更新しています。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.createIndexStepTitle": "{reindexName}インデックスを作成しています。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.originalIndexDeletedStepTitle": "元の{indexName}インデックスを削除しています。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.readonlyStepTitle": "{indexName}インデックスを読み取り専用に設定しています。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.reindexingDocumentsStepTitle": "ドキュメントを再インデックスしています。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.originalIndexDeletedStepTitle": "元の{indexName}インデックスを削除します。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.readonlyStepTitle": "{indexName}インデックスを読み取り専用に設定します。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.reindexingDocumentsStepTitle": "ドキュメントのインデックスを作成します。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklistTitle": "プロセスを再インデックス中", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingFailedCalloutTitle": "再インデックスエラー", @@ -26809,6 +27936,8 @@ "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.destructiveCallout.calloutDetail": "続行する前に、インデックスをバックアップしてください。再インデックスを続行するには、各変更を承諾してください。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.destructiveCallout.calloutTitle": "このインデックスには元に戻すことのできない破壊的な変更が含まれています", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.documentationLinkLabel": "ドキュメント", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.replaceIndexWithAliasWarningDetail": "以前のように{indexName}を検索できます。データを削除するには、{reindexName}を削除する必要があります", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.replaceIndexWithAliasWarningTitle": "{indexName}インデックスを{reindexName}で置換し、{indexName}インデックスを作成", "xpack.upgradeAssistant.deprecationBadge.criticalBadgeLabel": "重大", "xpack.upgradeAssistant.deprecationBadge.resolvedBadgeLabel": "解決済み", "xpack.upgradeAssistant.deprecationBadge.warningBadgeLabel": "警告", @@ -26869,7 +27998,7 @@ "xpack.upgradeAssistant.esDeprecations.mlSnapshots.upgradeModeEnabledErrorDescription": "アップグレードモードが有効なときには、機械学習スナップショットに対してアクションを実行できません{docsLink}。", "xpack.upgradeAssistant.esDeprecations.mlSnapshots.upgradeModeEnabledErrorTitle": "機械学習アップグレードモードが有効です", "xpack.upgradeAssistant.esDeprecations.nodeDeprecationTypeLabel": "ノード", - "xpack.upgradeAssistant.esDeprecations.pageDescription": "アップグレード前に重要な問題をすべて解決してください。変更を行う前に、クラスターの現在のスナップショットがあることを確認してください。7.0より前に作成されたインデックスは再インデックスするか削除する必要があります。", + "xpack.upgradeAssistant.esDeprecations.pageDescription": "アップグレード前に重要な問題をすべて解決してください。変更を行う前に、クラスターの現在のスナップショットがあることを確認してください。機械学習データを格納するために使用されるインデックスなどの非表示のインデックスを含む、7.0より前に作成されたインデックスは再作成または削除されます。", "xpack.upgradeAssistant.esDeprecations.pageTitle": "Elasticsearchの廃止予定の問題", "xpack.upgradeAssistant.esDeprecations.reindex.manualCellTooltipLabel": "この問題は自動的に解決する必要があります。", "xpack.upgradeAssistant.esDeprecations.reindex.reindexCanceledText": "再インデックスはキャンセルされました", @@ -26933,6 +28062,7 @@ "xpack.upgradeAssistant.kibanaDeprecations.table.unknownDeprecationTypeCellLabel": "未分類", "xpack.upgradeAssistant.levelInfoTip.criticalLabel": "アップグレード前に、重大な問題を解決する必要があります", "xpack.upgradeAssistant.levelInfoTip.warningLabel": "警告の問題は独自の裁量で無視できます", + "xpack.upgradeAssistant.ml_snapshots.modelSnapshotUpgradeFailed": "このモデルスナップショットのアップグレード処理が失敗しました。詳細については、Elasticsearchログを確認してください。", "xpack.upgradeAssistant.noDeprecationsMessage": "問題なし", "xpack.upgradeAssistant.noDeprecationsPrompt.description": "{deprecationType}構成は最新です", "xpack.upgradeAssistant.noDeprecationsPrompt.nextStepsDescription": "他のスタック廃止予定については、{overviewButton}を確認してください。", @@ -26962,15 +28092,19 @@ "xpack.upgradeAssistant.overview.deprecationLogs.updateErrorMessage": "ログ状態を更新できませんでした。", "xpack.upgradeAssistant.overview.deprecationsCountCheckpointTitle": "廃止予定の問題を解決して変更を検証", "xpack.upgradeAssistant.overview.documentationLinkText": "ドキュメント", + "xpack.upgradeAssistant.overview.errorLoadingUpgradeStatus": "アップグレードステータスの取得中にエラーが発生しました", "xpack.upgradeAssistant.overview.esDeprecationLogsLink": "Elasticsearchの廃止予定ログ", "xpack.upgradeAssistant.overview.fixIssuesStepDescription": "Elastic 8.xにアップグレードする前に、重大なElasticsearchおよびKibana構成の問題を解決する必要があります。警告を無視すると、アップグレード後に動作が変更される場合があります。{accessDeprecationLogsMessage}", "xpack.upgradeAssistant.overview.fixIssuesStepTitle": "廃止予定設定を確認し、問題を解決", "xpack.upgradeAssistant.overview.loadingLogsLabel": "廃止予定ログ収集状態を読み込んでいます...", + "xpack.upgradeAssistant.overview.loadingUpgradeStatus": "アップグレードステータスを読み込んでいます", "xpack.upgradeAssistant.overview.observe.discoveryDescription": "廃止予定ログを検索およびフィルターし、必要な変更のタイプを把握します。", "xpack.upgradeAssistant.overview.observe.observabilityDescription": "使用中のAPIのうち廃止予定のAPIと、更新が必要なアプリケーションを特定できます。", "xpack.upgradeAssistant.overview.pageDescription": "次のバージョンのElasticをお待ちください。", "xpack.upgradeAssistant.overview.pageTitle": "アップグレードアシスタント", "xpack.upgradeAssistant.overview.snapshotRestoreLink": "スナップショットの作成", + "xpack.upgradeAssistant.overview.systemIndices.body": "アップグレードの内部情報を格納するシステムインデックスを準備します。インデックスを再作成する必要があるすべての{hiddenIndicesLink}は次のステップで表示されます。", + "xpack.upgradeAssistant.overview.systemIndices.body.hiddenIndicesLink": "非表示のインデックス", "xpack.upgradeAssistant.overview.systemIndices.errorLabel": "移行失敗", "xpack.upgradeAssistant.overview.systemIndices.featureNameTableColumn": "機能", "xpack.upgradeAssistant.overview.systemIndices.flyoutCloseButtonLabel": "閉じる", @@ -26990,6 +28124,7 @@ "xpack.upgradeAssistant.overview.systemIndices.title": "システムインデックスの移行", "xpack.upgradeAssistant.overview.systemIndices.viewSystemIndicesStatus": "移行詳細を表示", "xpack.upgradeAssistant.overview.upgradeGuideLink": "アップグレードガイドを表示", + "xpack.upgradeAssistant.overview.upgradeStatus.retryButton": "再試行", "xpack.upgradeAssistant.overview.upgradeStepCloudLink": "クラウドでアップグレード", "xpack.upgradeAssistant.overview.upgradeStepDescription": "重要な問題をすべて解決し、アプリケーションの準備を確認した後に、Elastic 8.xにアップグレードできます。アップグレードする前に、必ずもう一度データをバックアップしたことを確認してください。", "xpack.upgradeAssistant.overview.upgradeStepDescriptionForCloud": "重要な問題をすべて解決し、アプリケーションの準備を確認した後に、Elastic 8.xにアップグレードできます。アップグレードする前に、必ずもう一度データをバックアップしたことを確認してください。Elastic Cloudでデプロイをアップグレードします。", @@ -27012,6 +28147,7 @@ "xpack.uptime.addDataButtonLabel": "データの追加", "xpack.uptime.addMonitor.pageHeader.title": "モニターを追加", "xpack.uptime.addMonitorRoute.title": "モニターを追加 | {baseTitle}", + "xpack.uptime.alertDropdown.noWritePermissions": "このアプリでアラートを作成するには、アップタイムへの読み書きアクセス権が必要です。", "xpack.uptime.alerts.anomaly.criteriaExpression.ariaLabel": "選択したモニターの条件を表示する式。", "xpack.uptime.alerts.anomaly.criteriaExpression.description": "監視するとき", "xpack.uptime.alerts.anomaly.scoreExpression.ariaLabel": "異常アラートしきい値の条件を表示する式。", @@ -27032,8 +28168,11 @@ "xpack.uptime.alerts.durationAnomaly.description": "アップタイム監視期間が異常なときにアラートを発行します。", "xpack.uptime.alerts.monitorExpression.label": "フィルター{title}を削除", "xpack.uptime.alerts.monitorStatus": "稼働状況の監視ステータス", + "xpack.uptime.alerts.monitorStatus.actionVariables.availabilityMessage": "{interval}の可用性は{availabilityRatio}%です。{expectedAvailability}%未満のときにアラートを発行します。", "xpack.uptime.alerts.monitorStatus.actionVariables.context.downMonitorsWithGeo.description": "アラートによって「ダウン」と検知された一部またはすべてのモニターを示す、生成された概要。", "xpack.uptime.alerts.monitorStatus.actionVariables.context.message.description": "現在ダウンしているモニターを要約する生成されたメッセージ。", + "xpack.uptime.alerts.monitorStatus.actionVariables.down": "過去{interval}に{count}回失敗しました。{numTimes}を超えるとアラートを発行します。", + "xpack.uptime.alerts.monitorStatus.actionVariables.downAndAvailabilityMessage": "{downMonitorsMessage} {availabilityBreachMessage}", "xpack.uptime.alerts.monitorStatus.actionVariables.state.currentTriggerStarted": "アラートがトリガーされた場合、現在のトリガー状態が開始するときを示すタイムスタンプ", "xpack.uptime.alerts.monitorStatus.actionVariables.state.firstCheckedAt": "このアラートが最初に確認されるときを示すタイムスタンプ", "xpack.uptime.alerts.monitorStatus.actionVariables.state.firstTriggeredAt": "このアラートが最初にトリガーされたときを示すタイムスタンプ", @@ -27066,6 +28205,7 @@ "xpack.uptime.alerts.monitorStatus.availability.unit.headline": "時間範囲単位を選択します", "xpack.uptime.alerts.monitorStatus.availability.unit.selectable": "この選択を使用して、このアラートの可用性範囲単位を設定", "xpack.uptime.alerts.monitorStatus.clientName": "稼働状況の監視ステータス", + "xpack.uptime.alerts.monitorStatus.defaultActionMessage": "{observerLocation}からのurl {monitorUrl}のモニター{monitorName} {statusMessage} 最新のエラーメッセージは{latestErrorMessage}", "xpack.uptime.alerts.monitorStatus.description": "監視が停止しているか、可用性しきい値に違反したときにアラートを発行します。", "xpack.uptime.alerts.monitorStatus.filterBar.ariaLabel": "監視状態アラートのフィルター基準を許可するインプット", "xpack.uptime.alerts.monitorStatus.filters.anyLocation": "任意の場所", @@ -27107,6 +28247,7 @@ "xpack.uptime.alerts.monitorStatus.timerangeValueField.expression": "within", "xpack.uptime.alerts.monitorStatus.timerangeValueField.value": "最終{value}", "xpack.uptime.alerts.searchPlaceholder.kql": "KQL構文を使用してフィルタリング", + "xpack.uptime.alerts.settings.addConnector": "コネクターの追加", "xpack.uptime.alerts.timerangeUnitSelectable.daysOption.ariaLabel": "「日」の時間範囲選択項目", "xpack.uptime.alerts.timerangeUnitSelectable.hoursOption.ariaLabel": "「時間」の時間範囲選択項目", "xpack.uptime.alerts.timerangeUnitSelectable.minutesOption.ariaLabel": "「分」の時間範囲選択項目", @@ -27267,6 +28408,7 @@ "xpack.uptime.createPackagePolicy.stepConfigure.httpAdvancedOptions.responseConfiguration.title": "応答構成", "xpack.uptime.createPackagePolicy.stepConfigure.httpAdvancedOptions.responseHeadersField.error": "ヘッダーキーは有効なHTTPトークンでなければなりません。", "xpack.uptime.createPackagePolicy.stepConfigure.httpAdvancedOptions.responseHeadersField.helpText": "想定されている応答ヘッダーのリスト。", + "xpack.uptime.createPackagePolicy.stepConfigure.icmpAdvancedOptions": "詳細ICMPオプション", "xpack.uptime.createPackagePolicy.stepConfigure.inputVarFieldOptionalLabel": "オプション", "xpack.uptime.createPackagePolicy.stepConfigure.monitorIntegrationSettingsSection.APMServiceName.helpText": "このモニターのAPMサービス名。service.name ECSフィールドに対応します。APMを使用して、アップタイムとKibanaのAPMデータ間の統合を有効にするアプリを監視しているときには、これを設定します。", "xpack.uptime.createPackagePolicy.stepConfigure.monitorIntegrationSettingsSection.APMServiceName.label": "APMサービス名", @@ -27367,6 +28509,7 @@ "xpack.uptime.emptyStateError.notAuthorized": "アップタイムデータの表示が承認されていません。システム管理者にお問い合わせください。", "xpack.uptime.emptyStateError.notFoundPage": "ページが見つかりません", "xpack.uptime.emptyStateError.title": "エラー", + "xpack.uptime.enableAlert.editAlert": "アラートを編集", "xpack.uptime.featureRegistry.uptimeFeatureName": "アップタイム", "xpack.uptime.filterBar.ariaLabel": "概要ページのインプットフィルター基準", "xpack.uptime.filterBar.filterAllLabel": "すべて", @@ -27415,8 +28558,10 @@ "xpack.uptime.ml.enableAnomalyDetectionPanel.manageMLJobDescription": "ジョブの作成後、{mlJobsPageLink} でそれを管理し、詳細を確認できます。", "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.monitor.simpleStatusAlert.email.subject": "url {url}のモニター{monitor}はダウンしています", "xpack.uptime.monitorCharts.durationChart.leftAxis.title": "期間({unit})", "xpack.uptime.monitorCharts.durationChart.wrapper.label": "場所でグループ化された、モニターのping期間を示すグラフ。", "xpack.uptime.monitorCharts.monitorDuration.titleLabel": "監視期間", @@ -27460,6 +28605,7 @@ "xpack.uptime.monitorList.infraIntegrationAction.kubernetes.tooltip": "ポッド UID「{podUid}」のインフラストラクチャ UI を確認します。", "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.container.tooltip": "コンテナー ID「{containerId}」のロギング UI を確認します", @@ -27502,11 +28648,65 @@ "xpack.uptime.monitorList.tags.expand": "クリックすると、残りのタグが表示されます", "xpack.uptime.monitorList.tags.filter": "タグ {tag} ですべての監視をフィルター", "xpack.uptime.monitorList.tlsColumnLabel": "TLS 証明書", + "xpack.uptime.monitorManagement.addMonitorCrumb": "モニターを追加", + "xpack.uptime.monitorManagement.addMonitorError": "サービスの場所を読み込めませんでした。しばらくたってから再試行してください。", + "xpack.uptime.monitorManagement.addMonitorLabel": "モニターを追加", + "xpack.uptime.monitorManagement.addMonitorLoadingError": "モニター管理の読み込みエラー", + "xpack.uptime.monitorManagement.addMonitorLoadingLabel": "モニター管理を読み込んでいます", + "xpack.uptime.monitorManagement.addMonitorServiceLocationsLoadingError": "サービスの場所を読み込めませんでした。しばらくたってから再試行してください。", + "xpack.uptime.monitorManagement.completed": "完了", + "xpack.uptime.monitorManagement.deleteMonitorLabel": "モニターの削除", + "xpack.uptime.monitorManagement.disableMonitorLabel": "モニターを無効にする", "xpack.uptime.monitorManagement.discardLabel": "破棄", + "xpack.uptime.monitorManagement.duplicateNameError": "モニター名はすでに存在します。", + "xpack.uptime.monitorManagement.editMonitorCrumb": "モニターを編集", + "xpack.uptime.monitorManagement.editMonitorError": "モニター管理の読み込みエラー", + "xpack.uptime.monitorManagement.editMonitorErrorBody": "モニター構成を読み込めませんでした。しばらくたってから再試行してください。", "xpack.uptime.monitorManagement.editMonitorLabel": "モニターを編集", + "xpack.uptime.monitorManagement.editMonitorLoadingLabel": "モニターを読み込んでいます", + "xpack.uptime.monitorManagement.enableMonitorLabel": "モニターを有効にする", + "xpack.uptime.monitorManagement.failedRun": "ステップを実行できませんでした", + "xpack.uptime.monitorManagement.inProgress": "進行中", + "xpack.uptime.monitorManagement.loadingSteps": "ステップを読み込んでいます...", + "xpack.uptime.monitorManagement.monitorAddedSuccessMessage": "モニターが正常に追加されました。", + "xpack.uptime.monitorManagement.monitorAdvancedOptions.dataStreamConfiguration.description": "追加のデータストリームオプションを構成します。", + "xpack.uptime.monitorManagement.monitorAdvancedOptions.dataStreamConfiguration.title": "データストリーム設定", + "xpack.uptime.monitorManagement.monitorAdvancedOptions.monitorNamespaceFieldLabel": "名前空間", + "xpack.uptime.monitorManagement.monitorAdvancedOptions.namespaceHelpLabel": "デフォルト名前空間を変更します。この設定により、モニターのデータストリームの名前が変更されます。{learnMore}。", + "xpack.uptime.monitorManagement.monitorAdvancedOptions.namespaceHelpLearnMoreLabel": "詳細情報", + "xpack.uptime.monitorManagement.monitorDeleteFailureMessage": "モニターを削除できませんでした。しばらくたってから再試行してください。", + "xpack.uptime.monitorManagement.monitorDeleteLoadingMessage": "モニターを削除しています...", + "xpack.uptime.monitorManagement.monitorDeleteSuccessMessage": "モニターが正常に削除されました。", + "xpack.uptime.monitorManagement.monitorDisabledSuccessMessage": "モニター{name}は正常に無効にされました。", + "xpack.uptime.monitorManagement.monitorEditedSuccessMessage": "モニターは正常に更新されました。", + "xpack.uptime.monitorManagement.monitorEnabledSuccessMessage": "モニター{name}は正常に有効にされました。", + "xpack.uptime.monitorManagement.monitorEnabledUpdateFailureMessage": "モニター{name}を更新できません。", "xpack.uptime.monitorManagement.monitorFailureMessage": "モニターを保存できませんでした。しばらくたってから再試行してください。", + "xpack.uptime.monitorManagement.monitorList.actions": "アクション", + "xpack.uptime.monitorManagement.monitorList.enabled": "有効", + "xpack.uptime.monitorManagement.monitorList.locations": "場所", + "xpack.uptime.monitorManagement.monitorList.monitorName": "モニター名", + "xpack.uptime.monitorManagement.monitorList.monitorType": "モニタータイプ", + "xpack.uptime.monitorManagement.monitorList.schedule": "スケジュール", + "xpack.uptime.monitorManagement.monitorList.tags": "タグ", + "xpack.uptime.monitorManagement.monitorList.title": "モニター管理リスト", + "xpack.uptime.monitorManagement.monitorList.URL": "URL", + "xpack.uptime.monitorManagement.monitorLocationsLabel": "モニターの場所", + "xpack.uptime.monitorManagement.monitorManagementCrumb": "モニター管理", + "xpack.uptime.monitorManagement.monitorNameFieldError": "モニター名は必須です", + "xpack.uptime.monitorManagement.monitorNameFieldLabel": "モニター名", + "xpack.uptime.monitorManagement.pageHeader.title": "モニターの管理", + "xpack.uptime.monitorManagement.pending": "保留中", + "xpack.uptime.monitorManagement.reRunTest": "テストの再実行", + "xpack.uptime.monitorManagement.runTest": "テストの実行", "xpack.uptime.monitorManagement.saveMonitorLabel": "モニターを保存", + "xpack.uptime.monitorManagement.serviceLocationsValidationError": "1つ以上のサービスの場所を指定する必要があります", + "xpack.uptime.monitorManagement.testResult": "テスト結果", + "xpack.uptime.monitorManagement.timeTaken": "かかった時間{timeTaken}", + "xpack.uptime.monitorManagement.updateMonitorLabel": "モニターの更新", "xpack.uptime.monitorManagement.validationError": "モニターにはエラーがあります。保存前に修正してください。", + "xpack.uptime.monitorManagement.viewTestRunDetails": "テスト結果詳細を表示", + "xpack.uptime.monitorManagementRoute.title": "モニターの管理 | {baseTitle}", "xpack.uptime.monitorRoute.title": "モニター | {baseTitle}", "xpack.uptime.monitorStatusBar.durationTextAriaLabel": "ミリ秒単位の監視時間", "xpack.uptime.monitorStatusBar.healthStatusMessageAriaLabel": "監視ステータス", @@ -27529,7 +28729,7 @@ "xpack.uptime.navigateToAlertingButton.content": "ルールの管理", "xpack.uptime.navigateToAlertingUi": "Uptime を離れてアラート管理ページに移動します", "xpack.uptime.noDataConfig.beatsCard.description": "サイトとサービスの可用性をアクティブに監視するアラートを受信し、問題をより迅速に解決して、ユーザーエクスペリエンスを最適化します。", - "xpack.uptime.noDataConfig.beatsCard.title": "Elastic Synthetics統合でモニターを追加", + "xpack.uptime.noDataConfig.beatsCard.title": "Heartbeatでモニターを追加", "xpack.uptime.noDataConfig.solutionName": "Observability", "xpack.uptime.notFountPage.homeLinkText": "ホームへ戻る", "xpack.uptime.openAlertContextPanel.ariaLabel": "ルールコンテキストパネルを開くと、ルールタイプを選択できます", @@ -27548,10 +28748,12 @@ "xpack.uptime.overviewPageLink.disabled.ariaLabel": "無効になったページ付けボタンです。モニターリストがこれ以上ナビゲーションできないことを示しています。", "xpack.uptime.overviewPageLink.next.ariaLabel": "次の結果ページ", "xpack.uptime.overviewPageLink.prev.ariaLabel": "前の結果ページ", - "xpack.uptime.page_header.addDataLink.label": "Elastic Synthetics統合に移動して、アップタイムデータを追加", + "xpack.uptime.page_header.addDataLink.label": "アップタイムデータの追加に関するチュートリアルに移動", "xpack.uptime.page_header.analyzeData.label": "[データの探索]ビューに移動して、合成/ユーザーデータを可視化", "xpack.uptime.page_header.defineConnector.popover.defaultLink": "デフォルトのコネクターを定義", "xpack.uptime.page_header.defineConnector.settingsLink": "設定", + "xpack.uptime.page_header.manageLink": "モニター管理", + "xpack.uptime.page_header.manageLink.label": "アップタイムモニター管理ページに移動", "xpack.uptime.page_header.settingsLink": "設定", "xpack.uptime.page_header.settingsLink.label": "アップタイム設定ページに移動", "xpack.uptime.pingHistogram.analyze": "分析", @@ -27579,6 +28781,7 @@ "xpack.uptime.pingList.recencyMessage": "最終確認 {fromNow}", "xpack.uptime.pingList.responseCodeColumnLabel": "応答コード", "xpack.uptime.pingList.statusColumnLabel": "ステータス", + "xpack.uptime.pingList.stepDurationHeader": "ステップ期間", "xpack.uptime.pingList.synthetics.performanceBreakDown": "パフォーマンスの内訳を表示", "xpack.uptime.pingList.synthetics.waterfall.filters.collapseRequestsLabel": "折りたたむと、一致する要求のみが表示されます", "xpack.uptime.pingList.synthetics.waterfall.filters.popover": "クリックすると、ウォーターフォールフィルターが開きます", @@ -27617,6 +28820,10 @@ "xpack.uptime.sourceConfiguration.ageLimitThresholdInput.ariaLabel": "TLS証明書が有効である最大日数を制御するインプット。この期間を過ぎると、Kibanaで警告が表示されます。", "xpack.uptime.sourceConfiguration.ageThresholdDefaultValue": "デフォルト値は{defaultValue}です", "xpack.uptime.sourceConfiguration.alertConnectors": "アラートコネクター", + "xpack.uptime.sourceConfiguration.alertConnectors.defaultEmail": "デフォルトの電子メールアドレス", + "xpack.uptime.sourceConfiguration.alertDefaultForm.emailConnectorPlaceHolder": "終了:電子メールコネクターの電子メールアドレス", + "xpack.uptime.sourceConfiguration.alertDefaultForm.invalidEmail": "{val}は有効な電子メールアドレスではありません。", + "xpack.uptime.sourceConfiguration.alertDefaultForm.requiredEmail": "電子メールコネクターには宛先電子メールアドレスが必須です", "xpack.uptime.sourceConfiguration.alertDefaultForm.selectConnector": "1つ以上のコネクターを選択してください", "xpack.uptime.sourceConfiguration.alertDefaults": "アラートデフォルト", "xpack.uptime.sourceConfiguration.applySettingsButtonLabel": "変更を適用", @@ -27625,6 +28832,7 @@ "xpack.uptime.sourceConfiguration.certificationSectionTitle": "証明書の有効期限", "xpack.uptime.sourceConfiguration.defaultConnectors": "デフォルトコネクター", "xpack.uptime.sourceConfiguration.defaultConnectors.description": "アラートを送信するために使用されるデフォルトコネクター。", + "xpack.uptime.sourceConfiguration.defaultConnectors.description.defaultEmail": "選択した電子メールアラートコネクターには電子メール設定が必須です。", "xpack.uptime.sourceConfiguration.discardSettingsButtonLabel": "キャンセル", "xpack.uptime.sourceConfiguration.errorStateLabel": "有効期限しきい値", "xpack.uptime.sourceConfiguration.expirationThreshold": "有効期限/使用期間しきい値", @@ -27729,6 +28937,10 @@ "xpack.uptime.synthetics.waterfallChart.labels.timings.ssl": "TLS", "xpack.uptime.synthetics.waterfallChart.labels.timings.wait": "待機中(TTFB)", "xpack.uptime.syntheticsMonitors": "アップタイム - モニター", + "xpack.uptime.testRun.description": "モニターをテストし、保存する前に結果を検証します", + "xpack.uptime.testRun.pushError": "モニターをサービスにプッシュできませんでした。", + "xpack.uptime.testRun.pushErrorLabel": "プッシュエラー", + "xpack.uptime.testRun.pushing.description": "モニターをサービスにプッシュしています...", "xpack.uptime.title": "アップタイム", "xpack.uptime.toggleAlertButton.content": "監視ステータスルール", "xpack.uptime.toggleAlertFlyout.ariaLabel": "ルールの追加フライアウトを開く", @@ -28115,4 +29327,4 @@ "xpack.watcher.watchEdit.thresholdWatchExpression.aggType.fieldIsRequiredValidationMessage": "フィールドを選択してください。", "xpack.watcher.watcherDescription": "アラートの作成、管理、監視によりデータへの変更を検知します。" } -} \ 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 a26abde5f10a69..bfe694b73bc5ad 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -111,6 +111,8 @@ "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 ", "xpack.lens.indexPattern.overall_sum.documentation.markdown": "\n计算当前图表中序列所有数据点的指标的和。序列由维度使用 Date Histogram 或时间间隔函数定义。\n分解数据的其他维度,如排名最前值或筛选,将被视为不同的序列。\n\n如果当前图表未使用 Date Histogram 或时间间隔函数,则无论使用什么函数,`overall_sum` 都将计算所有维度的和。\n\n例如:总计的百分比\n`sum(bytes) / overall_sum(sum(bytes))`\n ", "xpack.lens.indexPattern.percentile.documentation.markdown": "\n返回字段的值的指定百分位数。文档中百分之 n 的值比此值小。\n\n例如:获取大于 95 % 的值的字节数:\n`percentile(bytes, percentile=95)`\n ", + "xpack.lens.advancedSettings.useFieldExistenceSampling.description": "如果启用,文档采样将用于确定 Lens 字段列表中的字段是否存在(可用或为空),而不依赖索引映射。", + "xpack.lens.advancedSettings.useFieldExistenceSampling.title": "使用字段存在采样", "xpack.lens.app.addToLibrary": "保存到库", "xpack.lens.app.cancel": "取消", "xpack.lens.app.cancelButtonAriaLabel": "返回到上一个应用而不保存更改", @@ -136,9 +138,12 @@ "xpack.lens.breadcrumbsByValue": "编辑可视化", "xpack.lens.breadcrumbsCreate": "创建", "xpack.lens.breadcrumbsTitle": "Visualize 库", + "xpack.lens.chart.labelVisibility.auto": "自动", + "xpack.lens.chart.labelVisibility.custom": "定制", + "xpack.lens.chart.labelVisibility.none": "无", "xpack.lens.chartSwitch.dataLossDescription": "选择此可视化类型将移除不兼容的配置选项和多个图层(如果存在)", "xpack.lens.chartSwitch.dataLossLabel": "警告", - "xpack.lens.chartSwitch.experimentalLabel": "实验性", + "xpack.lens.chartSwitch.experimentalLabel": "技术预览", "xpack.lens.chartSwitch.noResults": "找不到 {term} 的结果。", "xpack.lens.chartTitle.unsaved": "未保存的可视化", "xpack.lens.chartWarnings.number": "{warningsCount} 个{warningsCount, plural, other {警告}}", @@ -155,6 +160,10 @@ "xpack.lens.configure.invalidConfigTooltip": "配置无效。", "xpack.lens.configure.invalidConfigTooltipClick": "单击了解更多详情。", "xpack.lens.configure.invalidReferenceLineDimension": "此参考线分配给了不再存在的轴。您可以将此参考线移到其他可用的轴,或将其移除。", + "xpack.lens.configure.suggestedValuee": "建议值:{value}", + "xpack.lens.confirmModal.cancelButtonLabel": "取消", + "xpack.lens.confirmModal.saveDuplicateButtonLabel": "保存“{name}”", + "xpack.lens.confirmModal.saveDuplicateConfirmationMessage": "具有标题“{title}”的 {name} 已存在。是否确定要保存?", "xpack.lens.customBucketContainer.dragToReorder": "拖动以重新排序", "xpack.lens.dataPanelWrapper.switchDatasource": "切换到数据源", "xpack.lens.datatable.addLayer": "添加可视化图层", @@ -164,7 +173,7 @@ "xpack.lens.datatable.breakdownRows.description": "按字段拆分表行。建议将其用于高基数分解。", "xpack.lens.datatable.conjunctionSign": " & ", "xpack.lens.datatable.expressionHelpLabel": "数据表呈现器", - "xpack.lens.datatable.groupLabel": "表和单值", + "xpack.lens.datatable.groupLabel": "表格", "xpack.lens.datatable.label": "表", "xpack.lens.datatable.metrics": "指标", "xpack.lens.datatable.suggestionLabel": "作为表", @@ -187,6 +196,9 @@ "xpack.lens.dragDrop.altOption": "Alt/Option 键", "xpack.lens.dragDrop.announce.cancelled": "移动已取消。{label} 将返回至其初始位置", "xpack.lens.dragDrop.announce.cancelledItem": "移动已取消。{label} 返回至 {groupLabel} 组中的位置 {position}", + "xpack.lens.dragDrop.announce.combine.short": " 按住 Control 键组合", + "xpack.lens.dragDrop.announce.dropped.combineCompatible": "已将 {label} 组合到 {dropGroupLabel} 中的位置 {dropPosition} 并将 {dropLabel} 组合到组 {groupLabel} 中的位置 {position}", + "xpack.lens.dragDrop.announce.dropped.combineIncompatible": "已将 {label} 转换为组 {groupLabel} 中位置 {position} 上的 {nextLabel},并与组 {dropGroupLabel} 中位置 {dropPosition} 上的 {dropLabel} 组合", "xpack.lens.dragDrop.announce.dropped.duplicated": "已在 {groupLabel} 组中的位置 {position} 复制 {label}", "xpack.lens.dragDrop.announce.dropped.duplicateIncompatible": "已将 {label} 的副本转换为 {nextLabel} 并添加 {groupLabel} 组中的位置 {position}", "xpack.lens.dragDrop.announce.dropped.moveCompatible": "已将 {label} 移到 {groupLabel} 组中的位置 {position}", @@ -199,9 +211,14 @@ "xpack.lens.dragDrop.announce.droppedDefault": "已将 {label} 添加到 {dropGroupLabel} 组中的位置 {position}", "xpack.lens.dragDrop.announce.droppedNoPosition": "已将 {label} 添加到 {dropLabel}", "xpack.lens.dragDrop.announce.duplicate.short": " 按住 alt 或 option 键以复制。", + "xpack.lens.dragDrop.announce.duplicated.combine": "将 {dropLabel} 与 {groupLabel} 中位置 {position} 上的 {label} 组合", "xpack.lens.dragDrop.announce.duplicated.replace": "已将 {groupLabel} 组中位置 {position} 上的 {dropLabel} 替换为 {label}", "xpack.lens.dragDrop.announce.duplicated.replaceDuplicateCompatible": "已将 {groupLabel} 组中位置 {position} 上的 {dropLabel} 替换为 {label} 的副本", "xpack.lens.dragDrop.announce.lifted": "已提升 {label}", + "xpack.lens.dragDrop.announce.selectedTarget.combine": "将 {dropGroupLabel} 组中位置 {dropPosition} 上的 {dropLabel} 与 {label} 组合。按空格键或 enter 键组合。", + "xpack.lens.dragDrop.announce.selectedTarget.combineCompatible": "将组 {groupLabel} 中位置 {position} 上的 {label} 与组 {dropGroupLabel} 中位置 {dropPosition} 上的 {dropLabel} 组合。按住 Control 键并按空格键或 enter 键组合", + "xpack.lens.dragDrop.announce.selectedTarget.combineIncompatible": "将 {label} 转换为组 {groupLabel} 中位置 {position} 上的 {nextLabel},并与组 {dropGroupLabel} 中位置 {dropPosition} 上的 {dropLabel} 组合。按住 Control 键并按空格键或 enter 键组合", + "xpack.lens.dragDrop.announce.selectedTarget.combineMain": "您正将 {groupLabel} 中位置 {position} 上的{label} 拖到 {dropGroupLabel} 组中位置 {dropPosition} 上的 {dropLabel}。按空格键或 enter 键以将 {dropLabel} 与 {label} 组合。{duplicateCopy}{swapCopy}{combineCopy}", "xpack.lens.dragDrop.announce.selectedTarget.default": "将 {label} 添加到 {dropGroupLabel} 组中的位置 {position}。按空格键或 enter 键添加", "xpack.lens.dragDrop.announce.selectedTarget.defaultNoPosition": "将 {label} 添加到 {dropLabel}。按空格键或 enter 键添加", "xpack.lens.dragDrop.announce.selectedTarget.duplicated": "将 {label} 复制到 {dropGroupLabel} 组中的位置 {position}。按住 Alt 或 Option 并按空格键或 enter 键以复制", @@ -223,12 +240,33 @@ "xpack.lens.dragDrop.announce.selectedTarget.swapCompatible": "将组 {groupLabel} 中位置 {position} 上的 {label} 与组 {dropGroupLabel} 中位置 {dropPosition} 上的 {dropLabel} 交换。按住 Shift 键并按空格键或 enter 键交换", "xpack.lens.dragDrop.announce.selectedTarget.swapIncompatible": "将 {label} 转换为组 {groupLabel} 中位置 {position} 上的 {nextLabel},并与组 {dropGroupLabel} 中位置 {dropPosition} 上的 {dropLabel} 交换。按住 Shift 键并按空格键或 enter 键交换", "xpack.lens.dragDrop.announce.swap.short": " 按住 Shift 键交换。", + "xpack.lens.dragDrop.combine": "组合", + "xpack.lens.dragDrop.control": "Control 键", "xpack.lens.dragDrop.duplicate": "复制", "xpack.lens.dragDrop.keyboardInstructions": "按空格键或 enter 键开始拖动。拖动时,请左右箭头键在拖动目标之间移动。再次按空格键或 enter 键结束操作。", "xpack.lens.dragDrop.keyboardInstructionsReorder": "按空格键或 enter 键开始拖动。拖动时,请使用上下箭头键重新排列组中的项目,使用左右箭头键在组之外选择拖动目标。再次按空格键或 enter 键结束操作。", "xpack.lens.dragDrop.shift": "Shift 键", "xpack.lens.dragDrop.swap": "交换", + "xpack.lens.dynamicColoring.customPalette.addColor": "添加颜色", + "xpack.lens.dynamicColoring.customPalette.addColorAriaLabel": "添加颜色", "xpack.lens.dynamicColoring.customPalette.deleteButtonAriaLabel": "删除", + "xpack.lens.dynamicColoring.customPalette.disallowedEditMinMaxValues": "无法为当前配置设置定制值", + "xpack.lens.dynamicColoring.customPalette.distributeValues": "分配值", + "xpack.lens.dynamicColoring.customPalette.distributeValuesAriaLabel": "分配值", + "xpack.lens.dynamicColoring.customPalette.invalidMaxValue": "最大值必须大于之前的值", + "xpack.lens.dynamicColoring.customPalette.invalidValueOrColor": "至少一个颜色范围包含错误的值或颜色", + "xpack.lens.dynamicColoring.customPalette.maximumStepsApplied": "您已应用最大步数", + "xpack.lens.dynamicColoring.customPalette.maxValuePlaceholder": "最大值", + "xpack.lens.dynamicColoring.customPalette.minValuePlaceholder": "最小值", + "xpack.lens.dynamicColoring.customPalette.oneColorRange": "需要多种颜色", + "xpack.lens.dynamicColoring.customPalette.rangeAriaLabel": "范围 {index}", + "xpack.lens.dynamicColoring.customPalette.reverseColors": "反转颜色", + "xpack.lens.dynamicColoring.customPalette.selectNewColor": "选择新颜色", + "xpack.lens.dynamicColoring.customPalette.setCustomMaxValue": "设置定制最小值", + "xpack.lens.dynamicColoring.customPalette.setCustomMinValue": "设置定制最大值", + "xpack.lens.dynamicColoring.customPalette.useAutoMaxValue": "使用最大数据值", + "xpack.lens.dynamicColoring.customPalette.useAutoMinValue": "使用最小数据值", + "xpack.lens.dynamicColoring.customPaletteAriaLabel": "反转颜色", "xpack.lens.editorFrame.buildExpressionError": "准备图表时发生意外错误", "xpack.lens.editorFrame.colorIndicatorLabel": "此维度的颜色:{hex}", "xpack.lens.editorFrame.configurationFailureMoreErrors": " +{errors} 个{errors, plural, other {错误}}", @@ -236,7 +274,7 @@ "xpack.lens.editorFrame.dataViewNotFound": "找不到数据视图", "xpack.lens.editorFrame.dataViewReconfigure": "在数据视图管理页面中重新创建", "xpack.lens.editorFrame.emptyWorkspace": "将一些字段拖放到此处以开始", - "xpack.lens.editorFrame.emptyWorkspaceHeading": "Lens 是用于创建可视化的新工具", + "xpack.lens.editorFrame.emptyWorkspaceHeading": "Lens 是在创建可视化时建议使用的编辑器", "xpack.lens.editorFrame.emptyWorkspaceSimple": "将字段放到此处", "xpack.lens.editorFrame.expandRenderingErrorButton": "显示错误的详情", "xpack.lens.editorFrame.expressionFailure": "表达式中发生错误", @@ -249,13 +287,18 @@ "xpack.lens.editorFrame.invisibleIndicatorLabel": "此维度当前在图表中不可见", "xpack.lens.editorFrame.networkErrorMessage": "网络错误,请稍后重试或联系管理员。", "xpack.lens.editorFrame.noColorIndicatorLabel": "此维度没有单独的颜色", + "xpack.lens.editorFrame.optionalDimensionLabel": "可选", "xpack.lens.editorFrame.paletteColorIndicatorLabel": "此维度正在使用调色板", "xpack.lens.editorFrame.previewErrorLabel": "预览呈现失败", + "xpack.lens.editorFrame.requiresFieldWarningLabel": "需要字段", + "xpack.lens.editorFrame.requiresTwoOrMoreFieldsWarningLabel": "需要 {requiredMinDimensionCount} 个字段", "xpack.lens.editorFrame.suggestionPanelTitle": "建议", "xpack.lens.editorFrame.workspaceLabel": "工作区", "xpack.lens.embeddable.failure": "无法显示可视化", "xpack.lens.embeddable.fixErrors": "在 Lens 编辑器中编辑以修复该错误", "xpack.lens.embeddable.legacyURLConflict.shortMessage": "您遇到了 URL 冲突", + "xpack.lens.embeddable.missingTimeRangeParam.longMessage": "给定配置需要包含 timeRange 属性", + "xpack.lens.embeddable.missingTimeRangeParam.shortMessage": "缺少 timeRange 属性", "xpack.lens.embeddable.moreErrors": "在 Lens 编辑器中编辑以查看更多错误", "xpack.lens.embeddableDisplayName": "lens", "xpack.lens.fieldFormats.longSuffix.d": "每天", @@ -328,24 +371,44 @@ "xpack.lens.functions.renameColumns.idMap.help": "旧列 ID 为键且相应新列 ID 为值的 JSON 编码对象。所有其他列 ID 都将保留。", "xpack.lens.functions.timeScale.dateColumnMissingMessage": "指定的 dateColumnId {columnId} 不存在。", "xpack.lens.functions.timeScale.timeInfoMissingMessage": "无法获取日期直方图信息", + "xpack.lens.gauge.addLayer": "添加可视化图层", + "xpack.lens.gauge.appearanceLabel": "外观", + "xpack.lens.gauge.dynamicColoring.label": "波段颜色", + "xpack.lens.gauge.gaugeLabel": "仪表盘", + "xpack.lens.gauge.goalValueLabel": "目标值", + "xpack.lens.gauge.maxValueLabel": "最大值", + "xpack.lens.gauge.metricLabel": "指标", + "xpack.lens.gauge.minValueLabel": "最小值", + "xpack.lens.gaugeHorizontal.gaugeLabel": "水平仪表盘", + "xpack.lens.gaugeVertical.gaugeLabel": "垂直仪表盘", + "xpack.lens.gaugeVisualization.goalValueGreaterMaximumShortMessage": "目标值大于最大值。", + "xpack.lens.gaugeVisualization.metricValueGreaterMaximumShortMessage": "指标值大于最大值。", + "xpack.lens.gaugeVisualization.minimumValueGreaterGoalShortMessage": "最小值大于目标值。", + "xpack.lens.gaugeVisualization.minValueGreaterMetricShortMessage": "最小值大于指标值。", "xpack.lens.geoFieldWorkspace.dropMessage": "将字段放置在此处以在 Maps 中打开", "xpack.lens.geoFieldWorkspace.dropZoneLabel": "放置区域以在 Maps 中打开", + "xpack.lens.guageVisualization.chartCannotRenderEqual": "最小值和最大值不能相等", + "xpack.lens.guageVisualization.chartCannotRenderMinGreaterMax": "最小值不能大于最大值", "xpack.lens.heatmap.addLayer": "添加可视化图层", "xpack.lens.heatmap.cellValueLabel": "单元格值", "xpack.lens.heatmap.groupLabel": "热图", "xpack.lens.heatmap.heatmapLabel": "热图", + "xpack.lens.heatmap.horizontalAxisDisabledHelpText": "此设置仅在启用水平轴时适用。", "xpack.lens.heatmap.horizontalAxisLabel": "水平轴", + "xpack.lens.heatmap.verticalAxisDisabledHelpText": "此设置仅在启用垂直轴时适用。", "xpack.lens.heatmap.verticalAxisLabel": "垂直轴", "xpack.lens.heatmapChart.legendVisibility.hide": "隐藏", "xpack.lens.heatmapChart.legendVisibility.show": "显示", "xpack.lens.heatmapVisualization.arrayValuesWarningMessage": "{label} 包含数组值。您的可视化可能无法正常渲染。", - "xpack.lens.heatmapVisualization.heatmapGroupLabel": "热图", + "xpack.lens.heatmapVisualization.heatmapGroupLabel": "级别", "xpack.lens.heatmapVisualization.heatmapLabel": "热图", "xpack.lens.heatmapVisualization.missingXAccessorLongMessage": "水平轴配置缺失。", "xpack.lens.heatmapVisualization.missingXAccessorShortMessage": "缺失水平轴。", "xpack.lens.indexPattern.advancedSettings": "添加高级选项", "xpack.lens.indexPattern.allFieldsLabel": "所有字段", "xpack.lens.indexPattern.allFieldsLabelHelp": "可用字段在与您的筛选匹配的前 500 个文档中有数据。要查看所有字段,请展开空字段。一些字段类型无法在 Lens 中可视化,包括全文本字段和地理字段。", + "xpack.lens.indexPattern.ascendingCountPrecisionErrorWarning": "由于数据的索引方式,此可视化的 {name} 可能为近似值。尝试按稀有度排序,而不是采用升序记录计数。有关此限制的详情,{link}。", + "xpack.lens.indexPattern.ascendingCountPrecisionErrorWarning.link": "访问文档", "xpack.lens.indexPattern.availableFieldsLabel": "可用字段", "xpack.lens.indexPattern.avg": "平均值", "xpack.lens.indexPattern.avg.description": "单值指标聚合,计算从聚合文档提取的数值的平均值", @@ -357,7 +420,7 @@ "xpack.lens.indexPattern.cardinality.signature": "field: string", "xpack.lens.indexPattern.cardinalityOf": "{name} 的唯一计数", "xpack.lens.indexPattern.changeDataViewTitle": "数据视图", - "xpack.lens.indexPattern.chooseField": "选择字段", + "xpack.lens.indexPattern.chooseField": "字段", "xpack.lens.indexPattern.chooseFieldLabel": "要使用此函数,请选择字段。", "xpack.lens.indexPattern.chooseSubFunction": "选择子函数", "xpack.lens.indexPattern.columnFormatLabel": "值格式", @@ -392,6 +455,7 @@ "xpack.lens.indexPattern.dateHistogram.upTo": "最多", "xpack.lens.indexPattern.dateHistogram.week": "周", "xpack.lens.indexPattern.dateHistogram.year": "年", + "xpack.lens.indexPattern.dateHistogramTimeShift": "在单个图层中,您无法组合上一时间范围偏移与 Date Histogram。在“{column}”中使用显式时间偏移持续时间,或替换 Date Histogram。", "xpack.lens.indexPattern.decimalPlacesLabel": "小数", "xpack.lens.indexPattern.defaultFormatLabel": "默认", "xpack.lens.indexPattern.derivative": "差异", @@ -439,6 +503,7 @@ "xpack.lens.indexPattern.formulaFieldNotFound": "找不到{variablesLength, plural, other {字段}} {variablesList}", "xpack.lens.indexPattern.formulaFieldNotRequired": "运算 {operation} 不接受任何字段作为参数", "xpack.lens.indexPattern.formulaFieldValue": "字段", + "xpack.lens.indexPattern.formulaFilterableHelpText": "提供的筛选将应用于整个公式。", "xpack.lens.indexPattern.formulaLabel": "公式", "xpack.lens.indexPattern.formulaMathMissingArgument": "公式中的运算 {operation} 缺失 {count} 个参数:{params}", "xpack.lens.indexPattern.formulaMetricValue": "指标", @@ -446,6 +511,7 @@ "xpack.lens.indexPattern.formulaNoOperation": "无操作", "xpack.lens.indexPattern.formulaOperationDoubleQueryError": "仅使用 kql= 或 lucene=,而非二者", "xpack.lens.indexPattern.formulaOperationDuplicateParams": "运算 {operation} 的参数已声明多次:{params}", + "xpack.lens.indexPattern.formulaOperationFiltersTypeConflicts": "“{outerType}”类型的公式筛选与 {operation} 运算中“{innerType}”类型的内部筛选不兼容。", "xpack.lens.indexPattern.formulaOperationQueryError": "{rawQuery} 的 {language}='' 需要单引号", "xpack.lens.indexPattern.formulaOperationTooManyFirstArguments": "公式中的运算 {operation} 需要{supported, plural, one {单个} other {支持的}} {type},发现了:{text}", "xpack.lens.indexPattern.formulaOperationValue": "运算", @@ -458,7 +524,7 @@ "xpack.lens.indexPattern.formulaWarningStaticValueText": "要覆盖公式,请更改输入字段中的值", "xpack.lens.indexPattern.formulaWarningText": "要覆盖公式,请选择快速函数", "xpack.lens.indexPattern.formulaWithTooManyArguments": "运算 {operation} 的参数过多", - "xpack.lens.indexPattern.functionsLabel": "选择函数", + "xpack.lens.indexPattern.functionsLabel": "函数", "xpack.lens.indexPattern.groupByDropdown": "分组依据", "xpack.lens.indexPattern.incompleteOperation": "(不完整)", "xpack.lens.indexPattern.intervals": "时间间隔", @@ -505,6 +571,7 @@ "xpack.lens.indexPattern.movingAverage.windowLimitations": "时间窗不包括当前值。", "xpack.lens.indexPattern.movingAverageOf": "{name} 的移动平均值", "xpack.lens.indexPattern.multipleDateHistogramsError": "“{dimensionLabel}”不是唯一的 Date Histogram。使用时间偏移时,请确保仅使用一个 Date Histogram。", + "xpack.lens.indexPattern.multipleTermsOf": "{name} 排名最前值 + {count} 个{count, plural, other {其他值}}", "xpack.lens.indexPattern.noDataViewDescription": "请创建数据视图或切换到其他数据源", "xpack.lens.indexPattern.noDataViewsLabel": "无数据视图", "xpack.lens.indexPattern.numberFormatLabel": "数字", @@ -527,6 +594,10 @@ "xpack.lens.indexPattern.percentile.signature": "field: string, [percentile]: number", "xpack.lens.indexPattern.percentileOf": "{name} 的{percentile, selectordinal, one {第一个} two {第二个} few {第三个} other {第 #th 个}}百分位数", "xpack.lens.indexPattern.pinnedTopValuesLabel": "{field} 的筛选", + "xpack.lens.indexPattern.precisionErrorWarning": "由于数据的索引方式,此可视化的 {name} 可能为近似值。尝试增加 {topValues} 的数量或使用 {filters}(而不是 {topValues}),以获得准确的结果。有关此限制的详情,{link}。", + "xpack.lens.indexPattern.precisionErrorWarning.filters": "筛选", + "xpack.lens.indexPattern.precisionErrorWarning.link": "访问文档", + "xpack.lens.indexPattern.precisionErrorWarning.topValues": "排名最前值", "xpack.lens.indexPattern.quickFunctionsLabel": "快选函数", "xpack.lens.indexPattern.range.isInvalid": "此范围无效", "xpack.lens.indexPattern.ranges.addRange": "添加范围", @@ -547,6 +618,7 @@ "xpack.lens.indexPattern.ranges.lessThanOrEqualTooltip": "小于或等于", "xpack.lens.indexPattern.ranges.lessThanPrepend": "<", "xpack.lens.indexPattern.ranges.lessThanTooltip": "小于", + "xpack.lens.indexPattern.rareTermsOf": "{name} 的稀有值", "xpack.lens.indexPattern.records": "记录", "xpack.lens.indexPattern.referenceFunctionPlaceholder": "子函数", "xpack.lens.indexPattern.removeColumnAriaLabel": "将字段添加或拖放到 {groupLabel}", @@ -566,8 +638,17 @@ "xpack.lens.indexPattern.sum": "求和", "xpack.lens.indexPattern.sum.description": "单值指标聚合,对从聚合文档提取的数值求和。", "xpack.lens.indexPattern.sumOf": "{name} 之和", + "xpack.lens.indexPattern.switchToRare": "按稀有度排名", "xpack.lens.indexPattern.terms": "排名最前值", + "xpack.lens.indexPattern.terms.addaFilter": "添加字段", + "xpack.lens.indexPattern.terms.addField": "添加字段", "xpack.lens.indexPattern.terms.advancedSettings": "高级", + "xpack.lens.indexPattern.terms.chooseFields": "{count, plural, other {字段}}", + "xpack.lens.indexPattern.terms.deleteButtonAriaLabel": "删除", + "xpack.lens.indexPattern.terms.deleteButtonDisabled": "此函数需要至少定义一个字段", + "xpack.lens.indexPattern.terms.deleteButtonLabel": "删除", + "xpack.lens.indexPattern.terms.dragToReorder": "拖动以重新排序", + "xpack.lens.indexPattern.terms.maxDocCount": "每个词的最大文档计数", "xpack.lens.indexPattern.terms.missingBucketDescription": "包括没有此字段的文档", "xpack.lens.indexPattern.terms.missingLabel": "(缺失值)", "xpack.lens.indexPattern.terms.orderAlphabetical": "按字母顺序", @@ -576,14 +657,17 @@ "xpack.lens.indexPattern.terms.orderByHelp": "指定排名靠前值排名所依据的维度。", "xpack.lens.indexPattern.terms.orderDescending": "降序", "xpack.lens.indexPattern.terms.orderDirection": "排名方向", + "xpack.lens.indexPattern.terms.orderRare": "稀有度", "xpack.lens.indexPattern.terms.otherBucketDescription": "将其他值分组为“其他”", "xpack.lens.indexPattern.terms.otherLabel": "其他", + "xpack.lens.indexPattern.terms.scriptedFieldErrorShort": "使用多个字段时不支持脚本字段", "xpack.lens.indexPattern.terms.size": "值数目", "xpack.lens.indexPattern.terms.sizeLimitMax": "值大于最大值 {max},将改为使用最大值。", "xpack.lens.indexPattern.terms.sizeLimitMin": "值小于最小值 {min},将改为使用最小值。", "xpack.lens.indexPattern.termsOf": "{name} 排名最前值", "xpack.lens.indexPattern.termsWithMultipleShifts": "在单个图层中,无法将指标与不同时间偏移和动态排名最前值组合。将相同的时间偏移值用于所有指标或使用筛选,而非排名最前值。", "xpack.lens.indexPattern.termsWithMultipleShiftsFixActionLabel": "使用筛选", + "xpack.lens.indexPattern.termsWithMultipleTermsAndScriptedFields": "使用多个字段时不支持脚本字段,找到 {fields}", "xpack.lens.indexPattern.timeScale.enableTimeScale": "按单位标准化", "xpack.lens.indexPattern.timeScale.label": "按单位标准化", "xpack.lens.indexPattern.timeScale.tooltip": "将值标准化为始终显示为每指定时间单位速率,无论基础日期时间间隔是多少。", @@ -593,11 +677,13 @@ "xpack.lens.indexPattern.timeShift.6hours": "6 小时前 (6h)", "xpack.lens.indexPattern.timeShift.6months": "6 个月前 (6M)", "xpack.lens.indexPattern.timeShift.day": "1 天前 (1d)", + "xpack.lens.indexPattern.timeShift.genericInvalidHelp": "时间偏移值无效。", "xpack.lens.indexPattern.timeShift.help": "输入时间偏移数字和单位", "xpack.lens.indexPattern.timeShift.hour": "1 小时前 (1h)", "xpack.lens.indexPattern.timeShift.label": "时间偏移", "xpack.lens.indexPattern.timeShift.month": "1 个月前 (1M)", "xpack.lens.indexPattern.timeShift.noMultipleHelp": "时间偏移应为 Date Histogram 时间间隔的倍数。调整时间偏移或 Date Histogram 时间间隔", + "xpack.lens.indexPattern.timeShift.previous": "上一时间范围", "xpack.lens.indexPattern.timeShift.tooSmallHelp": "时间偏移应大于 Date Histogram 时间间隔。增大时间偏移或在 Date Histogram 中指定较小的时间间隔", "xpack.lens.indexPattern.timeShift.week": "1 周前 (1w)", "xpack.lens.indexPattern.timeShift.year": "1 年前 (1y)", @@ -625,18 +711,33 @@ "xpack.lens.indexPatterns.noMetaDataLabel": "无元字段。", "xpack.lens.indexPatternSuggestion.removeLayerLabel": "仅显示 {indexPatternTitle}", "xpack.lens.indexPatternSuggestion.removeLayerPositionLabel": "仅显示图层 {layerNumber}", + "xpack.lens.label.gauge.labelMajor.header": "标题", + "xpack.lens.label.gauge.labelMinor.header": "子标题", + "xpack.lens.label.header": "标签", "xpack.lens.labelInput.label": "标签", "xpack.lens.layerPanel.layerVisualizationType": "图层可视化类型", "xpack.lens.layerPanel.missingDataView": "找不到数据视图", "xpack.lens.legacyUrlConflict.objectNoun": "Lens 可视化", "xpack.lens.lensSavedObjectLabel": "Lens 可视化", + "xpack.lens.metric.accessor.help": "正显示值的列", "xpack.lens.metric.addLayer": "添加可视化图层", - "xpack.lens.metric.groupLabel": "表和单值", + "xpack.lens.metric.colorMode.help": "指标的哪部分要上色", + "xpack.lens.metric.dynamicColoring.background": "填充", + "xpack.lens.metric.dynamicColoring.label": "按值上色", + "xpack.lens.metric.dynamicColoring.none": "无", + "xpack.lens.metric.dynamicColoring.text": "文本", + "xpack.lens.metric.groupLabel": "目标值和单值", "xpack.lens.metric.label": "指标", + "xpack.lens.metric.metricTitle.help": "显示的指标标题。", + "xpack.lens.metric.mode.help": "图表的显示模式 - 缩减模式将仅显示指标本身,无最小大小", + "xpack.lens.metric.palette.help": "为值提供颜色", + "xpack.lens.metric.title.help": "图标标题。", "xpack.lens.pageTitle": "Lens", "xpack.lens.paletteHeatmapGradient.customize": "编辑", "xpack.lens.paletteHeatmapGradient.customizeLong": "编辑调色板", "xpack.lens.paletteHeatmapGradient.label": "颜色", + "xpack.lens.paletteMetricGradient.label": "颜色", + "xpack.lens.palettePicker.colorRangesLabel": "颜色范围", "xpack.lens.palettePicker.label": "调色板", "xpack.lens.paletteTableGradient.customize": "编辑", "xpack.lens.paletteTableGradient.label": "颜色", @@ -645,13 +746,22 @@ "xpack.lens.pie.donutLabel": "圆环图", "xpack.lens.pie.groupLabel": "比例", "xpack.lens.pie.groupsizeLabel": "大小调整依据", + "xpack.lens.pie.mosaiclabel": "马赛克", + "xpack.lens.pie.mosaicSuggestionLabel": "为马赛克", "xpack.lens.pie.pielabel": "饼图", "xpack.lens.pie.sliceGroupLabel": "切片依据", + "xpack.lens.pie.smallValuesWarningMessage": "华夫饼图表无法有效显示较小的字段值。要显示所有字段值,请使用数据表或树状图。", "xpack.lens.pie.suggestionLabel": "为 {chartName}", "xpack.lens.pie.treemapGroupLabel": "分组依据", "xpack.lens.pie.treemaplabel": "树状图", "xpack.lens.pie.treemapSuggestionLabel": "为树状图", + "xpack.lens.pie.wafflelabel": "华夫饼图", + "xpack.lens.pie.waffleSuggestionLabel": "为华夫饼图", "xpack.lens.pieChart.categoriesInLegendLabel": "隐藏标签", + "xpack.lens.pieChart.emptySizeRatioLabel": "内部面积大小", + "xpack.lens.pieChart.emptySizeRatioOptions.large": "大", + "xpack.lens.pieChart.emptySizeRatioOptions.medium": "中", + "xpack.lens.pieChart.emptySizeRatioOptions.small": "小", "xpack.lens.pieChart.fitInsideOnlyLabel": "仅内部", "xpack.lens.pieChart.hiddenNumbersLabel": "在图表中隐藏", "xpack.lens.pieChart.labelPositionLabel": "位置", @@ -666,14 +776,15 @@ "xpack.lens.pieChart.showPercentValuesLabel": "显示百分比", "xpack.lens.pieChart.showTreemapCategoriesLabel": "显示标签", "xpack.lens.pieChart.valuesLabel": "标签", - "xpack.lens.lineMarker.positionRequirementTooltip": "必须选择图标或显示显示名称才能更改其位置", - "xpack.lens.lineMarker.textVisibility": "显示显示名称", + "xpack.lens.pieChart.visualOptionsLabel": "视觉选项", "xpack.lens.resetLayerAriaLabel": "重置图层 {index}", "xpack.lens.resetVisualizationAriaLabel": "重置可视化", + "xpack.lens.saveDuplicateRejectedDescription": "已拒绝使用重复标题保存确认", "xpack.lens.searchTitle": "Lens:创建可视化", "xpack.lens.section.configPanelLabel": "配置面板", "xpack.lens.section.dataPanelLabel": "数据面板", "xpack.lens.section.workspaceLabel": "可视化工作区", + "xpack.lens.shared.axisNameLabel": "轴标题", "xpack.lens.shared.chartValueLabelVisibilityLabel": "标签", "xpack.lens.shared.curveLabel": "视觉选项", "xpack.lens.shared.legend.filterForValueButtonAriaLabel": "筛留值", @@ -699,6 +810,10 @@ "xpack.lens.shared.legendVisibleTooltip": "需要图表显示", "xpack.lens.shared.maxLinesLabel": "最大行数", "xpack.lens.shared.nestedLegendLabel": "嵌套", + "xpack.lens.shared.overwriteAxisTitle": "覆盖轴标题", + "xpack.lens.shared.ShowAxisTitleLabel": "显示", + "xpack.lens.shared.ticksPositionOptions": "波段上的刻度", + "xpack.lens.shared.ticksPositionOptionsTooltip": "将刻度放在每个波段边框上,而不是平均分布", "xpack.lens.shared.truncateLegend": "截断文本", "xpack.lens.shared.valueInLegendLabel": "显示值", "xpack.lens.shared.valueLabelsVisibility.auto": "隐藏", @@ -741,6 +856,10 @@ "xpack.lens.table.tableCellFilter.filterForValueText": "筛留值", "xpack.lens.table.tableCellFilter.filterOutValueAriaLabel": "筛除值:{cellContent}", "xpack.lens.table.tableCellFilter.filterOutValueText": "筛除值", + "xpack.lens.table.valuesVisualOptions": "视觉选项", + "xpack.lens.table.visualOptionsFitRowToContentLabel": "使行适应内容", + "xpack.lens.table.visualOptionsPaginateTable": "对表分页", + "xpack.lens.table.visualOptionsPaginateTableTooltip": "如果小于 10 项,将隐藏分页", "xpack.lens.timeScale.removeLabel": "删除按时间单位标准化", "xpack.lens.timeShift.removeLabel": "移除时间偏移", "xpack.lens.visTypeAlias.description": "使用拖放编辑器创建可视化。随时在可视化类型之间切换。", @@ -758,7 +877,6 @@ "xpack.lens.xyChart.axisExtent.disabledDataBoundsMessage": "仅折线图可适应数据边界", "xpack.lens.xyChart.axisExtent.full": "实线", "xpack.lens.xyChart.axisExtent.label": "边界", - "xpack.lens.shared.axisNameLabel": "轴名称", "xpack.lens.xyChart.axisOrientation.angled": "带角度", "xpack.lens.xyChart.axisOrientation.horizontal": "水平", "xpack.lens.xyChart.axisOrientation.label": "方向", @@ -812,39 +930,13 @@ "xpack.lens.xyChart.missingValuesLabel": "缺少的值", "xpack.lens.xyChart.missingValuesLabelHelpText": "默认情况下,Lens 隐藏数据中的缺口。要填充缺口,请进行选择。", "xpack.lens.xyChart.nestUnderRoot": "整个数据集", - "xpack.lens.shared.overwriteAxisTitle": "覆盖轴标题", "xpack.lens.xyChart.position.help": "指定图例位置。", - "xpack.lens.xyChart.iconSelect.alertIconLabel": "告警", - "xpack.lens.xyChart.iconSelect.asteriskIconLabel": "星号", - "xpack.lens.xyChart.iconSelect.bellIconLabel": "钟铃", - "xpack.lens.xyChart.iconSelect.boltIconLabel": "闪电", - "xpack.lens.xyChart.iconSelect.bugIconLabel": "昆虫", - "xpack.lens.xyChart.iconSelect.commentIconLabel": "注释", - "xpack.lens.xyChart.iconSelect.flagIconLabel": "旗帜", - "xpack.lens.xyChart.iconSelect.noIconLabel": "无", - "xpack.lens.xyChart.iconSelect.tagIconLabel": "标签", - "xpack.lens.xyChart.lineColor.label": "颜色", - "xpack.lens.xyChart.fill.above": "之上", - "xpack.lens.xyChart.fill.after": "之后", - "xpack.lens.xyChart.fill.before": "之前", - "xpack.lens.xyChart.fill.below": "之下", - "xpack.lens.xyChart.fill.label": "填充", - "xpack.lens.xyChart.fill.none": "无", - "xpack.lens.xyChart.lineMarker.auto": "自动", - "xpack.lens.xyChart.lineMarker.icon": "图标", - "xpack.lens.xyChart.lineMarker.position": "装饰位置", - "xpack.lens.xyChart.lineStyle.dashed": "虚线", - "xpack.lens.xyChart.lineStyle.dotted": "点线", - "xpack.lens.xyChart.lineStyle.label": "线条样式", - "xpack.lens.xyChart.lineStyle.solid": "纯色", - "xpack.lens.xyChart.lineThickness.label": "线条粗细", "xpack.lens.xyChart.renderer.help": "X/Y 图表呈现器", "xpack.lens.xyChart.rightAxisDisabledHelpText": "此设置仅在启用右轴时应用。", "xpack.lens.xyChart.rightAxisLabel": "右轴", "xpack.lens.xyChart.seriesColor.auto": "自动", "xpack.lens.xyChart.seriesColor.label": "系列颜色", "xpack.lens.xyChart.shouldTruncate.help": "指定是否将截断图例项", - "xpack.lens.shared.ShowAxisTitleLabel": "显示", "xpack.lens.xyChart.showEnzones": "显示部分数据标记", "xpack.lens.xyChart.showSingleSeries.help": "指定是否应显示只包含一个条目的图例", "xpack.lens.xyChart.splitSeries": "细分方式", @@ -918,8 +1010,326 @@ "xpack.lens.xyVisualization.stackedPercentageBarLabel": "垂直百分比条形图", "xpack.lens.xyVisualization.xyLabel": "XY", "advancedSettings.advancedSettingsLabel": "高级设置", + "advancedSettings.badge.readOnly.text": "只读", + "advancedSettings.badge.readOnly.tooltip": "无法保存高级设置", + "advancedSettings.callOutCautionDescription": "此处请谨慎操作,这些设置仅供高级用户使用。您在这里所做的更改可能使 Kibana 的大部分功能出现问题。这些设置有一部分可能未在文档中说明、不受支持或处于技术预览状态。如果字段有默认值,将字段留空会将其设置为默认值,其他配置指令可能不接受其默认值。删除定制设置会将其从 Kibana 的配置中永久删除。", + "advancedSettings.callOutCautionTitle": "注意:在这里您可能会使问题出现", + "advancedSettings.categoryNames.dashboardLabel": "仪表板", + "advancedSettings.categoryNames.discoverLabel": "Discover", + "advancedSettings.categoryNames.generalLabel": "常规", + "advancedSettings.categoryNames.machineLearningLabel": "Machine Learning", + "advancedSettings.categoryNames.notificationsLabel": "通知", + "advancedSettings.categoryNames.observabilityLabel": "Observability", + "advancedSettings.categoryNames.reportingLabel": "报告", + "advancedSettings.categoryNames.searchLabel": "搜索", + "advancedSettings.categoryNames.securitySolutionLabel": "安全解决方案", + "advancedSettings.categoryNames.timelionLabel": "Timelion", + "advancedSettings.categoryNames.visualizationsLabel": "可视化", + "advancedSettings.categorySearchLabel": "类别", + "advancedSettings.featureCatalogueTitle": "定制您的 Kibana 体验 — 更改日期格式、打开深色模式,等等。", + "advancedSettings.field.changeImageLinkAriaLabel": "更改 {ariaName}", + "advancedSettings.field.changeImageLinkText": "更改图片", + "advancedSettings.field.codeEditorSyntaxErrorMessage": "JSON 语法无效", + "advancedSettings.field.customSettingAriaLabel": "定制设置", + "advancedSettings.field.customSettingTooltip": "定制设置", + "advancedSettings.field.defaultValueText": "默认值:{value}", + "advancedSettings.field.defaultValueTypeJsonText": "默认值:{value}", + "advancedSettings.field.deprecationClickAreaLabel": "单击以查看 {settingName} 的过时文档。", + "advancedSettings.field.helpText": "此设置已由 Kibana 服务器覆盖,无法更改。", + "advancedSettings.field.imageChangeErrorMessage": "图片无法保存", + "advancedSettings.field.invalidIconLabel": "无效", + "advancedSettings.field.offLabel": "关闭", + "advancedSettings.field.onLabel": "开启", + "advancedSettings.field.resetToDefaultLinkAriaLabel": "将 {ariaName} 重置为默认值", + "advancedSettings.field.resetToDefaultLinkText": "重置为默认值", + "advancedSettings.field.settingIsUnsaved": "设备当前未保存。", + "advancedSettings.field.unsavedIconLabel": "未保存", + "advancedSettings.form.cancelButtonLabel": "取消更改", + "advancedSettings.form.clearNoSearchResultText": "(清除搜索)", + "advancedSettings.form.clearSearchResultText": "(清除搜索)", + "advancedSettings.form.countOfSettingsChanged": "{unsavedCount} 个未保存{unsavedCount, plural, other {设置} }{hiddenCount, plural, =0 {} other {,# 个已隐藏} }", + "advancedSettings.form.noSearchResultText": "找不到 {queryText} {clearSearch} 的设置", + "advancedSettings.form.requiresPageReloadToastButtonLabel": "重新加载页面", + "advancedSettings.form.requiresPageReloadToastDescription": "一个或多个设置需要您重新加载页面才能生效。", + "advancedSettings.form.saveButtonLabel": "保存更改", + "advancedSettings.form.saveButtonTooltipWithInvalidChanges": "保存前请修复无效的设置。", + "advancedSettings.form.saveErrorMessage": "无法保存", + "advancedSettings.form.searchResultText": "搜索词隐藏了 {settingsCount} 个设置{clearSearch}", + "advancedSettings.pageTitle": "设置", + "advancedSettings.searchBar.unableToParseQueryErrorMessage": "无法解析查询", + "advancedSettings.searchBarAriaLabel": "搜索高级设置", + "advancedSettings.voiceAnnouncement.ariaLabel": "“高级设置”的结果信息", + "advancedSettings.voiceAnnouncement.noSearchResultScreenReaderMessage": "{sectionLenght, plural, other {# 个部分}}中有 {optionLenght, plural, other {# 个选项}}", + "advancedSettings.voiceAnnouncement.searchResultScreenReaderMessage": "您搜索了“{query}”。{sectionLenght, plural, other {# 个部分}}中有 {optionLenght, plural, other {# 个选项}}", + "alerts.documentationTitle": "查看文档", + "alerts.noPermissionsMessage": "要查看告警,必须对 Kibana 工作区中的告警功能有权限。有关详细信息,请联系您的 Kibana 管理员。", + "alerts.noPermissionsTitle": "需要 Kibana 功能权限", + "autocomplete.fieldRequiredError": "值不能为空", + "autocomplete.invalidDateError": "不是有效日期", + "autocomplete.invalidNumberError": "不是有效数字", + "autocomplete.loadingDescription": "正在加载……", + "autocomplete.selectField": "请首先选择字段......", + "bfetch.disableBfetch": "禁用请求批处理", + "bfetch.disableBfetchCompression": "禁用批量压缩", + "bfetch.disableBfetchCompressionDesc": "禁用批量压缩。这允许您对单个请求进行故障排查,但会增加响应大小。", + "bfetch.disableBfetchDesc": "禁用请求批处理。这会增加来自 Kibana 的 HTTP 请求数,但允许对单个请求进行故障排查。", + "charts.advancedSettings.visualization.colorMappingText": "使用兼容性调色板将值映射到图表中的特定颜色。", + "charts.advancedSettings.visualization.colorMappingTextDeprecation": "此设置已过时,在未来版本中将不受支持。", + "charts.advancedSettings.visualization.colorMappingTitle": "颜色映射", "charts.advancedSettings.visualization.useLegacyTimeAxis.description": "在 Lens、Discover、Visualize 和 TSVB 中为图表启用旧版时间轴", "charts.advancedSettings.visualization.useLegacyTimeAxis.name": "旧版图表时间轴", + "charts.colormaps.bluesText": "蓝色", + "charts.colormaps.greensText": "绿色", + "charts.colormaps.greenToRedText": "绿到红", + "charts.colormaps.greysText": "灰色", + "charts.colormaps.redsText": "红色", + "charts.colormaps.yellowToRedText": "黄到红", + "charts.colorPicker.clearColor": "重置颜色", + "charts.colorPicker.setColor.screenReaderDescription": "为值 {legendDataLabel} 设置颜色", + "charts.countText": "计数", + "charts.functions.palette.args.colorHelpText": "调色板颜色。接受 {html} 颜色名称 {hex}、{hsl}、{hsla}、{rgb} 或 {rgba}。", + "charts.functions.palette.args.gradientHelpText": "受支持时提供渐变的调色板?", + "charts.functions.palette.args.reverseHelpText": "反转调色板?", + "charts.functions.palette.args.stopHelpText": "调色板颜色停止。使用时,必须与每个颜色关联。", + "charts.functions.paletteHelpText": "创建颜色调色板。", + "charts.functions.systemPalette.args.nameHelpText": "调色板列表中的调色板名称", + "charts.functions.systemPaletteHelpText": "创建动态颜色调色板。", + "charts.legend.toggleLegendButtonAriaLabel": "切换图例", + "charts.legend.toggleLegendButtonTitle": "切换图例", + "charts.noDataLabel": "找不到结果", + "charts.palettes.complimentaryLabel": "免费", + "charts.palettes.coolLabel": "冷", + "charts.palettes.customLabel": "定制", + "charts.palettes.defaultPaletteLabel": "默认", + "charts.palettes.grayLabel": "灰", + "charts.palettes.kibanaPaletteLabel": "兼容性", + "charts.palettes.negativeLabel": "负", + "charts.palettes.positiveLabel": "正", + "charts.palettes.statusLabel": "状态", + "charts.palettes.temperatureLabel": "温度", + "charts.palettes.warmLabel": "暖", + "charts.partialData.bucketTooltipText": "选定的时间范围不包括此整个存储桶。其可能包含部分数据。", + "console.autocomplete.addMethodMetaText": "方法", + "console.consoleDisplayName": "控制台", + "console.consoleMenu.copyAsCurlFailedMessage": "无法将请求复制为 cURL", + "console.consoleMenu.copyAsCurlMessage": "请求已复制为 cURL", + "console.deprecations.enabled.manualStepOneMessage": "打开 kibana.yml 配置文件。", + "console.deprecations.enabled.manualStepTwoMessage": "将“console.enabled”设置更改为“console.ui.enabled”。", + "console.deprecations.enabledMessage": "要禁止用户访问 Console UI,请使用“console.ui.enabled”设置,而不是“console.enabled”。", + "console.deprecations.enabledTitle": "“console.enabled”设置已过时", + "console.deprecations.proxyConfig.manualStepOneMessage": "打开 kibana.yml 配置文件。", + "console.deprecations.proxyConfig.manualStepThreeMessage": "使用“server.ssl.*”设置配置 Kibana 与 Elasticsearch 之间的安全连接。", + "console.deprecations.proxyConfig.manualStepTwoMessage": "移除“console.proxyConfig”设置。", + "console.deprecations.proxyConfigMessage": "配置“console.proxyConfig”已过时,将在 8.0.0 中移除。为保护 Kibana 与 Elasticsearch 之间的连接,请改为使用标准“server.ssl.*”设置。", + "console.deprecations.proxyConfigTitle": "“console.proxyConfig”设置已过时", + "console.deprecations.proxyFilter.manualStepOneMessage": "打开 kibana.yml 配置文件。", + "console.deprecations.proxyFilter.manualStepThreeMessage": "使用“server.ssl.*”设置配置 Kibana 与 Elasticsearch 之间的安全连接。", + "console.deprecations.proxyFilter.manualStepTwoMessage": "移除“console.proxyFilter”设置。", + "console.deprecations.proxyFilterMessage": "配置“console.proxyFilter”已过时,将在 8.0.0 中移除。为保护 Kibana 与 Elasticsearch 之间的连接,请改为使用标准“server.ssl.*”设置。", + "console.deprecations.proxyFilterTitle": "“console.proxyFilter”设置已过时", + "console.devToolsDescription": "跳过 cURL 并使用 JSON 接口在控制台中处理您的数据。", + "console.devToolsTitle": "与 Elasticsearch API 进行交互", + "console.exampleOutputTextarea": "开发工具控制台编辑器示例", + "console.helpPage.keyboardCommands.autoIndentDescription": "自动缩进当前请求", + "console.helpPage.keyboardCommands.closeAutoCompleteMenuDescription": "关闭自动完成菜单", + "console.helpPage.keyboardCommands.collapseAllScopesDescription": "折叠当前范围除外的所有范围。通过加按 Shift 键来展开。", + "console.helpPage.keyboardCommands.collapseExpandCurrentScopeDescription": "折叠/展开当前范围。", + "console.helpPage.keyboardCommands.jumpToPreviousNextRequestDescription": "跳转至前一/后一请求开头或结尾。", + "console.helpPage.keyboardCommands.openAutoCompleteDescription": "打开自动完成(即使未键入)", + "console.helpPage.keyboardCommands.openDocumentationDescription": "打开当前请求的文档", + "console.helpPage.keyboardCommands.selectCurrentlySelectedInAutoCompleteMenuDescription": "选择自动完成菜单中当前选定的词或最顶部的词", + "console.helpPage.keyboardCommands.submitRequestDescription": "提交请求", + "console.helpPage.keyboardCommands.switchFocusToAutoCompleteMenuDescription": "将焦点切换到自动完成菜单。使用箭头进一步选择词", + "console.helpPage.keyboardCommandsTitle": "键盘命令", + "console.helpPage.learnAboutConsoleAndQueryDslText": "了解有关 {console} 和 {queryDsl} 的信息", + "console.helpPage.pageTitle": "帮助", + "console.helpPage.requestFormatDescription": "您可以在编辑器中键入一个或多个请求。控制台理解紧凑格式的请求。", + "console.helpPage.requestFormatTitle": "请求格式", + "console.historyPage.applyHistoryButtonLabel": "应用", + "console.historyPage.clearHistoryButtonLabel": "清除", + "console.historyPage.closehistoryButtonLabel": "关闭", + "console.historyPage.itemOfRequestListAriaLabel": "请求:{historyItem}", + "console.historyPage.noHistoryTextMessage": "没有可用的历史记录", + "console.historyPage.pageTitle": "历史记录", + "console.historyPage.requestListAriaLabel": "已发送请求的历史记录", + "console.inputTextarea": "开发工具控制台", + "console.loadFromDataUriErrorMessage": "无法从 URL 中的 load_from 查询参数加载数据", + "console.loadingError.buttonLabel": "重新加载控制台", + "console.loadingError.message": "尝试重新加载以获取最新的数据。", + "console.loadingError.title": "无法加载控制台", + "console.notification.clearHistory": "清除历史记录", + "console.notification.disableSavingToHistory": "禁止保存", + "console.notification.error.couldNotSaveRequestTitle": "无法将请求保存到控制台历史记录。", + "console.notification.error.historyQuotaReachedMessage": "请求历史记录已满。请清除控制台历史记录或禁止保存新的请求。", + "console.notification.error.noRequestSelectedTitle": "未选择任何请求。将鼠标置于请求内即可选择。", + "console.notification.error.unknownErrorTitle": "未知请求错误", + "console.outputCannotPreviewBinaryData": "无法预览二进制数据。", + "console.outputTextarea": "开发工具控制台输出", + "console.pageHeading": "控制台", + "console.requestInProgressBadgeText": "进行中的请求", + "console.requestOptions.autoIndentButtonLabel": "自动缩进", + "console.requestOptions.copyAsUrlButtonLabel": "复制为 cURL", + "console.requestOptions.openDocumentationButtonLabel": "打开文档", + "console.requestOptionsButtonAriaLabel": "请求选项", + "console.requestTimeElapasedBadgeTooltipContent": "已用时间", + "console.sendRequestButtonTooltip": "单击以发送请求", + "console.settingsPage.autocompleteLabel": "自动完成", + "console.settingsPage.cancelButtonLabel": "取消", + "console.settingsPage.fieldsLabelText": "字段", + "console.settingsPage.fontSizeLabel": "字体大小", + "console.settingsPage.historyLabel": "历史记录", + "console.settingsPage.indicesAndAliasesLabelText": "索引和别名", + "console.settingsPage.jsonSyntaxLabel": "JSON 语法", + "console.settingsPage.pageTitle": "控制台设置", + "console.settingsPage.refreshButtonLabel": "刷新自动完成建议", + "console.settingsPage.refreshingDataDescription": "控制台通过查询 Elasticsearch 来刷新自动完成建议。建议降低刷新频率以节省带宽成本。", + "console.settingsPage.refreshingDataLabel": "刷新频率", + "console.settingsPage.refreshInterval.everyHourTimeInterval": "每小时", + "console.settingsPage.refreshInterval.everyNMinutesTimeInterval": "每 {value} {value, plural, other {分钟}}", + "console.settingsPage.refreshInterval.onceTimeInterval": "一次,控制台加载时", + "console.settingsPage.saveButtonLabel": "保存", + "console.settingsPage.savingRequestsToHistoryMessage": "禁止将请求保存到历史记录", + "console.settingsPage.templatesLabelText": "模板", + "console.settingsPage.tripleQuotesMessage": "在输出窗格中使用三重引号", + "console.settingsPage.wrapLongLinesLabelText": "长行换行", + "console.splitPanel.adjustPanelSizeAriaLabel": "按左/右箭头键调整面板大小", + "console.topNav.helpTabDescription": "帮助", + "console.topNav.helpTabLabel": "帮助", + "console.topNav.historyTabDescription": "历史记录", + "console.topNav.historyTabLabel": "历史记录", + "console.topNav.settingsTabDescription": "设置", + "console.topNav.settingsTabLabel": "设置", + "console.welcomePage.closeButtonLabel": "关闭", + "console.welcomePage.pageTitle": "欢迎使用 Console", + "console.welcomePage.quickIntroDescription": "Console UI 分为两个窗格:编辑器窗格(左)和响应窗格(右)。使用编辑器键入请求并将它们提交到 Elasticsearch。结果将显示在右侧的响应窗格中。", + "console.welcomePage.quickIntroTitle": "UI 简介", + "console.welcomePage.quickTips.cUrlFormatForRequestsDescription": "您可以粘贴 cURL 格式的请求,这些请求将转换成 Console 语法格式。", + "console.welcomePage.quickTips.keyboardShortcutsDescription": "学习“帮助”按钮下的键盘快捷方式。那里有非常实用的信息!", + "console.welcomePage.quickTips.resizeEditorDescription": "您可以通过拖动编辑器和输出窗格之间的分隔条来调整它们的大小。", + "console.welcomePage.quickTips.submitRequestDescription": "使用绿色三角按钮将请求提交到 ES。", + "console.welcomePage.quickTips.useWrenchMenuDescription": "使用扳手菜单执行其他有用的操作。", + "console.welcomePage.quickTipsTitle": "有几个需要您注意的有用提示", + "console.welcomePage.supportedRequestFormatDescription": "键入请求时,控制台将提供建议,您可以通过按 Enter/Tab 键来接受建议。这些建议基于请求结构以及索引和类型进行提供。", + "console.welcomePage.supportedRequestFormatTitle": "Console 理解紧凑格式的请求,类似于 cURL:", + "controls.controlGroup.emptyState.addControlButtonTitle": "添加控件", + "controls.controlGroup.emptyState.callToAction": "您可以通过控件筛选仪表板数据并与其进行交互", + "controls.controlGroup.emptyState.twoLineLoadingTitle": "......", + "controls.controlGroup.floatingActions.editTitle": "编辑控件", + "controls.controlGroup.floatingActions.removeTitle": "删除控件", + "controls.controlGroup.manageControl.cancelTitle": "取消", + "controls.controlGroup.manageControl.createFlyoutTitle": "创建控件", + "controls.controlGroup.manageControl.editFlyoutTitle": "编辑控件", + "controls.controlGroup.manageControl.saveChangesTitle": "保存并关闭", + "controls.controlGroup.manageControl.titleInputTitle": "标题", + "controls.controlGroup.manageControl.widthInputTitle": "控件大小", + "controls.controlGroup.management.addControl": "添加控件", + "controls.controlGroup.management.buttonTitle": "配置控件", + "controls.controlGroup.management.defaultWidthTitle": "默认大小", + "controls.controlGroup.management.delete": "删除控件", + "controls.controlGroup.management.delete.cancel": "取消", + "controls.controlGroup.management.delete.confirm": "删除", + "controls.controlGroup.management.delete.deleteAllTitle": "删除所有控件?", + "controls.controlGroup.management.delete.deleteTitle": "删除控件?", + "controls.controlGroup.management.delete.sub": "控件一旦删除,将无法恢复。", + "controls.controlGroup.management.deleteAll": "全部删除", + "controls.controlGroup.management.deleteNew.cancel": "取消", + "controls.controlGroup.management.deleteNew.confirm": "放弃控件", + "controls.controlGroup.management.deleteNew.sub": "将放弃您对此控件所做的更改,是否确定要继续?", + "controls.controlGroup.management.deleteNew.title": "放弃新控件", + "controls.controlGroup.management.discard.cancel": "取消", + "controls.controlGroup.management.discard.confirm": "放弃更改", + "controls.controlGroup.management.discard.sub": "将放弃您对此控件所做的更改,是否确定要继续?", + "controls.controlGroup.management.discard.title": "放弃更改?", + "controls.controlGroup.management.flyoutTitle": "配置控件", + "controls.controlGroup.management.layout.auto": "自动", + "controls.controlGroup.management.layout.controlWidthLegend": "更改控件大小", + "controls.controlGroup.management.layout.designSwitchLegend": "切换控件设计", + "controls.controlGroup.management.layout.large": "大", + "controls.controlGroup.management.layout.medium": "中", + "controls.controlGroup.management.layout.singleLine": "单行", + "controls.controlGroup.management.layout.small": "小", + "controls.controlGroup.management.layout.twoLine": "双行", + "controls.controlGroup.management.layoutTitle": "布局", + "controls.controlGroup.management.setAllWidths": "将所有大小设为默认值", + "controls.controlGroup.title": "控件组", + "controls.optionsList.editor.allowMultiselectTitle": "下拉列表中允许多选", + "controls.optionsList.editor.dataViewTitle": "数据视图", + "controls.optionsList.editor.fieldTitle": "字段", + "controls.optionsList.editor.indexPatternTitle": "索引模式", + "controls.optionsList.editor.noDataViewTitle": "选择数据视图", + "controls.optionsList.errors.dataViewNotFound": "找不到数据视图:{dataViewId}", + "controls.optionsList.popover.allOptionsTitle": "显示所有选项", + "controls.optionsList.popover.clearAllSelectionsTitle": "清除所选内容", + "controls.optionsList.popover.empty": "未找到任何筛选", + "controls.optionsList.popover.loading": "正在加载筛选", + "controls.optionsList.popover.selectedOptionsTitle": "仅显示选定选项", + "controls.optionsList.popover.selectionsEmpty": "您未选择任何内容", + "controls.optionsList.summary.placeholder": "选择......", + "controls.optionsList.summary.separator": ",", + "core.application.appContainer.loadingAriaLabel": "正在加载应用程序", + "core.application.appNotFound.pageDescription": "在此 URL 未找到任何应用程序。尝试返回或从菜单中选择应用。", + "core.application.appNotFound.title": "未找到应用程序", + "core.application.appRenderError.defaultTitle": "应用程序错误", + "core.chrome.browserDeprecationLink": "我们网站上的支持矩阵", + "core.chrome.browserDeprecationWarning": "本软件的未来版本将放弃对 Internet Explorer 的支持,请查看{link}。", + "core.chrome.legacyBrowserWarning": "您的浏览器不满足 Kibana 的安全要求。", + "core.deprecations.deprecations.fetchFailed.manualStepOneMessage": "请在 Kibana 服务器日志中查看错误消息。", + "core.deprecations.deprecations.fetchFailedMessage": "无法提取插件 {domainId} 的弃用信息。", + "core.deprecations.deprecations.fetchFailedTitle": "无法提取 {domainId} 的弃用信息", + "core.deprecations.elasticsearchSSL.manualSteps1": "将“{missingSetting}”设置添加到 kibana.yml。", + "core.deprecations.elasticsearchSSL.manualSteps2": "或者,如果不想使用相互 TLS 身份验证,请从 kibana.yml 中移除“{existingSetting}”。", + "core.deprecations.elasticsearchSSL.message": "同时使用“{existingSetting}”和“{missingSetting}”,以便 Kibana 将相互 TLS 身份验证用于 Elasticsearch。", + "core.deprecations.elasticsearchSSL.title": "使用不含“{missingSetting}”的“{existingSetting}”无效", + "core.deprecations.elasticsearchUsername.manualSteps1": "使用 elasticsearch-service-tokens CLI 工具为“elastic/kibana”服务帐户创建新的服务帐户令牌。", + "core.deprecations.elasticsearchUsername.manualSteps2": "将“elasticsearch.serviceAccountToken”设置添加到 kibana.yml。", + "core.deprecations.elasticsearchUsername.manualSteps3": "从 kibana.yml 中移除“elasticsearch.username”和“elasticsearch.password”。", + "core.deprecations.elasticsearchUsername.message": "Kibana 已配置为通过“{username}”用户验证到 Elasticsearch。改为使用服务帐户令牌。", + "core.deprecations.elasticsearchUsername.title": "使用“elasticsearch.username: {username}”已过时", + "core.deprecations.noCorrectiveAction": "无法自动解决此弃用。", + "core.euiAccordion.isLoading": "正在加载", + "core.euiAutoRefresh.autoRefreshLabel": "自动刷新", + "core.euiAutoRefresh.buttonLabelOff": "自动刷新已关闭", + "core.euiAutoRefresh.buttonLabelOn": "自动刷新已打开并设置为 {prettyInterval}", + "core.euiBasicTable.noItemsMessage": "找不到项目", + "core.euiBasicTable.selectAllRows": "选择所有行", + "core.euiBasicTable.selectThisRow": "选择此行", + "core.euiBasicTable.tableAutoCaptionWithoutPagination": "此表包含 {itemCount} 行。", + "core.euiBasicTable.tableAutoCaptionWithPagination": "此表包含 {itemCount} 行,共有 {totalItemCount} 行;第 {page} 页,共 {pageCount} 页。", + "core.euiBasicTable.tableCaptionWithPagination": "{tableCaption};第 {page} 页,共 {pageCount} 页。", + "core.euiBasicTable.tablePagination": "表分页:{tableCaption}", + "core.euiBasicTable.tableSimpleAutoCaptionWithPagination": "此表包含 {itemCount} 行;第 {page} 页,共 {pageCount} 页。", + "core.euiBottomBar.customScreenReaderAnnouncement": "有称作 {landmarkHeading} 且页面级别控件位于文档结尾的新地区地标。", + "core.euiBottomBar.screenReaderAnnouncement": "有页面级别控件位于文档结尾的新地区地标。", + "core.euiBottomBar.screenReaderHeading": "页面级别控件", + "core.euiBreadcrumbs.collapsedBadge.ariaLabel": "查看折叠的痕迹导航", + "core.euiBreadcrumbs.nav.ariaLabel": "痕迹导航", + "core.euiCardSelect.select": "选择", + "core.euiCardSelect.selected": "已选定", + "core.euiCardSelect.unavailable": "不可用", + "core.euiCodeBlock.copyButton": "复制", + "core.euiCodeBlock.fullscreenCollapse": "折叠", + "core.euiCodeBlock.fullscreenExpand": "展开", + "core.euiCollapsedItemActions.allActions": "所有操作", + "core.euiColorPicker.alphaLabel": "Alpha 通道(不透明度)值", + "core.euiColorPicker.closeLabel": "按向下箭头键可打开包含颜色选项的弹出框", + "core.euiColorPicker.colorErrorMessage": "颜色值无效", + "core.euiColorPicker.colorLabel": "颜色值", + "core.euiColorPicker.openLabel": "按 Esc 键关闭弹出框", + "core.euiColorPicker.popoverLabel": "颜色选择对话框", + "core.euiColorPicker.transparent": "透明", + "core.euiColorPickerSwatch.ariaLabel": "选择 {color} 作为颜色", + "core.euiColorStops.screenReaderAnnouncement": "{label}:{readOnly} {disabled} 颜色停止点选取器。每个停止点由数字和相应颜色值构成。使用向下和向上箭头键选择单个停止点。按 Enter 键创建新的停止点。", + "core.euiColorStopThumb.buttonAriaLabel": "按 Enter 键修改此停止点。按 Esc 键聚焦该组", + "core.euiColorStopThumb.buttonTitle": "单击编辑,拖动重新定位", + "core.euiColorStopThumb.removeLabel": "删除此停止点", + "core.euiColorStopThumb.screenReaderAnnouncement": "打开颜色停止点编辑表单的弹出式窗口。按 Tab 键正向依次选择表单控件或按 Esc 键关闭此弹出式窗口。", + "core.euiColorStopThumb.stopErrorMessage": "值超出范围", + "core.euiColorStopThumb.stopLabel": "停止点值", + "core.euiColumnActions.hideColumn": "隐藏列", + "core.euiColumnActions.moveLeft": "左移", + "core.euiColumnActions.moveRight": "右移", + "core.euiColumnActions.sort": "排序 {schemaLabel}", + "core.euiColumnSelector.button": "列", "core.euiColumnSelector.buttonActivePlural": "{numberOfHiddenFields} 列已隐藏", "core.euiColumnSelector.buttonActiveSingular": "{numberOfHiddenFields} 列已隐藏", "core.euiColumnSelector.hideAll": "全部隐藏", @@ -971,6 +1381,18 @@ "core.euiDataGridToolbar.fullScreenButtonActive": "退出全屏", "core.euiDatePopoverButton.invalidTitle": "无效日期:{title}", "core.euiDatePopoverButton.outdatedTitle": "需要更新:{title}", + "core.euiDisplaySelector.buttonText": "显示选项", + "core.euiDisplaySelector.densityLabel": "密度", + "core.euiDisplaySelector.labelAuto": "自动适应", + "core.euiDisplaySelector.labelCompact": "紧凑", + "core.euiDisplaySelector.labelCustom": "定制", + "core.euiDisplaySelector.labelExpanded": "扩展", + "core.euiDisplaySelector.labelNormal": "正常", + "core.euiDisplaySelector.labelSingle": "单个", + "core.euiDisplaySelector.lineCountLabel": "每行文本行数", + "core.euiDisplaySelector.resetButtonText": "重置为默认值", + "core.euiDisplaySelector.rowHeightLabel": "行高", + "core.euiErrorBoundary.error": "错误", "core.euiFieldPassword.maskPassword": "屏蔽密码", "core.euiFieldPassword.showPassword": "将密码显示为纯文本。注意:这会将您的密码暴露在屏幕上。", "core.euiFilePicker.clearSelectedFiles": "清除选定的文件", @@ -1017,11 +1439,20 @@ "core.euiNotificationEventReadIcon.readAria": "{eventName} 已读", "core.euiNotificationEventReadIcon.unread": "未读", "core.euiNotificationEventReadIcon.unreadAria": "{eventName} 未读", + "core.euiPagination.collection": "收集", "core.euiPagination.firstRangeAriaLabel": "将跳过第 2 至 {lastPage} 页", + "core.euiPagination.fromEndLabel": "自末尾", + "core.euiPagination.last": "最后一个", "core.euiPagination.lastRangeAriaLabel": "将跳过第 {firstPage} 至 {lastPage} 页", + "core.euiPagination.of": "/", + "core.euiPagination.page": "页", "core.euiPagination.pageOfTotalCompressed": "{page} / {total}", "core.euiPaginationButton.longPageString": "第 {page} 页,共 {totalPages} 页", "core.euiPaginationButton.shortPageString": "第 {page} 页", + "core.euiPaginationButtonArrow.firstPage": "第一页", + "core.euiPaginationButtonArrow.lastPage": "最后一页", + "core.euiPaginationButtonArrow.nextPage": "下一页", + "core.euiPaginationButtonArrow.previousPage": "上一页", "core.euiPinnableListGroup.pinExtraActionLabel": "固定项目", "core.euiPinnableListGroup.pinnedExtraActionLabel": "取消固定项目", "core.euiPopover.screenReaderAnnouncement": "您在对话框中。要关闭此对话框,请按 Esc 键。", @@ -1036,6 +1467,8 @@ "core.euiQuickSelect.unitLabel": "时间单位", "core.euiQuickSelect.valueLabel": "时间值", "core.euiRecentlyUsed.legend": "最近使用的日期范围", + "core.euiRefreshInterval.fullDescriptionOff": "刷新已关闭,时间间隔设置为 {optionValue} {optionText}。", + "core.euiRefreshInterval.fullDescriptionOn": "刷新已打开,时间间隔设置为 {optionValue} {optionText}。", "core.euiRefreshInterval.legend": "刷新频率", "core.euiRelativeTab.dateInputError": "必须为有效范围", "core.euiRelativeTab.fullDescription": "单位可更改。当前设置为 {unit}。", @@ -1078,6 +1511,7 @@ "core.euiStepStrings.simpleWarning": "第 {number} 步有警告", "core.euiStepStrings.step": "第 {number} 步:{title}", "core.euiStepStrings.warning": "第 {number} 步:{title} 有警告", + "core.euiSuperSelect.screenReaderAnnouncement": "您位于表单选择器中,必须选择单个选项。使用向上和向下箭头键导航,使用 Esc 键关闭。", "core.euiSuperSelectControl.selectAnOption": "选择选项:{selectedValue} 已选", "core.euiSuperUpdateButton.cannotUpdateTooltip": "无法更新", "core.euiSuperUpdateButton.clickToApplyTooltip": "单击以应用", @@ -1114,21 +1548,30 @@ "core.status.greenTitle": "绿色", "core.status.redTitle": "红色", "core.status.yellowTitle": "黄色", + "core.statusPage.coreStatus.sectionTitle": "核心状态", "core.statusPage.loadStatus.serverIsDownErrorMessage": "无法请求服务器状态。也许您的服务器已关闭?", "core.statusPage.loadStatus.serverStatusCodeErrorMessage": "无法请求服务器状态,状态代码为 {responseStatus}", "core.statusPage.metricsTiles.columns.heapTotalHeader": "堆总数", "core.statusPage.metricsTiles.columns.heapUsedHeader": "已使用堆数", + "core.statusPage.metricsTiles.columns.load.metaHeader": "加载时间间隔", "core.statusPage.metricsTiles.columns.loadHeader": "加载", + "core.statusPage.metricsTiles.columns.processDelayDetailsHeader": "百分位数", + "core.statusPage.metricsTiles.columns.processDelayHeader": "延迟", "core.statusPage.metricsTiles.columns.requestsPerSecHeader": "每秒请求数", "core.statusPage.metricsTiles.columns.resTimeAvgHeader": "响应时间平均值", "core.statusPage.metricsTiles.columns.resTimeMaxHeader": "响应时间最大值", "core.statusPage.serverStatus.statusTitle": "Kibana 状态为 {kibanaStatus}", "core.statusPage.statusApp.loadingErrorText": "加载状态时发生错误", - "core.statusPage.statusApp.statusActions.buildText": "内部版本 {buildNum}", - "core.statusPage.statusApp.statusActions.commitText": "提交 {buildSha}", + "core.statusPage.statusApp.statusActions.buildText": "内部版本:{buildNum}", + "core.statusPage.statusApp.statusActions.commitText": "提交:{buildSha}", + "core.statusPage.statusApp.statusActions.versionText": "版本:{versionNum}", "core.statusPage.statusApp.statusTitle": "插件状态", + "core.statusPage.statusTable.columns.expandRow.collapseLabel": "折叠", + "core.statusPage.statusTable.columns.expandRow.expandLabel": "展开", + "core.statusPage.statusTable.columns.expandRowHeader": "展开行", "core.statusPage.statusTable.columns.idHeader": "ID", "core.statusPage.statusTable.columns.statusHeader": "状态", + "core.statusPage.statusTable.columns.statusSummaryHeader": "状态摘要", "core.toasts.errorToast.seeFullError": "请参阅完整的错误信息", "core.ui_settings.params.darkModeText": "对 Kibana UI 启用深色模式。需要刷新页面,才能应用设置。", "core.ui_settings.params.darkModeTitle": "深色模式", @@ -1251,7 +1694,7 @@ "dashboard.createConfirmModal.cancelButtonLabel": "取消", "dashboard.createConfirmModal.confirmButtonLabel": "重头开始", "dashboard.createConfirmModal.continueButtonLabel": "继续编辑", - "dashboard.createConfirmModal.unsavedChangesSubtitle": "可以继续编辑或从空白仪表板开始。", + "dashboard.createConfirmModal.unsavedChangesSubtitle": "继续编辑或使用空白仪表板从头开始。", "dashboard.createConfirmModal.unsavedChangesTitle": "新仪表板已在创建中", "dashboard.dashboardAppBreadcrumbsTitle": "仪表板", "dashboard.dashboardGrid.toast.unableToLoadDashboardDangerMessage": "无法加载仪表板。", @@ -1280,12 +1723,13 @@ "dashboard.helpMenu.appName": "仪表板", "dashboard.howToStartWorkingOnNewDashboardDescription": "单击上面菜单栏中的“编辑”以开始添加面板。", "dashboard.howToStartWorkingOnNewDashboardEditLinkAriaLabel": "编辑仪表板", - "dashboard.labs.enableLabsDescription": "此标志决定查看者是否有权访问“实验”按钮,用于在仪表板中快速启用和禁用实验性功能。", + "dashboard.labs.enableLabsDescription": "此标志决定查看者是否有权访问用于在仪表板中快速启用和禁用技术预览功能的“实验”按钮。", "dashboard.labs.enableUI": "在仪表板中启用实验按钮", - "dashboard.listing.createNewDashboard.combineDataViewFromKibanaAppDescription": "您可以将任何 Kibana 应用的数据视图组合到一个仪表板中,从而在一个位置查看所有内容。", - "dashboard.listing.createNewDashboard.createButtonLabel": "创建新的仪表板", + "dashboard.listing.createNewDashboard.combineDataViewFromKibanaAppDescription": "通过创建仪表板并添加可视化,在一个位置分析所有 Elastic 数据。", + "dashboard.listing.createNewDashboard.createButtonLabel": "创建仪表板", + "dashboard.listing.createNewDashboard.inProgressTitle": "仪表板在创建中", "dashboard.listing.createNewDashboard.newToKibanaDescription": "Kibana 新手?{sampleDataInstallLink}来试用一下。", - "dashboard.listing.createNewDashboard.sampleDataInstallLinkText": "安装一些样例数据", + "dashboard.listing.createNewDashboard.sampleDataInstallLinkText": "添加一些样例数据", "dashboard.listing.createNewDashboard.title": "创建您的首个仪表板", "dashboard.listing.readonlyNoItemsBody": "没有可用的仪表板。要更改您的权限以查看此工作区中的仪表板,请联系管理员。", "dashboard.listing.readonlyNoItemsTitle": "没有可查看的仪表板", @@ -1298,7 +1742,7 @@ "dashboard.listing.unsaved.editAria": "继续编辑 {title}", "dashboard.listing.unsaved.editTitle": "继续编辑", "dashboard.listing.unsaved.loading": "正在加载", - "dashboard.listing.unsaved.unsavedChangesTitle": "在以下 {dash} 中有未保存更改。", + "dashboard.listing.unsaved.unsavedChangesTitle": "在以下 {dash} 中有未保存更改:", "dashboard.loadingError.errorMessage": "加载保存的仪表板时发生错误:{message}", "dashboard.migratedChanges": "某些面板已成功更新到最新版本。", "dashboard.noMatchRoute.bannerText": "Dashboard 应用程序无法识别此路由:{route}。", @@ -1597,6 +2041,13 @@ "data.search.aggs.buckets.dateRange.schema.help": "要用于此聚合的方案", "data.search.aggs.buckets.dateRange.timeZone.help": "要用于此聚合的时区。", "data.search.aggs.buckets.dateRangeTitle": "日期范围", + "data.search.aggs.buckets.diversifiedSampler.enabled.help": "指定是否启用此聚合", + "data.search.aggs.buckets.diversifiedSampler.field.help": "用于提供用于消重的值。", + "data.search.aggs.buckets.diversifiedSampler.id.help": "此聚合的 ID", + "data.search.aggs.buckets.diversifiedSampler.maxDocsPerValue.help": "限制每个消重值选择允许的文档数。", + "data.search.aggs.buckets.diversifiedSampler.schema.help": "要用于此聚合的方案", + "data.search.aggs.buckets.diversifiedSampler.shardSize.help": "shard_size 参数限制在每个分片上处理的样例中收集的评分最高文档数。", + "data.search.aggs.buckets.diversifiedSamplerTitle": "多样化取样器", "data.search.aggs.buckets.filter.customLabel.help": "表示此聚合的定制标签", "data.search.aggs.buckets.filter.enabled.help": "指定是否启用此聚合", "data.search.aggs.buckets.filter.filter.help": "根据 kql 或 lucene 查询筛选结果。切勿同时使用 geo_bounding_box", @@ -1664,6 +2115,21 @@ "data.search.aggs.buckets.ipRange.schema.help": "要用于此聚合的方案", "data.search.aggs.buckets.ipRangeLabel": "{fieldName} IP 范围", "data.search.aggs.buckets.ipRangeTitle": "IP 范围", + "data.search.aggs.buckets.multiTerms.customLabel.help": "表示此聚合的定制标签", + "data.search.aggs.buckets.multiTerms.enabled.help": "指定是否启用此聚合", + "data.search.aggs.buckets.multiTerms.fields.help": "要用于此聚合的字段", + "data.search.aggs.buckets.multiTerms.id.help": "此聚合的 ID", + "data.search.aggs.buckets.multiTerms.json.help": "聚合发送至 Elasticsearch 时要包括的高级 json", + "data.search.aggs.buckets.multiTerms.order.help": "返回结果的顺序:asc 或 desc", + "data.search.aggs.buckets.multiTerms.orderAgg.help": "要用于排列结果的聚合配置", + "data.search.aggs.buckets.multiTerms.orderBy.help": "排列结果的依据字段", + "data.search.aggs.buckets.multiTerms.otherBucket.help": "设置为 true 时,将超过允许大小的任何存储桶分组在一起", + "data.search.aggs.buckets.multiTerms.otherBucketLabel.help": "在图表中用于“其他”存储桶中的文档的默认标签", + "data.search.aggs.buckets.multiTerms.otherFilterJoinName": "或", + "data.search.aggs.buckets.multiTerms.schema.help": "要用于此聚合的方案", + "data.search.aggs.buckets.multiTerms.separatorLabel.help": "分隔符标签用于联接每个词组合", + "data.search.aggs.buckets.multiTerms.size.help": "要检索的存储桶数目上限", + "data.search.aggs.buckets.multiTermsTitle": "多词", "data.search.aggs.buckets.range.customLabel.help": "表示此聚合的定制标签", "data.search.aggs.buckets.range.enabled.help": "指定是否启用此聚合", "data.search.aggs.buckets.range.field.help": "要用于此聚合的字段", @@ -1672,6 +2138,17 @@ "data.search.aggs.buckets.range.ranges.help": "要用于此聚合的序列化范围。", "data.search.aggs.buckets.range.schema.help": "要用于此聚合的方案", "data.search.aggs.buckets.rangeTitle": "范围", + "data.search.aggs.buckets.rareTerms.enabled.help": "指定是否启用此聚合", + "data.search.aggs.buckets.rareTerms.fields.help": "要用于此聚合的字段", + "data.search.aggs.buckets.rareTerms.id.help": "此聚合的 ID", + "data.search.aggs.buckets.rareTerms.maxDocCount.help": "判定为稀有的词允许出现的最大次数", + "data.search.aggs.buckets.rareTerms.schema.help": "要用于此聚合的方案", + "data.search.aggs.buckets.rareTermsTitle": "稀有词", + "data.search.aggs.buckets.sampler.enabled.help": "指定是否启用此聚合", + "data.search.aggs.buckets.sampler.id.help": "此聚合的 ID", + "data.search.aggs.buckets.sampler.schema.help": "要用于此聚合的方案", + "data.search.aggs.buckets.sampler.shardSize.help": "shard_size 参数限制在每个分片上处理的样例中收集的评分最高文档数。", + "data.search.aggs.buckets.samplerTitle": "取样器", "data.search.aggs.buckets.shardDelay.customLabel.help": "表示此聚合的定制标签", "data.search.aggs.buckets.shardDelay.delay.help": "要处理的分片之间的延迟。例如:“5s”。", "data.search.aggs.buckets.shardDelay.enabled.help": "指定是否启用此聚合", @@ -1691,6 +2168,21 @@ "data.search.aggs.buckets.significantTerms.size.help": "要检索的存储桶数目上限", "data.search.aggs.buckets.significantTermsLabel": "{fieldName} 中排名前 {size} 的罕见词", "data.search.aggs.buckets.significantTermsTitle": "重要词", + "data.search.aggs.buckets.significantText.customLabel.help": "表示此聚合的定制标签", + "data.search.aggs.buckets.significantText.enabled.help": "指定是否启用此聚合", + "data.search.aggs.buckets.significantText.exclude.help": "指定要从结果中排除的存储桶值", + "data.search.aggs.buckets.significantText.excludeLabel": "排除", + "data.search.aggs.buckets.significantText.field.help": "要用于此聚合的字段", + "data.search.aggs.buckets.significantText.filterDuplicateText.help": "筛选近乎重复的文本", + "data.search.aggs.buckets.significantText.id.help": "此聚合的 ID", + "data.search.aggs.buckets.significantText.include.help": "指定要在结果中包括的存储桶值", + "data.search.aggs.buckets.significantText.includeLabel": "包括", + "data.search.aggs.buckets.significantText.json.help": "聚合发送至 Elasticsearch 时要包括的高级 json", + "data.search.aggs.buckets.significantText.minDocCount.help": "返回与多个配置的数字匹配的词", + "data.search.aggs.buckets.significantText.schema.help": "要用于此聚合的方案", + "data.search.aggs.buckets.significantText.size.help": "要检索的存储桶数目上限", + "data.search.aggs.buckets.significantTextLabel": "“{fieldName}”文本中排名前 {size} 的罕见词", + "data.search.aggs.buckets.significantTextTitle": "重要文本", "data.search.aggs.buckets.terms.customLabel.help": "表示此聚合的定制标签", "data.search.aggs.buckets.terms.enabled.help": "指定是否启用此聚合", "data.search.aggs.buckets.terms.exclude.help": "指定要从结果中排除的存储桶值", @@ -1719,15 +2211,20 @@ "data.search.aggs.error.aggNotFound": "无法为“{type}”找到注册的聚合类型。", "data.search.aggs.function.buckets.dateHistogram.help": "为 Histogram 聚合生成序列化聚合配置", "data.search.aggs.function.buckets.dateRange.help": "为日期范围聚合生成序列化聚合配置", + "data.search.aggs.function.buckets.diversifiedSampler.help": "为多样性取样器聚合生成序列化聚合配置", "data.search.aggs.function.buckets.filter.help": "为筛选聚合生成序列化聚合配置", "data.search.aggs.function.buckets.filters.help": "为筛选聚合生成序列化聚合配置", "data.search.aggs.function.buckets.geoHash.help": "为地理位置哈希聚合生成序列化聚合配置", "data.search.aggs.function.buckets.geoTile.help": "为地理位置磁帖聚合生成序列化聚合配置", "data.search.aggs.function.buckets.histogram.help": "为 Histogram 聚合生成序列化聚合配置", "data.search.aggs.function.buckets.ipRange.help": "为 IP 范围聚合生成序列化聚合配置", + "data.search.aggs.function.buckets.multiTerms.help": "为多词聚合生成序列化聚合配置", "data.search.aggs.function.buckets.range.help": "为范围聚合生成序列化聚合配置", + "data.search.aggs.function.buckets.rareTerms.help": "为稀有词聚合生成序列化聚合配置", + "data.search.aggs.function.buckets.sampler.help": "为取样器聚合生成序列化聚合配置", "data.search.aggs.function.buckets.shardDelay.help": "为分片延迟聚合生成序列化聚合配置", "data.search.aggs.function.buckets.significantTerms.help": "为重要词聚合生成序列化聚合配置", + "data.search.aggs.function.buckets.significantText.help": "为重要文本聚合生成序列化聚合配置", "data.search.aggs.function.buckets.terms.help": "为词聚合生成序列化聚合配置", "data.search.aggs.function.metrics.avg.help": "为平均值聚合生成序列化聚合配置", "data.search.aggs.function.metrics.bucket_avg.help": "为平均值存储桶聚合生成序列化聚合配置", @@ -1978,8 +2475,14 @@ "data.search.aggs.paramTypes.field.notFoundSavedFieldParameterErrorMessage": "与此对象关联的字段“{fieldParameter}”在该数据视图中已不再存在。请使用其他字段。", "data.search.aggs.paramTypes.field.requiredFieldParameterErrorMessage": "{fieldParameter} 是必需字段", "data.search.aggs.percentageOfLabel": "{label} 的百分比", + "data.search.aggs.rareTerms.aggTypesLabel": "{fieldName} 的稀有词", "data.search.aggs.string.customLabel": "定制标签", "data.search.dataRequest.title": "数据", + "data.search.eql.field.help": "要检索的字段列表", + "data.search.eql.help": "运行 Elasticsearch 请求", + "data.search.eql.index.help": "要查询的 ElasticSearch 索引", + "data.search.eql.q.help": "查询 DSL", + "data.search.eql.size.help": "ElasticSearch searchAPI 大小参数", "data.search.es_search.dataRequest.description": "此请求查询 Elasticsearch,以获取可视化的数据。", "data.search.es_search.dataViewLabel": "数据视图", "data.search.es_search.hitsDescription": "查询返回的文档数目。", @@ -2169,8 +2672,11 @@ "dataViews.functions.dataViewLoad.id.help": "要加载的数据视图 ID", "dataViews.indexPatternLoad.error.kibanaRequest": "在服务器上执行此搜索时需要 Kibana 请求。请向表达式执行模式参数提供请求对象。", "dataViews.unableWriteLabel": "无法写入数据视图!请刷新页面以获取此数据视图的最新更改。", + "devTools.badge.betaLabel": "公测版", + "devTools.badge.betaTooltipText": "此功能在未来的版本中可能会变化很大", "devTools.badge.readOnly.text": "只读", "devTools.badge.readOnly.tooltip": "无法保存", + "devTools.breadcrumb.homeLabel": "开发工具", "devTools.devToolsTitle": "开发工具", "discover.advancedSettings.context.defaultSizeText": "要在上下文视图中显示的周围条目数目", "discover.advancedSettings.context.defaultSizeTitle": "上下文大小", @@ -2182,20 +2688,26 @@ "discover.advancedSettings.defaultColumnsTitle": "默认列", "discover.advancedSettings.disableDocumentExplorer": "Document Explorer 或经典视图", "discover.advancedSettings.disableDocumentExplorerDescription": "要使用新的 Document Explorer,而非经典视图,请关闭此选项。Document Explorer 提供了更合理的数据排序、可调整大小的列和全屏视图。", + "discover.advancedSettings.discover.fieldStatisticsLinkText": "字段统计信息视图", "discover.advancedSettings.discover.modifyColumnsOnSwitchText": "移除新数据视图中不存在的列。", "discover.advancedSettings.discover.modifyColumnsOnSwitchTitle": "在更改数据视图时修改列", "discover.advancedSettings.discover.multiFieldsLinkText": "多字段", "discover.advancedSettings.discover.readFieldsFromSource": "从 _source 读取字段", "discover.advancedSettings.discover.readFieldsFromSourceDescription": "启用后,将直接从 `_source` 加载文档。这很快将被弃用。禁用后,将通过高级别搜索服务中的新字段 API 检索字段。", "discover.advancedSettings.discover.showFieldStatistics": "显示字段统计信息", + "discover.advancedSettings.discover.showFieldStatisticsDescription": "启用 {fieldStatisticsDocs} 以显示详细信息,如数字字段的最小和最大值,或地理字段的地图。此功能为公测版,可能会进行更改。", "discover.advancedSettings.discover.showMultifields": "显示多字段", "discover.advancedSettings.discover.showMultifieldsDescription": "控制 {multiFields} 是否显示在展开的文档视图中。多数情况下,多字段与原始字段相同。此选项仅在 `searchFieldsFromSource` 关闭时可用。", "discover.advancedSettings.docTableHideTimeColumnText": "在 Discover 中和仪表板上的所有已保存搜索中隐藏“时间”列。", "discover.advancedSettings.docTableHideTimeColumnTitle": "隐藏“时间”列", "discover.advancedSettings.fieldsPopularLimitText": "要显示的排名前 N 最常见字段", "discover.advancedSettings.fieldsPopularLimitTitle": "常见字段限制", - "discover.advancedSettings.maxDocFieldsDisplayedText": "在文档列中渲染的最大字段数目", + "discover.advancedSettings.maxDocFieldsDisplayedText": "在文档摘要中渲染的最大字段数目", "discover.advancedSettings.maxDocFieldsDisplayedTitle": "显示的最大文档字段数", + "discover.advancedSettings.params.maxCellHeightText": "表单元格应占用的最大高度。设置为 0 可禁用截断。", + "discover.advancedSettings.params.maxCellHeightTitle": "经典表中的最大单元格高度", + "discover.advancedSettings.params.rowHeightText": "一行中允许的文本行数。值为 -1 时,会自动调整行高以适应内容。值为 0 时,会在单文本行中显示内容。", + "discover.advancedSettings.params.rowHeightTitle": "Document Explorer 中的行高", "discover.advancedSettings.sampleSizeText": "要在表中显示的行数目", "discover.advancedSettings.sampleSizeTitle": "行数目", "discover.advancedSettings.searchOnPageLoadText": "控制在 Discover 首次加载时是否执行搜索。加载已保存搜索时,此设置无效。", @@ -2236,7 +2748,8 @@ "discover.discoverBreadcrumbTitle": "Discover", "discover.discoverDefaultSearchSessionName": "发现", "discover.discoverDescription": "通过查询和筛选原始文档来以交互方式浏览您的数据。", - "discover.discoverError.title": "加载 Discover 时出错", + "discover.discoverError.missingQueryParamsError": "URL 查询字符串缺少 {missingParamsList}。", + "discover.discoverError.title": "无法加载此页面", "discover.discoverSubtitle": "搜索和查找数据分析结果。", "discover.discoverTitle": "Discover", "discover.doc.couldNotFindDocumentsDescription": "无文档匹配该 ID。", @@ -2246,6 +2759,10 @@ "discover.doc.loadingDescription": "正在加载……", "discover.doc.somethingWentWrongDescription": "{indexName} 缺失。", "discover.doc.somethingWentWrongDescriptionAddon": "请确保索引存在。", + "discover.docExplorerCallout.bodyMessage": "使用 Document Explorer 快速排序、选择和比较数据,调整列大小并以全屏方式查看文档。", + "discover.docExplorerCallout.closeButtonAriaLabel": "关闭", + "discover.docExplorerCallout.headerMessage": "更好的浏览方式", + "discover.docExplorerCallout.tryDocumentExplorer": "试用 Document Explorer", "discover.docTable.documentsNavigation": "文档导航", "discover.docTable.limitedSearchResultLabel": "仅限于 {resultCount} 个结果。优化您的搜索。", "discover.docTable.noResultsTitle": "找不到结果", @@ -2273,12 +2790,15 @@ "discover.docTable.tableRow.viewSurroundingDocumentsLinkText": "查看周围文档", "discover.docTable.totalDocuments": "{totalDocuments} 个文档", "discover.documentsAriaLabel": "文档", + "discover.docView.table.actions.label": "操作", + "discover.docView.table.actions.open": "打开操作", "discover.docView.table.ignored.multiAboveTooltip": "此字段中的一个或多个值过长,无法搜索或筛选。", "discover.docView.table.ignored.multiMalformedTooltip": "此字段包含一个或多个格式错误的值,无法搜索或筛选。", "discover.docView.table.ignored.multiUnknownTooltip": "此字段中的一个或多个值被 Elasticsearch 忽略,无法搜索或筛选。", "discover.docView.table.ignored.singleAboveTooltip": "此字段中的值过长,无法搜索或筛选。", "discover.docView.table.ignored.singleMalformedTooltip": "此字段中的值格式错误,无法搜索或筛选。", "discover.docView.table.ignored.singleUnknownTooltip": "此字段中的值被 Elasticsearch 忽略,无法搜索或筛选。", + "discover.docView.table.searchPlaceHolder": "搜索字段名称", "discover.docViews.json.jsonTitle": "JSON", "discover.docViews.table.filterForFieldPresentButtonAriaLabel": "筛留存在的字段", "discover.docViews.table.filterForFieldPresentButtonTooltip": "字段是否存在筛选", @@ -2288,6 +2808,8 @@ "discover.docViews.table.filterOutValueButtonTooltip": "筛除值", "discover.docViews.table.ignored.multiValueLabel": "包含被忽略的值", "discover.docViews.table.ignored.singleValueLabel": "被忽略的值", + "discover.docViews.table.pinFieldAriaLabel": "固定字段", + "discover.docViews.table.pinFieldLabel": "固定字段", "discover.docViews.table.scoreSortWarningTooltip": "要检索 _score 的值,必须按其筛选。", "discover.docViews.table.tableTitle": "表", "discover.docViews.table.toggleColumnInTableButtonAriaLabel": "在表中切换列", @@ -2296,12 +2818,16 @@ "discover.docViews.table.unableToFilterForPresenceOfMetaFieldsTooltip": "无法筛选元数据字段是否存在", "discover.docViews.table.unableToFilterForPresenceOfScriptedFieldsTooltip": "无法筛选脚本字段是否存在", "discover.docViews.table.unindexedFieldsCanNotBeSearchedTooltip": "无法搜索未编入索引的字段或被忽略的值", + "discover.docViews.table.unpinFieldAriaLabel": "取消固定字段", + "discover.docViews.table.unpinFieldLabel": "取消固定字段", "discover.embeddable.inspectorRequestDataTitle": "数据", "discover.embeddable.inspectorRequestDescription": "此请求将查询 Elasticsearch 以获取搜索的数据。", "discover.embeddable.search.displayName": "搜索", + "discover.errorLoadingChart": "加载图表时出错", "discover.field.mappingConflict": "此字段在匹配此模式的各个索引中已定义为若干类型(字符串、整数等)。您可能仍可以使用此冲突字段,但它无法用于需要 Kibana 知道其类型的函数。要解决此问题,需要重新索引您的数据。", "discover.field.mappingConflict.title": "映射冲突", "discover.field.title": "{fieldName} ({fieldDisplayName})", + "discover.fieldChooser.dataViews.createNewDataView": "创建新的数据视图", "discover.fieldChooser.detailViews.emptyStringText": "空字符串", "discover.fieldChooser.detailViews.existsInRecordsText": "存在于 {value} / {totalValue} 条记录中", "discover.fieldChooser.detailViews.filterOutValueButtonAriaLabel": "筛除 {field}:“{value}”", @@ -2340,8 +2866,8 @@ "discover.fieldChooser.filter.typeLabel": "类型", "discover.fieldChooser.indexPattern.changeDataViewTitle": "更改数据视图", "discover.fieldChooser.indexPatterns.actionsPopoverLabel": "数据视图设置", - "discover.fieldChooser.indexPatterns.addFieldButton": "将字段添加到数据视图", - "discover.fieldChooser.indexPatterns.manageFieldButton": "管理数据视图字段", + "discover.fieldChooser.indexPatterns.addFieldButton": "添加字段", + "discover.fieldChooser.indexPatterns.manageFieldButton": "管理设置", "discover.fieldChooser.searchPlaceHolder": "搜索字段名称", "discover.fieldChooser.toggleFieldFilterButtonHideAriaLabel": "隐藏字段筛选设置", "discover.fieldChooser.toggleFieldFilterButtonShowAriaLabel": "显示字段筛选设置", @@ -2362,6 +2888,8 @@ "discover.fieldNameIcons.stringFieldAriaLabel": "字符串字段", "discover.fieldNameIcons.textFieldAriaLabel": "文本字段", "discover.fieldNameIcons.unknownFieldAriaLabel": "未知字段", + "discover.fieldNameIcons.versionFieldAriaLabel": "版本字段", + "discover.goToDiscoverMainViewButtonText": "前往 Discover 主视图", "discover.grid.documentHeader": "文档", "discover.grid.filterFor": "筛留", "discover.grid.filterForAria": "筛留此 {value}", @@ -2417,6 +2945,9 @@ "discover.noResults.queryMayNotMatchTitle": "尝试搜索更长的时间段。", "discover.noResults.searchExamples.noResultsBecauseOfError": "检索搜索结果时遇到问题", "discover.noResults.searchExamples.noResultsMatchSearchCriteriaTitle": "没有任何结果匹配您的搜索条件", + "discover.noResults.temporaryDisablingFiltersLinkText": "正临时禁用筛选", + "discover.noResults.tryRemovingOrDisablingFilters": "尝试删除或{disablingFiltersLink}。", + "discover.noResults.trySearchingForDifferentCombination": "尝试搜索不同的词组合。", "discover.noResultsFound": "找不到结果", "discover.notifications.invalidTimeRangeText": "提供的时间范围无效。(自:“{from}”,至:“{to}”)", "discover.notifications.invalidTimeRangeTitle": "时间范围无效", @@ -2466,6 +2997,7 @@ "discover.uninitializedRefreshButtonText": "刷新数据", "discover.uninitializedText": "编写查询,添加一些筛选,或只需单击“刷新”来检索当前查询的结果。", "discover.uninitializedTitle": "开始搜索", + "discover.utils.formatHit.moreFields": "及另外 {count} 个{count, plural, other {字段}}", "discover.valueIsNotConfiguredDataViewIDWarningTitle": "{stateVal} 不是配置的数据视图 ID", "discover.viewModes.document.label": "文档", "discover.viewModes.fieldStatistics.betaTitle": "公测版", @@ -2501,6 +3033,7 @@ "embeddableApi.panel.labelAborted": "已中止", "embeddableApi.panel.labelError": "错误", "embeddableApi.panel.optionsMenu.panelOptionsButtonAriaLabel": "面板选项", + "embeddableApi.panel.optionsMenu.panelOptionsButtonAriaLabelWithIndex": "面板 {index} 的选项", "embeddableApi.panel.optionsMenu.panelOptionsButtonEnhancedAriaLabel": "{title} 的面板选项", "embeddableApi.panel.placeholderTitle": "[无标题]", "embeddableApi.panel.removePanel.displayName": "从仪表板删除", @@ -2585,6 +3118,41 @@ "expressionError.renderer.debug.helpDescription": "将故障排查输出呈现为带格式的 {JSON}", "expressionError.renderer.error.displayName": "错误信息", "expressionError.renderer.error.helpDescription": "以用户友好的方式呈现错误数据", + "expressionGauge.renderer.chartCannotRenderEqual": "最小值和最大值不能相等", + "expressionGauge.renderer.chartCannotRenderMinGreaterMax": "最小值不能大于最大值", + "expressionGauge.renderer.visualizationName": "仪表盘", + "expressionHeatmap.function.args.addTooltipHelpText": "在悬浮时显示工具提示", + "expressionHeatmap.function.args.grid.isCellLabelVisible.help": "指定单元格标签是否可见。", + "expressionHeatmap.function.args.grid.isXAxisLabelVisible.help": "指定 X 轴标签是否可见。", + "expressionHeatmap.function.args.grid.isXAxisTitleVisible.help": "指定 X 轴标题是否可见。", + "expressionHeatmap.function.args.grid.isYAxisLabelVisible.help": "指定 Y 轴标签是否可见。", + "expressionHeatmap.function.args.grid.isYAxisTitleVisible.help": "指定 Y 轴标题是否可见。", + "expressionHeatmap.function.args.grid.strokeColor.help": "指定网格笔画颜色", + "expressionHeatmap.function.args.grid.strokeWidth.help": "指定网格笔画宽度", + "expressionHeatmap.function.args.grid.xTitle.help": "指定 X 轴的标题", + "expressionHeatmap.function.args.grid.yTitle.help": "指定 Y 轴的标题", + "expressionHeatmap.function.args.highlightInHoverHelpText": "如果启用此项,则会在将鼠标悬停在图例上时突出显示相同颜色的范围", + "expressionHeatmap.function.args.lastRangeIsRightOpen": "如果设置为 true,最后一个范围值将为右开", + "expressionHeatmap.function.args.legend.isVisible.help": "指定图例是否可见。", + "expressionHeatmap.function.args.legend.maxLines.help": "指定每个图例项的行数。", + "expressionHeatmap.function.args.legend.position.help": "指定图例位置。", + "expressionHeatmap.function.args.legend.shouldTruncate.help": "指定是否截断图例项。", + "expressionHeatmap.function.args.splitColumnAccessorHelpText": "拆分列或对应维度的 ID", + "expressionHeatmap.function.args.splitRowAccessorHelpText": "拆分行或对应维度的 ID", + "expressionHeatmap.function.args.valueAccessorHelpText": "值列或对应维度的 ID", + "expressionHeatmap.function.args.xAccessorHelpText": "X 轴列或对应维度的 ID", + "expressionHeatmap.function.args.yAccessorHelpText": "Y 轴列或对应维度的 ID", + "expressionHeatmap.function.dimension.metric": "指标", + "expressionHeatmap.function.dimension.splitColumn": "按列拆分", + "expressionHeatmap.function.dimension.splitRow": "按行拆分", + "expressionHeatmap.function.dimension.xaxis": "X 轴", + "expressionHeatmap.function.dimension.yaxis": "Y 轴", + "expressionHeatmap.function.gridConfig.help": "配置热图布局。", + "expressionHeatmap.function.help": "热图可视化", + "expressionHeatmap.function.legendConfig.help": "配置图表图例。", + "expressionHeatmap.function.palette.help": "根据边界为值提供颜色。", + "expressionHeatmap.function.percentageMode.help": "如果打开,将以百分比显示工具提示和图例。", + "expressionHeatmap.visualizationName": "热图", "expressionImage.functions.image.args.dataurlHelpText": "图像的 {https} {URL} 或 {BASE64} 数据 {URL}。", "expressionImage.functions.image.args.modeHelpText": "{contain} 将显示整个图像,图像缩放至适合大小。{cover} 将使用该图像填充容器,根据需要在两边或底部裁剪图像。{stretch} 将图像的高和宽调整为容器的 100%。", "expressionImage.functions.image.invalidImageModeErrorMessage": "“mode”必须为“{contain}”、“{cover}”或“{stretch}”", @@ -2605,6 +3173,7 @@ "expressionMetricVis.function.font.help": "字体设置。", "expressionMetricVis.function.help": "指标可视化", "expressionMetricVis.function.metric.help": "指标维度配置", + "expressionMetricVis.function.palette.help": "根据边界为值提供颜色。", "expressionMetricVis.function.percentageMode.help": "以百分比模式显示指标。需要设置 colorRange。", "expressionMetricVis.function.showLabels.help": "在指标值下显示标签。", "expressionRepeatImage.error.repeatImage.missingMaxArgument": "如果提供 {emptyImageArgument},则必须设置 {maxArgument}", @@ -2645,10 +3214,12 @@ "expressions.functions.font.args.familyHelpText": "可接受的 {css} Web 字体字符串", "expressions.functions.font.args.italicHelpText": "使文本变为斜体?", "expressions.functions.font.args.lHeightHelpText": "行高(像素)", - "expressions.functions.font.args.sizeHelpText": "字体大小(像素)", + "expressions.functions.font.args.sizeHelpText": "字体大小", + "expressions.functions.font.args.sizeUnitHelpText": "字体大小单位", "expressions.functions.font.args.underlineHelpText": "为文本加下划线?", "expressions.functions.font.args.weightHelpText": "字体粗细。例如 {list} 或 {end}。", "expressions.functions.font.invalidFontWeightErrorMessage": "无效的字体粗细:“{weight}”", + "expressions.functions.font.invalidSizeUnitErrorMessage": "无效的大小单位:“{sizeUnit}”", "expressions.functions.font.invalidTextAlignmentErrorMessage": "无效的文本对齐方式:“{align}”", "expressions.functions.fontHelpText": "创建字体样式。", "expressions.functions.mapColumn.args.copyMetaFromHelpText": "如果设置,指定列 ID 的元对象将复制到指定目标列。如果列不存在,复制将无提示失败。", @@ -2735,33 +3306,6 @@ "expressionTagcloud.functions.tagcloudHelpText": "标签云图可视化。", "expressionTagcloud.renderer.tagcloud.displayName": "标签云图可视化", "expressionTagcloud.renderer.tagcloud.helpDescription": "呈现标签云图", - "expressionPartitionVis.reusable.function.dimension.buckets": "切片", - "expressionPartitionVis.reusable.function.args.legendDisplayHelpText": "显示图表图例", - "expressionPartitionVis.reusable.function.args.addTooltipHelpText": "在切片上悬浮时显示工具提示", - "expressionPartitionVis.reusable.function.args.bucketsHelpText": "存储桶维度配置", - "expressionPartitionVis.pieVis.function.args.distinctColorsHelpText": "每个切片映射不同颜色。具有相同值的切片具有相同的颜色", - "expressionPartitionVis.reusable.function.args.isDonutHelpText": "将饼图显示为圆环图", - "expressionPartitionVis.reusable.function.args.labelsHelpText": "饼图标签配置", - "expressionPartitionVis.reusable.function.args.legendPositionHelpText": "将图例定位于图表的顶部、底部、左侧、右侧", - "expressionPartitionVis.reusable.function.args.maxLegendLinesHelpText": "定义每个图例项的行数", - "expressionPartitionVis.reusable.function.args.metricHelpText": "指标维度配置", - "expressionPartitionVis.reusable.function.args.nestedLegendHelpText": "显示更详细的图例", - "expressionPartitionVis.reusable.function.args.paletteHelpText": "定义图表调色板名称", - "expressionPartitionVis.reusable.function.args.splitColumnHelpText": "按列维度配置拆分", - "expressionPartitionVis.reusable.function.args.splitRowHelpText": "按行维度配置拆分", - "expressionPartitionVis.reusable.function.args.truncateLegendHelpText": "定义是否将截断图例项", - "expressionPartitionVis.reusable.function.dimension.metric": "切片大小", - "expressionPartitionVis.reusable.function.dimension.splitcolumn": "列拆分", - "expressionPartitionVis.reusable.function.dimension.splitrow": "行拆分", - "expressionPartitionVis.partitionLabels.function.help": "生成饼图标签对象", - "expressionPartitionVis.partitionLabels.function.args.percentDecimals.help": "定义在值中将显示为百分比的小数位数", - "expressionPartitionVis.partitionLabels.function.args.position.help": "定义标签位置", - "expressionPartitionVis.partitionLabels.function.args.values.help": "定义切片内的值", - "expressionPartitionVis.partitionLabels.function.args.valuesFormat.help": "定义值的格式", - "expressionPartitionVis.pieVis.function.help": "饼图可视化", - "expressionPartitionVis.legend.filterForValueButtonAriaLabel": "筛留值", - "expressionPartitionVis.legend.filterOptionsLegend": "{legendDataLabel}, 筛选选项", - "expressionPartitionVis.legend.filterOutValueButtonAriaLabel": "筛除值", "fieldFormats.advancedSettings.format.bytesFormat.numeralFormatLinkText": "数值格式", "fieldFormats.advancedSettings.format.bytesFormatText": "“字节”格式的默认{numeralFormatLink}", "fieldFormats.advancedSettings.format.bytesFormatTitle": "字节格式", @@ -2817,6 +3361,10 @@ "fieldFormats.duration.outputFormats.humanize.approximate": "可人工读取(近似)", "fieldFormats.duration.outputFormats.humanize.precise": "可人工读取(精确)", "fieldFormats.duration.title": "持续时间", + "fieldFormats.geoPoint.title": "地理点", + "fieldFormats.geoPoint.transformOptions.latLonString": "带格式的字符串:“lat,lon”", + "fieldFormats.geoPoint.transformOptions.none": "- 无 -", + "fieldFormats.geoPoint.transformOptions.wkt": "Well-Known Text", "fieldFormats.histogram.title": "直方图", "fieldFormats.ip.title": "IP 地址", "fieldFormats.number.title": "数字", @@ -2948,6 +3496,7 @@ "home.tutorial.instructionSet.noDataLabel": "未找到任何数据", "home.tutorial.instructionSet.statusCheckTitle": "状态检查", "home.tutorial.instructionSet.successLabel": "成功", + "home.tutorial.introduction.beatsBadgeLabel": "Beats", "home.tutorial.introduction.betaLabel": "公测版", "home.tutorial.introduction.browseAllIntegrationsButton": "浏览所有集成", "home.tutorial.introduction.imageAltDescription": "主仪表板的截图。", @@ -3755,6 +4304,7 @@ "indexPatternEditor.typeSelect.standard": "标准", "indexPatternEditor.typeSelect.standardDescription": "对任何数据执行完全聚合", "indexPatternEditor.typeSelect.standardTitle": "标准数据视图", + "indexPatternEditor.validations.noSingleAstriskPattern": "不允许以单个“*”作为索引模式", "indexPatternEditor.validations.titleHelpText": "输入与一个或多个数据源匹配的索引模式。使用星号 (*) 匹配多个字符。不允许使用空格和字符 /、?、\"、<、>、|。", "indexPatternEditor.validations.titleIsRequiredErrorMessage": "名称必填。", "indexPatternFieldEditor.cancelField.confirmationModal.cancelButtonLabel": "取消", @@ -3818,8 +4368,10 @@ "indexPatternFieldEditor.editor.form.runtimeType.placeholderLabel": "选择类型", "indexPatternFieldEditor.editor.form.runtimeTypeLabel": "类型", "indexPatternFieldEditor.editor.form.script.learnMoreLinkText": "了解脚本语法。", + "indexPatternFieldEditor.editor.form.scriptEditor.castErrorMessage": "确认已正确设置运行时字段类型。", "indexPatternFieldEditor.editor.form.scriptEditor.compileErrorMessage": "编译 Painless 脚本时出错", "indexPatternFieldEditor.editor.form.scriptEditorAriaLabel": "脚本编辑器", + "indexPatternFieldEditor.editor.form.scriptEditorPainlessValidationMessage": "Painless 脚本无效。", "indexPatternFieldEditor.editor.form.source.scriptFieldHelpText": "没有脚本的运行时字段从 {source} 中检索值。如果字段在 _source 中不存在,搜索请求将不返回值。{learnMoreLink}", "indexPatternFieldEditor.editor.form.typeSelectAriaLabel": "类型选择", "indexPatternFieldEditor.editor.form.validations.customLabelIsRequiredErrorMessage": "为字段提供标签。", @@ -3838,10 +4390,17 @@ "indexPatternFieldEditor.fieldPreview.emptyPromptDescription": "输入现有字段的名称或定义脚本以查看计算输出的预览。", "indexPatternFieldEditor.fieldPreview.emptyPromptTitle": "预览", "indexPatternFieldEditor.fieldPreview.error.documentNotFoundDescription": "未找到文档 ID", - "indexPatternFieldEditor.fieldPreview.errorCallout.title": "预览错误", + "indexPatternFieldEditor.fieldPreview.error.errorLoadingDocumentDescription": "加载文档时出错。", + "indexPatternFieldEditor.fieldPreview.error.errorLoadingSampleDocumentsDescription": "加载样例文档时出错。", + "indexPatternFieldEditor.fieldPreview.error.painlessSyntax": "Painless 语法无效", + "indexPatternFieldEditor.fieldPreview.errorCallout.title": "提取文档时出错", "indexPatternFieldEditor.fieldPreview.errorTitle": "无法加载自动预览", + "indexPatternFieldEditor.fieldPreview.fieldNameNotSetLabel": "未设置字段名称", "indexPatternFieldEditor.fieldPreview.filterFieldsPlaceholder": "筛选字段", + "indexPatternFieldEditor.fieldPreview.notAvailableWarningCallout.description": "运行时字段预览已禁用,因为无法从集群中提取任何文档。", + "indexPatternFieldEditor.fieldPreview.notAvailableWarningCallout.title": "预览不可用", "indexPatternFieldEditor.fieldPreview.pinFieldButtonLabel": "固定字段", + "indexPatternFieldEditor.fieldPreview.scriptErrorBadgeLabel": "脚本错误", "indexPatternFieldEditor.fieldPreview.searchResult.emptyPrompt.clearSearchButtonLabel": "清除搜索", "indexPatternFieldEditor.fieldPreview.searchResult.emptyPromptTitle": "在此数据视图中没有匹配字段", "indexPatternFieldEditor.fieldPreview.showLessFieldsButtonLabel": "显示更少", @@ -3850,8 +4409,10 @@ "indexPatternFieldEditor.fieldPreview.subTitle.customData": "定制数据", "indexPatternFieldEditor.fieldPreview.title": "预览", "indexPatternFieldEditor.fieldPreview.updatingPreviewLabel": "正在更新......", + "indexPatternFieldEditor.fieldPreview.valueNotSetLabel": "未设置值", "indexPatternFieldEditor.fieldPreview.viewImageButtonLabel": "查看图像", "indexPatternFieldEditor.formatHeader": "格式", + "indexPatternFieldEditor.geoPoint.transformLabel": "转换", "indexPatternFieldEditor.histogram.histogramAsNumberLabel": "聚合数字格式", "indexPatternFieldEditor.histogram.numeralLabel": "数值格式模式(可选)", "indexPatternFieldEditor.histogram.subFormat.bytes": "字节", @@ -4347,7 +4908,7 @@ "presentationUtil.labs.components.browserSwitchName": "浏览器", "presentationUtil.labs.components.calloutHelp": "刷新以应用更改", "presentationUtil.labs.components.closeButtonLabel": "关闭", - "presentationUtil.labs.components.descriptionMessage": "尝试我们正在开发的或实验性的功能。", + "presentationUtil.labs.components.descriptionMessage": "试用正在开发或处于技术预览状态的功能。", "presentationUtil.labs.components.disabledStatusMessage": "默认:{status}", "presentationUtil.labs.components.enabledStatusMessage": "默认:{status}", "presentationUtil.labs.components.kibanaSwitchHelp": "为所有 Kibana 用户启用此实验。", @@ -4457,9 +5018,14 @@ "savedObjectsManagement.objectsTable.flyout.importSavedObjectTitle": "导入已保存对象", "savedObjectsManagement.objectsTable.flyout.importSuccessful.confirmAllChangesButtonLabel": "确认所有更改", "savedObjectsManagement.objectsTable.flyout.importSuccessful.confirmButtonLabel": "完成", + "savedObjectsManagement.objectsTable.flyout.indexPatternConflictsCalloutLinkText": "创建新的索引模式", + "savedObjectsManagement.objectsTable.flyout.indexPatternConflictsDescription": "以下已保存对象使用不存在的索引模式。请选择要重新关联的索引模式。必要时可以{indexPatternLink}。", + "savedObjectsManagement.objectsTable.flyout.indexPatternConflictsTitle": "索引模式冲突", "savedObjectsManagement.objectsTable.flyout.renderConflicts.columnCountDescription": "受影响对象数目", "savedObjectsManagement.objectsTable.flyout.renderConflicts.columnCountName": "计数", + "savedObjectsManagement.objectsTable.flyout.renderConflicts.columnIdDescription": "索引模式的 ID", "savedObjectsManagement.objectsTable.flyout.renderConflicts.columnIdName": "ID", + "savedObjectsManagement.objectsTable.flyout.renderConflicts.columnNewIndexPatternName": "新建索引模式", "savedObjectsManagement.objectsTable.flyout.renderConflicts.columnSampleOfAffectedObjectsDescription": "受影响对象样例", "savedObjectsManagement.objectsTable.flyout.renderConflicts.columnSampleOfAffectedObjectsName": "受影响对象样例", "savedObjectsManagement.objectsTable.flyout.selectFileToImportFormRowLabel": "选择要导入的文件", @@ -4567,6 +5133,8 @@ "share.urlService.redirect.RedirectManager.missingParamLocator": "未指定定位器 ID。在 URL 中指定“l”搜索参数,其应为现有定位器 ID。", "share.urlService.redirect.RedirectManager.missingParamParams": "定位器参数未指定。在 URL 中指定“p”搜索参数,其应为定位器参数的 JSON 序列化对象。", "share.urlService.redirect.RedirectManager.missingParamVersion": "定位器参数版本未指定。在 URL 中指定“v”搜索参数,其应为生成定位器参数时 Kibana 的版本。", + "sharedUX.exitFullScreenButton.exitFullScreenModeButtonText": "退出全屏", + "sharedUX.exitFullScreenButton.fullScreenModeDescription": "在全屏模式下,按 ESC 键可退出。", "telemetry.callout.appliesSettingTitle": "对此设置的更改将应用到{allOfKibanaText} 且会自动保存。", "telemetry.callout.appliesSettingTitle.allOfKibanaText": "整个 Kibana", "telemetry.callout.clusterStatisticsDescription": "这是我们将收集的基本集群统计信息的示例。其包括索引、分片和节点的数目。还包括概括性的使用情况统计信息,例如监测是否打开。", @@ -4761,7 +5329,7 @@ "timelion.timelionDescription": "在图表上显示时间序列数据。", "timelion.uiSettings.defaultIndexDescription": "要使用 {esParam} 搜索的默认 Elasticsearch 索引", "timelion.uiSettings.defaultIndexLabel": "默认索引", - "timelion.uiSettings.experimentalLabel": "实验性", + "timelion.uiSettings.experimentalLabel": "技术预览", "timelion.uiSettings.graphiteURLDescription": "{experimentalLabel} Graphite 主机的 URL", "timelion.uiSettings.graphiteURLLabel": "Graphite URL", "timelion.uiSettings.legacyChartsLibraryDeprication": "此设置已过时,在未来版本中将不受支持。", @@ -4956,6 +5524,39 @@ "visDefaultEditor.sidebar.tabs.optionsLabel": "选项", "visDefaultEditor.sidebar.updateChartButtonLabel": "更新", "visDefaultEditor.sidebar.updateInfoTooltip": "CTRL + Enter 键是用于更新的快捷键。", + "visTypeHeatmap.advancedSettings.visualization.legacyHeatmapChartsLibrary.description": "在 Visualize 中启用热图图表的旧版图表库。", + "visTypeHeatmap.advancedSettings.visualization.legacyHeatmapChartsLibrary.name": "热图旧版图表库", + "visTypeHeatmap.controls.heatmapOptions.colorLabel": "颜色", + "visTypeHeatmap.controls.heatmapOptions.colorScaleLabel": "色阶", + "visTypeHeatmap.controls.heatmapOptions.colorsNumberLabel": "颜色个数", + "visTypeHeatmap.controls.heatmapOptions.labelsTitle": "标签", + "visTypeHeatmap.controls.heatmapOptions.overwriteAutomaticColorLabel": "覆盖自动配色", + "visTypeHeatmap.controls.heatmapOptions.rotateLabel": "旋转", + "visTypeHeatmap.controls.heatmapOptions.scaleToDataBoundsLabel": "缩放到数据边界", + "visTypeHeatmap.controls.heatmapOptions.showLabelsTitle": "显示标签", + "visTypeHeatmap.controls.heatmapOptions.useCustomRangesLabel": "使用定制范围", + "visTypeHeatmap.editors.heatmap.basicSettingsTitle": "基本设置", + "visTypeHeatmap.editors.heatmap.colorScaleTooltipNotAvailable": "新图表库不支持色阶。请启用热图旧版图表库高级设置。", + "visTypeHeatmap.editors.heatmap.heatmapSettingsTitle": "热图设置", + "visTypeHeatmap.editors.heatmap.highlightLabel": "高亮范围", + "visTypeHeatmap.editors.heatmap.highlightLabelTooltip": "高亮显示图表中鼠标悬停的范围以及图例中对应的标签。", + "visTypeHeatmap.editors.heatmap.highlightLabelTooltipNotAvailable": "新图表库尚不支持高亮悬停范围。请启用热图旧版图表库高级设置。", + "visTypeHeatmap.editors.heatmap.overwriteColorlNotAvailable": "新图表库不支持覆盖自动配色。请启用热图旧版图表库高级设置。", + "visTypeHeatmap.editors.heatmap.rotateLabelNotAvailable": "新图表库不支持旋转标签。请启用热图旧版图表库高级设置。", + "visTypeHeatmap.heatmap.groupTitle": "Y 轴", + "visTypeHeatmap.heatmap.heatmapDescription": "给矩阵单元格中的数据添加阴影。", + "visTypeHeatmap.heatmap.heatmapTitle": "热图", + "visTypeHeatmap.heatmap.metricTitle": "值", + "visTypeHeatmap.heatmap.segmentTitle": "X 轴", + "visTypeHeatmap.heatmap.splitTitle": "拆分图表", + "visTypeHeatmap.legendPositions.bottomText": "底部", + "visTypeHeatmap.legendPositions.leftText": "左", + "visTypeHeatmap.legendPositions.rightText": "右", + "visTypeHeatmap.legendPositions.topText": "顶部", + "visTypeHeatmap.scaleTypes.linearText": "线性", + "visTypeHeatmap.scaleTypes.logText": "对数", + "visTypeHeatmap.scaleTypes.squareRootText": "平方根", + "visTypeHeatmap.splitTitle.tooltip": "新图表库尚不支持拆分图表聚合。请启用热图旧版图表库高级设置以使用拆分图表聚合。", "visTypeMarkdown.function.font.help": "字体设置。", "visTypeMarkdown.function.help": "Markdown 可视化", "visTypeMarkdown.function.markdown.help": "要渲染的 Markdown", @@ -4988,6 +5589,7 @@ "visTypePie.editors.pie.decimalSliderLabel": "百分比的最大小数位数", "visTypePie.editors.pie.distinctColorsLabel": "每个切片使用不同的颜色", "visTypePie.editors.pie.donutLabel": "圆环图", + "visTypePie.editors.pie.emptySizeRatioLabel": "内部面积大小", "visTypePie.editors.pie.labelPositionLabel": "标签位置", "visTypePie.editors.pie.labelsSettingsTitle": "标签设置", "visTypePie.editors.pie.nestedLegendLabel": "嵌套图例", @@ -4996,6 +5598,9 @@ "visTypePie.editors.pie.showTopLevelOnlyLabel": "仅显示顶级", "visTypePie.editors.pie.showValuesLabel": "显示值", "visTypePie.editors.pie.valueFormatsLabel": "值", + "visTypePie.emptySizeRatioOptions.large": "大", + "visTypePie.emptySizeRatioOptions.medium": "中", + "visTypePie.emptySizeRatioOptions.small": "小", "visTypePie.labelPositions.insideOrOutsideText": "内部或外部", "visTypePie.labelPositions.insideText": "内部", "visTypePie.legendPositions.bottomText": "底部", @@ -5077,6 +5682,8 @@ "visTypeTimeseries.addDeleteButtons.deleteButtonDefaultTooltip": "删除", "visTypeTimeseries.addDeleteButtons.reEnableTooltip": "重新启用", "visTypeTimeseries.addDeleteButtons.temporarilyDisableTooltip": "暂时禁用", + "visTypeTimeseries.advancedSettings.allowCheckingForFailedShardsText": "如果请求对某些分片成功,但对其他分片失败,将对 TSVB 图表中的部分数据显示警告消息。", + "visTypeTimeseries.advancedSettings.allowCheckingForFailedShardsTitle": "显示 TSVB 请求分片失败", "visTypeTimeseries.advancedSettings.allowStringIndicesText": "允许您在 TSVB 可视化中使用索引模式和 Elasticsearch 索引。", "visTypeTimeseries.advancedSettings.allowStringIndicesTitle": "TSVB 中允许字符串索引", "visTypeTimeseries.advancedSettings.maxBucketsText": "影响 TSVB 直方图密度。必须设置为高于“histogram:maxBars”。", @@ -5121,6 +5728,7 @@ "visTypeTimeseries.aggUtils.topHitLabel": "最高命中结果", "visTypeTimeseries.aggUtils.valueCountLabel": "值计数", "visTypeTimeseries.aggUtils.varianceLabel": "方差", + "visTypeTimeseries.annotationRequest.label": "标注:{id}", "visTypeTimeseries.annotationsEditor.addDataSourceButtonLabel": "添加数据源", "visTypeTimeseries.annotationsEditor.dataSourcesLabel": "数据源", "visTypeTimeseries.annotationsEditor.fieldsLabel": "字段(必填 - 路径以逗号分隔)", @@ -5197,12 +5805,14 @@ "visTypeTimeseries.error.requestForPanelFailedErrorMessage": "对此面板的请求失败", "visTypeTimeseries.errors.fieldNotFound": "未找到字段“{field}”", "visTypeTimeseries.errors.maxBucketsExceededErrorMessage": "您的查询尝试提取过多的数据。缩短时间范围或更改所用的时间间隔通常可解决问题。", + "visTypeTimeseries.errors.timeFieldNotSpecifiedError": "需要时间字段以实现数据可视化", "visTypeTimeseries.externalUrlErrorModal.bodyMessage": "在 {kibanaConfigFileName} 中配置 {externalUrlPolicy} 以允许访问 {url}。", "visTypeTimeseries.externalUrlErrorModal.closeButtonLabel": "关闭", "visTypeTimeseries.externalUrlErrorModal.headerTitle": "尚未启用对此外部 URL 的访问权限", "visTypeTimeseries.fetchFields.loadIndexPatternFieldsErrorMessage": "无法加载 index_pattern 字段", "visTypeTimeseries.fieldSelect.fieldIsNotValid": "“{fieldParameter}”字段无效,无法用于当前索引。请选择新字段。", "visTypeTimeseries.fieldSelect.selectFieldPlaceholder": "选择字段......", + "visTypeTimeseries.filterCannotBeAppliedError": "在此配置下,不能应用该“筛选”", "visTypeTimeseries.filterRatio.aggregationLabel": "聚合", "visTypeTimeseries.filterRatio.denominatorLabel": "分母", "visTypeTimeseries.filterRatio.fieldLabel": "字段", @@ -5411,6 +6021,7 @@ "visTypeTimeseries.seriesConfig.overrideDataViewLabel": "覆盖数据视图?", "visTypeTimeseries.seriesConfig.templateHelpText": "例如 {templateExample}", "visTypeTimeseries.seriesConfig.templateLabel": "模板", + "visTypeTimeseries.seriesRequest.label": "序列:{id}", "visTypeTimeseries.sort.dragToSortAriaLabel": "拖动以排序", "visTypeTimeseries.sort.dragToSortTooltip": "拖动以排序", "visTypeTimeseries.splits.everything.groupByLabel": "分组依据", @@ -5492,6 +6103,7 @@ "visTypeTimeseries.table.templateHelpText": "例如 {templateExample}", "visTypeTimeseries.table.templateLabel": "模板", "visTypeTimeseries.table.toggleSeriesEditorAriaLabel": "切换序列编辑器", + "visTypeTimeseries.tableRequest.label": "表:{id}", "visTypeTimeseries.timeSeries.addSeriesTooltip": "添加序列", "visTypeTimeseries.timeseries.annotationsTab.annotationsButtonLabel": "标注", "visTypeTimeseries.timeSeries.axisMaxLabel": "轴最大值", @@ -5612,6 +6224,7 @@ "visTypeTimeseries.visPicker.tableLabel": "表", "visTypeTimeseries.visPicker.timeSeriesLabel": "时间序列", "visTypeTimeseries.visPicker.topNLabel": "排名前 N", + "visTypeTimeseries.wrongAggregationErrorMessage": "现有面板配置不支持 {metricType} 聚合。", "visTypeTimeseries.yesButtonLabel": "是", "visTypeVega.deprecatedHistogramIntervalInfo.message": "“时间间隔”组合字段已弃用,将由两个新的显式字段替代:“calendar_interval”和“fixed_interval”。{dateHistogramDoc}", "visTypeVega.editor.formatError": "格式化规范时出错", @@ -5646,7 +6259,7 @@ "visTypeVega.inspector.vegaAdapter.signal": "信号", "visTypeVega.inspector.vegaAdapter.value": "值", "visTypeVega.inspector.vegaDebugLabel": "Vega 调试", - "visTypeVega.mapView.experimentalMapLayerInfo": "地图图层处于试验状态,不受正式发行版功能的支持 SLA 的约束。如欲提供反馈,请在 {githubLink} 中创建问题。", + "visTypeVega.mapView.experimentalMapLayerInfo": "此功能处于技术预览状态,在未来版本中可能会更改或完全移除。Elastic 将尽最大努力来修复任何问题,但处于技术预览状态的功能不受正式 GA 功能支持 SLA 的约束。如欲提供反馈,请在 {githubLink} 中创建问题。", "visTypeVega.mapView.mapStyleNotFoundWarningMessage": "找不到 {mapStyleParam}", "visTypeVega.mapView.minZoomAndMaxZoomHaveBeenSwappedWarningMessage": "已互换 {minZoomPropertyName} 和 {maxZoomPropertyName}", "visTypeVega.mapView.resettingPropertyToMaxValueWarningMessage": "将 {name} 重置为 {max}", @@ -5933,15 +6546,32 @@ "visTypeXy.thresholdLine.style.dashedText": "虚线", "visTypeXy.thresholdLine.style.dotdashedText": "点虚线", "visTypeXy.thresholdLine.style.fullText": "实线", - "visualizations.advancedSettings.visualizeEnableLabsText": "允许用户创建、查看和编辑实验性可视化。如果禁用,\n 仅被视为生产就绪的可视化可供用户使用。", - "visualizations.advancedSettings.visualizeEnableLabsTitle": "启用实验性可视化", + "visualizations.advancedSettings.visualizeEnableLabsText": "允许用户创建、查看和编辑处于技术预览状态的可视化。\n 如果禁用,仅被视为生产就绪的可视化可供用户使用。", + "visualizations.advancedSettings.visualizeEnableLabsTitle": "启用技术预览可视化", + "visualizations.badge.readOnly.text": "只读", + "visualizations.badge.readOnly.tooltip": "无法将可视化保存到库", + "visualizations.byValue_pageHeading": "已嵌入到 {originatingApp} 应用中的 {chartType} 类型可视化", + "visualizations.confirmModal.cancelButtonLabel": "取消", + "visualizations.confirmModal.confirmTextDescription": "离开 Visualize 编辑器而不保存更改?", + "visualizations.confirmModal.overwriteButtonLabel": "覆盖", + "visualizations.confirmModal.overwriteConfirmationMessage": "确定要覆盖“{title}”?", + "visualizations.confirmModal.overwriteTitle": "覆盖“{name}”?", + "visualizations.confirmModal.saveDuplicateButtonLabel": "保存“{name}”", + "visualizations.confirmModal.saveDuplicateConfirmationMessage": "具有标题“{title}”的 {name} 已存在。是否确定要保存?", + "visualizations.confirmModal.title": "未保存的更改", + "visualizations.createVisualization.failedToLoadErrorMessage": "无法加载可视化", + "visualizations.createVisualization.noIndexPatternOrSavedSearchIdErrorMessage": "必须提供 indexPattern 或 savedSearchId", + "visualizations.createVisualization.noVisTypeErrorMessage": "必须提供有效的可视化类型", "visualizations.disabledLabVisualizationLink": "阅读文档", "visualizations.disabledLabVisualizationMessage": "请在高级设置中打开实验模式,以查看实验性可视化。", "visualizations.disabledLabVisualizationTitle": "{title} 为实验室可视化。", "visualizations.displayName": "可视化", + "visualizations.editor.createBreadcrumb": "创建", + "visualizations.editor.defaultEditBreadcrumbText": "编辑可视化", "visualizations.embeddable.inspectorTitle": "检查器", "visualizations.embeddable.legacyURLConflict.errorMessage": "此可视化具有与旧版别名相同的 URL。请禁用别名以解决此错误:{json}", "visualizations.embeddable.placeholderTitle": "占位符标题", + "visualizations.experimentalVisInfoText": "此功能处于技术预览状态,在未来版本中可能会更改或完全移除。Elastic 将尽最大努力来修复任何问题,但处于技术预览状态的功能不受正式 GA 功能支持 SLA 的约束。如欲提供反馈,请在 {githubLink} 中创建问题。", "visualizations.function.range.from.help": "范围起始", "visualizations.function.range.help": "生成范围对象", "visualizations.function.range.to.help": "范围结束", @@ -5954,12 +6584,34 @@ "visualizations.function.xyDimension.label.help": "标签", "visualizations.function.xyDimension.params.help": "参数", "visualizations.function.xyDimension.visDimension.help": "维度对象配置", + "visualizations.helpMenu.appName": "Visualize 库", "visualizations.initializeWithoutIndexPatternErrorMessage": "正在尝试在不使用索引模式的情况下初始化聚合", + "visualizations.legacyCharts.conditionalMessage.noPermissions": "请联系您的系统管理员以切换到旧库。", + "visualizations.legacyUrlConflict.objectNoun": "{visName} 可视化", + "visualizations.linkedToSearch.unlinkSuccessNotificationText": "已取消与已保存搜索“{searchTitle}”的链接", + "visualizations.listing.betaTitle": "公测版", + "visualizations.listing.betaTooltip": "此可视化为公测版,可能会进行更改。设计和代码相对于正式发行版功能还不够成熟,将按原样提供,且不提供任何保证。公测版功能不受正式发行版功能支持 SLA 的约束", + "visualizations.listing.breadcrumb": "Visualize 库", + "visualizations.listing.createNew.createButtonLabel": "新建可视化", + "visualizations.listing.createNew.description": "可以根据您的数据创建不同的可视化。", + "visualizations.listing.createNew.title": "创建您的首个可视化", + "visualizations.listing.experimentalTitle": "技术预览", + "visualizations.listing.experimentalTooltip": "此功能处于技术预览状态,在未来版本中可能会更改或完全移除。Elastic 将尽最大努力来修复任何问题,但处于技术预览状态的功能不受正式 GA 功能支持 SLA 的约束。", + "visualizations.listing.table.descriptionColumnName": "描述", + "visualizations.listing.table.entityName": "可视化", + "visualizations.listing.table.entityNamePlural": "可视化", + "visualizations.listing.table.listTitle": "Visualize 库", + "visualizations.listing.table.titleColumnName": "标题", + "visualizations.listing.table.typeColumnName": "类型", + "visualizations.listingPageTitle": "Visualize 库", + "visualizations.newHeatmapChart.conditionalMessage.advancedSettingsLink": "免费的 API 密钥。", + "visualizations.newHeatmapChart.conditionalMessage.newLibrary": "切换到{link}中的旧库", + "visualizations.newHeatmapChart.notificationMessage": "新的热图图表库尚不支持拆分图表聚合。{conditionalMessage}", "visualizations.newVisWizard.aggBasedGroupDescription": "使用我们的经典可视化库,基于聚合创建图表。", "visualizations.newVisWizard.aggBasedGroupTitle": "基于聚合", "visualizations.newVisWizard.chooseSourceTitle": "选择源", - "visualizations.newVisWizard.experimentalTitle": "实验性", - "visualizations.newVisWizard.experimentalTooltip": "未来版本可能会更改或删除此可视化,其不受支持 SLA 的约束。", + "visualizations.newVisWizard.experimentalTitle": "技术预览", + "visualizations.newVisWizard.experimentalTooltip": "此功能处于技术预览状态,在未来版本中可能会更改或完全移除。Elastic 将尽最大努力来修复任何问题,但处于技术预览状态的功能不受正式 GA 功能支持 SLA 的约束。", "visualizations.newVisWizard.exploreOptionLinkText": "浏览选项", "visualizations.newVisWizard.filterVisTypeAriaLabel": "筛留可视化类型", "visualizations.newVisWizard.goBackLink": "选择不同的可视化", @@ -5973,10 +6625,42 @@ "visualizations.newVisWizard.searchSelection.savedObjectType.search": "已保存搜索", "visualizations.newVisWizard.title": "新建可视化", "visualizations.newVisWizard.toolsGroupTitle": "工具", + "visualizations.noMatchRoute.bannerText": "Visualize 应用程序无法识别此路由:{route}。", + "visualizations.noMatchRoute.bannerTitleText": "未找到页面", "visualizations.noResultsFoundTitle": "找不到结果", + "visualizations.overwriteRejectedDescription": "已拒绝覆盖确认", + "visualizations.pageHeading": "{chartName} {chartType} 可视化", + "visualizations.reporting.defaultReportTitle": "可视化 [{date}]", "visualizations.savedObjectName": "可视化", + "visualizations.saveDuplicateRejectedDescription": "已拒绝使用重复标题保存确认", "visualizations.savingVisualizationFailed.errorMsg": "保存可视化失败", + "visualizations.topNavMenu.cancelAndReturnButtonTooltip": "完成前放弃所做的更改", + "visualizations.topNavMenu.cancelButtonAriaLabel": "返回到上一个应用而不保存更改", + "visualizations.topNavMenu.cancelButtonLabel": "取消", + "visualizations.topNavMenu.openInspectorButtonAriaLabel": "打开检查器查看可视化", + "visualizations.topNavMenu.openInspectorButtonLabel": "检查", + "visualizations.topNavMenu.openInspectorDisabledButtonTooltip": "此可视化不支持任何检查器。", + "visualizations.topNavMenu.saveAndReturnVisualizationButtonAriaLabel": "完成编辑可视化并返回到最后一个应用", + "visualizations.topNavMenu.saveAndReturnVisualizationButtonLabel": "保存并返回", + "visualizations.topNavMenu.saveAndReturnVisualizationDisabledButtonTooltip": "完成前应用或放弃所做更改", + "visualizations.topNavMenu.saveVisualization.failureNotificationText": "保存“{visTitle}”时出错", + "visualizations.topNavMenu.saveVisualization.successNotificationText": "已保存“{visTitle}”", + "visualizations.topNavMenu.saveVisualizationAsButtonLabel": "另存为", + "visualizations.topNavMenu.saveVisualizationButtonAriaLabel": "保存可视化", + "visualizations.topNavMenu.saveVisualizationButtonLabel": "保存", + "visualizations.topNavMenu.saveVisualizationDisabledButtonTooltip": "保存前应用或放弃所做更改", + "visualizations.topNavMenu.saveVisualizationObjectType": "可视化", + "visualizations.topNavMenu.saveVisualizationToLibraryButtonLabel": "保存到库", + "visualizations.topNavMenu.shareVisualizationButtonAriaLabel": "共享可视化", + "visualizations.topNavMenu.shareVisualizationButtonLabel": "共享", + "visualizations.topNavMenu.updatePanel": "更新 {originatingAppName} 中的面板", + "visualizations.visualizationLoadingFailedErrorMessage": "无法加载可视化", "visualizations.visualizationTypeInvalidMessage": "无效的可视化类型“{visType}”", + "visualizations.visualizeDescription": "创建可视化并聚合在 Elasticsearch 索引中的数据存储。", + "visualizations.visualizeListingBreadcrumbsTitle": "Visualize 库", + "visualizations.visualizeListingDashboardAppName": "Dashboard 应用程序", + "visualizations.visualizeListingDashboardFlowDescription": "构建仪表板?从 {dashboardApp}创建和添加您的可视化。", + "visualizations.visualizeListingDeleteErrorTitle": "删除可视化时出错", "xpack.actions.actionTypeRegistry.get.missingActionTypeErrorMessage": "操作类型“{id}”未注册。", "xpack.actions.actionTypeRegistry.register.duplicateActionTypeErrorMessage": "操作类型“{id}”已注册。", "xpack.actions.alertHistoryEsIndexConnector.name": "告警历史记录 Elasticsearch 索引", @@ -6054,10 +6738,18 @@ "xpack.alerting.rulesClient.invalidDate": "参数 {field} 的日期无效:“{dateValue}”", "xpack.alerting.rulesClient.validateActions.invalidGroups": "无效操作组:{groups}", "xpack.alerting.rulesClient.validateActions.misconfiguredConnector": "无效的连接器:{groups}", + "xpack.alerting.ruleTypeRegistry.get.missingRuleTypeError": "未注册规则类型“{id}”。", "xpack.alerting.ruleTypeRegistry.register.customRecoveryActionGroupUsageError": "无法注册规则类型 [id=\"{id}\"]。操作组 [{actionGroup}] 无法同时用作恢复和活动操作组。", + "xpack.alerting.ruleTypeRegistry.register.duplicateRuleTypeError": "已注册规则类型“{id}”。", + "xpack.alerting.ruleTypeRegistry.register.invalidDefaultTimeoutRuleTypeError": "规则类型“{id}”的默认时间间隔无效:{errorMessage}。", + "xpack.alerting.ruleTypeRegistry.register.invalidMinimumTimeoutRuleTypeError": "规则类型“{id}”的最小时间间隔无效:{errorMessage}。", + "xpack.alerting.ruleTypeRegistry.register.invalidTimeoutRuleTypeError": "规则类型“{id}”的超时无效:{errorMessage}。", "xpack.alerting.ruleTypeRegistry.register.reservedActionGroupUsageError": "无法注册规则类型 [id=\"{id}\"]。操作组 [{actionGroups}] 由框架保留。", "xpack.alerting.savedObjects.goToRulesButtonText": "前往规则", "xpack.alerting.savedObjects.onImportText": "导入后必须启用 {rulesSavedObjectsLength} 个{rulesSavedObjectsLength, plural,other {规则}}。", + "xpack.alerting.serverSideErrors.expirerdLicenseErrorMessage": "规则类型 {ruleTypeId} 已禁用,因为您的{licenseType}许可证已过期。", + "xpack.alerting.serverSideErrors.invalidLicenseErrorMessage": "规则 {ruleTypeId} 已禁用,因为它需要{licenseType}许可证。前往“许可证管理”以查看升级选项。", + "xpack.alerting.serverSideErrors.unavailableLicenseErrorMessage": "规则类型 {ruleTypeId} 已禁用,因为许可证信息当前不可用。", "xpack.alerting.serverSideErrors.unavailableLicenseInformationErrorMessage": "告警不可用 - 许可信息当前不可用。", "xpack.apm.a.thresholdMet": "已达到阈值", "xpack.apm.addDataButtonLabel": "添加数据", @@ -6175,7 +6867,7 @@ "xpack.apm.alertAnnotationButtonAriaLabel": "查看告警详情", "xpack.apm.alertAnnotationCriticalTitle": "紧急告警", "xpack.apm.alertAnnotationNoSeverityTitle": "告警", - "xpack.apm.alertAnnotationTooltipExperimentalText": "实验性", + "xpack.apm.alertAnnotationTooltipExperimentalText": "技术预览", "xpack.apm.alertAnnotationTooltipMoreDetailsText": "单击以查看更多详情。", "xpack.apm.alertAnnotationWarningTitle": "警告告警", "xpack.apm.alerting.fields.allOption": "全部", @@ -6195,12 +6887,16 @@ "xpack.apm.alerts.anomalySeverity.warningLabel": "警告", "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.description": "当服务中的错误数量超过定义的阈值时告警。", + "xpack.apm.alertTypes.errorCount.reason": "对于 {serviceName},过去 {interval}的错误计数为 {measured}。超出 {threshold} 时告警。", "xpack.apm.alertTypes.transactionDuration.defaultActionMessage": "由于以下条件 \\{\\{alertName\\}\\} 告警触发:\n\n- 服务名称:\\{\\{context.serviceName\\}\\}\n- 类型:\\{\\{context.transactionType\\}\\}\n- 环境:\\{\\{context.environment\\}\\}\n- 延迟阈值:\\{\\{context.threshold\\}\\}ms\n- 观察的延迟:在过去 \\{\\{context.interval\\}\\}为 \\{\\{context.triggerValue\\}\\}", "xpack.apm.alertTypes.transactionDuration.description": "当服务中特定事务类型的延迟超过定义的阈值时告警。", + "xpack.apm.alertTypes.transactionDuration.reason": "对于 {serviceName},过去 {interval}的 {aggregationType} 延迟为 {measured}。超出 {threshold} 时告警。", "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.transactionDurationAnomaly.description": "服务的延迟异常时告警。", + "xpack.apm.alertTypes.transactionDurationAnomaly.reason": "对于 {serviceName},过去 {interval}检测到分数为 {measured} 的 {severityLevel} 异常。", "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.transactionErrorRate.description": "当服务中的事务错误率超过定义的阈值时告警。", + "xpack.apm.alertTypes.transactionErrorRate.reason": "对于 {serviceName},过去 {interval}的失败事务数为 {measured}。超出 {threshold} 时告警。", "xpack.apm.analyzeDataButton.label": "浏览数据", "xpack.apm.analyzeDataButton.tooltip": "“浏览数据”允许您选择和筛选任意维度中的结果数据以及查找性能问题的原因或影响", "xpack.apm.anomaly_detection.error.invalid_license": "要使用异常检测,必须订阅 Elastic 白金级许可证。有了该许可证,您便可借助 Machine Learning 监测服务。", @@ -6244,6 +6940,9 @@ "xpack.apm.chart.error": "尝试提取数据时发生错误。请重试", "xpack.apm.chart.memorySeries.systemAverageLabel": "平均值", "xpack.apm.chart.memorySeries.systemMaxLabel": "最大值", + "xpack.apm.coldstartRate": "冷启动速率", + "xpack.apm.coldstartRate.chart.coldstartRate": "冷启动速率(平均)", + "xpack.apm.coldstartRate.chart.coldstartRate.previousPeriodLabel": "上一时段", "xpack.apm.compositeSpanCallsLabel": ",{count} 个调用,平均 {duration}", "xpack.apm.compositeSpanDurationLabel": "平均持续时间", "xpack.apm.correlations.cancelButtonTitle": "取消", @@ -6254,7 +6953,7 @@ "xpack.apm.correlations.correlationsTable.excludeLabel": "排除", "xpack.apm.correlations.correlationsTable.filterDescription": "按值筛选", "xpack.apm.correlations.correlationsTable.filterLabel": "筛选", - "xpack.apm.correlations.correlationsTable.loadingText": "正在加载", + "xpack.apm.correlations.correlationsTable.loadingText": "正在加载……", "xpack.apm.correlations.correlationsTable.noDataText": "无数据", "xpack.apm.correlations.failedTransactions.correlationsTable.failurePercentageDescription": "字词在失败事务中显示的时间百分比。", "xpack.apm.correlations.failedTransactions.correlationsTable.failurePercentageLabel": "失败 %", @@ -6397,7 +7096,7 @@ "xpack.apm.fleet_integration.settings.apm.defaultServiceEnvironmentTitle": "服务配置", "xpack.apm.fleet_integration.settings.apm.expvarEnabledDescription": "在 /debug/vars 下公开", "xpack.apm.fleet_integration.settings.apm.expvarEnabledTitle": "启用 APM Server Golang expvar 支持", - "xpack.apm.fleet_integration.settings.apm.hostDescription": "选择有助于确定如何使用此集成的名称和描述。", + "xpack.apm.fleet_integration.settings.apm.hostDescription": "主机定义服务器要侦听的主机和端口。URL 是不可更改、可公开访问的服务器 URL,用于在 Elastic Cloud 或 ECK 上进行部署。", "xpack.apm.fleet_integration.settings.apm.hostLabel": "主机", "xpack.apm.fleet_integration.settings.apm.hostTitle": "服务器配置", "xpack.apm.fleet_integration.settings.apm.idleTimeoutLabel": "基础连接关闭前的空闲时间", @@ -6408,7 +7107,7 @@ "xpack.apm.fleet_integration.settings.apm.maxHeaderBytesLabel": "请求标头的最大大小(字节)", "xpack.apm.fleet_integration.settings.apm.maxHeaderBytesTitle": "限制", "xpack.apm.fleet_integration.settings.apm.readTimeoutLabel": "读取整个请求的最大持续时间", - "xpack.apm.fleet_integration.settings.apm.responseHeadersDescription": "设置请求标头大小限制和计时配置。", + "xpack.apm.fleet_integration.settings.apm.responseHeadersDescription": "添加到 HTTP 响应的定制 HTTP 标头", "xpack.apm.fleet_integration.settings.apm.responseHeadersHelpText": "可能会用于安全策略合规。", "xpack.apm.fleet_integration.settings.apm.responseHeadersLabel": "添加到 HTTP 响应的定制 HTTP 标头", "xpack.apm.fleet_integration.settings.apm.responseHeadersTitle": "定制标头", @@ -6418,9 +7117,14 @@ "xpack.apm.fleet_integration.settings.apm.urlLabel": "URL", "xpack.apm.fleet_integration.settings.apm.writeTimeoutLabel": "写入响应的最大持续时间", "xpack.apm.fleet_integration.settings.apmAgent.description": "为 {title} 应用程序配置检测。", + "xpack.apm.fleet_integration.settings.betaBadgeLabel": "公测版", + "xpack.apm.fleet_integration.settings.betaBadgeTooltip": "此模块不是 GA 版。请通过报告错误来帮助我们。", "xpack.apm.fleet_integration.settings.disabledLabel": "已禁用", "xpack.apm.fleet_integration.settings.enabledLabel": "已启用", "xpack.apm.fleet_integration.settings.optionalLabel": "可选", + "xpack.apm.fleet_integration.settings.platinumBadgeLabel": "白金级", + "xpack.apm.fleet_integration.settings.platinumBadgeTooltipDescription": "配置会进行保存,但如果您的 Kibana 许可证不是白金级,则会将其忽略。", + "xpack.apm.fleet_integration.settings.platinumBadgeTooltipTitle": "需要白金级许可证", "xpack.apm.fleet_integration.settings.requiredFieldLabel": "必填字段", "xpack.apm.fleet_integration.settings.requiredLabel": "必需", "xpack.apm.fleet_integration.settings.rum.enableRumDescription": "启用真实用户监测 (RUM)", @@ -6440,6 +7144,16 @@ "xpack.apm.fleet_integration.settings.rum.settings.subtitle": "管理 RUM JS 代理的配置。", "xpack.apm.fleet_integration.settings.rum.settings.title": "真实用户监测", "xpack.apm.fleet_integration.settings.selectOrCreateOptions": "选择或创建选项", + "xpack.apm.fleet_integration.settings.tailSampling.enableTailSamplingDescription": "启用基于尾部的采样。", + "xpack.apm.fleet_integration.settings.tailSampling.settings.subtitle": "管理服务和跟踪的基于尾部的采样。", + "xpack.apm.fleet_integration.settings.tailSampling.settings.title": "基于尾部的采样", + "xpack.apm.fleet_integration.settings.tailSampling.tailSamplingEnabledTitle": "启用基于尾部的采样", + "xpack.apm.fleet_integration.settings.tailSampling.tailSamplingInterval": "尾部采样时间间隔", + "xpack.apm.fleet_integration.settings.tailSampling.tailSamplingIntervalDescription": "多个 APM Server 之间同步的时间间隔。应约为数十秒或几分钟。", + "xpack.apm.fleet_integration.settings.tailSampling.tailSamplingIntervalTitle": "时间间隔", + "xpack.apm.fleet_integration.settings.tailSampling.tailSamplingPolicies": "尾部采样策略", + "xpack.apm.fleet_integration.settings.tailSampling.tailSamplingPoliciesDescription": "策略会将跟踪事件映射到采样速率。每个策略必须指定一个采样速率。跟踪事件将按指定的顺序与策略进行匹配。所有策略条件必须为 true 才能匹配跟踪事件。每个策略列表应以一个仅指定一个采样速率的策略结尾。这个最终策略用于捕获与更严格的策略不匹配的剩余跟踪事件。", + "xpack.apm.fleet_integration.settings.tailSampling.tailSamplingPoliciesTitle": "策略", "xpack.apm.fleet_integration.settings.tls.settings.subtitle": "TLS 认证的设置。", "xpack.apm.fleet_integration.settings.tls.settings.title": "TLS 设置", "xpack.apm.fleet_integration.settings.tls.tlsCertificateLabel": "服务器证书的文件路径", @@ -6450,6 +7164,7 @@ "xpack.apm.fleet_integration.settings.tls.tlsEnabledTitle": "启用 TLS", "xpack.apm.fleet_integration.settings.tls.tlsKeyLabel": "服务器证书密钥的文件路径", "xpack.apm.fleet_integration.settings.tls.tlsSupportedProtocolsLabel": "支持的协议版本", + "xpack.apm.fleet_integration.settings.yamlCodeEditor": "YAML 代码编辑器", "xpack.apm.fleetIntegration.apmAgent.discoveryRule.DragHandle": "拖动手柄", "xpack.apm.fleetIntegration.apmAgent.editDisacoveryRule.operation": "操作", "xpack.apm.fleetIntegration.apmAgent.editDisacoveryRule.probe": "探测", @@ -6503,8 +7218,10 @@ "xpack.apm.home.alertsMenu.transactionDuration": "延迟", "xpack.apm.home.alertsMenu.transactionErrorRate": "失败事务率", "xpack.apm.home.alertsMenu.viewActiveAlerts": "管理规则", + "xpack.apm.home.infraTabLabel": "基础设施", "xpack.apm.home.serviceLogsTabLabel": "日志", "xpack.apm.home.serviceMapTabLabel": "服务地图", + "xpack.apm.infra.announcement": "即将提供基础架构数据", "xpack.apm.inspectButtonText": "检查", "xpack.apm.instancesLatencyDistributionChartLegend": "实例", "xpack.apm.instancesLatencyDistributionChartLegend.previousPeriod": "上一时段", @@ -6554,7 +7271,7 @@ "xpack.apm.mlCallout.noJobsCalloutText": "通过 APM 的异常检测集成来查明异常事务,并了解上下游服务的运行状况。只需几分钟即可开始使用。", "xpack.apm.mlCallout.noJobsCalloutTitle": "启用异常检测以将运行状态指示器添加到您的服务中", "xpack.apm.mlCallout.updateAvailableCalloutButtonText": "更新作业", - "xpack.apm.mlCallout.updateAvailableCalloutText": "我们已更新有助于深入了解性能降级的异常检测作业,并添加了检测工具以获取吞吐量和失败事务率。如果您选择进行升级,我们将创建新作业,并关闭现有的旧版作业。APM 应用中显示的数据将自动切换到新数据。", + "xpack.apm.mlCallout.updateAvailableCalloutText": "我们已更新有助于深入了解性能降级的异常检测作业,并添加了检测工具以获取吞吐量和失败事务率。如果您选择进行升级,我们将创建新作业,并关闭现有的旧版作业。APM 应用中显示的数据将自动切换到新数据。请注意,如果您选择创建新作业,用于迁移所有现有作业的选项将不可用。", "xpack.apm.mlCallout.updateAvailableCalloutTitle": "可用更新", "xpack.apm.navigation.dependenciesTitle": "依赖项", "xpack.apm.navigation.serviceMapTitle": "服务地图", @@ -6587,8 +7304,8 @@ "xpack.apm.serviceDetails.metricsTabLabel": "指标", "xpack.apm.serviceDetails.nodesTabLabel": "JVM", "xpack.apm.serviceDetails.overviewTabLabel": "概览", - "xpack.apm.serviceDetails.profilingTabExperimentalDescription": "分析是实验性功能,仅限于内部使用。", - "xpack.apm.serviceDetails.profilingTabExperimentalLabel": "实验性", + "xpack.apm.serviceDetails.profilingTabExperimentalDescription": "此功能处于技术预览状态,在未来版本中可能会更改或完全移除。Elastic 将尽最大努力来修复任何问题,但处于技术预览状态的功能不受正式 GA 功能支持 SLA 的约束。", + "xpack.apm.serviceDetails.profilingTabExperimentalLabel": "技术预览", "xpack.apm.serviceDetails.profilingTabLabel": "分析", "xpack.apm.serviceDetails.transactionsTabLabel": "事务", "xpack.apm.serviceHealthStatus.critical": "紧急", @@ -6597,11 +7314,18 @@ "xpack.apm.serviceHealthStatus.warning": "警告", "xpack.apm.serviceIcons.cloud": "云", "xpack.apm.serviceIcons.container": "容器", + "xpack.apm.serviceIcons.serverless": "无服务器", "xpack.apm.serviceIcons.service": "服务", "xpack.apm.serviceIcons.serviceDetails.cloud.availabilityZoneLabel": "{zones, plural, other {可用性区域}} ", + "xpack.apm.serviceIcons.serviceDetails.cloud.betaLabel": "公测版", + "xpack.apm.serviceIcons.serviceDetails.cloud.betaTooltip": "AWS Lambda 支持不是 GA 版。请通过报告错误来帮助我们。", + "xpack.apm.serviceIcons.serviceDetails.cloud.faasTriggerTypeLabel": "{triggerTypes, plural, other {触发类型}} ", + "xpack.apm.serviceIcons.serviceDetails.cloud.functionNameLabel": "{functionNames, plural, other {功能名称}} ", "xpack.apm.serviceIcons.serviceDetails.cloud.machineTypesLabel": "{machineTypes, plural, other {机器类型}} ", "xpack.apm.serviceIcons.serviceDetails.cloud.projectIdLabel": "项目 ID", "xpack.apm.serviceIcons.serviceDetails.cloud.providerLabel": "云服务提供商", + "xpack.apm.serviceIcons.serviceDetails.cloud.regionLabel": "{regions, plural, other {地区}} ", + "xpack.apm.serviceIcons.serviceDetails.cloud.serviceNameLabel": "云服务", "xpack.apm.serviceIcons.serviceDetails.container.containerizedLabel": "容器化", "xpack.apm.serviceIcons.serviceDetails.container.noLabel": "否", "xpack.apm.serviceIcons.serviceDetails.container.orchestrationLabel": "编排", @@ -6658,6 +7382,7 @@ "xpack.apm.serviceNodeMetrics.unidentifiedServiceNodesWarningTitle": "找不到 JVM", "xpack.apm.serviceNodeNameMissing": "(空)", "xpack.apm.serviceOveriew.errorsTableOccurrences": "{occurrences} 次", + "xpack.apm.serviceOverview.coldstartHelp": "冷启动速率指示触发无服务器功能冷启动的请求百分比。", "xpack.apm.serviceOverview.dependenciesTableColumn": "依赖项", "xpack.apm.serviceOverview.dependenciesTableTabLink": "查看依赖项", "xpack.apm.serviceOverview.dependenciesTableTitle": "依赖项", @@ -6812,7 +7537,54 @@ "xpack.apm.settings.apmIndices.title": "索引", "xpack.apm.settings.apmIndices.transactionIndicesLabel": "事务索引", "xpack.apm.settings.createApmPackagePolicy.errorToast.title": "无法在云代理策略上创建 APM 软件包策略", - "xpack.apm.settings.customizeApp": "定制应用", + "xpack.apm.settings.customizeApp": "定制链接", + "xpack.apm.settings.customLink": "定制链接", + "xpack.apm.settings.customLink.create.failed": "链接无法保存!", + "xpack.apm.settings.customLink.create.failed.message": "保存链接时出现了问题。错误:“{errorMessage}”", + "xpack.apm.settings.customLink.create.successed": "链接已保存!", + "xpack.apm.settings.customLink.createCustomLink": "创建定制链接", + "xpack.apm.settings.customLink.default.label": "Elastic.co", + "xpack.apm.settings.customLink.default.url": "https://www.elastic.co", + "xpack.apm.settings.customLink.delete": "删除", + "xpack.apm.settings.customLink.delete.failed": "无法删除定制链接", + "xpack.apm.settings.customLink.delete.successed": "已删除定制链接。", + "xpack.apm.settings.customLink.emptyPromptText": "让我们改动一下!可以通过每个服务的事务详情将定制链接添加到“操作”上下文菜单。创建指向公司支持门户或用于提交新错误报告的有用链接。在我们的文档中详细了解。", + "xpack.apm.settings.customLink.emptyPromptTitle": "未找到链接。", + "xpack.apm.settings.customLink.flyout.action.title": "链接", + "xpack.apm.settings.customLink.flyout.close": "关闭", + "xpack.apm.settings.customLink.flyout.filters.addAnotherFilter": "添加另一个筛选", + "xpack.apm.settings.customLink.flyOut.filters.defaultOption": "选择字段......", + "xpack.apm.settings.customLink.flyOut.filters.defaultOption.value": "值", + "xpack.apm.settings.customLink.flyout.filters.prepend": "字段", + "xpack.apm.settings.customLink.flyout.filters.subtitle": "使用筛选选项以使它们仅显示在特定服务中。", + "xpack.apm.settings.customLink.flyout.filters.title": "筛选", + "xpack.apm.settings.customLink.flyout.label": "通过 APM 应用,链接将可用于事务详情的上下文中。您可以创建无限数量的链接。可以通过任何事务元数据填写 URL 来引用动态变量。包括示例在内的更多信息在", + "xpack.apm.settings.customLink.flyout.label.doc": "文档中提供。", + "xpack.apm.settings.customLink.flyout.link.label": "标签", + "xpack.apm.settings.customLink.flyout.link.label.helpText": "这是操作上下文菜单中显示的标签。使其尽量地简短。", + "xpack.apm.settings.customLink.flyout.link.label.placeholder": "如支持工单", + "xpack.apm.settings.customLink.flyout.link.url": "URL", + "xpack.apm.settings.customLink.flyout.link.url.doc": "在文档中了解详情。", + "xpack.apm.settings.customLink.flyout.link.url.helpText": "将字段名称变量添加到 URL 以应用值,例如 {sample}。", + "xpack.apm.settings.customLink.flyout.link.url.placeholder": "例如 https://www.elastic.co/", + "xpack.apm.settings.customLink.flyout.required": "必需", + "xpack.apm.settings.customLink.flyout.save": "保存", + "xpack.apm.settings.customLink.flyout.title": "创建链接", + "xpack.apm.settings.customLink.info": "这些链接将显示在应用选定区域(例如事务详情)的“操作”上下文菜单中。", + "xpack.apm.settings.customLink.license.text": "要创建定制链接,必须订阅 Elastic 金级或更高许可证。使用上述许可证,将能够创建定制链接,以改善分析服务时的流程。", + "xpack.apm.settings.customLink.linkPreview.descrition": "使用示例事务文档中的值基于上述筛选测试链接。", + "xpack.apm.settings.customLink.noPermissionTooltipLabel": "您的用户角色无权创建定制链接", + "xpack.apm.settings.customLink.preview.contextVariable.invalid": "由于定义的变量无效,我们无法找到示例事务文档。", + "xpack.apm.settings.customLink.preview.contextVariable.noMatch": "在示例文档中我们找不到匹配 {variables} 的值。", + "xpack.apm.settings.customLink.preview.transaction.notFound": "基于定义的筛选,我们找不到匹配的事务文档。", + "xpack.apm.settings.customLink.previewSectionTitle": "预览", + "xpack.apm.settings.customLink.searchInput.filter": "按名称和 URL 筛选链接......", + "xpack.apm.settings.customLink.table.editButtonDescription": "编辑此定制链接", + "xpack.apm.settings.customLink.table.editButtonLabel": "编辑", + "xpack.apm.settings.customLink.table.lastUpdated": "上次更新时间", + "xpack.apm.settings.customLink.table.name": "名称", + "xpack.apm.settings.customLink.table.noResultFound": "没有“{value}”的结果。", + "xpack.apm.settings.customLink.table.url": "URL", "xpack.apm.settings.indices": "索引", "xpack.apm.settings.schema": "架构", "xpack.apm.settings.schema.confirm.apmServerSettingsCloudLinkText": "前往 Cloud 中的 APM Server 设置", @@ -6836,7 +7608,7 @@ "xpack.apm.settings.schema.migrate.classicIndices.description": "您当前正使用 APM Server 二进制。此旧版选项自版本 7.16 起已过时,从版本 8.0 开始将由 Elastic 代理中的托管 APM Server 替换。", "xpack.apm.settings.schema.migrate.classicIndices.title": "APM Server 二进制", "xpack.apm.settings.schema.migrate.dataStreams.buttonText": "切换到 Elastic 代理", - "xpack.apm.settings.schema.migrate.dataStreams.description": "从版本 8.0 开始,Elastic 代理必须管理 APM Server。Elastic 代理可以在托管 Elasticsearch Service、ECE 上运行,或进行自我管理。然后,添加 Elastic APM 集成以继续采集 APM 数据。", + "xpack.apm.settings.schema.migrate.dataStreams.description": "从版本 8.0 开始,建议 APM Server 由 Elastic 代理进行管理。Elastic 代理可以在托管 Elasticsearch Service、ECE 上运行,或进行自我管理。然后,添加 Elastic APM 集成以继续采集 APM 数据。", "xpack.apm.settings.schema.migrate.dataStreams.title": "Elastic 代理", "xpack.apm.settings.schema.migrationInProgressPanelDescription": "我们现在正在创建 Fleet Server 实例,以便在关闭旧 APM 服务器实例时包含新 APM Server。若干分钟后,应会看到您的数据再次灌入应用中。", "xpack.apm.settings.schema.migrationInProgressPanelTitle": "正切换到 Elastic 代理......", @@ -6894,6 +7666,7 @@ "xpack.apm.transactionActionMenu.viewSampleDocumentLinkLabel": "查看样例文档", "xpack.apm.transactionBreakdown.chartTitle": "跨度类型花费的时间", "xpack.apm.transactionDetails.clearSelectionAriaLabel": "清除所选内容", + "xpack.apm.transactionDetails.coldstartBadge": "冷启动", "xpack.apm.transactionDetails.distribution.failedTransactionsLatencyDistributionErrorTitle": "提取失败事务延迟分布时出错。", "xpack.apm.transactionDetails.distribution.latencyDistributionErrorTitle": "提取总体延迟分布时出错。", "xpack.apm.transactionDetails.distribution.panelTitle": "延迟分布", @@ -6908,6 +7681,7 @@ "xpack.apm.transactionDetails.servicesTitle": "服务", "xpack.apm.transactionDetails.spanFlyout.compositeExampleWarning": "这是一组连续、相似跨度的样例文档", "xpack.apm.transactionDetails.spanFlyout.databaseStatementTitle": "数据库语句", + "xpack.apm.transactionDetails.spanFlyout.dependencyLabel": "依赖项", "xpack.apm.transactionDetails.spanFlyout.nameLabel": "名称", "xpack.apm.transactionDetails.spanFlyout.spanAction": "操作", "xpack.apm.transactionDetails.spanFlyout.spanDetailsTitle": "跨度详情", @@ -7099,16 +7873,19 @@ "xpack.apm.tutorial.specProvider.artifacts.dashboards.linkLabel": "APM 仪表板", "xpack.apm.tutorial.specProvider.longDescription": "应用程序性能监测 (APM) 从您的应用程序内收集深入全面的性能指标和错误。其允许您实时监测数以千计的应用程序的性能。[了解详情]({learnMoreLink})。", "xpack.apm.tutorial.specProvider.name": "APM", - "xpack.apm.tutorial.specProvider.savedObjectsInstallMsg": "APM UI 中的某些功能需要 APM 索引模式。", + "xpack.apm.tutorial.specProvider.savedObjectsInstallMsg": "APM UI 中的某些功能需要 APM 数据视图。", "xpack.apm.tutorial.startServer.textPre": "服务器在 Elasticsearch 中处理并存储应用程序性能指标。", "xpack.apm.tutorial.startServer.title": "启动 APM Server", "xpack.apm.tutorial.windowsServerInstructions.textPost": "注意:如果您的系统禁用了脚本执行,则需要为当前会话设置执行策略,以允许脚本运行。示例:{command}。", "xpack.apm.tutorial.windowsServerInstructions.textPre": "1.从[下载页面]({downloadPageLink})下载 APM Server Windows zip 文件。\n2.将 zip 文件的内容解压缩到 {zipFileExtractFolder}。\n3.将 {apmServerDirectory} 目录重命名为 `APM-Server`。\n4.以管理员身份打开 PowerShell 提示符(右键单击 PowerShell 图标,然后选择**以管理员身份运行**)。如果运行的是 Windows XP,则可能需要下载并安装 PowerShell。\n5.从 PowerShell 提示符处,运行以下命令以将 APM Server 安装为 Windows 服务:", "xpack.apm.unitLabel": "选择单位", "xpack.apm.unsavedChanges": "{unsavedChangesCount, plural, =0{0 个未保存更改} one {1 个未保存更改} other {# 个未保存更改}} ", + "xpack.apm.ux.overview.agent.description": "使用 APM 代理来收集 APM 数据。我们的代理支持许多流行语言,可以轻松使用。", + "xpack.apm.ux.overview.agent.title": "添加 APM 集成", "xpack.apm.views.dependencies.title": "依赖项", "xpack.apm.views.dependenciesInventory.title": "依赖项", "xpack.apm.views.errors.title": "错误", + "xpack.apm.views.infra.title": "基础设施", "xpack.apm.views.listSettings.title": "设置", "xpack.apm.views.logs.title": "日志", "xpack.apm.views.metrics.title": "指标", @@ -7121,6 +7898,7 @@ "xpack.apm.views.settings.agentKeys.title": "代理密钥", "xpack.apm.views.settings.anomalyDetection.title": "异常检测", "xpack.apm.views.settings.createAgentConfiguration.title": "创建代理配置", + "xpack.apm.views.settings.customLink.title": "定制链接", "xpack.apm.views.settings.editAgentConfiguration.title": "编辑代理配置", "xpack.apm.views.settings.indices.title": "索引", "xpack.apm.views.settings.schema.title": "架构", @@ -7128,81 +7906,6 @@ "xpack.apm.views.transactions.title": "事务", "xpack.apm.waterfall.errorCount": "{errorCount, plural, one {查看相关错误} other {查看 # 个相关错误}}", "xpack.apm.waterfall.exceedsMax": "此跟踪中的项目数超过显示的项目数", - "xpack.ux.breakdownFilter.browser": "浏览器", - "xpack.ux.breakdownFilter.device": "设备", - "xpack.ux.breakdownFilter.location": "位置", - "xpack.ux.breakDownFilter.noBreakdown": "无细目", - "xpack.ux.breakdownFilter.os": "OS", - "xpack.ux.pageViews.analyze": "分析", - "xpack.ux.coreVitals.dataUndefined": "不可用", - "xpack.ux.coreVitals.fcp": "首次内容绘制", - "xpack.ux.coreVitals.fcpTooltip": "首次内容绘制 (FCP) 侧重于初始渲染,并度量从页面开始加载到页面内容的任何部分显示在屏幕的时间。", - "xpack.ux.coreVitals.tbt": "阻止总时间", - "xpack.ux.coreVitals.tbtTooltip": "总阻塞时间 (TBT) 是指在首次内容绘制与事务完成之间发生的各个长任务的阻塞时间(持续时间超过50毫秒)之和。", - "xpack.ux.dashboard.backend": "后端", - "xpack.ux.dashboard.dataMissing": "不可用", - "xpack.ux.dashboard.frontend": "前端", - "xpack.ux.dashboard.impactfulMetrics.highTrafficPages": "高流量页面", - "xpack.ux.dashboard.impactfulMetrics.jsErrors": "JavaScript 错误", - "xpack.ux.dashboard.overall.label": "总体", - "xpack.ux.dashboard.pageLoad.label": "页面加载", - "xpack.ux.dashboard.pageLoadDistribution.label": "页面加载分布", - "xpack.ux.dashboard.pageLoadDuration.label": "页面加载持续时间", - "xpack.ux.dashboard.pageLoadTime.label": "页面加载时间(秒)", - "xpack.ux.dashboard.pageLoadTimes.label": "页面加载时间", - "xpack.ux.dashboard.pagesLoaded.label": "已加载页面", - "xpack.ux.dashboard.pageViews": "页面总查看次数", - "xpack.ux.dashboard.resetZoom.label": "重置缩放比例", - "xpack.ux.dashboard.tooltips.backEnd": "后端时间表示接收到第一个字节所需的时间 (TTFB),即从请求发出后接收到第一个响应数据包的时间", - "xpack.ux.dashboard.tooltips.frontEnd": "前端时间表示页面加载总持续时间减去后端时间", - "xpack.ux.dashboard.tooltips.totalPageLoad": "合计表示整个页面加载持续时间", - "xpack.ux.dashboard.totalPageLoad": "合计", - "xpack.ux.filterGroup.breakdown": "细目", - "xpack.ux.filterGroup.coreWebVitals": "网站体验核心指标", - "xpack.ux.filterGroup.seconds": "秒", - "xpack.ux.filterGroup.selectBreakdown": "选择细分", - "xpack.ux.filters.filterByUrl": "按 URL 筛选", - "xpack.ux.filters.searchResults": "{total} 项搜索结果", - "xpack.ux.filters.select": "选择", - "xpack.ux.filters.topPages": "排名靠前页面", - "xpack.ux.filters.url": "URL", - "xpack.ux.filters.url.loadingResults": "正在加载结果", - "xpack.ux.filters.url.noResults": "没有可用结果", - "xpack.ux.jsErrors.errorMessage": "错误消息", - "xpack.ux.jsErrors.errorRate": "错误率", - "xpack.ux.jsErrors.impactedPageLoads": "受影响的页面加载", - "xpack.ux.jsErrors.totalErrors": "错误总数", - "xpack.ux.jsErrorsTable.errorMessage": "无法提取", - "xpack.ux.uxMetrics.longestLongTasks": "长任务最长持续时间", - "xpack.ux.uxMetrics.longestLongTasksTooltip": "最长任务的持续时间。长任务是指独占用户界面线程较长时间(大于50毫秒)并阻止其他关键任务(帧速率或输入延迟)执行的任何用户活动或浏览器任务。", - "xpack.ux.uxMetrics.noOfLongTasks": "长任务数目", - "xpack.ux.uxMetrics.noOfLongTasksTooltip": "长任务的数量。长任务是指独占用户界面线程较长时间(大于50毫秒)并阻止其他关键任务(帧速率或输入延迟)执行的任何用户活动或浏览器任务。", - "xpack.ux.uxMetrics.sumLongTasks": "长任务总持续时间", - "xpack.ux.uxMetrics.sumLongTasksTooltip": "长任务的总持续时间。长任务是指独占用户界面线程较长时间(大于50毫秒)并阻止其他关键任务(帧速率或输入延迟)执行的任何用户活动或浏览器任务。", - "xpack.ux.visitorBreakdown": "访问者细分", - "xpack.ux.visitorBreakdown.browser": "浏览器", - "xpack.ux.visitorBreakdown.operatingSystem": "操作系统", - "xpack.ux.visitorBreakdownMap.avgPageLoadDuration": "页面加载平均持续时间", - "xpack.ux.visitorBreakdownMap.pageLoadDurationByRegion": "按区域列出的页面加载持续时间(平均值)", - "xpack.ux.breadcrumbs.dashboard": "仪表板", - "xpack.ux.breadcrumbs.root": "用户体验", - "xpack.ux.jsErrors.percent": "{pageLoadPercent}%", - "xpack.ux.localFilters.titles.webApplication": "Web 应用程序", - "xpack.ux.median": "中值", - "xpack.ux.metrics": "指标", - "xpack.ux.overview.beatsCard.description": "通过 APM 代理启用 RUM,以收集用户体验数据。", - "xpack.ux.overview.beatsCard.title": "添加 APM 集成", - "xpack.ux.overview.heading": "仪表板", - "xpack.ux.overview.solutionName": "可观测性", - "xpack.ux.percentile.50thMedian": "第 50 个(中值)", - "xpack.ux.percentile.75th": "第 75 个", - "xpack.ux.percentile.90th": "第 90 个", - "xpack.ux.percentile.95th": "第 95 个", - "xpack.ux.percentile.99th": "第 99 个", - "xpack.ux.percentile.label": "百分位数", - "xpack.ux.percentiles.label": "第 {value} 个百分位", - "xpack.ux.title": "仪表板", - "xpack.ux.visitorBreakdown.noData": "无数据。", "xpack.banners.settings.backgroundColor.description": "设置横幅广告的背景色。{subscriptionLink}", "xpack.banners.settings.backgroundColor.title": "横幅广告背景色", "xpack.banners.settings.placement.description": "在 Elastic 页眉上显示此工作区的顶部横幅广告。{subscriptionLink}", @@ -7284,6 +7987,8 @@ "xpack.canvas.elements.dropdownFilterHelpText": "可以从其中为“exactly”筛选选择值的下拉列表", "xpack.canvas.elements.filterDebugDisplayName": "故障排查筛选", "xpack.canvas.elements.filterDebugHelpText": "在 Workpad 中显示基础全局筛选", + "xpack.canvas.elements.heatmapDisplayName": "热图", + "xpack.canvas.elements.heatmapHelpText": "热图可视化", "xpack.canvas.elements.horizontalBarChartDisplayName": "水平条形图", "xpack.canvas.elements.horizontalBarChartHelpText": "可定制的水平条形图", "xpack.canvas.elements.horizontalProgressBarDisplayName": "水平条形图", @@ -7298,6 +8003,8 @@ "xpack.canvas.elements.markdownHelpText": "使用 Markdown 添加文本", "xpack.canvas.elements.metricDisplayName": "指标", "xpack.canvas.elements.metricHelpText": "具有标签的数字", + "xpack.canvas.elements.metricVisDisplayName": "(新)指标可视化", + "xpack.canvas.elements.metricVisHelpText": "指标可视化", "xpack.canvas.elements.pieDisplayName": "饼图", "xpack.canvas.elements.pieHelpText": "饼图", "xpack.canvas.elements.plotDisplayName": "坐标图", @@ -7328,8 +8035,9 @@ "xpack.canvas.elements.verticalProgressPillHelpText": "将进度显示为垂直胶囊的一部分", "xpack.canvas.elementSettings.dataTabLabel": "数据", "xpack.canvas.elementSettings.displayTabLabel": "显示", + "xpack.canvas.elementSettings.filtersTabLabel": "筛选", "xpack.canvas.embedObject.noMatchingObjectsMessage": "未找到任何匹配对象。", - "xpack.canvas.embedObject.titleText": "从 Kibana 添加", + "xpack.canvas.embedObject.titleText": "从库中添加", "xpack.canvas.error.actionsElements.invaludArgIndexErrorMessage": "无效的参数索引:{index}", "xpack.canvas.error.downloadWorkpad.downloadFailureErrorMessage": "无法下载 Workpad", "xpack.canvas.error.downloadWorkpad.downloadRenderedWorkpadFailureErrorMessage": "无法下载已呈现 Workpad", @@ -7343,11 +8051,13 @@ "xpack.canvas.error.esService.indicesFetchErrorMessage": "无法提取 Elasticsearch 索引", "xpack.canvas.error.RenderWithFn.renderErrorMessage": "呈现“{functionName}”失败。", "xpack.canvas.error.useCloneWorkpad.cloneFailureErrorMessage": "无法克隆 Workpad", + "xpack.canvas.error.useCreateWorkpad.createFailureErrorMessage": "无法创建 Workpad", "xpack.canvas.error.useDeleteWorkpads.deleteFailureErrorMessage": "无法删除所有 Workpad", "xpack.canvas.error.useFindWorkpads.findFailureErrorMessage": "无法查找 Workpad", "xpack.canvas.error.useImportWorkpad.acceptJSONOnlyErrorMessage": "仅接受 {JSON} 文件", "xpack.canvas.error.useImportWorkpad.fileUploadFailureWithoutFileNameErrorMessage": "无法上传文件", "xpack.canvas.error.useImportWorkpad.missingPropertiesErrorMessage": "{CANVAS} Workpad 所需的某些属性缺失。 编辑 {JSON} 文件以提供正确的属性值,然后重试。", + "xpack.canvas.error.useUploadWorkpad.uploadFailureErrorMessage": "无法上传 Workpad", "xpack.canvas.error.workpadDropzone.tooManyFilesErrorMessage": "一次只能上传一个文件", "xpack.canvas.error.workpadRoutes.createFailureErrorMessage": "无法创建 Workpad", "xpack.canvas.error.workpadRoutes.loadFailureErrorMessage": "无法加载具有以下 ID 的 Workpad", @@ -7394,6 +8104,8 @@ "xpack.canvas.featureCatalogue.canvasSubtitle": "设计像素级完美的演示文稿。", "xpack.canvas.features.reporting.pdf": "生成 PDF 报告", "xpack.canvas.features.reporting.pdfFeatureName": "Reporting", + "xpack.canvas.formatMsg.toaster.errorStatusMessage": "错误 {errStatus} {errStatusText}:{errMessage}", + "xpack.canvas.formatMsg.toaster.unavailableServerErrorMessage": "HTTP 请求无法连接。请检查 Kibana 服务器是否正在运行以及您的浏览器是否具有有效的连接,或请联系您的系统管理员。", "xpack.canvas.functionForm.contextError": "错误:{errorMessage}", "xpack.canvas.functionForm.functionUnknown.unknownArgumentTypeError": "表达式类型“{expressionType}”未知", "xpack.canvas.functions.all.args.conditionHelpText": "要检查的条件。", @@ -7643,6 +8355,9 @@ "xpack.canvas.functions.urlparam.args.defaultHelpText": "未指定 {URL} 参数时返回的值。", "xpack.canvas.functions.urlparam.args.paramHelpText": "要检索的 {URL} 哈希参数。", "xpack.canvas.functions.urlparamHelpText": "检索要在表达式中使用的 {URL} 参数。{urlparamFn} 函数始终返回 {TYPE_STRING}。例如,可从 {URL} {example} 中检索参数 {myVar} 的值 {value}。", + "xpack.canvas.globalConfig.filter": "筛选", + "xpack.canvas.globalConfig.general": "常规", + "xpack.canvas.globalConfig.title": "Workpad 设置", "xpack.canvas.groupSettings.multipleElementsActionsDescription": "取消选择这些元素以编辑各自的设置,按 ({gKey}) 以对它们进行分组,或将此选择另存为新元素,以在整个 Workpad 中重复使用。", "xpack.canvas.groupSettings.multipleElementsDescription": "当前选择了多个元素。", "xpack.canvas.groupSettings.saveGroupDescription": "将此组另存为新元素,以在整个 Workpad 重复使用。", @@ -7699,7 +8414,7 @@ "xpack.canvas.keyboardShortcutsDoc.flyout.closeButtonAriaLabel": "关闭快捷键参考", "xpack.canvas.keyboardShortcutsDoc.flyoutHeaderTitle": "快捷键", "xpack.canvas.keyboardShortcutsDoc.shortcutListSeparator": "或", - "xpack.canvas.labs.enableLabsDescription": "此标志决定查看者是否对用于在 Canvas 中快速启用和禁用实验性功能的“实验”按钮有访问权限。", + "xpack.canvas.labs.enableLabsDescription": "此标志决定查看者是否有权访问用于在 Canvas 中快速启用和禁用技术预览功能的“实验”按钮。", "xpack.canvas.labs.enableUI": "在 Canvas 中启用实验按钮", "xpack.canvas.lib.palettes.canvasLabel": "{CANVAS}", "xpack.canvas.lib.palettes.colorBlindLabel": "色盲", @@ -7798,6 +8513,9 @@ "xpack.canvas.sidebarHeader.sendBackwardArialLabel": "将元素下移一层", "xpack.canvas.sidebarHeader.sendToBackArialLabel": "将元素移到底层", "xpack.canvas.solutionToolbar.editorMenuButtonLabel": "选择类型", + "xpack.canvas.stopsColorPicker.deleteColorStopLabel": "删除", + "xpack.canvas.stopsPalettePicker.addColorStopLabel": "添加颜色停止", + "xpack.canvas.stopsPalettePicker.colorStopsLabel": "颜色停止", "xpack.canvas.tags.presentationTag": "演示", "xpack.canvas.tags.reportTag": "报告", "xpack.canvas.templates.darkHelp": "深色主题的演示幻灯片", @@ -7840,6 +8558,8 @@ "xpack.canvas.uis.arguments.axisConfigDisabledText": "打开以查看坐标轴设置", "xpack.canvas.uis.arguments.axisConfigLabel": "可视化轴配置", "xpack.canvas.uis.arguments.axisConfigTitle": "轴配置", + "xpack.canvas.uis.arguments.colorLabel": "颜色选取器", + "xpack.canvas.uis.arguments.colorTitle": "颜色", "xpack.canvas.uis.arguments.customPaletteLabel": "定制", "xpack.canvas.uis.arguments.dataColumn.options.averageDropDown": "平均值", "xpack.canvas.uis.arguments.dataColumn.options.countDropDown": "计数", @@ -7888,6 +8608,8 @@ "xpack.canvas.uis.arguments.selectTitle": "选择", "xpack.canvas.uis.arguments.shapeLabel": "更改当前元素的形状", "xpack.canvas.uis.arguments.shapeTitle": "形状", + "xpack.canvas.uis.arguments.stopsPaletteLabel": "根据边界为值提供颜色", + "xpack.canvas.uis.arguments.stopsPaletteTitle": "调色板选取器(具有边界)", "xpack.canvas.uis.arguments.stringLabel": "输入短字符串", "xpack.canvas.uis.arguments.stringTitle": "字符串", "xpack.canvas.uis.arguments.textareaLabel": "输入长字符串", @@ -7931,6 +8653,34 @@ "xpack.canvas.uis.dataSources.timelion.tips.time": "{timelion} 需要时间范围。将时间筛选元素添加到您的页面或使用表达式编辑器传入时间筛选元素。", "xpack.canvas.uis.dataSources.timelion.tipsTitle": "在 {canvas} 中使用 {timelion} 的提示", "xpack.canvas.uis.dataSources.timelionLabel": "使用 {timelion} 语法检索时序数据", + "xpack.canvas.uis.models.heatmap_grid.args.isCellLabelVisibleLabel": "指定单元格标签是否可见", + "xpack.canvas.uis.models.heatmap_grid.args.isCellLabelVisibleTitle": "显示单元格标签", + "xpack.canvas.uis.models.heatmap_grid.args.isXAxisLabelVisibleLabel": "指定 X 轴标签是否可见", + "xpack.canvas.uis.models.heatmap_grid.args.isXAxisLabelVisibleTile": "显示 X 轴标签", + "xpack.canvas.uis.models.heatmap_grid.args.isXAxisTitleVisibleLabel": "指定 X 轴标题是否可见", + "xpack.canvas.uis.models.heatmap_grid.args.isXAxisTitleVisibleTile": "显示 X 轴标题", + "xpack.canvas.uis.models.heatmap_grid.args.isYAxisLabelVisibleLabel": "指定 Y 轴标签是否可见", + "xpack.canvas.uis.models.heatmap_grid.args.isYAxisLabelVisibleTile": "显示 Y 轴标签", + "xpack.canvas.uis.models.heatmap_grid.args.isYAxisTitleVisibleLabel": "指定 Y 轴标题是否可见", + "xpack.canvas.uis.models.heatmap_grid.args.isYAxisTitleVisibleTile": "显示 Y 轴标题", + "xpack.canvas.uis.models.heatmap_grid.args.strokeColorLabel": "指定网格笔画颜色", + "xpack.canvas.uis.models.heatmap_grid.args.strokeColorTitle": "笔画颜色", + "xpack.canvas.uis.models.heatmap_grid.args.strokeWidthLabel": "指定网格笔画宽度", + "xpack.canvas.uis.models.heatmap_grid.args.strokeWidthTitle": "笔画宽度", + "xpack.canvas.uis.models.heatmap_grid.title": "配置热图布局", + "xpack.canvas.uis.models.heatmap_legend.args.isVisibleLabel": "指定图例是否可见", + "xpack.canvas.uis.models.heatmap_legend.args.isVisibleTitle": "显示图例", + "xpack.canvas.uis.models.heatmap_legend.args.maxLinesLabel": "指定每个图例项的行数。", + "xpack.canvas.uis.models.heatmap_legend.args.maxLinesTitle": "图例最大行数", + "xpack.canvas.uis.models.heatmap_legend.args.positionBottomLabel": "底部", + "xpack.canvas.uis.models.heatmap_legend.args.positionLabel": "指定图例位置。", + "xpack.canvas.uis.models.heatmap_legend.args.positionLeftLabel": "左", + "xpack.canvas.uis.models.heatmap_legend.args.positionRightLabel": "右", + "xpack.canvas.uis.models.heatmap_legend.args.positionTitle": "图例位置", + "xpack.canvas.uis.models.heatmap_legend.args.positionTopLabel": "顶部", + "xpack.canvas.uis.models.heatmap_legend.args.shouldTruncateLabel": "指定是否截断图例项", + "xpack.canvas.uis.models.heatmap_legend.args.shouldTruncateTitle": "截断标签", + "xpack.canvas.uis.models.heatmap_legend.title": "配置热图图表的图例", "xpack.canvas.uis.models.math.args.valueLabel": "要用于从数据源提取值的函数和列", "xpack.canvas.uis.models.math.args.valueTitle": "值", "xpack.canvas.uis.models.mathTitle": "度量", @@ -7964,6 +8714,27 @@ "xpack.canvas.uis.views.dropdownControlTitle": "下拉列表筛选", "xpack.canvas.uis.views.getCellLabel": "获取第一行和第一列", "xpack.canvas.uis.views.getCellTitle": "下拉列表筛选", + "xpack.canvas.uis.views.heatmap.args.gridConfigDisplayName": "热图布局配置", + "xpack.canvas.uis.views.heatmap.args.gridConfigHelp": "配置热图布局", + "xpack.canvas.uis.views.heatmap.args.highlightInHoverDisplayName": "在鼠标悬停时突出显示", + "xpack.canvas.uis.views.heatmap.args.highlightInHoverHelp": "如果启用此项,则会在将鼠标悬停在图例上时突出显示相同颜色的范围", + "xpack.canvas.uis.views.heatmap.args.lastRangeIsRightOpenDisplayName": "最后一个范围为右开", + "xpack.canvas.uis.views.heatmap.args.lastRangeIsRightOpenHelp": "如果设置为 true,最后一个范围值将为右开", + "xpack.canvas.uis.views.heatmap.args.legendDisplayName": "热图图例", + "xpack.canvas.uis.views.heatmap.args.legendHelp": "配置热图图表的图例", + "xpack.canvas.uis.views.heatmap.args.plitRowAccessorHelp": "拆分行或对应维度的 ID", + "xpack.canvas.uis.views.heatmap.args.showTooltipDisplayName": "显示工具提示", + "xpack.canvas.uis.views.heatmap.args.showTooltipHelp": "在悬浮时显示工具提示", + "xpack.canvas.uis.views.heatmap.args.splitColumnAccessorDisplayName": "拆分列", + "xpack.canvas.uis.views.heatmap.args.splitColumnAccessorHelp": "拆分列或对应维度的 ID", + "xpack.canvas.uis.views.heatmap.args.splitRowAccessorDisplayName": "拆分行", + "xpack.canvas.uis.views.heatmap.args.valueAccessorDisplayName": "值", + "xpack.canvas.uis.views.heatmap.args.valueAccessorHelp": "值列或对应维度的名称", + "xpack.canvas.uis.views.heatmap.args.xAccessorDisplayName": "X 轴", + "xpack.canvas.uis.views.heatmap.args.xAccessorHelp": "X 轴列或对应维度的 ID", + "xpack.canvas.uis.views.heatmap.args.yAccessorDisplayName": "Y 轴", + "xpack.canvas.uis.views.heatmap.args.yAccessorHelp": "X 轴列或对应维度的 ID", + "xpack.canvas.uis.views.heatmapTitle": "热图可视化", "xpack.canvas.uis.views.image.args.mode.containDropDown": "包含", "xpack.canvas.uis.views.image.args.mode.coverDropDown": "覆盖", "xpack.canvas.uis.views.image.args.mode.stretchDropDown": "拉伸", @@ -7983,6 +8754,22 @@ "xpack.canvas.uis.views.metric.args.metricFormatLabel": "为指标值选择格式", "xpack.canvas.uis.views.metric.args.metricFormatTitle": "格式", "xpack.canvas.uis.views.metricTitle": "指标", + "xpack.canvas.uis.views.metricVis.args.bucketDisplayName": "存储桶", + "xpack.canvas.uis.views.metricVis.args.bucketHelp": "存储桶维度配置", + "xpack.canvas.uis.views.metricVis.args.colorMode.backgroundOption": "背景", + "xpack.canvas.uis.views.metricVis.args.colorMode.labelsOption": "标签", + "xpack.canvas.uis.views.metricVis.args.colorMode.noneOption": "无", + "xpack.canvas.uis.views.metricVis.args.colorModeDisplayName": "指标颜色模式", + "xpack.canvas.uis.views.metricVis.args.colorModeHelp": "指标的哪部分要填充颜色。", + "xpack.canvas.uis.views.metricVis.args.fontDisplayName": "字体", + "xpack.canvas.uis.views.metricVis.args.fontHelp": "指标字体配置", + "xpack.canvas.uis.views.metricVis.args.metricDisplayName": "指标", + "xpack.canvas.uis.views.metricVis.args.metricHelp": "指标维度配置", + "xpack.canvas.uis.views.metricVis.args.percentageModeDisplayName": "启用百分比模式", + "xpack.canvas.uis.views.metricVis.args.percentageModeHelp": "以百分比模式显示指标。", + "xpack.canvas.uis.views.metricVis.args.showLabelsDisplayName": "显示指标标签", + "xpack.canvas.uis.views.metricVis.args.showLabelsHelp": "在指标值下显示标签。", + "xpack.canvas.uis.views.metricVisTitle": "指标可视化", "xpack.canvas.uis.views.numberArgTitle": "值", "xpack.canvas.uis.views.openLinksInNewTabHelpLabel": "设置链接在新选项卡中打开", "xpack.canvas.uis.views.openLinksInNewTabLabel": "在新选项卡中打开所有链接", @@ -8159,6 +8946,22 @@ "xpack.canvas.workpadConfig.widthLabel": "宽", "xpack.canvas.workpadConflict.redirectLabel": "Workpad", "xpack.canvas.workpadCreate.createButtonLabel": "创建 Workpad", + "xpack.canvas.workpadFilters.defaultFilter.column": "列", + "xpack.canvas.workpadFilters.defaultFilter.filterGroup": "筛选组", + "xpack.canvas.workpadFilters.defaultFilter.type": "类型", + "xpack.canvas.workpadFilters.defaultFilter.typeLabel": "下拉列表", + "xpack.canvas.workpadFilters.defaultFilter.value": "值", + "xpack.canvas.workpadFilters.filter.blankTypeLabel": "(空)", + "xpack.canvas.workpadFilters.filters_group.blankValue": "(空)", + "xpack.canvas.workpadFilters.filters_group.withoutGroup": "没有组", + "xpack.canvas.workpadFilters.groupByColumn": "列", + "xpack.canvas.workpadFilters.groupByFilterGroup": "筛选组", + "xpack.canvas.workpadFilters.groupByFilterType": "筛选类型", + "xpack.canvas.workpadFilters.groupBySelect": "分组依据", + "xpack.canvas.workpadFilters.timeFilter.from": "自", + "xpack.canvas.workpadFilters.timeFilter.invalidDate": "无效日期:{date}", + "xpack.canvas.workpadFilters.timeFilter.to": "至", + "xpack.canvas.workpadFilters.timeFilter.typeLabel": "时间", "xpack.canvas.workpadHeader.addElementModalCloseButtonLabel": "关闭", "xpack.canvas.workpadHeader.cycleIntervalDaysText": "每 {days} {days, plural, other {天}}", "xpack.canvas.workpadHeader.cycleIntervalHoursText": "每 {hours} {hours, plural, other {小时}}", @@ -8268,7 +9071,12 @@ "xpack.cases.addConnector.title": "添加连接器", "xpack.cases.allCases.actions": "操作", "xpack.cases.allCases.comments": "注释", - "xpack.cases.allCases.noTagsAvailable": "没有可用标记", + "xpack.cases.allCases.noTagsAvailable": "没有可用标签", + "xpack.cases.badge.readOnly.text": "只读", + "xpack.cases.badge.readOnly.tooltip": "无法创建或编辑案例", + "xpack.cases.breadcrumbs.all_cases": "案例", + "xpack.cases.breadcrumbs.configure_cases": "配置", + "xpack.cases.breadcrumbs.create_case": "创建", "xpack.cases.caseTable.bulkActions": "批处理操作", "xpack.cases.caseTable.bulkActions.closeSelectedTitle": "关闭所选", "xpack.cases.caseTable.bulkActions.deleteSelectedTitle": "删除所选", @@ -8281,9 +9089,9 @@ "xpack.cases.caseTable.delete": "删除", "xpack.cases.caseTable.incidentSystem": "事件管理系统", "xpack.cases.caseTable.inProgressCases": "进行中的案例", - "xpack.cases.caseTable.noCases.body": "没有可显示的案例。请创建新案例或在上面更改您的筛选设置。", - "xpack.cases.caseTable.noCases.readonly.body": "没有可显示的案例。请在上面更改您的筛选设置。", - "xpack.cases.caseTable.noCases.title": "无案例", + "xpack.cases.caseTable.noCases.body": "创建案例或编辑筛选。", + "xpack.cases.caseTable.noCases.readonly.body": "编辑筛选设置。", + "xpack.cases.caseTable.noCases.title": "没有可显示的案例", "xpack.cases.caseTable.notPushed": "未推送", "xpack.cases.caseTable.openCases": "未结案例", "xpack.cases.caseTable.pushLinkAria": "单击可在 { thirdPartyName } 上查看该事件。", @@ -8301,7 +9109,9 @@ "xpack.cases.caseView.actionLabel.addDescription": "添加了描述", "xpack.cases.caseView.actionLabel.addedField": "添加了", "xpack.cases.caseView.actionLabel.changededField": "更改了", + "xpack.cases.caseView.actionLabel.disableSetting": "已禁用", "xpack.cases.caseView.actionLabel.editedField": "编辑了", + "xpack.cases.caseView.actionLabel.enabledSetting": "已启用", "xpack.cases.caseView.actionLabel.on": "在", "xpack.cases.caseView.actionLabel.pushedNewIncident": "已推送为新事件", "xpack.cases.caseView.actionLabel.removedField": "移除了", @@ -8309,6 +9119,7 @@ "xpack.cases.caseView.actionLabel.selectedThirdParty": "已选择 { thirdParty } 作为事件管理系统", "xpack.cases.caseView.actionLabel.updateIncident": "更新了事件", "xpack.cases.caseView.actionLabel.viewIncident": "查看 {incidentNumber}", + "xpack.cases.caseView.activity": "活动", "xpack.cases.caseView.alertCommentLabelTitle": "添加了告警,从", "xpack.cases.caseView.alreadyPushedToExternalService": "已推送到 { externalService } 事件", "xpack.cases.caseView.backLabel": "返回到案例", @@ -8327,9 +9138,10 @@ "xpack.cases.caseView.comment.addCommentHelpText": "添加新注释......", "xpack.cases.caseView.commentFieldRequiredError": "注释必填。", "xpack.cases.caseView.connectors": "外部事件管理系统", - "xpack.cases.caseView.copyCommentLinkAria": "复制参考链接", - "xpack.cases.caseView.create": "创建新案例", + "xpack.cases.caseView.copyCommentLinkAria": "复制引用链接", + "xpack.cases.caseView.create": "创建案例", "xpack.cases.caseView.createCase": "创建案例", + "xpack.cases.caseView.createdOn": "创建日期", "xpack.cases.caseView.description": "描述", "xpack.cases.caseView.description.save": "保存", "xpack.cases.caseView.doesNotExist.button": "返回到案例", @@ -8354,6 +9166,17 @@ "xpack.cases.caseView.lockedIncidentTitleNone": "外部事件是最新的", "xpack.cases.caseView.markedCaseAs": "将案例标记为", "xpack.cases.caseView.markInProgress": "标记为进行中", + "xpack.cases.caseView.metrics.associatedHosts": "关联的主机", + "xpack.cases.caseView.metrics.associatedUsers": "关联的用户", + "xpack.cases.caseView.metrics.isolatedHosts": "已隔离主机", + "xpack.cases.caseView.metrics.lifespan.caseCreated": "已创建案例", + "xpack.cases.caseView.metrics.lifespan.inProgressDuration": "进行中持续时间", + "xpack.cases.caseView.metrics.lifespan.openDuration": "打开持续时间", + "xpack.cases.caseView.metrics.lifespan.openToCloseDuration": "从创建到关闭持续时间", + "xpack.cases.caseView.metrics.lifespan.reopened": "(已重新打开)", + "xpack.cases.caseView.metrics.lifespan.reopenedOn": "已重新打开 ", + "xpack.cases.caseView.metrics.totalAlerts": "告警总数", + "xpack.cases.caseView.metrics.totalConnectors": "连接器总数", "xpack.cases.caseView.moveToCommentAria": "高亮显示引用的注释", "xpack.cases.caseView.name": "名称", "xpack.cases.caseView.noReportersAvailable": "没有报告者。", @@ -8377,8 +9200,10 @@ "xpack.cases.caseView.requiredUpdateToExternalService": "需要更新 { externalService } 事件", "xpack.cases.caseView.sendEmalLinkAria": "单击可向 {user} 发送电子邮件", "xpack.cases.caseView.showAlertTooltip": "显示告警详情", + "xpack.cases.caseView.solution": "解决方案", "xpack.cases.caseView.statusLabel": "状态", "xpack.cases.caseView.syncAlertsLabel": "同步告警", + "xpack.cases.caseView.syncAlertsLowercaseLabel": "同步告警", "xpack.cases.caseView.tags": "标签", "xpack.cases.caseView.to": "到", "xpack.cases.caseView.unknown": "未知", @@ -8395,6 +9220,7 @@ "xpack.cases.configure.connectorDeletedOrLicenseWarning": "选定连接器已删除或您没有{appropriateLicense}来使用它。选择不同的连接器或创建新的连接器。", "xpack.cases.configure.readPermissionsErrorDescription": "您无权查看连接器。如果要查看与此案例关联的连接器,请联系Kibana 管理员。", "xpack.cases.configure.successSaveToast": "已保存外部连接设置", + "xpack.cases.configureCases": "配置案例", "xpack.cases.configureCases.addNewConnector": "添加新连接器", "xpack.cases.configureCases.cancelButton": "取消", "xpack.cases.configureCases.caseClosureOptionsDesc": "定义如何关闭案例。要自动关闭,需要与外部事件管理系统建立连接。", @@ -8477,17 +9303,20 @@ "xpack.cases.containers.markInProgressCases": "已将{totalCases, plural, =1 {“{caseTitle}”} other { {totalCases} 个案例}}标记为进行中", "xpack.cases.containers.pushToExternalService": "已成功发送到 { serviceName }", "xpack.cases.containers.reopenedCases": "已打开{totalCases, plural, =1 {“{caseTitle}”} other { {totalCases} 个案例}}", - "xpack.cases.containers.statusChangeToasterText": "此案例中的告警也更新了状态", + "xpack.cases.containers.statusChangeToasterText": "已更新附加的告警的状态。", "xpack.cases.containers.syncCase": "“{caseTitle}”中的告警已同步", "xpack.cases.containers.updatedCase": "已更新“{caseTitle}”", "xpack.cases.create.stepOneTitle": "案例字段", "xpack.cases.create.stepThreeTitle": "外部连接器字段", "xpack.cases.create.stepTwoTitle": "案例设置", "xpack.cases.create.syncAlertsLabel": "将告警状态与案例状态同步", + "xpack.cases.createCase": "创建案例", + "xpack.cases.createCase.ariaKeypadSolutionSelection": "单个解决方案选择", "xpack.cases.createCase.descriptionFieldRequiredError": "描述必填。", - "xpack.cases.createCase.fieldTagsEmptyError": "标签不得为空", + "xpack.cases.createCase.fieldTagsEmptyError": "标签必须至少包含一个非空格字符", "xpack.cases.createCase.fieldTagsHelpText": "为此案例键入一个或多个定制识别标签。在每个标签后按 Enter 键可开始新的标签。", "xpack.cases.createCase.maxLengthError": "{field}的长度过长。最大长度为 {length}。", + "xpack.cases.createCase.solutionFieldRequiredError": "解决方案必填", "xpack.cases.createCase.titleFieldRequiredError": "标题必填。", "xpack.cases.editConnector.editConnectorLinkAria": "单击以编辑连接器", "xpack.cases.emptyString.emptyStringDescription": "空字符串", @@ -8516,6 +9345,12 @@ "xpack.cases.markdownEditor.plugins.lens.visualizationButtonLabel": "可视化", "xpack.cases.markdownEditor.plugins.timeline.noParenthesesErrorMsg": "应为左括号", "xpack.cases.markdownEditor.preview": "预览", + "xpack.cases.navigation.cases": "案例", + "xpack.cases.navigation.configure": "配置案例", + "xpack.cases.navigation.create": "创建新案例", + "xpack.cases.noPrivileges.button": "返回到案例", + "xpack.cases.noPrivileges.message": "要查看 {pageName} 页面,必须更新权限。有关详细信息,请联系您的 Kibana 管理员。", + "xpack.cases.noPrivileges.title": "需要权限", "xpack.cases.pageTitle": "案例", "xpack.cases.recentCases.commentsTooltip": "注释", "xpack.cases.recentCases.controlLegend": "案例筛选", @@ -8908,6 +9743,7 @@ "xpack.data.mgmt.searchSessions.table.headerStarted": "创建时间", "xpack.data.mgmt.searchSessions.table.headerStatus": "状态", "xpack.data.mgmt.searchSessions.table.headerType": "应用", + "xpack.data.mgmt.searchSessions.table.mlAppName": "Machine Learning", "xpack.data.mgmt.searchSessions.table.notRestorableWarning": "搜索会话将重新执行。然后,您可以将其保存,供未来使用。", "xpack.data.mgmt.searchSessions.table.numSearches": "搜索数", "xpack.data.mgmt.searchSessions.table.versionIncompatibleWarning": "此搜索会话在运行不同版本的 Kibana 实例中已创建。其可能不会正确还原。", @@ -9021,6 +9857,7 @@ "xpack.dataVisualizer.dataGrid.typeColumnName": "类型", "xpack.dataVisualizer.dataGridChart.histogramNotAvailable": "不支持图表。", "xpack.dataVisualizer.dataGridChart.singleCategoryLegend": "{cardinality, plural, other {# 个类别}}", + "xpack.dataVisualizer.dataGridChart.singleTopValueLegend": "{cardinality, plural, one {# 个值 ({exampleValue})} other {# 个值}}", "xpack.dataVisualizer.dataGridChart.topCategoriesLegend": "{cardinality} 个类别中的排名前 {maxChartColumns} 个", "xpack.dataVisualizer.description": "导入您自己的 CSV、NDJSON 或日志文件。", "xpack.dataVisualizer.fieldNameSelect": "字段名称", @@ -9185,6 +10022,8 @@ "xpack.dataVisualizer.fileBeatConfig.paths": "在此处将路径添加您的文件中", "xpack.dataVisualizer.fileBeatConfigFlyout.closeButton": "关闭", "xpack.dataVisualizer.fileBeatConfigFlyout.copyButton": "复制到剪贴板", + "xpack.dataVisualizer.fullTimeRangeSelector.useFullDataExcludingFrozenButtonTooltip": "使用全范围数据,不包括冻结的数据层。", + "xpack.dataVisualizer.fullTimeRangeSelector.useFullDataIncludingFrozenButtonTooltip": "使用全范围数据,包括冻结的数据层,这可能会导致搜索结果更慢显示出来。", "xpack.dataVisualizer.index.actionsPanel.discoverAppTitle": "Discover", "xpack.dataVisualizer.index.actionsPanel.exploreTitle": "浏览您的数据", "xpack.dataVisualizer.index.actionsPanel.viewIndexInDiscoverDescription": "浏览您的索引中的文档。", @@ -9197,6 +10036,8 @@ "xpack.dataVisualizer.index.dataGrid.editDataViewFieldTitle": "编辑数据视图字段", "xpack.dataVisualizer.index.dataGrid.exploreInLensDescription": "在 Lens 中浏览", "xpack.dataVisualizer.index.dataGrid.exploreInLensTitle": "在 Lens 中浏览", + "xpack.dataVisualizer.index.dataGrid.exploreInMapsDescription": "在 Maps 中浏览", + "xpack.dataVisualizer.index.dataGrid.exploreInMapsTitle": "在 Maps 中浏览", "xpack.dataVisualizer.index.dataLoader.internalServerErrorMessage": "加载索引 {index} 中的数据时出错。{message}。请求可能已超时。请尝试使用较小的样例大小或缩小时间范围。", "xpack.dataVisualizer.index.dataViewErrorMessage": "查找数据视图时出错", "xpack.dataVisualizer.index.dataViewManagement.actionsPopoverLabel": "数据视图设置", @@ -9211,6 +10052,10 @@ "xpack.dataVisualizer.index.fieldStatisticsErrorMessage": "由于 {reason},获取字段“{fieldName}”的统计信息时出错", "xpack.dataVisualizer.index.fieldTypeSelect": "字段类型", "xpack.dataVisualizer.index.fullTimeRangeSelector.errorSettingTimeRangeNotification": "设置时间范围时出错。", + "xpack.dataVisualizer.index.fullTimeRangeSelector.moreOptionsButtonAriaLabel": "更多选项", + "xpack.dataVisualizer.index.fullTimeRangeSelector.useFullDataButtonLabel": "使用完整的数据", + "xpack.dataVisualizer.index.fullTimeRangeSelector.useFullDataExcludingFrozenMenuLabel": "排除冻结的数据层", + "xpack.dataVisualizer.index.fullTimeRangeSelector.useFullDataIncludingFrozenMenuLabel": "包括冻结的数据层", "xpack.dataVisualizer.index.indexPatternNotBasedOnTimeSeriesNotificationDescription": "仅针对基于时间的索引运行异常检测", "xpack.dataVisualizer.index.indexPatternNotBasedOnTimeSeriesNotificationTitle": "索引模式 {indexPatternTitle} 不基于时间序列", "xpack.dataVisualizer.index.lensChart.averageOfLabel": "{fieldName} 的平均值", @@ -9350,6 +10195,9 @@ "xpack.enterpriseSearch.appSearch.crawler.crawlRulesTable.regexPathPatternTooltip": "路径模式是与 Ruby 语言正则表达式引擎兼容的正则表达式。", "xpack.enterpriseSearch.appSearch.crawler.crawlRulesTable.ruleTableHead": "规则", "xpack.enterpriseSearch.appSearch.crawler.crawlRulesTable.title": "爬网规则", + "xpack.enterpriseSearch.appSearch.crawler.crawlSelectDomainsModal.modalHeaderTitle": "爬网选定域", + "xpack.enterpriseSearch.appSearch.crawler.crawlSelectDomainsModal.selectedDescriptor": "已选定", + "xpack.enterpriseSearch.appSearch.crawler.crawlSelectDomainsModal.startCrawlButtonLabel": "立即应用并爬网", "xpack.enterpriseSearch.appSearch.crawler.crawlTypeOptions.full": "实线", "xpack.enterpriseSearch.appSearch.crawler.crawlTypeOptions.partial": "部分", "xpack.enterpriseSearch.appSearch.crawler.crawlTypeOptions.reAppliedCrawlRules": "已重新应用爬网规则", @@ -9389,12 +10237,17 @@ "xpack.enterpriseSearch.appSearch.crawler.manageCrawlsPopover.manageCrawlsButtonLabel": "管理爬网", "xpack.enterpriseSearch.appSearch.crawler.manageCrawlsPopover.reApplyCrawlRules.successMessage": "正在后台重新应用爬网规则", "xpack.enterpriseSearch.appSearch.crawler.manageCrawlsPopover.reApplyCrawlRulesButtonLabel": "重新应用爬网规则", + "xpack.enterpriseSearch.appSearch.crawler.simplifiedSelectable.deselectAllButtonLabel": "取消全选", + "xpack.enterpriseSearch.appSearch.crawler.simplifiedSelectable.selectAllButtonLabel": "全选", "xpack.enterpriseSearch.appSearch.crawler.sitemapsTable.addButtonLabel": "添加站点地图", "xpack.enterpriseSearch.appSearch.crawler.sitemapsTable.deleteSuccessToastMessage": "站点地图已删除。", "xpack.enterpriseSearch.appSearch.crawler.sitemapsTable.description": "为此域上的网络爬虫指定站点地图。", "xpack.enterpriseSearch.appSearch.crawler.sitemapsTable.emptyMessageTitle": "当前没有站点地图。", "xpack.enterpriseSearch.appSearch.crawler.sitemapsTable.title": "站点地图", "xpack.enterpriseSearch.appSearch.crawler.sitemapsTable.urlTableHead": "URL", + "xpack.enterpriseSearch.appSearch.crawler.startCrawlContextMenu.crawlAllDomainsMenuLabel": "爬网此引擎上的所有域", + "xpack.enterpriseSearch.appSearch.crawler.startCrawlContextMenu.crawlSelectDomainsMenuLabel": "爬网选定域", + "xpack.enterpriseSearch.appSearch.crawler.startCrawlContextMenu.startACrawlButtonLabel": "开始爬网", "xpack.enterpriseSearch.appSearch.credentials.apiEndpoint": "终端", "xpack.enterpriseSearch.appSearch.credentials.apiKeys": "API 密钥", "xpack.enterpriseSearch.appSearch.credentials.copied": "已复制", @@ -9443,13 +10296,13 @@ "xpack.enterpriseSearch.appSearch.curations.ignoredSuggestionsPanel.queryColumnName": "查询", "xpack.enterpriseSearch.appSearch.curations.ignoredSuggestionsPanel.title": "忽略的查询", "xpack.enterpriseSearch.appSearch.curations.settings.acceptNewSuggesstionsSwitchLabel": "自动接受新建议", - "xpack.enterpriseSearch.appSearch.curations.settings.analyticsDisabledCalloutDescription": "自动策展需要在您帐户上启用分析。", + "xpack.enterpriseSearch.appSearch.curations.settings.analyticsDisabledCalloutDescription": "自适应相关性需要在您帐户上启用分析。", "xpack.enterpriseSearch.appSearch.curations.settings.analyticsDisabledCalloutTitle": "已禁用分析", - "xpack.enterpriseSearch.appSearch.curations.settings.automaticCurationsDescription": "建议策展将监测您引擎的分析并自动提出建议,以帮助您交付最相关的结果。可以接受、拒绝或修改每个建议策展。", - "xpack.enterpriseSearch.appSearch.curations.settings.automaticCurationsTitle": "自动策展", - "xpack.enterpriseSearch.appSearch.curations.settings.enableautomaticCurationsSwitchLabel": "启用自动化建议", - "xpack.enterpriseSearch.appSearch.curations.settings.licenseUpgradeCTASubtitle": "升级到 {platinumLicenseName} 许可证以充分利用 Machine Learning。通过分析您引擎的分析,App Search 能够建议新的或已更新的策展。轻松帮助您的用户准确找到他们寻找的内容。立即开始免费试用。", - "xpack.enterpriseSearch.appSearch.curations.settings.licenseUpgradeCTATitle": "自动策展简介", + "xpack.enterpriseSearch.appSearch.curations.settings.automaticCurationsDescription": "App Search 将监测您引擎的分析并提出策展更改建议,以帮助您交付最相关的结果。可以接受、拒绝或修改每个建议。", + "xpack.enterpriseSearch.appSearch.curations.settings.automaticCurationsTitle": "策展由自适应相关性提供支持", + "xpack.enterpriseSearch.appSearch.curations.settings.enableautomaticCurationsSwitchLabel": "启用建议", + "xpack.enterpriseSearch.appSearch.curations.settings.licenseUpgradeCTASubtitle": "升级到{platinumLicenseName}订阅以充分利用 Machine Learning。通过分析您引擎的分析,App Search 能够建议新的或已更新的策展。轻松帮助您的用户准确找到他们寻找的内容。立即开始免费试用。", + "xpack.enterpriseSearch.appSearch.curations.settings.licenseUpgradeCTATitle": "介绍由自适应相关性提供支持的策展", "xpack.enterpriseSearch.appSearch.curations.settings.manageAnalyticsButtonLabel": "管理分析", "xpack.enterpriseSearch.appSearch.curations.settings.platinum": "白金级", "xpack.enterpriseSearch.appSearch.DEV_ROLE_TYPE_DESCRIPTION": "开发人员可以管理引擎的所有方面。", @@ -9591,8 +10444,8 @@ "xpack.enterpriseSearch.appSearch.engine.curation.automatedLabel": "自动", "xpack.enterpriseSearch.appSearch.engine.curation.convertToManualCurationButtonLabel": "转换到手动策展", "xpack.enterpriseSearch.appSearch.engine.curation.detail.historyButtonLabel": "历史记录", - "xpack.enterpriseSearch.appSearch.engine.curation.detail.historyTableDescription": "您的自动策展的最近更改的详细日志。", - "xpack.enterpriseSearch.appSearch.engine.curation.detail.historyTableTitle": "自动策展更改", + "xpack.enterpriseSearch.appSearch.engine.curation.detail.historyTableDescription": "由自适应相关性提供支持的策展的最近更改详细日志。", + "xpack.enterpriseSearch.appSearch.engine.curation.detail.historyTableTitle": "自适应相关性更改", "xpack.enterpriseSearch.appSearch.engine.curation.suggestedDocumentsCallout.description": "基于您引擎的分析,新的建议文档提升已准备就绪,可供复查。", "xpack.enterpriseSearch.appSearch.engine.curation.suggestedDocumentsCallout.title": "此查询的新建议文档", "xpack.enterpriseSearch.appSearch.engine.curations.actionsPopoverAriaLabel": "更多建议操作", @@ -9604,8 +10457,8 @@ "xpack.enterpriseSearch.appSearch.engine.curations.addResult.searchPlaceholder": "搜索引擎文档", "xpack.enterpriseSearch.appSearch.engine.curations.addResult.title": "将结果添加到策展", "xpack.enterpriseSearch.appSearch.engine.curations.automatedCurationsHistoryPanel.queryColumnHeader": "查询", - "xpack.enterpriseSearch.appSearch.engine.curations.automatedCurationsHistoryPanel.tableDecription": "您的自动策展的最近更改的详细日志。", - "xpack.enterpriseSearch.appSearch.engine.curations.automatedCurationsHistoryPanel.tableTitle": "自动策展更改", + "xpack.enterpriseSearch.appSearch.engine.curations.automatedCurationsHistoryPanel.tableDecription": "由自适应相关性提供支持的策展的最近更改详细日志。", + "xpack.enterpriseSearch.appSearch.engine.curations.automatedCurationsHistoryPanel.tableTitle": "自适应相关性更改", "xpack.enterpriseSearch.appSearch.engine.curations.convertToManualCurationConfirmation": "是否确定要将此策展转换为手动策展?", "xpack.enterpriseSearch.appSearch.engine.curations.create.curationQueriesDescription": "添加要策展的一个或多个查询。之后将能够添加或删除更多查询。", "xpack.enterpriseSearch.appSearch.engine.curations.create.curationQueriesTitle": "策展查询", @@ -9972,6 +10825,7 @@ "xpack.enterpriseSearch.appSearch.productCardDescription": "为您的网站和 Web/移动应用设计、部署并管理强大的搜索体验。", "xpack.enterpriseSearch.appSearch.productDescription": "利用仪表板、分析和 API 执行高级应用程序搜索简单易行。", "xpack.enterpriseSearch.appSearch.productName": "App Search", + "xpack.enterpriseSearch.appSearch.result.clicks": "{clicks} 次点击", "xpack.enterpriseSearch.appSearch.result.documentDetailLink": "访问文档详情", "xpack.enterpriseSearch.appSearch.result.hideAdditionalFields": "隐藏其他字段", "xpack.enterpriseSearch.appSearch.result.resultPositionLabel": "#{resultPosition}", @@ -10053,6 +10907,11 @@ "xpack.enterpriseSearch.notFound.description": "找不到您要查找的页面。", "xpack.enterpriseSearch.notFound.title": "404 错误", "xpack.enterpriseSearch.overview.heading": "欢迎使用 Elastic 企业搜索", + "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.productCard.heading": "Elastic {productName}", "xpack.enterpriseSearch.overview.productCard.launchButton": "打开 {productName}", "xpack.enterpriseSearch.overview.productCard.setupButton": "设置 {productName}", @@ -10284,7 +11143,7 @@ "xpack.enterpriseSearch.workplaceSearch.contentSource.configOauth.label": "选择要同步的 GitHub 组织", "xpack.enterpriseSearch.workplaceSearch.contentSource.configuredSources.accountOnlyTooltip": "专用内容源。每个用户必须从自己的个人仪表板添加内容源。", "xpack.enterpriseSearch.workplaceSearch.contentSource.configuredSources.body": "已配置且准备好连接。", - "xpack.enterpriseSearch.workplaceSearch.contentSource.configuredSources.connectButton": "连接", + "xpack.enterpriseSearch.workplaceSearch.contentSource.configuredSources.connectButton": "连接另一个", "xpack.enterpriseSearch.workplaceSearch.contentSource.configuredSources.emptyState": "没有已配置的源匹配您的查询。", "xpack.enterpriseSearch.workplaceSearch.contentSource.configuredSources.title": "已配置内容源", "xpack.enterpriseSearch.workplaceSearch.contentSource.configuredSources.unConnectedTooltip": "没有已连接源", @@ -10835,7 +11694,17 @@ "xpack.features.visualizeFeatureName": "Visualize 库", "xpack.fileUpload.fileSizeError": "文件大小 {fileSize} 超过最大文件大小 {maxFileSize}", "xpack.fileUpload.fileTypeError": "文件不是可接受类型之一:{types}", + "xpack.fileUpload.geoFilePicker.acceptedFormats": "接受的格式:{fileTypes}", + "xpack.fileUpload.geoFilePicker.filePicker": "选择或拖放文件", + "xpack.fileUpload.geoFilePicker.maxSize": "最大大小:{maxFileSize}", + "xpack.fileUpload.geoFilePicker.noFeaturesDetected": "选定文件中未找到任何特征。", + "xpack.fileUpload.geoFilePicker.previewSummary": "正在预览 {numFeatures} 个特征、{previewCoverage}% 的文件。", "xpack.fileUpload.geojsonImporter.noGeometry": "特征不包含必需的字段“geometry”", + "xpack.fileUpload.geoUploadWizard.creatingIndexPattern": "正在创建数据视图:{indexName}", + "xpack.fileUpload.geoUploadWizard.dataIndexingError": "数据索引错误", + "xpack.fileUpload.geoUploadWizard.dataIndexingStarted": "正在创建索引:{indexName}", + "xpack.fileUpload.geoUploadWizard.indexPatternError": "无法创建数据视图", + "xpack.fileUpload.geoUploadWizard.writingToIndex": "正在写入索引:已完成 {progress}%", "xpack.fileUpload.import.noIdOrIndexSuppliedErrorMessage": "未提供任何 ID 或索引", "xpack.fileUpload.importComplete.copyButtonAriaLabel": "复制到剪贴板", "xpack.fileUpload.importComplete.failedFeaturesMsg": "无法索引 {numFailures} 个特征。", @@ -10863,10 +11732,13 @@ "xpack.fileUpload.indexNameRequired": "需要索引名称", "xpack.fileUpload.indexPatternAlreadyExistsErrorMessage": "数据视图已存在。", "xpack.fileUpload.indexSettings.enterIndexTypeLabel": "索引类型", + "xpack.fileUpload.invalidRuntimeFieldMessage": "运行时字段无效", "xpack.fileUpload.maxFileSizeUiSetting.description": "设置导入文件时的文件大小限制。此设置支持的最高值为 1GB。", "xpack.fileUpload.maxFileSizeUiSetting.error": "应为有效的数据大小。如 200MB、1GB", "xpack.fileUpload.maxFileSizeUiSetting.name": "最大文件上传大小", "xpack.fileUpload.noFileNameError": "未提供文件名", + "xpack.fileUpload.shapefile.sideCarFilePicker.error": "{ext} 应为 {shapefileName}{ext}", + "xpack.fileUpload.shapefile.sideCarFilePicker.promptText": "选择“{ext}”文件", "xpack.fleet.addAgentButton": "添加代理", "xpack.fleet.addAgentHelpPopover.documentationLink": "深入了解 Elastic 代理。", "xpack.fleet.addAgentHelpPopover.footActionButton": "了解", @@ -10936,7 +11808,7 @@ "xpack.fleet.agentEnrollment.standaloneDescription": "独立运行 Elastic 代理,以在安装代理的主机上手动配置和更新代理。", "xpack.fleet.agentEnrollment.stepCheckForDataDescription": "该代理应该开始发送数据。前往 {link} 以查看您的数据。", "xpack.fleet.agentEnrollment.stepCheckForDataTitle": "检查数据", - "xpack.fleet.agentEnrollment.stepChooseAgentPolicyTitle": "选择代理策略", + "xpack.fleet.agentEnrollment.stepChooseAgentPolicyTitle": "您正在添加什么类型的主机?", "xpack.fleet.agentEnrollment.stepConfigureAgentDescription": "在安装 Elastic 代理的主机上将此策略复制到 {fileName}。在 {fileName} 的 {outputSection} 部分中修改 {ESUsernameVariable} 和 {ESPasswordVariable},以使用您的 Elasticsearch 凭据。", "xpack.fleet.agentEnrollment.stepConfigureAgentDescriptionk8s": "复制或下载 Kubernetes 集群内的 Kubernetes 清单。修改 Daemonset 环境变量中的 {ESUsernameVariable} 和 {ESPasswordVariable} 并应用该清单。", "xpack.fleet.agentEnrollment.stepConfigureAgentTitle": "配置代理", @@ -11013,13 +11885,24 @@ "xpack.fleet.agentPolicy.postInstallAddAgentModalCancelButtonLabel": "稍后添加 Elastic 代理", "xpack.fleet.agentPolicy.postInstallAddAgentModalConfirmButtonLabel": "将 Elastic 代理添加到您的主机", "xpack.fleet.agentPolicy.postInstallAddAgentModalDescription": "要完成此集成,请将 {elasticAgent}添加到主机,以便收集数据并将其发送到 Elastic Stack", + "xpack.fleet.agentPolicy.saveIntegrationTooltip": "要保存集成策略,必须启用安全功能并具有集成的所有权限。请联系您的管理员。", "xpack.fleet.agentPolicyActionMenu.buttonText": "操作", "xpack.fleet.agentPolicyActionMenu.copyPolicyActionText": "复制策略", "xpack.fleet.agentPolicyActionMenu.enrollAgentActionText": "添加代理", "xpack.fleet.agentPolicyActionMenu.viewPolicyText": "查看策略", + "xpack.fleet.agentPolicyCreation.created": "代理策略已创建", + "xpack.fleet.agentPolicyCreation.failed": "代理策略创建失败", "xpack.fleet.agentPolicyForm.advancedOptionsToggleLabel": "高级选项", + "xpack.fleet.agentPolicyForm.createAgentPolicyDescription": "通过创建新的代理策略,将此集成添加到一组新主机中。您可以在下一步中添加代理。", + "xpack.fleet.agentPolicyForm.createAgentPolicyDocLink": "代理策略", + "xpack.fleet.agentPolicyForm.createAgentPolicyFleetServer": "Fleet 服务器在 Elastic 代理上运行,并将在代表主机的代理策略中注册代理。我们需要创建专用代理策略,以便在专用主机上运行 Fleet 服务器。", + "xpack.fleet.agentPolicyForm.createAgentPolicyLabel": "创建代理策略", + "xpack.fleet.agentPolicyForm.createAgentPolicyText": "创建策略", + "xpack.fleet.agentPolicyForm.createAgentPolicyTypeOfHosts": "主机的类型受 {agentPolicy} 控制。创建新的代理策略以开始。", + "xpack.fleet.agentPolicyForm.descriptionDescription": "添加将如何使用此策略的描述。", "xpack.fleet.agentPolicyForm.descriptionFieldLabel": "描述", - "xpack.fleet.agentPolicyForm.descriptionFieldPlaceholder": "此策略将如何使用?", + "xpack.fleet.agentPolicyForm.descriptionFieldPlaceholder": "可选描述", + "xpack.fleet.agentPolicyForm.monitoringDescription": "收集监测日志和指标还会创建 {agent} 集成。监测数据将写入到上面指定的默认命名空间。", "xpack.fleet.agentPolicyForm.monitoringLabel": "代理监测", "xpack.fleet.agentPolicyForm.monitoringLogsFieldLabel": "收集代理日志", "xpack.fleet.agentPolicyForm.monitoringLogsTooltipText": "从使用此策略的 Elastic 代理收集日志。", @@ -11031,7 +11914,9 @@ "xpack.fleet.agentPolicyForm.namespaceFieldDescription": "命名空间是用户可配置的任意分组,使搜索数据和管理用户权限更容易。策略命名空间用于命名其集成的数据流。{fleetUserGuide}。", "xpack.fleet.agentPolicyForm.nameSpaceFieldDescription.fleetUserGuideLabel": "了解详情", "xpack.fleet.agentPolicyForm.namespaceFieldLabel": "默认命名空间", + "xpack.fleet.agentPolicyForm.newAgentPolicyFieldLabel": "新代理策略名称", "xpack.fleet.agentPolicyForm.systemMonitoringText": "收集系统日志和指标", + "xpack.fleet.agentPolicyForm.systemMonitoringTooltipText": "这还会添加 {system} 集成以收集系统日志和指标。", "xpack.fleet.agentPolicyForm.unenrollmentTimeoutDescription": "可选超时(秒)。若提供,代理断开连接此段时间后,将自动注销。", "xpack.fleet.agentPolicyForm.unenrollmentTimeoutLabel": "注销超时", "xpack.fleet.agentPolicyForm.unenrollTimeoutMinValueErrorMessage": "超时必须大于零。", @@ -11139,7 +12024,7 @@ "xpack.fleet.createPackagePolicy.stepConfigure.showStreamsAriaLabel": "显示 {type} 输入", "xpack.fleet.createPackagePolicy.stepConfigure.toggleAdvancedOptionsButtonText": "高级选项", "xpack.fleet.createPackagePolicy.stepConfigurePackagePolicyTitle": "配置集成", - "xpack.fleet.createPackagePolicy.stepSelectAgentPolicyTitle": "应用到代理策略", + "xpack.fleet.createPackagePolicy.stepSelectAgentPolicyTitle": "要将此集成添加到什么位置?", "xpack.fleet.createPackagePolicy.StepSelectPolicy.agentPolicyAgentsDescriptionText": "{count, plural, other {# 个代理}}已注册到选定代理策略。", "xpack.fleet.createPackagePolicy.StepSelectPolicy.agentPolicyFormGroupDescription": "代理策略用于跨代理集管理一组集成。", "xpack.fleet.createPackagePolicy.StepSelectPolicy.agentPolicyFormGroupTitle": "代理策略", @@ -11170,6 +12055,7 @@ "xpack.fleet.deleteAgentPolicy.confirmModal.cancelButtonLabel": "取消", "xpack.fleet.deleteAgentPolicy.confirmModal.confirmButtonLabel": "删除策略", "xpack.fleet.deleteAgentPolicy.confirmModal.deletePolicyTitle": "删除此代理策略?", + "xpack.fleet.deleteAgentPolicy.confirmModal.fleetServerMessage": "注意:此策略具有 Fleet 服务器集成,使用 Fleet 需要该集成。", "xpack.fleet.deleteAgentPolicy.confirmModal.irreversibleMessage": "此操作无法撤消。", "xpack.fleet.deleteAgentPolicy.confirmModal.loadingAgentsCountMessage": "正在检查受影响的代理数量……", "xpack.fleet.deleteAgentPolicy.confirmModal.loadingButtonLabel": "正在加载……", @@ -11221,9 +12107,12 @@ "xpack.fleet.enrollmentInstructions.platformSelectAriaLabel": "平台", "xpack.fleet.enrollmentInstructions.troubleshootingLink": "故障排除指南", "xpack.fleet.enrollmentInstructions.troubleshootingText": "如果有连接问题,请参阅我们的{link}。", + "xpack.fleet.enrollmentStepAgentPolicy.addPolicyButton": "创建新代理策略", + "xpack.fleet.enrollmentStepAgentPolicy.createAgentPolicyText": "主机的类型受 {agentPolicy} 控制。选择代理策略或创建新策略。", "xpack.fleet.enrollmentStepAgentPolicy.enrollmentTokenSelectLabel": "注册令牌", "xpack.fleet.enrollmentStepAgentPolicy.noEnrollmentTokensForSelectedPolicyCallout": "选定的代理策略没有注册令牌", "xpack.fleet.enrollmentStepAgentPolicy.policySelectAriaLabel": "代理策略", + "xpack.fleet.enrollmentStepAgentPolicy.selectAgentPolicyFleetServerText": "Fleet 服务器在 Elastic 代理上运行,并将在代表主机的代理策略中注册代理。您可以选择为 Fleet 服务器配置的现有代理策略,也可以选择创建新策略。", "xpack.fleet.enrollmentStepAgentPolicy.setUpAgentsLink": "创建注册令牌", "xpack.fleet.enrollmentStepAgentPolicy.showAuthenticationSettingsButton": "身份验证设置", "xpack.fleet.enrollmentTokenDeleteModal.cancelButton": "取消", @@ -11241,8 +12130,8 @@ "xpack.fleet.enrollmentTokensList.revokeTokenButtonLabel": "撤销令牌", "xpack.fleet.enrollmentTokensList.secretTitle": "密钥", "xpack.fleet.enrollmentTokensList.showTokenButtonLabel": "显示令牌", - "xpack.fleet.epm.addPackagePolicyButtonPrivilegesRequiredTooltip": "要添加 Elastic 代理集成,您必须具有超级用户角色。请联系您的管理员。", - "xpack.fleet.epm.addPackagePolicyButtonSecurityRequiredTooltip": "要添加 Elastic 代理集成,必须启用安全功能并具有超级用户角色。请联系您的管理员。", + "xpack.fleet.epm.addPackagePolicyButtonPrivilegesRequiredTooltip": "Elastic 代理集成需要 Fleet 的所有权限和集成的所有权限。请联系您的管理员。", + "xpack.fleet.epm.addPackagePolicyButtonSecurityRequiredTooltip": "要添加 Elastic 代理集成,必须启用安全功能并具有 Fleet 的所有权限。请联系您的管理员。", "xpack.fleet.epm.addPackagePolicyButtonText": "添加 {packageName}", "xpack.fleet.epm.agentEnrollment.viewDataAssetsLabel": "查看资产", "xpack.fleet.epm.agentEnrollment.viewDataDescription.pleaseNoteLabel": "请注意", @@ -11267,6 +12156,7 @@ "xpack.fleet.epm.browseAllButtonText": "浏览所有集成", "xpack.fleet.epm.categoryLabel": "类别", "xpack.fleet.epm.detailsTitle": "详情", + "xpack.fleet.epm.elasticAgentBadgeLabel": "Elastic 代理", "xpack.fleet.epm.errorLoadingNotice": "加载 NOTICE.txt 时出错", "xpack.fleet.epm.featuresLabel": "功能", "xpack.fleet.epm.install.packageInstallError": "安装 {pkgName} {pkgVersion} 时出错", @@ -11303,8 +12193,8 @@ "xpack.fleet.epm.pageSubtitle": "选择集成以开始收集并分析数据。", "xpack.fleet.epm.releaseBadge.betaDescription": "在生产环境中不推荐使用此集成。", "xpack.fleet.epm.releaseBadge.betaLabel": "公测版", - "xpack.fleet.epm.releaseBadge.experimentalDescription": "此集成可能有重大更改或将在未来版本中移除。", - "xpack.fleet.epm.releaseBadge.experimentalLabel": "实验性", + "xpack.fleet.epm.releaseBadge.experimentalDescription": "此功能处于技术预览状态,在未来版本中可能会更改或完全移除。Elastic 将尽最大努力来修复任何问题,但处于技术预览状态的功能不受正式 GA 功能支持 SLA 的约束。", + "xpack.fleet.epm.releaseBadge.experimentalLabel": "技术预览", "xpack.fleet.epm.screenshotAltText": "{packageName} 屏幕截图 #{imageNumber}", "xpack.fleet.epm.screenshotErrorText": "无法加载此屏幕截图", "xpack.fleet.epm.screenshotPaginationAriaLabel": "{packageName} 屏幕截图分页", @@ -11322,7 +12212,7 @@ "xpack.fleet.epmList.eprUnavailableCallouBdGatewaytTitleMessage": "要查看这些集成,请配置 {registryproxy} 或主机 {onpremregistry}。", "xpack.fleet.epmList.eprUnavailableCallout400500TitleMessage": "确保正确配置了 {registryproxy} 或 {onpremregistry},或在稍后重试。", "xpack.fleet.epmList.missingIntegrationPlaceholder": "我们未找到任何匹配搜索词的集成。请重试其他关键字,或使用左侧的类别浏览。", - "xpack.fleet.epmList.noPackagesFoundPlaceholder": "未找到任何软件包", + "xpack.fleet.epmList.noPackagesFoundPlaceholder": "未找到集成", "xpack.fleet.epmList.onPremLinkSnippetText": "您自己的注册表", "xpack.fleet.epmList.proxyLinkSnippedText": "代理服务器", "xpack.fleet.epmList.searchPackagesPlaceholder": "搜索集成", @@ -11375,15 +12265,18 @@ "xpack.fleet.fleetServerSetup.setupGuideLink": "Fleet 和 Elastic 代理指南", "xpack.fleet.fleetServerSetup.setupText": "需要提供 Fleet 服务器,才能使用 Fleet 注册代理。按照下面的说明设置 Fleet 服务器。有关详细信息,请参阅{userGuideLink}。", "xpack.fleet.fleetServerSetup.setupTitle": "添加 Fleet 服务器", + "xpack.fleet.fleetServerSetup.stepCreateAgentPolicyTitle": "创建代理策略来托管 Fleet 服务器", "xpack.fleet.fleetServerSetup.stepDeploymentModeDescriptionText": "Fleet 使用传输层安全 (TLS) 加密 Elastic 代理和 Elastic Stack 中的其他组件之间的流量。选择部署模式来决定处理证书的方式。您的选择将影响后面步骤中显示的 Fleet 服务器设置命令。", "xpack.fleet.fleetServerSetup.stepDeploymentModeTitle": "为安全选择部署模式", "xpack.fleet.fleetServerSetup.stepFleetServerCompleteDescription": "现在可以将代理注册到 Fleet。", "xpack.fleet.fleetServerSetup.stepFleetServerCompleteTitle": "Fleet 服务器已连接", "xpack.fleet.fleetServerSetup.stepGenerateServiceTokenTitle": "生成服务令牌", "xpack.fleet.fleetServerSetup.stepInstallAgentTitle": "启动 Fleet 服务器", - "xpack.fleet.fleetServerSetup.stepSelectAgentPolicyTitle": "选择代理策略", + "xpack.fleet.fleetServerSetup.stepSelectAgentPolicyTitle": "选择代理策略来托管 Fleet 服务器", "xpack.fleet.fleetServerSetup.stepWaitingForFleetServerTitle": "正在等待 Fleet 服务器连接......", "xpack.fleet.fleetServerSetup.waitingText": "等候 Fleet 服务器连接......", + "xpack.fleet.fleetServerSetupPermissionDeniedErrorMessage": "需要设置 Fleet 服务器。这需要 {roleName} 集群权限。请联系您的管理员。", + "xpack.fleet.fleetServerSetupPermissionDeniedErrorTitle": "权限被拒绝", "xpack.fleet.fleetServerUnhealthy.requestError": "提取 Fleet 服务器状态时出错", "xpack.fleet.fleetServerUpgradeModal.announcementImageAlt": "Fleet 服务器升级公告", "xpack.fleet.fleetServerUpgradeModal.breakingChangeMessage": "这是一项重大更改,所以我们在公测版中进行该更改。非常抱歉带来不便。如果您有疑问或需要帮助,请共享 {link}。", @@ -11487,7 +12380,8 @@ "xpack.fleet.newEnrollmentKey.placeholder": "输入令牌名称", "xpack.fleet.newEnrollmentKey.policyLabel": "策略", "xpack.fleet.newEnrollmentKey.submitButton": "创建注册令牌", - "xpack.fleet.noAccess.accessDeniedDescription": "您无权访问 Elastic Fleet。要使用 Elastic Fleet,您需要包含此应用程序读取权限或所有权限的用户角色。", + "xpack.fleet.newEnrollmentKeyForm.policyIdRequireErrorMessage": "策略必填", + "xpack.fleet.noAccess.accessDeniedDescription": "您无权访问 Elastic Fleet。要使用 Elastic Fleet,您需要包含此应用程序的所有权限的用户角色。", "xpack.fleet.noAccess.accessDeniedTitle": "访问被拒绝", "xpack.fleet.oldAppTitle": "采集管理器", "xpack.fleet.overviewPageSubtitle": "Elastic 代理的集中管理。", @@ -11504,6 +12398,7 @@ "xpack.fleet.packagePolicyValidation.nameRequiredErrorMessage": "“名称”必填", "xpack.fleet.packagePolicyValidation.quoteStringErrorMessage": "以特殊 YAML 字符(* 或 &)开头的字符串需要使用双引号引起。", "xpack.fleet.packagePolicyValidation.requiredErrorMessage": "“{fieldName}”必填", + "xpack.fleet.permissionDeniedErrorMessage": "您无权访问 Fleet。这需要 Fleet 的 {roleName1} Kibana 权限,以及集成的 {roleName2} 或 {roleName1} 权限。", "xpack.fleet.permissionDeniedErrorTitle": "权限被拒绝", "xpack.fleet.permissionsRequestErrorMessageDescription": "检查 Fleet 权限时遇到问题", "xpack.fleet.permissionsRequestErrorMessageTitle": "无法检查权限", @@ -11552,6 +12447,8 @@ "xpack.fleet.serverError.enrollmentKeyDuplicate": "称作 {providedKeyName} 的注册密钥对于代理策略 {agentPolicyId} 已存在", "xpack.fleet.serverError.returnedIncorrectKey": "find enrollmentKeyById 返回错误的密钥", "xpack.fleet.serverError.unableToCreateEnrollmentKey": "无法创建注册 api 密钥", + "xpack.fleet.serverPlugin.integrationsPrivilegesTooltip": "访问所有集成需要所有工作区。", + "xpack.fleet.serverPlugin.privilegesTooltip": "访问 Fleet 需要所有工作区。", "xpack.fleet.settings.confirmModal.cancelButtonText": "取消", "xpack.fleet.settings.confirmModal.confirmButtonText": "保存并部署", "xpack.fleet.settings.deleteHostButton": "删除主机", @@ -12144,6 +13041,7 @@ "xpack.idxMgmt.detailPanel.tabSummaryLabel": "摘要", "xpack.idxMgmt.editIndexSettingsAction.successfullySavedSettingsForIndicesMessage": "已成功保存 {indexName} 的设置", "xpack.idxMgmt.editSettingsJSON.saveJSONButtonLabel": "保存", + "xpack.idxMgmt.editSettingsJSON.saveJSONCalloutErrorTitle": "尝试保存您的设置时出错", "xpack.idxMgmt.editSettingsJSON.saveJSONDescription": "编辑并保存您的 JSON", "xpack.idxMgmt.editSettingsJSON.settingsReferenceLinkText": "设置参考", "xpack.idxMgmt.editTemplate.editTemplatePageTitle": "编辑模板“{name}”", @@ -13953,6 +14851,7 @@ "xpack.infra.metrics.alerting.threshold.errorAlertReason": "Elasticsearch 尝试查询 {metric} 的数据时出现故障", "xpack.infra.metrics.alerting.threshold.errorState": "错误", "xpack.infra.metrics.alerting.threshold.fired": "告警", + "xpack.infra.metrics.alerting.threshold.firedAlertReason": "对于 {group},过去 {duration}的 {metric} 为 {currentValue}。{comparator} {threshold} 时告警。", "xpack.infra.metrics.alerting.threshold.noDataAlertReason": "对于 {group},{metric} 在过去 {interval}中未报告数据", "xpack.infra.metrics.alerting.threshold.noDataFormattedValue": "[无数据]", "xpack.infra.metrics.alerting.threshold.noDataState": "无数据", @@ -13972,6 +14871,8 @@ "xpack.infra.metrics.anomaly.alertName": "基础架构异常", "xpack.infra.metrics.emptyViewDescription": "尝试调整您的时间或筛选。", "xpack.infra.metrics.emptyViewTitle": "没有可显示的数据。", + "xpack.infra.metrics.exploreDataButtonLabel": "浏览数据", + "xpack.infra.metrics.exploreDataButtonLabel.message": "“浏览数据”允许您选择和筛选任意维度中的结果数据以及查找性能问题的原因或影响。", "xpack.infra.metrics.expressionItems.components.closablePopoverTitle.closeLabel": "关闭", "xpack.infra.metrics.invalidNodeErrorDescription": "反复检查您的配置", "xpack.infra.metrics.invalidNodeErrorTitle": "似乎 {nodeName} 未在收集任何指标数据", @@ -14015,6 +14916,7 @@ "xpack.infra.metrics.nodeDetails.processListRetry": "重试", "xpack.infra.metrics.nodeDetails.searchForProcesses": "搜索进程……", "xpack.infra.metrics.nodeDetails.tabs.processes": "进程", + "xpack.infra.metrics.pageHeader.analyzeData.label": "导航到“浏览数据”视图以可视化基础架构指标数据", "xpack.infra.metrics.pluginTitle": "指标", "xpack.infra.metrics.refetchButtonLabel": "检查新数据", "xpack.infra.metrics.settingsTabTitle": "设置", @@ -14351,7 +15253,29 @@ "xpack.ingestPipelines.clone.loadSourcePipelineErrorTitle": "无法加载 {name}。", "xpack.ingestPipelines.create.docsButtonLabel": "创建管道文档", "xpack.ingestPipelines.create.pageTitle": "创建管道", + "xpack.ingestPipelines.createFromCsv.errorMessage": "{message}", + "xpack.ingestPipelines.createFromCsv.fetchPipeline.unexpectedErrorDetails": "意外错误", + "xpack.ingestPipelines.createFromCsv.fetchPipeline.unexpectedErrorTitle": "出问题了", + "xpack.ingestPipelines.createFromCsv.fileUpload.filePickerTitle": "上传文件(不超过 {maxFileSize})", + "xpack.ingestPipelines.createFromCsv.fileUpload.processButton": "处理 CSV", + "xpack.ingestPipelines.createFromCsv.fileUpload.selectOrDragAndDropFileDescription": "选择或拖放 CSV 文件", + "xpack.ingestPipelines.createFromCsv.fileUpload.settingDescription": "如果 CSV 中未指定操作,是复制还是重命名该字段。", + "xpack.ingestPipelines.createFromCsv.instructions": "使用 CSV 文件来定义如何将定制数据源映射到 Elastic Common Schema (ECS)。对于每个 {source},您可以指定 {destination} 和格式调整。请参阅{templateLink}了解受支持的标题。", + "xpack.ingestPipelines.createFromCsv.instructions.continued": "将处理器添加到生成的启动器管道以执行其他数据转换。", + "xpack.ingestPipelines.createFromCsv.pageTitle": "从 CSV 创建管道", + "xpack.ingestPipelines.createFromCsv.preview.copy": "复制 JSON", + "xpack.ingestPipelines.createFromCsv.preview.createPipeline": "继续创建管道", + "xpack.ingestPipelines.createFromCsv.preview.download": "下载 JSON", + "xpack.ingestPipelines.createFromCsv.preview.invalidJson": "JSON 无效。", + "xpack.ingestPipelines.createFromCsv.preview.jsonMapSuccessful": "在生成管道之前,您可以保存或编辑 JSON。", + "xpack.ingestPipelines.createFromCsv.processFile.emptyFileError": "提供的文件是空的。", + "xpack.ingestPipelines.createFromCsv.processFile.emptyFileErrorTitle": "文件是空的", + "xpack.ingestPipelines.createFromCsv.processFile.fileTooLargeError": "文件超出 {maxBytes} 字节的允许大小。", + "xpack.ingestPipelines.createFromCsv.processFile.fileTooLargeErrorTitle": "文件过大", + "xpack.ingestPipelines.createFromCsv.processFile.unexpectedError": "无法读取提供的文件。", + "xpack.ingestPipelines.createFromCsv.processFile.unexpectedErrorTitle": "读取文件时出错", "xpack.ingestPipelines.createRoute.duplicatePipelineIdErrorMessage": "已有名称为“{name}”的管道。", + "xpack.ingestPipelines.csvToIngestPipeline.error.emptyFileErrors": "读取文件时出错:提供的文件是空的。", "xpack.ingestPipelines.deleteModal.cancelButtonLabel": "取消", "xpack.ingestPipelines.deleteModal.confirmButtonLabel": "删除{numPipelinesToDelete, plural, other {管道} }", "xpack.ingestPipelines.deleteModal.deleteDescription": "您即将删除{numPipelinesToDelete, plural, other {以下管道} }:", @@ -14402,23 +15326,30 @@ "xpack.ingestPipelines.list.pipelineDetails.managePipelinePanelTitle": "管道选项", "xpack.ingestPipelines.list.pipelineDetails.processorsTitle": "处理器", "xpack.ingestPipelines.list.pipelineDetails.versionTitle": "版本", - "xpack.ingestPipelines.list.pipelinesDescription": "定义用于在索引之前重新处理文档的管道。", + "xpack.ingestPipelines.list.pipelinesDescription": "在建立索引之前,请使用管道删除或转换字段,从文本中提取值,并扩充您的数据。", "xpack.ingestPipelines.list.pipelinesDocsLinkText": "采集管道文档", "xpack.ingestPipelines.list.table.actionColumnTitle": "操作", "xpack.ingestPipelines.list.table.cloneActionDescription": "克隆此管道", "xpack.ingestPipelines.list.table.cloneActionLabel": "克隆", - "xpack.ingestPipelines.list.table.createPipelineButtonLabel": "创建管道", + "xpack.ingestPipelines.list.table.createPipelineButtonLabel": "新建管道", + "xpack.ingestPipelines.list.table.createPipelineDropdownLabel": "创建管道", + "xpack.ingestPipelines.list.table.createPipelineFromCsvButtonLabel": "从 CSV 新建管道", "xpack.ingestPipelines.list.table.deleteActionDescription": "删除此管道", "xpack.ingestPipelines.list.table.deleteActionLabel": "删除", "xpack.ingestPipelines.list.table.deletePipelinesButtonLabel": "删除{count, plural, other {管道} }", "xpack.ingestPipelines.list.table.editActionDescription": "编辑此管道", "xpack.ingestPipelines.list.table.editActionLabel": "编辑", - "xpack.ingestPipelines.list.table.emptyPrompt.createButtonLabel": "创建管道", - "xpack.ingestPipelines.list.table.emptyPromptDescription": "例如,可能创建一个处理器删除字段、另一处理器重命名字段的管道。", + "xpack.ingestPipelines.list.table.emptyCreatePipelineDropdownLabel": "创建管道", + "xpack.ingestPipelines.list.table.emptyPrompt.createButtonLabel": "新建管道", + "xpack.ingestPipelines.list.table.emptyPrompt.createButtonLabel.createPipelineFromCsvButtonLabel": "从 CSV 新建管道", + "xpack.ingestPipelines.list.table.emptyPromptDescription": "在建立索引之前,请使用管道删除或转换字段,从文本中提取值,并扩充您的数据。", "xpack.ingestPipelines.list.table.emptyPromptDocumentionLink": "了解详情", "xpack.ingestPipelines.list.table.emptyPromptTitle": "首先创建管道", "xpack.ingestPipelines.list.table.nameColumnTitle": "名称", "xpack.ingestPipelines.list.table.reloadButtonLabel": "重新加载", + "xpack.ingestPipelines.mapToIngestPipeline.error.invalidFormatAction": "格式操作 [{ formatAction }] 无效。有效操作为 {formatActions}", + "xpack.ingestPipelines.mapToIngestPipeline.error.missingHeaders": "缺少所需标题:在 CSV 文件中包括 {missingHeaders} 个{missingHeadersCount, plural, other {标题}}。", + "xpack.ingestPipelines.mapToIngestPipeline.error.parseErrors": "读取文件时出错:处理文件时出现意外问题。", "xpack.ingestPipelines.pipelineEditor.addDocuments.addDocumentButtonLabel": "添加文档", "xpack.ingestPipelines.pipelineEditor.addDocuments.addDocumentErrorMessage": "添加文档时出错", "xpack.ingestPipelines.pipelineEditor.addDocuments.addDocumentSuccessMessage": "文档已添加", @@ -14627,7 +15558,9 @@ "xpack.ingestPipelines.pipelineEditor.inferenceForm.fieldMapHelpText": "将文档字段名称映射到模型的已知字段名称。优先于模型中的任何映射。", "xpack.ingestPipelines.pipelineEditor.inferenceForm.fieldMapInvalidJSONError": "JSON 无效", "xpack.ingestPipelines.pipelineEditor.inferenceForm.fieldMapLabel": "字段映射(可选)", + "xpack.ingestPipelines.pipelineEditor.inferenceForm.inferenceConfigField.documentationLinkLabel": "文档", "xpack.ingestPipelines.pipelineEditor.inferenceForm.inferenceConfigLabel": "推理配置(可选)", + "xpack.ingestPipelines.pipelineEditor.inferenceForm.inferenceConfigurationHelpText": "包含推理类型及其选项。请参阅{documentation}了解可用的配置选项。", "xpack.ingestPipelines.pipelineEditor.inferenceForm.modelIDFieldHelpText": "推理所根据的模型的 ID。", "xpack.ingestPipelines.pipelineEditor.inferenceForm.modelIDFieldLabel": "模型 ID", "xpack.ingestPipelines.pipelineEditor.inferenceForm.patternRequiredError": "需要模型 ID 值。", @@ -14863,7 +15796,7 @@ "xpack.ingestPipelines.processors.description.grok": "使用 {grokLink} 表达式从字段中提取匹配项。", "xpack.ingestPipelines.processors.description.gsub": "使用正则表达式替换字段子字符串。", "xpack.ingestPipelines.processors.description.htmlStrip": "从字段中移除 HTML 标记。", - "xpack.ingestPipelines.processors.description.inference": "使用预先训练的数据帧分析模型对传入数据进行推理。", + "xpack.ingestPipelines.processors.description.inference": "使用已训练模型对传入数据进行推理。", "xpack.ingestPipelines.processors.description.join": "将数组元素联接成字符串。在每个元素之间插入分隔符。", "xpack.ingestPipelines.processors.description.json": "通过兼容字符串创建 JSON 对象。", "xpack.ingestPipelines.processors.description.kv": "从包含键值对的字符串中提取字段。", @@ -15216,9 +16149,9 @@ "xpack.maps.fileUpload.trimmedResultsMsg": "结果仅限于 {numFeatures} 个特征、{previewCoverage}% 的文件。", "xpack.maps.fileUploadWizard.configureDocumentLayerLabel": "添加为文档层", "xpack.maps.fileUploadWizard.configureUploadLabel": "导入文件", - "xpack.maps.fileUploadWizard.description": "在 Elasticsearch 中索引 GeoJSON 数据", + "xpack.maps.fileUploadWizard.description": "索引 Elasticsearch 中的 GeoJSON 和 Shapefile 数据", "xpack.maps.fileUploadWizard.disabledDesc": "无法上传文件,您缺少对“数据视图管理”的 Kibana 权限。", - "xpack.maps.fileUploadWizard.title": "上传 GeoJSON", + "xpack.maps.fileUploadWizard.title": "上传文件", "xpack.maps.fileUploadWizard.uploadLabel": "正在导入文件", "xpack.maps.filterByMapExtentMenuItem.disableDisplayName": "按地图范围禁用筛选", "xpack.maps.filterByMapExtentMenuItem.enableDisplayName": "按地图范围启用筛选", @@ -15228,7 +16161,9 @@ "xpack.maps.filterEditor.applyGlobalQueryCheckboxLabel": "将全局搜索应用于图层数据", "xpack.maps.filterEditor.applyGlobalTimeCheckboxLabel": "将全局时间应用于图层数据", "xpack.maps.filterEditor.applyGlobalTimeHelp": "启用后,全局时间会缩减结果", - "xpack.maps.geoGrid.resolutionLabel": "网格分辨率", + "xpack.maps.fitToData.autoFitToDataBounds": "地图设置“使地图自动适应数据边界”已启用,地图将自动平移和缩放,以显示数据边界。", + "xpack.maps.fitToData.label": "适应数据边界", + "xpack.maps.geoGrid.resolutionLabel": "解决", "xpack.maps.geometryFilterForm.geometryLabelLabel": "几何标签", "xpack.maps.geometryFilterForm.relationLabel": "空间关系", "xpack.maps.geoTileAgg.disabled.docValues": "集群需要聚合。通过将 doc_values 设置为 true 来启用聚合。", @@ -15325,6 +16260,7 @@ "xpack.maps.layers.newVectorLayerWizard.indexPrivsErrorTitle": "缺少索引权限", "xpack.maps.layerSettings.attributionLegend": "归因", "xpack.maps.layerTocActions.cloneLayerTitle": "克隆图层", + "xpack.maps.layerTocActions.editFeaturesTooltip.disabledMessage": "编辑在没有集群、词联接、时间筛选或全局搜索的情况下文档图层仅支持的特征。", "xpack.maps.layerTocActions.fitToDataTitle": "适应数据", "xpack.maps.layerTocActions.hideLayerTitle": "隐藏图层", "xpack.maps.layerTocActions.layerActionsTitle": "图层操作", @@ -15434,10 +16370,19 @@ "xpack.maps.regionMap.function.help": "地区地图可视化", "xpack.maps.regionMap.vis.description": "在主题地图上显示指标。", "xpack.maps.regionMapMap.vis.title": "区域地图", + "xpack.maps.registerIntegrations.gdal.integrationDescription": "通过 GDAL 上传 Shapefile 并从 PostGIS 或 Oracle Spatial 等关系数据库进行采集。", + "xpack.maps.registerIntegrations.gdal.integrationTitle": "GDAL", "xpack.maps.sampleData.ecommerceSpec.mapsTitle": "[电子商务] 订单(按国家/地区)", "xpack.maps.sampleData.flightaSpec.logsTitle": "[日志] 请求和字节总数", "xpack.maps.sampleData.flightsSpec.mapsTitle": "[Flights] 始发地时间延迟", "xpack.maps.sampleDataLinkLabel": "地图", + "xpack.maps.scalingDocs.clustersDetails": "结果超过 {maxResultWindow} 个文档时显示集群。结果数小于 {maxResultWindow} 时显示文档。", + "xpack.maps.scalingDocs.clustersUseCase": "使用此选项可显示大型数据集。不支持词联接。", + "xpack.maps.scalingDocs.limitDetails": "显示前 {maxResultWindow} 个文档中的特征。", + "xpack.maps.scalingDocs.limitUseCase": "使用此选项可创建跨边界比较统计信息的分级统计图。", + "xpack.maps.scalingDocs.maxResultWindow": "{link} 索引设置提供的 {maxResultWindow} 限制。", + "xpack.maps.scalingDocs.mvtDetails": "将地图分区为磁贴,每个磁贴显示前 {maxResultWindow} 个文档中的特征。超出 {maxResultWindow} 的结果不在磁贴中显示。边界框指示数据不完整的区域。", + "xpack.maps.scalingDocs.mvtUseCase": "使用此选项可显示加载时间最快的大型数据集。不支持词联接、格式化标签和脚本字段的数据驱动样式。", "xpack.maps.security.desc": "安全层", "xpack.maps.security.disabledDesc": "找不到安全数据视图。要开始使用“安全性”,请前往“安全性”>“概览”。", "xpack.maps.security.title": "安全", @@ -15489,6 +16434,7 @@ "xpack.maps.source.esGeoGrid.gridRectangleDropdownOption": "网格", "xpack.maps.source.esGeoGrid.pointsDropdownOption": "集群", "xpack.maps.source.esGeoGrid.showAsLabel": "显示为", + "xpack.maps.source.esGeoGrid.showAsSelector": "选择显示方法", "xpack.maps.source.esGeoLine.entityRequestDescription": "用于获取地图缓冲区内的实体的 Elasticsearch 词请求。", "xpack.maps.source.esGeoLine.entityRequestName": "{layerName} 实体", "xpack.maps.source.esGeoLine.geofieldLabel": "地理空间字段", @@ -15509,13 +16455,15 @@ "xpack.maps.source.esGrid.compositeInspectorDescription": "Elasticsearch 地理网格聚合请求:{requestId}", "xpack.maps.source.esGrid.compositePaginationErrorMessage": "{layerName} 正导致过多的请求。降低“网格分辨率”和/或减少热门词“指标”的数量。", "xpack.maps.source.esGrid.geospatialFieldLabel": "地理空间字段", + "xpack.maps.source.esGrid.highLabel": "高", "xpack.maps.source.esGrid.inspectorDescription": "Elasticsearch 地理网格聚合请求", + "xpack.maps.source.esGrid.lowLabel": "低", "xpack.maps.source.esGrid.metricsLabel": "指标", "xpack.maps.source.esGrid.resolutionParamErrorMessage": "无法识别网格分辨率参数:{resolution}", - "xpack.maps.source.esGrid.superFineHelpText": "超精细网格分辨率使用矢量磁贴。", + "xpack.maps.source.esGrid.superFineHelpText": "高分辨率使用矢量磁贴。", "xpack.maps.source.esGrid.vectorTileModal.cancelBtnLabel": "取消", "xpack.maps.source.esGrid.vectorTileModal.confirmBtnLabel": "接受", - "xpack.maps.source.esGrid.vectorTileModal.message": "超精细网格分辨率使用来自 Elasticsearch 矢量磁贴 API 的矢量磁贴。Elasticsearch 矢量磁贴 API 不支持“排名最前字词”指标。切换到超精细网格分辨率将从您的图层配置中移除所有“排名最前字词”指标。", + "xpack.maps.source.esGrid.vectorTileModal.message": "高分辨率使用来自 Elasticsearch 矢量磁贴 API 的矢量磁贴。Elasticsearch 矢量磁贴 API 不支持“排名最前字词”指标。切换到超精细网格分辨率将从您的图层配置中移除所有“排名最前字词”指标。", "xpack.maps.source.esGrid.vectorTileModal.title": "不支持“排名最前字词”指标", "xpack.maps.source.esGridClustersDescription": "地理空间数据以网格进行分组,每个网格单元格都具有指标", "xpack.maps.source.esGridClustersTitle": "集群和网格", @@ -15666,11 +16614,15 @@ "xpack.maps.tileMap.function.help": "磁贴地图可视化", "xpack.maps.tileMap.vis.description": "在地图上绘制纬度和经度坐标", "xpack.maps.tileMap.vis.title": "坐标地图", + "xpack.maps.tiles.resultsCompleteMsg": "找到 {countPrefix}{count} 个文档。", + "xpack.maps.tiles.resultsTrimmedMsg": "结果仅限于 {countPrefix}{count} 个文档。", + "xpack.maps.tiles.shapeCountMsg": " 此计数为近似值。", "xpack.maps.timeslider.closeLabel": "关闭时间滑块", "xpack.maps.timeslider.nextTimeWindowLabel": "下一时间窗口", "xpack.maps.timeslider.pauseLabel": "暂停", "xpack.maps.timeslider.playLabel": "播放", "xpack.maps.timeslider.previousTimeWindowLabel": "上一时间窗口", + "xpack.maps.timeslider.setGlobalTime": "将全局时间设置为 {timeslice}", "xpack.maps.timesliderToggleButton.closeLabel": "关闭时间滑块", "xpack.maps.timesliderToggleButton.openLabel": "打开时间滑块", "xpack.maps.toolbarOverlay.drawBounds.initialGeometryLabel": "边界", @@ -15794,7 +16746,7 @@ "xpack.ml.alertContext.timestampIso8601Description": "异常的存储桶时间(ISO8601 格式)", "xpack.ml.alertContext.topInfluencersDescription": "排名最前的影响因素", "xpack.ml.alertContext.topRecordsDescription": "排名最前的记录", - "xpack.ml.alertTypes.anomalyDetection.defaultActionMessage": "Elastic Stack Machine Learning 告警:\n- 作业 ID:\\{\\{context.jobIds\\}\\}\n- 时间:\\{\\{context.timestampIso8601\\}\\}\n- 异常分数:\\{\\{context.score\\}\\}\n\n\\{\\{context.message\\}\\}\n\n\\{\\{#context.topInfluencers.length\\}\\}\n 排名最前的影响因素:\n \\{\\{#context.topInfluencers\\}\\}\n \\{\\{influencer_field_name\\}\\} = \\{\\{influencer_field_value\\}\\} [\\{\\{score\\}\\}]\n \\{\\{/context.topInfluencers\\}\\}\n\\{\\{/context.topInfluencers.length\\}\\}\n\n\\{\\{#context.topRecords.length\\}\\}\n 排名最前的记录:\n \\{\\{#context.topRecords\\}\\}\n \\{\\{function\\}\\}(\\{\\{field_name\\}\\}) \\{\\{by_field_value\\}\\} \\{\\{over_field_value\\}\\} \\{\\{partition_field_value\\}\\} [\\{\\{score\\}\\}]\n \\{\\{/context.topRecords\\}\\}\n\\{\\{/context.topRecords.length\\}\\}\n\n\\{\\{!如果未在 Kibana 中配置,替换 kibanaBaseUrl \\}\\}\n[在 Anomaly Explorer 中打开](\\{\\{\\{kibanaBaseUrl\\}\\}\\}\\{\\{\\{context.anomalyExplorerUrl\\}\\}\\})\n", + "xpack.ml.alertTypes.anomalyDetection.defaultActionMessage": "Elastic Stack Machine Learning 告警:\n- 作业 ID:\\{\\{context.jobIds\\}\\}\n- 时间:\\{\\{context.timestampIso8601\\}\\}\n- 异常分数:\\{\\{context.score\\}\\}\n\n\\{\\{context.message\\}\\}\n\n\\{\\{#context.topInfluencers.length\\}\\}\n 排名最前的影响因素:\n \\{\\{#context.topInfluencers\\}\\}\n \\{\\{influencer_field_name\\}\\} = \\{\\{influencer_field_value\\}\\} [\\{\\{score\\}\\}]\n \\{\\{/context.topInfluencers\\}\\}\n\\{\\{/context.topInfluencers.length\\}\\}\n\n\\{\\{#context.topRecords.length\\}\\}\n 排名最前的记录:\n \\{\\{#context.topRecords\\}\\}\n \\{\\{function\\}\\}(\\{\\{field_name\\}\\}) \\{\\{by_field_value\\}\\}\\{\\{over_field_value\\}\\}\\{\\{partition_field_value\\}\\} [\\{\\{score\\}\\}]。典型:\\{\\{typical\\}\\},实际:\\{\\{actual\\}\\}\n \\{\\{/context.topRecords\\}\\}\n\\{\\{/context.topRecords.length\\}\\}\n\n\\{\\{!如果未在 Kibana 中配置,替换 kibanaBaseUrl \\}\\}\n[在 Anomaly Explorer 中打开](\\{\\{\\{kibanaBaseUrl\\}\\}\\}\\{\\{\\{context.anomalyExplorerUrl\\}\\}\\})\n", "xpack.ml.alertTypes.anomalyDetection.description": "异常检测作业结果匹配条件时告警。", "xpack.ml.alertTypes.anomalyDetection.jobSelection.errorMessage": "“作业选择”必填", "xpack.ml.alertTypes.anomalyDetection.lookbackInterval.errorMessage": "回溯时间间隔无效", @@ -15921,6 +16873,7 @@ "xpack.ml.anomaliesTable.linksMenu.unableToOpenLinkErrorMessage": "无法打开链接,因为加载有关类别 ID {categoryId} 的详细信息时出错", "xpack.ml.anomaliesTable.linksMenu.unableToViewExamplesErrorMessage": "无法查看示例,因为未找到作业 ID {jobId} 的详细信息", "xpack.ml.anomaliesTable.linksMenu.viewExamplesLabel": "查看示例", + "xpack.ml.anomaliesTable.linksMenu.viewInDiscover": "在 Discover 中查看", "xpack.ml.anomaliesTable.linksMenu.viewSeriesLabel": "查看序列", "xpack.ml.anomaliesTable.metricDescriptionSortColumnName": "描述", "xpack.ml.anomaliesTable.noMatchingAnomaliesFoundTitle": "未找到任何匹配的异常", @@ -15936,7 +16889,10 @@ "xpack.ml.anomalyChartsEmbeddable.setupModal.confirmButtonLabel": "确认配置", "xpack.ml.anomalyChartsEmbeddable.setupModal.title": "异常浏览器图表配置", "xpack.ml.anomalyChartsEmbeddable.title": "{jobIds} 的 ML 异常图表", + "xpack.ml.anomalyDetection.anomalyExplorer.docTitle": "Anomaly Explorer", "xpack.ml.anomalyDetection.anomalyExplorerLabel": "Anomaly Explorer", + "xpack.ml.anomalyDetection.jobs.docTitle": "异常检测作业", + "xpack.ml.anomalyDetection.jobsManagementLabel": "作业", "xpack.ml.anomalyDetection.singleMetricViewerLabel": "Single Metric Viewer", "xpack.ml.anomalyDetectionAlert.actionGroupName": "异常分数匹配条件", "xpack.ml.anomalyDetectionAlert.advancedSettingsLabel": "高级设置", @@ -16027,6 +16983,8 @@ "xpack.ml.calendarsList.table.newButtonLabel": "新建", "xpack.ml.checkLicense.licenseHasExpiredMessage": "您的 Machine Learning 许可证已过期。", "xpack.ml.chrome.help.appName": "Machine Learning", + "xpack.ml.common.learnMoreQuestion": "希望了解详情?", + "xpack.ml.common.readDocumentationLink": "阅读文档", "xpack.ml.components.colorRangeLegend.blueColorRangeLabel": "蓝", "xpack.ml.components.colorRangeLegend.greenRedColorRangeLabel": "绿 - 红", "xpack.ml.components.colorRangeLegend.influencerScaleLabel": "影响因素定制比例", @@ -16545,8 +17503,15 @@ "xpack.ml.dataframe.mapTabLabel": "地图", "xpack.ml.dataframe.stepCreateForm.createDataFrameAnalyticsSuccessMessage": "数据帧分析 {jobId} 创建请求已确认。", "xpack.ml.dataframe.stepDetailsForm.destinationIndexInvalidErrorLink": "详细了解索引名称限制。", + "xpack.ml.dataFrameAnalytics.analyticsMap.docTitle": "分析地图", + "xpack.ml.dataFrameAnalytics.createJob.docTitle": "创建作业", + "xpack.ml.dataFrameAnalytics.exploration.docTitle": "探查", + "xpack.ml.dataFrameAnalytics.jobs.docTitle": "数据帧分析作业", "xpack.ml.dataFrameAnalyticsBreadcrumbs.analyticsMapLabel": "分析地图", + "xpack.ml.dataFrameAnalyticsBreadcrumbs.dataFrameCreationLabel": "创建作业", "xpack.ml.dataFrameAnalyticsBreadcrumbs.dataFrameExplorationLabel": "探查", + "xpack.ml.dataFrameAnalyticsBreadcrumbs.dataViewLabel": "数据视图", + "xpack.ml.dataFrameAnalyticsBreadcrumbs.jobsManagementLabel": "作业", "xpack.ml.dataFrameAnalyticsLabel": "数据帧分析", "xpack.ml.dataGrid.CcsWarningCalloutBody": "检索数据视图的数据时出现问题。源预览和跨集群搜索仅在 7.10 及以上版本上受支持。可能需要配置和创建转换。", "xpack.ml.dataGrid.CcsWarningCalloutTitle": "跨集群搜索未返回字段数据。", @@ -16564,13 +17529,17 @@ "xpack.ml.dataGridChart.topCategoriesLegend": "{cardinality} 个类别中的排名前 {maxChartColumns} 个", "xpack.ml.dataViewNotBasedOnTimeSeriesNotificationDescription": "仅针对基于时间的索引运行异常检测", "xpack.ml.dataViewNotBasedOnTimeSeriesNotificationTitle": "数据视图 {dataViewName} 并非基于时间序列", + "xpack.ml.dataVisualizer.dataView.docTitle": "索引数据可视化工具", + "xpack.ml.dataVisualizer.docTitle": "数据可视化工具", + "xpack.ml.dataVisualizer.file.docTitle": "文件数据可视化工具", "xpack.ml.dataVisualizer.fileBasedLabel": "文件", + "xpack.ml.dataVisualizer.pageHeader": "数据可视化工具", "xpack.ml.datavisualizer.selector.dataVisualizerDescription": "Machine Learning 数据可视化工具通过分析日志文件或现有 Elasticsearch 索引中的指标和字段,帮助您理解数据。", "xpack.ml.datavisualizer.selector.dataVisualizerTitle": "数据可视化工具", "xpack.ml.datavisualizer.selector.importDataDescription": "从日志文件导入数据。您可以上传不超过 {maxFileSize} 的文件。", - "xpack.ml.datavisualizer.selector.importDataTitle": "导入数据", + "xpack.ml.datavisualizer.selector.importDataTitle": "可视化来自文件的数据", "xpack.ml.datavisualizer.selector.selectDataViewButtonLabel": "选择数据视图", - "xpack.ml.datavisualizer.selector.selectDataViewTitle": "选择数据视图", + "xpack.ml.datavisualizer.selector.selectDataViewTitle": "可视化来自数据视图的数据", "xpack.ml.datavisualizer.selector.startTrialButtonLabel": "开始试用", "xpack.ml.datavisualizer.selector.startTrialTitle": "开始试用", "xpack.ml.datavisualizer.selector.uploadFileButtonLabel": "选择文件", @@ -16585,6 +17554,8 @@ "xpack.ml.deepLink.fileUpload": "文件上传", "xpack.ml.deepLink.filterListsSettings": "筛选列表", "xpack.ml.deepLink.indexDataVisualizer": "索引数据可视化工具", + "xpack.ml.deepLink.modelManagement": "模型管理", + "xpack.ml.deepLink.nodesOverview": "节点", "xpack.ml.deepLink.overview": "概览", "xpack.ml.deepLink.settings": "设置", "xpack.ml.deepLink.trainedModels": "已训练模型", @@ -16653,7 +17624,9 @@ "xpack.ml.explorer.charts.tooManyBucketsDescription": "此选择包含太多存储桶,因此无法显示。您应该缩小视图的时间范围或缩小时间线中的选择范围。", "xpack.ml.explorer.charts.viewLabel": "查看", "xpack.ml.explorer.clearSelectionLabel": "清除所选内容", + "xpack.ml.explorer.dashboardsTable.actionsHeader": "操作", "xpack.ml.explorer.dashboardsTable.descriptionColumnHeader": "描述", + "xpack.ml.explorer.dashboardsTable.editActionName": "添加到仪表板", "xpack.ml.explorer.dashboardsTable.titleColumnHeader": "标题", "xpack.ml.explorer.distributionChart.anomalyScoreLabel": "异常分数", "xpack.ml.explorer.distributionChart.entityLabel": "实体", @@ -16674,6 +17647,7 @@ "xpack.ml.explorer.noConfiguredInfluencersTooltip": "“排名最前影响因素”列表被隐藏,因为没有为所选作业配置影响因素。", "xpack.ml.explorer.noInfluencersFoundTitle": "未找到任何 {viewBySwimlaneFieldName} 影响因素", "xpack.ml.explorer.noInfluencersFoundTitleFilterMessage": "对于指定筛选找不到任何 {viewBySwimlaneFieldName} 影响因素", + "xpack.ml.explorer.noJobSelectedLabel": "未选择任何作业", "xpack.ml.explorer.noMatchingAnomaliesFoundTitle": "未找到任何匹配的异常", "xpack.ml.explorer.noResultForSelectedJobsMessage": "找不到选定{jobsCount, plural, other {作业}}的结果", "xpack.ml.explorer.noResultsFoundLabel": "找不到结果", @@ -16729,6 +17703,11 @@ "xpack.ml.formatters.metricChangeDescription.unusuallyLowDescription": "异常低", "xpack.ml.formatters.metricChangeDescription.unusualValuesDescription": "异常值", "xpack.ml.fullTimeRangeSelector.errorSettingTimeRangeNotification": "设置时间范围时出错。", + "xpack.ml.fullTimeRangeSelector.useFullDataButtonLabel": "使用完整的数据", + "xpack.ml.fullTimeRangeSelector.useFullDataExcludingFrozenButtonTooltip": "使用全范围数据,不包括冻结的数据层。", + "xpack.ml.fullTimeRangeSelector.useFullDataExcludingFrozenMenuLabel": "排除冻结的数据层", + "xpack.ml.fullTimeRangeSelector.useFullDataIncludingFrozenButtonTooltip": "使用全范围数据,包括冻结的数据层,这可能会导致搜索结果更慢显示出来。", + "xpack.ml.fullTimeRangeSelector.useFullDataIncludingFrozenMenuLabel": "包括冻结的数据层", "xpack.ml.helpPopover.ariaLabel": "帮助", "xpack.ml.importExport.exportButton": "导出作业", "xpack.ml.importExport.exportFlyout.adDeselectAllButton": "取消全选", @@ -16799,6 +17778,7 @@ "xpack.ml.influencersList.noInfluencersFoundTitle": "找不到影响因素", "xpack.ml.influencersList.totalAnomalyScoreTooltipDescription": "总异常分数:{totalScoreLabel}", "xpack.ml.interimResultsControl.label": "包括中间结果", + "xpack.ml.invalidRuntimeFieldMessage": "运行时字段无效", "xpack.ml.itemsGrid.itemsCountLabel": "{pageSize} 项", "xpack.ml.itemsGrid.itemsPerPageButtonLabel": "每页中的项:{itemsPerPage}", "xpack.ml.itemsGrid.noItemsAddedTitle": "没有添加任何项", @@ -16828,9 +17808,11 @@ "xpack.ml.jobsAwaitingNodeWarningShared.title": "等待 Machine Learning 节点", "xpack.ml.jobsBreadcrumbs.advancedConfigurationLabel": "高级配置", "xpack.ml.jobsBreadcrumbs.categorizationLabel": "归类", + "xpack.ml.jobsBreadcrumbs.createJobLabel": "创建作业", "xpack.ml.jobsBreadcrumbs.multiMetricLabel": "多指标", "xpack.ml.jobsBreadcrumbs.populationLabel": "填充", "xpack.ml.jobsBreadcrumbs.rareLabel": "极少", + "xpack.ml.jobsBreadcrumbs.selectDateViewLabel": "数据视图", "xpack.ml.jobsBreadcrumbs.selectIndexOrSearchLabelRecognize": "识别的索引", "xpack.ml.jobsBreadcrumbs.selectJobType": "创建作业", "xpack.ml.jobsBreadcrumbs.singleMetricLabel": "单一指标", @@ -16858,6 +17840,7 @@ "xpack.ml.jobSelector.jobsTab": "作业", "xpack.ml.jobSelector.jobTimeRangeLabel": "{fromString} 到 {toString}", "xpack.ml.jobSelector.noJobsFoundTitle": "未找到任何异常检测作业。", + "xpack.ml.jobSelector.noJobsSelectedLabel": "未选择任何作业", "xpack.ml.jobSelector.noResultsForJobLabel": "无结果", "xpack.ml.jobSelector.selectAllGroupLabel": "全选", "xpack.ml.jobSelector.selectAllOptionLabel": "*", @@ -16887,6 +17870,7 @@ "xpack.ml.jobsList.closeActionStatusText": "关闭", "xpack.ml.jobsList.closedActionStatusText": "已关闭", "xpack.ml.jobsList.closeJobErrorMessage": "作业无法关闭", + "xpack.ml.jobsList.closeJobsModal.closeManagedDatafeedsDescription": "正在关闭", "xpack.ml.jobsList.collapseJobDetailsAriaLabel": "隐藏 {itemId} 的详情", "xpack.ml.jobsList.createNewJobButtonLabel": "创建作业", "xpack.ml.jobsList.datafeedChart.annotationLineSeriesId": "标注线条结果", @@ -16921,8 +17905,11 @@ "xpack.ml.jobsList.datafeedStateLabel": "数据馈送状态", "xpack.ml.jobsList.deleteActionStatusText": "删除", "xpack.ml.jobsList.deletedActionStatusText": "已删除", + "xpack.ml.jobsList.deleteJobCheckModal.removeAction": "正在移除", + "xpack.ml.jobsList.deleteJobCheckModal.removeOrDeleteAction": "正在移除或正在删除", "xpack.ml.jobsList.deleteJobErrorMessage": "作业无法删除", "xpack.ml.jobsList.deleteJobModal.cancelButtonLabel": "取消", + "xpack.ml.jobsList.deleteJobModal.deleteAction": "正在删除", "xpack.ml.jobsList.deleteJobModal.deleteButtonLabel": "删除", "xpack.ml.jobsList.deleteJobModal.deleteJobsTitle": "删除 {jobsCount, plural, one {{jobId}} other {# 个作业}}?", "xpack.ml.jobsList.deleteJobModal.deleteMultipleJobsDescription": "删除{jobsCount, plural, one {一个作业} other {多个作业}}可能很费时。将在后台删除{jobsCount, plural, one {该作业} other {这些作业}},但删除的作业可能不会从作业列表中立即消失。", @@ -16965,6 +17952,7 @@ "xpack.ml.jobsList.editJobFlyout.saveChangesButtonLabel": "保存更改", "xpack.ml.jobsList.editJobFlyout.unsavedChangesDialogMessage": "如果未保存,您的更改将会丢失。", "xpack.ml.jobsList.editJobFlyout.unsavedChangesDialogTitle": "离开前保存更改?", + "xpack.ml.jobsList.editJobModal.editManagedJobDescription": "正在编辑", "xpack.ml.jobsList.expandJobDetailsAriaLabel": "显示 {itemId} 的详情", "xpack.ml.jobsList.idLabel": "ID", "xpack.ml.jobsList.jobActionsColumn.screenReaderDescription": "此列在菜单中包含可对每个作业执行的更多操作", @@ -17023,6 +18011,8 @@ "xpack.ml.jobsList.jobStateLabel": "作业状态", "xpack.ml.jobsList.latestTimestampLabel": "最新时间戳", "xpack.ml.jobsList.loadingJobsLabel": "正在加载作业……", + "xpack.ml.jobsList.managedBadgeLabel": "托管", + "xpack.ml.jobsList.managedBadgeTooltip": "此作业由 Elastic 预配置和管理;该产品的其他部分可能依赖于其行为。", "xpack.ml.jobsList.managementActions.cloneJobDescription": "克隆作业", "xpack.ml.jobsList.managementActions.cloneJobLabel": "克隆作业", "xpack.ml.jobsList.managementActions.closeJobDescription": "关闭作业", @@ -17099,6 +18089,11 @@ "xpack.ml.jobsList.startDatafeedModal.startButtonLabel": "启动", "xpack.ml.jobsList.startDatafeedModal.startFromNowLabel": "从当前开始", "xpack.ml.jobsList.startDatafeedModal.startJobsTitle": "启动 {jobsCount, plural, one {{jobId}} other {# 个作业}}", + "xpack.ml.jobsList.startDatafeedsConfirmModal.cancelButtonLabel": "取消", + "xpack.ml.jobsList.startDatafeedsConfirmModal.closeButtonLabel": "关闭{jobsCount, plural, other {作业}}", + "xpack.ml.jobsList.startDatafeedsModal.closeDatafeedsTitle": "关闭 {jobsCount, plural, one {{jobId}} other {# 个作业}}?", + "xpack.ml.jobsList.startDatafeedsModal.resetManagedDatafeedsDescription": "正在重置", + "xpack.ml.jobsList.startDatafeedsModal.startManagedDatafeedsDescription": "{jobsCount, plural, one {此作业} other {至少一个此类作业}}由 Elastic 预配置;以特定结束时间启动{jobsCount, plural, one {此作业} other {这些作业}}可能会影响该产品的其他部分。", "xpack.ml.jobsList.startedActionStatusText": "已启动", "xpack.ml.jobsList.startJobErrorMessage": "作业无法启动", "xpack.ml.jobsList.statsBar.activeDatafeedsLabel": "活动数据馈送", @@ -17108,6 +18103,10 @@ "xpack.ml.jobsList.statsBar.openJobsLabel": "打开的作业", "xpack.ml.jobsList.statsBar.totalJobsLabel": "总计作业数", "xpack.ml.jobsList.stopActionStatusText": "停止", + "xpack.ml.jobsList.stopDatafeedsConfirmModal.cancelButtonLabel": "取消", + "xpack.ml.jobsList.stopDatafeedsConfirmModal.stopButtonLabel": "停止{jobsCount, plural, other {数据馈送}}", + "xpack.ml.jobsList.stopDatafeedsModal.stopDatafeedsTitle": "停止 {jobsCount, plural, one {{jobId}} other {# 个作业}}的数据馈送?", + "xpack.ml.jobsList.stopDatafeedsModal.stopManagedDatafeedsDescription": "正在停止", "xpack.ml.jobsList.stopJobErrorMessage": "作业无法停止", "xpack.ml.jobsList.stoppedActionStatusText": "已停止", "xpack.ml.jobsList.title": "异常检测作业", @@ -17116,6 +18115,7 @@ "xpack.ml.machineLearningDescription": "对时序数据的正常行为自动建模以检测异常。", "xpack.ml.machineLearningSubtitle": "建模、预测和检测。", "xpack.ml.machineLearningTitle": "Machine Learning", + "xpack.ml.managedJobsWarningCallout": "{jobsCount, plural, one {此作业} other {至少一个此类作业}}由 Elastic 预配置;{action}{jobsCount, plural, one {此作业} other {这些作业}}可能会影响该产品的其他部分。", "xpack.ml.management.jobsList.accessDeniedTitle": "访问被拒绝", "xpack.ml.management.jobsList.analyticsDocsLabel": "分析作业文档", "xpack.ml.management.jobsList.analyticsTab": "分析", @@ -17146,6 +18146,33 @@ "xpack.ml.management.syncSavedObjectsFlyout.sync.error": "一些作业无法同步。", "xpack.ml.management.syncSavedObjectsFlyout.sync.success": "{successCount} 个{successCount, plural, other {作业}}已同步", "xpack.ml.management.syncSavedObjectsFlyout.syncButton": "同步", + "xpack.ml.maps.anomalyLayerActualLabel": "实际", + "xpack.ml.maps.anomalyLayerByFieldNameLabel": "按字段名称", + "xpack.ml.maps.anomalyLayerByFieldValueLabel": "按字段值", + "xpack.ml.maps.anomalyLayerDescription": "显示 Machine Learning 作业的异常", + "xpack.ml.maps.anomalyLayerFieldNameLabel": "字段名称", + "xpack.ml.maps.anomalyLayerFunctionDescriptionLabel": "函数", + "xpack.ml.maps.anomalyLayerOverFieldNameLabel": "范围字段名称", + "xpack.ml.maps.anomalyLayerOverFieldValueLabel": "范围字段值", + "xpack.ml.maps.anomalyLayerPartitionFieldNameLabel": "分区字段名称", + "xpack.ml.maps.anomalyLayerPartitionFieldValueLabel": "分区字段值", + "xpack.ml.maps.anomalyLayerRecordScoreLabel": "记录分数", + "xpack.ml.maps.anomalyLayerTimeStampLabel": "时间", + "xpack.ml.maps.anomalyLayerTitle": "ML 异常", + "xpack.ml.maps.anomalyLayerTypicalLabel": "典型", + "xpack.ml.maps.anomalyLayerTypicalToActualLabel": "典型到实际", + "xpack.ml.maps.anomalyLayerUnavailableMessage": "异常图层为订阅功能。确保您具有所需的 Machine Learning 订阅和访问权限。", + "xpack.ml.maps.anomalySource.displayLabel": "{jobId} 的 {typicalActual}", + "xpack.ml.maps.anomalySourcePropLabel": "作业 ID", + "xpack.ml.maps.jobIdLabel": "作业 ID", + "xpack.ml.maps.settingsEditorLabel": "异常", + "xpack.ml.maps.sourceTooltip": "显示异常", + "xpack.ml.maps.typicalActualLabel": "类型", + "xpack.ml.modelManagement.nodesOverview.docTitle": "节点", + "xpack.ml.modelManagement.nodesOverviewHeader": "节点", + "xpack.ml.modelManagement.trainedModels.docTitle": "已训练模型", + "xpack.ml.modelManagement.trainedModelsHeader": "已训练模型", + "xpack.ml.modelManagementLabel": "模型管理", "xpack.ml.models.dfaValidation.messages.analysisFieldsEmptyWarningText": "分析包括的一些字段至少有 {percentEmpty}% 的空值,可能不适合分析。", "xpack.ml.models.dfaValidation.messages.analysisFieldsHeading": "分析字段", "xpack.ml.models.dfaValidation.messages.analysisFieldsHighWarningText": "已选择 {includedFieldsThreshold} 以上字段进行分析。这可能导致资源使用率增加以及作业长时间运行。", @@ -17289,12 +18316,23 @@ "xpack.ml.modelSnapshotTable.retain": "保留", "xpack.ml.modelSnapshotTable.time": "创建日期", "xpack.ml.multiSelectPicker.NoFiltersFoundMessage": "未找到任何筛选", + "xpack.ml.navMenu.anomalyDetection.anomalyExplorerText": "Anomaly Explorer", + "xpack.ml.navMenu.anomalyDetection.jobsManagementText": "作业", + "xpack.ml.navMenu.anomalyDetection.singleMetricViewerText": "Single Metric Viewer", "xpack.ml.navMenu.anomalyDetectionTabLinkText": "异常检测", + "xpack.ml.navMenu.dataFrameAnalytics.jobsManagementText": "作业", "xpack.ml.navMenu.dataFrameAnalyticsTabLinkText": "数据帧分析", + "xpack.ml.navMenu.dataViewDataVisualizerLinkText": "数据视图", "xpack.ml.navMenu.dataVisualizerTabLinkText": "数据可视化工具", + "xpack.ml.navMenu.fileDataVisualizerLinkText": "文件", "xpack.ml.navMenu.mlAppNameText": "Machine Learning", + "xpack.ml.navMenu.modelManagementText": "模型管理", + "xpack.ml.navMenu.nodesOverviewText": "节点", "xpack.ml.navMenu.overviewTabLinkText": "概览", "xpack.ml.navMenu.settingsTabLinkText": "设置", + "xpack.ml.navMenu.trainedModelsTabBetaLabel": "技术预览", + "xpack.ml.navMenu.trainedModelsTabBetaTooltipContent": "此功能处于技术预览状态,在未来版本中可能会更改或完全移除。Elastic 将尽最大努力来修复任何问题,但处于技术预览状态的功能不受正式 GA 功能支持 SLA 的约束。", + "xpack.ml.navMenu.trainedModelsText": "已训练模型", "xpack.ml.newJob.page.createJob": "创建作业", "xpack.ml.newJob.page.createJob.dataViewName": "正在使用数据视图 {dataViewName}", "xpack.ml.newJob.recognize.advancedLabel": "高级", @@ -17655,7 +18693,10 @@ "xpack.ml.newJob.wizard.validateJob.summaryCountFieldMissing": "必填字段,因为数据馈送使用聚合。", "xpack.ml.newJobAwaitingNodeWarning.noMLNodesAvailableDescription": "当前没有节点可以运行作业,因此其仍保持 OPENING(打开)状态,直至适当的节点可用。", "xpack.ml.overview.analytics.resultActions.openJobText": "查看作业结果", - "xpack.ml.overview.analyticsList.emptyPromptText": "数据帧分析允许您对数据执行离群值检测、回归或分类分析并使用结果标注数据。该作业会将标注的数据以及源数据的副本置于新的索引中。", + "xpack.ml.overview.analytics.viewJobActionName": "查看作业", + "xpack.ml.overview.analytics.viewResultsActionName": "查看结果", + "xpack.ml.overview.analyticsList.emptyPromptHelperText": "构建数据帧分析作业之前,请使用 {transforms} 构造一个 {sourcedata}。", + "xpack.ml.overview.analyticsList.emptyPromptText": "使用数据帧分析训练离群值检测、回归或分类 Machine Learning 模型。", "xpack.ml.overview.analyticsList.errorPromptTitle": "获取数据帧分析列表时发生错误。", "xpack.ml.overview.analyticsList.id": "ID", "xpack.ml.overview.analyticsList.manageJobsButtonText": "管理作业", @@ -17668,21 +18709,33 @@ "xpack.ml.overview.anomalyDetection.createJobButtonText": "创建作业", "xpack.ml.overview.anomalyDetection.emptyPromptText": "通过异常检测,可发现时序数据中的异常行为。开始自动发现数据中隐藏的异常并更快捷地解决问题。", "xpack.ml.overview.anomalyDetection.errorPromptTitle": "获取异常检测作业列表时出错。", + "xpack.ml.overview.anomalyDetection.errorWithFetchingSwimLanesData": "提取异常结果时出错", "xpack.ml.overview.anomalyDetection.manageJobsButtonText": "管理作业", + "xpack.ml.overview.anomalyDetection.noAnomaliesFoundMessage": "找不到异常", + "xpack.ml.overview.anomalyDetection.noResultsFoundMessage": "找不到结果", + "xpack.ml.overview.anomalyDetection.overallScore": "总分", "xpack.ml.overview.anomalyDetection.panelTitle": "异常检测", + "xpack.ml.overview.anomalyDetection.resultActions.openInJobManagementText": "查看作业", + "xpack.ml.overview.anomalyDetection.resultActions.openJobsInAnomalyExplorerText": "在 Anomaly Explorer 中查看", "xpack.ml.overview.anomalyDetection.tableActionLabel": "操作", "xpack.ml.overview.anomalyDetection.tableActualTooltip": "异常记录结果中的实际值。", "xpack.ml.overview.anomalyDetection.tableDocsProcessed": "已处理文档", "xpack.ml.overview.anomalyDetection.tableId": "组 ID", "xpack.ml.overview.anomalyDetection.tableLatestTimestamp": "最新时间戳", "xpack.ml.overview.anomalyDetection.tableNumJobs": "组中的作业", + "xpack.ml.overview.anomalyDetection.tableOverallScoreTooltip": "选定时间范围内的总体异常分数", "xpack.ml.overview.anomalyDetection.tableSeverityTooltip": "介于 0-100 之间的标准化分数,其表示异常记录结果的相对意义。", "xpack.ml.overview.anomalyDetection.tableTypicalTooltip": "异常记录结果中的典型值。", + "xpack.ml.overview.anomalyDetection.viewJobsActionName": "查看作业", + "xpack.ml.overview.anomalyDetection.viewResultsActionName": "在 Anomaly Explorer 中查看", "xpack.ml.overview.feedbackSectionLink": "在线反馈", "xpack.ml.overview.feedbackSectionText": "如果您在体验方面有任何意见或建议,请提交{feedbackLink}。", + "xpack.ml.overview.gettingStartedSectionDismiss": "关闭", "xpack.ml.overview.gettingStartedSectionDocs": "文档", + "xpack.ml.overview.gettingStartedSectionSourceData": "实体中心型源数据集", + "xpack.ml.overview.gettingStartedSectionText": "欢迎使用 Machine Learning。首先查看我们的{docs}或创建新作业。", "xpack.ml.overview.gettingStartedSectionTitle": "入门", - "xpack.ml.overview.gettingStartedSectionTransforms": "Elasticsearch 的转换", + "xpack.ml.overview.gettingStartedSectionTransforms": "转换", "xpack.ml.overview.overviewLabel": "概览", "xpack.ml.overview.statsBar.failedAnalyticsLabel": "失败", "xpack.ml.overview.statsBar.runningAnalyticsLabel": "正在运行", @@ -17693,7 +18746,9 @@ "xpack.ml.overviewJobsList.statsBar.failedJobsLabel": "失败的作业", "xpack.ml.overviewJobsList.statsBar.openJobsLabel": "打开的作业", "xpack.ml.overviewJobsList.statsBar.totalJobsLabel": "总计作业数", + "xpack.ml.pageRefreshButton": "刷新", "xpack.ml.plugin.title": "Machine Learning", + "xpack.ml.previewAlert.actualLabel": "实际:", "xpack.ml.previewAlert.hideResultsButtonLabel": "隐藏结果", "xpack.ml.previewAlert.intervalLabel": "检查具有时间间隔的规则条件", "xpack.ml.previewAlert.jobsLabel": "作业 ID:", @@ -17706,6 +18761,7 @@ "xpack.ml.previewAlert.timeLabel": "时间:", "xpack.ml.previewAlert.topInfluencersLabel": "排名最前的影响因素:", "xpack.ml.previewAlert.topRecordsLabel": "排名最前的记录:", + "xpack.ml.previewAlert.typicalLabel": "典型:", "xpack.ml.privilege.licenseHasExpiredTooltip": "您的许可证已过期。", "xpack.ml.privilege.noPermission.createCalendarsTooltip": "您没有权限创建日历。", "xpack.ml.privilege.noPermission.createMLJobsTooltip": "您没有权限创建 Machine Learning 作业。", @@ -17806,6 +18862,7 @@ "xpack.ml.ruleEditor.selectRuleAction.orText": "或 ", "xpack.ml.ruleEditor.typicalAppliesTypeText": "典型", "xpack.ml.sampleDataLinkLabel": "ML 作业", + "xpack.ml.selectDataViewLabel": "选择数据视图", "xpack.ml.settings.anomalyDetection.anomalyDetectionTitle": "异常检测", "xpack.ml.settings.anomalyDetection.calendarsSummaryCount": "您有 {calendarsCountBadge} 个{calendarsCount, plural, other {日历}}", "xpack.ml.settings.anomalyDetection.calendarsText": "日志包含不应生成异常的已计划事件列表,例如已计划系统中断或公共假期。", @@ -17825,11 +18882,18 @@ "xpack.ml.settings.breadcrumbs.filterLists.createLabel": "创建", "xpack.ml.settings.breadcrumbs.filterLists.editLabel": "编辑", "xpack.ml.settings.breadcrumbs.filterListsLabel": "筛选列表", + "xpack.ml.settings.calendarList.docTitle": "日历", "xpack.ml.settings.calendars.listHeader.calendarsDescription": "日志包含不应生成异常的已计划事件列表,例如已计划系统中断或公共假期。同一日历可分配给多个作业。{br}{learnMoreLink}", "xpack.ml.settings.calendars.listHeader.calendarsDescription.learnMoreLinkText": "了解详情", "xpack.ml.settings.calendars.listHeader.calendarsListTotalCount": "合计 {totalCount} 个", "xpack.ml.settings.calendars.listHeader.calendarsTitle": "日历", "xpack.ml.settings.calendars.listHeader.refreshButtonLabel": "刷新", + "xpack.ml.settings.createCalendar.docTitle": "创建日历", + "xpack.ml.settings.createFilter.docTitle": "创建筛选", + "xpack.ml.settings.docTitle": "设置", + "xpack.ml.settings.editCalendar.docTitle": "编辑日历", + "xpack.ml.settings.editFilter.docTitle": "编辑筛选", + "xpack.ml.settings.filterList.docTitle": "筛选", "xpack.ml.settings.filterLists.addItemPopover.addButtonLabel": "添加", "xpack.ml.settings.filterLists.addItemPopover.addItemButtonLabel": "添加项", "xpack.ml.settings.filterLists.addItemPopover.enterItemPerLineDescription": "每行输入一个项", @@ -18131,6 +19195,8 @@ "xpack.ml.trainedModels.nodesList.nodesFetchError": "节点提取失败", "xpack.ml.trainedModels.nodesList.nodeTotalMemoryHeader": "总内存", "xpack.ml.trainedModels.nodesList.totalAmountLabel": "Machine Learning 节点总数", + "xpack.ml.trainedModelsBreadcrumbs.nodeOverviewLabel": "节点", + "xpack.ml.trainedModelsBreadcrumbs.trainedModelsLabel": "已训练模型", "xpack.ml.upgrade.upgradeWarning.upgradeInProgressWarningDescription": "当前正在升级与 Machine Learning 相关的索引。", "xpack.ml.upgrade.upgradeWarning.upgradeInProgressWarningDescriptionExtra": "此次某些操作不可用。", "xpack.ml.upgrade.upgradeWarning.upgradeInProgressWarningTitle": "正在进行索引迁移", @@ -18795,6 +19861,8 @@ "xpack.monitoring.featureCatalogueDescription": "跟踪部署的实时运行状况和性能。", "xpack.monitoring.featureCatalogueTitle": "监测堆栈", "xpack.monitoring.featureRegistry.monitoringFeatureName": "堆栈监测", + "xpack.monitoring.formatMsg.toaster.errorStatusMessage": "错误 {errStatus} {errStatusText}:{errMessage}", + "xpack.monitoring.formatMsg.toaster.unavailableServerErrorMessage": "HTTP 请求无法连接。请检查 Kibana 服务器是否正在运行以及您的浏览器是否具有有效的连接,或请联系您的系统管理员。", "xpack.monitoring.formatNumbers.notAvailableLabel": "不可用", "xpack.monitoring.healthCheck.disabledWatches.text": "使用“设置”模式查看告警定义,并配置其他操作连接器,以通过偏好的方式获得通知。", "xpack.monitoring.healthCheck.disabledWatches.title": "新告警已创建", @@ -19687,14 +20755,19 @@ "xpack.observability.alerts.alertStatusFilter.recovered": "已恢复", "xpack.observability.alerts.alertStatusFilter.showAll": "全部显示", "xpack.observability.alerts.manageRulesButtonLabel": "管理规则", + "xpack.observability.alerts.ruleStats.disabled": "已禁用", + "xpack.observability.alerts.ruleStats.errors": "错误", + "xpack.observability.alerts.ruleStats.loadError": "无法加载规则统计信息", + "xpack.observability.alerts.ruleStats.muted": "已静音", + "xpack.observability.alerts.ruleStats.ruleCount": "规则计数", "xpack.observability.alerts.searchBarPlaceholder": "搜索告警(例如 kibana.alert.evaluation.threshold > 75)", "xpack.observability.alerts.workflowStatusFilter.acknowledgedButtonLabel": "已确认", "xpack.observability.alerts.workflowStatusFilter.closedButtonLabel": "已关闭", "xpack.observability.alerts.workflowStatusFilter.openButtonLabel": "打开", "xpack.observability.alertsDisclaimerDismissMessage": "关闭消息", "xpack.observability.alertsDisclaimerLinkText": "反馈", - "xpack.observability.alertsDisclaimerText": "此功能可能会发生更改或在未来版本中完全移除。我们重视您的{feedback},因为我们致力于添加新功能。", - "xpack.observability.alertsDisclaimerTitle": "告警历史记录当前是 Observability 内的实验性功能", + "xpack.observability.alertsDisclaimerText": "此功能处于技术预览状态,在未来版本中可能会更改或完全移除。Elastic 将尽最大努力来修复任何问题,但处于技术预览状态的功能不受正式 GA 功能支持 SLA 的约束。提供{feedback}。", + "xpack.observability.alertsDisclaimerTitle": "技术预览", "xpack.observability.alertsFlyout.actualValueLabel": "实际值", "xpack.observability.alertsFlyout.documentSummaryTitle": "文档摘要", "xpack.observability.alertsFlyout.durationLabel": "持续时间", @@ -19749,20 +20822,24 @@ "xpack.observability.emptySection.apps.ux.link": "安装 RUM 代理", "xpack.observability.emptySection.apps.ux.title": "用户体验", "xpack.observability.enableComparisonByDefault": "对比功能", - "xpack.observability.enableComparisonByDefaultDescription": "在 APM UI 上启用对比功能", + "xpack.observability.enableComparisonByDefaultDescription": "在 APM 应用中启用对比功能", + "xpack.observability.enableInfrastructureView": "基础架构功能", + "xpack.observability.enableInfrastructureViewDescription": "在 APM 应用中启用基础架构视图功能", "xpack.observability.enableInspectEsQueriesExperimentDescription": "检查 API 响应中的 Elasticsearch 查询。", "xpack.observability.enableInspectEsQueriesExperimentName": "检查 ES 查询", "xpack.observability.exp.breakDownFilter.noBreakdown": "无细目", "xpack.observability.exp.breakDownFilter.unavailable": "步骤名称细目不可用于监测持续时间指标。使用步骤持续时间指标以按步骤名称细分。", "xpack.observability.exp.breakDownFilter.warning": "一次只能将细目应用于一个序列。", - "xpack.observability.experimentalBadgeDescription": "此功能为实验性功能,在未来版本中可能会更改或完全移除。Elastic 将尽最大努力来修复任何问题,但实验性功能不受正式 GA 功能支持 SLA 的约束。", - "xpack.observability.experimentalBadgeLabel": "实验性", + "xpack.observability.experimentalBadgeDescription": "此功能处于技术预览状态,在未来版本中可能会更改或完全移除。Elastic 将尽最大努力来修复任何问题,但处于技术预览状态的功能不受正式 GA 功能支持 SLA 的约束。", + "xpack.observability.experimentalBadgeLabel": "技术预览", "xpack.observability.exploratoryView.noBrusing": "按画笔选择缩放仅适用于时间序列图表。", + "xpack.observability.expView.addToCase": "添加到案例", "xpack.observability.expView.chartTypes.label": "图表类型", "xpack.observability.expView.columns.label": "{sourceField} 的第 {percentileValue} 百分位", "xpack.observability.expView.columns.operation.label": "{sourceField} 的 {operationType}", "xpack.observability.expView.dateRanger.endDate": "结束日期", "xpack.observability.expView.dateRanger.startDate": "开始日期", + "xpack.observability.expView.explore": "浏览", "xpack.observability.expView.fieldLabels.agentHost": "代理主机", "xpack.observability.expView.fieldLabels.backend": "后端时间", "xpack.observability.expView.fieldLabels.browserFamily": "浏览器系列", @@ -19773,7 +20850,10 @@ "xpack.observability.expView.fieldLabels.cls": "累计布局偏移", "xpack.observability.expView.fieldLabels.connectionType": "连接类型", "xpack.observability.expView.fieldLabels.coreWebVitals": "网站体验核心指标", - "xpack.observability.expView.fieldLabels.cpuUsage": "CPU 使用率", + "xpack.observability.expView.fieldLabels.cpuUsage": "CPU 使用", + "xpack.observability.expView.fieldLabels.cpuUsage.docker": "Docker CPU 使用", + "xpack.observability.expView.fieldLabels.cpuUsage.k8sDocker": "K8s pod CPU 使用", + "xpack.observability.expView.fieldLabels.cpuUsage.system": "系统 CPU 使用", "xpack.observability.expView.fieldLabels.dcl": "DOM 内容已加载", "xpack.observability.expView.fieldLabels.device": "设备", "xpack.observability.expView.fieldLabels.deviceDistribution": "设备分布", @@ -19791,7 +20871,7 @@ "xpack.observability.expView.fieldLabels.location": "位置", "xpack.observability.expView.fieldLabels.memoryUsage": "系统内存使用", "xpack.observability.expView.fieldLabels.metric": "指标", - "xpack.observability.expView.fieldLabels.mobile.memoryUsage": "内存利用率", + "xpack.observability.expView.fieldLabels.mobile.memoryUsage": "系统内存使用", "xpack.observability.expView.fieldLabels.mobileApp": "移动应用", "xpack.observability.expView.fieldLabels.mobileResponse": "移动响应", "xpack.observability.expView.fieldLabels.monitorDurationLabel": "监测持续时间", @@ -19841,6 +20921,7 @@ "xpack.observability.expView.operationType.sum": "求和", "xpack.observability.expView.reportType.selectDataType": "选择数据类型以创建可视化。", "xpack.observability.expView.reportType.selectLabel": "选择报告类型", + "xpack.observability.expView.save": "保存可视化", "xpack.observability.expView.seriesBuilder.accordion.label": "切换序列信息", "xpack.observability.expView.seriesBuilder.addSeries": "添加序列", "xpack.observability.expView.seriesBuilder.addSeries.limitation": "只能添加一个此报告类型的序列。", @@ -19949,6 +21030,7 @@ "xpack.observability.overview.exploratoryView.editSeriesColor": "编辑序列的颜色", "xpack.observability.overview.exploratoryView.hideChart": "隐藏图表", "xpack.observability.overview.exploratoryView.lensDisabled": "Lens 应用不可用,请启用 Lens 以使用浏览视图。", + "xpack.observability.overview.exploratoryView.metricsLabel": "基础架构指标", "xpack.observability.overview.exploratoryView.missingDataType": "缺少数据类型", "xpack.observability.overview.exploratoryView.missingReportDefinition": "缺少 {reportDefinition}", "xpack.observability.overview.exploratoryView.missingReportMetric": "缺少报告指标", @@ -19984,7 +21066,7 @@ "xpack.observability.overview.ux.title": "用户体验", "xpack.observability.overviewLinkTitle": "概览", "xpack.observability.page_header.addMobileDataLink.label": "导航到有关如何添加移动 APM 数据的教程", - "xpack.observability.page_header.addUptimeDataLink.label": "导航到 Elastic Synthetics 集成以添加 Uptime 数据", + "xpack.observability.page_header.addUptimeDataLink.label": "导航到有关如何添加 Uptime 数据的教程", "xpack.observability.page_header.addUXDataLink.label": "导航到有关如何添加用户体验 APM 数据的教程", "xpack.observability.pageLayout.sideNavTitle": "Observability", "xpack.observability.resources.documentation": "文档", @@ -20006,6 +21088,8 @@ "xpack.observability.seriesEditor.edit": "编辑序列", "xpack.observability.seriesEditor.hide": "隐藏序列", "xpack.observability.seriesEditor.sampleDocuments": "在新选项卡中查看样例文档", + "xpack.observability.status.addIntegrationLink": "添加", + "xpack.observability.status.learnMoreButton": "了解详情", "xpack.observability.transactionRateLabel": "{value} tpm", "xpack.observability.urlFilter.wildcard": "使用通配符 *{wildcard}*", "xpack.observability.ux.addDataButtonLabel": "添加 UX 数据", @@ -20197,7 +21281,7 @@ "xpack.osquery.pack.queriesTable.viewResultsColumnTitle": "查看结果", "xpack.osquery.pack.queryFlyoutForm.cancelButtonLabel": "取消", "xpack.osquery.pack.queryFlyoutForm.deleteECSMappingRowButtonAriaLabel": "删除 ECS 映射行", - "xpack.osquery.pack.queryFlyoutForm.descriptionFieldLabel": "描述", + "xpack.osquery.pack.queryFlyoutForm.descriptionFieldLabel": "描述(可选)", "xpack.osquery.pack.queryFlyoutForm.ecsFieldRequiredErrorMessage": "ECS 字段必填。", "xpack.osquery.pack.queryFlyoutForm.emptyIdError": "“ID”必填", "xpack.osquery.pack.queryFlyoutForm.emptyQueryError": "“查询”是必填字段", @@ -20482,16 +21566,26 @@ "xpack.reporting.deprecations.reportingRole.forbiddenErrorMessage": "您没有足够的权限来修复此弃用。", "xpack.reporting.deprecations.reportingRole.unknownErrorCorrectiveAction": "请检查 Kibana 日志了解更多详情。", "xpack.reporting.deprecations.reportingRole.unknownErrorMessage": "无法执行弃用检查。请检查 Kibana 日志了解更多详情。", - "xpack.reporting.deprecations.reportingRoleMappings.manualStepOne": "在 kibana.yml 中设置“xpack.reporting.roles.enabled: false”。", - "xpack.reporting.deprecations.reportingRoleMappings.manualStepThree": "创建具有 Kibana 权限的定制角色以授予对 Reporting 的访问权限。", + "xpack.reporting.deprecations.reportingRoleMappings.description": "在未来版本中,报告权限的默认工作机制会有所不同,并且此集群具有映射到该权限的过时角色的角色映射。在升级之前,请将“xpack.reporting.roles.enabled”设置为“false”以采用未来的行为。", + "xpack.reporting.deprecations.reportingRoleMappings.manualStepFive": "从所有角色映射中移除“reporting_user”角色,然后添加定制角色。受影响的角色映射为:{roleMappings}。", + "xpack.reporting.deprecations.reportingRoleMappings.manualStepFour": "通过分配新角色之一向用户授予报告权限。", + "xpack.reporting.deprecations.reportingRoleMappings.manualStepOne": "在 kibana.yml 中将“xpack.reporting.roles.enabled”设置为“false”。", + "xpack.reporting.deprecations.reportingRoleMappings.manualStepThree": "前往“管理”>“安全性”>“角色”以创建一个或多个针对 Reporting 授予 Kibana 应用程序权限的角色。", "xpack.reporting.deprecations.reportingRoleMappings.manualStepTwo": "移除 kibana.yml 中的“xpack.reporting.roles.allow”(如果存在)。", + "xpack.reporting.deprecations.reportingRoleMappings.title": "“{reportingUserRoleName}”角色已过时:检查角色映射", + "xpack.reporting.deprecations.reportingRoles.description": "在未来版本中,报告权限的默认工作机制会有所不同,这将影响此集群的行为。在升级之前,请将“xpack.reporting.roles.enabled”设置为“false”以采用未来的行为。", + "xpack.reporting.deprecations.reportingRoles.manualStepFour": "通过分配新角色之一向用户授予报告权限。", "xpack.reporting.deprecations.reportingRoles.manualStepOne": "在 kibana.yml 中将“xpack.reporting.roles.enabled”设置为“false”。", - "xpack.reporting.deprecations.reportingRoles.manualStepThree": "通过分配新角色之一向用户授权报告权限。分配到在“xpack.reporting.roles.allow”中指定的报告角色的用户将不再具有报告权限,必须为他们分配基于应用程序权限的角色。", - "xpack.reporting.deprecations.reportingRoles.manualStepTwo": "从**“管理”>“安全性”>“角色”**创建一个或多个针对报告授予 Kibana 应用程序权限的角色。", - "xpack.reporting.deprecations.reportingRoles.title": "设置“{fromPath}.roles”已过时", - "xpack.reporting.deprecations.reportingRoleUsers.manualStepOne": "在 kibana.yml 中设置“xpack.reporting.roles.enabled: false”。", - "xpack.reporting.deprecations.reportingRoleUsers.manualStepThree": "创建具有 Kibana 权限的定制角色以授予对 Reporting 的访问权限。", + "xpack.reporting.deprecations.reportingRoles.manualStepThree": "前往“管理”>“安全性”>“角色”以创建一个或多个针对 Reporting 授予 Kibana 应用程序权限的角色。", + "xpack.reporting.deprecations.reportingRoles.manualStepTwo": "移除 kibana.yml 中的“xpack.reporting.roles.allow”(如果存在)。", + "xpack.reporting.deprecations.reportingRoles.title": "“{fromPath}.roles”设置已过时", + "xpack.reporting.deprecations.reportingRoleUsers.description": "在未来版本中,报告权限的默认工作机制会有所不同,并且此集群的用户具有用于该权限的过时角色。在升级之前,请将“xpack.reporting.roles.enabled”设置为“false”以采用未来的行为。", + "xpack.reporting.deprecations.reportingRoleUsers.manualStepFive": "从所有用户中移除“reporting_user”角色,然后添加定制角色。受影响的用户为:{usersRoles}。", + "xpack.reporting.deprecations.reportingRoleUsers.manualStepFour": "通过分配新角色之一向用户授予报告权限。", + "xpack.reporting.deprecations.reportingRoleUsers.manualStepOne": "在 kibana.yml 中将“xpack.reporting.roles.enabled”设置为“false”。", + "xpack.reporting.deprecations.reportingRoleUsers.manualStepThree": "前往“管理”>“安全性”>“角色”以创建一个或多个针对 Reporting 授予 Kibana 应用程序权限的角色。", "xpack.reporting.deprecations.reportingRoleUsers.manualStepTwo": "移除 kibana.yml 中的“xpack.reporting.roles.allow”(如果存在)。", + "xpack.reporting.deprecations.reportingRoleUsers.title": "“{reportingUserRoleName}”角色已过时:检查用户角色", "xpack.reporting.diagnostic.browserMissingDependency": "由于缺少系统依赖项,浏览器无法正常启动。请参见 {url}", "xpack.reporting.diagnostic.browserMissingFonts": "浏览器找不到默认字体。请参见 {url} 以解决此问题。", "xpack.reporting.diagnostic.noUsableSandbox": "无法使用 Chromium 沙盒。您自行承担使用“xpack.reporting.capture.browser.chromium.disableSandbox”禁用此项的风险。请参见 {url}", @@ -20509,12 +21603,18 @@ "xpack.reporting.jobStatusDetail.deprecatedText": "这是已弃用的导出类型。此报告的自动化将需要重新创建,才能与未来版本的 Kibana 兼容。", "xpack.reporting.jobStatusDetail.errorText": "查看报告信息以了解错误详情。", "xpack.reporting.jobStatusDetail.pendingStatusReachedText": "正在等待处理作业。", + "xpack.reporting.jobStatusDetail.timeoutSeconds": "{timeout} 秒", + "xpack.reporting.jobStatusDetail.timeoutSecondsUnknown": "未知", + "xpack.reporting.jobStatusDetail.unknownText": "未知", "xpack.reporting.jobStatusDetail.warningsText": "查看报告信息以了解警告。", "xpack.reporting.jobStatuses.completedText": "已完成", "xpack.reporting.jobStatuses.failedText": "失败", "xpack.reporting.jobStatuses.pendingText": "待处理", "xpack.reporting.jobStatuses.processingText": "正在处理", "xpack.reporting.jobStatuses.warningText": "已完成", + "xpack.reporting.jobType.csvOutputName": "CSV", + "xpack.reporting.jobType.pdfOutputName": "PDF", + "xpack.reporting.jobType.pngOutputName": "PNG", "xpack.reporting.jobWarning.csvContainsFormulas": "您的 CSV 包含电子表格应用程序可能解释为公式的字符。", "xpack.reporting.jobWarning.exportTypeDeprecated": "这是已弃用的导出类型。此报告的自动化将需要重新创建,才能与未来版本的 Kibana 兼容。", "xpack.reporting.jobWarning.maxSizeReachedTooltip": "您的搜索已达到最大大小,仅包含部分数据。", @@ -20532,21 +21632,31 @@ "xpack.reporting.listing.diagnosticSuccessMessage": "一切都好,可以报告。", "xpack.reporting.listing.diagnosticSuccessTitle": "准备就绪!", "xpack.reporting.listing.diagnosticTitle": "报告诊断", + "xpack.reporting.listing.flyout.closeButtonLabel": "关闭", "xpack.reporting.listing.ilmPolicyCallout.migrateIndicesButtonLabel": "应用 {ilmPolicyName} 策略", "xpack.reporting.listing.ilmPolicyCallout.migrateIndicesErrorTitle": "无法迁移报告索引", "xpack.reporting.listing.ilmPolicyCallout.migrateIndicesSuccessTitle": "对所有报告索引有效的报告策略", "xpack.reporting.listing.ilmPolicyCallout.migrationNeededDescription": "为了确保得到一致的管理,所有报告索引应使用 {ilmPolicyName} 策略。", "xpack.reporting.listing.ilmPolicyCallout.migrationNeededTitle": "为报告应用新的生命周期策略", + "xpack.reporting.listing.infoPanel.attempts": "{attempts} 次(共 {maxAttempts} 次)", "xpack.reporting.listing.infoPanel.attemptsInfo": "尝试次数", + "xpack.reporting.listing.infoPanel.callout.failedReportTitle": "报告失败", + "xpack.reporting.listing.infoPanel.callout.warningsTitle": "报告包含警告", "xpack.reporting.listing.infoPanel.completedAtInfo": "完成时间", "xpack.reporting.listing.infoPanel.contentTypeInfo": "内容类型", "xpack.reporting.listing.infoPanel.createdAtInfo": "创建于", + "xpack.reporting.listing.infoPanel.dimensionsInfoHeight": "高(像素)", + "xpack.reporting.listing.infoPanel.dimensionsInfoWidth": "宽(像素)", + "xpack.reporting.listing.infoPanel.kibanaVersion": "Kibana 版本", "xpack.reporting.listing.infoPanel.notApplicableLabel": "不可用", + "xpack.reporting.listing.infoPanel.outputSectionTitle": "输出", "xpack.reporting.listing.infoPanel.processedByInfo": "处理者", "xpack.reporting.listing.infoPanel.sizeInfo": "大小(字节)", + "xpack.reporting.listing.infoPanel.space": "Kibana 工作区", "xpack.reporting.listing.infoPanel.startedAtInfo": "启动时间", "xpack.reporting.listing.infoPanel.statusInfo": "状态", "xpack.reporting.listing.infoPanel.timeoutInfo": "超时", + "xpack.reporting.listing.infoPanel.timestampSectionTitle": "时间戳", "xpack.reporting.listing.infoPanel.tzInfo": "时区", "xpack.reporting.listing.infoPanel.unknownLabel": "未知", "xpack.reporting.listing.reports.ilmPolicyLinkText": "编辑报告 ILM 策略", @@ -20566,14 +21676,15 @@ "xpack.reporting.listing.table.loadingReportsDescription": "正在载入报告", "xpack.reporting.listing.table.noCreatedReportsDescription": "未创建任何报告", "xpack.reporting.listing.table.noTitleLabel": "未命名", - "xpack.reporting.listing.table.openInKibanaAppDescription": "打开在其中生成此报告的 Kibana 应用。", - "xpack.reporting.listing.table.openInKibanaAppLabel": "在 Kibana 应用中打开", + "xpack.reporting.listing.table.openInKibanaAppDescription": "打开生成此报告的 Kibana 应用。", + "xpack.reporting.listing.table.openInKibanaAppLabel": "在 Kibana 中打开", "xpack.reporting.listing.table.reportInfoAndErrorButtonTooltip": "查看报告信息和错误消息。", "xpack.reporting.listing.table.reportInfoAndWarningsButtonTooltip": "查看报告信息和警告。", "xpack.reporting.listing.table.reportInfoButtonTooltip": "查看报告信息。", "xpack.reporting.listing.table.reportInfoUnableToFetch": "无法提取报告信息。", "xpack.reporting.listing.table.requestFailedErrorMessage": "请求失败", "xpack.reporting.listing.table.showReportInfoAriaLabel": "显示报告信息", + "xpack.reporting.listing.table.untitledReport": "未命名报告", "xpack.reporting.listing.table.viewReportingInfoActionButtonDescription": "查看有关此报告的其他信息。", "xpack.reporting.listing.table.viewReportingInfoActionButtonLabel": "查看报告信息", "xpack.reporting.listing.tableColumns.actionsTitle": "操作", @@ -20599,19 +21710,28 @@ "xpack.reporting.panelContent.unsavedStateErrorTitle": "未保存的工作", "xpack.reporting.pdfFooterImageDescription": "要在 PDF 的页脚中使用的定制图像", "xpack.reporting.pdfFooterImageLabel": "PDF 页脚图像", + "xpack.reporting.publicNotifier.csvContainsFormulas.formulaReportMessage": "报告“{reportObjectTitle}”包含电子表格应用程序可解释为公式的字符。", + "xpack.reporting.publicNotifier.csvContainsFormulas.formulaReportTitle": "{reportType} 可能包含公式", "xpack.reporting.publicNotifier.downloadReportButtonLabel": "下载报告", "xpack.reporting.publicNotifier.error.calloutTitle": "报告作业失败", - "xpack.reporting.publicNotifier.error.checkManagement": "更多信息位于 {path}。", - "xpack.reporting.publicNotifier.error.reportingSectionUrlLinkLabel": "管理 > Kibana > Reporting", + "xpack.reporting.publicNotifier.error.checkManagement": "前往 {path} 了解详情。", + "xpack.reporting.publicNotifier.error.couldNotCreateReportTitle": "无法为“{reportObjectTitle}”创建 {reportType} 报告。", + "xpack.reporting.publicNotifier.error.reportingSectionUrlLinkLabel": "堆栈管理 > Kibana > Reporting", "xpack.reporting.publicNotifier.error.tryRefresh": "请尝试刷新页面。", "xpack.reporting.publicNotifier.httpErrorMessage": "无法检查 Reporting 作业状态!", "xpack.reporting.publicNotifier.maxSizeReached.partialReportDescription": "报告已达到最大大小,仅包含部分数据。", + "xpack.reporting.publicNotifier.maxSizeReached.partialReportTitle": "已为“{reportObjectTitle}”创建部分 {reportType}", "xpack.reporting.publicNotifier.pollingErrorMessage": "报告通知器错误!", "xpack.reporting.publicNotifier.reportLink.reportingSectionUrlLinkLabel": "“堆栈管理”>“告警和洞见”>“报告”", + "xpack.reporting.publicNotifier.reportLinkDescription": "立即下载,或者稍后在 {path} 中获取。", + "xpack.reporting.publicNotifier.successfullyCreatedReportNotificationTitle": "为“{reportObjectTitle}”创建了 {reportType}", "xpack.reporting.redirectApp.errorTitle": "重定向错误", "xpack.reporting.redirectApp.redirectConsoleErrorPrefixLabel": "重定向页面错误:", "xpack.reporting.registerFeature.reportingDescription": "管理您从 Discover、Visualize 和 Dashboard 生成的报告。", "xpack.reporting.registerFeature.reportingTitle": "Reporting", + "xpack.reporting.reportInfoFlyout.actionsButtonLabel": "操作", + "xpack.reporting.reportInfoFlyout.downloadButtonLabel": "下载", + "xpack.reporting.reportInfoFlyout.openInKibanaAppButtonLabel": "在 Kibana 中打开", "xpack.reporting.screenCapturePanelContent.canvasLayoutHelpText": "删除边框和页脚徽标", "xpack.reporting.screenCapturePanelContent.canvasLayoutLabel": "全页面布局", "xpack.reporting.screenCapturePanelContent.optimizeForPrintingHelpText": "使用多页,每页最多显示 2 个可视化", @@ -21065,6 +22185,11 @@ "xpack.security.loginPage.loginSelectorLinkText": "更多登录选项", "xpack.security.loginPage.noLoginMethodsAvailableMessage": "请联系您的系统管理员。", "xpack.security.loginPage.noLoginMethodsAvailableTitle": "登录已禁用。", + "xpack.security.loginPage.openInNewWindowButton": "在新窗口卡中打开", + "xpack.security.loginPage.openInNewWindowOrChangeBrowserSettingsTitle": "要查看此内容,请在新窗口中将其打开,或调整浏览器设置以允许第三方 cookie。", + "xpack.security.loginPage.openInNewWindowOrChangeKibanaConfigTitle": "要查看此内容,请在新窗口中将其打开,或请您的管理员允许跨域 cookie。", + "xpack.security.loginPage.requiresCookiesMessage": "在浏览器设置中启用 cookie 以继续。", + "xpack.security.loginPage.requiresCookiesTitle": "需要 Cookie 才能登录到 Elastic", "xpack.security.loginPage.requiresSecureConnectionMessage": "请联系您的系统管理员。", "xpack.security.loginPage.requiresSecureConnectionTitle": "登录需要安全连接", "xpack.security.loginPage.unknownLayoutMessage": "请参阅 Kibana 日志以了解详情,并尝试重新加载页面。", @@ -21574,6 +22699,7 @@ "xpack.securitySolution.alertDetails.noRiskDataDescription": "未找到此告警的主机风险数据", "xpack.securitySolution.alertDetails.overview": "概览", "xpack.securitySolution.alertDetails.overview.enrichedDataTitle": "扩充数据", + "xpack.securitySolution.alertDetails.overview.highlightedFields": "突出显示的字段", "xpack.securitySolution.alertDetails.overview.hostDataTooltipContent": "仅在其对主机可用时才会显示风险分类。确保在您的环境中启用了 {hostsRiskScoreDocumentationLink}。", "xpack.securitySolution.alertDetails.overview.hostRiskDataTitle": "主机风险数据", "xpack.securitySolution.alertDetails.overview.hostsRiskScoreLink": "主机风险分数", @@ -21588,7 +22714,7 @@ "xpack.securitySolution.alerts.riskScoreMapping.defaultRiskScoreTitle": "默认风险分数", "xpack.securitySolution.alerts.riskScoreMapping.mappingDescriptionLabel": "使用源事件值覆盖默认风险分数。", "xpack.securitySolution.alerts.riskScoreMapping.mappingDetailsLabel": "如果值超出范围,或字段不存在,将使用默认风险分数。", - "xpack.securitySolution.alerts.riskScoreMapping.riskScoreFieldTitle": "kibana.alert.rule.risk_score", + "xpack.securitySolution.alerts.riskScoreMapping.riskScoreFieldTitle": "kibana.alert.risk_score", "xpack.securitySolution.alerts.riskScoreMapping.riskScoreMappingTitle": "风险分数覆盖", "xpack.securitySolution.alerts.riskScoreMapping.riskScoreTitle": "风险分数", "xpack.securitySolution.alerts.riskScoreMapping.sourceFieldTitle": "源字段", @@ -21644,6 +22770,7 @@ "xpack.securitySolution.artifactCard.policyEffectScope.title": "已应用于以下{count, plural, other {策略}}", "xpack.securitySolution.artifactCardGrid.assignmentColumn": "分配", "xpack.securitySolution.artifactCardGrid.DescriptionColumn": "描述", + "xpack.securitySolution.artifactCardGrid.expandCollapseLabel": "{action}所有卡片", "xpack.securitySolution.artifactCardGrid.nameColumn": "名称", "xpack.securitySolution.artifactExpandableCard.collpase": "折叠", "xpack.securitySolution.artifactExpandableCard.expand": "展开", @@ -21892,6 +23019,7 @@ "xpack.securitySolution.containers.detectionEngine.createPrePackagedRuleAndTimelineSuccesDescription": "已安装 Elastic 预先打包的规则和时间线模板", "xpack.securitySolution.containers.detectionEngine.createPrePackagedRuleSuccesDescription": "已安装 Elastic 的预打包规则", "xpack.securitySolution.containers.detectionEngine.createPrePackagedTimelineSuccesDescription": "安装 Elastic 预先打包的时间线模板", + "xpack.securitySolution.containers.detectionEngine.ruleExecutionEventsFetchFailDescription": "无法提取规则执行事件", "xpack.securitySolution.containers.detectionEngine.rulesAndTimelines": "无法提取规则和时间线", "xpack.securitySolution.containers.detectionEngine.tagFetchFailDescription": "无法提取标签", "xpack.securitySolution.containers.errors.stopJobFailureTitle": "停止作业失败", @@ -21957,7 +23085,9 @@ "xpack.securitySolution.detectionEngine.alerts.histogram.allOthersGroupingLabel": "所有其他", "xpack.securitySolution.detectionEngine.alerts.histogram.headerTitle": "趋势", "xpack.securitySolution.detectionEngine.alerts.histogram.showingAlertsTitle": "正在显示:{modifier}{totalAlertsFormatted} 个{totalAlerts, plural, other {告警}}", + "xpack.securitySolution.detectionEngine.alerts.histogram.stackByOptions.stackByAriaLabel": "按字段值堆叠告警直方图", "xpack.securitySolution.detectionEngine.alerts.histogram.stackByOptions.stackByLabel": "堆叠依据", + "xpack.securitySolution.detectionEngine.alerts.histogram.stackByOptions.stackByPlaceholder": "选择堆叠依据的字段", "xpack.securitySolution.detectionEngine.alerts.histogram.topNLabel": "排名靠前的{fieldName}", "xpack.securitySolution.detectionEngine.alerts.histogram.viewAlertsButtonLabel": "查看告警", "xpack.securitySolution.detectionEngine.alerts.loadingAlertsTitle": "正在加载告警", @@ -21984,6 +23114,28 @@ "xpack.securitySolution.detectionEngine.alerts.utilityBar.takeActionTitle": "采取操作", "xpack.securitySolution.detectionEngine.alertTitle": "告警", "xpack.securitySolution.detectionEngine.buttonManageRules": "管理规则", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditConfirmation.confirmButtonLabel": "编辑定制规则", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditConfirmationCancelButtonLabel": "取消", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.addIndexPatternsComboboxHelpText": "从下拉列表中选择 Elasticsearch 索引的默认索引模式。您可以添加定制索引模式,然后按 Enter 键以开始新索引。", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.addIndexPatternsComboboxLabel": "为选定规则添加索引模式", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.addIndexPatternsOverwriteCheckboxLabel": "覆盖所有选定规则索引模式", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.addIndexPatternsTitle": "添加索引模式", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.addTagsComboboxHelpText": "为选定规则添加一个或多个定制识别标签。在每个标签后按 Enter 键可开始新的标签。", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.addTagsComboboxLabel": "为选定规则添加标签", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.addTagsOverwriteCheckboxLabel": "覆盖所有选定规则标签", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.addTagsTitle": "添加标签", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.closeButtonLabel": "关闭", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.deleteIndexPatternsComboboxHelpText": "从下拉列表中删除 Elasticsearch 索引的默认索引模式。您可以添加定制索引模式,然后按 Enter 键以开始新索引。", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.deleteIndexPatternsComboboxLabel": "删除选定规则的索引模式", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.deleteIndexPatternsTitle": "删除索引模式", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.deleteTagsComboboxHelpText": "删除选定规则的一个或多个定制识别标签。在每个标签后按 Enter 键可开始新的标签。", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.deleteTagsComboboxLabel": "删除选定规则的标签", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.deleteTagsTitle": "删除标签", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.indexPatternsRequiredErrorMessage": "至少需要一种索引模式。", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.saveButtonLabel": "保存", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.setIndexPatternsWarningCallout": "您即将覆盖 {rulesCount, plural, other {# 个选定规则}}的索引模式,按“保存”可应用更改。", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.setTagsWarningCallout": "您即将覆盖 {rulesCount, plural, other {# 个选定规则}}的标签,按“保存”可应用更改。", + "xpack.securitySolution.detectionEngine.components.allRules.bulkActions.bulkEditFlyoutForm.tagsComoboxRequiredErrorMessage": "至少需要一个标签。", "xpack.securitySolution.detectionEngine.components.allRules.deleteConfirmationBody": "此操作将删除匹配当前筛选查询的所有规则。单击“确认”继续。", "xpack.securitySolution.detectionEngine.components.allRules.deleteConfirmationCancel": "取消", "xpack.securitySolution.detectionEngine.components.allRules.deleteConfirmationConfirm": "确认", @@ -21992,12 +23144,15 @@ "xpack.securitySolution.detectionEngine.components.allRules.refreshPromptConfirm": "继续", "xpack.securitySolution.detectionEngine.components.allRules.refreshPromptTitle": "您还在吗?", "xpack.securitySolution.detectionEngine.components.importRuleModal.cancelTitle": "取消", + "xpack.securitySolution.detectionEngine.components.importRuleModal.exceptionsSuccessLabel": "已成功导入 {totalExceptions} 个{totalExceptions, plural, other {例外}}。", + "xpack.securitySolution.detectionEngine.components.importRuleModal.importExceptionsFailedLabel": "未能导入 {totalExceptions} 个{totalExceptions, plural, other {例外}}", "xpack.securitySolution.detectionEngine.components.importRuleModal.importFailedDetailedTitle": "{message}", "xpack.securitySolution.detectionEngine.components.importRuleModal.importFailedTitle": "未能导入 {totalRules} 个{totalRules, plural, other {规则}}", - "xpack.securitySolution.detectionEngine.components.importRuleModal.importRuleTitle": "导入规则", + "xpack.securitySolution.detectionEngine.components.importRuleModal.importRuleTitle": "导入", "xpack.securitySolution.detectionEngine.components.importRuleModal.initialPromptTextDescription": "选择或拖放有效 rules_export.ndjson 文件", - "xpack.securitySolution.detectionEngine.components.importRuleModal.overwriteDescription": "覆盖具有冲突规则 ID 的现有检测规则", - "xpack.securitySolution.detectionEngine.components.importRuleModal.selectRuleDescription": "选择要导入的规则和操作(如从“安全性”>“规则”页面导出)", + "xpack.securitySolution.detectionEngine.components.importRuleModal.overwriteDescription": "覆盖具有冲突“rule_id”的现有检测规则", + "xpack.securitySolution.detectionEngine.components.importRuleModal.overwriteExceptionLabel": "覆盖具有冲突“list_id”的现有例外列表", + "xpack.securitySolution.detectionEngine.components.importRuleModal.selectRuleDescription": "选择要导入的规则。可以包括关联的规则操作和例外。", "xpack.securitySolution.detectionEngine.components.importRuleModal.successfullyImportedRulesTitle": "已成功导入 {totalRules} 个{totalRules, plural, other {规则}}", "xpack.securitySolution.detectionEngine.createRule. stepScheduleRule.completeWithActivatingTitle": "创建并激活规则", "xpack.securitySolution.detectionEngine.createRule. stepScheduleRule.completeWithoutActivatingTitle": "创建规则但不激活", @@ -22058,6 +23213,7 @@ "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.customThreatQueryFieldRequiredEmptyError": "所有匹配项都需要字段和威胁索引字段。", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.customThreatQueryFieldRequiredError": "至少需要一个指标匹配。", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.EqlQueryBarLabel": "EQL 查询", + "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.eqlQueryFieldRequiredError": "EQL 查询必填。", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldAnomalyThresholdLabel": "异常分数阈值", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldMachineLearningJobIdLabel": "Machine Learning 作业", "xpack.securitySolution.detectionEngine.createRule.stepDefineRule.fieldQuerBarLabel": "定制查询", @@ -22775,6 +23931,8 @@ "xpack.securitySolution.detectionEngine.queryPreview.queryPreviewGraphTitle": "{hits} 个{hits, plural, other {命中}}", "xpack.securitySolution.detectionEngine.queryPreview.queryPreviewHelpText": "选择数据的时间范围以预览查询结果", "xpack.securitySolution.detectionEngine.queryPreview.queryPreviewLabel": "快速查询预览", + "xpack.securitySolution.detectionEngine.queryPreview.queryPreviewSeeAllErrors": "查看所有错误", + "xpack.securitySolution.detectionEngine.queryPreview.queryPreviewSeeAllWarnings": "查看所有警告", "xpack.securitySolution.detectionEngine.queryPreview.queryPreviewSubtitleLoading": "...正在加载", "xpack.securitySolution.detectionEngine.queryPreview.queryThresholdGraphCountLabel": "累计阈值计数", "xpack.securitySolution.detectionEngine.rule.editRule.errorMsgDescription": "您在{countError, plural, other {以下选项卡}}中的输入无效:{tabHasError}", @@ -22786,7 +23944,7 @@ "xpack.securitySolution.detectionEngine.ruleDetails.backToRulesButton": "规则", "xpack.securitySolution.detectionEngine.ruleDetails.deletedRule": "已删除规则", "xpack.securitySolution.detectionEngine.ruleDetails.exceptionsTab": "例外", - "xpack.securitySolution.detectionEngine.ruleDetails.experimentalDescription": "实验性", + "xpack.securitySolution.detectionEngine.ruleDetails.experimentalDescription": "技术预览", "xpack.securitySolution.detectionEngine.ruleDetails.failureHistoryTab": "失败历史记录", "xpack.securitySolution.detectionEngine.ruleDetails.lastFiveErrorsTitle": "上五个错误", "xpack.securitySolution.detectionEngine.ruleDetails.pageTitle": "规则详情", @@ -22815,7 +23973,7 @@ "xpack.securitySolution.detectionEngine.rules.allExceptionLists.filters.noExceptionsTitle": "未找到例外列表", "xpack.securitySolution.detectionEngine.rules.allExceptionLists.search.placeholder": "搜索例外列表", "xpack.securitySolution.detectionEngine.rules.allExceptions.filters.noListsBody": "我们找不到任何例外列表。", - "xpack.securitySolution.detectionEngine.rules.allExceptions.tableTitle": "例外", + "xpack.securitySolution.detectionEngine.rules.allExceptions.tableTitle": "例外列表", "xpack.securitySolution.detectionEngine.rules.allRules.actions.bulkActionFailedDescription": "无法执行批量操作", "xpack.securitySolution.detectionEngine.rules.allRules.actions.deleteeRuleDescription": "删除规则", "xpack.securitySolution.detectionEngine.rules.allRules.actions.duplicateRuleDescription": "复制规则", @@ -22825,12 +23983,35 @@ "xpack.securitySolution.detectionEngine.rules.allRules.actions.editRuleSettingsToolTip": "您没有 Kibana 操作权限", "xpack.securitySolution.detectionEngine.rules.allRules.actions.exportRuleDescription": "导出规则", "xpack.securitySolution.detectionEngine.rules.allRules.activeRuleDescription": "活动", - "xpack.securitySolution.detectionEngine.rules.allRules.batchActions.activateSelectedErrorTitle": "激活{totalRules, plural, other {规则}}时出错", - "xpack.securitySolution.detectionEngine.rules.allRules.batchActions.deactivateSelectedErrorTitle": "停用{totalRules, plural, other {规则}}时出错", + "xpack.securitySolution.detectionEngine.rules.allRules.batchActions.activateSelectedErrorTitle": "启用{totalRules, plural, other {规则}}时出错", + "xpack.securitySolution.detectionEngine.rules.allRules.batchActions.deactivateSelectedErrorTitle": "禁用{totalRules, plural, other {规则}}时出错", "xpack.securitySolution.detectionEngine.rules.allRules.batchActions.deleteSelectedErrorTitle": "删除{totalRules, plural, other {规则}}时出错", "xpack.securitySolution.detectionEngine.rules.allRules.batchActions.deleteSelectedImmutableTitle": "选择内容包含无法删除的不可变规则", "xpack.securitySolution.detectionEngine.rules.allRules.batchActionsTitle": "批处理操作", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.addIndexPatternsTitle": "添加索引模式", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.addTagsTitle": "添加标签", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.bulkEditConfirmationDescription": "将仅对您选定的 {customRulesCount, plural, other {# 个定制规则}}应用更新操作。", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.bulkEditConfirmationTitle": "无法编辑 {elasticRulesCount, plural, other {# 个 Elastic 规则}}", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.bulkEditErrorToastDescription": "无法更新 {rulesCount, plural, other {# 个规则}}。", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.bulkEditErrorToastTitle": "规则更新失败", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.bulkEditRejectionDescription": "无法修改 Elastic 规则。将仅对定制规则应用更新操作。", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.bulkEditSuccessToastDescription": "您已成功更新 {rulesCount, plural, other {# 个规则}}。", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.bulkEditSuccessToastTitle": "规则更改已更新", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.bulkEditWarningToastDescription": "{rulesCount, plural, other {# 个规则}}正在更新。", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.bulkEditWarningToastNotifyButtonLabel": "在完成时通知我", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.bulkEditWarningToastTitle": "正在进行规则更新", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.contextMenuTitle": "选项", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.deleteIndexPatternsTitle": "删除索引模式", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.deleteTagsTitle": "删除标签", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.deleteTitle": "删除", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.disableTitle": "禁用", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.duplicateTitle": "复制", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.enableTitle": "启用", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.exportTitle": "导出", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.indexPatternsTitle": "索引模式", + "xpack.securitySolution.detectionEngine.rules.allRules.bulkActions.tagsTitle": "标签", "xpack.securitySolution.detectionEngine.rules.allRules.clearSelectionTitle": "清除所选内容", + "xpack.securitySolution.detectionEngine.rules.allRules.columns.enabledTitle": "已启用", "xpack.securitySolution.detectionEngine.rules.allRules.columns.gap": "上一缺口(如果有)", "xpack.securitySolution.detectionEngine.rules.allRules.columns.gapTooltip": "规则执行中最近缺口的持续时间。调整规则回查或{seeDocs}以缩小缺口。", "xpack.securitySolution.detectionEngine.rules.allRules.columns.indexingTimes": "索引时间 (ms)", @@ -22875,6 +24056,9 @@ "xpack.securitySolution.detectionEngine.rules.defineRuleTitle": "定义规则", "xpack.securitySolution.detectionEngine.rules.deleteDescription": "删除", "xpack.securitySolution.detectionEngine.rules.editPageTitle": "编辑", + "xpack.securitySolution.detectionEngine.rules.experimentalDescription": "实验性规则表视图处于技术预览状态,并允许使用高级排序功能。如果在处理表时遇到性能问题,您可以关闭此设置。", + "xpack.securitySolution.detectionEngine.rules.experimentalOff": "技术预览:关闭", + "xpack.securitySolution.detectionEngine.rules.experimentalOn": "技术预览:开启", "xpack.securitySolution.detectionEngine.rules.importRuleTitle": "导入规则", "xpack.securitySolution.detectionEngine.rules.loadPrePackagedRulesAndTemplatesButton": "加载 Elastic 预构建规则和时间线模板", "xpack.securitySolution.detectionEngine.rules.loadPrePackagedRulesButton": "加载 Elastic 预构建规则", @@ -22906,6 +24090,8 @@ "xpack.securitySolution.detectionEngine.rules.updatePrePackagedRulesTitle": "更新可用于 Elastic 预构建规则或时间线模板", "xpack.securitySolution.detectionEngine.rules.updatePrePackagedTimelinesButton": "更新 {updateTimelines} 个 Elastic 预构建{updateTimelines, plural, other {时间线}}", "xpack.securitySolution.detectionEngine.rules.updatePrePackagedTimelinesMsg": "您可以更新 {updateTimelines} 个 Elastic 预构建{updateTimelines, plural, other {时间线}}", + "xpack.securitySolution.detectionEngine.ruleStatus.errorCalloutTitle": "规则错误位置", + "xpack.securitySolution.detectionEngine.ruleStatus.partialErrorCalloutTitle": "警告于", "xpack.securitySolution.detectionEngine.ruleStatus.refreshButton": "刷新", "xpack.securitySolution.detectionEngine.ruleStatus.statusAtDescription": "处于", "xpack.securitySolution.detectionEngine.ruleStatus.statusDateDescription": "状态日期", @@ -22949,6 +24135,8 @@ "xpack.securitySolution.editDataProvider.selectAnOperatorPlaceholder": "选择运算符", "xpack.securitySolution.editDataProvider.valueLabel": "值", "xpack.securitySolution.editDataProvider.valuePlaceholder": "值", + "xpack.securitySolution.effectedPolicySelect.assignmentSectionDescription": "跨所有策略进行全局分配,或将其分配给特定策略。", + "xpack.securitySolution.effectedPolicySelect.assignmentSectionTitle": "分配", "xpack.securitySolution.effectedPolicySelect.viewPolicyLinkLabel": "查看策略", "xpack.securitySolution.emptyString.emptyStringDescription": "空字符串", "xpack.securitySolution.endpoint.actions.agentDetails": "查看代理详情", @@ -23008,15 +24196,21 @@ "xpack.securitySolution.endpoint.details.policyStatus": "策略状态", "xpack.securitySolution.endpoint.details.policyStatusValue": "{policyStatus, select, success {成功} warning {警告} failure {失败} other {未知}}", "xpack.securitySolution.endpoint.detailsActions.buttonLabel": "采取操作", + "xpack.securitySolution.endpoint.effectedPolicySelect.global": "全局", + "xpack.securitySolution.endpoint.effectedPolicySelect.perPolicy": "按策略", + "xpack.securitySolution.endpoint.eventFilters.fleetIntegration.title": "事件筛选", "xpack.securitySolution.endpoint.fleetCustomExtension.artifacts.backButtonLabel": "返回到 Fleet 集成策略", - "xpack.securitySolution.endpoint.fleetCustomExtension.backButtonLabel": "返回至终端集成", + "xpack.securitySolution.endpoint.fleetCustomExtension.backButtonLabel": "返回到 Endpoint Security 集成", "xpack.securitySolution.endpoint.fleetCustomExtension.eventFiltersLabel": "事件筛选", + "xpack.securitySolution.endpoint.fleetCustomExtension.eventFiltersManageLabel": "管理事件筛选", + "xpack.securitySolution.endpoint.fleetCustomExtension.eventFiltersSummary.error": "尝试提取事件筛选统计时出错:“{error}”", "xpack.securitySolution.endpoint.fleetCustomExtension.eventFiltersSummaryError": "尝试提取事件筛选统计时出错:“{error}”", "xpack.securitySolution.endpoint.fleetCustomExtension.exceptionItemsSummary.linux": "Linux", "xpack.securitySolution.endpoint.fleetCustomExtension.exceptionItemsSummary.macos": "Mac", "xpack.securitySolution.endpoint.fleetCustomExtension.exceptionItemsSummary.total": "合计", "xpack.securitySolution.endpoint.fleetCustomExtension.exceptionItemsSummary.windows": "Windows", - "xpack.securitySolution.endpoint.fleetCustomExtension.hostIsolationExceptionsSummary.backButtonLabel": "返回至终端集成", + "xpack.securitySolution.endpoint.fleetCustomExtension.hostIsolationExceptionsManageLabel": "管理主机隔离例外", + "xpack.securitySolution.endpoint.fleetCustomExtension.hostIsolationExceptionsSummary.backButtonLabel": "返回到 Endpoint Security 集成", "xpack.securitySolution.endpoint.fleetCustomExtension.hostIsolationExceptionsSummary.error": "尝试提取主机隔离例外统计时出错:“{error}”", "xpack.securitySolution.endpoint.fleetCustomExtension.hostIsolationExceptionsSummary.label": "主机隔离例外", "xpack.securitySolution.endpoint.fleetCustomExtension.hostIsolationExceptionsSummary.manageLabel": "管理", @@ -23047,6 +24241,7 @@ "xpack.securitySolution.endpoint.hostIsolation.unisolate.successfulMessage": "已成功提交主机 {hostName} 的释放", "xpack.securitySolution.endpoint.hostIsolation.unisolateHost": "释放主机", "xpack.securitySolution.endpoint.hostIsolation.unIsolateThisHost": "{hostName} 当前{isolated}。是否确定要{unisolate}此主机?", + "xpack.securitySolution.endpoint.hostIsolationExceptions.fleetIntegration.title": "主机隔离例外应用程序", "xpack.securitySolution.endpoint.hostIsolationStatus.isIsolating": "正在隔离", "xpack.securitySolution.endpoint.hostIsolationStatus.isolated": "已隔离", "xpack.securitySolution.endpoint.hostIsolationStatus.isUnIsolating": "正在释放", @@ -23086,6 +24281,7 @@ "xpack.securitySolution.endpoint.list.transformFailed.message": "所需的转换 {transformId} 当前失败。多数时候,这可以通过 {transformsPage} 解决。要获取更多帮助,请访问{docsPage}", "xpack.securitySolution.endpoint.list.transformFailed.restartLink": "正在重新启动转换", "xpack.securitySolution.endpoint.list.transformFailed.title": "所需转换失败", + "xpack.securitySolution.endpoint.olicy.trustedApps.layout.search.placeholder": "搜索下面的字段:name、description、value", "xpack.securitySolution.endpoint.paginatedContent.noItemsFoundTitle": "找不到项目", "xpack.securitySolution.endpoint.policy.advanced": "高级设置", "xpack.securitySolution.endpoint.policy.advanced.calloutTitle": "谨慎操作!", @@ -23123,6 +24319,8 @@ "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.kernel.connect": "是否连接内核驱动程序。默认值:true。", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.kernel.filewrite": "“false”值会覆盖本将启用内核文件写入事件的其他配置设置。默认值:true。", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.kernel.network": "“false”值会覆盖本将启用内核网络事件的其他配置设置。默认值:true。", + "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.kernel.network_extension.enable_content_filtering": "启用或禁用网络内容筛选,这会启用/禁用网络事件。如果禁用此选项,主机隔离将会失败。默认值:true", + "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.kernel.network_extension.enable_packet_filtering": "启用或禁用网络数据包筛选。如果禁用此选项,主机隔离将会失败。默认值:true", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.kernel.process": "“false”值会覆盖本将启用内核进程事件的其他配置设置。默认值:true。", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.logging.file": "提供的值将覆盖为保存到磁盘上并流式传输到 Elasticsearch 的日志配置的日志级别。大多数情况下,建议使用 Fleet 来更改此日志记录。值包括 error、warning、info、debug 和 trace。", "xpack.securitySolution.endpoint.policy.advanced.mac.advanced.logging.syslog": "提供的值将配置记录到 syslog。值包括 error、warning、info、debug 和 trace。", @@ -23141,10 +24339,12 @@ "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.artifacts.user.ca_cert": "Fleet 服务器证书颁发机构的 PEM 编码证书。", "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", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.elasticsearch.delay": "向 Elasticsearch 发送事件的延迟(秒)。默认值:120。", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.elasticsearch.tls.ca_cert": "Elasticsearch 证书颁发机构的 PEM 编码证书。", "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.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。", "xpack.securitySolution.endpoint.policy.advanced.windows.advanced.kernel.fileaccess": "报告有限文件访问(读取)事件。路径不可由用户配置。默认值为 true。", @@ -23171,7 +24371,7 @@ "xpack.securitySolution.endpoint.policy.details.antivirusRegistration.toggle": "注册为防病毒解决方案", "xpack.securitySolution.endpoint.policy.details.antivirusRegistration.type": "注册为防病毒解决方案", "xpack.securitySolution.endpoint.policy.details.av.windowsServerNotSupported": "不支持 Windows Server 操作系统", - "xpack.securitySolution.endpoint.policy.details.backToListTitle": "返回到终端主机", + "xpack.securitySolution.endpoint.policy.details.backToListTitle": "查看所有终端", "xpack.securitySolution.endpoint.policy.details.behavior": "恶意行为", "xpack.securitySolution.endpoint.policy.details.behavior_protection": "恶意行为", "xpack.securitySolution.endpoint.policy.details.cancel": "取消", @@ -23192,6 +24392,8 @@ "xpack.securitySolution.endpoint.policy.details.ransomware": "勒索软件", "xpack.securitySolution.endpoint.policy.details.save": "保存", "xpack.securitySolution.endpoint.policy.details.settings": "设置", + "xpack.securitySolution.endpoint.policy.details.tabs.eventFilters": "事件筛选", + "xpack.securitySolution.endpoint.policy.details.tabs.isInHostIsolationExceptions": "主机隔离例外", "xpack.securitySolution.endpoint.policy.details.tabs.policyForm": "策略设置", "xpack.securitySolution.endpoint.policy.details.tabs.trustedApps": "受信任的应用程序", "xpack.securitySolution.endpoint.policy.details.updateConfirm.cancelButtonTitle": "取消", @@ -23204,6 +24406,80 @@ "xpack.securitySolution.endpoint.policy.details.updateSuccessMessage": "集成 {name} 已更新。", "xpack.securitySolution.endpoint.policy.details.updateSuccessTitle": "成功!", "xpack.securitySolution.endpoint.policy.details.upgradeToPlatinum": "升级到 Elastic 白金级", + "xpack.securitySolution.endpoint.policy.eventFilters.empty.unassigned.backButtonLabel": "返回到 {policyName} 策略", + "xpack.securitySolution.endpoint.policy.eventFilters.empty.unassigned.content": "当前没有事件筛选已分配给 {policyName}。立即分配事件筛选,或在事件筛选页面添加并管理事件筛选。", + "xpack.securitySolution.endpoint.policy.eventFilters.empty.unassigned.primaryAction": "分配事件筛选", + "xpack.securitySolution.endpoint.policy.eventFilters.empty.unassigned.secondaryAction": "管理事件筛选", + "xpack.securitySolution.endpoint.policy.eventFilters.empty.unassigned.title": "无已分配的事件筛选", + "xpack.securitySolution.endpoint.policy.eventFilters.empty.unexisting.action": "添加事件筛选", + "xpack.securitySolution.endpoint.policy.eventFilters.empty.unexisting.content": "当前没有任何事件筛选已应用于您的终端。", + "xpack.securitySolution.endpoint.policy.eventFilters.empty.unexisting.title": "不存在事件筛选", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.about": "有 {count, plural, other {}} {count} 个事件{count, plural, other {筛选}}与此策略关联。单击此处以 {link}", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.about.viewAllLinkLabel": "查看所有事件筛选", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.assignToPolicy": "分配事件筛选到策略", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.cancel": "取消", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.confirm": "分配给 {policyName}", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.noAssignable": "没有可分配给此策略的事件筛选。", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.noResults": "找不到项目", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.searchWarning.text": "仅显示前 100 个事件筛选。请使用搜索栏优化结果。", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.searchWarning.title": "有限的搜索结果", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.subtitle": "选择事件筛选以添加到 {policyName}", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.title": "分配事件筛选", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.flyout.toastError.text": "更新项目时出错", + "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.layout.flyout.toastSuccess.title": "成功", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.searh.label": "搜索事件筛选", + "xpack.securitySolution.endpoint.policy.eventFilters.layout.title": "已分配的事件筛选", + "xpack.securitySolution.endpoint.policy.eventFilters.list.fullDetailsAction": "查看完整详情", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeAction": "从策略中移除", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeActionNotAllowed": "无法从策略中移除全局应用的事件筛选。", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeDialog.cancelLabel": "取消", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeDialog.confirmLabel": "从策略中移除", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeDialog.errorToastTitle": "尝试移除事件筛选时出错", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeDialog.message": "是否确定要继续?", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeDialog.messageCallout": "此事件筛选将仅从该策略中移除,但仍可从事件筛选页面找到并进行管理。", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeDialog.successToastTitle": "已成功移除", + "xpack.securitySolution.endpoint.policy.eventFilters.list.removeDialog.title": "从策略中移除事件筛选", + "xpack.securitySolution.endpoint.policy.eventFilters.list.search.placeholder": "搜索下面的字段:name、description、comments、value", + "xpack.securitySolution.endpoint.policy.eventFilters.list.totalItemCount": "正在显示 {totalItemsCount, plural, other {# 个事件筛选}}", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.empty.unassigned.backButtonLabel": "返回到 {policyName} 策略", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.empty.unassigned.content": "当前没有主机隔离例外分配给 {policyName}。立即分配例外,或在主机隔离例外页面添加并管理例外。", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.empty.unassigned.primaryAction": "分配主机隔离例外", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.empty.unassigned.secondaryAction": "管理主机隔离例外", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.empty.unassigned.title": "无已分配的主机隔离例外", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.empty.unexisting.action": "添加主机隔离例外", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.empty.unexisting.content": "当前没有主机隔离例外已应用于您的终端。", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.empty.unexisting.title": "不存在主机隔离例外", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.assignToPolicy": "将主机隔离例外分配给策略", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.cancel": "取消", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.confirm": "分配给 {policyName}", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.noAssignable": "没有可分配给此策略的主机隔离例外。", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.noResults": "找不到项目", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.searchWarning.text": "仅显示前 100 个主机隔离例外。请使用搜索栏优化结果。", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.searchWarning.title": "有限的搜索结果", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.subtitle": "选择主机隔离例外以添加到 {policyName}", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.title": "分配主机隔离例外", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.toastError.text": "更新项目时出错", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.toastSuccess.textMultiples": "已将 {count} 个主机隔离例外添加到您的列表。", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.toastSuccess.textSingle": "已将“{name}”添加到您的主机隔离例外列表。", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.flyout.toastSuccess.title": "成功", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.layout.searh.label": "搜索主机隔离例外", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.about": "有 {count, plural, other {}} {count} 个{count, plural, other {主机隔离例外}}与此策略关联。单击此处以 {link}", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.fullDetailsAction": "查看完整详情", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeAction": "从策略中移除", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeActionNotAllowed": "无法从策略中移除全局应用的主机隔离例外。", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeDialog.cancelLabel": "取消", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeDialog.confirmLabel": "从策略中移除", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeDialog.errorToastTitle": "尝试移除主机隔离例外时出错", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeDialog.message": "是否确定要继续?", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeDialog.messageCallout": "此主机隔离例外将仅从该策略中移除,但仍可从主机隔离例外页面找到并进行管理。", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeDialog.successToastTitle": "已成功移除", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.removeDialog.title": "从策略中移除主机隔离例外", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.search.placeholder": "搜索下面的字段:name、description、IP", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.title": "已分配的主机隔离例外", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.totalItemCount": "正显示 {totalItemsCount, plural, other {# 个主机隔离例外}}", + "xpack.securitySolution.endpoint.policy.hostIsolationExceptions.list.viewAllLinkLabel": "查看所有主机隔离例外", "xpack.securitySolution.endpoint.policy.protections.behavior": "恶意行为防护", "xpack.securitySolution.endpoint.policy.protections.malware": "恶意软件防护", "xpack.securitySolution.endpoint.policy.protections.memory": "内存威胁防护", @@ -23356,7 +24632,7 @@ "xpack.securitySolution.endpointDetails.activityLog.logEntry.response.unisolationSuccessful": "终端收到释放主机请求", "xpack.securitySolution.endpointDetails.activityLog.search": "搜索活动日志", "xpack.securitySolution.endpointDetails.overview": "概览", - "xpack.securitySolution.endpointManagement.noPermissionsSubText": "似乎 Fleet 已禁用。必须启用 Fleet,才能使用此功能。如果您无权启用 Fleet,请联系您的 Kibana 管理员。", + "xpack.securitySolution.endpointManagement.noPermissionsSubText": "您必须具有超级用户角色才能使用此功能。如果您不具有超级用户角色,且无权编辑用户角色,请与 Kibana 管理员联系。", "xpack.securitySolution.endpointManagemnet.noPermissionsText": "您没有所需的 Kibana 权限,无法使用 Elastic Security 管理", "xpack.securitySolution.endpointsTab": "终端", "xpack.securitySolution.enpdoint.resolver.panelutils.invaliddate": "日期无效", @@ -23383,9 +24659,12 @@ "xpack.securitySolution.eventDetails.table": "表", "xpack.securitySolution.eventDetails.table.actions": "操作", "xpack.securitySolution.eventDetails.value": "值", + "xpack.securitySolution.eventDetails.viewAllFields": "查看表中的所有字段", "xpack.securitySolution.eventDetails.viewColumnCheckboxAriaLabel": "查看 {field} 列", "xpack.securitySolution.eventDetails.viewRuleDetailPage": "查看规则详情页面", "xpack.securitySolution.eventFilter.form.creationSuccessToastTitle": "“{name}”已添加到事件筛选列表。", + "xpack.securitySolution.eventFilter.form.description.label": "描述您的事件筛选", + "xpack.securitySolution.eventFilter.form.description.placeholder": "描述", "xpack.securitySolution.eventFilter.form.failedToastTitle.create": "创建新事件筛选时出错:“{error}”", "xpack.securitySolution.eventFilter.form.failedToastTitle.get": "无法编辑事件筛选:“{error}”", "xpack.securitySolution.eventFilter.form.failedToastTitle.update": "更新事件筛选时出错:“{error}”", @@ -23395,18 +24674,32 @@ "xpack.securitySolution.eventFilter.form.os.label": "选择操作系统", "xpack.securitySolution.eventFilter.form.rule.name": "终端事件筛选", "xpack.securitySolution.eventFilter.form.updateSuccessToastTitle": "“{name}”已成功更新。", - "xpack.securitySolution.eventFilter.search.placeholder": "搜索下面的字段:name、comments、value", + "xpack.securitySolution.eventFilter.search.placeholder": "搜索下面的字段:name、description、comments、value", "xpack.securitySolution.eventFilters.aboutInfo": "添加事件筛选以阻止高数目或非预期事件写入到 Elasticsearch。", + "xpack.securitySolution.eventFilters.commentsSectionDescription": "将注释添加到事件筛选。", + "xpack.securitySolution.eventFilters.commentsSectionTitle": "注释", + "xpack.securitySolution.eventFilters.criteriaSectionDescription": "选择操作系统,然后添加条件。", + "xpack.securitySolution.eventFilters.criteriaSectionTitle": "条件", + "xpack.securitySolution.eventFilters.deletionDialog.calloutMessage": "删除此条目会将其从 {count} 个关联{count, plural, other {策略}}中移除。", + "xpack.securitySolution.eventFilters.deletionDialog.calloutTitle": "警告", "xpack.securitySolution.eventFilters.deletionDialog.cancelButton": "取消", - "xpack.securitySolution.eventFilters.deletionDialog.confirmButton": "移除事件筛选", - "xpack.securitySolution.eventFilters.deletionDialog.deleteFailure": "无法从“事件筛选”列表中移除“{name}”。原因:{message}", - "xpack.securitySolution.eventFilters.deletionDialog.deleteSuccess": "“{name}”已从“事件筛选”列表中移除。", + "xpack.securitySolution.eventFilters.deletionDialog.confirmButton": "删除", + "xpack.securitySolution.eventFilters.deletionDialog.deleteFailure": "无法从事件筛选列表中移除“{name}”。原因:{message}", + "xpack.securitySolution.eventFilters.deletionDialog.deleteSuccess": "“{name}”已从事件筛选列表中移除。", "xpack.securitySolution.eventFilters.deletionDialog.subMessage": "此操作无法撤消。是否确定要继续?", + "xpack.securitySolution.eventFilters.deletionDialog.title": "删除“{name}”", + "xpack.securitySolution.eventFilters.detailsSectionTitle": "详情", + "xpack.securitySolution.eventFilters.docsLink": "事件筛选文档。", "xpack.securitySolution.eventFilters.eventFiltersFlyout.actions.cancel": "取消", "xpack.securitySolution.eventFilters.eventFiltersFlyout.actions.confirm.create": "添加事件筛选", - "xpack.securitySolution.eventFilters.eventFiltersFlyout.actions.confirm.update": "更新事件筛选", + "xpack.securitySolution.eventFilters.eventFiltersFlyout.actions.confirm.update": "保存", + "xpack.securitySolution.eventFilters.eventFiltersFlyout.actions.confirm.update.withData": "添加终端事件筛选", "xpack.securitySolution.eventFilters.eventFiltersFlyout.subtitle.create": "添加事件筛选", + "xpack.securitySolution.eventFilters.eventFiltersFlyout.subtitle.create.withData": "Endpoint Security", "xpack.securitySolution.eventFilters.eventFiltersFlyout.subtitle.update": "更新事件筛选", + "xpack.securitySolution.eventFilters.eventFiltersFlyout.title.create.withData": "添加终端事件筛选", + "xpack.securitySolution.eventFilters.expiredLicenseMessage": "您的 Kibana 许可证已降级。现在会将未来的策略配置全局分配给所有策略。有关更多信息,请参见 ", + "xpack.securitySolution.eventFilters.expiredLicenseTitle": "已过期许可证", "xpack.securitySolution.eventFilters.list.cardAction.delete": "删除事件筛选", "xpack.securitySolution.eventFilters.list.cardAction.edit": "编辑事件筛选", "xpack.securitySolution.eventFilters.list.pageAddButton": "添加事件筛选", @@ -23471,8 +24764,9 @@ "xpack.securitySolution.eventsViewer.alerts.defaultHeaders.thresholdTerms": "阈值词", "xpack.securitySolution.eventsViewer.alerts.defaultHeaders.triggeredTitle": "已触发", "xpack.securitySolution.eventsViewer.alerts.defaultHeaders.versionTitle": "版本", + "xpack.securitySolution.eventsViewer.alerts.overview.changeAlertStatus": "更改告警状态", + "xpack.securitySolution.eventsViewer.alerts.overview.clickToChangeAlertStatus": "单击以更改告警状态", "xpack.securitySolution.eventsViewer.alerts.overviewTable.signalStatusTitle": "状态", - "xpack.securitySolution.eventsViewer.alerts.overviewTable.targetImportHash": "导入哈希", "xpack.securitySolution.eventsViewer.errorFetchingEventsData": "无法查询事件数据", "xpack.securitySolution.eventsViewer.eventsLabel": "事件", "xpack.securitySolution.eventsViewer.showingLabel": "正在显示", @@ -23519,6 +24813,7 @@ "xpack.securitySolution.exceptions.endpointListLabel": "终端列表", "xpack.securitySolution.exceptions.errorLabel": "错误", "xpack.securitySolution.exceptions.exceptionsPaginationLabel": "每页项数:{items}", + "xpack.securitySolution.exceptions.failedLoadPolicies": "加载策略时出错:“{error}”", "xpack.securitySolution.exceptions.fetch404Error": "关联的例外列表 ({listId}) 已不存在。请移除缺少的例外列表,以将其他例外添加到检测规则。", "xpack.securitySolution.exceptions.fetchError": "提取例外列表时出错", "xpack.securitySolution.exceptions.fieldDescription": "字段", @@ -23638,6 +24933,8 @@ "xpack.securitySolution.host.details.overview.cloudProviderTitle": "云服务提供商", "xpack.securitySolution.host.details.overview.familyTitle": "系列", "xpack.securitySolution.host.details.overview.hostIdTitle": "主机 ID", + "xpack.securitySolution.host.details.overview.hostRiskClassification": "主机风险分类", + "xpack.securitySolution.host.details.overview.hostRiskScoreTitle": "主机风险分数", "xpack.securitySolution.host.details.overview.inspectTitle": "主机概览", "xpack.securitySolution.host.details.overview.instanceIdTitle": "实例 ID", "xpack.securitySolution.host.details.overview.ipAddressesTitle": "IP 地址", @@ -23649,15 +24946,17 @@ "xpack.securitySolution.host.details.overview.regionTitle": "地区", "xpack.securitySolution.host.details.versionLabel": "版本", "xpack.securitySolution.hostIsolation.agentStatuses.empty": "-", + "xpack.securitySolution.hostIsolationExceptions.deletionDialog.calloutMessage": "删除此条目会将其从 {count} 个关联{count, plural, other {策略}}中移除。", + "xpack.securitySolution.hostIsolationExceptions.deletionDialog.calloutTitle": "警告", "xpack.securitySolution.hostIsolationExceptions.deletionDialog.cancel": "取消", "xpack.securitySolution.hostIsolationExceptions.deletionDialog.confirmation": "此操作无法撤消。是否确定要继续?", - "xpack.securitySolution.hostIsolationExceptions.deletionDialog.confirmButton": "移除例外", + "xpack.securitySolution.hostIsolationExceptions.deletionDialog.confirmButton": "删除", "xpack.securitySolution.hostIsolationExceptions.deletionDialog.deleteFailure": "无法从主机隔离例外列表中移除“{name}”。原因:{message}", "xpack.securitySolution.hostIsolationExceptions.deletionDialog.deleteSuccess": "已从主机隔离例外列表中移除“{name}”。", "xpack.securitySolution.hostIsolationExceptions.deletionDialog.title": "删除主机隔离例外", "xpack.securitySolution.hostIsolationExceptions.flyout.cancel": "取消", "xpack.securitySolution.hostIsolationExceptions.flyout.createButton": "添加主机隔离例外", - "xpack.securitySolution.hostIsolationExceptions.flyout.editButton": "编辑主机隔离例外", + "xpack.securitySolution.hostIsolationExceptions.flyout.editButton": "保存", "xpack.securitySolution.hostIsolationExceptions.flyout.editTitle": "编辑主机隔离例外", "xpack.securitySolution.hostIsolationExceptions.flyout.title": "添加主机隔离例外", "xpack.securitySolution.hostIsolationExceptions.form.conditions.subtitle": "主机隔离例外将应用于所有操作系统。", @@ -23682,13 +24981,29 @@ "xpack.securitySolution.hostIsolationExceptions.list.addButton": "添加主机隔离例外", "xpack.securitySolution.hostIsolationExceptions.list.pageSubTitle": "添加主机隔离例外以允许隔离的主机与特定 IP 通信。", "xpack.securitySolution.hostIsolationExceptions.list.pageTitle": "主机隔离例外", - "xpack.securitySolution.hostIsolationExceptions.list.totalCount": "正在显示 {total, plural, other {# 个例外}}", + "xpack.securitySolution.hostIsolationExceptions.list.totalCount": "正显示 {total, plural, other {# 个主机隔离例外}}", "xpack.securitySolution.hostIsolationExceptions.listEmpty.addButton": "添加主机隔离例外", "xpack.securitySolution.hostIsolationExceptions.listEmpty.message": "添加主机隔离例外以允许隔离的主机与特定 IP 通信。", "xpack.securitySolution.hostIsolationExceptions.listEmpty.title": "添加第一个主机隔离例外", - "xpack.securitySolution.hostIsolationExceptions.search.placeholder": "搜索下面的字段:name、description、ip", + "xpack.securitySolution.hostIsolationExceptions.search.placeholder": "搜索下面的字段:name、description、IP", "xpack.securitySolution.hostOverview.errorSearchDescription": "搜索主机概览时发生错误", "xpack.securitySolution.hostOverview.failSearchDescription": "无法对主机概览执行搜索", + "xpack.securitySolution.hosts.hostRiskInformation.buttonLabel": "如何计算风险分数?", + "xpack.securitySolution.hosts.hostRiskInformation.classificationHeader": "分类", + "xpack.securitySolution.hosts.hostRiskInformation.closeBtn": "关闭", + "xpack.securitySolution.hosts.hostRiskInformation.criticalRiskDescription": "90 及以上", + "xpack.securitySolution.hosts.hostRiskInformation.explanation": "此功能利用转换,通过脚本指标聚合基于“开放”状态的检测规则告警来计算 5 天时间窗口内的主机风险分数。该转换每小时运行一次,以根据流入的新检测规则告警更新分数。", + "xpack.securitySolution.hosts.hostRiskInformation.informationAriaLabel": "信息", + "xpack.securitySolution.hosts.hostRiskInformation.introduction": "主机风险分数功能将显示您环境中存在风险的主机。", + "xpack.securitySolution.hosts.hostRiskInformation.learnMore": "您可以详细了解主机风险{hostsRiskScoreDocumentationLink}", + "xpack.securitySolution.hosts.hostRiskInformation.link": "此处", + "xpack.securitySolution.hosts.hostRiskInformation.riskHeader": "主机风险分数范围", + "xpack.securitySolution.hosts.hostRiskInformation.title": "如何计算主机风险?", + "xpack.securitySolution.hosts.hostRiskInformation.unknownRiskDescription": "小于 20", + "xpack.securitySolution.hosts.hostScoreOverTime.riskScore": "风险分数", + "xpack.securitySolution.hosts.hostScoreOverTime.riskyLabel": "有风险", + "xpack.securitySolution.hosts.hostScoreOverTime.riskyThresholdHeader": "有风险的阈值", + "xpack.securitySolution.hosts.hostScoreOverTime.title": "一段时间的主机风险分数", "xpack.securitySolution.hosts.kqlPlaceholder": "例如 host.name:“foo”", "xpack.securitySolution.hosts.navigation.alertsTitle": "外部告警", "xpack.securitySolution.hosts.navigation.allHostsTitle": "所有主机", @@ -23696,21 +25011,37 @@ "xpack.securitySolution.hosts.navigation.authenticationsTitle": "身份验证", "xpack.securitySolution.hosts.navigation.dns.histogram.errorFetchingDnsData": "无法查询 DNS 数据", "xpack.securitySolution.hosts.navigation.eventsTitle": "事件", + "xpack.securitySolution.hosts.navigation.hostRisk": "主机(按风险排列)", "xpack.securitySolution.hosts.navigation.uncommonProcessesTitle": "不常见进程", "xpack.securitySolution.hosts.navigaton.eventsUnit": "{totalCount, plural, other {个事件}}", + "xpack.securitySolution.hosts.navigaton.hostRisk.viewDashboardButtonLabel": "查看源仪表板", "xpack.securitySolution.hosts.navigaton.matrixHistogram.errorFetchingAuthenticationsData": "无法查询身份验证数据", "xpack.securitySolution.hosts.navigaton.matrixHistogram.errorFetchingEventsData": "无法查询事件数据", "xpack.securitySolution.hosts.pageTitle": "主机", + "xpack.securitySolution.hosts.topRiskScoreContributors.rankColumnTitle": "排名", + "xpack.securitySolution.hosts.topRiskScoreContributors.ruleNameColumnTitle": "规则名称", + "xpack.securitySolution.hosts.topRiskScoreContributors.title": "风险分数主要因素", "xpack.securitySolution.hostsKpiAuthentications.errorSearchDescription": "搜索主机 KPI 身份验证时发生错误", "xpack.securitySolution.hostsKpiAuthentications.failSearchDescription": "无法对主机 KPI 身份验证执行搜索", "xpack.securitySolution.hostsKpiHosts.errorSearchDescription": "搜索主机 KPI 主机时发生错误", "xpack.securitySolution.hostsKpiHosts.failSearchDescription": "无法对主机 KPI 主机执行搜索", "xpack.securitySolution.hostsKpiUniqueIps.errorSearchDescription": "搜索主机 KPI 唯一 IP 时发生错误", "xpack.securitySolution.hostsKpiUniqueIps.failSearchDescription": "无法对主机 KPI 唯一 IP 执行搜索", + "xpack.securitySolution.hostsRiskTable.filteredHostsTitle": "查看{severity}风险主机", + "xpack.securitySolution.hostsRiskTable.hostNameTitle": "主机名", + "xpack.securitySolution.hostsRiskTable.hostRiskScoreTitle": "主机风险分数", + "xpack.securitySolution.hostsRiskTable.hostRiskToolTip": "主机风险分类由主机风险分数决定。分类为紧急或高的主机即表示存在风险。", + "xpack.securitySolution.hostsRiskTable.hostsTableTitle": "主机风险表不受 KQL 时间范围影响。本表显示每台主机最新记录的风险分数。", + "xpack.securitySolution.hostsRiskTable.hostsTitle": "主机(按风险排列)", + "xpack.securitySolution.hostsRiskTable.riskTitle": "主机风险分类", + "xpack.securitySolution.hostsRiskTable.tableTitle": "主机风险", "xpack.securitySolution.hostsTable.firstLastSeenToolTip": "相对于选定日期范围", + "xpack.securitySolution.hostsTable.hostRiskTitle": "主机风险分类", + "xpack.securitySolution.hostsTable.hostRiskToolTip": "主机风险分类由主机风险分数决定。分类为紧急或高的主机即表示存在风险。", "xpack.securitySolution.hostsTable.hostsTitle": "所有主机", "xpack.securitySolution.hostsTable.lastSeenTitle": "最后看到时间", "xpack.securitySolution.hostsTable.nameTitle": "主机名", + "xpack.securitySolution.hostsTable.osLastSeenToolTip": "上次观察的操作系统", "xpack.securitySolution.hostsTable.osTitle": "操作系统", "xpack.securitySolution.hostsTable.rows": "{numRows} {numRows, plural, other {行}}", "xpack.securitySolution.hostsTable.unit": "{totalCount, plural, other {个主机}}", @@ -23769,7 +25100,15 @@ "xpack.securitySolution.inspectDescription": "检查", "xpack.securitySolution.investigationEnrichment.requestError": "请求威胁情报时发生错误", "xpack.securitySolution.ja3.fingerprint.ja3.fingerprintLabel": "ja3", + "xpack.securitySolution.kpiHost.enableHostRiskText": "启用主机风险模块以查看更多数据", + "xpack.securitySolution.kpiHost.hostRiskData": "主机风险数据", + "xpack.securitySolution.kpiHost.learnMore": "详细了解", "xpack.securitySolution.kpiHosts.hosts.title": "主机", + "xpack.securitySolution.kpiHosts.riskyHosts.description": "{formattedQuantity} 台有风险的{quantity, plural, other {主机}}", + "xpack.securitySolution.kpiHosts.riskyHosts.errorMessage": "提取有风险主机 API 时出错", + "xpack.securitySolution.kpiHosts.riskyHosts.hostsCount": "{quantity} 台{quantity, plural, other {主机}}", + "xpack.securitySolution.kpiHosts.riskyHosts.inspectTitle": "KPI 有风险的主机", + "xpack.securitySolution.kpiHosts.riskyHosts.title": "有风险主机", "xpack.securitySolution.kpiHosts.uniqueIps.destinationChartLabel": "目标", "xpack.securitySolution.kpiHosts.uniqueIps.destinationUnitLabel": "目标", "xpack.securitySolution.kpiHosts.uniqueIps.sourceChartLabel": "源", @@ -23859,10 +25198,11 @@ "xpack.securitySolution.modalAllErrors.seeAllErrors.button": "请参阅完整的错误信息", "xpack.securitySolution.modalAllErrors.title": "您的可视化有错误", "xpack.securitySolution.navigation.administration": "管理", + "xpack.securitySolution.navigation.administration.policies": "策略", "xpack.securitySolution.navigation.alerts": "告警", "xpack.securitySolution.navigation.case": "案例", "xpack.securitySolution.navigation.detect": "检测", - "xpack.securitySolution.navigation.exceptions": "例外", + "xpack.securitySolution.navigation.exceptions": "例外列表", "xpack.securitySolution.navigation.explore": "浏览", "xpack.securitySolution.navigation.hosts": "主机", "xpack.securitySolution.navigation.investigate": "调查", @@ -23978,7 +25318,7 @@ "xpack.securitySolution.networkTopNFlowTable.unit": "{totalCount, plural, other {个 IP}}", "xpack.securitySolution.networkUsers.errorSearchDescription": "搜索网络用户时发生错误", "xpack.securitySolution.networkUsers.failSearchDescription": "无法对网络用户执行搜索", - "xpack.securitySolution.newsFeed.advancedSettingsLinkTitle": "SIEM 高级设置", + "xpack.securitySolution.newsFeed.advancedSettingsLinkTitle": "安全解决方案高级设置", "xpack.securitySolution.newsFeed.noNewsMessage": "您当前的新闻源 URL 未返回最近的新闻。", "xpack.securitySolution.newsFeed.noNewsMessageForAdmin": "您当前的新闻源 URL 未返回最近的新闻。要更新 URL 或禁用安全新闻,您可以通过", "xpack.securitySolution.noPermissionsMessage": "要查看 {subPluginKey},必须更新权限。有关详细信息,请联系您的 Kibana 管理员。", @@ -24185,6 +25525,7 @@ "xpack.securitySolution.resolver.graphControls.zoomOut": "缩小", "xpack.securitySolution.resolver.node_button_name": "{nodeState, select, error {重新加载 {nodeName}} other {{nodeName}}}", "xpack.securitySolution.resolver.node_icon": "{state, select, running {正在运行进程} terminated {已终止进程} loading {正在加载进程} error {进程错误}}", + "xpack.securitySolution.resolver.noProcessEvents.dataView": "如果您选择不同的数据视图,\n 请确保数据视图包含在源事件中存储在“{field}”的所有索引。", "xpack.securitySolution.resolver.noProcessEvents.eventCategory": "还可以将以下内容添加到时间线查询,以检查进程事件。\n 如果未列出任何内容,将无法从该查询中找到的事件创建图表。", "xpack.securitySolution.resolver.noProcessEvents.timeRange": "\n “分析事件”工具基于进程事件创建图表。\n 如果分析的事件在当前时间范围内没有关联的进程,\n 或在任何时间范围内存储在 Elasticsearch 中,则不会创建图表。\n 可以通过展开时间范围来检查是否有关联进程。\n ", "xpack.securitySolution.resolver.noProcessEvents.title": "找不到任何进程事件", @@ -24227,7 +25568,7 @@ "xpack.securitySolution.search.administration.trustedApps": "受信任的应用程序", "xpack.securitySolution.search.alerts": "告警", "xpack.securitySolution.search.detect": "检测", - "xpack.securitySolution.search.exceptions": "例外", + "xpack.securitySolution.search.exceptions": "例外列表", "xpack.securitySolution.search.explore": "浏览", "xpack.securitySolution.search.hosts": "主机", "xpack.securitySolution.search.hosts.anomalies": "异常", @@ -24293,7 +25634,8 @@ "xpack.securitySolution.system.withExitCodeDescription": "退出代码为", "xpack.securitySolution.system.withResultDescription": ",结果为", "xpack.securitySolution.tables.rowItemHelper.moreDescription": "未显示", - "xpack.securitySolution.threatMatch.andDescription": "AND", + "xpack.securitySolution.tables.rowItemHelper.overflowButtonDescription": "另外 {count} 个", + "xpack.securitySolution.threatMatch.andDescription": "且", "xpack.securitySolution.threatMatch.fieldDescription": "字段", "xpack.securitySolution.threatMatch.fieldPlaceholderDescription": "搜索", "xpack.securitySolution.threatMatch.matchesLabel": "匹配", @@ -24383,6 +25725,7 @@ "xpack.securitySolution.timeline.failSearchDescription": "无法运行搜索", "xpack.securitySolution.timeline.fieldTooltip": "字段", "xpack.securitySolution.timeline.file.fromOriginalPathDescription": "从其原始路径", + "xpack.securitySolution.timeline.flyout.header.closeTimelineButtonLabel": "关闭{isTimeline, select, true {时间线} false {模板}}", "xpack.securitySolution.timeline.flyout.pane.removeColumnButtonLabel": "移除列", "xpack.securitySolution.timeline.flyout.pane.timelinePropertiesAriaLabel": "时间线属性", "xpack.securitySolution.timeline.flyoutTimelineTemplateLabel": "时间线模板", @@ -24399,6 +25742,7 @@ "xpack.securitySolution.timeline.nameTimeline.modal.header": "命名时间线", "xpack.securitySolution.timeline.nameTimeline.save.title": "保存", "xpack.securitySolution.timeline.nameTimelineTemplate.modal.header": "命名时间线模板", + "xpack.securitySolution.timeline.participantsTitle": "参与者", "xpack.securitySolution.timeline.properties.addTimelineButtonLabel": "添加新时间线或模板", "xpack.securitySolution.timeline.properties.addToFavoriteButtonLabel": "添加到收藏夹", "xpack.securitySolution.timeline.properties.attachTimelineToCaseTooltip": "请为您的时间线提供标题,以便将其附加到案例", @@ -24514,6 +25858,8 @@ "xpack.securitySolution.trustedapps.card.operator.matches": "匹配", "xpack.securitySolution.trustedApps.conditionsSectionDescription": "选择操作系统,然后添加条件。条件的可用性可能取决于您选定的 OS。", "xpack.securitySolution.trustedApps.conditionsSectionTitle": "条件", + "xpack.securitySolution.trustedapps.create.conditionFieldDegradedPerformanceMsg": "[{row}] 文件名中存在通配符将影响终端性能", + "xpack.securitySolution.trustedapps.create.conditionFieldDuplicatedMsg": "不能多次添加 {field}", "xpack.securitySolution.trustedapps.create.conditionFieldInvalidHashMsg": "[{row}] 无效的哈希值", "xpack.securitySolution.trustedapps.create.conditionFieldInvalidPathMsg": "[{row}] 路径的格式可能不正确;请验证值", "xpack.securitySolution.trustedapps.create.conditionFieldValueRequiredMsg": "[{row}] 字段条目必须包含值", @@ -25018,7 +26364,7 @@ "xpack.snapshotRestore.repositoryForm.commonFields.maxSnapshotBytesTitle": "每秒最大快照字节数", "xpack.snapshotRestore.repositoryForm.errorUnknownRepositoryTypesMessage": "存储库类型“{type}”不受支持。", "xpack.snapshotRestore.repositoryForm.errorUnknownRepositoryTypesTitle": "未知的存储库类型", - "xpack.snapshotRestore.repositoryForm.fields.defaultTypeDescription": "Elasticsearch 支持文件系统和只读 URL 存储库。其他类型需要插件。{docLink}", + "xpack.snapshotRestore.repositoryForm.fields.defaultTypeDescription": "您快照的存储位置。{docLink}", "xpack.snapshotRestore.repositoryForm.fields.nameDescription": "存储库的唯一名称。", "xpack.snapshotRestore.repositoryForm.fields.nameDescriptionTitle": "存储库名称", "xpack.snapshotRestore.repositoryForm.fields.nameLabel": "名称", @@ -25029,7 +26375,7 @@ "xpack.snapshotRestore.repositoryForm.fields.sourceOnlyLabel": "仅限于源的快照", "xpack.snapshotRestore.repositoryForm.fields.typeDescriptionTitle": "存储库类型", "xpack.snapshotRestore.repositoryForm.fields.typeDocsLinkText": "了解详情", - "xpack.snapshotRestore.repositoryForm.fields.typePluginsDocLinkText": "详细了解插件。", + "xpack.snapshotRestore.repositoryForm.fields.typePluginsDocLinkText": "详细了解存储库类型。", "xpack.snapshotRestore.repositoryForm.loadingRepositoryTypesDescription": "正在加载存储库类型……", "xpack.snapshotRestore.repositoryForm.loadingRepositoryTypesErrorMessage": "加载存储库类型时出错", "xpack.snapshotRestore.repositoryForm.nextButtonLabel": "下一个", @@ -25621,6 +26967,7 @@ "xpack.stackAlerts.esQuery.missingEsQueryErrorMessage": "[esQuery]:必须包含“query”", "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\\}\\}", + "xpack.stackAlerts.esQuery.ui.alertType.descriptionText": "匹配 Elasticsearch 查询时告警。", "xpack.stackAlerts.esQuery.ui.conditionPrompt": "当匹配数目", "xpack.stackAlerts.esQuery.ui.numQueryMatchesText": "查询在过去 {window} 匹配 {count} 个文档。", "xpack.stackAlerts.esQuery.ui.queryEditor": "Elasticsearch 查询编辑器", @@ -25778,6 +27125,7 @@ "xpack.timelines.footer.rowsPerPageLabel": "每页行数:{rowsPerPage}", "xpack.timelines.footer.totalCountOfEvents": "事件", "xpack.timelines.hoverActions.addToTimeline": "添加到时间线调查", + "xpack.timelines.hoverActions.addToTimeline.addedFieldMessage": "已将 {fieldOrValue} 添加到{isTimeline, select, true {时间线} false {模板}}", "xpack.timelines.hoverActions.columnToggleLabel": "在表中切换 {field} 列", "xpack.timelines.hoverActions.fieldLabel": "字段", "xpack.timelines.hoverActions.filterIn": "筛选", @@ -25878,6 +27226,7 @@ "xpack.transform.agg.popoverForm.filerQueryAdvancedSuggestionTooltip": "要添加其他筛选查询聚合,请编辑 JSON 配置。", "xpack.transform.agg.popoverForm.nameLabel": "聚合名称", "xpack.transform.agg.popoverForm.percentsLabel": "百分数", + "xpack.transform.agg.popoverForm.sizeLabel": "大小", "xpack.transform.agg.popoverForm.sortDirectionTopMetricsLabel": "排序方向", "xpack.transform.agg.popoverForm.sortFieldTopMetricsLabel": "排序字段", "xpack.transform.agg.popoverForm.submitButtonLabel": "应用", @@ -25908,6 +27257,7 @@ "xpack.transform.capability.noPermission.createTransformTooltip": "您无权创建数据帧转换。", "xpack.transform.capability.noPermission.deleteTransformTooltip": "您无权删除数据帧转换。", "xpack.transform.capability.noPermission.noTransformNodesTooltip": "没有可用的转换节点。", + "xpack.transform.capability.noPermission.resetTransformTooltip": "您无权重置转换。", "xpack.transform.capability.noPermission.startOrStopTransformTooltip": "您无权启动或停止转换。", "xpack.transform.capability.pleaseContactAdministratorTooltip": "{message}请联系您的管理员。", "xpack.transform.clone.errorPromptText": "检查源数据视图是否存在时发生错误", @@ -25916,6 +27266,7 @@ "xpack.transform.clone.noDataViewErrorPromptText": "无法克隆转换 {transformId}。对于 {dataViewTitle},不存在数据视图。", "xpack.transform.cloneTransform.breadcrumbTitle": "克隆转换", "xpack.transform.createTransform.breadcrumbTitle": "创建转换", + "xpack.transform.danglingTasksError": "{count} 个{count, plural, other {转换}}缺少配置详情:[{transformIds}] 无法将{count, plural, other {其}} 恢复,应予以删除。", "xpack.transform.deleteTransform.deleteAnalyticsWithDataViewErrorMessage": "删除数据视图 {destinationIndex} 时发生错误", "xpack.transform.deleteTransform.deleteAnalyticsWithDataViewSuccessMessage": "删除数据视图 {destinationIndex} 的请求已确认。", "xpack.transform.deleteTransform.deleteAnalyticsWithIndexErrorMessage": "删除目标索引 {destinationIndex} 时发生错误", @@ -25924,6 +27275,7 @@ "xpack.transform.description": "描述", "xpack.transform.edit.errorPromptText": "检查源数据视图是否存在时发生错误", "xpack.transform.edit.noDataViewErrorPromptText": "无法获取转换 {transformId} 的数据视图。对于 {dataViewTitle},不存在数据视图。", + "xpack.transform.forceDeleteTransformMessage": "删除 {count} 个{count, plural, other {转换}}", "xpack.transform.groupby.popoverForm.aggLabel": "聚合", "xpack.transform.groupBy.popoverForm.aggNameAlreadyUsedError": "其他分组依据配置已使用该名称。", "xpack.transform.groupBy.popoverForm.aggNameInvalidCharError": "名称无效。不允许使用字符“[”、“]”和“>”,且名称不得以空格字符开头或结束。", @@ -25931,6 +27283,7 @@ "xpack.transform.groupBy.popoverForm.intervalError": "时间间隔无效。", "xpack.transform.groupBy.popoverForm.intervalLabel": "时间间隔", "xpack.transform.groupBy.popoverForm.intervalPercents": "输入百分位数的逗号分隔列表", + "xpack.transform.groupBy.popoverForm.invalidSizeErrorMessage": "输入有效的正数", "xpack.transform.groupBy.popoverForm.missingBucketCheckboxHelpText": "选择包括没有值的文档。", "xpack.transform.groupby.popoverForm.missingBucketCheckboxLabel": "包括缺失的存储桶", "xpack.transform.groupBy.popoverForm.nameLabel": "分组依据名称", @@ -25941,11 +27294,13 @@ "xpack.transform.home.breadcrumbTitle": "转换", "xpack.transform.indexPreview.copyClipboardTooltip": "将索引预览的开发控制台语句复制到剪贴板。", "xpack.transform.indexPreview.copyRuntimeFieldsClipboardTooltip": "将运行时字段的开发控制台语句复制到剪贴板。", + "xpack.transform.invalidRuntimeFieldMessage": "运行时字段无效", "xpack.transform.latestPreview.latestPreviewIncompleteConfigCalloutBody": "请选择至少一个唯一键和排序字段。", "xpack.transform.licenseCheckErrorMessage": "许可证检查失败", "xpack.transform.list.emptyPromptButtonText": "创建您的首个转换", "xpack.transform.list.emptyPromptTitle": "找不到转换", "xpack.transform.list.errorPromptTitle": "获取转换列表时发生错误", + "xpack.transform.managedTransformsWarningCallout": "{count, plural, one {此转换} other {至少一个此类转换}}由 Elastic 预配置;{action}{count, plural, one {此转换} other {这些转换}}可能会影响该产品的其他部分。", "xpack.transform.mode": "模式", "xpack.transform.modeFilter": "模式", "xpack.transform.models.transformService.allOtherRequestsCancelledDescription": "所有其他请求已取消。", @@ -26077,10 +27432,16 @@ "xpack.transform.stepDetailsForm.destinationIndexInvalidErrorLink": "详细了解索引名称限制。", "xpack.transform.stepDetailsForm.destinationIndexLabel": "目标索引", "xpack.transform.stepDetailsForm.destinationIndexWarning": "开始转换之前,请使用索引模板或 {docsLink} 确保您的目标索引的映射匹配源索引。否则,将会使用动态映射创建目标索引。如果转换失败,请在“堆栈管理”页面的“消息”选项卡上查看错误。", + "xpack.transform.stepDetailsForm.destinationIngestPipelineAriaLabel": "选择采集管道(可选)", + "xpack.transform.stepDetailsForm.destinationIngestPipelineComboBoxPlaceholder": "选择采集管道(可选)", + "xpack.transform.stepDetailsForm.destinationIngestPipelineLabel": "目标采集管道", + "xpack.transform.stepDetailsForm.editFlyoutFormDestinationIngestPipelineFieldSelectAriaLabel": "选择采集管道", + "xpack.transform.stepDetailsForm.editFlyoutFormDestinationIngestPipelineFieldSelectPlaceholder": "选择采集管道", "xpack.transform.stepDetailsForm.editFlyoutFormFrequencyPlaceholderText": "默认值:{defaultValue}", "xpack.transform.stepDetailsForm.editFlyoutFormMaxPageSearchSizePlaceholderText": "默认值:{defaultValue}", "xpack.transform.stepDetailsForm.errorGettingDataViewTitles": "获取现有数据视图标题时发生错误:", "xpack.transform.stepDetailsForm.errorGettingIndexNames": "获取现有索引名称时发生错误:", + "xpack.transform.stepDetailsForm.errorGettingIngestPipelines": "获取现有采集管道名称时发生错误:", "xpack.transform.stepDetailsForm.errorGettingTransformList": "获取现有转换 ID 时发生错误:", "xpack.transform.stepDetailsForm.errorGettingTransformPreview": "提取转换预览时发生错误", "xpack.transform.stepDetailsForm.frequencyAriaLabel": "选择频率。", @@ -26113,6 +27474,7 @@ "xpack.transform.stepDetailsSummary.createDataViewMessage": "将为此转换创建 Kibana 数据视图。", "xpack.transform.stepDetailsSummary.dataViewTimeFieldLabel": "Kibana 数据视图时间字段", "xpack.transform.stepDetailsSummary.destinationIndexLabel": "目标索引", + "xpack.transform.stepDetailsSummary.destinationIngestPipelineLabel": "目标采集管道", "xpack.transform.stepDetailsSummary.frequencyLabel": "频率", "xpack.transform.stepDetailsSummary.maxPageSearchSizeLabel": "最大页面搜索大小", "xpack.transform.stepDetailsSummary.retentionPolicyDateFieldLabel": "保留策略日期字段", @@ -26130,7 +27492,10 @@ "xpack.transform.transformList.bulkDeleteDestIndexSuccessMessage": "已成功删除 {count} 个目标{count, plural, other {索引}}。", "xpack.transform.transformList.bulkDeleteModalTitle": "删除 {count} 个 {count, plural, other {转换}}?", "xpack.transform.transformList.bulkDeleteTransformSuccessMessage": "已成功删除 {count} 个{count, plural, other {转换}}。", + "xpack.transform.transformList.bulkResetModalTitle": "重置 {count} 个{count, plural, other {转换}}?", + "xpack.transform.transformList.bulkResetTransformSuccessMessage": "已成功重置 {count} 个{count, plural, other {转换}}。", "xpack.transform.transformList.bulkStartModalTitle": "启动 {count} 个 {count, plural, other {转换}}?", + "xpack.transform.transformList.bulkStopModalTitle": "停止 {count} 个{count, plural, other {转换}}?", "xpack.transform.transformList.cloneActionNameText": "克隆", "xpack.transform.transformList.completeBatchTransformBulkActionToolTip": "一个或多个转换为已完成批量转换,无法重新启动。", "xpack.transform.transformList.completeBatchTransformToolTip": "{transformId} 为已完成的批处理作业,无法重新启动。", @@ -26139,6 +27504,7 @@ "xpack.transform.transformList.deleteActionDisabledToolTipContent": "停止数据帧作业,以便将其删除。", "xpack.transform.transformList.deleteActionNameText": "删除", "xpack.transform.transformList.deleteBulkActionDisabledToolTipContent": "一个或多个选定数据帧转换必须停止,才能删除。", + "xpack.transform.transformList.deleteManagedTransformDescription": "正在删除", "xpack.transform.transformList.deleteModalCancelButton": "取消", "xpack.transform.transformList.deleteModalDeleteButton": "删除", "xpack.transform.transformList.deleteModalTitle": "删除 {transformId}?", @@ -26157,7 +27523,7 @@ "xpack.transform.transformList.editFlyoutFormDescriptionLabel": "描述", "xpack.transform.transformList.editFlyoutFormDestinationButtonContent": "目标配置", "xpack.transform.transformList.editFlyoutFormDestinationIndexLabel": "目标索引", - "xpack.transform.transformList.editFlyoutFormDestinationIngestPipelineLabel": "管道", + "xpack.transform.transformList.editFlyoutFormDestinationIngestPipelineLabel": "采集管道", "xpack.transform.transformList.editFlyoutFormDocsPerSecondHelptext": "要启用节流,请设置每秒要输入的文档限值。", "xpack.transform.transformList.editFlyoutFormDocsPerSecondLabel": "每秒文档数", "xpack.transform.transformList.editFlyoutFormFrequencyHelpText": "在转换不间断地执行时检查源索引更改的时间间隔。还确定在转换搜索或索引时发生暂时失败时的重试时间间隔。最小值为 1 秒,最大值为 1 小时。", @@ -26175,14 +27541,27 @@ "xpack.transform.transformList.editFlyoutFormRetentionPolicyFieldLabel": "字段", "xpack.transform.transformList.editFlyoutFormRetentionPolicyFieldSelectAriaLabel": "设置保留策略的日期字段", "xpack.transform.transformList.editFlyoutFormRetentionPolicyMaxAgeNotValidErrorMessage": "最大存在时间格式无效。至少需要 60s。", + "xpack.transform.transformList.editFlyoutFormRetentionPolicySwitchLabel": "保留策略", "xpack.transform.transformList.editFlyoutFormStringNotValidErrorMessage": "值需要为字符串类型。", "xpack.transform.transformList.editFlyoutTitle": "编辑 {transformId}", "xpack.transform.transformList.editFlyoutUpdateButtonText": "更新", + "xpack.transform.transformList.editManagedTransformsDescription": "正在编辑", "xpack.transform.transformList.editTransformGenericErrorMessage": "调用用于更新转换的 API 终端时发生错误。", "xpack.transform.transformList.editTransformSuccessMessage": "转换 {transformId} 已更新。", "xpack.transform.transformList.errorWithCheckingIfUserCanDeleteIndexNotificationErrorMessage": "检查用户是否可以删除目标索引时发生错误", "xpack.transform.transformList.managedBadgeLabel": "托管", + "xpack.transform.transformList.managedBadgeTooltip": "此转换由 Elastic 预配置和管理;该产品的其他部分可能依赖于其行为。", "xpack.transform.transformList.refreshButtonLabel": "重新加载", + "xpack.transform.transformList.resetActionDisabledToolTipContent": "停止转换以将其重置。", + "xpack.transform.transformList.resetActionNameText": "重置", + "xpack.transform.transformList.resetBulkActionDisabledToolTipContent": "一个或多个选定转换必须停止,才能重置。", + "xpack.transform.transformList.resetManagedTransformDescription": "正在重置", + "xpack.transform.transformList.resetModalCancelButton": "取消", + "xpack.transform.transformList.resetModalResetButton": "重置", + "xpack.transform.transformList.resetModalTitle": "重置 {transformId}?", + "xpack.transform.transformList.resetTransformErrorMessage": "重置转换 {transformId} 时出错", + "xpack.transform.transformList.resetTransformGenericErrorMessage": "调用用于重置转换的 API 终端时出错。", + "xpack.transform.transformList.resetTransformSuccessMessage": "重置转换 {transformId} 的请求已确认。", "xpack.transform.transformList.rowCollapse": "隐藏 {transformId} 的详情", "xpack.transform.transformList.rowExpand": "显示 {transformId} 的详情", "xpack.transform.transformList.showDetailsColumn.screenReaderDescription": "此列包含可单击控件,用于显示每个转换的更多详情", @@ -26192,10 +27571,13 @@ "xpack.transform.transformList.startModalBody": "转换将增加集群的搜索和索引负载。如果超负荷,请停止转换。", "xpack.transform.transformList.startModalCancelButton": "取消", "xpack.transform.transformList.startModalStartButton": "启动", + "xpack.transform.transformList.startModalStopButton": "停止点", "xpack.transform.transformList.startModalTitle": "启动 {transformId}?", "xpack.transform.transformList.startTransformErrorMessage": "启动数据帧转换 {transformId} 时发生错误", "xpack.transform.transformList.startTransformSuccessMessage": "数据帧作业 {transformId} 启动成功。", - "xpack.transform.transformList.stopActionNameText": "停止", + "xpack.transform.transformList.stopActionNameText": "停止点", + "xpack.transform.transformList.stopManagedTransformsDescription": "正在停止", + "xpack.transform.transformList.stopModalTitle": "停止 {transformId}?", "xpack.transform.transformList.stoppedTransformBulkToolTip": "一个或多个选定数据帧转换已停止。", "xpack.transform.transformList.stoppedTransformToolTip": "{transformId} 已停止。", "xpack.transform.transformList.stopTransformErrorMessage": "停止数据帧转换 {transformId} 时发生错误", @@ -26595,6 +27977,8 @@ "xpack.triggersActionsUI.components.healthCheck.encryptionErrorAction": "了解详情。", "xpack.triggersActionsUI.components.healthCheck.encryptionErrorBeforeKey": "必须配置加密密钥才能使用 Alerting。", "xpack.triggersActionsUI.components.healthCheck.encryptionErrorTitle": "需要其他设置", + "xpack.triggersActionsUI.components.jsonEditorWithMessageVariable.noEditorErrorMessage": "找不到编辑器,请刷新页面并重试", + "xpack.triggersActionsUI.components.jsonEditorWithMessageVariable.noEditorErrorTitle": "无法添加消息变量", "xpack.triggersActionsUI.connectors.breadcrumbTitle": "连接器", "xpack.triggersActionsUI.data.coreQueryParams.aggTypeRequiredErrorMessage": "[aggField]:当 [aggType] 为“{aggType}”时必须有值", "xpack.triggersActionsUI.data.coreQueryParams.dateStartGTdateEndErrorMessage": "[dateStart]:晚于 [dateEnd]", @@ -26642,8 +28026,10 @@ "xpack.triggersActionsUI.sections.actionConnectorForm.loadingConnectorSettingsDescription": "正在加载连接器设置……", "xpack.triggersActionsUI.sections.actionForm.actionSectionsTitle": "操作", "xpack.triggersActionsUI.sections.actionForm.addActionButtonLabel": "添加操作", + "xpack.triggersActionsUI.sections.actionForm.deprecatedTooltipTitle": "过时连接器", "xpack.triggersActionsUI.sections.actionForm.getMoreConnectorsTitle": "获取更多连接器", "xpack.triggersActionsUI.sections.actionForm.getMoreRuleTypesTitle": "获取更多规则类型", + "xpack.triggersActionsUI.sections.actionForm.incidentManagementSystemLabel": "事件管理系统", "xpack.triggersActionsUI.sections.actionForm.loadingConnectorsDescription": "正在加载连接器……", "xpack.triggersActionsUI.sections.actionForm.loadingConnectorTypesDescription": "正在加载连接器类型……", "xpack.triggersActionsUI.sections.actionForm.preconfiguredTitleMessage": "(预配置)", @@ -26709,6 +28095,16 @@ "xpack.triggersActionsUI.sections.alertDetails.alertDetailsTitle": "{alertName}", "xpack.triggersActionsUI.sections.alertDetails.alertInstances.disabledRule": "此规则已禁用,无法显示。", "xpack.triggersActionsUI.sections.alertDetails.alerts.disabledRuleTitle": "已禁用规则", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.avgDurationDescription": "平均持续时间", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.columns.alert": "告警", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.columns.duration": "持续时间", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.columns.mute": "静音", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.columns.start": "启动", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.columns.status": "状态", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.ruleLastExecutionDescription": "上次响应", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.ruleTypeExcessDurationMessage": "持续时间超出了规则的预期运行时间。", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.status.active": "活动", + "xpack.triggersActionsUI.sections.alertDetails.alertsList.status.inactive": "已恢复", "xpack.triggersActionsUI.sections.alertDetails.collapsedItemActons.enableLoadingTitle": "启用", "xpack.triggersActionsUI.sections.alertDetails.collapsedItemActons.enableTitle": "启用", "xpack.triggersActionsUI.sections.alertDetails.collapsedItemActons.muteLoadingTitle": "静音", @@ -26739,7 +28135,7 @@ "xpack.triggersActionsUI.sections.alertForm.alertNotifyWhen.onThrottleInterval.label": "按定制操作时间间隔", "xpack.triggersActionsUI.sections.alertForm.changeAlertTypeAriaLabel": "删除", "xpack.triggersActionsUI.sections.alertForm.checkFieldLabel": "检查频率", - "xpack.triggersActionsUI.sections.alertForm.checkWithTooltip": "定义评估条件的频率。", + "xpack.triggersActionsUI.sections.alertForm.checkWithTooltip": "定义评估条件的频率。检查已排队;它们的运行接近于容量允许的定义值。", "xpack.triggersActionsUI.sections.alertForm.conditions.addConditionLabel": "添加:", "xpack.triggersActionsUI.sections.alertForm.conditions.removeConditionLabel": "移除", "xpack.triggersActionsUI.sections.alertForm.conditions.title": "条件:", @@ -26763,9 +28159,11 @@ "xpack.triggersActionsUI.sections.alertsList.actionTypeFilterLabel": "操作类型", "xpack.triggersActionsUI.sections.alertsList.addRuleButtonLabel": "创建规则", "xpack.triggersActionsUI.sections.alertsList.alertErrorReasonDecrypting": "解密规则时发生错误。", + "xpack.triggersActionsUI.sections.alertsList.alertErrorReasonDisabled": "无法执行规则,因为在规则禁用之后已运行。", "xpack.triggersActionsUI.sections.alertsList.alertErrorReasonLicense": "无法运行规则", "xpack.triggersActionsUI.sections.alertsList.alertErrorReasonReading": "读取规则时发生错误。", "xpack.triggersActionsUI.sections.alertsList.alertErrorReasonRunning": "运行规则时发生错误。", + "xpack.triggersActionsUI.sections.alertsList.alertErrorReasonTimeout": "由于超时,规则执行已取消。", "xpack.triggersActionsUI.sections.alertsList.alertErrorReasonUnknown": "由于未知原因发生错误。", "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.actionsTex": "操作", "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.actionsWarningTooltip": "无法加载与此规则关联的连接器之一。请编辑该规则以选择新连接器。", @@ -26779,8 +28177,11 @@ "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.lastExecutionDateTitle": "上次执行的开始时间。", "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.mutedBadge": "已静音", "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.nameTitle": "名称", + "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.ruleExecutionPercentileSelectButton": "选择百分位数", + "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.ruleExecutionPercentileTooltip": "此规则过去的 {sampleLimit} 执行持续时间的第 {percentileOrdinal} 个百分位", "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.scheduleTitle": "时间间隔", "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.statusTitle": "状态", + "xpack.triggersActionsUI.sections.alertsList.alertsListTable.columns.successRatioTitle": "成功执行此规则的频率", "xpack.triggersActionsUI.sections.alertsList.alertStatusActive": "活动", "xpack.triggersActionsUI.sections.alertsList.alertStatusError": "错误", "xpack.triggersActionsUI.sections.alertsList.alertStatusFilterLabel": "状态", @@ -26865,6 +28266,7 @@ "xpack.triggersActionsUI.sections.connectorAddInline.unableToLoadConnectorTitle": "无法加载连接器", "xpack.triggersActionsUI.sections.connectorAddInline.unableToLoadConnectorTitle'": "无法加载连接器", "xpack.triggersActionsUI.sections.connectorAddInline.unauthorizedToCreateForEmptyConnectors": "只有获得授权的用户才能配置连接器。请联系您的管理员。", + "xpack.triggersActionsUI.sections.deprecatedTitleMessage": "(已过时)", "xpack.triggersActionsUI.sections.editConnectorForm.actionTypeDescription": "{actionDescription}", "xpack.triggersActionsUI.sections.editConnectorForm.cancelButtonLabel": "取消", "xpack.triggersActionsUI.sections.editConnectorForm.descriptionText": "此连接器为只读。", @@ -26878,7 +28280,10 @@ "xpack.triggersActionsUI.sections.executionDurationChart.avgDurationLabel": "平均持续时间", "xpack.triggersActionsUI.sections.executionDurationChart.durationLabel": "持续时间", "xpack.triggersActionsUI.sections.executionDurationChart.executionDurationNoData": "此规则没有可用执行。", + "xpack.triggersActionsUI.sections.executionDurationChart.numberOfExecutionsOption": "{value} 次执行", "xpack.triggersActionsUI.sections.executionDurationChart.recentDurationsTitle": "最近执行持续时间", + "xpack.triggersActionsUI.sections.executionDurationChart.selectNumberOfExecutionDurationsLabel": "选择执行次数", + "xpack.triggersActionsUI.sections.isDeprecatedDescription": "此连接器已过时。请进行更新,或创建新连接器。", "xpack.triggersActionsUI.sections.manageLicense.manageLicenseCancelButtonText": "取消", "xpack.triggersActionsUI.sections.manageLicense.manageLicenseConfirmButtonText": "管理许可证", "xpack.triggersActionsUI.sections.manageLicense.manageLicenseMessage": "规则类型 {alertTypeId} 已禁用,因为它需要{licenseRequired}许可证。继续前往“许可证管理”查看升级选项。", @@ -26982,7 +28387,7 @@ "xpack.uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlPreviewHelpText": "请注意,在预览模式下,\\{\\{event.*\\}\\} 变量将替换为虚拟值。", "xpack.uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlPreviewLabel": "URL 预览:", "xpack.uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlPreviewLinkText": "预览", - "xpack.uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlTemplateLabel": "输入 URL:", + "xpack.uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlTemplateLabel": "输入 URL", "xpack.uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlTemplatePlaceholderText": "例如:{exampleUrl}", "xpack.uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlTemplateSyntaxHelpLinkText": "语法帮助", "xpack.uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlTemplateVariablesFilterPlaceholderText": "筛选变量", @@ -27006,12 +28411,22 @@ "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexButton.runReindexLabel": "启动重新索引", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexButton.tryAgainLabel": "重试", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexDescription": "重新索引期间,索引将处于只读状态。在重新索引完成之前,您无法添加、更新或删除文档。如果需要重新索引到新集群,请使用重新索引 API。{docsLink}", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.aliasCreatedStepTitle": "创建 {reindexName} 索引的 {indexName} 别名。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.aliasesUpdatedStepTitle": "更新 {existingAliases} 别名以指向 {reindexName} 索引。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelButton.cancelLabel": "取消", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelButton.cancelledLabel": "已取消", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelButton.cancellingLabel": "正在取消……", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelButton.errorLabel": "无法取消", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelledTitle": "重新索引已取消。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.createIndexStepTitle": "创建 {reindexName} 索引。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.aliasCreatedStepTitle": "正在创建 {reindexName} 索引的 {indexName} 别名。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.aliasesUpdatedStepTitle": "正在更新 {existingAliases} 别名以指向 {reindexName} 索引。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.createIndexStepTitle": "正在创建 {reindexName} 索引。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.originalIndexDeletedStepTitle": "正在删除原始 {indexName} 索引。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.readonlyStepTitle": "正在将 {indexName} 索引设置为只读。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.reindexingDocumentsStepTitle": "正在重新索引文档。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.originalIndexDeletedStepTitle": "删除原始 {indexName} 索引。", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.readonlyStepTitle": "将 {indexName} 索引设置为只读。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.reindexingDocumentsStepTitle": "索引文档。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklistTitle": "重新索引过程", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingFailedCalloutTitle": "重新索引错误", @@ -27026,6 +28441,8 @@ "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.destructiveCallout.calloutDetail": "继续前备份索引。要继续重新索引,请接受每个更改。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.destructiveCallout.calloutTitle": "此索引需要无法恢复的破坏性更改", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.documentationLinkLabel": "文档", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.replaceIndexWithAliasWarningDetail": "您可以像以前一样搜索 {indexName}。要删除数据,必须删除 {reindexName}", + "xpack.upgradeAssistant.checkupTab.reindexing.flyout.warningsStep.replaceIndexWithAliasWarningTitle": "将 {indexName} 索引替换为 {reindexName} 索引,然后创建 {indexName} 索引别名", "xpack.upgradeAssistant.deprecationBadge.criticalBadgeLabel": "紧急", "xpack.upgradeAssistant.deprecationBadge.resolvedBadgeLabel": "已解决", "xpack.upgradeAssistant.deprecationBadge.warningBadgeLabel": "警告", @@ -27086,7 +28503,7 @@ "xpack.upgradeAssistant.esDeprecations.mlSnapshots.upgradeModeEnabledErrorDescription": "启用升级模式时,无法对 Machine Learning 快照执行操作。 {docsLink}。", "xpack.upgradeAssistant.esDeprecations.mlSnapshots.upgradeModeEnabledErrorTitle": "Machine Learning 升级模式已启用", "xpack.upgradeAssistant.esDeprecations.nodeDeprecationTypeLabel": "节点", - "xpack.upgradeAssistant.esDeprecations.pageDescription": "请在升级之前解决所有紧急问题。做出更改之前,请确保具有集群的当前快照。在 7.0 之前创建的索引必须进行重新索引或移除。", + "xpack.upgradeAssistant.esDeprecations.pageDescription": "请在升级之前解决所有紧急问题。做出更改之前,请确保具有集群的当前快照。在 7.0 之前创建的索引必须重新索引或移除,这包括隐藏索引,如那些用于存储 Machine Learning 数据的索引。", "xpack.upgradeAssistant.esDeprecations.pageTitle": "Elasticsearch 弃用问题", "xpack.upgradeAssistant.esDeprecations.reindex.manualCellTooltipLabel": "此问题需要手动解决。", "xpack.upgradeAssistant.esDeprecations.reindex.reindexCanceledText": "已取消重新索引", @@ -27151,6 +28568,7 @@ "xpack.upgradeAssistant.kibanaDeprecations.table.unknownDeprecationTypeCellLabel": "未分类", "xpack.upgradeAssistant.levelInfoTip.criticalLabel": "在升级之前必须解决紧急问题", "xpack.upgradeAssistant.levelInfoTip.warningLabel": "您可以酌情忽略警告问题", + "xpack.upgradeAssistant.ml_snapshots.modelSnapshotUpgradeFailed": "此模型快照的升级过程失败。请检查 Elasticsearch 日志了解更多详情。", "xpack.upgradeAssistant.noDeprecationsMessage": "无问题", "xpack.upgradeAssistant.noDeprecationsPrompt.description": "您的 {deprecationType} 配置是最新的", "xpack.upgradeAssistant.noDeprecationsPrompt.nextStepsDescription": "查看{overviewButton}以了解其他 Stack 弃用。", @@ -27181,15 +28599,19 @@ "xpack.upgradeAssistant.overview.deprecationLogs.updateErrorMessage": "无法更新日志记录状态。", "xpack.upgradeAssistant.overview.deprecationsCountCheckpointTitle": "解决弃用问题并验证您的更改", "xpack.upgradeAssistant.overview.documentationLinkText": "文档", + "xpack.upgradeAssistant.overview.errorLoadingUpgradeStatus": "检索升级状态时出错", "xpack.upgradeAssistant.overview.esDeprecationLogsLink": "Elasticsearch 弃用日志", "xpack.upgradeAssistant.overview.fixIssuesStepDescription": "在升级到 Elastic 8.x 之前,必须解决任何严重的 Elasticsearch 和 Kibana 配置问题。在您升级后,忽略警告可能会导致行为差异。{accessDeprecationLogsMessage}", "xpack.upgradeAssistant.overview.fixIssuesStepTitle": "复查已弃用设置并解决问题", "xpack.upgradeAssistant.overview.loadingLogsLabel": "正在加载弃用日志收集状态……", + "xpack.upgradeAssistant.overview.loadingUpgradeStatus": "正在加载升级状态", "xpack.upgradeAssistant.overview.observe.discoveryDescription": "搜索并筛选弃用日志以了解需要进行的更改类型。", "xpack.upgradeAssistant.overview.observe.observabilityDescription": "深入了解正在使用哪些已弃用 API 以及需要更新哪些应用程序。", "xpack.upgradeAssistant.overview.pageDescription": "准备使用下一版 Elastic!", "xpack.upgradeAssistant.overview.pageTitle": "升级助手", "xpack.upgradeAssistant.overview.snapshotRestoreLink": "创建快照", + "xpack.upgradeAssistant.overview.systemIndices.body": "为升级准备存储内部信息的系统索引。将在下一步中显示任何需要重新索引的{hiddenIndicesLink}。", + "xpack.upgradeAssistant.overview.systemIndices.body.hiddenIndicesLink": "隐藏的索引", "xpack.upgradeAssistant.overview.systemIndices.errorLabel": "迁移失败", "xpack.upgradeAssistant.overview.systemIndices.featureNameTableColumn": "功能", "xpack.upgradeAssistant.overview.systemIndices.flyoutCloseButtonLabel": "关闭", @@ -27209,6 +28631,7 @@ "xpack.upgradeAssistant.overview.systemIndices.title": "迁移系统索引", "xpack.upgradeAssistant.overview.systemIndices.viewSystemIndicesStatus": "查看迁移详情", "xpack.upgradeAssistant.overview.upgradeGuideLink": "查看升级指南", + "xpack.upgradeAssistant.overview.upgradeStatus.retryButton": "重试", "xpack.upgradeAssistant.overview.upgradeStepCloudLink": "在 Cloud 上升级", "xpack.upgradeAssistant.overview.upgradeStepDescription": "解决所有紧急问题并确认您的应用程序就绪后,便可以升级到 Elastic 8.x。在升级之前,请确保再次备份您的数据。", "xpack.upgradeAssistant.overview.upgradeStepDescriptionForCloud": "解决所有紧急问题并确认您的应用程序就绪后,便可以升级到 Elastic 8.x。在升级之前,请确保再次备份您的数据。在 Elastic Cloud 上升级您的部署。", @@ -27224,6 +28647,7 @@ "xpack.upgradeAssistant.overview.whatsNewLink": "8.x 版新增功能", "xpack.upgradeAssistant.reindex.reindexPrivilegesErrorBatch": "您没有足够的权限重新索引“{indexName}”。", "xpack.upgradeAssistant.status.allDeprecationsResolvedMessage": "所有弃用警告均已解决。", + "xpack.upgradeAssistant.status.deprecationsUnresolvedMessage": "您具有 {notMigratedSystemIndices} 个必须迁移的系统{notMigratedSystemIndices, plural, other {索引}}以及 {esTotalCriticalDeps} 个 Elasticsearch 弃用{esTotalCriticalDeps, plural, other {问题}}和 {kibanaTotalCriticalDeps} 个 Kibana 弃用{kibanaTotalCriticalDeps, plural, other {问题}},必须解决它们才能进行升级。", "xpack.upgradeAssistant.upgradedDescription": "所有 Elasticsearch 节点已升级。可以现在升级 Kibana。", "xpack.upgradeAssistant.upgradedTitle": "您的集群已升级", "xpack.upgradeAssistant.upgradingDescription": "一个或多个 Elasticsearch 节点的 Elasticsearch 版本比 Kibana 版本新。所有节点升级后,请升级 Kibana。", @@ -27231,6 +28655,7 @@ "xpack.uptime.addDataButtonLabel": "添加数据", "xpack.uptime.addMonitor.pageHeader.title": "添加监测", "xpack.uptime.addMonitorRoute.title": "添加监测 | {baseTitle}", + "xpack.uptime.alertDropdown.noWritePermissions": "您需要 Uptime 的读写访问权限才能在此应用中创建告警。", "xpack.uptime.alerts.anomaly.criteriaExpression.ariaLabel": "显示选定监测的条件的表达式。", "xpack.uptime.alerts.anomaly.criteriaExpression.description": "当监测", "xpack.uptime.alerts.anomaly.scoreExpression.ariaLabel": "显示异常告警阈值的条件的表达式。", @@ -27251,8 +28676,11 @@ "xpack.uptime.alerts.durationAnomaly.description": "运行时间监测持续时间异常时告警。", "xpack.uptime.alerts.monitorExpression.label": "移除筛选 {title}", "xpack.uptime.alerts.monitorStatus": "运行时间监测状态", + "xpack.uptime.alerts.monitorStatus.actionVariables.availabilityMessage": "{interval} 可用性为 {availabilityRatio}%。小于 {expectedAvailability}% 时告警。", "xpack.uptime.alerts.monitorStatus.actionVariables.context.downMonitorsWithGeo.description": "生成的摘要,显示告警已检测为“关闭”的部分或所有监测", "xpack.uptime.alerts.monitorStatus.actionVariables.context.message.description": "生成的消息,汇总当前关闭的监测", + "xpack.uptime.alerts.monitorStatus.actionVariables.down": "在过去 {interval}中失败 {count} 次。大于 {numTimes} 时告警。", + "xpack.uptime.alerts.monitorStatus.actionVariables.downAndAvailabilityMessage": "{downMonitorsMessage} {availabilityBreachMessage}", "xpack.uptime.alerts.monitorStatus.actionVariables.state.currentTriggerStarted": "表示告警触发时当前触发状况开始的时间戳", "xpack.uptime.alerts.monitorStatus.actionVariables.state.firstCheckedAt": "表示此告警首次检查的时间戳", "xpack.uptime.alerts.monitorStatus.actionVariables.state.firstTriggeredAt": "表示告警首次触发的时间戳", @@ -27285,6 +28713,7 @@ "xpack.uptime.alerts.monitorStatus.availability.unit.headline": "选择时间范围单位", "xpack.uptime.alerts.monitorStatus.availability.unit.selectable": "使用此选择来设置此告警的可用性范围单位", "xpack.uptime.alerts.monitorStatus.clientName": "运行时间监测状态", + "xpack.uptime.alerts.monitorStatus.defaultActionMessage": "在 {observerLocation},URL 为 {monitorUrl} 的监测 {monitorName} 是 {statusMessage} 最新错误消息是 {latestErrorMessage}", "xpack.uptime.alerts.monitorStatus.description": "监测关闭或超出可用性阈值时告警。", "xpack.uptime.alerts.monitorStatus.filterBar.ariaLabel": "允许对监测状态告警使用筛选条件的输入", "xpack.uptime.alerts.monitorStatus.filters.anyLocation": "任意位置", @@ -27326,6 +28755,7 @@ "xpack.uptime.alerts.monitorStatus.timerangeValueField.expression": "之内", "xpack.uptime.alerts.monitorStatus.timerangeValueField.value": "上一 {value}", "xpack.uptime.alerts.searchPlaceholder.kql": "使用 kql 语法筛选", + "xpack.uptime.alerts.settings.addConnector": "添加连接器", "xpack.uptime.alerts.timerangeUnitSelectable.daysOption.ariaLabel": "“天”时间范围选择项", "xpack.uptime.alerts.timerangeUnitSelectable.hoursOption.ariaLabel": "“小时”时间范围选择项", "xpack.uptime.alerts.timerangeUnitSelectable.minutesOption.ariaLabel": "“分钟”时间范围选择项", @@ -27486,6 +28916,7 @@ "xpack.uptime.createPackagePolicy.stepConfigure.httpAdvancedOptions.responseConfiguration.title": "响应配置", "xpack.uptime.createPackagePolicy.stepConfigure.httpAdvancedOptions.responseHeadersField.error": "标头密钥必须是有效的 HTTP 令牌。", "xpack.uptime.createPackagePolicy.stepConfigure.httpAdvancedOptions.responseHeadersField.helpText": "预期响应标头的列表。", + "xpack.uptime.createPackagePolicy.stepConfigure.icmpAdvancedOptions": "高级 ICMP 选项", "xpack.uptime.createPackagePolicy.stepConfigure.inputVarFieldOptionalLabel": "可选", "xpack.uptime.createPackagePolicy.stepConfigure.monitorIntegrationSettingsSection.APMServiceName.helpText": "此监测的 APM 服务名称。对应于 service.name ECS 字段。监测也使用 APM 的应用时设置此选项以启用 Kibana 中的 Uptime 和 APM 数据之间的集成。", "xpack.uptime.createPackagePolicy.stepConfigure.monitorIntegrationSettingsSection.APMServiceName.label": "APM 服务名称", @@ -27586,6 +29017,7 @@ "xpack.uptime.emptyStateError.notAuthorized": "您无权查看 Uptime 数据,请联系系统管理员。", "xpack.uptime.emptyStateError.notFoundPage": "未找到页面", "xpack.uptime.emptyStateError.title": "错误", + "xpack.uptime.enableAlert.editAlert": "编辑告警", "xpack.uptime.featureRegistry.uptimeFeatureName": "运行时间", "xpack.uptime.filterBar.ariaLabel": "概览页面的输入筛选条件", "xpack.uptime.filterBar.filterAllLabel": "全部", @@ -27634,8 +29066,10 @@ "xpack.uptime.ml.enableAnomalyDetectionPanel.manageMLJobDescription": "创建作业后,可以在 {mlJobsPageLink} 中管理作业以及查看更多详细信息。", "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.monitor.simpleStatusAlert.email.subject": "URL 为 {url} 的监测 {monitor} 已关闭", "xpack.uptime.monitorCharts.durationChart.leftAxis.title": "持续时间 ({unit})", "xpack.uptime.monitorCharts.durationChart.wrapper.label": "显示监测的 ping 持续时间(按位置分组)的图表。", "xpack.uptime.monitorCharts.monitorDuration.titleLabel": "监测持续时间", @@ -27679,6 +29113,7 @@ "xpack.uptime.monitorList.infraIntegrationAction.kubernetes.tooltip": "在 Infrastructure UI 上查找 Pod UID“{podUid}”。", "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.container.tooltip": "在 Logging UI 上查找容器 ID“{containerId}”", @@ -27721,11 +29156,66 @@ "xpack.uptime.monitorList.tags.expand": "单击以查看剩余标签", "xpack.uptime.monitorList.tags.filter": "筛选带 {tag} 标签的所有监测", "xpack.uptime.monitorList.tlsColumnLabel": "TLS 证书", + "xpack.uptime.monitorManagement.addMonitorCrumb": "添加监测", + "xpack.uptime.monitorManagement.addMonitorError": "无法加载服务位置。请稍后重试。", + "xpack.uptime.monitorManagement.addMonitorLabel": "添加监测", + "xpack.uptime.monitorManagement.addMonitorLoadingError": "加载监测管理时出错", + "xpack.uptime.monitorManagement.addMonitorLoadingLabel": "正在加载监测管理", + "xpack.uptime.monitorManagement.addMonitorServiceLocationsLoadingError": "无法加载服务位置。请稍后重试。", + "xpack.uptime.monitorManagement.completed": "已完成", + "xpack.uptime.monitorManagement.deleteMonitorLabel": "删除监测", + "xpack.uptime.monitorManagement.disableMonitorLabel": "禁用监测", "xpack.uptime.monitorManagement.discardLabel": "丢弃", + "xpack.uptime.monitorManagement.duplicateNameError": "监测名称已存在。", + "xpack.uptime.monitorManagement.editMonitorCrumb": "编辑监测", + "xpack.uptime.monitorManagement.editMonitorError": "加载监测管理时出错", + "xpack.uptime.monitorManagement.editMonitorErrorBody": "无法加载监测配置。请稍后重试。", "xpack.uptime.monitorManagement.editMonitorLabel": "编辑监测", + "xpack.uptime.monitorManagement.editMonitorLoadingLabel": "正在加载监测", + "xpack.uptime.monitorManagement.enableMonitorLabel": "启用监测", + "xpack.uptime.monitorManagement.failedRun": "无法运行步骤", + "xpack.uptime.monitorManagement.inProgress": "进行中", + "xpack.uptime.monitorManagement.loadingSteps": "正在加载步骤......", + "xpack.uptime.monitorManagement.monitorAddedSuccessMessage": "已成功添加监测。", + "xpack.uptime.monitorManagement.monitorAdvancedOptions.dataStreamConfiguration.description": "配置其他数据流选项。", + "xpack.uptime.monitorManagement.monitorAdvancedOptions.dataStreamConfiguration.title": "数据流设置", + "xpack.uptime.monitorManagement.monitorAdvancedOptions.monitorNamespaceFieldLabel": "命名空间", + "xpack.uptime.monitorManagement.monitorAdvancedOptions.namespaceHelpLabel": "更改默认命名空间。此设置将更改监测的数据流的名称。{learnMore}。", + "xpack.uptime.monitorManagement.monitorAdvancedOptions.namespaceHelpLearnMoreLabel": "了解详情", + "xpack.uptime.monitorManagement.monitorDeleteFailureMessage": "无法删除监测。请稍后重试。", + "xpack.uptime.monitorManagement.monitorDeleteLoadingMessage": "正在删除监测......", + "xpack.uptime.monitorManagement.monitorDeleteSuccessMessage": "已成功删除监测。", + "xpack.uptime.monitorManagement.monitorDisabledSuccessMessage": "已成功禁用监测 {name}。", + "xpack.uptime.monitorManagement.monitorEditedSuccessMessage": "已成功更新监测。", + "xpack.uptime.monitorManagement.monitorEnabledSuccessMessage": "已成功启用监测 {name}。", + "xpack.uptime.monitorManagement.monitorEnabledUpdateFailureMessage": "无法更新监测 {name}。", "xpack.uptime.monitorManagement.monitorFailureMessage": "无法保存监测。请稍后重试。", + "xpack.uptime.monitorManagement.monitorList.actions": "操作", + "xpack.uptime.monitorManagement.monitorList.enabled": "已启用", + "xpack.uptime.monitorManagement.monitorList.locations": "位置", + "xpack.uptime.monitorManagement.monitorList.monitorName": "监测名称", + "xpack.uptime.monitorManagement.monitorList.monitorType": "监测类型", + "xpack.uptime.monitorManagement.monitorList.schedule": "计划", + "xpack.uptime.monitorManagement.monitorList.tags": "标签", + "xpack.uptime.monitorManagement.monitorList.title": "监测管理列表", + "xpack.uptime.monitorManagement.monitorList.URL": "URL", + "xpack.uptime.monitorManagement.monitorLocationsLabel": "监测位置", + "xpack.uptime.monitorManagement.monitorManagementCrumb": "监测管理", + "xpack.uptime.monitorManagement.monitorNameFieldError": "监测名称必填", + "xpack.uptime.monitorManagement.monitorNameFieldLabel": "监测名称", + "xpack.uptime.monitorManagement.pageHeader.title": "管理监测", + "xpack.uptime.monitorManagement.pending": "待处理", + "xpack.uptime.monitorManagement.reRunTest": "重新运行测试", + "xpack.uptime.monitorManagement.runTest": "运行测试", "xpack.uptime.monitorManagement.saveMonitorLabel": "保存监测", + "xpack.uptime.monitorManagement.serviceLocationsValidationError": "必须至少指定一个服务位置", + "xpack.uptime.monitorManagement.stepCompleted": "已完成 {stepCount, number} 个{stepCount, plural, other {步骤}}", + "xpack.uptime.monitorManagement.testResult": "测试结果", + "xpack.uptime.monitorManagement.timeTaken": "耗时 {timeTaken}", + "xpack.uptime.monitorManagement.updateMonitorLabel": "更新监测", "xpack.uptime.monitorManagement.validationError": "您的监测存在错误。请在保存前修复这些错误。", + "xpack.uptime.monitorManagement.viewTestRunDetails": "查看测试结果详情", + "xpack.uptime.monitorManagementRoute.title": "管理监测 | {baseTitle}", "xpack.uptime.monitorRoute.title": "监测 | {baseTitle}", "xpack.uptime.monitorStatusBar.durationTextAriaLabel": "监测持续时间(毫秒)", "xpack.uptime.monitorStatusBar.healthStatusMessageAriaLabel": "监测状态", @@ -27748,7 +29238,7 @@ "xpack.uptime.navigateToAlertingButton.content": "管理规则", "xpack.uptime.navigateToAlertingUi": "离开 Uptime 并前往“Alerting 管理”页面", "xpack.uptime.noDataConfig.beatsCard.description": "主动监测站点和服务的可用性。接收告警并更快地解决问题,从而优化用户体验。", - "xpack.uptime.noDataConfig.beatsCard.title": "通过 Elastic Synthetics 集成添加监测", + "xpack.uptime.noDataConfig.beatsCard.title": "通过 Heartbeat 添加监测", "xpack.uptime.noDataConfig.solutionName": "Observability", "xpack.uptime.notFountPage.homeLinkText": "返回主页", "xpack.uptime.openAlertContextPanel.ariaLabel": "打开规则上下文面板,以便可以选择规则类型", @@ -27767,10 +29257,12 @@ "xpack.uptime.overviewPageLink.disabled.ariaLabel": "禁用的分页按钮表示在监测列表中无法进行进一步导航。", "xpack.uptime.overviewPageLink.next.ariaLabel": "下页结果", "xpack.uptime.overviewPageLink.prev.ariaLabel": "上页结果", - "xpack.uptime.page_header.addDataLink.label": "导航到 Elastic Synthetics 集成以添加 Uptime 数据", + "xpack.uptime.page_header.addDataLink.label": "导航到有关如何添加 Uptime 数据的教程", "xpack.uptime.page_header.analyzeData.label": "导航到“浏览数据”视图以可视化 Synthetics/用户数据", "xpack.uptime.page_header.defineConnector.popover.defaultLink": "定义默认连接器", "xpack.uptime.page_header.defineConnector.settingsLink": "设置", + "xpack.uptime.page_header.manageLink": "监测管理", + "xpack.uptime.page_header.manageLink.label": "导航到 Uptime 监测管理页面", "xpack.uptime.page_header.settingsLink": "设置", "xpack.uptime.page_header.settingsLink.label": "导航到 Uptime 设置页面", "xpack.uptime.pingHistogram.analyze": "分析", @@ -27798,6 +29290,7 @@ "xpack.uptime.pingList.recencyMessage": "{fromNow}已检查", "xpack.uptime.pingList.responseCodeColumnLabel": "响应代码", "xpack.uptime.pingList.statusColumnLabel": "状态", + "xpack.uptime.pingList.stepDurationHeader": "步骤持续时间", "xpack.uptime.pingList.synthetics.performanceBreakDown": "查看性能细目", "xpack.uptime.pingList.synthetics.waterfall.filters.collapseRequestsLabel": "折叠以仅显示匹配的请求", "xpack.uptime.pingList.synthetics.waterfall.filters.popover": "单击以打开瀑布筛选", @@ -27836,6 +29329,10 @@ "xpack.uptime.sourceConfiguration.ageLimitThresholdInput.ariaLabel": "该输入控制 Kibana 显示警告之前 TLS 证书有效的最大天数。", "xpack.uptime.sourceConfiguration.ageThresholdDefaultValue": "默认值为 {defaultValue}", "xpack.uptime.sourceConfiguration.alertConnectors": "告警连接器", + "xpack.uptime.sourceConfiguration.alertConnectors.defaultEmail": "默认电子邮件", + "xpack.uptime.sourceConfiguration.alertDefaultForm.emailConnectorPlaceHolder": "到:电子邮件连接器的电子邮件", + "xpack.uptime.sourceConfiguration.alertDefaultForm.invalidEmail": "{val} 不是有效电子邮件。", + "xpack.uptime.sourceConfiguration.alertDefaultForm.requiredEmail": "电子邮件连接器需要目标电子邮件", "xpack.uptime.sourceConfiguration.alertDefaultForm.selectConnector": "请选择一个或多个连接器", "xpack.uptime.sourceConfiguration.alertDefaults": "告警默认值", "xpack.uptime.sourceConfiguration.applySettingsButtonLabel": "应用更改", @@ -27844,6 +29341,7 @@ "xpack.uptime.sourceConfiguration.certificationSectionTitle": "证书到期", "xpack.uptime.sourceConfiguration.defaultConnectors": "默认连接器", "xpack.uptime.sourceConfiguration.defaultConnectors.description": "要用于发送告警的默认连接器。", + "xpack.uptime.sourceConfiguration.defaultConnectors.description.defaultEmail": "选定电子邮件告警连接器需要电子邮件设置。", "xpack.uptime.sourceConfiguration.discardSettingsButtonLabel": "取消", "xpack.uptime.sourceConfiguration.errorStateLabel": "到期阈值", "xpack.uptime.sourceConfiguration.expirationThreshold": "到期/使用时间阈值", @@ -27948,6 +29446,10 @@ "xpack.uptime.synthetics.waterfallChart.labels.timings.ssl": "TLS", "xpack.uptime.synthetics.waterfallChart.labels.timings.wait": "等待中 (TTFB)", "xpack.uptime.syntheticsMonitors": "运行时间 - 监测", + "xpack.uptime.testRun.description": "请在保存前测试您的监测并验证结果", + "xpack.uptime.testRun.pushError": "无法推送监测到服务。", + "xpack.uptime.testRun.pushErrorLabel": "推送错误", + "xpack.uptime.testRun.pushing.description": "正在推送监测到服务......", "xpack.uptime.title": "运行时间", "xpack.uptime.toggleAlertButton.content": "监测状态规则", "xpack.uptime.toggleAlertFlyout.ariaLabel": "打开添加规则浮出控件", @@ -28344,4 +29846,4 @@ "xpack.watcher.watchEdit.thresholdWatchExpression.aggType.fieldIsRequiredValidationMessage": "此字段必填。", "xpack.watcher.watcherDescription": "通过创建、管理和监测警报来检测数据中的更改。" } -} \ No newline at end of file +} diff --git a/x-pack/plugins/uptime/e2e/journeys/monitor_management.journey.ts b/x-pack/plugins/uptime/e2e/journeys/monitor_management.journey.ts index 92bc5ea8ee704b..d89c9da043e4ff 100644 --- a/x-pack/plugins/uptime/e2e/journeys/monitor_management.journey.ts +++ b/x-pack/plugins/uptime/e2e/journeys/monitor_management.journey.ts @@ -14,7 +14,7 @@ const customLocation = process.env.SYNTHETICS_TEST_LOCATION; const basicMonitorDetails = { location: customLocation || 'US Central', - schedule: '@every 3m', + schedule: '3', }; const httpName = 'http monitor'; const icmpName = 'icmp monitor'; @@ -158,7 +158,7 @@ journey('Monitor Management breadcrumbs', async ({ page, params }: { page: Page; const defaultMonitorDetails = { name: 'Sample monitor', location: 'US Central', - schedule: '@every 3m', + schedule: '3', apmServiceName: 'service', }; diff --git a/x-pack/plugins/uptime/public/components/fleet_package/browser/simple_fields.tsx b/x-pack/plugins/uptime/public/components/fleet_package/browser/simple_fields.tsx index d873227bb82bed..14fec078f458a6 100644 --- a/x-pack/plugins/uptime/public/components/fleet_package/browser/simple_fields.tsx +++ b/x-pack/plugins/uptime/public/components/fleet_package/browser/simple_fields.tsx @@ -67,14 +67,14 @@ export const BrowserSimpleFields = memo(({ validate }) => { label={ } isInvalid={!!validate[ConfigKey.SCHEDULE]?.(fields)} error={ } > diff --git a/x-pack/plugins/uptime/public/components/fleet_package/common/common_fields.tsx b/x-pack/plugins/uptime/public/components/fleet_package/common/common_fields.tsx index adaef21c636dbc..b869f1729a80e7 100644 --- a/x-pack/plugins/uptime/public/components/fleet_package/common/common_fields.tsx +++ b/x-pack/plugins/uptime/public/components/fleet_package/common/common_fields.tsx @@ -86,7 +86,7 @@ export function CommonFields({ fields, onChange, validate }: Props) { ) : ( ) } diff --git a/x-pack/plugins/uptime/public/components/fleet_package/custom_fields.test.tsx b/x-pack/plugins/uptime/public/components/fleet_package/custom_fields.test.tsx index f2df6e94784cfd..c38c93bf11d488 100644 --- a/x-pack/plugins/uptime/public/components/fleet_package/custom_fields.test.tsx +++ b/x-pack/plugins/uptime/public/components/fleet_package/custom_fields.test.tsx @@ -305,7 +305,7 @@ describe('', () => { fireEvent.change(timeout, { target: { value: '-1' } }); const urlError = getByText('URL is required'); - const monitorIntervalError = getByText('Monitor interval is required'); + const monitorIntervalError = getByText('Monitor frequency is required'); const maxRedirectsError = getByText('Max redirects must be 0 or greater'); const timeoutError = getByText('Timeout must be greater than or equal to 0'); @@ -321,7 +321,7 @@ describe('', () => { fireEvent.change(timeout, { target: { value: '1' } }); expect(queryByText('URL is required')).not.toBeInTheDocument(); - expect(queryByText('Monitor interval is required')).not.toBeInTheDocument(); + expect(queryByText('Monitor frequency is required')).not.toBeInTheDocument(); expect(queryByText('Max redirects must be 0 or greater')).not.toBeInTheDocument(); expect(queryByText('Timeout must be greater than or equal to 0')).not.toBeInTheDocument(); @@ -329,7 +329,7 @@ describe('', () => { fireEvent.change(monitorIntervalNumber, { target: { value: '1' } }); // 1 minute fireEvent.change(timeout, { target: { value: '611' } }); // timeout cannot be more than monitor interval - const timeoutError2 = getByText('Timeout must be less than the monitor interval'); + const timeoutError2 = getByText('Timeout must be less than the monitor frequency'); expect(timeoutError2).toBeInTheDocument(); }); diff --git a/x-pack/plugins/uptime/public/components/fleet_package/http/simple_fields.tsx b/x-pack/plugins/uptime/public/components/fleet_package/http/simple_fields.tsx index ee35acbd952ca9..b43a115c5d8bf9 100644 --- a/x-pack/plugins/uptime/public/components/fleet_package/http/simple_fields.tsx +++ b/x-pack/plugins/uptime/public/components/fleet_package/http/simple_fields.tsx @@ -57,14 +57,14 @@ export const HTTPSimpleFields = memo(({ validate }) => { label={ } isInvalid={!!validate[ConfigKey.SCHEDULE]?.(fields)} error={ } > diff --git a/x-pack/plugins/uptime/public/components/fleet_package/icmp/simple_fields.tsx b/x-pack/plugins/uptime/public/components/fleet_package/icmp/simple_fields.tsx index 31a9722023243a..2e2fe96e9a9f37 100644 --- a/x-pack/plugins/uptime/public/components/fleet_package/icmp/simple_fields.tsx +++ b/x-pack/plugins/uptime/public/components/fleet_package/icmp/simple_fields.tsx @@ -60,14 +60,14 @@ export const ICMPSimpleFields = memo(({ validate }) => { label={ } isInvalid={!!validate[ConfigKey.SCHEDULE]?.(fields)} error={ } > diff --git a/x-pack/plugins/uptime/public/components/fleet_package/synthetics_policy_create_extension_wrapper.test.tsx b/x-pack/plugins/uptime/public/components/fleet_package/synthetics_policy_create_extension_wrapper.test.tsx index e1b5303b05bdaf..08c802803b3ea6 100644 --- a/x-pack/plugins/uptime/public/components/fleet_package/synthetics_policy_create_extension_wrapper.test.tsx +++ b/x-pack/plugins/uptime/public/components/fleet_package/synthetics_policy_create_extension_wrapper.test.tsx @@ -563,7 +563,7 @@ describe('', () => { fireEvent.change(timeout, { target: { value: '-1' } }); const urlError = getByText('URL is required'); - const monitorIntervalError = getByText('Monitor interval is required'); + const monitorIntervalError = getByText('Monitor frequency is required'); const maxRedirectsError = getByText('Max redirects must be 0 or greater'); const timeoutError = getByText('Timeout must be greater than or equal to 0'); @@ -590,7 +590,7 @@ describe('', () => { // expect onChange to be called with isValid true await waitFor(() => { expect(queryByText('URL is required')).not.toBeInTheDocument(); - expect(queryByText('Monitor interval is required')).not.toBeInTheDocument(); + expect(queryByText('Monitor frequency is required')).not.toBeInTheDocument(); expect(queryByText('Max redirects must be 0 or greater')).not.toBeInTheDocument(); expect(queryByText('Timeout must be greater than or equal to 0')).not.toBeInTheDocument(); expect(onChange).toBeCalledWith( @@ -618,7 +618,7 @@ describe('', () => { await waitFor(() => { const hostError = getByText('Host and port are required'); - const monitorIntervalError = getByText('Monitor interval is required'); + const monitorIntervalError = getByText('Monitor frequency is required'); const timeoutError = getByText('Timeout must be greater than or equal to 0'); expect(hostError).toBeInTheDocument(); @@ -638,7 +638,7 @@ describe('', () => { await waitFor(() => { expect(queryByText('Host and port are required')).not.toBeInTheDocument(); - expect(queryByText('Monitor interval is required')).not.toBeInTheDocument(); + expect(queryByText('Monitor frequency is required')).not.toBeInTheDocument(); expect(queryByText('Max redirects must be 0 or greater')).not.toBeInTheDocument(); expect(queryByText('Timeout must be greater than or equal to 0')).not.toBeInTheDocument(); expect(onChange).toBeCalledWith( @@ -668,7 +668,7 @@ describe('', () => { await waitFor(() => { const hostError = getByText('Host is required'); - const monitorIntervalError = getByText('Monitor interval is required'); + const monitorIntervalError = getByText('Monitor frequency is required'); const timeoutError = getByText('Timeout must be greater than or equal to 0'); const waitError = getByText('Wait must be 0 or greater'); @@ -691,7 +691,7 @@ describe('', () => { await waitFor(() => { expect(queryByText('Host is required')).not.toBeInTheDocument(); - expect(queryByText('Monitor interval is required')).not.toBeInTheDocument(); + expect(queryByText('Monitor frequency is required')).not.toBeInTheDocument(); expect(queryByText('Timeout must be greater than or equal to 0')).not.toBeInTheDocument(); expect(queryByText('Wait must be 0 or greater')).not.toBeInTheDocument(); expect(onChange).toBeCalledWith( @@ -717,7 +717,7 @@ describe('', () => { await waitFor(() => { const hostError = getByText('Zip URL is required'); - const monitorIntervalError = getByText('Monitor interval is required'); + const monitorIntervalError = getByText('Monitor frequency is required'); expect(hostError).toBeInTheDocument(); expect(monitorIntervalError).toBeInTheDocument(); @@ -734,7 +734,7 @@ describe('', () => { await waitFor(() => { expect(queryByText('Zip URL is required')).not.toBeInTheDocument(); - expect(queryByText('Monitor interval is required')).not.toBeInTheDocument(); + expect(queryByText('Monitor frequency is required')).not.toBeInTheDocument(); expect(onChange).toBeCalledWith( expect.objectContaining({ isValid: true, diff --git a/x-pack/plugins/uptime/public/components/fleet_package/synthetics_policy_edit_extension_wrapper.test.tsx b/x-pack/plugins/uptime/public/components/fleet_package/synthetics_policy_edit_extension_wrapper.test.tsx index 242d0495fb2f6c..d61566c4ad12e2 100644 --- a/x-pack/plugins/uptime/public/components/fleet_package/synthetics_policy_edit_extension_wrapper.test.tsx +++ b/x-pack/plugins/uptime/public/components/fleet_package/synthetics_policy_edit_extension_wrapper.test.tsx @@ -539,7 +539,7 @@ describe('', () => { fireEvent.change(timeout, { target: { value: '-1' } }); const urlError = getByText('URL is required'); - const monitorIntervalError = getByText('Monitor interval is required'); + const monitorIntervalError = getByText('Monitor frequency is required'); const maxRedirectsError = getByText('Max redirects must be 0 or greater'); const timeoutError = getByText('Timeout must be greater than or equal to 0'); @@ -566,7 +566,7 @@ describe('', () => { // expect onChange to be called with isValid true await waitFor(() => { expect(queryByText('URL is required')).not.toBeInTheDocument(); - expect(queryByText('Monitor interval is required')).not.toBeInTheDocument(); + expect(queryByText('Monitor frequency is required')).not.toBeInTheDocument(); expect(queryByText('Max redirects must be 0 or greater')).not.toBeInTheDocument(); expect(queryByText('Timeout must be greater than or equal to 0')).not.toBeInTheDocument(); expect(onChange).toBeCalledWith( @@ -650,7 +650,7 @@ describe('', () => { await waitFor(() => { const hostError = getByText('Zip URL is required'); - const monitorIntervalError = getByText('Monitor interval is required'); + const monitorIntervalError = getByText('Monitor frequency is required'); expect(hostError).toBeInTheDocument(); expect(monitorIntervalError).toBeInTheDocument(); @@ -667,7 +667,7 @@ describe('', () => { expect(zipUrl.value).toEqual('http://github.com/tests.zip'); expect(monitorIntervalNumber.value).toEqual('2'); expect(queryByText('Zip URL is required')).not.toBeInTheDocument(); - expect(queryByText('Monitor interval is required')).not.toBeInTheDocument(); + expect(queryByText('Monitor frequency is required')).not.toBeInTheDocument(); expect(queryByText('Timeout must be greater than or equal to 0')).not.toBeInTheDocument(); expect(onChange).toBeCalledWith( expect.objectContaining({ @@ -716,7 +716,7 @@ describe('', () => { await waitFor(() => { const hostError = getByText('Host and port are required'); - const monitorIntervalError = getByText('Monitor interval is required'); + const monitorIntervalError = getByText('Monitor frequency is required'); const timeoutError = getByText('Timeout must be greater than or equal to 0'); expect(hostError).toBeInTheDocument(); @@ -736,7 +736,7 @@ describe('', () => { await waitFor(() => { expect(queryByText('Host is required')).not.toBeInTheDocument(); - expect(queryByText('Monitor interval is required')).not.toBeInTheDocument(); + expect(queryByText('Monitor frequency is required')).not.toBeInTheDocument(); expect(queryByText('Timeout must be greater than or equal to 0')).not.toBeInTheDocument(); expect(onChange).toBeCalledWith( expect.objectContaining({ @@ -782,7 +782,7 @@ describe('', () => { await waitFor(() => { const hostError = getByText('Host is required'); - const monitorIntervalError = getByText('Monitor interval is required'); + const monitorIntervalError = getByText('Monitor frequency is required'); const timeoutError = getByText('Timeout must be greater than or equal to 0'); const waitError = getByText('Wait must be 0 or greater'); @@ -805,7 +805,7 @@ describe('', () => { await waitFor(() => { expect(queryByText('Host is required')).not.toBeInTheDocument(); - expect(queryByText('Monitor interval is required')).not.toBeInTheDocument(); + expect(queryByText('Monitor frequency is required')).not.toBeInTheDocument(); expect(queryByText('Timeout must be greater than or equal to 0')).not.toBeInTheDocument(); expect(queryByText('Wait must be 0 or greater')).not.toBeInTheDocument(); expect(onChange).toBeCalledWith( diff --git a/x-pack/plugins/uptime/public/components/fleet_package/tcp/simple_fields.tsx b/x-pack/plugins/uptime/public/components/fleet_package/tcp/simple_fields.tsx index 8d9a1c48dc66c7..89b89de88a2e1f 100644 --- a/x-pack/plugins/uptime/public/components/fleet_package/tcp/simple_fields.tsx +++ b/x-pack/plugins/uptime/public/components/fleet_package/tcp/simple_fields.tsx @@ -60,14 +60,14 @@ export const TCPSimpleFields = memo(({ validate }) => { label={ } isInvalid={!!validate[ConfigKey.SCHEDULE]?.(fields)} error={ } > diff --git a/x-pack/plugins/uptime/public/components/monitor_management/monitor_list/monitor_list.test.tsx b/x-pack/plugins/uptime/public/components/monitor_management/monitor_list/monitor_list.test.tsx index 8f9f643ac0f9fe..d9fb207f4fa20f 100644 --- a/x-pack/plugins/uptime/public/components/monitor_management/monitor_list/monitor_list.test.tsx +++ b/x-pack/plugins/uptime/public/components/monitor_management/monitor_list/monitor_list.test.tsx @@ -25,7 +25,7 @@ describe('', () => { enabled: true, schedule: { unit: ScheduleUnit.MINUTES, - number: `${i}`, + number: `${i * 10}`, }, urls: `https://test-${i}.co`, type: DataStream.HTTP, @@ -76,11 +76,7 @@ describe('', () => { monitor.attributes.tags.forEach((tag) => { expect(screen.getByText(tag)).toBeInTheDocument(); }); - expect( - screen.getByText( - `@every ${monitor.attributes.schedule.number}${monitor.attributes.schedule.unit}` - ) - ).toBeInTheDocument(); + expect(screen.getByText(monitor.attributes.schedule.number)).toBeInTheDocument(); }); it('handles changing per page', () => { diff --git a/x-pack/plugins/uptime/public/components/monitor_management/monitor_list/monitor_list.tsx b/x-pack/plugins/uptime/public/components/monitor_management/monitor_list/monitor_list.tsx index 77b08c3ea7ee1b..a222070b5d9d14 100644 --- a/x-pack/plugins/uptime/public/components/monitor_management/monitor_list/monitor_list.tsx +++ b/x-pack/plugins/uptime/public/components/monitor_management/monitor_list/monitor_list.tsx @@ -147,10 +147,9 @@ export const MonitorManagementList = ({ align: 'left' as const, field: ConfigKey.SCHEDULE, name: i18n.translate('xpack.uptime.monitorManagement.monitorList.schedule', { - defaultMessage: 'Schedule', + defaultMessage: 'Frequency (min)', }), - render: (schedule: CommonFields[ConfigKey.SCHEDULE]) => - `@every ${schedule?.number}${schedule?.unit}`, + render: (schedule: CommonFields[ConfigKey.SCHEDULE]) => schedule?.number, }, { align: 'left' as const, diff --git a/x-pack/test/apm_api_integration/tests/service_overview/dependencies/es_utils.ts b/x-pack/test/apm_api_integration/tests/service_overview/dependencies/es_utils.ts index e0913ba09e4484..622b0127a396ca 100644 --- a/x-pack/test/apm_api_integration/tests/service_overview/dependencies/es_utils.ts +++ b/x-pack/test/apm_api_integration/tests/service_overview/dependencies/es_utils.ts @@ -49,9 +49,6 @@ export function createServiceDependencyDocs({ processor: { event: 'metric' as const, }, - observer: { - version_major: 7, - }, '@timestamp': new Date(time).toISOString(), service, agent: { @@ -78,9 +75,6 @@ export function createServiceDependencyDocs({ processor: { event: 'span' as const, }, - observer: { - version_major: 7, - }, '@timestamp': new Date(time).toISOString(), service, agent: { @@ -106,9 +100,6 @@ export function createServiceDependencyDocs({ processor: { event: 'transaction' as const, }, - observer: { - version_major: 7, - }, '@timestamp': new Date(time + 1).toISOString(), event: { outcome: 'unknown', diff --git a/x-pack/test/apm_api_integration/tests/services/annotations.spec.ts b/x-pack/test/apm_api_integration/tests/services/annotations.spec.ts index 2acfeac87880f3..deb1b675ee7644 100644 --- a/x-pack/test/apm_api_integration/tests/services/annotations.spec.ts +++ b/x-pack/test/apm_api_integration/tests/services/annotations.spec.ts @@ -204,13 +204,6 @@ export default function annotationApiTests({ getService }: FtrProviderContext) { '@timestamp': { type: 'date', }, - observer: { - properties: { - version_major: { - type: 'long', - }, - }, - }, }, }, }, @@ -227,9 +220,6 @@ export default function annotationApiTests({ getService }: FtrProviderContext) { name: serviceName, version: '1.1', }, - observer: { - version_major: 8, - }, }, refresh: 'wait_for', }); @@ -246,9 +236,6 @@ export default function annotationApiTests({ getService }: FtrProviderContext) { version: '1.2', environment: 'production', }, - observer: { - version_major: 8, - }, }, refresh: 'wait_for', }); diff --git a/x-pack/test/apm_api_integration/tests/services/derived_annotations.spec.ts b/x-pack/test/apm_api_integration/tests/services/derived_annotations.spec.ts index 7b5262de18e096..ad261055c80068 100644 --- a/x-pack/test/apm_api_integration/tests/services/derived_annotations.spec.ts +++ b/x-pack/test/apm_api_integration/tests/services/derived_annotations.spec.ts @@ -67,13 +67,6 @@ export default function annotationApiTests({ getService }: FtrProviderContext) { }, }, }, - observer: { - properties: { - version_major: { - type: 'byte', - }, - }, - }, processor: { properties: { event: { @@ -98,9 +91,6 @@ export default function annotationApiTests({ getService }: FtrProviderContext) { environment: 'production', version: index + 1, }, - observer: { - version_major: 8, - }, processor: { event: 'transaction', }, diff --git a/x-pack/test/apm_api_integration/tests/services/top_services.spec.ts b/x-pack/test/apm_api_integration/tests/services/top_services.spec.ts index 137136b8a4e929..801faf53316822 100644 --- a/x-pack/test/apm_api_integration/tests/services/top_services.spec.ts +++ b/x-pack/test/apm_api_integration/tests/services/top_services.spec.ts @@ -45,7 +45,6 @@ export default function ApiTest({ getService }: FtrProviderContext) { ); expect(response.status).to.be(200); - expect(response.body.hasLegacyData).to.be(false); expect(response.body.items.length).to.be(0); }); } diff --git a/x-pack/test/fleet_api_integration/apis/package_policy/create.ts b/x-pack/test/fleet_api_integration/apis/package_policy/create.ts index da8efafe8b637d..de1b562b578b0a 100644 --- a/x-pack/test/fleet_api_integration/apis/package_policy/create.ts +++ b/x-pack/test/fleet_api_integration/apis/package_policy/create.ts @@ -236,7 +236,7 @@ export default function (providerContext: FtrProviderContext) { package: { name: 'endpoint', title: 'Endpoint', - version: '1.3.0', + version: '1.5.0', }, }) .expect(400); diff --git a/x-pack/test/fleet_api_integration/config.ts b/x-pack/test/fleet_api_integration/config.ts index 28af25c20181a2..8c91b5ce8c279e 100644 --- a/x-pack/test/fleet_api_integration/config.ts +++ b/x-pack/test/fleet_api_integration/config.ts @@ -15,7 +15,7 @@ import { defineDockerServersConfig } from '@kbn/test'; // example: https://beats-ci.elastic.co/blue/organizations/jenkins/Ingest-manager%2Fpackage-storage/detail/snapshot/74/pipeline/257#step-302-log-1. // It should be updated any time there is a new Docker image published for the Snapshot Distribution of the Package Registry. export const dockerImage = - 'docker.elastic.co/package-registry/distribution@sha256:c5bf8e058727de72e561b228f4b254a14a6f880e582190d01bd5ff74318e1d0b'; + 'docker.elastic.co/package-registry/distribution@sha256:8b4ce36ecdf86e6cfdf781d9df8d564a014add9afc9aec21cf2c5a68ff82d3ab'; export default async function ({ readConfigFile }: FtrConfigProviderContext) { const xPackAPITestsConfig = await readConfigFile(require.resolve('../api_integration/config.ts')); diff --git a/x-pack/test/functional/apps/dashboard/drilldowns/dashboard_to_dashboard_drilldown.ts b/x-pack/test/functional/apps/dashboard/drilldowns/dashboard_to_dashboard_drilldown.ts index 4f20cd3b9cc9aa..9fd6beeb8ff22d 100644 --- a/x-pack/test/functional/apps/dashboard/drilldowns/dashboard_to_dashboard_drilldown.ts +++ b/x-pack/test/functional/apps/dashboard/drilldowns/dashboard_to_dashboard_drilldown.ts @@ -45,8 +45,16 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { after(async () => { await security.testUser.restoreDefaults(); + await clearFilters(dashboardDrilldownsManage.DASHBOARD_WITH_PIE_CHART_NAME); + await clearFilters(dashboardDrilldownsManage.DASHBOARD_WITH_AREA_CHART_NAME); }); + const clearFilters = async (dashboardName: string) => { + await PageObjects.dashboard.gotoDashboardEditMode(dashboardName); + await filterBar.removeAllFilters(); + await PageObjects.dashboard.clearUnsavedChanges(); + }; + it('create dashboard to dashboard drilldown', async () => { await PageObjects.dashboard.gotoDashboardEditMode( dashboardDrilldownsManage.DASHBOARD_WITH_PIE_CHART_NAME @@ -68,6 +76,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { expect(await PageObjects.dashboard.getPanelDrilldownCount()).to.be(1); // save dashboard, navigate to view mode + await testSubjects.existOrFail('dashboardUnsavedChangesBadge'); await PageObjects.dashboard.saveDashboard( dashboardDrilldownsManage.DASHBOARD_WITH_PIE_CHART_NAME, { @@ -76,6 +85,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { exitFromEditMode: true, } ); + await testSubjects.missingOrFail('dashboardUnsavedChangesBadge'); }); it('use dashboard to dashboard drilldown via onClick action', async () => { @@ -85,7 +95,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('use dashboard to dashboard drilldown via getHref action', async () => { - await filterBar.removeAllFilters(); await testDashboardDrilldown( dashboardDrilldownPanelActions.openHrefByText.bind(dashboardDrilldownPanelActions) // preserve 'this' ); @@ -130,7 +139,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { ); }); - async function testDashboardDrilldown(drilldownAction: (text: string) => Promise) { + const testDashboardDrilldown = async (drilldownAction: (text: string) => Promise) => { // trigger drilldown action by clicking on a pie and picking drilldown action by it's name await pieChart.clickOnPieSlice('40,000'); await dashboardDrilldownPanelActions.expectMultipleActionsMenuOpened(); @@ -151,14 +160,13 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { // check that we drilled-down with filter from pie chart expect(await filterBar.getFilterCount()).to.be(1); - const originalTimeRangeDurationHours = await PageObjects.timePicker.getTimeDurationInHours(); + await PageObjects.dashboard.clearUnsavedChanges(); // brush area chart and drilldown back to pie chat dashboard await brushAreaChart(); await dashboardDrilldownPanelActions.expectMultipleActionsMenuOpened(); - await navigateWithinDashboard(async () => { await drilldownAction(DRILLDOWN_TO_PIE_CHART_NAME); }); @@ -166,11 +174,11 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { // because filters are preserved during navigation, we expect that only one slice is displayed (filter is still applied) expect(await filterBar.getFilterCount()).to.be(1); await pieChart.expectPieSliceCount(1); - // check that new time range duration was applied const newTimeRangeDurationHours = await PageObjects.timePicker.getTimeDurationInHours(); expect(newTimeRangeDurationHours).to.be.lessThan(originalTimeRangeDurationHours); - } + await PageObjects.dashboard.clearUnsavedChanges(); + }; }); describe('Copy to space', () => { diff --git a/x-pack/test/functional/apps/dashboard/panel_titles.ts b/x-pack/test/functional/apps/dashboard/panel_titles.ts index 7cca12b4ee4370..20c1d745b55481 100644 --- a/x-pack/test/functional/apps/dashboard/panel_titles.ts +++ b/x-pack/test/functional/apps/dashboard/panel_titles.ts @@ -11,7 +11,6 @@ import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { const esArchiver = getService('esArchiver'); const kibanaServer = getService('kibanaServer'); - const testSubjects = getService('testSubjects'); const retry = getService('retry'); const dashboardPanelActions = getService('dashboardPanelActions'); const PageObjects = getPageObjects([ @@ -43,15 +42,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); describe('panel titles - by value', () => { - const clearUnsavedChanges = async () => { - await retry.try(async () => { - // avoid flaky test by surrounding in retry - await testSubjects.existOrFail('dashboardUnsavedChangesBadge'); - await PageObjects.dashboard.clickQuickSave(); - await testSubjects.missingOrFail('dashboardUnsavedChangesBadge'); - }); - }; - it('new panel by value has empty title', async () => { await PageObjects.lens.createAndAddLensFromDashboard({}); const newPanelTitle = (await PageObjects.dashboard.getPanelTitles())[0]; @@ -60,14 +50,14 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('saving new panel with blank title clears "unsaved changes" badge', async () => { await dashboardPanelActions.setCustomPanelTitle(''); - await clearUnsavedChanges(); + await PageObjects.dashboard.clearUnsavedChanges(); }); it('custom title causes unsaved changes and saving clears it', async () => { await dashboardPanelActions.setCustomPanelTitle(CUSTOM_TITLE); const panelTitle = (await PageObjects.dashboard.getPanelTitles())[0]; expect(panelTitle).to.equal(CUSTOM_TITLE); - await clearUnsavedChanges(); + await PageObjects.dashboard.clearUnsavedChanges(); }); it('resetting title on a by value panel sets it to the empty string', async () => { @@ -77,7 +67,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await dashboardPanelActions.resetCustomPanelTitle(); const panelTitle = (await PageObjects.dashboard.getPanelTitles())[0]; expect(panelTitle).to.equal(EMPTY_TITLE); - await clearUnsavedChanges(); + await PageObjects.dashboard.clearUnsavedChanges(); }); it('blank titles are hidden in view mode', async () => { diff --git a/x-pack/test/functional/config.js b/x-pack/test/functional/config.js index 7e1ac8e5481bc7..9e70c8d4ed7fd1 100644 --- a/x-pack/test/functional/config.js +++ b/x-pack/test/functional/config.js @@ -15,7 +15,7 @@ import { pageObjects } from './page_objects'; // example: https://beats-ci.elastic.co/blue/organizations/jenkins/Ingest-manager%2Fpackage-storage/detail/snapshot/74/pipeline/257#step-302-log-1. // It should be updated any time there is a new Docker image published for the Snapshot Distribution of the Package Registry. export const dockerImage = - 'docker.elastic.co/package-registry/distribution@sha256:c5bf8e058727de72e561b228f4b254a14a6f880e582190d01bd5ff74318e1d0b'; + 'docker.elastic.co/package-registry/distribution@sha256:8b4ce36ecdf86e6cfdf781d9df8d564a014add9afc9aec21cf2c5a68ff82d3ab'; // the default export of config files must be a config provider // that returns an object with the projects config values diff --git a/x-pack/test/functional_execution_context/tests/server.ts b/x-pack/test/functional_execution_context/tests/server.ts index adb92fc6a2283d..0973c32e9e0fb6 100644 --- a/x-pack/test/functional_execution_context/tests/server.ts +++ b/x-pack/test/functional_execution_context/tests/server.ts @@ -108,5 +108,38 @@ export default function ({ getService }: FtrProviderContext) { retry, }); }); + + it('propagates context for Telemetry collection', async () => { + await supertest + .post('/api/telemetry/v2/clusters/_stats') + .set('kbn-xsrf', 'true') + .send({ unencrypted: false }) + .expect(200); + + await assertLogContains({ + description: + 'usage_collection execution context propagates to Elasticsearch via "x-opaque-id" header', + predicate: (record) => + Boolean( + // exclude part with collector types + record.http?.request?.id?.includes( + `kibana:usage_collection:collector.fetch:application_usage` + ) + ), + retry, + }); + + await assertLogContains({ + description: 'execution context propagates to Kibana logs', + predicate: (record) => + isExecutionContextLog(record?.message, { + type: 'usage_collection', + name: 'collector.fetch', + id: 'application_usage', + description: 'Fetch method in the Collector "application_usage"', + }), + retry, + }); + }); }); } diff --git a/x-pack/test/functional_synthetics/config.js b/x-pack/test/functional_synthetics/config.js index f9074812a7e226..35ff84fffc06b7 100644 --- a/x-pack/test/functional_synthetics/config.js +++ b/x-pack/test/functional_synthetics/config.js @@ -17,7 +17,7 @@ import { pageObjects } from './page_objects'; // example: https://beats-ci.elastic.co/blue/organizations/jenkins/Ingest-manager%2Fpackage-storage/detail/snapshot/74/pipeline/257#step-302-log-1. // It should be updated any time there is a new Docker image published for the Snapshot Distribution of the Package Registry that updates Synthetics. export const dockerImage = - 'docker.elastic.co/package-registry/distribution@sha256:c5bf8e058727de72e561b228f4b254a14a6f880e582190d01bd5ff74318e1d0b'; + 'docker.elastic.co/package-registry/distribution@sha256:8b4ce36ecdf86e6cfdf781d9df8d564a014add9afc9aec21cf2c5a68ff82d3ab'; // the default export of config files must be a config provider // that returns an object with the projects config values diff --git a/x-pack/test/plugin_api_integration/test_suites/task_manager/health_route.ts b/x-pack/test/plugin_api_integration/test_suites/task_manager/health_route.ts index 45a4ab95f57a9f..90d72adfaab222 100644 --- a/x-pack/test/plugin_api_integration/test_suites/task_manager/health_route.ts +++ b/x-pack/test/plugin_api_integration/test_suites/task_manager/health_route.ts @@ -124,7 +124,8 @@ export default function ({ getService }: FtrProviderContext) { const monitoredAggregatedStatsRefreshRate = 5000; - describe('health', () => { + // FLAKY: https://github.com/elastic/kibana/issues/125581 + describe.skip('health', () => { it('should return basic configuration of task manager', async () => { const health = await getHealth(); expect(health.status).to.eql('OK'); diff --git a/yarn.lock b/yarn.lock index 694f7fd4e86475..d1591452d5e003 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23717,10 +23717,10 @@ printj@~1.1.0: resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== -prismjs@^1.22.0, prismjs@~1.25.0: - version "1.25.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.25.0.tgz#6f822df1bdad965734b310b315a23315cf999756" - integrity sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg== +prismjs@^1.22.0, prismjs@~1.25.0, prismjs@~1.27.0: + version "1.27.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057" + integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA== private@^0.1.8, private@~0.1.5: version "0.1.8"