[Enterprise Search] DRY out various repeated action button copy (#95114)

* DRY out repeated button/table/modal actions copy to a shared file

* DRY out 'Edit' copy

* DRY out 'Delete' copy

* DRY out 'Save' copy

* DRY out 'Cancel' copy

* DRY out 'Continue' copy

* DRY out 'Close' copy

* DRY out 'Manage' copy

* DRY out 'Update' copy

* [WS] DRY repeated 'Update'/'Save'/'Cancel' copy

* [AS] DRY out 'Restore defaults' button

- used on 2 pages so far, and will also be used on result settings

* PR feedback: Add _BUTTON_LABEL specificity
This commit is contained in:
Constance 2021-03-29 10:57:25 -07:00 committed by GitHub
parent f667aa2d29
commit 04340d3ad1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
33 changed files with 152 additions and 246 deletions

View file

@ -9,6 +9,7 @@ import React from 'react';
import { i18n } from '@kbn/i18n';
import { EDIT_BUTTON_LABEL } from '../../../../../shared/constants';
import { flashAPIErrors } from '../../../../../shared/flash_messages';
import { HttpLogic } from '../../../../../shared/http';
import { KibanaLogic } from '../../../../../shared/kibana';
@ -71,9 +72,7 @@ export const ACTIONS_COLUMN = {
'data-test-subj': 'AnalyticsTableViewQueryButton',
},
{
name: i18n.translate('xpack.enterpriseSearch.appSearch.engine.analytics.table.editAction', {
defaultMessage: 'Edit',
}),
name: EDIT_BUTTON_LABEL,
description: i18n.translate(
'xpack.enterpriseSearch.appSearch.engine.analytics.table.editTooltip',
{ defaultMessage: 'Manage curation' }

View file

@ -16,7 +16,12 @@ import {
EuiButtonEmpty,
EuiButton,
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import {
CLOSE_BUTTON_LABEL,
SAVE_BUTTON_LABEL,
UPDATE_BUTTON_LABEL,
} from '../../../../shared/constants';
import { CredentialsLogic } from '../credentials_logic';
@ -29,9 +34,7 @@ export const CredentialsFlyoutFooter: React.FC = () => {
<EuiFlexGroup justifyContent="spaceBetween">
<EuiFlexItem grow={false}>
<EuiButtonEmpty iconType="cross" onClick={hideCredentialsForm}>
{i18n.translate('xpack.enterpriseSearch.appSearch.credentials.flyout.closeText', {
defaultMessage: 'Close',
})}
{CLOSE_BUTTON_LABEL}
</EuiButtonEmpty>
</EuiFlexItem>
<EuiFlexItem grow={false}>
@ -42,13 +45,7 @@ export const CredentialsFlyoutFooter: React.FC = () => {
iconType="check"
data-test-subj="APIKeyActionButton"
>
{activeApiTokenExists
? i18n.translate('xpack.enterpriseSearch.appSearch.credentials.flyout.updateText', {
defaultMessage: 'Update',
})
: i18n.translate('xpack.enterpriseSearch.appSearch.credentials.flyout.saveText', {
defaultMessage: 'Save',
})}
{activeApiTokenExists ? UPDATE_BUTTON_LABEL : SAVE_BUTTON_LABEL}
</EuiButton>
</EuiFlexItem>
</EuiFlexGroup>

View file

@ -12,6 +12,7 @@ import { useActions, useValues } from 'kea';
import { EuiBasicTable, EuiBasicTableColumn, EuiCopy, EuiEmptyPrompt } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { EDIT_BUTTON_LABEL, DELETE_BUTTON_LABEL } from '../../../../shared/constants';
import { HiddenText } from '../../../../shared/hidden_text';
import { convertMetaToPagination, handlePageChange } from '../../../../shared/table_pagination';
import { TOKEN_TYPE_DISPLAY_NAMES } from '../constants';
@ -82,9 +83,7 @@ export const CredentialsList: React.FC = () => {
{
actions: [
{
name: i18n.translate('xpack.enterpriseSearch.actions.edit', {
defaultMessage: 'Edit',
}),
name: EDIT_BUTTON_LABEL,
description: i18n.translate('xpack.enterpriseSearch.appSearch.credentials.editKey', {
defaultMessage: 'Edit API Key',
}),
@ -94,9 +93,7 @@ export const CredentialsList: React.FC = () => {
onClick: (token: ApiToken) => showCredentialsForm(token),
},
{
name: i18n.translate('xpack.enterpriseSearch.actions.delete', {
defaultMessage: 'Delete',
}),
name: DELETE_BUTTON_LABEL,
description: i18n.translate('xpack.enterpriseSearch.appSearch.credentials.deleteKey', {
defaultMessage: 'Delete API Key',
}),

View file

@ -12,6 +12,8 @@ import { useValues, useActions } from 'kea';
import { EuiButton, EuiButtonEmpty, EuiSpacer } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { CONTINUE_BUTTON_LABEL } from '../../../../../shared/constants';
import { Curation } from '../../types';
import { CurationQueriesLogic } from './curation_queries_logic';
@ -28,9 +30,7 @@ interface Props {
export const CurationQueries: React.FC<Props> = ({
queries: initialQueries,
onSubmit,
submitButtonText = i18n.translate('xpack.enterpriseSearch.actions.continue', {
defaultMessage: 'Continue',
}),
submitButtonText = CONTINUE_BUTTON_LABEL,
}) => {
const logic = CurationQueriesLogic({ queries: initialQueries });
const { queries, hasEmptyQueries, hasOnlyOneQuery } = useValues(logic);

View file

@ -10,6 +10,8 @@ import React from 'react';
import { EuiFlexGroup, EuiFlexItem, EuiFieldText, EuiButtonIcon } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { DELETE_BUTTON_LABEL } from '../../../../../shared/constants';
interface Props {
queryValue: string;
onChange(newValue: string): void;
@ -41,9 +43,7 @@ export const CurationQuery: React.FC<Props> = ({
color="danger"
onClick={onDelete}
isDisabled={disableDelete}
aria-label={i18n.translate('xpack.enterpriseSearch.actions.delete', {
defaultMessage: 'Delete',
})}
aria-label={DELETE_BUTTON_LABEL}
data-test-subj="deleteCurationQueryButton"
/>
</EuiFlexItem>

View file

@ -11,13 +11,13 @@ import { useParams } from 'react-router-dom';
import { useValues, useActions } from 'kea';
import { EuiPageHeader, EuiSpacer, EuiFlexGroup, EuiFlexItem, EuiButton } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { FlashMessages } from '../../../../shared/flash_messages';
import { SetAppSearchChrome as SetPageChrome } from '../../../../shared/kibana_chrome';
import { BreadcrumbTrail } from '../../../../shared/kibana_chrome/generate_breadcrumbs';
import { Loading } from '../../../../shared/loading';
import { RESTORE_DEFAULTS_BUTTON_LABEL } from '../../../constants';
import { MANAGE_CURATION_TITLE, RESTORE_CONFIRMATION } from '../constants';
import { CurationLogic } from './curation_logic';
@ -53,9 +53,7 @@ export const Curation: React.FC<Props> = ({ curationsBreadcrumb }) => {
if (window.confirm(RESTORE_CONFIRMATION)) resetCuration();
}}
>
{i18n.translate('xpack.enterpriseSearch.appSearch.actions.restoreDefaults', {
defaultMessage: 'Restore defaults',
})}
{RESTORE_DEFAULTS_BUTTON_LABEL}
</EuiButton>,
]}
responsive={false}

View file

@ -20,6 +20,8 @@ import {
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { SAVE_BUTTON_LABEL } from '../../../../../shared/constants';
import { CurationQueries } from '../../components';
import { CurationLogic } from '../curation_logic';
@ -61,9 +63,7 @@ export const ManageQueriesModal: React.FC = () => {
<EuiSpacer />
<CurationQueries
queries={queries}
submitButtonText={i18n.translate('xpack.enterpriseSearch.actions.save', {
defaultMessage: 'Save',
})}
submitButtonText={SAVE_BUTTON_LABEL}
onSubmit={(newQueries) => {
updateQueries(newQueries);
hideModal();

View file

@ -18,6 +18,7 @@ import {
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { EDIT_BUTTON_LABEL, DELETE_BUTTON_LABEL } from '../../../../shared/constants';
import { FlashMessages } from '../../../../shared/flash_messages';
import { KibanaLogic } from '../../../../shared/kibana';
import { Loading } from '../../../../shared/loading';
@ -105,10 +106,7 @@ export const CurationsTable: React.FC = () => {
width: '120px',
actions: [
{
name: i18n.translate(
'xpack.enterpriseSearch.appSearch.engine.curations.table.editAction',
{ defaultMessage: 'Edit' }
),
name: EDIT_BUTTON_LABEL,
description: i18n.translate(
'xpack.enterpriseSearch.appSearch.engine.curations.table.editTooltip',
{ defaultMessage: 'Edit curation' }
@ -124,10 +122,7 @@ export const CurationsTable: React.FC = () => {
'data-test-subj': 'CurationsTableEditButton',
},
{
name: i18n.translate(
'xpack.enterpriseSearch.appSearch.engine.curations.table.deleteAction',
{ defaultMessage: 'Delete' }
),
name: DELETE_BUTTON_LABEL,
description: i18n.translate(
'xpack.enterpriseSearch.appSearch.engine.curations.table.deleteTooltip',
{ defaultMessage: 'Delete curation' }

View file

@ -9,19 +9,6 @@ import { i18n } from '@kbn/i18n';
export const FLYOUT_ARIA_LABEL_ID = 'documentCreationFlyoutHeadingId';
export const FLYOUT_CANCEL_BUTTON = i18n.translate(
'xpack.enterpriseSearch.appSearch.documentCreation.flyoutCancel',
{ defaultMessage: 'Cancel' }
);
export const FLYOUT_CONTINUE_BUTTON = i18n.translate(
'xpack.enterpriseSearch.appSearch.documentCreation.flyoutContinue',
{ defaultMessage: 'Continue' }
);
export const FLYOUT_CLOSE_BUTTON = i18n.translate(
'xpack.enterpriseSearch.appSearch.documentCreation.modalClose',
{ defaultMessage: 'Close' }
);
export const DOCUMENT_CREATION_ERRORS = {
TITLE: i18n.translate('xpack.enterpriseSearch.appSearch.documentCreation.errorsTitle', {
defaultMessage: 'Something went wrong. Please address the errors and try again.',

View file

@ -30,15 +30,13 @@ import {
import { i18n } from '@kbn/i18n';
import { FormattedMessage } from '@kbn/i18n/react';
import { CANCEL_BUTTON_LABEL } from '../../../../shared/constants';
import { getEnterpriseSearchUrl } from '../../../../shared/enterprise_search_url';
import { DOCS_PREFIX } from '../../../routes';
import { EngineLogic } from '../../engine';
import { EngineDetails } from '../../engine/types';
import {
DOCUMENTS_API_JSON_EXAMPLE,
FLYOUT_ARIA_LABEL_ID,
FLYOUT_CANCEL_BUTTON,
} from '../constants';
import { DOCUMENTS_API_JSON_EXAMPLE, FLYOUT_ARIA_LABEL_ID } from '../constants';
import { DocumentCreationLogic } from '../index';
export const ApiCodeExample: React.FC = () => (
@ -136,7 +134,7 @@ export const FlyoutFooter: React.FC = () => {
return (
<EuiFlyoutFooter>
<EuiButtonEmpty onClick={closeDocumentCreation}>{FLYOUT_CANCEL_BUTTON}</EuiButtonEmpty>
<EuiButtonEmpty onClick={closeDocumentCreation}>{CANCEL_BUTTON_LABEL}</EuiButtonEmpty>
</EuiFlyoutFooter>
);
};

View file

@ -24,9 +24,10 @@ import {
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { CANCEL_BUTTON_LABEL, CONTINUE_BUTTON_LABEL } from '../../../../shared/constants';
import { AppLogic } from '../../../app_logic';
import { FLYOUT_ARIA_LABEL_ID, FLYOUT_CANCEL_BUTTON, FLYOUT_CONTINUE_BUTTON } from '../constants';
import { FLYOUT_ARIA_LABEL_ID } from '../constants';
import { Errors } from '../creation_response_components';
import { DocumentCreationLogic } from '../index';
@ -103,11 +104,11 @@ export const FlyoutFooter: React.FC = () => {
<EuiFlyoutFooter>
<EuiFlexGroup justifyContent="spaceBetween">
<EuiFlexItem grow={false}>
<EuiButtonEmpty onClick={closeDocumentCreation}>{FLYOUT_CANCEL_BUTTON}</EuiButtonEmpty>
<EuiButtonEmpty onClick={closeDocumentCreation}>{CANCEL_BUTTON_LABEL}</EuiButtonEmpty>
</EuiFlexItem>
<EuiFlexItem grow={false}>
<EuiButton fill onClick={onSubmitJson} isLoading={isUploading} isDisabled={!textInput}>
{FLYOUT_CONTINUE_BUTTON}
{CONTINUE_BUTTON_LABEL}
</EuiButton>
</EuiFlexItem>
</EuiFlexGroup>

View file

@ -18,7 +18,8 @@ import {
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { FLYOUT_ARIA_LABEL_ID, FLYOUT_CANCEL_BUTTON } from '../constants';
import { CANCEL_BUTTON_LABEL } from '../../../../shared/constants';
import { FLYOUT_ARIA_LABEL_ID } from '../constants';
import { DocumentCreationLogic, DocumentCreationButtons } from '../index';
export const ShowCreationModes: React.FC = () => {
@ -40,7 +41,7 @@ export const ShowCreationModes: React.FC = () => {
<DocumentCreationButtons />
</EuiFlyoutBody>
<EuiFlyoutFooter>
<EuiButtonEmpty onClick={closeDocumentCreation}>{FLYOUT_CANCEL_BUTTON}</EuiButtonEmpty>
<EuiButtonEmpty onClick={closeDocumentCreation}>{CANCEL_BUTTON_LABEL}</EuiButtonEmpty>
</EuiFlyoutFooter>
</>
);

View file

@ -24,9 +24,10 @@ import {
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { CANCEL_BUTTON_LABEL, CONTINUE_BUTTON_LABEL } from '../../../../shared/constants';
import { AppLogic } from '../../../app_logic';
import { FLYOUT_ARIA_LABEL_ID, FLYOUT_CANCEL_BUTTON, FLYOUT_CONTINUE_BUTTON } from '../constants';
import { FLYOUT_ARIA_LABEL_ID } from '../constants';
import { Errors } from '../creation_response_components';
import { DocumentCreationLogic } from '../index';
@ -97,11 +98,11 @@ export const FlyoutFooter: React.FC = () => {
<EuiFlyoutFooter>
<EuiFlexGroup justifyContent="spaceBetween">
<EuiFlexItem grow={false}>
<EuiButtonEmpty onClick={closeDocumentCreation}>{FLYOUT_CANCEL_BUTTON}</EuiButtonEmpty>
<EuiButtonEmpty onClick={closeDocumentCreation}>{CANCEL_BUTTON_LABEL}</EuiButtonEmpty>
</EuiFlexItem>
<EuiFlexItem grow={false}>
<EuiButton fill onClick={onSubmitFile} isLoading={isUploading} isDisabled={!fileInput}>
{FLYOUT_CONTINUE_BUTTON}
{CONTINUE_BUTTON_LABEL}
</EuiButton>
</EuiFlexItem>
</EuiFlexGroup>

View file

@ -21,8 +21,9 @@ import {
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { DocumentCreationLogic } from '../';
import { FLYOUT_ARIA_LABEL_ID, FLYOUT_CLOSE_BUTTON, DOCUMENT_CREATION_ERRORS } from '../constants';
import { CLOSE_BUTTON_LABEL } from '../../../../shared/constants';
import { FLYOUT_ARIA_LABEL_ID, DOCUMENT_CREATION_ERRORS } from '../constants';
import { DocumentCreationLogic } from '../index';
import { DocumentCreationStep } from '../types';
import {
@ -80,7 +81,7 @@ export const FlyoutFooter: React.FC = () => {
<EuiFlyoutFooter>
<EuiFlexGroup justifyContent="spaceBetween">
<EuiFlexItem grow={false}>
<EuiButton onClick={closeDocumentCreation}>{FLYOUT_CLOSE_BUTTON}</EuiButton>
<EuiButton onClick={closeDocumentCreation}>{CLOSE_BUTTON_LABEL}</EuiButton>
</EuiFlexItem>
{hasInvalidDocuments && (
<EuiFlexItem grow={false}>

View file

@ -20,6 +20,7 @@ import {
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { DELETE_BUTTON_LABEL } from '../../../shared/constants';
import { FlashMessages } from '../../../shared/flash_messages';
import { SetAppSearchChrome as SetPageChrome } from '../../../shared/kibana_chrome';
import { Loading } from '../../../shared/loading';
@ -86,9 +87,7 @@ export const DocumentDetail: React.FC<Props> = ({ engineBreadcrumb }) => {
onClick={() => deleteDocument(documentId)}
data-test-subj="DeleteDocumentButton"
>
{i18n.translate('xpack.enterpriseSearch.appSearch.documentDetail.deleteButton', {
defaultMessage: 'Delete',
})}
{DELETE_BUTTON_LABEL}
</EuiButton>,
]}
/>

View file

@ -23,6 +23,8 @@ import {
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { SAVE_BUTTON_LABEL, CANCEL_BUTTON_LABEL } from '../../../../shared/constants';
import { EngineLogic } from '../../engine';
interface Props {
@ -124,14 +126,7 @@ export const CustomizationModal: React.FC<Props> = ({
</EuiForm>
</EuiModalBody>
<EuiModalFooter>
<EuiButtonEmpty onClick={onClose}>
{i18n.translate(
'xpack.enterpriseSearch.appSearch.documents.search.customizationModal.cancel',
{
defaultMessage: 'Cancel',
}
)}
</EuiButtonEmpty>
<EuiButtonEmpty onClick={onClose}>{CANCEL_BUTTON_LABEL}</EuiButtonEmpty>
<EuiButton
fill
onClick={() => {
@ -141,12 +136,7 @@ export const CustomizationModal: React.FC<Props> = ({
});
}}
>
{i18n.translate(
'xpack.enterpriseSearch.appSearch.documents.search.customizationModal.save',
{
defaultMessage: 'Save',
}
)}
{SAVE_BUTTON_LABEL}
</EuiButton>
</EuiModalFooter>
</EuiModal>

View file

@ -18,6 +18,7 @@ import {
import { i18n } from '@kbn/i18n';
import { FormattedNumber } from '@kbn/i18n/react';
import { MANAGE_BUTTON_LABEL, DELETE_BUTTON_LABEL } from '../../../shared/constants';
import { KibanaLogic } from '../../../shared/kibana';
import { EuiLinkTo } from '../../../shared/react_router_helpers';
import { TelemetryLogic } from '../../../shared/telemetry';
@ -145,12 +146,7 @@ export const EnginesTable: React.FC<EnginesTableProps> = ({
}),
actions: [
{
name: i18n.translate(
'xpack.enterpriseSearch.appSearch.enginesOverview.table.action.manage',
{
defaultMessage: 'Manage',
}
),
name: MANAGE_BUTTON_LABEL,
description: i18n.translate(
'xpack.enterpriseSearch.appSearch.enginesOverview.table.action.manage.buttonDescription',
{
@ -165,12 +161,7 @@ export const EnginesTable: React.FC<EnginesTableProps> = ({
},
},
{
name: i18n.translate(
'xpack.enterpriseSearch.appSearch.enginesOverview.table.action.delete.buttonLabel',
{
defaultMessage: 'Delete',
}
),
name: DELETE_BUTTON_LABEL,
description: i18n.translate(
'xpack.enterpriseSearch.appSearch.enginesOverview.table.action.delete.buttonDescription',
{

View file

@ -13,8 +13,10 @@ import { EuiPageHeader, EuiSpacer, EuiButton } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { SAVE_BUTTON_LABEL } from '../../../shared/constants';
import { FlashMessages } from '../../../shared/flash_messages';
import { SetAppSearchChrome as SetPageChrome } from '../../../shared/kibana_chrome';
import { RESTORE_DEFAULTS_BUTTON_LABEL } from '../../constants';
import { RELEVANCE_TUNING_TITLE } from './constants';
import { RelevanceTuningCallouts } from './relevance_tuning_callouts';
@ -47,24 +49,14 @@ export const RelevanceTuningLayout: React.FC<Props> = ({ engineBreadcrumb, child
fill
onClick={updateSearchSettings}
>
{i18n.translate(
'xpack.enterpriseSearch.appSearch.engine.relevanceTuning.saveButtonLabel',
{
defaultMessage: 'Save',
}
)}
{SAVE_BUTTON_LABEL}
</EuiButton>,
<EuiButton
data-test-subj="ResetRelevanceTuning"
color="danger"
onClick={resetSearchSettings}
>
{i18n.translate(
'xpack.enterpriseSearch.appSearch.engine.relevanceTuning.resetButtonLabel',
{
defaultMessage: 'Restore defaults',
}
)}
{RESTORE_DEFAULTS_BUTTON_LABEL}
</EuiButton>,
]
: []

View file

@ -22,6 +22,8 @@ import {
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { CANCEL_BUTTON_LABEL } from '../../../../shared/constants';
interface GenericConfirmationModalProps {
description: ReactNode;
subheading: ReactNode;
@ -77,9 +79,7 @@ export const GenericConfirmationModal: React.FC<GenericConfirmationModalProps> =
</EuiModalBody>
<EuiModalFooter>
<EuiButtonEmpty data-test-subj="GenericConfirmationModalCancel" onClick={onClose}>
{i18n.translate('xpack.enterpriseSearch.appSearch.settings.logRetention.modal.cancel', {
defaultMessage: 'Cancel',
})}
{CANCEL_BUTTON_LABEL}
</EuiButtonEmpty>
<EuiButton
data-test-subj="GenericConfirmationModalSave"

View file

@ -15,3 +15,10 @@ export const UNIVERSAL_LANGUAGE = i18n.translate(
defaultMessage: 'Universal',
}
);
export const RESTORE_DEFAULTS_BUTTON_LABEL = i18n.translate(
'xpack.enterpriseSearch.appSearch.actions.restoreDefaultsButonLabel',
{
defaultMessage: 'Restore defaults',
}
);

View file

@ -0,0 +1,46 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { i18n } from '@kbn/i18n';
export const MANAGE_BUTTON_LABEL = i18n.translate(
'xpack.enterpriseSearch.actions.manageButtonLabel',
{ defaultMessage: 'Manage' }
);
export const EDIT_BUTTON_LABEL = i18n.translate('xpack.enterpriseSearch.actions.editButtonLabel', {
defaultMessage: 'Edit',
});
export const DELETE_BUTTON_LABEL = i18n.translate(
'xpack.enterpriseSearch.actions.deleteButtonLabel',
{ defaultMessage: 'Delete' }
);
export const UPDATE_BUTTON_LABEL = i18n.translate(
'xpack.enterpriseSearch.actions.updateButtonLabel',
{ defaultMessage: 'Update' }
);
export const SAVE_BUTTON_LABEL = i18n.translate('xpack.enterpriseSearch.actions.saveButtonLabel', {
defaultMessage: 'Save',
});
export const CANCEL_BUTTON_LABEL = i18n.translate(
'xpack.enterpriseSearch.actions.cancelButtonLabel',
{ defaultMessage: 'Cancel' }
);
export const CONTINUE_BUTTON_LABEL = i18n.translate(
'xpack.enterpriseSearch.actions.continueButtonLabel',
{ defaultMessage: 'Continue' }
);
export const CLOSE_BUTTON_LABEL = i18n.translate(
'xpack.enterpriseSearch.actions.closeButtonLabel',
{ defaultMessage: 'Close' }
);

View file

@ -5,4 +5,5 @@
* 2.0.
*/
export * from './actions';
export { DEFAULT_META } from './default_meta';

View file

@ -101,13 +101,6 @@ export const FILTER_ROLE_MAPPINGS_PLACEHOLDER = i18n.translate(
}
);
export const MANAGE_ROLE_MAPPING_BUTTON = i18n.translate(
'xpack.enterpriseSearch.roleMapping.manageRoleMappingButtonLabel',
{
defaultMessage: 'Manage',
}
);
export const ROLE_MAPPINGS_TITLE = i18n.translate(
'xpack.enterpriseSearch.roleMapping.roleMappingsTitle',
{

View file

@ -25,6 +25,7 @@ import { i18n } from '@kbn/i18n';
import { ASRoleMapping } from '../../app_search/types';
import { WSRoleMapping } from '../../workplace_search/types';
import { MANAGE_BUTTON_LABEL } from '../constants';
import { EuiLinkTo } from '../react_router_helpers';
import { RoleRules } from '../types';
@ -37,7 +38,6 @@ import {
EXTERNAL_ATTRIBUTE_LABEL,
ATTRIBUTE_VALUE_LABEL,
FILTER_ROLE_MAPPINGS_PLACEHOLDER,
MANAGE_ROLE_MAPPING_BUTTON,
} from './constants';
interface AccessItem {
@ -153,11 +153,7 @@ export const RoleMappingsTable: React.FC<Props> = ({
</EuiTableRowCell>
)}
<EuiTableRowCell>
{id && (
<EuiLinkTo to={getRoleMappingPath(id)}>
{MANAGE_ROLE_MAPPING_BUTTON}
</EuiLinkTo>
)}
{id && <EuiLinkTo to={getRoleMappingPath(id)}>{MANAGE_BUTTON_LABEL}</EuiLinkTo>}
{toolTip && <EuiIconTip position="left" content={toolTip.content} />}
</EuiTableRowCell>
</EuiTableRow>

View file

@ -35,13 +35,6 @@ export const FIELD_NAME_MODAL_DESCRIPTION = i18n.translate(
}
);
export const FIELD_NAME_MODAL_CANCEL = i18n.translate(
'xpack.enterpriseSearch.schema.addFieldModal.fieldNameNote.cancel',
{
defaultMessage: 'Cancel',
}
);
export const FIELD_NAME_MODAL_ADD_FIELD = i18n.translate(
'xpack.enterpriseSearch.schema.addFieldModal.fieldNameNote.addField',
{

View file

@ -24,6 +24,7 @@ import {
EuiSpacer,
} from '@elastic/eui';
import { CANCEL_BUTTON_LABEL } from '../constants';
import { TEXT, fieldTypeSelectOptions } from '../constants/field_types';
import {
@ -31,7 +32,6 @@ import {
FIELD_NAME_CORRECTED_PREFIX,
FIELD_NAME_MODAL_TITLE,
FIELD_NAME_MODAL_DESCRIPTION,
FIELD_NAME_MODAL_CANCEL,
FIELD_NAME_MODAL_ADD_FIELD,
} from './constants';
@ -127,7 +127,7 @@ export const SchemaAddFieldModal: React.FC<ISchemaAddFieldModalProps> = ({
</EuiForm>
</EuiModalBody>
<EuiModalFooter>
<EuiButtonEmpty onClick={closeAddFieldModal}>{FIELD_NAME_MODAL_CANCEL}</EuiButtonEmpty>
<EuiButtonEmpty onClick={closeAddFieldModal}>{CANCEL_BUTTON_LABEL}</EuiButtonEmpty>
<EuiButton
color="primary"
fill

View file

@ -7,6 +7,8 @@
import { i18n } from '@kbn/i18n';
import { UPDATE_BUTTON_LABEL, SAVE_BUTTON_LABEL, CANCEL_BUTTON_LABEL } from '../shared/constants';
export const NAV = {
OVERVIEW: i18n.translate('xpack.enterpriseSearch.workplaceSearch.nav.overview', {
defaultMessage: 'Overview',
@ -585,12 +587,9 @@ export const CUSTOMIZE_NAME_BUTTON = i18n.translate(
}
);
export const UPDATE_BUTTON = i18n.translate(
'xpack.enterpriseSearch.workplaceSearch.update.button',
{
defaultMessage: 'Update',
}
);
export const UPDATE_BUTTON = UPDATE_BUTTON_LABEL;
export const SAVE_BUTTON = SAVE_BUTTON_LABEL;
export const CANCEL_BUTTON = CANCEL_BUTTON_LABEL;
export const RESET_BUTTON = i18n.translate('xpack.enterpriseSearch.workplaceSearch.reset.button', {
defaultMessage: 'Reset',
@ -603,17 +602,6 @@ export const CONFIGURE_BUTTON = i18n.translate(
}
);
export const SAVE_BUTTON = i18n.translate('xpack.enterpriseSearch.workplaceSearch.save.button', {
defaultMessage: 'Save',
});
export const CANCEL_BUTTON = i18n.translate(
'xpack.enterpriseSearch.workplaceSearch.cancel.button',
{
defaultMessage: 'Cancel',
}
);
export const OK_BUTTON = i18n.translate('xpack.enterpriseSearch.workplaceSearch.ok.button', {
defaultMessage: 'Ok',
});

View file

@ -27,18 +27,12 @@ import { i18n } from '@kbn/i18n';
import { EuiButtonTo } from '../../../../shared/react_router_helpers';
import noSharedSourcesIcon from '../../../assets/share_circle.svg';
import { CANCEL_BUTTON } from '../../../constants';
import { UPDATE_BUTTON, CANCEL_BUTTON } from '../../../constants';
import { SOURCES_PATH } from '../../../routes';
import { Group } from '../../../types';
import { GroupLogic } from '../group_logic';
import { GroupsLogic } from '../groups_logic';
const UPDATE_BUTTON_TEXT = i18n.translate(
'xpack.enterpriseSearch.workplaceSearch.groups.groupManagerUpdate',
{
defaultMessage: 'Update',
}
);
const ADD_SOURCE_BUTTON_TEXT = i18n.translate(
'xpack.enterpriseSearch.workplaceSearch.groups.groupManagerUpdateAddSourceButton',
{
@ -149,7 +143,7 @@ export const GroupManagerModal: React.FC<GroupManagerModalProps> = ({
</EuiFlexItem>
<EuiFlexItem grow={false}>
<EuiButton isDisabled={false} onClick={saveItems} fill>
{UPDATE_BUTTON_TEXT}
{UPDATE_BUTTON}
</EuiButton>
</EuiFlexItem>
</EuiFlexGroup>

View file

@ -26,6 +26,7 @@ import {
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { SAVE_BUTTON_LABEL } from '../../../../shared/constants';
import { Loading } from '../../../../shared/loading';
import { SourceIcon } from '../../../components/shared/source_icon';
import { ViewContentHeader } from '../../../components/shared/view_content_header';
@ -44,12 +45,6 @@ const HEADER_DESCRIPTION = i18n.translate(
defaultMessage: 'Calibrate relative document importance across group content sources.',
}
);
const HEADER_ACTION_TEXT = i18n.translate(
'xpack.enterpriseSearch.workplaceSearch.groups.sourceProioritization.headerActionText',
{
defaultMessage: 'Save',
}
);
const ZERO_STATE_TITLE = i18n.translate(
'xpack.enterpriseSearch.workplaceSearch.groups.sourceProioritization.zeroStateTitle',
{
@ -96,7 +91,7 @@ export const GroupSourcePrioritization: React.FC = () => {
fill
onClick={saveGroupSourcePrioritization}
>
{HEADER_ACTION_TEXT}
{SAVE_BUTTON_LABEL}
</EuiButton>
);
const handleSliderChange = (

View file

@ -13,16 +13,12 @@ import { EuiConfirmModal } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { Loading } from '../../../../shared/loading';
import { REMOVE_BUTTON, CANCEL_BUTTON } from '../../../constants';
import { SourceDataItem } from '../../../types';
import { AddSourceHeader } from '../../content_sources/components/add_source/add_source_header';
import { AddSourceLogic } from '../../content_sources/components/add_source/add_source_logic';
import { SaveConfig } from '../../content_sources/components/add_source/save_config';
import { staticSourceData } from '../../content_sources/source_data';
import {
CONFIRM_REMOVE_CONFIG_TITLE,
CONFIRM_REMOVE_CONFIG_CONFIRM_BUTTON_TEXT,
CONFIRM_REMOVE_CONFIG_CANCEL_BUTTON_TEXT,
} from '../constants';
import { SettingsLogic } from '../settings_logic';
interface SourceConfigProps {
@ -65,9 +61,12 @@ export const SourceConfig: React.FC<SourceConfigProps> = ({ sourceIndex }) => {
onConfirm={() => deleteSourceConfig(serviceType, name)}
onCancel={hideConfirmModal}
buttonColor="danger"
title={CONFIRM_REMOVE_CONFIG_TITLE}
confirmButtonText={CONFIRM_REMOVE_CONFIG_CONFIRM_BUTTON_TEXT}
cancelButtonText={CONFIRM_REMOVE_CONFIG_CANCEL_BUTTON_TEXT}
title={i18n.translate(
'xpack.enterpriseSearch.workplaceSearch.settings.confirmRemoveConfigTitle',
{ defaultMessage: 'Remove configuration' }
)}
confirmButtonText={REMOVE_BUTTON}
cancelButtonText={CANCEL_BUTTON}
>
{i18n.translate(
'xpack.enterpriseSearch.workplaceSearch.settings.confirmRemoveConfig.message',

View file

@ -1,29 +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 { i18n } from '@kbn/i18n';
export const CONFIRM_REMOVE_CONFIG_TITLE = i18n.translate(
'xpack.enterpriseSearch.workplaceSearch.settings.confirmRemoveConfigTitle',
{
defaultMessage: 'Remove configuration',
}
);
export const CONFIRM_REMOVE_CONFIG_CONFIRM_BUTTON_TEXT = i18n.translate(
'xpack.enterpriseSearch.workplaceSearch.settings.confirmRemoveConfigConfirmButtonText',
{
defaultMessage: 'Remove',
}
);
export const CONFIRM_REMOVE_CONFIG_CANCEL_BUTTON_TEXT = i18n.translate(
'xpack.enterpriseSearch.workplaceSearch.settings.confirmRemoveConfigCancelButtonText',
{
defaultMessage: 'Cancel',
}
);

View file

@ -7390,8 +7390,14 @@
"xpack.embeddableEnhanced.actions.panelNotifications.manyDrilldowns": "パネルには{count}個のドリルダウンがあります",
"xpack.embeddableEnhanced.actions.panelNotifications.oneDrilldown": "パネルには 1 個のドリルダウンがあります",
"xpack.embeddableEnhanced.Drilldowns": "ドリルダウン",
"xpack.enterpriseSearch.actions.delete": "削除",
"xpack.enterpriseSearch.actions.edit": "編集",
"xpack.enterpriseSearch.actions.cancelButtonLabel": "キャンセル",
"xpack.enterpriseSearch.actions.closeButtonLabel": "閉じる",
"xpack.enterpriseSearch.actions.continueButtonLabel": "続行",
"xpack.enterpriseSearch.actions.deleteButtonLabel": "削除",
"xpack.enterpriseSearch.actions.editButtonLabel": "編集",
"xpack.enterpriseSearch.actions.manageButtonLabel": "管理",
"xpack.enterpriseSearch.actions.saveButtonLabel": "保存",
"xpack.enterpriseSearch.actions.updateButtonLabel": "更新",
"xpack.enterpriseSearch.appSearch.credentials.apiEndpoint": "エンドポイント",
"xpack.enterpriseSearch.appSearch.credentials.apiKeys": "API キー",
"xpack.enterpriseSearch.appSearch.credentials.copied": "コピー完了",
@ -7404,10 +7410,7 @@
"xpack.enterpriseSearch.appSearch.credentials.editKey": "API キーの編集",
"xpack.enterpriseSearch.appSearch.credentials.empty.body": "最初には、[キーの作成]ボタンをクリックします。",
"xpack.enterpriseSearch.appSearch.credentials.empty.title": "API キーが作成されていません。",
"xpack.enterpriseSearch.appSearch.credentials.flyout.closeText": "閉じる",
"xpack.enterpriseSearch.appSearch.credentials.flyout.createTitle": "新規キーを作成",
"xpack.enterpriseSearch.appSearch.credentials.flyout.saveText": "保存",
"xpack.enterpriseSearch.appSearch.credentials.flyout.updateText": "更新",
"xpack.enterpriseSearch.appSearch.credentials.flyout.updateTitle": "{tokenName} を更新",
"xpack.enterpriseSearch.appSearch.credentials.formEngineAccess.engineAccess.helpText": "キーがアクセスできるエンジン:",
"xpack.enterpriseSearch.appSearch.credentials.formEngineAccess.engineAccess.label": "エンジンを選択",
@ -7441,10 +7444,7 @@
"xpack.enterpriseSearch.appSearch.documentCreation.buttons.text": "JSON の貼り付け",
"xpack.enterpriseSearch.appSearch.documentCreation.description": "ドキュメントをインデックスのためにエンジンに送信するには、4 つの方法があります。未加工の JSON を貼り付け、{jsonCode} ファイル {postCode} を {documentsApiLink} エンドポイントにアップロードするか、新しい Elastic Crawler (ベータ) をテストして、自動的に URL からドキュメントにインデックスすることができます。以下の選択肢をクリックします。",
"xpack.enterpriseSearch.appSearch.documentCreation.errorsTitle": "何か問題が発生しましたエラーを解決して、再試行してください。",
"xpack.enterpriseSearch.appSearch.documentCreation.flyoutCancel": "キャンセル",
"xpack.enterpriseSearch.appSearch.documentCreation.flyoutContinue": "続行",
"xpack.enterpriseSearch.appSearch.documentCreation.largeFile": "非常に大きいファイルをアップロードしています。ブラウザーがロックされたり、処理に非常に時間がかかったりする可能性があります。可能な場合は、データを複数の小さいファイルに分割してください。",
"xpack.enterpriseSearch.appSearch.documentCreation.modalClose": "閉じる",
"xpack.enterpriseSearch.appSearch.documentCreation.noFileFound": "ファイルが見つかりません。",
"xpack.enterpriseSearch.appSearch.documentCreation.notValidJson": "ドキュメントの内容は、有効なJSON配列またはオブジェクトでなければなりません。",
"xpack.enterpriseSearch.appSearch.documentCreation.noValidFile": "ファイル解析の問題。",
@ -7461,7 +7461,6 @@
"xpack.enterpriseSearch.appSearch.documentCreation.uploadJsonFile.title": ".jsonをドラッグアンドドロップ",
"xpack.enterpriseSearch.appSearch.documentCreation.warningsTitle": "警告!",
"xpack.enterpriseSearch.appSearch.documentDetail.confirmDelete": "このドキュメントを削除しますか?",
"xpack.enterpriseSearch.appSearch.documentDetail.deleteButton": "削除",
"xpack.enterpriseSearch.appSearch.documentDetail.deleteSuccess": "正常にドキュメントが削除に設定されました。すぐに削除されます。",
"xpack.enterpriseSearch.appSearch.documentDetail.fieldHeader": "フィールド",
"xpack.enterpriseSearch.appSearch.documentDetail.title": "ドキュメント:{documentId}",
@ -7475,10 +7474,8 @@
"xpack.enterpriseSearch.appSearch.documents.search.customizationButton": "フィルターをカスタマイズして並べ替える",
"xpack.enterpriseSearch.appSearch.documents.search.customizationCallout.button": "カスタマイズ",
"xpack.enterpriseSearch.appSearch.documents.search.customizationCallout.message": "ドキュメント検索エクスペリエンスをカスタマイズできることをご存知ですか。次の[カスタマイズ]をクリックすると開始します。",
"xpack.enterpriseSearch.appSearch.documents.search.customizationModal.cancel": "キャンセル",
"xpack.enterpriseSearch.appSearch.documents.search.customizationModal.filterFields": "取得された値はフィルターとして表示され、クエリの絞り込みで使用できます",
"xpack.enterpriseSearch.appSearch.documents.search.customizationModal.filterFieldsLabel": "フィールドのフィルタリング",
"xpack.enterpriseSearch.appSearch.documents.search.customizationModal.save": "保存",
"xpack.enterpriseSearch.appSearch.documents.search.customizationModal.sortFields": "結果の並べ替えオプション (昇順と降順) を表示するために使用されます",
"xpack.enterpriseSearch.appSearch.documents.search.customizationModal.sortFieldsLabel": "フィールドの並べ替え",
"xpack.enterpriseSearch.appSearch.documents.search.customizationModal.title": "ドキュメント検索のカスタマイズ",
@ -7519,7 +7516,6 @@
"xpack.enterpriseSearch.appSearch.engine.analytics.recentQueriesDescription": "現在実行中のクエリを表示します。",
"xpack.enterpriseSearch.appSearch.engine.analytics.recentQueriesTitle": "最近のクエリ",
"xpack.enterpriseSearch.appSearch.engine.analytics.table.clicksColumn": "クリック",
"xpack.enterpriseSearch.appSearch.engine.analytics.table.editAction": "編集",
"xpack.enterpriseSearch.appSearch.engine.analytics.table.editTooltip": "クエリの編集",
"xpack.enterpriseSearch.appSearch.engine.analytics.table.empty.noClicksDescription": "このクエリからクリックされたドキュメントはありません。",
"xpack.enterpriseSearch.appSearch.engine.analytics.table.empty.noClicksTitle": "クリックなし",
@ -7575,7 +7571,6 @@
"xpack.enterpriseSearch.appSearch.engine.synonyms.title": "同義語",
"xpack.enterpriseSearch.appSearch.engine.universalLanguage": "ユニバーサル",
"xpack.enterpriseSearch.appSearch.engines.title": "エンジン",
"xpack.enterpriseSearch.appSearch.enginesOverview.table.action.manage": "管理",
"xpack.enterpriseSearch.appSearch.enginesOverview.table.column.actions": "アクション",
"xpack.enterpriseSearch.appSearch.enginesOverview.table.column.createdAt": "作成日時",
"xpack.enterpriseSearch.appSearch.enginesOverview.table.column.documentCount": "ドキュメントカウント",
@ -7615,7 +7610,6 @@
"xpack.enterpriseSearch.appSearch.settings.logRetention.modal.api.description": "API ログを無効にすると、すべてのエンジンが直ちに API ログのインデックス作成を停止します。既存のデータは、上記で概説したストレージタイムフレームに従って削除されます。",
"xpack.enterpriseSearch.appSearch.settings.logRetention.modal.api.subheading": "API ログは現在 {minAgeDays} 日間保存されています。",
"xpack.enterpriseSearch.appSearch.settings.logRetention.modal.api.title": "API 書き込みを無効にする",
"xpack.enterpriseSearch.appSearch.settings.logRetention.modal.cancel": "キャンセル",
"xpack.enterpriseSearch.appSearch.settings.logRetention.modal.disable": "無効にする",
"xpack.enterpriseSearch.appSearch.settings.logRetention.modal.prompt": "確認する「{target}」を入力します。",
"xpack.enterpriseSearch.appSearch.settings.logRetention.modal.recovery": "データが削除されたら、復元できません。",
@ -7679,7 +7673,6 @@
"xpack.enterpriseSearch.productName": "エンタープライズサーチ",
"xpack.enterpriseSearch.readOnlyMode.warning": "エンタープライズ サーチは読み取り専用モードです。作成、編集、削除などの変更を実行できません。",
"xpack.enterpriseSearch.schema.addFieldModal.fieldNameNote.addField": "フィールドの追加",
"xpack.enterpriseSearch.schema.addFieldModal.fieldNameNote.cancel": "キャンセル",
"xpack.enterpriseSearch.schema.addFieldModal.fieldNameNote.correct": "フィールド名には、小文字、数字、アンダースコアのみを使用できます。",
"xpack.enterpriseSearch.schema.addFieldModal.fieldNameNote.corrected": "フィールド名が変更されます",
"xpack.enterpriseSearch.schema.addFieldModal.fieldNameNote.description": "追加すると、フィールドはスキーマから削除されます。",
@ -7722,7 +7715,6 @@
"xpack.enterpriseSearch.workplaceSearch.and": "AND",
"xpack.enterpriseSearch.workplaceSearch.baseUri.label": "ベースURL",
"xpack.enterpriseSearch.workplaceSearch.baseUrl.label": "ベースURL",
"xpack.enterpriseSearch.workplaceSearch.cancel.button": "キャンセル",
"xpack.enterpriseSearch.workplaceSearch.clientId.label": "クライアントID",
"xpack.enterpriseSearch.workplaceSearch.clientSecret.label": "クライアントシークレット",
"xpack.enterpriseSearch.workplaceSearch.comfirmModal.title": "確認してください",
@ -7873,7 +7865,6 @@
"xpack.enterpriseSearch.workplaceSearch.groups.groupManagerSelectAllToggle": "{action}すべて",
"xpack.enterpriseSearch.workplaceSearch.groups.groupManagerSourceEmpty.body": "まだ共有コンテンツソースが追加されていない可能性があります。",
"xpack.enterpriseSearch.workplaceSearch.groups.groupManagerSourceEmpty.title": "おっと!",
"xpack.enterpriseSearch.workplaceSearch.groups.groupManagerUpdate": "更新",
"xpack.enterpriseSearch.workplaceSearch.groups.groupManagerUpdateAddSourceButton": "共有ソースを追加",
"xpack.enterpriseSearch.workplaceSearch.groups.groupNotFound": "ID「{groupId}」のグループが見つかりません。",
"xpack.enterpriseSearch.workplaceSearch.groups.groupPrioritizationUpdated": "共有ソース優先度が正常に更新されました。",
@ -7909,7 +7900,6 @@
"xpack.enterpriseSearch.workplaceSearch.groups.overview.removeSectionTitle": "このグループを削除",
"xpack.enterpriseSearch.workplaceSearch.groups.overview.saveNameButtonText": "名前を保存",
"xpack.enterpriseSearch.workplaceSearch.groups.searchResults.notFoound": "結果が見つかりませんでした。",
"xpack.enterpriseSearch.workplaceSearch.groups.sourceProioritization.headerActionText": "保存",
"xpack.enterpriseSearch.workplaceSearch.groups.sourceProioritization.headerDescription": "グループコンテンツソース全体で相対ドキュメント重要度を調整します。",
"xpack.enterpriseSearch.workplaceSearch.groups.sourceProioritization.headerTitle": "共有コンテンツソースの優先度",
"xpack.enterpriseSearch.workplaceSearch.groups.sourceProioritization.priorityTableHeader": "関連性優先度",
@ -7981,7 +7971,6 @@
"xpack.enterpriseSearch.workplaceSearch.remove.button": "削除",
"xpack.enterpriseSearch.workplaceSearch.removeField.label": "フィールドの削除",
"xpack.enterpriseSearch.workplaceSearch.reset.button": "リセット",
"xpack.enterpriseSearch.workplaceSearch.save.button": "保存",
"xpack.enterpriseSearch.workplaceSearch.saveChanges.button": "変更を保存",
"xpack.enterpriseSearch.workplaceSearch.saveSettings.button": "設定を保存",
"xpack.enterpriseSearch.workplaceSearch.security.privateSources.description": "非公開ソースは組織のユーザーによって接続され、パーソナライズされた検索エクスペリエンスを作成します。",
@ -8154,7 +8143,6 @@
"xpack.enterpriseSearch.workplaceSearch.sourcesOnboardingCard.buttonLabel": "{label}ソースを追加",
"xpack.enterpriseSearch.workplaceSearch.sourcesView.modal.heading": "{addedSourceName}には追加の構成が必要です",
"xpack.enterpriseSearch.workplaceSearch.sourcesView.modal.success": "{addedSourceName}は正常に接続されました。初期コンテンツ同期がすでに実行中です。ドキュメントレベルのアクセス権情報を同期することを選択したので、{externalIdentitiesLink}を使用してユーザーおよびグループマッピングを指定する必要があります。",
"xpack.enterpriseSearch.workplaceSearch.update.button": "更新",
"xpack.enterpriseSearch.workplaceSearch.update.label": "更新",
"xpack.enterpriseSearch.workplaceSearch.url.label": "URL",
"xpack.enterpriseSearch.workplaceSearch.usersOnboardingCard.buttonLabel": "{label}ユーザーを招待",

View file

@ -7451,8 +7451,14 @@
"xpack.embeddableEnhanced.actions.panelNotifications.manyDrilldowns": "面板有 {count} 个向下钻取",
"xpack.embeddableEnhanced.actions.panelNotifications.oneDrilldown": "面板有 1 个向下钻取",
"xpack.embeddableEnhanced.Drilldowns": "向下钻取",
"xpack.enterpriseSearch.actions.delete": "删除",
"xpack.enterpriseSearch.actions.edit": "编辑",
"xpack.enterpriseSearch.actions.cancelButtonLabel": "取消",
"xpack.enterpriseSearch.actions.closeButtonLabel": "关闭",
"xpack.enterpriseSearch.actions.continueButtonLabel": "继续",
"xpack.enterpriseSearch.actions.deleteButtonLabel": "删除",
"xpack.enterpriseSearch.actions.editButtonLabel": "编辑",
"xpack.enterpriseSearch.actions.manageButtonLabel": "管理",
"xpack.enterpriseSearch.actions.saveButtonLabel": "保存",
"xpack.enterpriseSearch.actions.updateButtonLabel": "更新",
"xpack.enterpriseSearch.appSearch.credentials.apiEndpoint": "终端",
"xpack.enterpriseSearch.appSearch.credentials.apiKeys": "API 密钥",
"xpack.enterpriseSearch.appSearch.credentials.copied": "已复制",
@ -7465,10 +7471,7 @@
"xpack.enterpriseSearch.appSearch.credentials.editKey": "编辑 API 密钥",
"xpack.enterpriseSearch.appSearch.credentials.empty.body": "单击“创建密钥”按钮,创建您的第一个密钥。",
"xpack.enterpriseSearch.appSearch.credentials.empty.title": "尚未创建 API 密钥。",
"xpack.enterpriseSearch.appSearch.credentials.flyout.closeText": "关闭",
"xpack.enterpriseSearch.appSearch.credentials.flyout.createTitle": "创建新密钥",
"xpack.enterpriseSearch.appSearch.credentials.flyout.saveText": "保存",
"xpack.enterpriseSearch.appSearch.credentials.flyout.updateText": "更新",
"xpack.enterpriseSearch.appSearch.credentials.flyout.updateTitle": "更新 {tokenName}",
"xpack.enterpriseSearch.appSearch.credentials.formEngineAccess.engineAccess.helpText": "密钥可以访问的引擎:",
"xpack.enterpriseSearch.appSearch.credentials.formEngineAccess.engineAccess.label": "选择引擎",
@ -7502,10 +7505,7 @@
"xpack.enterpriseSearch.appSearch.documentCreation.buttons.text": "粘贴 JSON",
"xpack.enterpriseSearch.appSearch.documentCreation.description": "有四种方法将文档发送到引擎进行索引。您可以粘贴原始 JSON、上传 {jsonCode} 文件、{postCode} 到 {documentsApiLink} 终结点,或者测试新的 Elastic 网络爬虫 (公测版) 来自动索引 URL 的文档。单击下面的选项。",
"xpack.enterpriseSearch.appSearch.documentCreation.errorsTitle": "出问题了。请解决这些错误,然后重试。",
"xpack.enterpriseSearch.appSearch.documentCreation.flyoutCancel": "取消",
"xpack.enterpriseSearch.appSearch.documentCreation.flyoutContinue": "继续",
"xpack.enterpriseSearch.appSearch.documentCreation.largeFile": "您正在上传极大的文件。这可能会锁定您的浏览器,或需要很长时间才能处理完。如果可能,请尝试将您的数据拆分成多个较小的文件。",
"xpack.enterpriseSearch.appSearch.documentCreation.modalClose": "关闭",
"xpack.enterpriseSearch.appSearch.documentCreation.noFileFound": "未找到文件。",
"xpack.enterpriseSearch.appSearch.documentCreation.notValidJson": "文档内容必须是有效的 JSON 数组或对象。",
"xpack.enterpriseSearch.appSearch.documentCreation.noValidFile": "解析文件时出现问题。",
@ -7526,7 +7526,6 @@
"xpack.enterpriseSearch.appSearch.documentCreation.uploadJsonFile.title": "拖放 .json",
"xpack.enterpriseSearch.appSearch.documentCreation.warningsTitle": "警告!",
"xpack.enterpriseSearch.appSearch.documentDetail.confirmDelete": "是否确定要删除此文档?",
"xpack.enterpriseSearch.appSearch.documentDetail.deleteButton": "删除",
"xpack.enterpriseSearch.appSearch.documentDetail.deleteSuccess": "成功标记要删除的文档。文档将被暂时删除。",
"xpack.enterpriseSearch.appSearch.documentDetail.fieldHeader": "字段",
"xpack.enterpriseSearch.appSearch.documentDetail.title": "文档:{documentId}",
@ -7540,10 +7539,8 @@
"xpack.enterpriseSearch.appSearch.documents.search.customizationButton": "定制筛选并排序",
"xpack.enterpriseSearch.appSearch.documents.search.customizationCallout.button": "定制",
"xpack.enterpriseSearch.appSearch.documents.search.customizationCallout.message": "是否知道您可以定制您的文档搜索体验?在下面单击“定制”以开始使用。",
"xpack.enterpriseSearch.appSearch.documents.search.customizationModal.cancel": "取消",
"xpack.enterpriseSearch.appSearch.documents.search.customizationModal.filterFields": "呈现为筛选且可用作查询优化的分面值",
"xpack.enterpriseSearch.appSearch.documents.search.customizationModal.filterFieldsLabel": "筛选字段",
"xpack.enterpriseSearch.appSearch.documents.search.customizationModal.save": "保存",
"xpack.enterpriseSearch.appSearch.documents.search.customizationModal.sortFields": "用于显示结果排序选项,升序和降序",
"xpack.enterpriseSearch.appSearch.documents.search.customizationModal.sortFieldsLabel": "排序字段",
"xpack.enterpriseSearch.appSearch.documents.search.customizationModal.title": "定制文档搜索",
@ -7584,7 +7581,6 @@
"xpack.enterpriseSearch.appSearch.engine.analytics.recentQueriesDescription": "了解现时正发生的查询。",
"xpack.enterpriseSearch.appSearch.engine.analytics.recentQueriesTitle": "最近查询",
"xpack.enterpriseSearch.appSearch.engine.analytics.table.clicksColumn": "点击",
"xpack.enterpriseSearch.appSearch.engine.analytics.table.editAction": "编辑",
"xpack.enterpriseSearch.appSearch.engine.analytics.table.editTooltip": "编辑查询",
"xpack.enterpriseSearch.appSearch.engine.analytics.table.empty.noClicksDescription": "此查询未引起任何文档的点击。",
"xpack.enterpriseSearch.appSearch.engine.analytics.table.empty.noClicksTitle": "无点击",
@ -7640,7 +7636,6 @@
"xpack.enterpriseSearch.appSearch.engine.synonyms.title": "同义词",
"xpack.enterpriseSearch.appSearch.engine.universalLanguage": "通用",
"xpack.enterpriseSearch.appSearch.engines.title": "引擎",
"xpack.enterpriseSearch.appSearch.enginesOverview.table.action.manage": "管理",
"xpack.enterpriseSearch.appSearch.enginesOverview.table.column.actions": "操作",
"xpack.enterpriseSearch.appSearch.enginesOverview.table.column.createdAt": "创建于",
"xpack.enterpriseSearch.appSearch.enginesOverview.table.column.documentCount": "文档计数",
@ -7682,7 +7677,6 @@
"xpack.enterpriseSearch.appSearch.settings.logRetention.modal.api.description": "禁用 API 日志后,您的所有引擎都将立即停止索引 API 日志。您的现有数据将按照上述存储时间范围被删除。",
"xpack.enterpriseSearch.appSearch.settings.logRetention.modal.api.subheading": "当前您的 API 日志将存储 {minAgeDays} 天。",
"xpack.enterpriseSearch.appSearch.settings.logRetention.modal.api.title": "禁用 API 写入",
"xpack.enterpriseSearch.appSearch.settings.logRetention.modal.cancel": "取消",
"xpack.enterpriseSearch.appSearch.settings.logRetention.modal.disable": "禁用",
"xpack.enterpriseSearch.appSearch.settings.logRetention.modal.prompt": "键入“{target}”以确认。",
"xpack.enterpriseSearch.appSearch.settings.logRetention.modal.recovery": "数据删除后,将无法恢复。",
@ -7746,7 +7740,6 @@
"xpack.enterpriseSearch.productName": "企业搜索",
"xpack.enterpriseSearch.readOnlyMode.warning": "企业搜索处于只读模式。您将无法执行更改,例如创建、编辑或删除。",
"xpack.enterpriseSearch.schema.addFieldModal.fieldNameNote.addField": "添加字段",
"xpack.enterpriseSearch.schema.addFieldModal.fieldNameNote.cancel": "取消",
"xpack.enterpriseSearch.schema.addFieldModal.fieldNameNote.correct": "字段名称只能包含小写字母、数字和下划线",
"xpack.enterpriseSearch.schema.addFieldModal.fieldNameNote.corrected": "该字段将被命名",
"xpack.enterpriseSearch.schema.addFieldModal.fieldNameNote.description": "字段添加后,将无法从架构中删除。",
@ -7789,7 +7782,6 @@
"xpack.enterpriseSearch.workplaceSearch.and": "且",
"xpack.enterpriseSearch.workplaceSearch.baseUri.label": "基 URI",
"xpack.enterpriseSearch.workplaceSearch.baseUrl.label": "基 URL",
"xpack.enterpriseSearch.workplaceSearch.cancel.button": "取消",
"xpack.enterpriseSearch.workplaceSearch.clientId.label": "客户端 ID",
"xpack.enterpriseSearch.workplaceSearch.clientSecret.label": "客户端密钥",
"xpack.enterpriseSearch.workplaceSearch.comfirmModal.title": "请确认",
@ -7940,7 +7932,6 @@
"xpack.enterpriseSearch.workplaceSearch.groups.groupManagerSelectAllToggle": "全部{action}",
"xpack.enterpriseSearch.workplaceSearch.groups.groupManagerSourceEmpty.body": "可能您尚未添加任何共享内容源。",
"xpack.enterpriseSearch.workplaceSearch.groups.groupManagerSourceEmpty.title": "哎哟!",
"xpack.enterpriseSearch.workplaceSearch.groups.groupManagerUpdate": "更新",
"xpack.enterpriseSearch.workplaceSearch.groups.groupManagerUpdateAddSourceButton": "添加共享源",
"xpack.enterpriseSearch.workplaceSearch.groups.groupNotFound": "找不到 ID 为“{groupId}”的组。",
"xpack.enterpriseSearch.workplaceSearch.groups.groupPrioritizationUpdated": "已成功更新共享源的优先级排序。",
@ -7976,7 +7967,6 @@
"xpack.enterpriseSearch.workplaceSearch.groups.overview.removeSectionTitle": "移除此组",
"xpack.enterpriseSearch.workplaceSearch.groups.overview.saveNameButtonText": "保存名称",
"xpack.enterpriseSearch.workplaceSearch.groups.searchResults.notFoound": "找不到结果。",
"xpack.enterpriseSearch.workplaceSearch.groups.sourceProioritization.headerActionText": "保存",
"xpack.enterpriseSearch.workplaceSearch.groups.sourceProioritization.headerDescription": "校准组内容源的相对文档重要性。",
"xpack.enterpriseSearch.workplaceSearch.groups.sourceProioritization.headerTitle": "共享内容源的优先级排序",
"xpack.enterpriseSearch.workplaceSearch.groups.sourceProioritization.priorityTableHeader": "相关性优先级",
@ -8048,7 +8038,6 @@
"xpack.enterpriseSearch.workplaceSearch.remove.button": "移除",
"xpack.enterpriseSearch.workplaceSearch.removeField.label": "移除字段",
"xpack.enterpriseSearch.workplaceSearch.reset.button": "重置",
"xpack.enterpriseSearch.workplaceSearch.save.button": "保存",
"xpack.enterpriseSearch.workplaceSearch.saveChanges.button": "保存更改",
"xpack.enterpriseSearch.workplaceSearch.saveSettings.button": "保存设置",
"xpack.enterpriseSearch.workplaceSearch.security.privateSources.description": "专用源在您的组织中由用户连接,以创建个性化搜索体验。",
@ -8224,7 +8213,6 @@
"xpack.enterpriseSearch.workplaceSearch.sourcesView.modal.docPermissions.description": "只有在配置用户和组映射后,才能在 Workplace Search 中搜索文档。{documentPermissionsLink}。",
"xpack.enterpriseSearch.workplaceSearch.sourcesView.modal.heading": "{addedSourceName} 需要其他配置。",
"xpack.enterpriseSearch.workplaceSearch.sourcesView.modal.success": "{addedSourceName} 已成功连接,初始内容同步已在进行中。因为您选择同步文档级别权限信息,所以现在必须使用 {externalIdentitiesLink} 提供用户和组映射。",
"xpack.enterpriseSearch.workplaceSearch.update.button": "更新",
"xpack.enterpriseSearch.workplaceSearch.update.label": "更新",
"xpack.enterpriseSearch.workplaceSearch.url.label": "URL",
"xpack.enterpriseSearch.workplaceSearch.usersOnboardingCard.buttonLabel": "邀请 {label} 用户",