Fix: Supported localization in server error message (#11108)

* Supported localization in server error message

* added localisation key
This commit is contained in:
Ashish Gupta 2023-04-18 21:00:05 +05:30 committed by GitHub
parent af2093f78b
commit 41a50b51d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
29 changed files with 280 additions and 357 deletions

View File

@ -52,7 +52,6 @@ import {
SsoClientConfig,
SsoServiceType,
} from '../../generated/entity/teams/user';
import jsonData from '../../jsons/en';
import { getJWTOption, getJWTTokenExpiryOptions } from '../../utils/BotsUtils';
import SVGIcons, { Icons } from '../../utils/SvgUtils';
import { showErrorToast } from '../../utils/ToastUtils';
@ -724,7 +723,9 @@ const CreateUser = ({
pattern: validEmailRegEx,
required: true,
type: 'email',
message: jsonData['form-error-messages']['invalid-email'],
message: t('server.field-text-is-invalid', {
fieldText: t('label.email'),
}),
},
{
type: 'email',
@ -734,7 +735,9 @@ const CreateUser = ({
const isEmailAlreadyExists = await checkEmailInUse(value);
if (isEmailAlreadyExists) {
return Promise.reject(
jsonData['form-error-messages']['email-is-in-use']
t('server.entity-already-exists', {
entity: value,
})
);
}

View File

@ -15,7 +15,6 @@ import { Modal, Space } from 'antd';
import AppState from 'AppState';
import { AxiosError } from 'axios';
import { mockDatasetData } from 'constants/mockTourData.constants';
import jsonData from 'jsons/en';
import {
debounce,
isEmpty,
@ -244,13 +243,17 @@ const EntityLineageComponent: FunctionComponent<EntityLineageProp> = ({
setUpdatedLineageData(res);
} else {
showErrorToast(
jsonData['api-error-messages']['fetch-lineage-error']
t('server.entity-fetch-error', {
entity: t('label.lineage-data-lowercase'),
})
);
}
} catch (err) {
showErrorToast(
err as AxiosError,
jsonData['api-error-messages']['fetch-lineage-error']
t('server.entity-fetch-error', {
entity: t('label.lineage-data-lowercase'),
})
);
} finally {
setIsLineageLoading(false);
@ -277,7 +280,9 @@ const EntityLineageComponent: FunctionComponent<EntityLineageProp> = ({
setNodeLoading((prev) => ({ ...prev, id: node.id, state: false }));
showErrorToast(
err as AxiosError,
jsonData['api-error-messages']['fetch-lineage-node-error']
t('server.entity-fetch-error', {
entity: t('label.lineage-node-lowercase'),
})
);
}
},

View File

@ -27,7 +27,6 @@ import { FeedFilter } from '../../enums/mydata.enum';
import { NotificationTabsKey } from '../../enums/notification.enum';
import { ThreadType } from '../../generated/api/feed/createThread';
import { Post, Thread } from '../../generated/entity/feed/thread';
import jsonData from '../../jsons/en';
import { getEntityFQN, getEntityType } from '../../utils/FeedUtils';
import SVGIcons, { Icons } from '../../utils/SvgUtils';
import { showErrorToast } from '../../utils/ToastUtils';
@ -96,7 +95,9 @@ const NotificationBox = ({
.catch((err: AxiosError) => {
showErrorToast(
err,
jsonData['api-error-messages']['fetch-notifications-error']
t('server.entity-fetch-error', {
entity: t('label.notification'),
})
);
})
.finally(() => {

View File

@ -52,7 +52,6 @@ import { Column, Table } from '../../generated/entity/data/table';
import { TestCaseStatus } from '../../generated/tests/testCase';
import { EntityReference } from '../../generated/type/entityReference';
import { LabelType, State } from '../../generated/type/tagLabel';
import jsonData from '../../jsons/en';
import {
getCurrentUserId,
getEntityPlaceHolder,
@ -324,7 +323,9 @@ const ProfilerDashboard: React.FC<ProfilerDashboardProps> = ({
} catch (error) {
showErrorToast(
error as AxiosError,
jsonData['api-error-messages']['update-entity-unfollow-error']
t('server.entity-unfollow-error', {
entity: table.name,
})
);
}
};
@ -337,7 +338,9 @@ const ProfilerDashboard: React.FC<ProfilerDashboardProps> = ({
} catch (error) {
showErrorToast(
error as AxiosError,
jsonData['api-error-messages']['update-entity-follow-error']
t('server.entity-follow-error', {
entity: table.name,
})
);
}
};

View File

@ -56,7 +56,6 @@ import {
ProfileSampleType,
TableProfilerConfig,
} from '../../../generated/entity/data/table';
import jsonData from '../../../jsons/en';
import { reducerWithoutAction } from '../../../utils/CommonUtils';
import SVGIcons, { Icons } from '../../../utils/SvgUtils';
import { showErrorToast, showSuccessToast } from '../../../utils/ToastUtils';
@ -218,14 +217,12 @@ const ProfilerSettingsModal: React.FC<ProfilerSettingsModalProps> = ({
updateInitialConfig(tableProfilerConfig);
}
} else {
throw jsonData['api-error-messages'][
'fetch-table-profiler-config-error'
];
throw t('server.fetch-table-profiler-config-error');
}
} catch (error) {
showErrorToast(
error as AxiosError,
jsonData['api-error-messages']['fetch-table-profiler-config-error']
t('server.fetch-table-profiler-config-error')
);
}
};
@ -292,16 +289,22 @@ const ProfilerSettingsModal: React.FC<ProfilerSettingsModalProps> = ({
const data = await putTableProfileConfig(tableId, profileConfig);
if (data) {
showSuccessToast(
jsonData['api-success-messages']['update-profile-congif-success']
t('server.update-entity-success', {
entity: t('label.profile-config'),
})
);
onVisibilityChange(false);
} else {
throw jsonData['api-error-messages']['update-profiler-config-error'];
throw t('server.entity-updating-error', {
entity: t('label.profile-config'),
});
}
} catch (error) {
showErrorToast(
error as AxiosError,
jsonData['api-error-messages']['update-profiler-config-error']
t('server.entity-updating-error', {
entity: t('label.profile-config'),
})
);
} finally {
setIsLoading(false);

View File

@ -63,7 +63,6 @@ import { Role } from '../../generated/entity/teams/role';
import { EntityReference } from '../../generated/entity/teams/user';
import { Paging } from '../../generated/type/paging';
import { useInfiniteScroll } from '../../hooks/useInfiniteScroll';
import jsonData from '../../jsons/en';
import { getNonDeletedTeams } from '../../utils/CommonUtils';
import {
getImageWithResolutionAndFallback,
@ -809,7 +808,9 @@ const Users = ({
setRoles([]);
showErrorToast(
err as AxiosError,
jsonData['api-error-messages']['fetch-roles-error']
t('server.entity-fetch-error', {
entity: t('label.role-plural'),
})
);
} finally {
setIsRolesLoading(false);

View File

@ -14,6 +14,7 @@
import { AxiosError } from 'axios';
import { ContainerSearchSource } from 'interface/search.interface';
import React, { useEffect, useRef, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { getSuggestions } from 'rest/miscAPI';
import {
filterOptionsByIndex,
@ -21,7 +22,6 @@ import {
getSuggestionElement,
} from 'utils/SearchUtils';
import { SearchIndex } from '../../enums/search.enum';
import jsonData from '../../jsons/en';
import { showErrorToast } from '../../utils/ToastUtils';
import {
DashboardSource,
@ -48,6 +48,7 @@ const Suggestions = ({
setIsOpen,
searchCriteria,
}: SuggestionProp) => {
const { t } = useTranslation();
const [options, setOptions] = useState<Array<Option>>([]);
const [tableSuggestions, setTableSuggestions] = useState<TableSource[]>([]);
const [topicSuggestions, setTopicSuggestions] = useState<TopicSource[]>([]);
@ -150,13 +151,15 @@ const Suggestions = ({
.options as unknown as Option[]
);
} else {
throw jsonData['api-error-messages']['unexpected-server-response'];
throw t('server.unexpected-response');
}
})
.catch((err: AxiosError) => {
showErrorToast(
err,
jsonData['api-error-messages']['fetch-suggestions-error']
t('server.entity-fetch-error', {
entity: t('label.suggestion-lowercase-plural'),
})
);
});
}

View File

@ -13,10 +13,10 @@
import { useAuth0 } from '@auth0/auth0-react';
import { render, screen } from '@testing-library/react';
import { t } from 'i18next';
import React from 'react';
import { MemoryRouter } from 'react-router-dom';
import { oidcTokenKey } from '../../../../constants/constants';
import jsonData from '../../../../jsons/en';
import Auth0Callback from './Auth0Callback';
const localStorageMock = (() => {
@ -81,9 +81,7 @@ describe('Test Auth0Callback component', () => {
});
const error = screen.getByTestId('auth0-error');
expect(error).toHaveTextContent(
jsonData['api-error-messages']['unexpected-error']
);
expect(error).toHaveTextContent(t('server.unexpected-error'));
expect(error).toHaveTextContent('unknown error');
});

View File

@ -14,7 +14,6 @@
import { useAuth0 } from '@auth0/auth0-react';
import { t } from 'i18next';
import React, { VFC } from 'react';
import jsonData from '../../../../jsons/en';
import localState from '../../../../utils/LocalStorageUtils';
import { useAuthContext } from '../../auth-provider/AuthProvider';
import { OidcUser } from '../../auth-provider/AuthProvider.interface';
@ -52,7 +51,7 @@ const Auth0Callback: VFC = () => {
if (error) {
return (
<div data-testid="auth0-error">
{jsonData['api-error-messages']['unexpected-error']} {error.message}
{t('server.unexpected-error')} {error.message}
</div>
);
}

View File

@ -27,7 +27,6 @@ import {
GCSCredentialsValues,
SCredentials,
} from '../../../generated/metadataIngestion/dbtPipeline';
import jsonData from '../../../jsons/en';
import { errorMsg, getSeparator } from '../../../utils/CommonUtils';
import { Field } from '../../Field/Field';
import DBTCommonFields from './DBTCommonFields.component';
@ -110,7 +109,9 @@ export const DBTGCSConfig: FunctionComponent<Props> = ({
if (gcsType !== GCS_CONFIG.GCSValues) {
if (isEmpty(gcsConfig)) {
setErrors({
gcsConfig: `GCS Config ${jsonData['form-error-messages']['is-required']}`,
gcsConfig: t('message.field-text-is-required', {
fieldText: t('label.gcs-config'),
}),
} as ErrorDbtGCS);
valid = false;
} else {

View File

@ -20,7 +20,6 @@ import { useHistory } from 'react-router-dom';
import { deleteEntity } from 'rest/miscAPI';
import { ENTITY_DELETE_STATE } from '../../../constants/entity.constants';
import { EntityType } from '../../../enums/entity.enum';
import jsonData from '../../../jsons/en';
import {
getEntityDeleteMessage,
Transi18next,
@ -144,7 +143,9 @@ const DeleteWidgetModal = ({
handleOnEntityDeleteCancel();
showSuccessToast(
getMessage(
jsonData['api-success-messages']['delete-entity-success']
t('server.entity-deleted-successfully', {
entity: entityName,
})
)
);
@ -157,15 +158,15 @@ const DeleteWidgetModal = ({
}
}, 1000);
} else {
showErrorToast(
jsonData['api-error-messages']['unexpected-server-response']
);
showErrorToast(t('server.unexpected-response'));
}
})
.catch((error: AxiosError) => {
showErrorToast(
error,
jsonData['api-error-messages']['delete-entity-error']
t('server.delete-entity-error', {
entity: entityName,
})
);
})
.finally(() => {

View File

@ -21,7 +21,6 @@ import React, { ReactNode, useEffect, useState } from 'react';
import { getTags } from 'rest/tagAPI';
import { FQN_SEPARATOR_CHAR } from '../../../constants/char.constants';
import { EntityReference } from '../../../generated/type/entityReference';
import jsonData from '../../../jsons/en';
import { showErrorToast } from '../../../utils/ToastUtils';
import CardListItem from '../../cardlist/CardListItem/CardWithListItem';
import { CardWithListItems } from '../../cardlist/CardListItem/CardWithListItem.interface';
@ -85,7 +84,9 @@ const TierCard = ({
.catch((err: AxiosError) => {
showErrorToast(
err,
jsonData['api-error-messages']['fetch-tiers-error']
t('server.entity-fetch-error', {
entity: t('label.tier-plural-lowercase'),
})
);
})
.finally(() => {

View File

@ -1,215 +0,0 @@
/*
* Copyright 2022 Collate.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
const jsonData = {
'api-error-messages': {
'add-glossary-error': 'Error while adding glossary!',
'add-glossary-term-error': 'Error while adding glossary term!',
'add-lineage-error': 'Error while adding lineage!',
'add-feed-error': 'Error while adding feed!',
'add-table-test-error': 'Error while adding table test!',
'add-column-test-error': 'Error while adding column test!',
'add-ingestion-error': 'Error while adding ingestion workflow!',
'add-service-error': 'Error while adding service!',
'add-settings-error': 'Error while adding settings',
'check-status-airflow': 'Error while connecting to Airflow instance!',
'create-user-error': 'Error while creating user!',
'create-bot-error': 'Error while creating bot!',
'create-conversation-error': 'Error while creating conversation!',
'create-message-error': 'Error while creating message!',
'create-role-error': 'Error While creating role!',
'create-rule-error': 'Error while creating rule!',
'create-tag-category-error': 'Error while creating tag category!',
'create-tag-error': 'Error while creating tag!',
'create-team-error': 'Error while creating team!',
'create-ingestion-error': 'Error while creating ingestion workflow!',
'create-service-error': 'Error while creating service!',
'delete-entity-error': 'Error while deleting entity!',
'delete-glossary-error': 'Error while deleting glossary!',
'delete-glossary-term-error': 'Error while deleting glossary term!',
'delete-ingestion-error': 'Error while deleting ingestion workflow',
'delete-lineage-error': 'Error while deleting edge!',
'delete-message-error': 'Error while deleting message!',
'delete-rule-error': 'Error while deleting rule!',
'delete-service-error': 'Error while deleting service!',
'delete-team-error': 'Error while deleting team!',
'delete-test-error': 'Error while deleting test!',
'delete-user-error': 'Error while deleting user!',
'delete-tag-category-error': 'Error while deleting tag category!',
'delete-tag-error': 'Error while deleting tag!',
'email-verification-err':
'An email could not be sent for verification. Please contact your Administrator.',
'forgot-password-email-err':
'There is some issue in sending the mail. Please contact your Administrator.',
'unexpected-error': 'Oops! An unexpected error occurred.',
'forbidden-error': 'You do not have permissions to perform this action!',
'elastic-search-error': 'Error while fetching data from Elasticsearch!',
'triggering-ingestion-error': 'Error while triggering ingestion workflow',
'deploy-ingestion-error': 'Error while deploying ingestion workflow!',
'entity-already-exist-error': 'Entity already exists!',
'fetch-airflow-config-error':
'Error occurred while fetching airflow configs!',
'fetch-auth-config-error': 'Error occurred while fetching auth configs!',
'fetch-chart-error': 'Error while fetching charts!',
'fetch-dashboard-details-error': 'Error while fetching dashboard details!',
'fetch-data-error': 'Error while fetching data!',
'fetch-database-details-error': 'Error while fetching database details!',
'fetch-database-tables-error': 'Error while fetching database tables!',
'fetch-database-schemas-error': 'Error while fetching database schemas!',
'fetch-databaseSchema-details-error':
'Error while fetching database schema details!',
'fetch-activity-feed-error': 'Error while fetching activity feeds!',
'fetch-entity-feed-error': 'Error while fetching entity feeds!',
'fetch-entity-feed-count-error': 'Error while fetching entity feed count!',
'fetch-entity-count-error': 'Error while fetching entity count!',
'fetch-feed-error': 'Error while fetching messages',
'fetch-glossary-error': 'Error while fetching glossary!',
'fetch-glossary-list-error': 'Error while fetching glossaries!',
'fetch-glossary-term-error': 'Error while fetching glossary term!',
'fetch-glossary-terms-error': 'Error while fetching glossary terms!',
'fetch-ingestion-error': 'Error while fetching ingestion workflow!',
'fetch-lineage-error': 'Error while fetching lineage data!',
'fetch-lineage-node-error': 'Error while fetching lineage node!',
'fetch-logged-in-user-error': 'Error while fetching logged-in user!',
'fetch-notifications-error': 'Error occurred while fetching notifications',
'fetch-pipeline-details-error': 'Error while fetching pipeline details!',
'fetch-pipeline-status-error': 'Error while fetching pipeline status!',
'fetch-policy-error': 'Error while fetching policy details!',
'fetch-roles-error': 'Error while fetching roles!',
'fetch-sample-data-error': 'Error while fetching sample data!',
'fetch-table-details-error': 'Error while fetching table details!',
'fetch-table-queries-error': 'Error while fetching table queries!',
'fetch-tags-error': 'Error while fetching tags!',
'fetch-tiers-error': 'Error while fetching tiers!',
'fetch-tags-category-error': 'Error while fetching tags category!',
'fetch-topic-details-error': 'Error while fetching topic details!',
'fetch-thread-error': 'Error while fetching threads!',
'fetch-updated-conversation-error':
'Error while fetching updated conversation!',
'fetch-user-details-error': 'Error while fetching user details!',
'fetch-user-permission-error': 'Error while fetching user permissions!',
'fetch-service-error': 'Error while fetching service details!',
'fetch-services-error': 'Error while fetching services!',
'fetch-suggestions-error': 'Error while fetching suggestions!',
'fetch-teams-error': 'Error while fetching teams!',
'fetch-version-error': 'Error while fetching version!',
'fetch-webhook-error': 'Error while fetching webhooks!',
'fetch-user-count-error': 'Error while getting users count!',
'fetch-users-error': 'Error while fetching users!',
'fetch-table-profiler-config-error':
'Error while fetching table profiler config!',
'fetch-column-test-error': 'Error while fetching column test case!',
'fetch-entity-permissions-error': 'Unable to get permission for entity.',
'fetch-test-suite-error': 'Error while fetching test suite',
'fetch-test-cases-error': 'Error while fetching test cases',
'fetch-entity-details-error': 'Error while fetching entity.',
'test-connection-error': 'Error while testing connection!',
'unexpected-server-response': 'Unexpected response from server!',
'update-chart-error': 'Error while updating charts!',
'update-description-error': 'Error while updating description!',
'update-database-error': 'Error while updating database!',
'update-databaseSchema-error': 'Error while updating database schema!',
'update-entity-error': 'Error while updating entity!',
'update-entity-follow-error': 'Error while following entity!',
'update-entity-unfollow-error': 'Error while unfollowing entity!',
'update-glossary-term-error': 'Error while updating glossary term!',
'update-ingestion-error': 'Error while updating ingestion workflow',
'update-owner-error': 'Error while updating owner',
'remove-owner-error': 'Error while removing owner',
'update-role-error': 'Error while updating role!',
'update-service-config-error': 'Error while updating ingestion workflow',
'update-tags-error': 'Error while updating tags!',
'update-tag-category-error': 'Error while updating tag category!',
'update-task-error': 'Error while updating tasks!',
'update-team-error': 'Error while updating team!',
'update-user-error': 'Error while updating user!',
'update-admin-profile-error':
'Error while updating the admin user profile!',
'update-service-error': 'Error while updating service!',
'update-reviewer-error': 'Error while updating reviewer!',
'update-profiler-config-error': 'Error while updating profiler config!',
'feed-post-error': 'Error while posting the message!',
'join-team-error': 'Error while joining the team!',
'leave-team-error': 'Error while leaving the team!',
'update-test-suite-error': 'Error while updating test suite',
'fetch-settings': 'Error while fetching settings',
'email-not-found': 'User with the given email address does not exist!',
'email-found': 'User with the given email address already exists!',
'unauthorized-user': 'UnAuthorized user! please check email or password',
'fetch-re-index-all': 'Error while fetching re index data!',
'update-re-index-all': 'Error while re indexing!',
},
'api-success-messages': {
'create-conversation': 'Conversation created successfully!',
'add-settings-success': 'Settings added successfully!',
'join-team-success': 'Team joined successfully!',
'leave-team-success': 'Left the team successfully!',
'delete-test': 'Test deleted successfully!',
'delete-message': 'Message deleted successfully!',
'delete-entity-success': 'Entity deleted successfully!',
'delete-glossary-success': 'Glossary deleted successfully!',
'delete-glossary-term-success': 'Glossary term deleted successfully!',
'test-connection-success': 'Connection tested successfully!',
'user-restored-success': 'User restored successfully!',
'update-profile-congif-success': 'Profile config updated successfully!',
'update-test-case-success': 'Test case updated successfully!',
'update-webhook-success': 'Webhook updated successfully!',
'create-user-account': 'User account created successfully!',
'reset-password-success': 'Password reset successfully!',
'account-verify-success': 'Email verified successfully!',
'update-password-success': 'Password updated successfully!',
'fetch-re-index-all': 'Re-index started',
'stop-re-index': 'Re-indexing Stopped',
},
'form-error-messages': {
'empty-email': 'Email is required.',
'invalid-email': 'Email is invalid.',
'invalid-url': 'Url is invalid.',
'is-required': 'is required',
'email-is-in-use': 'Email is already in use!',
},
label: {
'delete-entity-text':
'Once you delete this entity, it will be removed permanently.',
'email-confirmation':
'Please confirm your email, confirmation has been sent to your email',
'special-character-error': 'Special character is not allowed!',
},
message: {
'no-services': 'No services',
'fail-to-deploy-pipeline': 'Failed to deploy Ingestion Pipeline!',
'no-custom-entity': 'No custom entity data available',
},
};
export default jsonData;

View File

@ -153,6 +153,7 @@
"credentials-type": "Credentials Type",
"criteria": "Criteria",
"custom-attribute-plural": "Custom Attributes",
"custom-entity": "Custom entity",
"custom-oidc": "CustomOidc",
"custom-property": "Custom property",
"custom-property-plural": "Custom Properties",
@ -346,6 +347,7 @@
"full-screen": "Full screen",
"function": "Function",
"g-chat": "G Chat",
"gcs-config": "GCS Config",
"gcs-config-source": "GCS Config Source",
"gcs-credential-path": "GCS Credentials Path",
"gcs-credential-value": "GCS Credentials Values",
@ -441,8 +443,10 @@
"line": "Line",
"lineage": "Lineage",
"lineage-config": "Lineage Config",
"lineage-data-lowercase": "lineage data",
"lineage-ingestion": "Lineage Ingestion",
"lineage-lowercase": "lineage",
"lineage-node-lowercase": "lineage node",
"list": "List",
"list-entity": "List {{entity}}",
"live": "Live",
@ -530,6 +534,7 @@
"not-found-lowercase": "not found",
"not-null": "Not Null",
"not-used": "Not Used",
"notification": "Notification",
"notification-plural": "Notifications",
"november": "November",
"null": "Null",
@ -611,6 +616,7 @@
"private-key": "PrivateKey",
"private-key-id": "Private Key ID",
"profile": "Profile",
"profile-config": "Profile config",
"profile-lowercase": "profile",
"profile-sample-type": "Profile Sample {{type}}",
"profiler": "Profiler",
@ -842,6 +848,7 @@
"thursday": "Thursday",
"tier": "Tier",
"tier-number": "Tier{{tier}}",
"tier-plural-lowercase": "tiers",
"time": "Time",
"timeout": "Timeout",
"title": "Title",
@ -1284,6 +1291,7 @@
"add-entity-error": "Error while adding {{entity}}!",
"auth-provider-not-supported-renewing": "Auth Provider {{provider}} not supported for renewing tokens.",
"can-not-renew-token-authentication-not-present": "Cannot renew id token. Authentication Provider is not present.",
"column-fetch-error": "Error while fetching column test case!",
"connection-tested-successfully": "Connection tested successfully",
"create-entity-error": "Error while creating {{entity}}!",
"create-entity-success": "{{entity}} created successfully.",
@ -1310,6 +1318,7 @@
"feed-post-error": "Error while posting the message!",
"fetch-entity-permissions-error": "Unable to get permission for {{entity}}.",
"fetch-re-index-data-error": "Error while fetching re index data!",
"fetch-table-profiler-config-error": "Error while fetching table profiler config!",
"fetch-updated-conversation-error": "Error while fetching updated conversation!",
"forgot-password-email-error": "There is some issue in sending the mail. Please contact your Administrator.",
"ingestion-workflow-operation-error": "Error while {{operation}} ingestion workflow {{displayName}}",

View File

@ -153,6 +153,7 @@
"credentials-type": "Tipo de credenciales",
"criteria": "Criterio",
"custom-attribute-plural": "Atributos personalizados",
"custom-entity": "Custom entity",
"custom-oidc": "OIDC personalizado",
"custom-property": "Propiedad personalizada",
"custom-property-plural": "Propiedades personalizadas",
@ -346,6 +347,7 @@
"full-screen": "Pantalla completa",
"function": "Función",
"g-chat": "Chat de Google",
"gcs-config": "GCS Config",
"gcs-config-source": "Origen de configuración de GCS",
"gcs-credential-path": "Ruta de credenciales de GCS",
"gcs-credential-value": "Valores de credenciales de GCS",
@ -441,8 +443,10 @@
"line": "Línea",
"lineage": "Linage",
"lineage-config": "Configuración del linaje",
"lineage-data-lowercase": "lineage data",
"lineage-ingestion": "Ingesta de lineaje",
"lineage-lowercase": "lineaje",
"lineage-node-lowercase": "lineage node",
"list": "Lista",
"list-entity": "Lista de {{entity}}",
"live": "Live",
@ -530,6 +534,7 @@
"not-found-lowercase": "no encontrado",
"not-null": "No nulo",
"not-used": "No utilizado",
"notification": "Notification",
"notification-plural": "Notificaciones",
"november": "Noviembre",
"null": "Nulo",
@ -611,6 +616,7 @@
"private-key": "Llave privada",
"private-key-id": "ID de la llave privada",
"profile": "Perfil",
"profile-config": "Profile config",
"profile-lowercase": "perfil",
"profile-sample-type": "Muestra de perfil {{type}}",
"profiler": "Perfilador",
@ -842,6 +848,7 @@
"thursday": "Jueves",
"tier": "Nivel",
"tier-number": "Nivel {{tier}}",
"tier-plural-lowercase": "tiers",
"time": "Tiempo",
"timeout": "Tiempo de espera",
"title": "Título",
@ -1284,6 +1291,7 @@
"add-entity-error": "¡Error al agregar {{entity}}!",
"auth-provider-not-supported-renewing": "Proveedor de autenticación {{provider}} no soportado para renovar tokens.",
"can-not-renew-token-authentication-not-present": "No se puede renovar el token de identificación. El proveedor de autenticación no está presente.",
"column-fetch-error": "Error while fetching column test case!",
"connection-tested-successfully": "El test de conexión ha sido un éxito",
"create-entity-error": "¡Error al crear {{entity}}!",
"create-entity-success": "{{entity}} creado exitosamente.",
@ -1310,6 +1318,7 @@
"feed-post-error": "¡Error al publicar el mensaje!",
"fetch-entity-permissions-error": "No se puede obtener permiso para {{entity}}.",
"fetch-re-index-data-error": "Error while fetching re index data!",
"fetch-table-profiler-config-error": "Error while fetching table profiler config!",
"fetch-updated-conversation-error": "Error al recuperar conversación actualizada!",
"forgot-password-email-error": "Hay algún problema para enviar el correo. Por favor contacta a tu administrador.",
"ingestion-workflow-operation-error": "Error al {{operation}} del flujo de trabajo de ingesta {{displayName}}",

View File

@ -153,6 +153,7 @@
"credentials-type": "Credentials Type",
"criteria": "Critères",
"custom-attribute-plural": "Custom Attributes",
"custom-entity": "Custom entity",
"custom-oidc": "CustomOidc",
"custom-property": "Custom property",
"custom-property-plural": "Propriétés Personalisées",
@ -346,6 +347,7 @@
"full-screen": "Full screen",
"function": "Fonction",
"g-chat": "G Chat",
"gcs-config": "GCS Config",
"gcs-config-source": "GCS Config Source",
"gcs-credential-path": "GCS Credentials Path",
"gcs-credential-value": "GCS Credentials Values",
@ -441,8 +443,10 @@
"line": "Line",
"lineage": "Traçabilité",
"lineage-config": "Lineage Config",
"lineage-data-lowercase": "lineage data",
"lineage-ingestion": "Lineage Ingestion",
"lineage-lowercase": "lineage",
"lineage-node-lowercase": "lineage node",
"list": "List",
"list-entity": "List {{entity}}",
"live": "Live",
@ -530,6 +534,7 @@
"not-found-lowercase": "not found",
"not-null": "Not Null",
"not-used": "Not Used",
"notification": "Notification",
"notification-plural": "Notifications",
"november": "November",
"null": "Null",
@ -611,6 +616,7 @@
"private-key": "PrivateKey",
"private-key-id": "Private Key ID",
"profile": "Profile",
"profile-config": "Profile config",
"profile-lowercase": "profile",
"profile-sample-type": "Profile Sample {{type}}",
"profiler": "Profiler",
@ -842,6 +848,7 @@
"thursday": "Thursday",
"tier": "Rang",
"tier-number": "Rang{{tier}}",
"tier-plural-lowercase": "tiers",
"time": "Time",
"timeout": "Timeout",
"title": "Title",
@ -1284,6 +1291,7 @@
"add-entity-error": "Error while adding {{entity}}!",
"auth-provider-not-supported-renewing": "Auth Provider {{provider}} not supported for renewing tokens.",
"can-not-renew-token-authentication-not-present": "Cannot renew id token. Authentication Provider is not present.",
"column-fetch-error": "Error while fetching column test case!",
"connection-tested-successfully": "Connection tested successfully",
"create-entity-error": "Error while creating {{entity}}!",
"create-entity-success": "{{entity}} created successfully.",
@ -1310,6 +1318,7 @@
"feed-post-error": "Une erreur est survenue lors de la publication du message !",
"fetch-entity-permissions-error": "Unable to get permission for {{entity}}.",
"fetch-re-index-data-error": "Error while fetching re index data!",
"fetch-table-profiler-config-error": "Error while fetching table profiler config!",
"fetch-updated-conversation-error": "Error while fetching updated conversation!",
"forgot-password-email-error": "There is some issue in sending the mail. Please contact your Administrator.",
"ingestion-workflow-operation-error": "Erreur lors de {{operation}} ingestion workflow {{displayName}}",

View File

@ -153,6 +153,7 @@
"credentials-type": "Credentials Type",
"criteria": "クライテリア",
"custom-attribute-plural": "カスタム属性",
"custom-entity": "Custom entity",
"custom-oidc": "CustomOidc",
"custom-property": "カスタムプロパティ",
"custom-property-plural": "カスタムプロパティ",
@ -346,6 +347,7 @@
"full-screen": "Full screen",
"function": "Function",
"g-chat": "G Chat",
"gcs-config": "GCS Config",
"gcs-config-source": "GCS Config Source",
"gcs-credential-path": "GCS Credentials Path",
"gcs-credential-value": "GCS Credentials Values",
@ -441,8 +443,10 @@
"line": "Line",
"lineage": "リネージ",
"lineage-config": "Lineage Config",
"lineage-data-lowercase": "lineage data",
"lineage-ingestion": "リネージのインジェスチョン",
"lineage-lowercase": "リネージ",
"lineage-node-lowercase": "lineage node",
"list": "リスト",
"list-entity": "{{entity}}のリスト",
"live": "Live",
@ -530,6 +534,7 @@
"not-found-lowercase": "存在しない",
"not-null": "Not Null",
"not-used": "Not Used",
"notification": "Notification",
"notification-plural": "通知",
"november": "11月",
"null": "Null",
@ -611,6 +616,7 @@
"private-key": "PrivateKey",
"private-key-id": "Private Key ID",
"profile": "プロファイル",
"profile-config": "Profile config",
"profile-lowercase": "プロファイル",
"profile-sample-type": "サンプル{{type}}のプロファイル",
"profiler": "プロファイラ",
@ -842,6 +848,7 @@
"thursday": "木曜日",
"tier": "ティア",
"tier-number": "ティア{{tier}}",
"tier-plural-lowercase": "tiers",
"time": "時間",
"timeout": "タイムアウト",
"title": "タイトル",
@ -1284,6 +1291,7 @@
"add-entity-error": "{{entity}}の追加中にエラーが発生しました!",
"auth-provider-not-supported-renewing": "Auth Provider {{provider}} not supported for renewing tokens.",
"can-not-renew-token-authentication-not-present": "Cannot renew id token. Authentication Provider is not present.",
"column-fetch-error": "Error while fetching column test case!",
"connection-tested-successfully": "接続テストは成功しました",
"create-entity-error": "{{entity}}の作成中にエラーが発生しました!",
"create-entity-success": "{{entity}}の作成が正常に終了しました。",
@ -1310,6 +1318,7 @@
"feed-post-error": "メッセージの投稿中にエラーが発生しました!",
"fetch-entity-permissions-error": "Unable to get permission for {{entity}}の権限を取得できません。",
"fetch-re-index-data-error": "Error while fetching re index data!",
"fetch-table-profiler-config-error": "Error while fetching table profiler config!",
"fetch-updated-conversation-error": "更新された会話を取得中にエラーが発生しました!",
"forgot-password-email-error": "メールの送信中に何らかの問題が発生しました。管理者にご連絡ください。",
"ingestion-workflow-operation-error": "Error while {{operation}} ingestion workflow {{displayName}}",

View File

@ -153,6 +153,7 @@
"credentials-type": "Tipo de credenciais",
"criteria": "Critério",
"custom-attribute-plural": "Atributos personalizados",
"custom-entity": "Custom entity",
"custom-oidc": "OIDC customizado",
"custom-property": "Propriedade customizada",
"custom-property-plural": "Propriedades customizadas",
@ -346,6 +347,7 @@
"full-screen": "Tela inteira",
"function": "Função",
"g-chat": "Conversa G",
"gcs-config": "GCS Config",
"gcs-config-source": "GCS Origem das configurações",
"gcs-credential-path": "GCS Caminho das credenciais",
"gcs-credential-value": "GCS Valores das credenciais",
@ -441,8 +443,10 @@
"line": "Line",
"lineage": "Linhagem",
"lineage-config": "Configuração da linhagem",
"lineage-data-lowercase": "lineage data",
"lineage-ingestion": "Ingestão da linhagem",
"lineage-lowercase": "linhagem",
"lineage-node-lowercase": "lineage node",
"list": "Lista",
"list-entity": "List {{entity}}",
"live": "Live",
@ -530,6 +534,7 @@
"not-found-lowercase": "não encontrado",
"not-null": "Não é nulo",
"not-used": "Não usado",
"notification": "Notification",
"notification-plural": "Notificações",
"november": "Novembro",
"null": "Nulo",
@ -611,6 +616,7 @@
"private-key": "PrivateKey",
"private-key-id": "ID da private key",
"profile": "Perfil",
"profile-config": "Profile config",
"profile-lowercase": "perfil",
"profile-sample-type": "Amostra do perfil {{type}}",
"profiler": "Profiler",
@ -842,6 +848,7 @@
"thursday": "Quinta-feira",
"tier": "Camada",
"tier-number": "Camada{{tier}}",
"tier-plural-lowercase": "tiers",
"time": "Tempo",
"timeout": "Timeout",
"title": "Título",
@ -1284,6 +1291,7 @@
"add-entity-error": "Erro ao adicionar {{entity}}!",
"auth-provider-not-supported-renewing": "Fornecedor de autenticação {{provider}} não suportado para renovar tokens.",
"can-not-renew-token-authentication-not-present": "Não é possível renovar o token de ID. O provedor de autenticação não está presente.",
"column-fetch-error": "Error while fetching column test case!",
"connection-tested-successfully": "Conexão testada com sucesso",
"create-entity-error": "Erro ao criar {{entity}}!",
"create-entity-success": "{{entity}} criado com sucesso.",
@ -1310,6 +1318,7 @@
"feed-post-error": "Erro ao publicar a mensagem!",
"fetch-entity-permissions-error": "Não é possível obter permissão para {{entity}}.",
"fetch-re-index-data-error": "Error while fetching re index data!",
"fetch-table-profiler-config-error": "Error while fetching table profiler config!",
"fetch-updated-conversation-error": "Erro ao buscar conversa atualizada!",
"forgot-password-email-error": "Há algum problema ao enviar o e-mail. Entre em contato com seu Administrador.",
"ingestion-workflow-operation-error": "Erro ao {{operation}} do fluxo de trabalho de ingestão {{displayName}}",

View File

@ -153,6 +153,7 @@
"credentials-type": "Credentials Type",
"criteria": "标准",
"custom-attribute-plural": "Custom Attributes",
"custom-entity": "Custom entity",
"custom-oidc": "CustomOidc",
"custom-property": "Custom property",
"custom-property-plural": "定制属性",
@ -346,6 +347,7 @@
"full-screen": "Full screen",
"function": "函数",
"g-chat": "G Chat",
"gcs-config": "GCS Config",
"gcs-config-source": "GCS Config Source",
"gcs-credential-path": "GCS Credentials Path",
"gcs-credential-value": "GCS Credentials Values",
@ -441,8 +443,10 @@
"line": "Line",
"lineage": "血源",
"lineage-config": "Lineage Config",
"lineage-data-lowercase": "lineage data",
"lineage-ingestion": "Lineage Ingestion",
"lineage-lowercase": "lineage",
"lineage-node-lowercase": "lineage node",
"list": "列表",
"list-entity": "List {{entity}}",
"live": "Live",
@ -530,6 +534,7 @@
"not-found-lowercase": "not found",
"not-null": "Not null",
"not-used": "Not used",
"notification": "Notification",
"notification-plural": "Notifications",
"november": "November",
"null": "Null",
@ -611,6 +616,7 @@
"private-key": "PrivateKey",
"private-key-id": "Private Key ID",
"profile": "画像",
"profile-config": "Profile config",
"profile-lowercase": "profile",
"profile-sample-type": "Profile Sample {{type}}",
"profiler": "Profiler",
@ -842,6 +848,7 @@
"thursday": "Thursday",
"tier": "分层",
"tier-number": "分层{{tier}}",
"tier-plural-lowercase": "tiers",
"time": "Time",
"timeout": "超时",
"title": "标题",
@ -1284,6 +1291,7 @@
"add-entity-error": "Error while adding {{entity}}!",
"auth-provider-not-supported-renewing": "Auth Provider {{provider}} not supported for renewing tokens.",
"can-not-renew-token-authentication-not-present": "Cannot renew id token. Authentication Provider is not present.",
"column-fetch-error": "Error while fetching column test case!",
"connection-tested-successfully": "Connection tested successfully",
"create-entity-error": "Error while creating {{entity}}!",
"create-entity-success": "{{entity}} created successfully.",
@ -1310,6 +1318,7 @@
"feed-post-error": "Error while posting the message!",
"fetch-entity-permissions-error": "Unable to get permission for {{entity}}.",
"fetch-re-index-data-error": "Error while fetching re index data!",
"fetch-table-profiler-config-error": "Error while fetching table profiler config!",
"fetch-updated-conversation-error": "Error while fetching updated conversation!",
"forgot-password-email-error": "There is some issue in sending the mail. Please contact your Administrator.",
"ingestion-workflow-operation-error": "Error while {{operation}} ingestion workflow {{displayName}}",

View File

@ -31,7 +31,6 @@ import { addGlossaries } from 'rest/glossaryAPI';
import { getIsErrorMatch } from 'utils/CommonUtils';
import { CreateGlossary } from '../../generated/api/data/createGlossary';
import { Operation } from '../../generated/entity/policies/policy';
import jsonData from '../../jsons/en';
import { checkPermission } from '../../utils/PermissionsUtils';
import { getGlossaryPath } from '../../utils/RouterUtils';
import { getClassifications, getTaglist } from '../../utils/TagsUtils';
@ -82,7 +81,9 @@ const AddGlossaryPage: FunctionComponent = () => {
name: data.name,
})
: (error as AxiosError),
jsonData['api-error-messages']['add-glossary-error']
t('server.add-entity-error', {
entity: t('label.glossary'),
})
);
} finally {
setIsLoading(false);
@ -97,11 +98,20 @@ const AddGlossaryPage: FunctionComponent = () => {
const tagList = await getTaglist(res.data);
setTagList(tagList);
} else {
showErrorToast(jsonData['api-error-messages']['fetch-tags-error']);
showErrorToast(
t('server.entity-fetch-error', {
entity: t('label.tag-plural'),
})
);
}
})
.catch((err: AxiosError) => {
showErrorToast(err, jsonData['api-error-messages']['fetch-tags-error']);
showErrorToast(
err,
t('server.entity-fetch-error', {
entity: t('label.tag-plural'),
})
);
})
.finally(() => {
setIsTagLoading(false);

View File

@ -45,7 +45,6 @@ import { CreateIngestionPipeline } from '../../generated/api/services/ingestionP
import { PipelineType } from '../../generated/entity/services/ingestionPipelines/ingestionPipeline';
import { useAirflowStatus } from '../../hooks/useAirflowStatus';
import { DataObj } from '../../interface/service.interface';
import jsonData from '../../jsons/en';
import { getEntityMissingError } from '../../utils/CommonUtils';
import {
getBreadCrumbsArray,
@ -91,7 +90,11 @@ const AddIngestionPage = () => {
if (resService) {
setServiceData(resService as DataObj);
} else {
showErrorToast(jsonData['api-error-messages']['fetch-service-error']);
showErrorToast(
t('server.entity-fetch-error', {
entity: t('label.service-detail-lowercase-plural'),
})
);
}
})
.catch((error: AxiosError) => {
@ -100,7 +103,9 @@ const AddIngestionPage = () => {
} else {
showErrorToast(
error,
jsonData['api-error-messages']['fetch-service-error']
t('server.entity-fetch-error', {
entity: t('label.service-detail-lowercase-plural'),
})
);
}
})
@ -124,7 +129,10 @@ const AddIngestionPage = () => {
setShowIngestionButton(true);
setIngestionAction(IngestionActionMessage.DEPLOYING_ERROR);
showErrorToast(
err || jsonData['api-error-messages']['deploy-ingestion-error']
err,
t('server.deploy-entity-error', {
entity: t('label.ingestion-workflow-lowercase'),
})
);
})
.finally(() => resolve());
@ -142,7 +150,9 @@ const AddIngestionPage = () => {
onIngestionDeploy(res.id).finally(() => resolve());
} else {
showErrorToast(
jsonData['api-error-messages']['create-ingestion-error']
t('server.create-entity-error', {
entity: t('label.ingestion-workflow'),
})
);
reject();
}
@ -163,18 +173,20 @@ const AddIngestionPage = () => {
resolve();
showErrorToast(
err,
jsonData['api-error-messages']['deploy-ingestion-error']
t('server.deploy-entity-error', {
entity: t('label.ingestion-workflow'),
})
);
} else {
throw jsonData['api-error-messages'][
'unexpected-server-response'
];
throw t('server.unexpected-response');
}
})
.catch(() => {
showErrorToast(
err,
jsonData['api-error-messages']['create-ingestion-error']
t('server.create-entity-error', {
entity: t('label.ingestion-workflow'),
})
);
reject();
});

View File

@ -42,7 +42,6 @@ import {
} from '../../constants/HelperTextUtil';
import { PAGE_HEADERS } from '../../constants/PageHeaders.constant';
import { Type } from '../../generated/entity/type';
import jsonData from '../../jsons/en';
import { DEFAULT_ENTITY_PERMISSION } from '../../utils/PermissionsUtils';
import { showErrorToast } from '../../utils/ToastUtils';
import './CustomPropertiesPageV1.less';
@ -193,7 +192,9 @@ const CustomEntityDetailV1 = () => {
if (isError) {
return (
<ErrorPlaceHolder>
{jsonData['message']['no-custom-entity']}
{t('server.no-entity-data-available', {
entity: t('label.custom-entity'),
})}
</ErrorPlaceHolder>
);
}

View File

@ -31,7 +31,6 @@ import { Post, Thread, ThreadType } from 'generated/entity/feed/thread';
import { Paging } from 'generated/type/paging';
import { LabelType, State, TagSource } from 'generated/type/tagLabel';
import { EntityFieldThreadCount } from 'interface/feed.interface';
import jsonData from 'jsons/en';
import { isUndefined, omitBy } from 'lodash';
import { observer } from 'mobx-react';
import { EntityTags } from 'Models';
@ -192,11 +191,16 @@ const DataModelsPage = () => {
});
getEntityFeedCount();
} else {
throw jsonData['api-error-messages']['unexpected-server-response'];
throw t('server.unexpected-response');
}
})
.catch((err: AxiosError) => {
showErrorToast(err, jsonData['api-error-messages']['add-feed-error']);
showErrorToast(
err,
t('server.add-entity-error', {
entity: t('label.feed'),
})
);
});
};
@ -241,15 +245,15 @@ const DataModelsPage = () => {
setEntityThread((pre) => [...pre, res]);
getEntityFeedCount();
} else {
showErrorToast(
jsonData['api-error-messages']['unexpected-server-response']
);
showErrorToast(t('server.unexpected-response'));
}
})
.catch((err: AxiosError) => {
showErrorToast(
err,
jsonData['api-error-messages']['create-conversation-error']
t('server.create-entity-error', {
entity: t('label.conversation-lowercase'),
})
);
});
};

View File

@ -95,7 +95,6 @@ import { Post, Thread } from '../../generated/entity/feed/thread';
import { Paging } from '../../generated/type/paging';
import { useInfiniteScroll } from '../../hooks/useInfiniteScroll';
import { EntityFieldThreadCount } from '../../interface/feed.interface';
import jsonData from '../../jsons/en';
import { getPartialNameFromTableFQN } from '../../utils/CommonUtils';
import {
databaseSchemaDetailsTabs,
@ -256,14 +255,11 @@ const DatabaseSchemaPage: FunctionComponent = () => {
setFeedCount(res.totalCount);
setEntityFieldThreadCount(res.counts);
} else {
throw jsonData['api-error-messages']['unexpected-server-response'];
throw t('server.unexpected-response');
}
})
.catch((err: AxiosError) => {
showErrorToast(
err,
jsonData['api-error-messages']['fetch-entity-feed-count-error']
);
showErrorToast(err, t('server.entity-feed-fetch-error'));
});
};
@ -319,13 +315,15 @@ const DatabaseSchemaPage: FunctionComponent = () => {
},
]);
} else {
throw jsonData['api-error-messages']['unexpected-server-response'];
throw t('server.unexpected-response');
}
})
.catch((err: AxiosError) => {
const errMsg = getErrorText(
err,
jsonData['api-error-messages']['fetch-databaseSchema-details-error']
t('server.entity-fetch-error', {
entity: t('label.database-schema'),
})
);
setError(errMsg);
showErrorToast(errMsg);
@ -402,7 +400,7 @@ const DatabaseSchemaPage: FunctionComponent = () => {
setDescription(updatedHTML);
getEntityFeedCount();
} else {
throw jsonData['api-error-messages']['unexpected-server-response'];
throw t('server.unexpected-response');
}
} catch (error) {
showErrorToast(error as AxiosError);
@ -447,15 +445,15 @@ const DatabaseSchemaPage: FunctionComponent = () => {
} else {
reject();
throw jsonData['api-error-messages'][
'unexpected-server-response'
];
throw t('server.unexpected-response');
}
})
.catch((err: AxiosError) => {
showErrorToast(
err,
jsonData['api-error-messages']['update-databaseSchema-error']
t('server.entity-updating-error', {
entity: t('label.database-schema'),
})
);
reject();
});
@ -495,13 +493,15 @@ const DatabaseSchemaPage: FunctionComponent = () => {
setPaging(pagingObj);
setEntityThread((prevData) => [...prevData, ...data]);
} else {
throw jsonData['api-error-messages']['unexpected-server-response'];
throw t('server.unexpected-response');
}
})
.catch((err: AxiosError) => {
showErrorToast(
err,
jsonData['api-error-messages']['fetch-entity-feed-error']
t('server.entity-fetch-error', {
entity: t('label.feed-plural'),
})
);
})
.finally(() => setIsentityThreadLoading(false));
@ -529,11 +529,16 @@ const DatabaseSchemaPage: FunctionComponent = () => {
});
getEntityFeedCount();
} else {
throw jsonData['api-error-messages']['unexpected-server-response'];
throw t('server.unexpected-response');
}
})
.catch((err: AxiosError) => {
showErrorToast(err, jsonData['api-error-messages']['add-feed-error']);
showErrorToast(
err,
t('server.add-entity-error', {
entity: t('label.feed'),
})
);
});
};
@ -544,15 +549,15 @@ const DatabaseSchemaPage: FunctionComponent = () => {
setEntityThread((pre) => [...pre, res]);
getEntityFeedCount();
} else {
showErrorToast(
jsonData['api-error-messages']['unexpected-server-response']
);
showErrorToast(t('server.unexpected-response'));
}
})
.catch((err: AxiosError) => {
showErrorToast(
err,
jsonData['api-error-messages']['create-conversation-error']
t('server.create-entity-error', {
entity: t('conversation-lowercase'),
})
);
});
};

View File

@ -49,7 +49,6 @@ import {
} from '../../generated/entity/services/ingestionPipelines/ingestionPipeline';
import { useAirflowStatus } from '../../hooks/useAirflowStatus';
import { DataObj } from '../../interface/service.interface';
import jsonData from '../../jsons/en';
import { getEntityMissingError } from '../../utils/CommonUtils';
import {
getBreadCrumbsArray,
@ -100,7 +99,9 @@ const EditIngestionPage = () => {
resolve();
} else {
showErrorToast(
jsonData['api-error-messages']['fetch-service-error']
t('server.entity-fetch-error', {
entity: t('label.service-detail-lowercase-plural'),
})
);
}
})
@ -108,8 +109,9 @@ const EditIngestionPage = () => {
if (error.response?.status === 404) {
setErrorMsg(getEntityMissingError(serviceCategory, serviceFQN));
} else {
const errTextService =
jsonData['api-error-messages']['fetch-service-error'];
const errTextService = t('server.entity-fetch-error', {
entity: t('label.service-detail-lowercase-plural'),
});
showErrorToast(error, errTextService);
setErrorMsg(errTextService);
}
@ -126,15 +128,16 @@ const EditIngestionPage = () => {
setIngestionData(res);
resolve();
} else {
throw jsonData['api-error-messages']['unexpected-server-response'];
throw t('server.unexpected-error');
}
})
.catch((error: AxiosError) => {
if (error.response?.status === 404) {
setErrorMsg(getEntityMissingError('Ingestion', ingestionFQN));
} else {
const errTextIngestion =
jsonData['api-error-messages']['fetch-ingestion-error'];
const errTextIngestion = t('server.entity-fetch-error', {
entity: t('label.ingestion-workflow'),
});
showErrorToast(error, errTextIngestion);
setErrorMsg(errTextIngestion);
}
@ -165,7 +168,10 @@ const EditIngestionPage = () => {
setShowIngestionButton(true);
setIngestionAction(IngestionActionMessage.DEPLOYING_ERROR);
showErrorToast(
err || jsonData['api-error-messages']['deploy-ingestion-error']
err,
t('server.deploy-entity-error', {
entity: t('label.ingestion-workflow'),
})
);
})
.finally(() => resolve());
@ -206,13 +212,17 @@ const EditIngestionPage = () => {
onIngestionDeploy();
resolve();
} else {
throw jsonData['api-error-messages']['update-ingestion-error'];
throw t('server.entity-updating-error', {
entity: t('label.ingestion-workflow-lowercase'),
});
}
})
.catch((err: AxiosError) => {
showErrorToast(
err,
jsonData['api-error-messages']['update-ingestion-error']
t('server.entity-updating-error', {
entity: t('label.ingestion-workflow-lowercase'),
})
);
reject();
});

View File

@ -30,7 +30,6 @@ import { compare } from 'fast-json-patch';
import { Glossary } from 'generated/entity/data/glossary';
import { GlossaryTerm } from 'generated/entity/data/glossaryTerm';
import { Operation } from 'generated/entity/policies/policy';
import jsonData from 'jsons/en';
import React, { useEffect, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useHistory, useParams } from 'react-router-dom';
@ -172,7 +171,9 @@ const GlossaryPage = () => {
.then(() => {
setDeleteStatus(LOADING_STATE.SUCCESS);
showSuccessToast(
jsonData['api-success-messages']['delete-glossary-success']
t('server.entity-deleted-successfully', {
entity: t('label.glossary'),
})
);
setIsLoading(true);
history.push(getGlossaryPath());
@ -181,7 +182,9 @@ const GlossaryPage = () => {
.catch((err: AxiosError) => {
showErrorToast(
err,
jsonData['api-error-messages']['delete-glossary-error']
t('server.delete-entity-error', {
entity: t('label.glossary'),
})
);
})
.finally(() => setDeleteStatus(LOADING_STATE.INITIAL));
@ -201,7 +204,9 @@ const GlossaryPage = () => {
fetchGlossaryList();
}
} else {
throw jsonData['api-error-messages']['update-glossary-term-error'];
throw t('server.entity-updating-error', {
entity: t('label.glossary-term'),
});
}
} catch (error) {
showErrorToast(error as AxiosError);
@ -214,7 +219,9 @@ const GlossaryPage = () => {
.then(() => {
setDeleteStatus(LOADING_STATE.SUCCESS);
showSuccessToast(
jsonData['api-success-messages']['delete-glossary-term-success']
t('server.entity-deleted-successfully', {
entity: t('label.glossary-term'),
})
);
let fqn;
if (glossaryFqn) {
@ -229,7 +236,9 @@ const GlossaryPage = () => {
.catch((err: AxiosError) => {
showErrorToast(
err,
jsonData['api-error-messages']['delete-glossary-term-error']
t('server.delete-entity-error', {
entity: t('label.glossary-term'),
})
);
})
.finally(() => setDeleteStatus(LOADING_STATE.INITIAL));

View File

@ -40,7 +40,6 @@ import { ProfilerDashboardType } from '../../enums/table.enum';
import { ColumnProfile, Table } from '../../generated/entity/data/table';
import { TestCase } from '../../generated/tests/testCase';
import { Include } from '../../generated/type/include';
import jsonData from '../../jsons/en';
import {
getNameFromFQN,
getTableFQNFromColumnFQN,
@ -82,7 +81,9 @@ const ProfilerDashboardPage = () => {
setTablePermissions(tablePermission);
} catch (error) {
showErrorToast(
jsonData['api-error-messages']['fetch-entity-permissions-error']
t('server.fetch-entity-permissions-error', {
entity: ResourceEntity.TABLE,
})
);
}
};
@ -116,10 +117,7 @@ const ProfilerDashboardPage = () => {
});
setTestCases(data);
} catch (error) {
showErrorToast(
error as AxiosError,
jsonData['api-error-messages']['fetch-column-test-error']
);
showErrorToast(error as AxiosError, t('server.column-fetch-error'));
} finally {
setIsLoading(false);
setIsTestCaseLoading(false);
@ -146,7 +144,9 @@ const ProfilerDashboardPage = () => {
} catch (error) {
showErrorToast(
error as AxiosError,
jsonData['api-error-messages']['fetch-table-details-error']
t('server.entity-fetch-error', {
entity: t('label.table-lowercase'),
})
);
setIsLoading(false);
setError(true);
@ -162,7 +162,9 @@ const ProfilerDashboardPage = () => {
} catch (error) {
showErrorToast(
error as AxiosError,
jsonData['api-error-messages']['update-entity-error']
t('server.entity-updating-error', {
entity: updatedTable.name,
})
);
}
};

View File

@ -93,7 +93,6 @@ import { UsageDetails } from '../../generated/type/entityUsage';
import { Paging } from '../../generated/type/paging';
import { useInfiniteScroll } from '../../hooks/useInfiniteScroll';
import { EntityFieldThreadCount } from '../../interface/feed.interface';
import jsonData from '../../jsons/en';
import {
databaseDetailsTabs,
getCurrentDatabaseDetailsTab,
@ -256,14 +255,16 @@ const DatabaseDetails: FunctionComponent = () => {
setSchemaData([]);
setSchemaPaging(pagingObject);
throw jsonData['api-error-messages']['unexpected-server-response'];
throw t('server.unexpected-response');
}
resolve();
})
.catch((err: AxiosError) => {
showErrorToast(
err,
jsonData['api-error-messages']['fetch-database-schemas-error']
t('server.entity-fetch-error', {
entity: t('label.database schema'),
})
);
reject();
@ -345,7 +346,9 @@ const DatabaseDetails: FunctionComponent = () => {
.catch((err: AxiosError) => {
const errMsg = getErrorText(
err,
jsonData['api-error-messages']['fetch-database-details-error']
t('server.entity-fetch-error', {
entity: t('label.database'),
})
);
setError(errMsg);
showErrorToast(errMsg);
@ -432,8 +435,10 @@ const DatabaseDetails: FunctionComponent = () => {
setDatabase(res);
} catch (error) {
showErrorToast(
error,
jsonData['api-error-messages']['update-database-error']
error as AxiosError,
t('server.entity-updating-error', {
entity: t('label.database'),
})
);
}
};
@ -459,13 +464,15 @@ const DatabaseDetails: FunctionComponent = () => {
setPaging(pagingObj);
setEntityThread((prevData) => [...prevData, ...data]);
} else {
throw jsonData['api-error-messages']['unexpected-server-response'];
throw t('server.unexpected-response');
}
})
.catch((err: AxiosError) => {
showErrorToast(
err,
jsonData['api-error-messages']['fetch-entity-feed-error']
t('server.entity-fetch-error', {
entity: t('label.feed-plural'),
})
);
})
.finally(() => setIsentityThreadLoading(false));
@ -493,11 +500,16 @@ const DatabaseDetails: FunctionComponent = () => {
});
getEntityFeedCount();
} else {
throw jsonData['api-error-messages']['unexpected-server-response'];
throw t('server.unexpected-response');
}
})
.catch((err: AxiosError) => {
showErrorToast(err, jsonData['api-error-messages']['add-feed-error']);
showErrorToast(
err,
t('server.add-entity-error', {
entity: t('label.feed'),
})
);
});
};
@ -508,15 +520,15 @@ const DatabaseDetails: FunctionComponent = () => {
setEntityThread((pre) => [...pre, res]);
getEntityFeedCount();
} else {
showErrorToast(
jsonData['api-error-messages']['unexpected-server-response']
);
showErrorToast(t('server.unexpected-response'));
}
})
.catch((err: AxiosError) => {
showErrorToast(
err,
jsonData['api-error-messages']['create-conversation-error']
t('server.create-entity-error', {
entity: t('label.conversation-lowercase'),
})
);
});
};

View File

@ -37,6 +37,7 @@ import {
DBT_SOURCES,
GCS_CONFIG,
} from 'components/common/DBTConfigFormBuilder/DBTFormEnum';
import i18next from 'i18next';
import { isEmpty, isNil, isString } from 'lodash';
import { FormValidationRulesType } from '../enums/form.enum';
import {
@ -45,7 +46,6 @@ import {
SCredentials,
} from '../generated/metadataIngestion/dbtPipeline';
import { FormValidationRules } from '../interface/genericForm.interface';
import jsonData from '../jsons/en';
import { isValidEmail, isValidUrl } from './CommonUtils';
export const validateDbtCloudConfig = (
@ -59,9 +59,9 @@ export const validateDbtCloudConfig = (
>) {
if (isEmpty(data[field])) {
isValid = false;
errors[
field
] = `${requiredFields[field]} ${jsonData['form-error-messages']['is-required']}`;
errors[field] = i18next.t('message.field-text-is-required', {
fieldText: requiredFields[field],
});
}
}
@ -79,9 +79,9 @@ export const validateDbtLocalConfig = (
>) {
if (isEmpty(data[field])) {
isValid = false;
errors[
field
] = `${requiredFields[field]} ${jsonData['form-error-messages']['is-required']}`;
errors[field] = i18next.t('message.field-text-is-required', {
fieldText: requiredFields[field],
});
}
}
@ -99,9 +99,9 @@ export const validateDbtHttpConfig = (
>) {
if (isEmpty(data[field])) {
isValid = false;
errors[
field
] = `${requiredFields[field]} ${jsonData['form-error-messages']['is-required']}`;
errors[field] = i18next.t('message.field-text-is-required', {
fieldText: requiredFields[field],
});
}
}
@ -119,9 +119,9 @@ export const validateDbtS3Config = (
>) {
if (isEmpty(data[field])) {
isValid = false;
errors[
field
] = `${requiredFields[field]} ${jsonData['form-error-messages']['is-required']}`;
errors[field] = i18next.t('message.field-text-is-required', {
fieldText: requiredFields[field],
});
}
}
@ -145,9 +145,9 @@ function getInvalidEmailErrors<
for (const field of ruleFields[rule]) {
if (data[field] && !isValidEmail(data[field] as unknown as string)) {
isValid = false;
errors[field] = jsonData['form-error-messages'][
'invalid-email'
] as Errors[keyof Type];
errors[field] = i18next.t('label.field-invalid', {
field: i18next.t('label.email'),
});
}
}
@ -171,9 +171,9 @@ function getInvalidUrlErrors<
for (const field of ruleFields[rule]) {
if (data[field] && !isValidUrl(data[field] as unknown as string)) {
isValid = false;
errors[field] = jsonData['form-error-messages'][
'invalid-url'
] as Errors[keyof Type];
errors[field] = i18next.t('label.field-invalid', {
field: i18next.t('label.url-uppercase'),
});
}
}