[i18n] Fix broken i18n messages (#185011)

This commit is contained in:
Ahmad Bamieh 2024-06-07 23:19:46 +03:00 committed by GitHub
parent 817842b73a
commit ae1d883327
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
30 changed files with 142 additions and 169 deletions

View file

@ -134,7 +134,7 @@ const AppLoadingPlaceholder: FC<{ showPlainSpinner: boolean }> = ({ showPlainSpi
size={'xxl'}
className="appContainer__loading"
data-test-subj="appContainer-loadingSpinner"
aria-label={i18n.translate('core.application.appContainer.loadingAriaLabel', {
aria-label={i18n.translate('core.application.appContainer.plainSpinner.loadingAriaLabel', {
defaultMessage: 'Loading application',
})}
/>

View file

@ -106,7 +106,7 @@ const STATUS_LEVEL_LEGACY_ATTRS = deepFreeze<Record<string, LegacyStateAttr>>({
[ServiceStatusLevels.critical.toString()]: {
id: 'red',
state: 'red',
title: i18n.translate('core.status.redTitle', {
title: i18n.translate('core.status.critical.redTitle', {
defaultMessage: 'Red',
}),
icon: 'danger',
@ -116,7 +116,7 @@ const STATUS_LEVEL_LEGACY_ATTRS = deepFreeze<Record<string, LegacyStateAttr>>({
[ServiceStatusLevels.unavailable.toString()]: {
id: 'red',
state: 'red',
title: i18n.translate('core.status.redTitle', {
title: i18n.translate('core.status.unavailable.redTitle', {
defaultMessage: 'Red',
}),
icon: 'danger',
@ -126,7 +126,7 @@ const STATUS_LEVEL_LEGACY_ATTRS = deepFreeze<Record<string, LegacyStateAttr>>({
[ServiceStatusLevels.degraded.toString()]: {
id: 'yellow',
state: 'yellow',
title: i18n.translate('core.status.yellowTitle', {
title: i18n.translate('core.status.degraded.yellowTitle', {
defaultMessage: 'Yellow',
}),
icon: 'warning',
@ -136,7 +136,7 @@ const STATUS_LEVEL_LEGACY_ATTRS = deepFreeze<Record<string, LegacyStateAttr>>({
[ServiceStatusLevels.available.toString()]: {
id: 'green',
state: 'green',
title: i18n.translate('core.status.greenTitle', {
title: i18n.translate('core.status.available.greenTitle', {
defaultMessage: 'Green',
}),
icon: 'success',

View file

@ -75,7 +75,7 @@ export function AiAssistantSelectionPage() {
<EuiCallOut
iconType="warning"
title={i18n.translate(
'aiAssistantManagementSelection.aiAssistantSelectionPage.thisFeatureIsDisabledCallOutLabel',
'aiAssistantManagementSelection.aiAssistantSelectionPage.observabilityAi.thisFeatureIsDisabledCallOutLabel',
{
defaultMessage:
'This feature is disabled. It can be enabled from Spaces > Features.',
@ -124,7 +124,7 @@ export function AiAssistantSelectionPage() {
<EuiCallOut
iconType="warning"
title={i18n.translate(
'aiAssistantManagementSelection.aiAssistantSelectionPage.thisFeatureIsDisabledCallOutLabel',
'aiAssistantManagementSelection.aiAssistantSelectionPage.securityAi.thisFeatureIsDisabledCallOutLabel',
{
defaultMessage:
'This feature is disabled. It can be enabled from Spaces > Features.',

View file

@ -289,7 +289,7 @@ function EditorUI({ initialTextValue, setEditorInstance }: EditorProps) {
>
<EuiFlexItem>
<EuiToolTip
content={i18n.translate('console.sendRequestButtonTooltip', {
content={i18n.translate('console.sendRequestButtonTooltipContent', {
defaultMessage: 'Click to send request',
})}
>
@ -297,7 +297,7 @@ function EditorUI({ initialTextValue, setEditorInstance }: EditorProps) {
color="primary"
onClick={sendCurrentRequest}
data-test-subj="sendRequestButton"
aria-label={i18n.translate('console.sendRequestButtonTooltip', {
aria-label={i18n.translate('console.sendRequestButtonTooltipAriaLabel', {
defaultMessage: 'Click to send request',
})}
>

View file

@ -125,7 +125,7 @@ export const MonacoEditor = ({ initialTextValue }: EditorProps) => {
>
<EuiFlexItem>
<EuiToolTip
content={i18n.translate('console.sendRequestButtonTooltip', {
content={i18n.translate('console.sendRequestButtonTooltipContent', {
defaultMessage: 'Click to send request',
})}
>
@ -133,7 +133,7 @@ export const MonacoEditor = ({ initialTextValue }: EditorProps) => {
color="primary"
onClick={sendRequestsCallback}
data-test-subj="sendRequestButton"
aria-label={i18n.translate('console.sendRequestButtonTooltip', {
aria-label={i18n.translate('console.sendRequestButtonTooltipAriaLabel', {
defaultMessage: 'Click to send request',
})}
>

View file

@ -6,197 +6,115 @@
* Side Public License, v 1.
*/
import { i18n } from '@kbn/i18n';
import moment from 'moment';
import {
dayLabel,
hourLabel,
yearLabel,
minuteLabel,
secondLabel,
millisecondLabel,
infinityLabel,
monthLabel,
} from './i18n_messages';
export const boundsDescendingRaw = [
{
bound: Infinity,
interval: moment.duration(1, 'year'),
boundLabel: i18n.translate('data.search.timeBuckets.infinityLabel', {
defaultMessage: 'More than a year',
}),
intervalLabel: i18n.translate('data.search.timeBuckets.yearLabel', {
defaultMessage: 'a year',
}),
boundLabel: infinityLabel(),
intervalLabel: yearLabel(),
},
{
bound: moment.duration(1, 'year'),
interval: moment.duration(1, 'month'),
boundLabel: i18n.translate('data.search.timeBuckets.yearLabel', {
defaultMessage: 'a year',
}),
intervalLabel: i18n.translate('data.search.timeBuckets.monthLabel', {
defaultMessage: 'a month',
}),
boundLabel: yearLabel(),
intervalLabel: monthLabel(),
},
{
bound: moment.duration(3, 'week'),
interval: moment.duration(1, 'week'),
boundLabel: i18n.translate('data.search.timeBuckets.dayLabel', {
defaultMessage: '{amount, plural, one {a day} other {# days}}',
values: { amount: 21 },
}),
intervalLabel: i18n.translate('data.search.timeBuckets.dayLabel', {
defaultMessage: '{amount, plural, one {a day} other {# days}}',
values: { amount: 7 },
}),
boundLabel: dayLabel(21),
intervalLabel: dayLabel(7),
},
{
bound: moment.duration(1, 'week'),
interval: moment.duration(1, 'd'),
boundLabel: i18n.translate('data.search.timeBuckets.dayLabel', {
defaultMessage: '{amount, plural, one {a day} other {# days}}',
values: { amount: 7 },
}),
intervalLabel: i18n.translate('data.search.timeBuckets.dayLabel', {
defaultMessage: '{amount, plural, one {a day} other {# days}}',
values: { amount: 1 },
}),
boundLabel: dayLabel(7),
intervalLabel: dayLabel(1),
},
{
bound: moment.duration(24, 'hour'),
interval: moment.duration(12, 'hour'),
boundLabel: i18n.translate('data.search.timeBuckets.dayLabel', {
defaultMessage: '{amount, plural, one {a day} other {# days}}',
values: { amount: 1 },
}),
intervalLabel: i18n.translate('data.search.timeBuckets.hourLabel', {
defaultMessage: '{amount, plural, one {an hour} other {# hours}}',
values: { amount: 12 },
}),
boundLabel: dayLabel(1),
intervalLabel: hourLabel(12),
},
{
bound: moment.duration(6, 'hour'),
interval: moment.duration(3, 'hour'),
boundLabel: i18n.translate('data.search.timeBuckets.hourLabel', {
defaultMessage: '{amount, plural, one {an hour} other {# hours}}',
values: { amount: 6 },
}),
intervalLabel: i18n.translate('data.search.timeBuckets.hourLabel', {
defaultMessage: '{amount, plural, one {an hour} other {# hours}}',
values: { amount: 3 },
}),
boundLabel: hourLabel(6),
intervalLabel: hourLabel(3),
},
{
bound: moment.duration(2, 'hour'),
interval: moment.duration(1, 'hour'),
boundLabel: i18n.translate('data.search.timeBuckets.hourLabel', {
defaultMessage: '{amount, plural, one {an hour} other {# hours}}',
values: { amount: 2 },
}),
intervalLabel: i18n.translate('data.search.timeBuckets.hourLabel', {
defaultMessage: '{amount, plural, one {an hour} other {# hours}}',
values: { amount: 1 },
}),
boundLabel: hourLabel(2),
intervalLabel: hourLabel(1),
},
{
bound: moment.duration(45, 'minute'),
interval: moment.duration(30, 'minute'),
boundLabel: i18n.translate('data.search.timeBuckets.minuteLabel', {
defaultMessage: '{amount, plural, one {a minute} other {# minutes}}',
values: { amount: 45 },
}),
intervalLabel: i18n.translate('data.search.timeBuckets.minuteLabel', {
defaultMessage: '{amount, plural, one {a minute} other {# minutes}}',
values: { amount: 30 },
}),
boundLabel: minuteLabel(45),
intervalLabel: minuteLabel(30),
},
{
bound: moment.duration(20, 'minute'),
interval: moment.duration(10, 'minute'),
boundLabel: i18n.translate('data.search.timeBuckets.minuteLabel', {
defaultMessage: '{amount, plural, one {a minute} other {# minutes}}',
values: { amount: 20 },
}),
intervalLabel: i18n.translate('data.search.timeBuckets.minuteLabel', {
defaultMessage: '{amount, plural, one {a minute} other {# minutes}}',
values: { amount: 10 },
}),
boundLabel: minuteLabel(20),
intervalLabel: minuteLabel(10),
},
{
bound: moment.duration(9, 'minute'),
interval: moment.duration(5, 'minute'),
boundLabel: i18n.translate('data.search.timeBuckets.minuteLabel', {
defaultMessage: '{amount, plural, one {a minute} other {# minutes}}',
values: { amount: 9 },
}),
intervalLabel: i18n.translate('data.search.timeBuckets.minuteLabel', {
defaultMessage: '{amount, plural, one {a minute} other {# minutes}}',
values: { amount: 5 },
}),
boundLabel: minuteLabel(9),
intervalLabel: minuteLabel(5),
},
{
bound: moment.duration(3, 'minute'),
interval: moment.duration(1, 'minute'),
boundLabel: i18n.translate('data.search.timeBuckets.minuteLabel', {
defaultMessage: '{amount, plural, one {a minute} other {# minutes}}',
values: { amount: 3 },
}),
intervalLabel: i18n.translate('data.search.timeBuckets.minuteLabel', {
defaultMessage: '{amount, plural, one {a minute} other {# minutes}}',
values: { amount: 1 },
}),
boundLabel: minuteLabel(3),
intervalLabel: minuteLabel(1),
},
{
bound: moment.duration(45, 'second'),
interval: moment.duration(30, 'second'),
boundLabel: i18n.translate('data.search.timeBuckets.secondLabel', {
defaultMessage: '{amount, plural, one {a second} other {# seconds}}',
values: { amount: 45 },
}),
intervalLabel: i18n.translate('data.search.timeBuckets.secondLabel', {
defaultMessage: '{amount, plural, one {a second} other {# seconds}}',
values: { amount: 30 },
}),
boundLabel: secondLabel(45),
intervalLabel: secondLabel(30),
},
{
bound: moment.duration(15, 'second'),
interval: moment.duration(10, 'second'),
boundLabel: i18n.translate('data.search.timeBuckets.secondLabel', {
defaultMessage: '{amount, plural, one {a second} other {# seconds}}',
values: { amount: 15 },
}),
intervalLabel: i18n.translate('data.search.timeBuckets.secondLabel', {
defaultMessage: '{amount, plural, one {a second} other {# seconds}}',
values: { amount: 10 },
}),
boundLabel: secondLabel(15),
intervalLabel: secondLabel(10),
},
{
bound: moment.duration(7.5, 'second'),
interval: moment.duration(5, 'second'),
boundLabel: i18n.translate('data.search.timeBuckets.secondLabel', {
defaultMessage: '{amount, plural, one {a second} other {# seconds}}',
values: { amount: 7.5 },
}),
intervalLabel: i18n.translate('data.search.timeBuckets.secondLabel', {
defaultMessage: '{amount, plural, one {a second} other {# seconds}}',
values: { amount: 5 },
}),
boundLabel: secondLabel(7.5),
intervalLabel: secondLabel(5),
},
{
bound: moment.duration(5, 'second'),
interval: moment.duration(1, 'second'),
boundLabel: i18n.translate('data.search.timeBuckets.secondLabel', {
defaultMessage: '{amount, plural, one {a second} other {# seconds}}',
values: { amount: 5 },
}),
intervalLabel: i18n.translate('data.search.timeBuckets.secondLabel', {
defaultMessage: '{amount, plural, one {a second} other {# seconds}}',
values: { amount: 1 },
}),
boundLabel: secondLabel(5),
intervalLabel: secondLabel(1),
},
{
bound: moment.duration(500, 'ms'),
interval: moment.duration(100, 'ms'),
boundLabel: i18n.translate('data.search.timeBuckets.millisecondLabel', {
defaultMessage: '{amount, plural, one {a millisecond} other {# milliseconds}}',
values: { amount: 500 },
}),
intervalLabel: i18n.translate('data.search.timeBuckets.millisecondLabel', {
defaultMessage: '{amount, plural, one {a millisecond} other {# milliseconds}}',
values: { amount: 100 },
}),
boundLabel: millisecondLabel(500),
intervalLabel: millisecondLabel(100),
},
];

View file

@ -0,0 +1,54 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import { i18n } from '@kbn/i18n';
export const dayLabel = (amount: number) =>
i18n.translate('data.search.timeBuckets.dayLabel', {
defaultMessage: '{amount, plural, one {a day} other {# days}}',
values: { amount },
});
export const hourLabel = (amount: number) =>
i18n.translate('data.search.timeBuckets.hourLabel', {
defaultMessage: '{amount, plural, one {an hour} other {# hours}}',
values: { amount },
});
export const yearLabel = () =>
i18n.translate('data.search.timeBuckets.yearLabel', {
defaultMessage: 'a year',
});
export const minuteLabel = (amount: number) =>
i18n.translate('data.search.timeBuckets.minuteLabel', {
defaultMessage: '{amount, plural, one {a minute} other {# minutes}}',
values: { amount },
});
export const secondLabel = (amount: number) =>
i18n.translate('data.search.timeBuckets.secondLabel', {
defaultMessage: '{amount, plural, one {a second} other {# seconds}}',
values: { amount },
});
export const millisecondLabel = (amount: number) =>
i18n.translate('data.search.timeBuckets.millisecondLabel', {
defaultMessage: '{amount, plural, one {a millisecond} other {# milliseconds}}',
values: { amount },
});
export const infinityLabel = () =>
i18n.translate('data.search.timeBuckets.infinityLabel', {
defaultMessage: 'More than a year',
});
export const monthLabel = () =>
i18n.translate('data.search.timeBuckets.monthLabel', {
defaultMessage: 'a month',
});

View file

@ -96,7 +96,7 @@ export class TableSelector extends Component<TableSelectorProps, TableSelectorSt
data-test-subj="inspectorTableChooser"
>
<FormattedMessage
id="data.inspector.table.tableLabel"
id="data.inspector.table.inspectorTableChooserButton"
defaultMessage="Table {index}"
values={{ index: currentIndex + 1 }}
/>

View file

@ -204,7 +204,7 @@ export function getUiSettings(
<li><strong>{sessionId}:</strong> restricts operations to execute all search requests on the same shards.
This has the benefit of reusing shard caches across requests.</li>
<li><strong>{custom}:</strong> allows you to define a your own preference.
Use <strong>\''courier:customRequestPreference\''</strong> to customize your preference value.</li>
Use <strong>courier:customRequestPreference</strong> to customize your preference value.</li>
<li><strong>{none}:</strong> means do not set a preference.
This might provide better performance because requests can be spread across all shard copies.
However, results might be inconsistent because different shards might be in different refresh states.</li>

View file

@ -39,6 +39,12 @@ import { DuplicateDataViewError, DataViewInsufficientAccessError } from '../erro
const MAX_ATTEMPTS_TO_RESOLVE_CONFLICTS = 3;
const createFetchFieldErrorTitle = ({ id, title }: { id?: string; title?: string }) =>
i18n.translate('dataViews.fetchFieldErrorTitle', {
defaultMessage: 'Error fetching fields for data view {title} (ID: {id})',
values: { id, title },
});
/*
* Attributes of the data view saved object
* @public
@ -661,9 +667,9 @@ export class DataViewsService {
this.onError(
err,
{
title: i18n.translate('dataViews.fetchFieldErrorTitle', {
defaultMessage: 'Error fetching fields for data view {title} (ID: {id})',
values: { id: dataView.id, title: dataView.getIndexPattern() },
title: createFetchFieldErrorTitle({
id: dataView.id,
title: dataView.getIndexPattern(),
}),
},
dataView.getIndexPattern()
@ -722,10 +728,7 @@ export class DataViewsService {
this.onError(
err,
{
title: i18n.translate('dataViews.fetchFieldErrorTitle', {
defaultMessage: 'Error fetching fields for data view {title} (ID: {id})',
values: { id, title },
}),
title: createFetchFieldErrorTitle({ id, title }),
},
title
);
@ -884,10 +887,7 @@ export class DataViewsService {
this.onError(
err,
{
title: i18n.translate('dataViews.fetchFieldErrorTitle', {
defaultMessage: 'Error fetching fields for data view {title} (ID: {id})',
values: { id: savedObject.id, title: spec.title },
}),
title: createFetchFieldErrorTitle({ id: savedObject.id, title: spec.title }),
},
spec.title || ''
);

View file

@ -66,6 +66,7 @@ export const createScriptedFieldsDeprecationsConfig: (
allTitles: indexPatternTitles.join('; '),
numberOfIndexPatternsWithScriptedFields: indexPatternsWithScriptedFields.length,
},
ignoreTag: true,
}),
],
},

View file

@ -71,7 +71,7 @@ export const createHeartbeatInstructions = (context: TutorialContext) => {
'sudo rpm -vi heartbeat-{config.kibana.version}-x86_64.rpm',
],
textPost: i18n.translate(
'home.tutorials.common.heartbeatInstructions.install.debTextPost',
'home.tutorials.common.heartbeatInstructions.install.rpmTextPost',
{
defaultMessage: 'Looking for the 32-bit packages? See the [Download page]({link}).',
values: { link: 'https://www.elastic.co/downloads/beats/heartbeat' },

View file

@ -82,7 +82,7 @@ export const createMetricbeatInstructions = memoize(
'sudo rpm -vi metricbeat-{config.kibana.version}-x86_64.rpm',
],
textPost: i18n.translate(
'home.tutorials.common.metricbeatInstructions.install.debTextPost',
'home.tutorials.common.metricbeatInstructions.install.rpmTextPost',
{
defaultMessage: 'Looking for the 32-bit packages? See the [Download page]({link}).',
values: { link: 'https://www.elastic.co/downloads/beats/metricbeat' },

View file

@ -26,7 +26,7 @@ const strings = {
getShareableZipErrorTitle: (workpadName: string) =>
i18n.translate('xpack.canvas.workpadHeaderShareMenu.shareWebsiteErrorTitle', {
defaultMessage:
"Failed to create {ZIP} file for '{workpadName}'. The workpad may be too large. You'll need to download the files separately.",
"Failed to create {ZIP} file for ''{workpadName}''. The workpad may be too large. You'll need to download the files separately.",
values: {
ZIP,
workpadName,

View file

@ -10,7 +10,7 @@ import { i18n } from '@kbn/i18n';
export const txtDestinationDashboardNotFound = (dashboardId?: string) =>
i18n.translate('xpack.dashboard.drilldown.errorDestinationDashboardIsMissing', {
defaultMessage:
"Destination dashboard ('{dashboardId}') no longer exists. Choose another dashboard.",
"Destination dashboard (''{dashboardId}'') no longer exists. Choose another dashboard.",
values: {
dashboardId,
},

View file

@ -43,6 +43,7 @@ export const ColumnHeaders: React.FC = () => {
{
defaultMessage:
'A snippet is an escaped representaiton of a field value. Query matches are encapsulated in <em> tags for highlighting. Fallback will look for a snippet match, but fallback to an escaped raw value if none is found. Range is between 20-1000. Defaults to 100.',
ignoreTag: true,
}
)}
/>

View file

@ -378,7 +378,7 @@ export function useOnSubmit({
notifications.toasts.addSuccess({
title: i18n.translate('xpack.fleet.createPackagePolicy.addedNotificationTitle', {
defaultMessage: `'{packagePolicyName}' integration added.`,
defaultMessage: `''{packagePolicyName}'' integration added.`,
values: {
packagePolicyName: packagePolicy.name,
},

View file

@ -402,6 +402,7 @@ export const AdvancedStepForm: FC<CreateAnalyticsStepProps> = ({
{
defaultMessage:
'Define the name of the prediction field in the results. The default is <dependent_variable>_prediction.',
ignoreTag: true,
}
)}
>

View file

@ -269,6 +269,7 @@ export const MetricExpression = ({
helpText={i18n.translate('xpack.infra.waffle.alerting.customMetrics.helpText', {
defaultMessage:
'Choose a name to help identify your custom metric. Defaults to "<function> of <field name>".',
ignoreTag: true,
})}
>
<EuiFieldText

View file

@ -68,7 +68,7 @@ export const IndexSetupDatasetFilter: React.FC<{
>
<FormattedMessage
id="xpack.infra.analysisSetup.indexDatasetFilterIncludeAllButtonLabel"
defaultMessage="{includeType, select, includeAll {All datasets} includeSome {{includedDatasetCount, plural, one {# dataset} other {# datasets}}}}"
defaultMessage="{includeType, select, includeAll {All datasets} other {{includedDatasetCount, plural, one {# dataset} other {# datasets}}}}"
values={{
includeType: datasetFilter.type,
includedDatasetCount:

View file

@ -230,7 +230,7 @@ const AnomalyMessage = ({ anomaly }: { anomaly: TableItem }) => {
'xpack.infra.logs.analysis.anomaliesTableMoreThanExpectedAnomalyMessage',
{
defaultMessage:
'more log messages in this {type, select, logRate {dataset} logCategory {category}} than expected',
'more log messages in this {type, select, logRate {dataset} logCategory {category} other{#}} than expected',
values: { type },
}
);
@ -239,7 +239,7 @@ const AnomalyMessage = ({ anomaly }: { anomaly: TableItem }) => {
'xpack.infra.logs.analysis.anomaliesTableFewerThanExpectedAnomalyMessage',
{
defaultMessage:
'fewer log messages in this {type, select, logRate {dataset} logCategory {category}} than expected',
'fewer log messages in this {type, select, logRate {dataset} logCategory {category} other{#}} than expected',
values: { type },
}
);

View file

@ -50,6 +50,7 @@ export function SettingsTab() {
{
defaultMessage:
'Toggle the AI Assistant button and Contextual Insights on or off in Observability apps by checking or unchecking the AI Assistant feature in Spaces > <your space> > Features.',
ignoreTag: true,
}
)}
</p>

View file

@ -122,6 +122,7 @@ export const securityConfigDeprecationProvider: ConfigDeprecationProvider = ({
title: i18n.translate('xpack.security.deprecations.maxRedirectURLSizeTitle', {
defaultMessage:
'"xpack.security.authc.providers.saml.<provider-name>.maxRedirectURLSize" has no effect',
ignoreTag: true,
}),
message: i18n.translate('xpack.security.deprecations.maxRedirectURLSizeMessage', {
defaultMessage: 'This setting is no longer used.',
@ -133,6 +134,7 @@ export const securityConfigDeprecationProvider: ConfigDeprecationProvider = ({
i18n.translate('xpack.security.deprecations.maxRedirectURLSize.manualSteps1', {
defaultMessage:
'Remove "xpack.security.authc.providers.saml.<provider-name>.maxRedirectURLSize" from kibana.yml.',
ignoreTag: true,
}),
],
},

View file

@ -18,5 +18,5 @@ export const CHECKBOX_FOR_ROW = ({
i18n.translate('xpack.securitySolution.controlColumns.checkboxForRowAriaLabel', {
values: { ariaRowindex, checked, columnValues },
defaultMessage:
'{checked, select, false {unchecked} true {checked}} checkbox for the alert or event in row {ariaRowindex}, with columns {columnValues}',
'{checked, select, true {checked} other {unchecked}} checkbox for the alert or event in row {ariaRowindex}, with columns {columnValues}',
});

View file

@ -223,7 +223,6 @@ export const ThresholdVisualization: React.FunctionComponent<Props> = ({
<FormattedMessage
id="xpack.stackAlerts.threshold.ui.visualization.errorLoadingAlertVisualizationTitle"
defaultMessage="Cannot load alert visualization"
values={{}}
/>
}
color="danger"

View file

@ -324,7 +324,6 @@
"console.requestOptions.openDocumentationButtonLabel": "Ouvrir la documentation",
"console.requestOptionsButtonAriaLabel": "Options de requête",
"console.requestTimeElapasedBadgeTooltipContent": "Temps écoulé",
"console.sendRequestButtonTooltip": "Cliquer pour envoyer la requête",
"console.settingsPage.accessibilityOverlayLabel": "Superposition daccessibilité",
"console.settingsPage.autocompleteLabel": "Saisie semi-automatique",
"console.settingsPage.cancelButtonLabel": "Annuler",
@ -44139,7 +44138,6 @@
"advancedSettings.advancedSettingsLabel": "Paramètres avancés",
"advancedSettings.featureCatalogueTitle": "Personnalisez votre expérience Kibana : modifiez le format de date, activez le mode sombre, et bien plus encore.",
"aiAssistantManagementSelection.aiAssistantSelectionPage.observabilityLabel": "Assistant d'IA Elastic pour Observability",
"aiAssistantManagementSelection.aiAssistantSelectionPage.thisFeatureIsDisabledCallOutLabel": "Cette fonctionnalité est désactivée. Elle peut être activée dans Espaces > Fonctionnalités.",
"aiAssistantManagementSelection.aiAssistantSettingsPage.descriptionTextLabel": "L'Assistant d'IA utilise l'IA générative pour aider votre équipe en expliquant les erreurs, en suggérant une résolution et en vous aidant à demander, analyser et visualiser vos données.",
"aiAssistantManagementSelection.aiAssistantSettingsPage.h2.aIAssistantLabel": "Assistant d'intelligence artificielle",
"aiAssistantManagementSelection.aiAssistantSettingsPage.obsAssistant.documentationLinkLabel": "Documentation",
@ -44857,4 +44855,4 @@
"xpack.serverlessObservability.nav.projectSettings": "Paramètres de projet",
"xpack.serverlessObservability.nav.synthetics": "Synthetics"
}
}
}

View file

@ -324,7 +324,6 @@
"console.requestOptions.openDocumentationButtonLabel": "ドキュメントを開く",
"console.requestOptionsButtonAriaLabel": "リクエストオプション",
"console.requestTimeElapasedBadgeTooltipContent": "経過時間",
"console.sendRequestButtonTooltip": "クリックしてリクエストを送信",
"console.settingsPage.accessibilityOverlayLabel": "アクセシビリティオーバーレイ",
"console.settingsPage.autocompleteLabel": "自動入力",
"console.settingsPage.cancelButtonLabel": "キャンセル",
@ -44111,7 +44110,6 @@
"advancedSettings.advancedSettingsLabel": "高度な設定",
"advancedSettings.featureCatalogueTitle": "日付形式の変更、ダークモードの有効化など、Kibanaエクスペリエンスをカスタマイズします。",
"aiAssistantManagementSelection.aiAssistantSelectionPage.observabilityLabel": "Elastic AI Assistant for Observability",
"aiAssistantManagementSelection.aiAssistantSelectionPage.thisFeatureIsDisabledCallOutLabel": "この機能は無効です。[スペース]>[機能]から有効化できます。",
"aiAssistantManagementSelection.aiAssistantSettingsPage.descriptionTextLabel": "AI Assistantは、生成AIを使用して、エラーを説明したり、改善策を提案したり、データのリクエスト、分析、可視化を支援したりすることで、チームを支援します。",
"aiAssistantManagementSelection.aiAssistantSettingsPage.h2.aIAssistantLabel": "AI Assistant",
"aiAssistantManagementSelection.aiAssistantSettingsPage.obsAssistant.documentationLinkLabel": "ドキュメント",
@ -44829,4 +44827,4 @@
"xpack.serverlessObservability.nav.projectSettings": "プロジェクト設定",
"xpack.serverlessObservability.nav.synthetics": "Synthetics"
}
}
}

View file

@ -324,7 +324,6 @@
"console.requestOptions.openDocumentationButtonLabel": "打开文档",
"console.requestOptionsButtonAriaLabel": "请求选项",
"console.requestTimeElapasedBadgeTooltipContent": "已用时间",
"console.sendRequestButtonTooltip": "单击以发送请求",
"console.settingsPage.accessibilityOverlayLabel": "辅助功能覆盖",
"console.settingsPage.autocompleteLabel": "自动完成",
"console.settingsPage.cancelButtonLabel": "取消",
@ -44159,7 +44158,6 @@
"advancedSettings.advancedSettingsLabel": "高级设置",
"advancedSettings.featureCatalogueTitle": "定制您的 Kibana 体验 — 更改日期格式、打开深色模式,等等。",
"aiAssistantManagementSelection.aiAssistantSelectionPage.observabilityLabel": "适用于 Observability 的 Elastic AI 助手",
"aiAssistantManagementSelection.aiAssistantSelectionPage.thisFeatureIsDisabledCallOutLabel": "此功能处于禁用状态。可以从“工作区 > 功能”中启用该功能。",
"aiAssistantManagementSelection.aiAssistantSettingsPage.descriptionTextLabel": "通过解释错误建议补救措施并帮助您请求、分析和可视化数据AI 助手使用生成式 AI 来为您的团队提供帮助。",
"aiAssistantManagementSelection.aiAssistantSettingsPage.h2.aIAssistantLabel": "AI 助手",
"aiAssistantManagementSelection.aiAssistantSettingsPage.obsAssistant.documentationLinkLabel": "文档",
@ -44877,4 +44875,4 @@
"xpack.serverlessObservability.nav.projectSettings": "项目设置",
"xpack.serverlessObservability.nav.synthetics": "Synthetics"
}
}
}

View file

@ -187,7 +187,6 @@ const SuccessfulExecution = () => (
'xpack.triggersActionsUI.sections.testConnectorForm.executionSuccessfulTitle',
{
defaultMessage: 'Test was successful',
values: {},
}
)}
color="success"

View file

@ -42,6 +42,7 @@ export function getShardCapacityDeprecationInfo({
{
defaultMessage:
'The number of nodes that are running low on disk and it is likely that they will run out of space. Their disk usage has tripped the <<cluster-routing-watermark-high, high watermark threshold>>.',
ignoreTag: true,
}
)
);
@ -54,6 +55,7 @@ export function getShardCapacityDeprecationInfo({
{
defaultMessage:
'The number of nodes that have run out of disk. Their disk usage has tripped the <<cluster-routing-flood-stage, flood stagewatermark threshold>>.',
ignoreTag: true,
}
)
);