mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2026-01-06 04:26:57 +00:00
feat(ui): added welcome screen for first time user (#11242)
* feat(ui): added welcome screen for first time user * fixed failing unit test and updated content * translation-sync * updated font size in welcome screen message
This commit is contained in:
parent
b5f07cd851
commit
d54b55d4ea
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
@ -0,0 +1,4 @@
|
||||
<svg viewBox="0 0 18 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11.2781 13.2007C11.1001 13.2007 10.922 13.1339 10.7815 12.9909C10.5097 12.7145 10.5097 12.2569 10.7815 11.9805L15.9729 6.69945L10.7815 1.41844C10.5097 1.14199 10.5097 0.68443 10.7815 0.407986C11.0532 0.131542 11.503 0.131542 11.7748 0.407986L17.4629 6.19423C17.7346 6.47067 17.7346 6.92823 17.4629 7.20468L11.7748 12.9909C11.6342 13.1339 11.4562 13.2007 11.2781 13.2007Z" fill="currentColor"/>
|
||||
<path d="M16.8073 7.41452H1.03619C0.651982 7.41452 0.333374 7.09041 0.333374 6.69958C0.333374 6.30874 0.651982 5.98464 1.03619 5.98464H16.8073C17.1915 5.98464 17.5101 6.30874 17.5101 6.69958C17.5101 7.09041 17.1915 7.41452 16.8073 7.41452Z" fill="currentColor"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 747 B |
@ -12,6 +12,7 @@
|
||||
*/
|
||||
|
||||
import { Card, Col, Divider, Row } from 'antd';
|
||||
import WelcomeScreen from 'components/WelcomeScreen/WelcomeScreen.component';
|
||||
import { ELASTICSEARCH_ERROR_PLACEHOLDER_TYPE } from 'enums/common.enum';
|
||||
import { observer } from 'mobx-react';
|
||||
import React, {
|
||||
@ -38,7 +39,6 @@ import PageLayoutV1 from '../containers/PageLayoutV1';
|
||||
import { EntityListWithAntd } from '../EntityList/EntityList';
|
||||
import Loader from '../Loader/Loader';
|
||||
import MyAssetStats from '../MyAssetStats/MyAssetStats.component';
|
||||
import Onboarding from '../onboarding/Onboarding';
|
||||
import RecentlyViewed from '../recently-viewed/RecentlyViewed';
|
||||
import RecentSearchedTermsAntd from '../RecentSearchedTerms/RecentSearchedTermsAntd';
|
||||
import { MyDataProps } from './MyData.interface';
|
||||
@ -67,6 +67,7 @@ const MyData: React.FC<MyDataProps> = ({
|
||||
const [elementRef, isInView] = useInfiniteScroll(observerOptions);
|
||||
const [feedFilter, setFeedFilter] = useState(FeedFilter.OWNER);
|
||||
const [threadType, setThreadType] = useState<ThreadType>();
|
||||
const [showWelcomeScreen, setShowWelcomeScreen] = useState(true);
|
||||
|
||||
const getLeftPanel = () => {
|
||||
return (
|
||||
@ -227,19 +228,15 @@ const MyData: React.FC<MyDataProps> = ({
|
||||
|
||||
const newFeedsLength = activityFeeds && activityFeeds.length;
|
||||
|
||||
// Check if feedFilter or ThreadType filter is applied or not
|
||||
const filtersApplied = useMemo(
|
||||
() => feedFilter === FeedFilter.ALL && !threadType,
|
||||
[feedFilter, threadType]
|
||||
);
|
||||
|
||||
const showActivityFeedList = useMemo(
|
||||
() =>
|
||||
feedData?.length > 0 ||
|
||||
!filtersApplied ||
|
||||
newFeedsLength ||
|
||||
isFeedLoading,
|
||||
[feedData, filtersApplied, newFeedsLength, isFeedLoading]
|
||||
!(
|
||||
feedFilter === FeedFilter.OWNER &&
|
||||
feedData.length === 0 &&
|
||||
!isFeedLoading &&
|
||||
showWelcomeScreen
|
||||
),
|
||||
[feedFilter, feedData, isFeedLoading, showWelcomeScreen]
|
||||
);
|
||||
|
||||
return (
|
||||
@ -255,26 +252,23 @@ const MyData: React.FC<MyDataProps> = ({
|
||||
) : (
|
||||
<>
|
||||
{showActivityFeedList ? (
|
||||
<>
|
||||
<ActivityFeedList
|
||||
stickyFilter
|
||||
withSidePanel
|
||||
appliedFeedFilter={feedFilter}
|
||||
deletePostHandler={deletePostHandler}
|
||||
feedList={feedData}
|
||||
isFeedLoading={isFeedLoading}
|
||||
postFeedHandler={postFeedHandler}
|
||||
refreshFeedCount={newFeedsLength}
|
||||
updateThreadHandler={updateThreadHandler}
|
||||
onFeedFiltersUpdate={handleFeedFilterChange}
|
||||
onRefreshFeeds={onRefreshFeeds}
|
||||
/>
|
||||
{filtersApplied && feedData?.length <= 0 && !isFeedLoading ? (
|
||||
<Onboarding />
|
||||
) : null}
|
||||
</>
|
||||
<ActivityFeedList
|
||||
stickyFilter
|
||||
withSidePanel
|
||||
appliedFeedFilter={feedFilter}
|
||||
deletePostHandler={deletePostHandler}
|
||||
feedList={feedData}
|
||||
isFeedLoading={isFeedLoading}
|
||||
postFeedHandler={postFeedHandler}
|
||||
refreshFeedCount={newFeedsLength}
|
||||
updateThreadHandler={updateThreadHandler}
|
||||
onFeedFiltersUpdate={handleFeedFilterChange}
|
||||
onRefreshFeeds={onRefreshFeeds}
|
||||
/>
|
||||
) : (
|
||||
!isFeedLoading && <Onboarding />
|
||||
!isFeedLoading && (
|
||||
<WelcomeScreen onClose={() => setShowWelcomeScreen(false)} />
|
||||
)
|
||||
)}
|
||||
{isFeedLoading ? <Loader /> : null}
|
||||
<div
|
||||
|
||||
@ -118,6 +118,9 @@ jest.mock('../../utils/ServiceUtils', () => ({
|
||||
.mockReturnValue({ tableCount: 4, topicCount: 5, dashboardCount: 6 }),
|
||||
getTotalEntityCountByService: jest.fn().mockReturnValue(2),
|
||||
}));
|
||||
jest.mock('components/WelcomeScreen/WelcomeScreen.component', () => {
|
||||
return jest.fn().mockImplementation(() => <div>WelcomeScreen</div>);
|
||||
});
|
||||
|
||||
jest.mock('../RecentSearchedTerms/RecentSearchedTermsAntd', () => {
|
||||
return jest
|
||||
@ -191,34 +194,14 @@ describe('Test MyData page', () => {
|
||||
expect(obServerElement).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('Onboarding placeholder should be visible in case of no activity feed present overall and the feeds are not loading', async () => {
|
||||
it('Welcome screen placeholder should be visible in case of no activity feed present overall and the feeds are not loading', async () => {
|
||||
render(<MyData {...mockProp} feedData={[]} />, {
|
||||
wrapper: MemoryRouter,
|
||||
});
|
||||
|
||||
const activityFeedListContainer = await screen.findByTestId(
|
||||
'activityFeedList'
|
||||
);
|
||||
const welcomeScreen = await screen.findByText('WelcomeScreen');
|
||||
|
||||
expect(activityFeedListContainer).toBeInTheDocument();
|
||||
|
||||
const onFeedFiltersUpdate = await screen.findByTestId(
|
||||
'onFeedFiltersUpdate'
|
||||
);
|
||||
|
||||
expect(onFeedFiltersUpdate).toBeInTheDocument();
|
||||
|
||||
await act(async () => {
|
||||
userEvent.click(onFeedFiltersUpdate);
|
||||
});
|
||||
|
||||
const activityFeedList = screen.queryByTestId('activityFeedList');
|
||||
|
||||
expect(activityFeedList).toBeNull();
|
||||
|
||||
const onboardingDiv = await screen.findByTestId('Onboarding');
|
||||
|
||||
expect(onboardingDiv).toBeInTheDocument();
|
||||
expect(welcomeScreen).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('Onboarding placeholder should not be visible in case feeds are loading', async () => {
|
||||
|
||||
@ -0,0 +1,92 @@
|
||||
/*
|
||||
* Copyright 2023 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.
|
||||
*/
|
||||
import { Button, Card, Col, Divider, Row, Space, Typography } from 'antd';
|
||||
import WelcomeScreenImg from 'assets/img/welcome-screen.png';
|
||||
import { ReactComponent as CloseIcon } from 'assets/svg/close.svg';
|
||||
import { ReactComponent as LineArrowRight } from 'assets/svg/line-arrow-right.svg';
|
||||
import React, { useMemo } from 'react';
|
||||
|
||||
import AppState from 'AppState';
|
||||
import { ROUTES } from 'constants/constants';
|
||||
import { split } from 'lodash';
|
||||
import { observer } from 'mobx-react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { getEntityName } from 'utils/EntityUtils';
|
||||
import './welcome-screen.style.less';
|
||||
|
||||
const { Paragraph, Text } = Typography;
|
||||
|
||||
interface WelcomeScreenProps {
|
||||
onClose: () => void;
|
||||
}
|
||||
|
||||
const WelcomeScreen = ({ onClose }: WelcomeScreenProps) => {
|
||||
const { t } = useTranslation();
|
||||
const userName = useMemo(() => {
|
||||
const user = AppState.getCurrentUserDetails();
|
||||
|
||||
return split(getEntityName(user), ' ')[0];
|
||||
}, [AppState]);
|
||||
|
||||
return (
|
||||
<Card
|
||||
className="welcome-screen-container"
|
||||
extra={
|
||||
<Button
|
||||
className="flex-center welcome-screen-close-btn"
|
||||
icon={<CloseIcon height={12} width={12} />}
|
||||
type="text"
|
||||
onClick={onClose}
|
||||
/>
|
||||
}>
|
||||
<Row gutter={16}>
|
||||
<Col span={12}>
|
||||
<img
|
||||
alt="welcome screen image"
|
||||
data-testid="welcome-screen-img"
|
||||
loading="lazy"
|
||||
src={WelcomeScreenImg}
|
||||
/>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
<Space direction="vertical">
|
||||
<div>
|
||||
<Paragraph className="welcome-screen-header-first-line m-b-0">
|
||||
{t('message.hi-user-welcome-to', {
|
||||
user: userName || t('label.user'),
|
||||
})}
|
||||
</Paragraph>
|
||||
<Paragraph className="welcome-screen-header-second-line m-b-0">
|
||||
{`${t('label.open-metadata')}! 🎉`}
|
||||
</Paragraph>
|
||||
</div>
|
||||
<Divider className="welcome-screen-header-divider" />
|
||||
|
||||
<Paragraph className="m-b-lg tw-text-base">
|
||||
{t('message.welcome-screen-message')}
|
||||
</Paragraph>
|
||||
<Link className="flex items-center gap-2 p-0" to={ROUTES.TOUR}>
|
||||
<Text className="welcome-screen-button-text">
|
||||
{t('message.take-quick-product-tour')}
|
||||
</Text>
|
||||
<LineArrowRight className="text-primary" height={14} width={18} />
|
||||
</Link>
|
||||
</Space>
|
||||
</Col>
|
||||
</Row>
|
||||
</Card>
|
||||
);
|
||||
};
|
||||
|
||||
export default observer(WelcomeScreen);
|
||||
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Copyright 2023 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.
|
||||
*/
|
||||
@import url(../../styles/variables.less);
|
||||
@dark-purple: #361a8f;
|
||||
|
||||
.welcome-screen-container {
|
||||
.ant-card-head {
|
||||
padding-top: 16px;
|
||||
border-bottom: unset;
|
||||
|
||||
.welcome-screen-close-btn {
|
||||
color: #afa3d2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.welcome-screen-header-first-line {
|
||||
font-size: 30px;
|
||||
font-weight: 500;
|
||||
color: @text-grey-muted;
|
||||
}
|
||||
.welcome-screen-header-second-line {
|
||||
font-size: 42px;
|
||||
font-weight: 800;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.welcome-screen-header-divider {
|
||||
min-width: 90%;
|
||||
width: 90%;
|
||||
border-top: 1.5px solid rgba(113, 71, 232, 0.35);
|
||||
margin: 8px 0;
|
||||
}
|
||||
|
||||
.welcome-screen-button-text {
|
||||
color: @dark-purple;
|
||||
text-decoration: underline;
|
||||
}
|
||||
@ -1095,6 +1095,7 @@
|
||||
"go-back-to-login-page": "Go back to Login page",
|
||||
"group-team-type-change-message": "The team type 'Group' cannot be changed. Please create a new team with the preferred type.",
|
||||
"has-been-created-successfully": "has been created successfully",
|
||||
"hi-user-welcome-to": "Hi {{user}}, Welcome to",
|
||||
"import-glossary-help": "Save time & effort by uploading a CSV file with several glossary terms in one go.",
|
||||
"in-this-database": "In this Database",
|
||||
"include-assets-message": "Enable extracting {{assets}} from the data source.",
|
||||
@ -1252,6 +1253,7 @@
|
||||
"success-status-for-entity-deploy": "<0>{{entity}}</0> has been {{entityStatus}} and deployed successfully",
|
||||
"successfully-completed-the-tour": "You’ve successfully completed the tour.",
|
||||
"synonym-placeholder": "To add a synonym, simply type it in and press Enter",
|
||||
"take-quick-product-tour": "Take a quick product tour",
|
||||
"team-moved-success": "Team moved successfully!",
|
||||
"team-no-asset": "Your team does not have any assets.",
|
||||
"test-connection-cannot-be-triggered": "Test connection cannot be triggered.",
|
||||
@ -1298,6 +1300,7 @@
|
||||
"viewing-older-version": "Viewing older version \n Go to latest to update details",
|
||||
"webhook-listing-message": "The webhook allows external services to be notified of the metadata change events happening in your organization through APIs. Register callback URLs with webhook integration to receive metadata event notifications. You can add, list, update, and delete webhooks.",
|
||||
"webhook-type-listing-message": "Provide timely updates to the producers and consumers of metadata via {{webhookType}} notifications. Use {{webhookType}} webhooks to send notifications regarding the metadata change events in your organization through APIs. You can add, list, update, and delete these webhooks.",
|
||||
"welcome-screen-message": "Discover all your data in one place and collaborate seamlessly with your team on data that you can trust. Take a product tour to get started!",
|
||||
"welcome-to-om": "Welcome to OpenMetadata!",
|
||||
"welcome-to-open-metadata": "Welcome to OpenMetadata!",
|
||||
"would-like-to-start-adding-some": "Would like to start adding some?",
|
||||
|
||||
@ -1095,6 +1095,7 @@
|
||||
"go-back-to-login-page": "Volver a la página de inicio de sesión",
|
||||
"group-team-type-change-message": "El tipo de equipo 'Grupo' no se puede cambiar. Por favor, cree un nuevo equipo con el tipo preferido.",
|
||||
"has-been-created-successfully": "se ha creado exitosamente",
|
||||
"hi-user-welcome-to": "Hi {{user}}, Welcome to",
|
||||
"import-glossary-help": "Ahorre tiempo y esfuerzo cargando un archivo CSV con varios términos de glosario de una sola vez.",
|
||||
"in-this-database": "En esta base de datos",
|
||||
"include-assets-message": "Configuración opcional para activar la ingesta de {{assets}}.",
|
||||
@ -1252,6 +1253,7 @@
|
||||
"success-status-for-entity-deploy": "<0>{{entity}}</0> se ha {{entityStatus}} y desplegado con éxito",
|
||||
"successfully-completed-the-tour": "Has completado el recorrido con éxito.",
|
||||
"synonym-placeholder": "To add a synonym, simply type it in and press Enter",
|
||||
"take-quick-product-tour": "Take a quick product tour",
|
||||
"team-moved-success": "¡Equipo movido con éxito!",
|
||||
"team-no-asset": "Tu equipo no tiene ningún activo.",
|
||||
"test-connection-cannot-be-triggered": "No se puede iniciar la prueba de conexión.",
|
||||
@ -1298,6 +1300,7 @@
|
||||
"viewing-older-version": "Viendo la versión anterior. \n Vaya a la última para actualizar los detalles",
|
||||
"webhook-listing-message": "El webhook permite que los servicios externos sean notificados de los eventos de cambio de metadatos que ocurren en su organización a través de APIs. Registre URLs de devolución de llamada con la integración de webhook para recibir notificaciones de eventos de metadatos. Puede agregar, listar, actualizar y eliminar webhooks.",
|
||||
"webhook-type-listing-message": "Proporcione actualizaciones oportunas a los productores y consumidores de metadatos a través de notificaciones de {{webhookType}}. Use los webhooks de {{webhookType}} para enviar notificaciones sobre los eventos de cambio de metadatos en su organización a través de APIs. Puede agregar, listar, actualizar y eliminar estos webhooks.",
|
||||
"welcome-screen-message": "Discover all your data in one place and collaborate seamlessly with your team on data that you can trust. Take a product tour to get started!",
|
||||
"welcome-to-om": "¡Bienvenido a OpenMetadata!",
|
||||
"welcome-to-open-metadata": "¡Bienvenido a OpenMetadata!",
|
||||
"would-like-to-start-adding-some": "¿Te gustaría comenzar a agregar algunos?",
|
||||
|
||||
@ -1095,6 +1095,7 @@
|
||||
"go-back-to-login-page": "Go back to Login page",
|
||||
"group-team-type-change-message": "Le type 'Group' pour l'équipe ne peut pas eêtre changé. Merci de créer une nouvelle équipe avec le type préférentiel.",
|
||||
"has-been-created-successfully": "has been created successfully",
|
||||
"hi-user-welcome-to": "Hi {{user}}, Welcome to",
|
||||
"import-glossary-help": "Save time & effort by uploading a CSV file with several glossary terms in one go.",
|
||||
"in-this-database": "In this Database",
|
||||
"include-assets-message": "Enable extracting {{assets}} from the data source.",
|
||||
@ -1252,6 +1253,7 @@
|
||||
"success-status-for-entity-deploy": "<0>{{entity}}</0> has been {{entityStatus}} and deployed successfully",
|
||||
"successfully-completed-the-tour": "Vous avez fini la visite avec succès.",
|
||||
"synonym-placeholder": "To add a synonym, simply type it in and press Enter",
|
||||
"take-quick-product-tour": "Take a quick product tour",
|
||||
"team-moved-success": "Team moved successfully!",
|
||||
"team-no-asset": "Votre equipe n'a pas de resources de données",
|
||||
"test-connection-cannot-be-triggered": "Test connection cannot be triggered.",
|
||||
@ -1298,6 +1300,7 @@
|
||||
"viewing-older-version": "Viewing older version \n Go to latest to update details",
|
||||
"webhook-listing-message": "Le webhook permet aux services externes d'être notifiés lors de changements dans les métadonnées au seinn de votre organization et cela grâce a l'API . Enregistrez l'URL de redirection (callback URLs) avec l'intégration webhook pour recevoir des notifications lors de changements dans les métadonnées. Vous pouvez ajouter, \"list\", \"update\", and \"delete\" these \"webhooks\".",
|
||||
"webhook-type-listing-message": "Envoyez des mises à jour à temps aux producteurs et consommateurs de métadonnées grâce aux notifiactions {{webhookType}}. Utilisez le webhook {{webhookType}} pour envoyer des notifications sur les changements dans les métadonnées dans votre organization grâce a l'API. Vous pouvez ajouter, \"list\", \"update\", and \"delete\" these \"webhooks\".",
|
||||
"welcome-screen-message": "Discover all your data in one place and collaborate seamlessly with your team on data that you can trust. Take a product tour to get started!",
|
||||
"welcome-to-om": "Welcome to OpenMetadata!",
|
||||
"welcome-to-open-metadata": "Welcome to OpenMetadata!",
|
||||
"would-like-to-start-adding-some": "Désirez commencer à ajouter des ",
|
||||
|
||||
@ -1095,6 +1095,7 @@
|
||||
"go-back-to-login-page": "ログインページに戻る",
|
||||
"group-team-type-change-message": "The team type 'Group' cannot be changed. Please create a new team with the preferred type.",
|
||||
"has-been-created-successfully": "正常に作成されました",
|
||||
"hi-user-welcome-to": "Hi {{user}}, Welcome to",
|
||||
"import-glossary-help": "Save time & effort by uploading a CSV file with several glossary terms in one go.",
|
||||
"in-this-database": "In this Database",
|
||||
"include-assets-message": "データソースから{{assets}}の抽出を有効にする。",
|
||||
@ -1252,6 +1253,7 @@
|
||||
"success-status-for-entity-deploy": "<0>{{entity}}</0> has been {{entityStatus}} and deployed successfully",
|
||||
"successfully-completed-the-tour": "あなたは無事ツアーを終了しました。",
|
||||
"synonym-placeholder": "To add a synonym, simply type it in and press Enter",
|
||||
"take-quick-product-tour": "Take a quick product tour",
|
||||
"team-moved-success": "チームの移動が成功しました!",
|
||||
"team-no-asset": "あなたのチームはアセットを持っていません。",
|
||||
"test-connection-cannot-be-triggered": "Test connection cannot be triggered.",
|
||||
@ -1298,6 +1300,7 @@
|
||||
"viewing-older-version": "Viewing older version \n Go to latest to update details",
|
||||
"webhook-listing-message": "The webhook allows external services to be notified of the metadata change events happening in your organization through APIs. Register callback URLs with webhook integration to receive metadata event notifications. You can add, list, update, and delete webhooks.",
|
||||
"webhook-type-listing-message": "Provide timely updates to the producers and consumers of metadata via {{webhookType}} notifications. Use {{webhookType}} webhooks to send notifications regarding the metadata change events in your organization through APIs. You can add, list, update, and delete these webhooks.",
|
||||
"welcome-screen-message": "Discover all your data in one place and collaborate seamlessly with your team on data that you can trust. Take a product tour to get started!",
|
||||
"welcome-to-om": "OpenMetadataへようこそ!",
|
||||
"welcome-to-open-metadata": "OpenMetadataへようこそ!",
|
||||
"would-like-to-start-adding-some": "Would like to start adding some?",
|
||||
|
||||
@ -1095,6 +1095,7 @@
|
||||
"go-back-to-login-page": "Voltar para a página de login",
|
||||
"group-team-type-change-message": "O tipo de equipe 'Grupo' não pode ser alterado. Por favor, crie uma nova equipe com o tipo preferido.",
|
||||
"has-been-created-successfully": "foi criado com sucesso",
|
||||
"hi-user-welcome-to": "Hi {{user}}, Welcome to",
|
||||
"import-glossary-help": "Save time & effort by uploading a CSV file with several glossary terms in one go.",
|
||||
"in-this-database": "Neste banco de dados",
|
||||
"include-assets-message": "Habilitar extração de {{assets}} da fonte de dados.",
|
||||
@ -1252,6 +1253,7 @@
|
||||
"success-status-for-entity-deploy": "<0>{{entity}}</0> foi {{entityStatus}} e implantado com sucesso",
|
||||
"successfully-completed-the-tour": "Você concluiu o tour com sucesso.",
|
||||
"synonym-placeholder": "To add a synonym, simply type it in and press Enter",
|
||||
"take-quick-product-tour": "Take a quick product tour",
|
||||
"team-moved-success": "Time movido com sucesso!",
|
||||
"team-no-asset": "Seu time não possui nenhum ativo.",
|
||||
"test-connection-cannot-be-triggered": "Test connection cannot be triggered.",
|
||||
@ -1298,6 +1300,7 @@
|
||||
"viewing-older-version": "Visualizando versão anterior \n Ir para a mais recente para atualizar os detalhes",
|
||||
"webhook-listing-message": "O webhook permite que serviços externos sejam notificados sobre os eventos de mudança de metadados que acontecem em sua organização por meio de APIs. Registre URLs de retorno de chamada com a integração de webhook para receber notificações de eventos de metadados. Você pode adicionar, listar, atualizar e excluir webhooks.",
|
||||
"webhook-type-listing-message": "Forneça atualizações oportunas aos produtores e consumidores de metadados por meio de notificações de {{webhookType}}. Use webhooks de {{webhookType}} para enviar notificações sobre os eventos de mudança de metadados em sua organização por meio de APIs. Você pode adicionar, listar, atualizar e excluir esses webhooks.",
|
||||
"welcome-screen-message": "Discover all your data in one place and collaborate seamlessly with your team on data that you can trust. Take a product tour to get started!",
|
||||
"welcome-to-om": "Bem-vindo ao OpenMetadata!",
|
||||
"welcome-to-open-metadata": "Bem-vindo ao OpenMetadata!",
|
||||
"would-like-to-start-adding-some": "Gostaria de começar a adicionar alguns?",
|
||||
|
||||
@ -1095,6 +1095,7 @@
|
||||
"go-back-to-login-page": "Go back to Login page",
|
||||
"group-team-type-change-message": "The team type 'Group' cannot be changed. Please create a new team with the preferred type.",
|
||||
"has-been-created-successfully": "has been created successfully",
|
||||
"hi-user-welcome-to": "Hi {{user}}, Welcome to",
|
||||
"import-glossary-help": "Save time & effort by uploading a CSV file with several glossary terms in one go.",
|
||||
"in-this-database": "In this Database",
|
||||
"include-assets-message": "Enable extracting {{assets}} from the data source.",
|
||||
@ -1252,6 +1253,7 @@
|
||||
"success-status-for-entity-deploy": "<0>{{entity}}</0> has been {{entityStatus}} and deployed successfully",
|
||||
"successfully-completed-the-tour": "You’ve successfully completed the tour.",
|
||||
"synonym-placeholder": "To add a synonym, simply type it in and press Enter",
|
||||
"take-quick-product-tour": "Take a quick product tour",
|
||||
"team-moved-success": "Team moved successfully",
|
||||
"team-no-asset": "Your team does not have any assets",
|
||||
"test-connection-cannot-be-triggered": "Test connection cannot be triggered.",
|
||||
@ -1298,6 +1300,7 @@
|
||||
"viewing-older-version": "Viewing older version \n Go to latest to update details",
|
||||
"webhook-listing-message": "The webhook allows external services to be notified of the metadata change events happening in your organization through APIs. Register callback URLs with webhook integration to receive metadata event notifications. You can add, list, update, and delete webhooks.",
|
||||
"webhook-type-listing-message": "Provide timely updates to the producers and consumers of metadata via {{webhookType}} notifications. Use {{webhookType}} webhooks to send notifications regarding the metadata change events in your organization through APIs. You can add, list, update, and delete these webhooks.",
|
||||
"welcome-screen-message": "Discover all your data in one place and collaborate seamlessly with your team on data that you can trust. Take a product tour to get started!",
|
||||
"welcome-to-om": "Welcome to OpenMetadata!",
|
||||
"welcome-to-open-metadata": "Welcome to OpenMetadata!",
|
||||
"would-like-to-start-adding-some": "Would like to start adding some?",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user