mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-10-12 01:08:18 +00:00
Update page title (#20035)
* update page title * update title * update titles * updated locales * update titles * update locales * update mocks for DocumentTitle * update keys * update key * update test * fix sonar issue
This commit is contained in:
parent
a4713036cc
commit
8d46bca952
@ -48,6 +48,13 @@ jest.mock('react-router-dom', () => ({
|
||||
}),
|
||||
}));
|
||||
|
||||
jest.mock('react-helmet-async', () => ({
|
||||
HelmetProvider: ({ children }: { children: React.ReactNode }) => (
|
||||
<>{children}</>
|
||||
),
|
||||
Helmet: ({ children }: { children: React.ReactNode }) => <>{children}</>,
|
||||
}));
|
||||
|
||||
describe('OidcAuthenticator - Silent SignIn Tests', () => {
|
||||
const mockUpdateAxiosInterceptors = jest.fn();
|
||||
const mockTokenServiceInstance = {
|
||||
|
@ -20,6 +20,7 @@ import { ReactComponent as PlayIcon } from '../../../../assets/svg/ic-play-butto
|
||||
import { BLACK_COLOR, ROUTES } from '../../../../constants/constants';
|
||||
import { useAuth } from '../../../../hooks/authHooks';
|
||||
import useCustomLocation from '../../../../hooks/useCustomLocation/useCustomLocation';
|
||||
import brandClassBase from '../../../../utils/BrandData/BrandClassBase';
|
||||
import { getReleaseVersionExpiry } from '../../../../utils/WhatsNewModal.util';
|
||||
import { COOKIE_VERSION, WHATS_NEW } from '../whatsNewData';
|
||||
import WhatsNewModal from '../WhatsNewModal';
|
||||
@ -76,6 +77,10 @@ const WhatsNewAlert = () => {
|
||||
});
|
||||
}, [isFirstTimeUser]);
|
||||
|
||||
const title = useMemo(() => {
|
||||
return brandClassBase.getPageTitle();
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<>
|
||||
{showWhatsNew.alert && isHomePage && (
|
||||
@ -85,7 +90,9 @@ const WhatsNewAlert = () => {
|
||||
<Typography.Text
|
||||
className="whats-new-alert-header"
|
||||
data-testid="whats-new-alert-header">
|
||||
{t('label.open-metadata-updated')}
|
||||
{t('label.brand-updated', {
|
||||
brandName: title,
|
||||
})}
|
||||
</Typography.Text>
|
||||
<Button
|
||||
className="flex-center m--t-xss"
|
||||
|
@ -15,11 +15,11 @@ import { split } from 'lodash';
|
||||
import React, { useMemo } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { Link } from 'react-router-dom';
|
||||
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 { ROUTES } from '../../../constants/constants';
|
||||
import { useApplicationStore } from '../../../hooks/useApplicationStore';
|
||||
import brandClassBase from '../../../utils/BrandData/BrandClassBase';
|
||||
import { getEntityName } from '../../../utils/EntityUtils';
|
||||
import './welcome-screen.style.less';
|
||||
|
||||
@ -37,6 +37,13 @@ const WelcomeScreen = ({ onClose }: WelcomeScreenProps) => {
|
||||
return split(getEntityName(currentUser), ' ')[0];
|
||||
}, [currentUser]);
|
||||
|
||||
const { title, welcomeScreenImg } = useMemo(() => {
|
||||
return {
|
||||
title: brandClassBase.getPageTitle(),
|
||||
welcomeScreenImg: brandClassBase.getWelcomeScreenImg(),
|
||||
};
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<Card
|
||||
className="welcome-screen-container card-body-border-none card-padding-0"
|
||||
@ -50,12 +57,13 @@ const WelcomeScreen = ({ onClose }: WelcomeScreenProps) => {
|
||||
/>
|
||||
}>
|
||||
<Row className="p-md welcome-screen-full-height">
|
||||
<Col span={12}>
|
||||
<Col className="flex-center" span={12}>
|
||||
<img
|
||||
alt="welcome screen image"
|
||||
className="welcome-screen-img"
|
||||
data-testid="welcome-screen-img"
|
||||
loading="lazy"
|
||||
src={WelcomeScreenImg}
|
||||
src={welcomeScreenImg}
|
||||
/>
|
||||
</Col>
|
||||
<Col span={12}>
|
||||
@ -67,7 +75,7 @@ const WelcomeScreen = ({ onClose }: WelcomeScreenProps) => {
|
||||
})}
|
||||
</Paragraph>
|
||||
<Paragraph className="welcome-screen-header-second-line m-b-0">
|
||||
{`${t('label.open-metadata')}! 🎉`}
|
||||
{`${title}! 🎉`}
|
||||
</Paragraph>
|
||||
</div>
|
||||
<Divider className="welcome-screen-header-divider" />
|
||||
|
@ -57,3 +57,7 @@
|
||||
font-size: 1rem;
|
||||
line-height: 1.5rem;
|
||||
}
|
||||
|
||||
.welcome-screen-img {
|
||||
width: 80%;
|
||||
}
|
||||
|
@ -64,7 +64,7 @@ import useCustomLocation from '../../hooks/useCustomLocation/useCustomLocation';
|
||||
import { useDomainStore } from '../../hooks/useDomainStore';
|
||||
import { getVersion } from '../../rest/miscAPI';
|
||||
import { isProtectedRoute } from '../../utils/AuthProvider.util';
|
||||
import brandImageClassBase from '../../utils/BrandImage/BrandImageClassBase';
|
||||
import brandClassBase from '../../utils/BrandData/BrandClassBase';
|
||||
import {
|
||||
hasNotificationPermission,
|
||||
shouldRequestPermission,
|
||||
@ -121,7 +121,7 @@ const NavBar = ({
|
||||
const { onUpdateCSVExportJob } = useEntityExportModalProvider();
|
||||
const { searchCriteria, updateSearchCriteria } = useApplicationStore();
|
||||
const searchContainerRef = useRef<HTMLDivElement>(null);
|
||||
const Logo = useMemo(() => brandImageClassBase.getMonogram().src, []);
|
||||
const Logo = useMemo(() => brandClassBase.getMonogram().src, []);
|
||||
const [showVersionMissMatchAlert, setShowVersionMissMatchAlert] =
|
||||
useState(false);
|
||||
const location = useCustomLocation();
|
||||
|
@ -12,7 +12,7 @@
|
||||
*/
|
||||
import React, { FC, useMemo } from 'react';
|
||||
import { useApplicationStore } from '../../../hooks/useApplicationStore';
|
||||
import brandImageClassBase from '../../../utils/BrandImage/BrandImageClassBase';
|
||||
import brandClassBase from '../../../utils/BrandData/BrandClassBase';
|
||||
|
||||
interface BrandImageProps {
|
||||
dataTestId?: string;
|
||||
@ -35,12 +35,11 @@ const BrandImage: FC<BrandImageProps> = ({
|
||||
}) => {
|
||||
const { MonoGram, Logo } = useMemo(
|
||||
() => ({
|
||||
MonoGram: brandImageClassBase.getMonogram().src,
|
||||
Logo: brandImageClassBase.getLogo().src,
|
||||
MonoGram: brandClassBase.getMonogram().src,
|
||||
Logo: brandClassBase.getLogo().src,
|
||||
}),
|
||||
[]
|
||||
);
|
||||
|
||||
const { applicationConfig } = useApplicationStore();
|
||||
const { customLogoUrlPath = '', customMonogramUrlPath = '' } =
|
||||
applicationConfig?.customLogoConfig ?? {};
|
||||
|
@ -10,20 +10,22 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import React, { FC } from 'react';
|
||||
import React, { FC, useMemo } from 'react';
|
||||
import { Helmet } from 'react-helmet-async';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import brandClassBase from '../../../utils/BrandData/BrandClassBase';
|
||||
|
||||
interface DocumentTitleProps {
|
||||
title: string;
|
||||
}
|
||||
|
||||
const DocumentTitle: FC<DocumentTitleProps> = ({ title }) => {
|
||||
const { t } = useTranslation();
|
||||
const pageTitle = useMemo(() => {
|
||||
return brandClassBase.getPageTitle();
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<Helmet>
|
||||
<title>{`${title} | ${t('label.open-metadata')}`}</title>
|
||||
<title>{`${title} | ${pageTitle}`}</title>
|
||||
</Helmet>
|
||||
);
|
||||
};
|
||||
|
@ -11,6 +11,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import brandClassBase from '../utils/BrandData/BrandClassBase';
|
||||
import i18n from '../utils/i18next/LocalUtil';
|
||||
|
||||
export const PAGE_HEADERS = {
|
||||
@ -192,7 +193,9 @@ export const PAGE_HEADERS = {
|
||||
},
|
||||
SETTING: {
|
||||
header: i18n.t('label.setting-plural'),
|
||||
subHeader: i18n.t('message.page-sub-header-for-setting'),
|
||||
subHeader: i18n.t('message.page-sub-header-for-setting', {
|
||||
brandName: brandClassBase.getPageTitle(),
|
||||
}),
|
||||
},
|
||||
LOGIN_CONFIGURATION: {
|
||||
header: i18n.t('label.login'),
|
||||
|
@ -139,6 +139,7 @@
|
||||
"bot-detail": "Bot-Details",
|
||||
"bot-lowercase": "bot",
|
||||
"bot-plural": "Bots",
|
||||
"brand-updated": "{{brandName}} Updated!",
|
||||
"broker-plural": "Broker",
|
||||
"browse": "Durchsuchen",
|
||||
"browse-app-plural": "Browse Apps",
|
||||
@ -874,7 +875,6 @@
|
||||
"open-lowercase": "öffnen",
|
||||
"open-metadata": "OpenMetadata",
|
||||
"open-metadata-logo": "OpenMetadata-Logo",
|
||||
"open-metadata-updated": "OpenMetadata Updated!",
|
||||
"open-metadata-url": "OpenMetadata-URL",
|
||||
"open-task-plural": "Open Tasks",
|
||||
"operation-plural": "Operationen",
|
||||
@ -1169,7 +1169,9 @@
|
||||
"show-more": "Show More",
|
||||
"show-more-entity": "Mehr {{entity}} anzeigen",
|
||||
"show-or-hide-advanced-config": "{{showAdv}} Erweiterte Konfiguration anzeigen/ausblenden",
|
||||
"sign-in": "Sign In",
|
||||
"sign-in-with-sso": "Mit {{sso}} anmelden",
|
||||
"sign-up": "Sign Up",
|
||||
"size": "Größe",
|
||||
"size-evolution-graph": "Size Evolution Graph",
|
||||
"skew": "Verzerrung",
|
||||
@ -1530,8 +1532,8 @@
|
||||
"custom-property-is-set-to-message": "{{fieldName}} is set to",
|
||||
"custom-property-name-validation": "Der Name muss mit Kleinbuchstaben beginnen und darf keine Leerzeichen, Unterstriche oder Punkte enthalten.",
|
||||
"custom-property-update": "Aktualisierung der benutzerdefinierten Eigenschaft '{{propertyName}}' in {{entityName}} ist {{status}}",
|
||||
"customize-brand-description": "Tailor the {{brandName}} UX to suit your organizational and team needs.",
|
||||
"customize-landing-page-header": "Customize {{pageName}} for Persona \"<0>{{persona}}</0>\"",
|
||||
"customize-open-metadata-description": "Tailor the OpenMetadata UX to suit your organizational and team needs.",
|
||||
"data-asset-has-been-action-type": "Der Datenvermögenswert wurde {{actionType}}",
|
||||
"data-insight-alert-destination-description": "Senden Sie E-Mail-Benachrichtigungen an Administratoren oder Teams.",
|
||||
"data-insight-alert-trigger-description": "Auslöser für Echtzeit oder planen Sie ihn für täglich, wöchentlich oder monatlich.",
|
||||
@ -1714,7 +1716,6 @@
|
||||
"marketplace-verify-msg": "OpenMetadata has verified that the publisher controls the domain and meets other requirements.",
|
||||
"maximum-count-allowed": "Maximum {{count}} {{label}} are allowed",
|
||||
"maximum-value-error": "The maximum value should be greater than the minimum value.",
|
||||
"member-description": "Streamline access to users and teams in OpenMetadata.",
|
||||
"mentioned-you-on-the-lowercase": "hat dich auf der",
|
||||
"metadata-ingestion-description": "Geben Sie basierend auf dem ausgewählten Diensttyp die Filtermusterdetails für das Schema oder die Tabelle (Datenbank) oder das Thema (Messaging) oder das Dashboard ein. Sie können die Filtermuster einschließen oder ausschließen. Wählen Sie aus, ob Ansichten einbezogen werden sollen, aktivieren oder deaktivieren Sie den Datenprofiler und erfassen Sie bei Bedarf Beispieldaten.",
|
||||
"metric-description": "Track the health of your data assets with metrics.",
|
||||
@ -1838,7 +1839,7 @@
|
||||
"page-sub-header-for-roles": "Weise Benutzern oder Teams umfassende rollenbasierte Zugriffsberechtigungen zu.",
|
||||
"page-sub-header-for-search": "Ingestion von Metadaten aus den beliebtesten Suchdiensten.",
|
||||
"page-sub-header-for-search-setting": "Ability to configure the search settings to suit your needs.",
|
||||
"page-sub-header-for-setting": "Ability to configure the OpenMetadata application to suit your needs.",
|
||||
"page-sub-header-for-setting": "Ability to configure the {{brandName}} application to suit your needs.",
|
||||
"page-sub-header-for-storages": "Ingestion von Metadaten aus den am häufigsten verwendeten Speicherdiensten.",
|
||||
"page-sub-header-for-table-profile": "Überwache und verstehe die Struktur deiner Tabellen mit dem Profiler.",
|
||||
"page-sub-header-for-teams": "Stelle deine gesamte Organisationsstruktur mit hierarchischen Teams dar.",
|
||||
@ -1943,6 +1944,7 @@
|
||||
"tag-update-confirmation": "Would you like to proceed with updating the tags?",
|
||||
"take-quick-product-tour": "Machen Sie eine Produkttour, um loszulegen!",
|
||||
"team-distinct-user-description": "The total number of distinct users belongs to this team.",
|
||||
"team-member-management-description": "Streamline access to users and teams in {{brandName}}.",
|
||||
"team-moved-success": "Team erfolgreich verschoben!",
|
||||
"team-no-asset": "Ihr Team hat keine Vermögenswerte.",
|
||||
"test-case-schedule-description": "The data quality tests can be scheduled to run at the desired frequency. The timezone is in UTC.",
|
||||
|
@ -139,6 +139,7 @@
|
||||
"bot-detail": "Bot detail",
|
||||
"bot-lowercase": "bot",
|
||||
"bot-plural": "Bots",
|
||||
"brand-updated": "{{brandName}} Updated!",
|
||||
"broker-plural": "Brokers",
|
||||
"browse": "Browse",
|
||||
"browse-app-plural": "Browse Apps",
|
||||
@ -874,7 +875,6 @@
|
||||
"open-lowercase": "open",
|
||||
"open-metadata": "OpenMetadata",
|
||||
"open-metadata-logo": "OpenMetadata Logo",
|
||||
"open-metadata-updated": "OpenMetadata Updated!",
|
||||
"open-metadata-url": "OpenMetadata URL",
|
||||
"open-task-plural": "Open Tasks",
|
||||
"operation-plural": "Operations",
|
||||
@ -1169,7 +1169,9 @@
|
||||
"show-more": "Show More",
|
||||
"show-more-entity": "Show More {{entity}}",
|
||||
"show-or-hide-advanced-config": "{{showAdv}} Advanced Config",
|
||||
"sign-in": "Sign In",
|
||||
"sign-in-with-sso": "Sign in with {{sso}}",
|
||||
"sign-up": "Sign Up",
|
||||
"size": "Size",
|
||||
"size-evolution-graph": "Size Evolution Graph",
|
||||
"skew": "Skew",
|
||||
@ -1530,8 +1532,8 @@
|
||||
"custom-property-is-set-to-message": "{{fieldName}} is set to",
|
||||
"custom-property-name-validation": "Name must start with lower case with no space, underscore, or dots.",
|
||||
"custom-property-update": "Custom property '{{propertyName}}' update in {{entityName}} is {{status}}",
|
||||
"customize-brand-description": "Tailor the {{brandName}} UX to suit your organizational and team needs.",
|
||||
"customize-landing-page-header": "Customize {{pageName}} for Persona \"<0>{{persona}}</0>\"",
|
||||
"customize-open-metadata-description": "Tailor the OpenMetadata UX to suit your organizational and team needs.",
|
||||
"data-asset-has-been-action-type": "Data Asset has been {{actionType}}",
|
||||
"data-insight-alert-destination-description": "Send email notifications to admins or teams.",
|
||||
"data-insight-alert-trigger-description": "Trigger for real time or schedule it for daily, weekly or monthly.",
|
||||
@ -1714,7 +1716,6 @@
|
||||
"marketplace-verify-msg": "OpenMetadata has verified that the publisher controls the domain and meets other requirements.",
|
||||
"maximum-count-allowed": "Maximum {{count}} {{label}} are allowed",
|
||||
"maximum-value-error": "The maximum value should be greater than the minimum value.",
|
||||
"member-description": "Streamline access to users and teams in OpenMetadata.",
|
||||
"mentioned-you-on-the-lowercase": "mentioned you on the",
|
||||
"metadata-ingestion-description": "Based on the service type selected, enter the filter pattern details for the schema or table (database), or topic (messaging), or dashboard. You can include or exclude the filter patterns. Choose to include views, enable or disable the data profiler, and ingest sample data, as required.",
|
||||
"metric-description": "Track the health of your data assets with metrics.",
|
||||
@ -1838,7 +1839,7 @@
|
||||
"page-sub-header-for-roles": "Assign comprehensive role based access to Users or Teams.",
|
||||
"page-sub-header-for-search": "Ingest metadata from the most popular search services.",
|
||||
"page-sub-header-for-search-setting": "Ability to configure the search settings to suit your needs.",
|
||||
"page-sub-header-for-setting": "Ability to configure the OpenMetadata application to suit your needs.",
|
||||
"page-sub-header-for-setting": "Ability to configure the {{brandName}} application to suit your needs.",
|
||||
"page-sub-header-for-storages": "Ingest metadata from the most popular storage services.",
|
||||
"page-sub-header-for-table-profile": "Monitor and understand your tables structure with the profiler.",
|
||||
"page-sub-header-for-teams": "Represent your entire organizational structure with hierarchical teams.",
|
||||
@ -1943,6 +1944,7 @@
|
||||
"tag-update-confirmation": "Would you like to proceed with updating the tags?",
|
||||
"take-quick-product-tour": "Take a product tour to get started!",
|
||||
"team-distinct-user-description": "The total number of distinct users belongs to this team.",
|
||||
"team-member-management-description": "Streamline access to users and teams in {{brandName}}.",
|
||||
"team-moved-success": "Team moved successfully!",
|
||||
"team-no-asset": "Your team does not have any assets.",
|
||||
"test-case-schedule-description": "The data quality tests can be scheduled to run at the desired frequency. The timezone is in UTC.",
|
||||
|
@ -139,6 +139,7 @@
|
||||
"bot-detail": "Detalles del bot",
|
||||
"bot-lowercase": "bot",
|
||||
"bot-plural": "Bots",
|
||||
"brand-updated": "{{brandName}} ha sido actualizada!",
|
||||
"broker-plural": "Brokers",
|
||||
"browse": "Explorar",
|
||||
"browse-app-plural": "Explorar Apps",
|
||||
@ -874,7 +875,6 @@
|
||||
"open-lowercase": "abrir",
|
||||
"open-metadata": "OpenMetadata",
|
||||
"open-metadata-logo": "Logo de OpenMetadata",
|
||||
"open-metadata-updated": "OpenMetadata ha sido actualizada!",
|
||||
"open-metadata-url": "URL de OpenMetadata",
|
||||
"open-task-plural": "Tareas abiertas",
|
||||
"operation-plural": "Operaciones",
|
||||
@ -1169,7 +1169,9 @@
|
||||
"show-more": "Show More",
|
||||
"show-more-entity": "Mostrar más {{entity}}",
|
||||
"show-or-hide-advanced-config": "{{showAdv}} Configuración Avanzada",
|
||||
"sign-in": "Sign In",
|
||||
"sign-in-with-sso": "Iniciar sesión con {{sso}}",
|
||||
"sign-up": "Sign Up",
|
||||
"size": "Tamaño",
|
||||
"size-evolution-graph": "Gráfico de evolución de tamaño",
|
||||
"skew": "Sesgo",
|
||||
@ -1530,8 +1532,8 @@
|
||||
"custom-property-is-set-to-message": "{{fieldName}} is set to",
|
||||
"custom-property-name-validation": "El nombre debe comenzar con minúsculas sin espacios, guiones bajos o puntos.",
|
||||
"custom-property-update": "La actualización de la propiedad personalizada '{{propertyName}}' en {{entityName}} está {{status}}",
|
||||
"customize-brand-description": "Adapte la experiencia de usuario de {{brandName}} para satisfacer las necesidades de su organización y equipo.",
|
||||
"customize-landing-page-header": "Customize {{pageName}} for Persona \"<0>{{persona}}</0>\"",
|
||||
"customize-open-metadata-description": "Adapte la experiencia de usuario de OpenMetadata para satisfacer las necesidades de su organización y equipo.",
|
||||
"data-asset-has-been-action-type": "El activo de datos ha sido {{actionType}}",
|
||||
"data-insight-alert-destination-description": "Enviar notificaciones por correo electrónico a administradores o equipos.",
|
||||
"data-insight-alert-trigger-description": "Desencadenador para tiempo real o prográmelo para diario, semanal o mensualmente.",
|
||||
@ -1714,7 +1716,6 @@
|
||||
"marketplace-verify-msg": "OpenMetadata ha verificado que el editor controla el dominio y cumple con otros requisitos.",
|
||||
"maximum-count-allowed": "Maximum {{count}} {{label}} are allowed",
|
||||
"maximum-value-error": "The maximum value should be greater than the minimum value.",
|
||||
"member-description": "Optimiza el acceso a usuarios y equipos en OpenMetadata.",
|
||||
"mentioned-you-on-the-lowercase": "te mencionó en",
|
||||
"metadata-ingestion-description": "Basado en el tipo de servicio seleccionado, ingresa los detalles del patrón de filtro para el esquema o tabla (base de datos), o tema (mensajería), o tablero. Puedes incluir o excluir los patrones de filtro. Elije incluir vistas, habilitar o deshabilitar el perfilador de datos y ingerir datos de muestra, según sea necesario.",
|
||||
"metric-description": "Track the health of your data assets with metrics.",
|
||||
@ -1838,7 +1839,7 @@
|
||||
"page-sub-header-for-roles": "Asigna un acceso basado en roles integral a Usuarios o Equipos.",
|
||||
"page-sub-header-for-search": "Ingresa metadatos desde los servicios de búsqueda más populares.",
|
||||
"page-sub-header-for-search-setting": "Ability to configure the search settings to suit your needs.",
|
||||
"page-sub-header-for-setting": "Capacidad para configurar la aplicación OpenMetadata según tus necesidades.",
|
||||
"page-sub-header-for-setting": "Capacidad para configurar la aplicación {{brandName}} según tus necesidades.",
|
||||
"page-sub-header-for-storages": "Ingresa metadatos desde los servicios de almacenamiento más populares.",
|
||||
"page-sub-header-for-table-profile": "Monitorea y comprende la estructura de tus tablas con el perfilador.",
|
||||
"page-sub-header-for-teams": "Representa toda la estructura organizativa con equipos jerárquicos.",
|
||||
@ -1943,6 +1944,7 @@
|
||||
"tag-update-confirmation": "Would you like to proceed with updating the tags?",
|
||||
"take-quick-product-tour": "¡Realiza un recorrido rápido del producto para comenzar!",
|
||||
"team-distinct-user-description": "The total number of distinct users belongs to this team.",
|
||||
"team-member-management-description": "Optimiza el acceso a usuarios y equipos en {{brandName}}.",
|
||||
"team-moved-success": "¡Equipo movido con éxito!",
|
||||
"team-no-asset": "Tu equipo no tiene ningún activo.",
|
||||
"test-case-schedule-description": "The data quality tests can be scheduled to run at the desired frequency. The timezone is in UTC.",
|
||||
|
@ -139,6 +139,7 @@
|
||||
"bot-detail": "Détail de l'Agent Numérique",
|
||||
"bot-lowercase": "agent numérique",
|
||||
"bot-plural": "Agents Numériques",
|
||||
"brand-updated": "{{brandName}} Updated!",
|
||||
"broker-plural": "Agents",
|
||||
"browse": "Naviguer",
|
||||
"browse-app-plural": "Browse Apps",
|
||||
@ -874,7 +875,6 @@
|
||||
"open-lowercase": "ouvrir",
|
||||
"open-metadata": "OpenMetadata",
|
||||
"open-metadata-logo": "Logo OpenMetadata",
|
||||
"open-metadata-updated": "OpenMetadata Updated!",
|
||||
"open-metadata-url": "URL OpenMetadata",
|
||||
"open-task-plural": "Tâches Ouverts",
|
||||
"operation-plural": "Opérations",
|
||||
@ -1169,7 +1169,9 @@
|
||||
"show-more": "Show More",
|
||||
"show-more-entity": "Afficher Plus de {{entity}}",
|
||||
"show-or-hide-advanced-config": "{{showAdv}} Configuration Avancée",
|
||||
"sign-in": "Sign In",
|
||||
"sign-in-with-sso": "Se Connecter avec {{sso}}",
|
||||
"sign-up": "Sign Up",
|
||||
"size": "Taille",
|
||||
"size-evolution-graph": "Size Evolution Graph",
|
||||
"skew": "Déviation",
|
||||
@ -1530,8 +1532,8 @@
|
||||
"custom-property-is-set-to-message": "{{fieldName}} est réglé sur",
|
||||
"custom-property-name-validation": "Le nom doit commencer par une lettre minuscule, sans espace, ni tiret bas ou point.",
|
||||
"custom-property-update": "La mise à jour de la propriété personnalisée '{{propertyName}}' dans {{entityName}} est {{status}}",
|
||||
"customize-brand-description": "Ajustez l'expérience utilisateur d'{{brandName}} pour répondre à vos besoins d'équipe et d'organisation.",
|
||||
"customize-landing-page-header": "Customize {{pageName}} for Persona \"<0>{{persona}}</0>\"",
|
||||
"customize-open-metadata-description": "Ajustez l'expérience utilisateur d'OpenMetadata pour répondre à vos besoins d'équipe et d'organisation.",
|
||||
"data-asset-has-been-action-type": "l'actif de données a été {{actionType}}",
|
||||
"data-insight-alert-destination-description": "Envoyez des notifications par email aux administrateurs ou aux équipes.",
|
||||
"data-insight-alert-trigger-description": "Déclenchez en temps réel ou programmez-le quotidiennement, hebdomadairement ou mensuellement.",
|
||||
@ -1714,7 +1716,6 @@
|
||||
"marketplace-verify-msg": "OpenMetadata has verified that the publisher controls the domain and meets other requirements.",
|
||||
"maximum-count-allowed": "Maximum {{count}} {{label}} are allowed",
|
||||
"maximum-value-error": "La valeur maximum doit être plus grande que la valeur minimum.",
|
||||
"member-description": "Gérez les accès des utilisateurs et équipes à OpenMetadata.",
|
||||
"mentioned-you-on-the-lowercase": "vous a mentionné dans",
|
||||
"metadata-ingestion-description": "Selon le type de service sélectionné, saisissez les détails du modèle de filtre pour le schéma ou la table (base de données), ou le sujet (messagerie), ou le tableau de bord. Vous pouvez inclure ou exclure des modèles de filtre. Choisissez d'inclure des vues, activez ou désactivez le profilage des données, et ingérez des données d'exemple, si nécessaire.",
|
||||
"metric-description": "Track the health of your data assets with metrics.",
|
||||
@ -1838,7 +1839,7 @@
|
||||
"page-sub-header-for-roles": "Attribuez des autorisations basées sur les rôles aux utilisateurs ou aux équipes.",
|
||||
"page-sub-header-for-search": "Ingestion de métadonnées à partir des services de recherche les plus populaires.",
|
||||
"page-sub-header-for-search-setting": "Ability to configure the search settings to suit your needs.",
|
||||
"page-sub-header-for-setting": "Configurez l'application OpenMetadata pour répondre à vos besoins.",
|
||||
"page-sub-header-for-setting": "Configurez l'application {{brandName}} pour répondre à vos besoins.",
|
||||
"page-sub-header-for-storages": "Ingestion de métadonnées à partir des services de stockage les plus populaires.",
|
||||
"page-sub-header-for-table-profile": "Surveillez et comprenez la structure de vos tables avec le profilage.",
|
||||
"page-sub-header-for-teams": "Représentez toute la structure organisationnelle avec des équipes hiérarchiques.",
|
||||
@ -1943,6 +1944,7 @@
|
||||
"tag-update-confirmation": "Would you like to proceed with updating the tags?",
|
||||
"take-quick-product-tour": "Faites une visite guidée pour vous lancer!",
|
||||
"team-distinct-user-description": "The total number of distinct users belongs to this team.",
|
||||
"team-member-management-description": "Gérez les accès des utilisateurs et équipes à {{brandName}}.",
|
||||
"team-moved-success": "L'équipe a été déplacée avec succès !",
|
||||
"team-no-asset": "Votre équipe n'a pas d'actifs de données",
|
||||
"test-case-schedule-description": "Les tests de quelité de données peuvent être planifiés pour tourner à la fréquence désirée. La timezone est en UTC.",
|
||||
|
@ -139,6 +139,7 @@
|
||||
"bot-detail": "Detalle do bot",
|
||||
"bot-lowercase": "bot",
|
||||
"bot-plural": "Bots",
|
||||
"brand-updated": "{{brandName}} actualizado!",
|
||||
"broker-plural": "Corredores",
|
||||
"browse": "Explorar",
|
||||
"browse-app-plural": "Explorar aplicacións",
|
||||
@ -874,7 +875,6 @@
|
||||
"open-lowercase": "abrir",
|
||||
"open-metadata": "OpenMetadata",
|
||||
"open-metadata-logo": "Logotipo de OpenMetadata",
|
||||
"open-metadata-updated": "OpenMetadata actualizado!",
|
||||
"open-metadata-url": "URL de OpenMetadata",
|
||||
"open-task-plural": "Tarefas abertas",
|
||||
"operation-plural": "Operacións",
|
||||
@ -1169,7 +1169,9 @@
|
||||
"show-more": "Mostrar máis",
|
||||
"show-more-entity": "Mostrar máis {{entity}}",
|
||||
"show-or-hide-advanced-config": "{{showAdv}} Configuración avanzada",
|
||||
"sign-in": "Sign In",
|
||||
"sign-in-with-sso": "Iniciar sesión con {{sso}}",
|
||||
"sign-up": "Sign Up",
|
||||
"size": "Tamaño",
|
||||
"size-evolution-graph": "Gráfico de evolución do tamaño",
|
||||
"skew": "Desviación",
|
||||
@ -1530,8 +1532,8 @@
|
||||
"custom-property-is-set-to-message": "{{fieldName}} está configurado para",
|
||||
"custom-property-name-validation": "O nome debe comezar en minúscula sen espazos, subliñados nin puntos.",
|
||||
"custom-property-update": "A actualización da propiedade personalizada '{{propertyName}}' en {{entityName}} está {{status}}",
|
||||
"customize-brand-description": "Adapta a experiencia de usuario de {{brandName}} ás necesidades da túa organización e equipo.",
|
||||
"customize-landing-page-header": "Personalizar {{pageName}} para a persoa \"<0>{{persona}}</0>\"",
|
||||
"customize-open-metadata-description": "Adapta a experiencia de usuario de OpenMetadata ás necesidades da túa organización e equipo.",
|
||||
"data-asset-has-been-action-type": "O activo de datos foi {{actionType}}",
|
||||
"data-insight-alert-destination-description": "Envía notificacións por correo electrónico aos administradores ou equipos.",
|
||||
"data-insight-alert-trigger-description": "Activador en tempo real ou programado para diario, semanal ou mensual.",
|
||||
@ -1714,7 +1716,6 @@
|
||||
"marketplace-verify-msg": "OpenMetadata verificou que o editor controla o dominio e cumpre outros requisitos.",
|
||||
"maximum-count-allowed": "Permítese un máximo de {{count}} {{label}}",
|
||||
"maximum-value-error": "O valor máximo debe ser maior que o valor mínimo.",
|
||||
"member-description": "Optimiza o acceso a usuarios e equipos en OpenMetadata.",
|
||||
"mentioned-you-on-the-lowercase": "mencionoute en",
|
||||
"metadata-ingestion-description": "Baseándose no tipo de servizo seleccionado, introduce os detalles do patrón de filtro para o esquema ou táboa (base de datos), ou tema (mensaxería), ou panel. Podes incluír ou excluír os patróns de filtro. Escolle incluír vistas, activar ou desactivar o perfilador de datos e inxerir datos de mostra, segundo sexa necesario.",
|
||||
"metric-description": "Fai un seguimento da saúde dos teus activos de datos con métricas.",
|
||||
@ -1838,7 +1839,7 @@
|
||||
"page-sub-header-for-roles": "Asigna un acceso baseado en roles detallados a Usuarios ou Equipos.",
|
||||
"page-sub-header-for-search": "Inxesta metadatos dos servizos de busca máis populares.",
|
||||
"page-sub-header-for-search-setting": "Capacidade de configurar os axustes de busca segundo as súas necesidades.",
|
||||
"page-sub-header-for-setting": "Posibilidade de configurar a aplicación OpenMetadata para adaptala ás túas necesidades.",
|
||||
"page-sub-header-for-setting": "Posibilidade de configurar a aplicación {{brandName}} para adaptala ás túas necesidades.",
|
||||
"page-sub-header-for-storages": "Inxesta metadatos dos servizos de almacenamento máis populares.",
|
||||
"page-sub-header-for-table-profile": "Supervisa e comprende a estrutura das túas táboas co perfilador.",
|
||||
"page-sub-header-for-teams": "Representa toda a estrutura organizativa cunha xerarquía de equipos.",
|
||||
@ -1943,6 +1944,7 @@
|
||||
"tag-update-confirmation": "Desexas proceder coa actualización das etiquetas?",
|
||||
"take-quick-product-tour": "Fai un tour rápido polo produto para comezar!",
|
||||
"team-distinct-user-description": "O número total de usuarios distintos pertence a este equipo.",
|
||||
"team-member-management-description": "Optimiza o acceso a usuarios e equipos en {{brandName}}.",
|
||||
"team-moved-success": "O equipo moveuse correctamente!",
|
||||
"team-no-asset": "O teu equipo non ten ningún activo.",
|
||||
"test-case-schedule-description": "As probas de calidade de datos poden programarse para executarse coa frecuencia desexada. A zona horaria está en UTC.",
|
||||
|
@ -139,6 +139,7 @@
|
||||
"bot-detail": "פרטי בוט",
|
||||
"bot-lowercase": "בוט",
|
||||
"bot-plural": "בוטים",
|
||||
"brand-updated": "{{brandName}} Updated!",
|
||||
"broker-plural": "מתווך",
|
||||
"browse": "עיון",
|
||||
"browse-app-plural": "עיין באפליקציות",
|
||||
@ -874,7 +875,6 @@
|
||||
"open-lowercase": "פתוח",
|
||||
"open-metadata": "OpenMetadata",
|
||||
"open-metadata-logo": "OpenMetadata Logo",
|
||||
"open-metadata-updated": "OpenMetadata Updated!",
|
||||
"open-metadata-url": "OpenMetadata URL",
|
||||
"open-task-plural": "Open Tasks",
|
||||
"operation-plural": "פעולות",
|
||||
@ -1169,7 +1169,9 @@
|
||||
"show-more": "Show More",
|
||||
"show-more-entity": "הצג עוד {{entity}}",
|
||||
"show-or-hide-advanced-config": "{{showAdv}} הצג/הסתר הגדרות מתקדמות",
|
||||
"sign-in": "Sign In",
|
||||
"sign-in-with-sso": "התחבר עם {{sso}}",
|
||||
"sign-up": "Sign Up",
|
||||
"size": "גודל",
|
||||
"size-evolution-graph": "גרף התפתחות גודל",
|
||||
"skew": "לחות",
|
||||
@ -1530,8 +1532,8 @@
|
||||
"custom-property-is-set-to-message": "{{fieldName}} is set to",
|
||||
"custom-property-name-validation": "השם חייב להתחיל באות קטנה ללא רווח, קו תחתון או נקודות.",
|
||||
"custom-property-update": "עדכון המאפיין המותאם אישית '{{propertyName}}' ב{{entityName}} הוא {{status}}",
|
||||
"customize-brand-description": "Tailor the {{brandName}} UX to suit your organizational and team needs.",
|
||||
"customize-landing-page-header": "Customize {{pageName}} for Persona \"<0>{{persona}}</0>\"",
|
||||
"customize-open-metadata-description": "Tailor the OpenMetadata UX to suit your organizational and team needs.",
|
||||
"data-asset-has-been-action-type": "נכנס של {{actionType}} נתונים",
|
||||
"data-insight-alert-destination-description": "שלח התראות בדואר אלקטרוני למנהלים או לצוותים.",
|
||||
"data-insight-alert-trigger-description": "הפעל לזמן אמת או קבע את זה לתדירויות יומיומיות, שבועיות או חודשיות.",
|
||||
@ -1714,7 +1716,6 @@
|
||||
"marketplace-verify-msg": "OpenMetadata אישרה שהמוציא לפועל שולט בדומיין ועומד בדרישות האחרות.",
|
||||
"maximum-count-allowed": "Maximum {{count}} {{label}} are allowed",
|
||||
"maximum-value-error": "The maximum value should be greater than the minimum value.",
|
||||
"member-description": "Streamline access to users and teams in OpenMetadata.",
|
||||
"mentioned-you-on-the-lowercase": "ציין אותך ב",
|
||||
"metadata-ingestion-description": "בהתאם לסוג השירות שנבחר, הזן פרטי דפוס הסינון עבור הסכמה או טבלה (מסד נתונים), או נושא (הודעות), או לוח בקרה. תוכל לכלול או לא כלול את פרטי דפוס הסינון. בחר לכלול צפיות, הפעל או השבת את פרופיל הנתונים, וחילוץ נתוני דוגמה, כפי שנדרש.",
|
||||
"metric-description": "Track the health of your data assets with metrics.",
|
||||
@ -1838,7 +1839,7 @@
|
||||
"page-sub-header-for-roles": "הקצאת גישה מבוססת תפקיד למשתמשים או קבוצות.",
|
||||
"page-sub-header-for-search": "שלב מטה-דאטה משירותי החיפוש הפופולריים ביותר.",
|
||||
"page-sub-header-for-search-setting": "Ability to configure the search settings to suit your needs.",
|
||||
"page-sub-header-for-setting": "Ability to configure the OpenMetadata application to suit your needs.",
|
||||
"page-sub-header-for-setting": "Ability to configure the {{brandName}} application to suit your needs.",
|
||||
"page-sub-header-for-storages": "שלב מטה-דאטה משירותי האחסון הפופולריים ביותר.",
|
||||
"page-sub-header-for-table-profile": "נטרו, נתחו והבינו את מבנה הטבלאות שלכם באמצועות הפרופיילר.",
|
||||
"page-sub-header-for-teams": "ייצג את מבנה הארגון באמצעות היררכיה של צוותים",
|
||||
@ -1943,6 +1944,7 @@
|
||||
"tag-update-confirmation": "Would you like to proceed with updating the tags?",
|
||||
"take-quick-product-tour": "התחל סיור במוצר כדי להתחיל!",
|
||||
"team-distinct-user-description": "The total number of distinct users belongs to this team.",
|
||||
"team-member-management-description": "Streamline access to users and teams in {{brandName}}.",
|
||||
"team-moved-success": "הקבוצה הועברה בהצלחה!",
|
||||
"team-no-asset": "לקבוצתך אין נכסים.",
|
||||
"test-case-schedule-description": "The data quality tests can be scheduled to run at the desired frequency. The timezone is in UTC.",
|
||||
|
@ -139,6 +139,7 @@
|
||||
"bot-detail": "ボットの詳細",
|
||||
"bot-lowercase": "ボット",
|
||||
"bot-plural": "ボット",
|
||||
"brand-updated": "{{brandName}} Updated!",
|
||||
"broker-plural": "ブローカー",
|
||||
"browse": "Browse",
|
||||
"browse-app-plural": "Browse Apps",
|
||||
@ -874,7 +875,6 @@
|
||||
"open-lowercase": "開く",
|
||||
"open-metadata": "OpenMetadata",
|
||||
"open-metadata-logo": "OpenMetadataのロゴ",
|
||||
"open-metadata-updated": "OpenMetadata Updated!",
|
||||
"open-metadata-url": "OpenMetadata URL",
|
||||
"open-task-plural": "Open Tasks",
|
||||
"operation-plural": "操作",
|
||||
@ -1169,7 +1169,9 @@
|
||||
"show-more": "Show More",
|
||||
"show-more-entity": "Show More {{entity}}",
|
||||
"show-or-hide-advanced-config": "{{showAdv}} 高度な設定",
|
||||
"sign-in": "Sign In",
|
||||
"sign-in-with-sso": "{{sso}}でサインインする",
|
||||
"sign-up": "Sign Up",
|
||||
"size": "Size",
|
||||
"size-evolution-graph": "Size Evolution Graph",
|
||||
"skew": "Skew",
|
||||
@ -1530,8 +1532,8 @@
|
||||
"custom-property-is-set-to-message": "{{fieldName}} is set to",
|
||||
"custom-property-name-validation": "Name must start with lower case with no space, underscore, or dots.",
|
||||
"custom-property-update": "カスタムプロパティ'{{propertyName}}'の{{entityName}}での更新は{{status}}です",
|
||||
"customize-brand-description": "Tailor the {{brandName}} UX to suit your organizational and team needs.",
|
||||
"customize-landing-page-header": "Customize {{pageName}} for Persona \"<0>{{persona}}</0>\"",
|
||||
"customize-open-metadata-description": "Tailor the OpenMetadata UX to suit your organizational and team needs.",
|
||||
"data-asset-has-been-action-type": "データアセットが{{actionType}}されました",
|
||||
"data-insight-alert-destination-description": "Send email notifications to admins or teams.",
|
||||
"data-insight-alert-trigger-description": "Trigger for real time or schedule it for daily, weekly or monthly.",
|
||||
@ -1714,7 +1716,6 @@
|
||||
"marketplace-verify-msg": "OpenMetadata has verified that the publisher controls the domain and meets other requirements.",
|
||||
"maximum-count-allowed": "Maximum {{count}} {{label}} are allowed",
|
||||
"maximum-value-error": "The maximum value should be greater than the minimum value.",
|
||||
"member-description": "Streamline access to users and teams in OpenMetadata.",
|
||||
"mentioned-you-on-the-lowercase": "mentioned you on the",
|
||||
"metadata-ingestion-description": "Based on the service type selected, enter the filter pattern details for the schema or table (database), or topic (messaging), or dashboard. You can include or exclude the filter patterns. Choose to include views, enable or disable the data profiler, and ingest sample data, as required.",
|
||||
"metric-description": "Track the health of your data assets with metrics.",
|
||||
@ -1838,7 +1839,7 @@
|
||||
"page-sub-header-for-roles": "Assign comprehensive role based access to Users or Teams.",
|
||||
"page-sub-header-for-search": "Ingest metadata from the most popular search services.",
|
||||
"page-sub-header-for-search-setting": "Ability to configure the search settings to suit your needs.",
|
||||
"page-sub-header-for-setting": "Ability to configure the OpenMetadata application to suit your needs.",
|
||||
"page-sub-header-for-setting": "Ability to configure the {{brandName}} application to suit your needs.",
|
||||
"page-sub-header-for-storages": "Ingest metadata from the most popular storage services.",
|
||||
"page-sub-header-for-table-profile": "Monitor and understand your tables structure with the profiler.",
|
||||
"page-sub-header-for-teams": "Represent your entire organizational structure with hierarchical teams.",
|
||||
@ -1943,6 +1944,7 @@
|
||||
"tag-update-confirmation": "Would you like to proceed with updating the tags?",
|
||||
"take-quick-product-tour": "Take a product tour to get started!",
|
||||
"team-distinct-user-description": "The total number of distinct users belongs to this team.",
|
||||
"team-member-management-description": "Streamline access to users and teams in {{brandName}}.",
|
||||
"team-moved-success": "チームの移動が成功しました!",
|
||||
"team-no-asset": "あなたのチームはアセットを持っていません。",
|
||||
"test-case-schedule-description": "The data quality tests can be scheduled to run at the desired frequency. The timezone is in UTC.",
|
||||
|
@ -139,6 +139,7 @@
|
||||
"bot-detail": "봇 상세 정보",
|
||||
"bot-lowercase": "봇",
|
||||
"bot-plural": "봇들",
|
||||
"brand-updated": "{{brandName}} 업데이트됨!",
|
||||
"broker-plural": "브로커들",
|
||||
"browse": "찾아보기",
|
||||
"browse-app-plural": "앱 찾아보기",
|
||||
@ -874,7 +875,6 @@
|
||||
"open-lowercase": "열림",
|
||||
"open-metadata": "OpenMetadata",
|
||||
"open-metadata-logo": "OpenMetadata 로고",
|
||||
"open-metadata-updated": "OpenMetadata 업데이트됨!",
|
||||
"open-metadata-url": "OpenMetadata URL",
|
||||
"open-task-plural": "열린 작업들",
|
||||
"operation-plural": "작업들",
|
||||
@ -1169,7 +1169,9 @@
|
||||
"show-more": "Show More",
|
||||
"show-more-entity": "{{entity}} 더 보기",
|
||||
"show-or-hide-advanced-config": "{{showAdv}} 고급 구성",
|
||||
"sign-in": "Sign In",
|
||||
"sign-in-with-sso": "{{sso}}로 로그인",
|
||||
"sign-up": "Sign Up",
|
||||
"size": "크기",
|
||||
"size-evolution-graph": "크기 변화 그래프",
|
||||
"skew": "스큐",
|
||||
@ -1530,8 +1532,8 @@
|
||||
"custom-property-is-set-to-message": "{{fieldName}}이(가) 설정되었습니다.",
|
||||
"custom-property-name-validation": "이름은 공백, 밑줄, 점 없이 소문자로 시작해야 합니다.",
|
||||
"custom-property-update": "Custom property '{{propertyName}}' update in {{entityName}} is {{status}}",
|
||||
"customize-brand-description": "조직과 팀의 필요에 맞게 {{brandName}} UX를 맞춤 설정하세요.",
|
||||
"customize-landing-page-header": "페르소나 \"<0>{{persona}}</0>\"를 위한 {{pageName}}을 맞춤 설정하세요.",
|
||||
"customize-open-metadata-description": "조직과 팀의 필요에 맞게 OpenMetadata UX를 맞춤 설정하세요.",
|
||||
"data-asset-has-been-action-type": "데이터 자산이 {{actionType}}되었습니다.",
|
||||
"data-insight-alert-destination-description": "관리자 또는 팀에게 이메일 알림을 전송하세요.",
|
||||
"data-insight-alert-trigger-description": "실시간으로 트리거하거나 일간, 주간, 월간으로 예약 실행하세요.",
|
||||
@ -1714,7 +1716,6 @@
|
||||
"marketplace-verify-msg": "OpenMetadata는 발행인이 도메인을 제어하며 기타 요구 사항을 충족하는지 확인했습니다.",
|
||||
"maximum-count-allowed": "Maximum {{count}} {{label}} are allowed",
|
||||
"maximum-value-error": "최대값은 최소값보다 커야 합니다.",
|
||||
"member-description": "OpenMetadata에서 사용자 및 팀에 대한 접근을 간소화하세요.",
|
||||
"mentioned-you-on-the-lowercase": "에서 당신을 언급했습니다.",
|
||||
"metadata-ingestion-description": "선택한 서비스 유형에 따라 스키마(또는 테이블), 토픽(메시징) 또는 대시보드의 필터 패턴 세부 정보를 입력하세요. 필터 패턴을 포함하거나 제외할 수 있으며, 보기 포함, 데이터 프로파일러 활성화/비활성화, 샘플 데이터 수집 여부를 선택할 수 있습니다.",
|
||||
"metric-description": "Track the health of your data assets with metrics.",
|
||||
@ -1838,7 +1839,7 @@
|
||||
"page-sub-header-for-roles": "사용자 또는 팀에 대해 포괄적인 역할 기반 접근을 할당하세요.",
|
||||
"page-sub-header-for-search": "가장 인기 있는 검색 서비스로부터 메타데이터를 수집하세요.",
|
||||
"page-sub-header-for-search-setting": "Ability to configure the search settings to suit your needs.",
|
||||
"page-sub-header-for-setting": "귀하의 필요에 맞게 OpenMetadata 애플리케이션을 구성할 수 있습니다.",
|
||||
"page-sub-header-for-setting": "귀하의 필요에 맞게 {{brandName}} 애플리케이션을 구성할 수 있습니다.",
|
||||
"page-sub-header-for-storages": "가장 인기 있는 스토리지 서비스로부터 메타데이터를 수집하세요.",
|
||||
"page-sub-header-for-table-profile": "프로파일러를 통해 테이블 구조를 모니터링하고 이해하세요.",
|
||||
"page-sub-header-for-teams": "계층적 팀으로 조직 전체 구조를 표현하세요.",
|
||||
@ -1943,6 +1944,7 @@
|
||||
"tag-update-confirmation": "태그 업데이트를 진행하시겠습니까?",
|
||||
"take-quick-product-tour": "시작하려면 제품 투어를 진행해 보세요!",
|
||||
"team-distinct-user-description": "The total number of distinct users belongs to this team.",
|
||||
"team-member-management-description": "{{brandName}} 사용자 및 팀에 대한 접근을 간소화하세요.",
|
||||
"team-moved-success": "팀이 성공적으로 이동되었습니다!",
|
||||
"team-no-asset": "귀하의 팀에는 자산이 없습니다.",
|
||||
"test-case-schedule-description": "데이터 품질 테스트는 원하는 빈도로 예약 실행할 수 있습니다. 타임존은 UTC입니다.",
|
||||
|
@ -139,6 +139,7 @@
|
||||
"bot-detail": "बॉट तपशील",
|
||||
"bot-lowercase": "बॉट",
|
||||
"bot-plural": "बॉट्स",
|
||||
"brand-updated": "ओपनमेटाडेटा अद्यतनित!",
|
||||
"broker-plural": "दलाल",
|
||||
"browse": "ब्राउझ करा",
|
||||
"browse-app-plural": "ॲप्स ब्राउझ करा",
|
||||
@ -874,7 +875,6 @@
|
||||
"open-lowercase": "उघडा",
|
||||
"open-metadata": "ओपनमेटाडेटा",
|
||||
"open-metadata-logo": "ओपनमेटाडेटा लोगो",
|
||||
"open-metadata-updated": "ओपनमेटाडेटा अद्यतनित!",
|
||||
"open-metadata-url": "ओपनमेटाडेटा URL",
|
||||
"open-task-plural": "उघडी कार्ये",
|
||||
"operation-plural": "ऑपरेशन्स",
|
||||
@ -1169,7 +1169,9 @@
|
||||
"show-more": "Show More",
|
||||
"show-more-entity": "अधिक {{entity}} दाखवा",
|
||||
"show-or-hide-advanced-config": "{{showAdv}} प्रगत संरचना दाखवा किंवा लपवा",
|
||||
"sign-in": "Sign In",
|
||||
"sign-in-with-sso": "{{sso}} सह साइन इन करा",
|
||||
"sign-up": "Sign Up",
|
||||
"size": "आकार",
|
||||
"size-evolution-graph": "आकार उत्क्रांती ग्राफ",
|
||||
"skew": "वाकणे",
|
||||
@ -1530,8 +1532,8 @@
|
||||
"custom-property-is-set-to-message": "{{fieldName}} सेट केले आहे",
|
||||
"custom-property-name-validation": "नाव लहान अक्षराने सुरू होणे आवश्यक आहे ज्यात कोणतीही जागा, अंडरस्कोर किंवा डॉट्स नाहीत.",
|
||||
"custom-property-update": "सानुकूल गुणधर्म '{{propertyName}}' चे {{entityName}} मधील अद्यतन {{status}} आहे",
|
||||
"customize-brand-description": "तुमच्या संस्थात्मक आणि टीमच्या गरजांसाठी {{brandName}} UX सानुकूलित करा.",
|
||||
"customize-landing-page-header": "व्यक्तिमत्व \"<0>{{persona}}</0>\" साठी लँडिंग पृष्ठ सानुकूलित करा",
|
||||
"customize-open-metadata-description": "तुमच्या संस्थात्मक आणि टीमच्या गरजांसाठी OpenMetadata UX सानुकूलित करा.",
|
||||
"data-asset-has-been-action-type": "डेटा ॲसेट {{actionType}} केले आहे",
|
||||
"data-insight-alert-destination-description": "प्रशासक किंवा टीमला ईमेल सूचना पाठवा.",
|
||||
"data-insight-alert-trigger-description": "रिअल टाइमसाठी ट्रिगर करा किंवा ते दैनिक, साप्ताहिक किंवा मासिक शेड्यूल करा.",
|
||||
@ -1714,7 +1716,6 @@
|
||||
"marketplace-verify-msg": "OpenMetadata ने पुष्टी केली आहे की प्रकाशक डोमेन नियंत्रित करतो आणि इतर आवश्यकता पूर्ण करतो.",
|
||||
"maximum-count-allowed": "कमाल {{count}} {{label}} अनुमत आहेत",
|
||||
"maximum-value-error": "कमाल मूल्य किमान मूल्यापेक्षा जास्त असावे.",
|
||||
"member-description": "OpenMetadata मध्ये वापरकर्ते आणि टीम्सना प्रवेश सुलभ करा.",
|
||||
"mentioned-you-on-the-lowercase": "तुमचा उल्लेख केला",
|
||||
"metadata-ingestion-description": "निवडलेल्या सेवा प्रकारावर आधारित, योजना किंवा टेबल (डेटाबेस), किंवा विषय (संदेशवहन), किंवा डॅशबोर्डसाठी फिल्टर पॅटर्न तपशील प्रविष्ट करा. तुम्ही फिल्टर पॅटर्न समाविष्ट किंवा वगळू शकता. दृश्ये समाविष्ट करण्यासाठी निवडा, डेटा प्रोफाइलर सक्षम किंवा अक्षम करा आणि आवश्यकतेनुसार नमुना डेटा अंतर्ग्रहण करा.",
|
||||
"metric-description": "तुमच्या डेटा ॲसेट्सच्या आरोग्याचा मेट्रिक्ससह मागोवा घ्या.",
|
||||
@ -1838,7 +1839,7 @@
|
||||
"page-sub-header-for-roles": "वापरकर्ते किंवा टीम्सना व्यापक भूमिका आधारित प्रवेश नियुक्त करा.",
|
||||
"page-sub-header-for-search": "सर्वात लोकप्रिय शोध सेवांमधून मेटाडेटा अंतर्ग्रहण करा.",
|
||||
"page-sub-header-for-search-setting": "तुमच्या गरजा पूर्ण करण्यासाठी शोध सेटिंग्ज कॉन्फिगर करण्याची क्षमता.",
|
||||
"page-sub-header-for-setting": "तुमच्या गरजा पूर्ण करण्यासाठी OpenMetadata अनुप्रयोग कॉन्फिगर करण्याची क्षमता.",
|
||||
"page-sub-header-for-setting": "तुमच्या गरजा पूर्ण करण्यासाठी {{brandName}} अनुप्रयोग कॉन्फिगर करण्याची क्षमता.",
|
||||
"page-sub-header-for-storages": "सर्वात लोकप्रिय स्टोरेज सेवांमधून मेटाडेटा अंतर्ग्रहण करा.",
|
||||
"page-sub-header-for-table-profile": "प्रोफाइलरसह तुमच्या तक्त्यांची रचना मॉनिटर आणि समजून घ्या",
|
||||
"page-sub-header-for-teams": "सांकेतिक टीम्ससह तुमची संपूर्ण संस्थात्मक रचना दर्शवा.",
|
||||
@ -1943,6 +1944,7 @@
|
||||
"tag-update-confirmation": "नवीन टॅग जोडण्यासाठी तुम्हाला पुढे जायचे आहे का?",
|
||||
"take-quick-product-tour": "प्रारंभ करण्यासाठी एक उत्पादन टूर घ्या!",
|
||||
"team-distinct-user-description": "या टीममध्ये असलेल्या विशिष्ट वापरकर्त्यांची एकूण संख्या.",
|
||||
"team-member-management-description": "{{brandName}} मध्ये वापरकर्ते आणि टीम्सना प्रवेश सुलभ करा.",
|
||||
"team-moved-success": "टीम यशस्वीरित्या हलवली!",
|
||||
"team-no-asset": "तुमच्या टीमकडे कोणतीही ॲसेट नाहीत.",
|
||||
"test-case-schedule-description": "डेटा गुणवत्ता चाचण्या इच्छित वारंवारतेवर चालवण्यासाठी वेळापत्रक करता येतात. टाइमझोन UTC मध्ये आहे.",
|
||||
|
@ -139,6 +139,7 @@
|
||||
"bot-detail": "Botdetail",
|
||||
"bot-lowercase": "bot",
|
||||
"bot-plural": "Bots",
|
||||
"brand-updated": "{{brandName}} bijgewerkt!",
|
||||
"broker-plural": "Brokers",
|
||||
"browse": "Bladeren",
|
||||
"browse-app-plural": "Blader door apps",
|
||||
@ -874,7 +875,6 @@
|
||||
"open-lowercase": "open",
|
||||
"open-metadata": "OpenMetadata",
|
||||
"open-metadata-logo": "OpenMetadata-logo",
|
||||
"open-metadata-updated": "OpenMetadata bijgewerkt!",
|
||||
"open-metadata-url": "OpenMetadata URL",
|
||||
"open-task-plural": "Open Tasks",
|
||||
"operation-plural": "Bewerkingen",
|
||||
@ -1169,7 +1169,9 @@
|
||||
"show-more": "Show More",
|
||||
"show-more-entity": "Meer tonen {{entity}}",
|
||||
"show-or-hide-advanced-config": "{{showAdv}} geavanceerde configuratie",
|
||||
"sign-in": "Sign In",
|
||||
"sign-in-with-sso": "Inloggen met {{sso}}",
|
||||
"sign-up": "Sign Up",
|
||||
"size": "Grootte",
|
||||
"size-evolution-graph": "Grootte evolutie chart",
|
||||
"skew": "Schuintrekking",
|
||||
@ -1530,8 +1532,8 @@
|
||||
"custom-property-is-set-to-message": "{{fieldName}} is set to",
|
||||
"custom-property-name-validation": "De naam moet beginnen met een kleine letter zonder spaties, underscores of punten.",
|
||||
"custom-property-update": "Aangepaste eigenschap '{{propertyName}}' update in {{entityName}} is {{status}}",
|
||||
"customize-brand-description": "De {{brandName}} UX aanpassen aan de behoeften van uw organisatie en team.",
|
||||
"customize-landing-page-header": "Customize {{pageName}} for Persona \"<0>{{persona}}</0>\"",
|
||||
"customize-open-metadata-description": "De OpenMetadata UX aanpassen aan de behoeften van uw organisatie en team.",
|
||||
"data-asset-has-been-action-type": "Data-asset is {{actionType}}",
|
||||
"data-insight-alert-destination-description": "Stuur e-mailmeldingen naar beheerders of teams.",
|
||||
"data-insight-alert-trigger-description": "Stel de trigger in op realtime of plan het voor dagelijks, wekelijks of maandelijks.",
|
||||
@ -1714,7 +1716,6 @@
|
||||
"marketplace-verify-msg": "OpenMetadata heeft geverifieerd dat de publisher het domein beheert en aan andere eisen voldoet.",
|
||||
"maximum-count-allowed": "Maximum {{count}} {{label}} are allowed",
|
||||
"maximum-value-error": "The maximum value should be greater than the minimum value.",
|
||||
"member-description": "Stroomlijn toegang voor gebruikers en teams in OpenMetadata.",
|
||||
"mentioned-you-on-the-lowercase": "noemde je op de",
|
||||
"metadata-ingestion-description": "Voer op basis van het geselecteerde servicetype de filterpatroondetails in voor het schema of de tabel (database), of het onderwerp (berichten), of dashboard. Je kunt de filterpatronen opnemen of uitsluiten. Kies ervoor om weergaven op te nemen, de dataprofiler in of uit te schakelen, en voorbeelddata te ingesten, zoals vereist.",
|
||||
"metric-description": "Track the health of your data assets with metrics.",
|
||||
@ -1838,7 +1839,7 @@
|
||||
"page-sub-header-for-roles": "Wijs uitgebreide rolgebaseerde toegang toe aan gebruikers of teams.",
|
||||
"page-sub-header-for-search": "Ingest metadata van de meestgebruikte zoekservices.",
|
||||
"page-sub-header-for-search-setting": "Ability to configure the search settings to suit your needs.",
|
||||
"page-sub-header-for-setting": "Mogelijkheid om de OpenMetadata-toepassing naar eigen behoefte te configureren.",
|
||||
"page-sub-header-for-setting": "Mogelijkheid om de {{brandName}}-toepassing naar eigen behoefte te configureren.",
|
||||
"page-sub-header-for-storages": "Ingest metadata van de meestgebruikte opslagservices.",
|
||||
"page-sub-header-for-table-profile": "Volg en begrijp de structuur van je tabellen met de profiler.",
|
||||
"page-sub-header-for-teams": "Vertegenwoordig je hele organisatiestructuur met hiërarchische teams.",
|
||||
@ -1943,6 +1944,7 @@
|
||||
"tag-update-confirmation": "Would you like to proceed with updating the tags?",
|
||||
"take-quick-product-tour": "Maak een producttour om aan de slag te gaan!",
|
||||
"team-distinct-user-description": "The total number of distinct users belongs to this team.",
|
||||
"team-member-management-description": "Stroomlijn toegang voor gebruikers en teams in {{brandName}}.",
|
||||
"team-moved-success": "Team succesvol verplaatst!",
|
||||
"team-no-asset": "Je team heeft geen assets.",
|
||||
"test-case-schedule-description": "The data quality tests can be scheduled to run at the desired frequency. The timezone is in UTC.",
|
||||
|
@ -139,6 +139,7 @@
|
||||
"bot-detail": "جزئیات ربات",
|
||||
"bot-lowercase": "ربات",
|
||||
"bot-plural": "رباتها",
|
||||
"brand-updated": "متادیتای باز بهروزرسانی شد!",
|
||||
"broker-plural": "کارگزاران",
|
||||
"browse": "مرور",
|
||||
"browse-app-plural": "مرور برنامهها",
|
||||
@ -874,7 +875,6 @@
|
||||
"open-lowercase": "باز",
|
||||
"open-metadata": "متادیتای باز",
|
||||
"open-metadata-logo": "لوگوی متادیتای باز",
|
||||
"open-metadata-updated": "متادیتای باز بهروزرسانی شد!",
|
||||
"open-metadata-url": "آدرس متادیتای باز",
|
||||
"open-task-plural": "وظایف باز",
|
||||
"operation-plural": "عملیات",
|
||||
@ -1169,7 +1169,9 @@
|
||||
"show-more": "نمایش بیشتر",
|
||||
"show-more-entity": "نمایش بیشتر {{entity}}",
|
||||
"show-or-hide-advanced-config": "{{showAdv}} پیکربندی پیشرفته",
|
||||
"sign-in": "Sign In",
|
||||
"sign-in-with-sso": "ورود با {{sso}}",
|
||||
"sign-up": "Sign Up",
|
||||
"size": "اندازه",
|
||||
"size-evolution-graph": "نمودار تکامل اندازه",
|
||||
"skew": "تغییر",
|
||||
@ -1530,8 +1532,8 @@
|
||||
"custom-property-is-set-to-message": "{{fieldName}} به مقدار",
|
||||
"custom-property-name-validation": "نام باید با حرف کوچک شروع شود و هیچ فاصله، زیرخط یا نقطهای نداشته باشد.",
|
||||
"custom-property-update": "بروزرسانی ویژگی سفارشی '{{propertyName}}' در {{entityName}} {{status}} است",
|
||||
"customize-brand-description": "تجربه کاربری {{brandName}} را برای نیازهای سازمانی و تیمی خود تنظیم کنید.",
|
||||
"customize-landing-page-header": "Customize {{pageName}} for Persona \"<0>{{persona}}</0>\"",
|
||||
"customize-open-metadata-description": "تجربه کاربری OpenMetadata را برای نیازهای سازمانی و تیمی خود تنظیم کنید.",
|
||||
"data-asset-has-been-action-type": "دارایی دادهای {{actionType}} شده است",
|
||||
"data-insight-alert-destination-description": "اعلانهای ایمیلی را به مدیران یا تیمها ارسال کنید.",
|
||||
"data-insight-alert-trigger-description": "برای زمان واقعی یا برنامهریزی آن برای روزانه، هفتگی یا ماهانه را راهاندازی کنید.",
|
||||
@ -1714,7 +1716,6 @@
|
||||
"marketplace-verify-msg": "OpenMetadata تأیید کرده که ناشر کنترل دامنه را دارد و سایر الزامات را برآورده کرده است.",
|
||||
"maximum-count-allowed": "Maximum {{count}} {{label}} are allowed",
|
||||
"maximum-value-error": "مقدار حداکثر باید بزرگتر از مقدار حداقل باشد.",
|
||||
"member-description": "دسترسی به کاربران و تیمها را در OpenMetadata سادهسازی کنید.",
|
||||
"mentioned-you-on-the-lowercase": "شما را در {{entity}} ذکر کرده است.",
|
||||
"metadata-ingestion-description": "بر اساس نوع سرویسی که انتخاب کردهاید، جزئیات الگوی فیلتر برای طرح یا جدول (پایگاه داده)، یا موضوع (پیامرسانی)، یا داشبورد وارد کنید. میتوانید الگوهای فیلتر را شامل کنید یا حذف کنید. انتخاب کنید که آیا میخواهید نماها را شامل کنید، پروفایل داده را فعال یا غیرفعال کنید و داده نمونه را استخراج کنید.",
|
||||
"metric-description": "سلامت داراییهای دادهای خود را با متریکها دنبال کنید.",
|
||||
@ -1838,7 +1839,7 @@
|
||||
"page-sub-header-for-roles": "تخصیص دسترسی جامع مبتنی بر نقش به کاربران یا تیمها.",
|
||||
"page-sub-header-for-search": "ورود متادیتا از پرکاربردترین سرویسهای جستجو.",
|
||||
"page-sub-header-for-search-setting": "Ability to configure the search settings to suit your needs.",
|
||||
"page-sub-header-for-setting": "قابلیت پیکربندی برنامه OpenMetadata بهطور دلخواه.",
|
||||
"page-sub-header-for-setting": "قابلیت پیکربندی برنامه {{brandName}} بهطور دلخواه.",
|
||||
"page-sub-header-for-storages": "ورود متادیتا از پرکاربردترین سرویسهای ذخیرهسازی.",
|
||||
"page-sub-header-for-table-profile": "نظارت و درک ساختار جداول خود با استفاده از پروفایلر.",
|
||||
"page-sub-header-for-teams": "نمایش ساختار کامل سازمانی خود با تیمهای سلسلهمراتبی.",
|
||||
@ -1943,6 +1944,7 @@
|
||||
"tag-update-confirmation": "آیا میخواهید بهروزرسانی برچسبها را ادامه دهید؟",
|
||||
"take-quick-product-tour": "یک تور محصولی برای شروع بگذارید!",
|
||||
"team-distinct-user-description": "The total number of distinct users belongs to this team.",
|
||||
"team-member-management-description": "دسترسی به کاربران و تیمها را در {{brandName}} سادهسازی کنید.",
|
||||
"team-moved-success": "تیم با موفقیت منتقل شد!",
|
||||
"team-no-asset": "تیم شما هیچ دارایی ندارد.",
|
||||
"test-case-schedule-description": "آزمونهای کیفیت داده میتوانند به صورت دورهای برنامهریزی شوند. منطقه زمانی به صورت UTC است.",
|
||||
|
@ -139,6 +139,7 @@
|
||||
"bot-detail": "Detalhe do Bot",
|
||||
"bot-lowercase": "bot",
|
||||
"bot-plural": "Bots",
|
||||
"brand-updated": "{{brandName}} Atualizado!",
|
||||
"broker-plural": "Corretores",
|
||||
"browse": "Navegar",
|
||||
"browse-app-plural": "Navegar em Apps",
|
||||
@ -874,7 +875,6 @@
|
||||
"open-lowercase": "abrir",
|
||||
"open-metadata": "OpenMetadata",
|
||||
"open-metadata-logo": "Logo OpenMetadata",
|
||||
"open-metadata-updated": "OpenMetadata Atualizado!",
|
||||
"open-metadata-url": "URL do OpenMetadata",
|
||||
"open-task-plural": "Open Tasks",
|
||||
"operation-plural": "Operações",
|
||||
@ -1169,7 +1169,9 @@
|
||||
"show-more": "Show More",
|
||||
"show-more-entity": "Mostrar Mais {{entity}}",
|
||||
"show-or-hide-advanced-config": "{{showAdv}} Configuração Avançada",
|
||||
"sign-in": "Sign In",
|
||||
"sign-in-with-sso": "Entrar com {{sso}}",
|
||||
"sign-up": "Sign Up",
|
||||
"size": "Tamanho",
|
||||
"size-evolution-graph": "Gráfico de Evolução de Tamanho",
|
||||
"skew": "Assimetria",
|
||||
@ -1530,8 +1532,8 @@
|
||||
"custom-property-is-set-to-message": "{{fieldName}} is set to",
|
||||
"custom-property-name-validation": "O nome deve começar com letra minúscula sem espaço, sublinhado ou pontos.",
|
||||
"custom-property-update": "Atualização da propriedade personalizada '{{propertyName}}' em {{entityName}} está {{status}}",
|
||||
"customize-brand-description": "Tailor the {{brandName}} UX to suit your organizational and team needs.",
|
||||
"customize-landing-page-header": "Customize {{pageName}} for Persona \"<0>{{persona}}</0>\"",
|
||||
"customize-open-metadata-description": "Tailor the OpenMetadata UX to suit your organizational and team needs.",
|
||||
"data-asset-has-been-action-type": "O Ativo de Dados foi {{actionType}}",
|
||||
"data-insight-alert-destination-description": "Envie notificações por e-mail para administradores ou equipes.",
|
||||
"data-insight-alert-trigger-description": "Gatilho para tempo real ou programe para diário, semanal ou mensal.",
|
||||
@ -1714,7 +1716,6 @@
|
||||
"marketplace-verify-msg": "O OpenMetadata verificou que o editor controla o domínio e atende a outros requisitos.",
|
||||
"maximum-count-allowed": "Maximum {{count}} {{label}} are allowed",
|
||||
"maximum-value-error": "The maximum value should be greater than the minimum value.",
|
||||
"member-description": "Streamline access to users and teams in OpenMetadata.",
|
||||
"mentioned-you-on-the-lowercase": "mencionou você no",
|
||||
"metadata-ingestion-description": "Com base no tipo de serviço selecionado, insira os detalhes do padrão de filtro para o esquema ou tabela (banco de dados), ou tópico (mensagens), ou painel. Você pode incluir ou excluir os padrões de filtro. Escolha incluir visualizações, habilitar ou desabilitar o examinador de dados e ingerir dados de amostra, conforme necessário.",
|
||||
"metric-description": "Track the health of your data assets with metrics.",
|
||||
@ -1838,7 +1839,7 @@
|
||||
"page-sub-header-for-roles": "Atribua acesso baseado em funções abrangentes a usuários ou equipes.",
|
||||
"page-sub-header-for-search": "Ingestão de metadados dos serviços de pesquisa mais populares.",
|
||||
"page-sub-header-for-search-setting": "Ability to configure the search settings to suit your needs.",
|
||||
"page-sub-header-for-setting": "Habilidade para configurar a aplicação OpenMetadata de acordo com suas necessidades.",
|
||||
"page-sub-header-for-setting": "Habilidade para configurar a aplicação {{brandName}} de acordo com suas necessidades.",
|
||||
"page-sub-header-for-storages": "Ingestão de metadados dos serviços de armazenamento mais populares.",
|
||||
"page-sub-header-for-table-profile": "Monitore e compreenda a estrutura de suas tabelas com o examinador.",
|
||||
"page-sub-header-for-teams": "Represente toda a estrutura organizacional com equipes hierárquicas.",
|
||||
@ -1943,6 +1944,7 @@
|
||||
"tag-update-confirmation": "Would you like to proceed with updating the tags?",
|
||||
"take-quick-product-tour": "Faça um tour pelo produto para começar!",
|
||||
"team-distinct-user-description": "The total number of distinct users belongs to this team.",
|
||||
"team-member-management-description": "Streamline access to users and teams in {{brandName}}.",
|
||||
"team-moved-success": "Equipe movida com sucesso!",
|
||||
"team-no-asset": "Sua equipe não possui ativos.",
|
||||
"test-case-schedule-description": "The data quality tests can be scheduled to run at the desired frequency. The timezone is in UTC.",
|
||||
|
@ -139,6 +139,7 @@
|
||||
"bot-detail": "Detalhe do Bot",
|
||||
"bot-lowercase": "bot",
|
||||
"bot-plural": "Bots",
|
||||
"brand-updated": "{{brandName}} Atualizado!",
|
||||
"broker-plural": "Corretores",
|
||||
"browse": "Navegar",
|
||||
"browse-app-plural": "Navegar em Apps",
|
||||
@ -874,7 +875,6 @@
|
||||
"open-lowercase": "abrir",
|
||||
"open-metadata": "OpenMetadata",
|
||||
"open-metadata-logo": "Logo OpenMetadata",
|
||||
"open-metadata-updated": "OpenMetadata Atualizado!",
|
||||
"open-metadata-url": "URL do OpenMetadata",
|
||||
"open-task-plural": "Open Tasks",
|
||||
"operation-plural": "Operações",
|
||||
@ -1169,7 +1169,9 @@
|
||||
"show-more": "Show More",
|
||||
"show-more-entity": "Mostrar Mais {{entity}}",
|
||||
"show-or-hide-advanced-config": "{{showAdv}} Configuração Avançada",
|
||||
"sign-in": "Sign In",
|
||||
"sign-in-with-sso": "Entrar com {{sso}}",
|
||||
"sign-up": "Sign Up",
|
||||
"size": "Tamanho",
|
||||
"size-evolution-graph": "Gráfico de Evolução de Tamanho",
|
||||
"skew": "Assimetria",
|
||||
@ -1530,8 +1532,8 @@
|
||||
"custom-property-is-set-to-message": "{{fieldName}} is set to",
|
||||
"custom-property-name-validation": "O nome deve começar com letra minúscula sem espaço, sublinhado ou pontos.",
|
||||
"custom-property-update": "A atualização da propriedade personalizada '{{propertyName}}' em {{entityName}} está {{status}}",
|
||||
"customize-brand-description": "Tailor the {{brandName}} UX to suit your organizational and team needs.",
|
||||
"customize-landing-page-header": "Customize {{pageName}} for Persona \"<0>{{persona}}</0>\"",
|
||||
"customize-open-metadata-description": "Tailor the OpenMetadata UX to suit your organizational and team needs.",
|
||||
"data-asset-has-been-action-type": "O Ativo de Dados foi {{actionType}}",
|
||||
"data-insight-alert-destination-description": "Envie notificações por e-mail para administradores ou equipas.",
|
||||
"data-insight-alert-trigger-description": "Gatilho para tempo real ou programe para diário, semanal ou mensal.",
|
||||
@ -1714,7 +1716,6 @@
|
||||
"marketplace-verify-msg": "O OpenMetadata verificou que o editor controla o domínio e atende a outros requisitos.",
|
||||
"maximum-count-allowed": "Maximum {{count}} {{label}} are allowed",
|
||||
"maximum-value-error": "The maximum value should be greater than the minimum value.",
|
||||
"member-description": "Streamline access to users and teams in OpenMetadata.",
|
||||
"mentioned-you-on-the-lowercase": "mencionou você no",
|
||||
"metadata-ingestion-description": "Com base no tipo de serviço selecionado, insira os detalhes do padrão de filtro para o esquema ou tabela (banco de dados), ou tópico (mensagens), ou painel. Você pode incluir ou excluir os padrões de filtro. Escolha incluir visualizações, habilitar ou desabilitar o examinador de dados e ingerir dados de amostra, conforme necessário.",
|
||||
"metric-description": "Confirme o bom estado dos seus conjuntos de dados com as métricas.",
|
||||
@ -1838,7 +1839,7 @@
|
||||
"page-sub-header-for-roles": "Atribua acesso baseado em funções abrangentes a Utilizadores ou equipas.",
|
||||
"page-sub-header-for-search": "Ingestão de metadados dos serviços de pesquisa mais populares.",
|
||||
"page-sub-header-for-search-setting": "Ability to configure the search settings to suit your needs.",
|
||||
"page-sub-header-for-setting": "Habilidade para configurar a aplicação OpenMetadata de acordo com suas necessidades.",
|
||||
"page-sub-header-for-setting": "Habilidade para configurar a aplicação {{brandName}} de acordo com suas necessidades.",
|
||||
"page-sub-header-for-storages": "Ingestão de metadados dos serviços de armazenamento mais populares.",
|
||||
"page-sub-header-for-table-profile": "Monitorize e compreenda a estrutura de suas tabelas com o examinador.",
|
||||
"page-sub-header-for-teams": "Represente toda a estrutura organizacional com equipas hierárquicas.",
|
||||
@ -1943,6 +1944,7 @@
|
||||
"tag-update-confirmation": "Would you like to proceed with updating the tags?",
|
||||
"take-quick-product-tour": "Faça um tour pelo produto para começar!",
|
||||
"team-distinct-user-description": "The total number of distinct users belongs to this team.",
|
||||
"team-member-management-description": "Streamline access to users and teams in {{brandName}}.",
|
||||
"team-moved-success": "Equipa movida com sucesso!",
|
||||
"team-no-asset": "Sua equipa não possui ativos.",
|
||||
"test-case-schedule-description": "The data quality tests can be scheduled to run at the desired frequency. The timezone is in UTC.",
|
||||
|
@ -139,6 +139,7 @@
|
||||
"bot-detail": "Детали бота",
|
||||
"bot-lowercase": "бот",
|
||||
"bot-plural": "боты",
|
||||
"brand-updated": "{{brandName}} Updated!",
|
||||
"broker-plural": "Брокеры",
|
||||
"browse": "Просмотр",
|
||||
"browse-app-plural": "Browse Apps",
|
||||
@ -874,7 +875,6 @@
|
||||
"open-lowercase": "открыть",
|
||||
"open-metadata": "OpenMetadata",
|
||||
"open-metadata-logo": "OpenMetadata Logo",
|
||||
"open-metadata-updated": "OpenMetadata Updated!",
|
||||
"open-metadata-url": "OpenMetadata URL",
|
||||
"open-task-plural": "Open Tasks",
|
||||
"operation-plural": "Операции",
|
||||
@ -1169,7 +1169,9 @@
|
||||
"show-more": "Show More",
|
||||
"show-more-entity": "Показать больше элементов \"{{entity}}\"",
|
||||
"show-or-hide-advanced-config": "{{showAdv}} Расширенная конфигурация",
|
||||
"sign-in": "Sign In",
|
||||
"sign-in-with-sso": "Войдите с помощью {{sso}}",
|
||||
"sign-up": "Sign Up",
|
||||
"size": "Размер",
|
||||
"size-evolution-graph": "Size Evolution Graph",
|
||||
"skew": "Перекос",
|
||||
@ -1530,8 +1532,8 @@
|
||||
"custom-property-is-set-to-message": "{{fieldName}} is set to",
|
||||
"custom-property-name-validation": "Имя должно начинаться со строчной буквы без пробелов, подчеркивания и точек.",
|
||||
"custom-property-update": "Обновление пользовательского свойства '{{propertyName}}' в {{entityName}} имеет статус {{status}}",
|
||||
"customize-brand-description": "Tailor the {{brandName}} UX to suit your organizational and team needs.",
|
||||
"customize-landing-page-header": "Customize {{pageName}} for Persona \"<0>{{persona}}</0>\"",
|
||||
"customize-open-metadata-description": "Tailor the OpenMetadata UX to suit your organizational and team needs.",
|
||||
"data-asset-has-been-action-type": "Объект данных был {{actionType}}",
|
||||
"data-insight-alert-destination-description": "Отправляйте уведомления по электронной почте администраторам или командам.",
|
||||
"data-insight-alert-trigger-description": "Запускайте в режиме реального времени или запланируйте его на день, неделю или месяц.",
|
||||
@ -1714,7 +1716,6 @@
|
||||
"marketplace-verify-msg": "OpenMetadata has verified that the publisher controls the domain and meets other requirements.",
|
||||
"maximum-count-allowed": "Maximum {{count}} {{label}} are allowed",
|
||||
"maximum-value-error": "The maximum value should be greater than the minimum value.",
|
||||
"member-description": "Streamline access to users and teams in OpenMetadata.",
|
||||
"mentioned-you-on-the-lowercase": "упоминул вас в",
|
||||
"metadata-ingestion-description": "В зависимости от выбранного типа службы введите сведения о шаблоне фильтра для схемы, таблицы (база данных), раздела (обмен сообщениями) или панели мониторинга. Вы можете включить или исключить шаблоны фильтров. При необходимости включите представления, включите или отключите профилировщик данных и примите образцы данных.",
|
||||
"metric-description": "Track the health of your data assets with metrics.",
|
||||
@ -1838,7 +1839,7 @@
|
||||
"page-sub-header-for-roles": "Назначьте полный доступ на основе ролей пользователям или командам.",
|
||||
"page-sub-header-for-search": "Ingest metadata from the most popular search services.",
|
||||
"page-sub-header-for-search-setting": "Ability to configure the search settings to suit your needs.",
|
||||
"page-sub-header-for-setting": "Ability to configure the OpenMetadata application to suit your needs.",
|
||||
"page-sub-header-for-setting": "Ability to configure the {{brandName}} application to suit your needs.",
|
||||
"page-sub-header-for-storages": "Получайте метаданные из самых популярных служб хранения.",
|
||||
"page-sub-header-for-table-profile": "Отслеживайте и анализируйте структуру ваших таблиц с помощью профилировщика.",
|
||||
"page-sub-header-for-teams": "Представьте всю свою организационную структуру с помощью иерархических команд.",
|
||||
@ -1943,6 +1944,7 @@
|
||||
"tag-update-confirmation": "Would you like to proceed with updating the tags?",
|
||||
"take-quick-product-tour": "Ознакомьтесь с продуктом, чтобы начать работу!",
|
||||
"team-distinct-user-description": "The total number of distinct users belongs to this team.",
|
||||
"team-member-management-description": "Streamline access to users and teams in {{brandName}}.",
|
||||
"team-moved-success": "Команда успешно переехала!",
|
||||
"team-no-asset": "У вашей команды нет объектов.",
|
||||
"test-case-schedule-description": "The data quality tests can be scheduled to run at the desired frequency. The timezone is in UTC.",
|
||||
|
@ -139,6 +139,7 @@
|
||||
"bot-detail": "รายละเอียดบอท",
|
||||
"bot-lowercase": "บอท",
|
||||
"bot-plural": "บอทหลายตัว",
|
||||
"brand-updated": "{{brandName}} ได้รับการอัปเดต!",
|
||||
"broker-plural": "นายหน้า",
|
||||
"browse": "เรียกดู",
|
||||
"browse-app-plural": "เรียกดูแอปพลิเคชัน",
|
||||
@ -874,7 +875,6 @@
|
||||
"open-lowercase": "เปิด",
|
||||
"open-metadata": "OpenMetadata",
|
||||
"open-metadata-logo": "โลโก้ OpenMetadata",
|
||||
"open-metadata-updated": "OpenMetadata ได้รับการอัปเดต!",
|
||||
"open-metadata-url": "URL ของ OpenMetadata",
|
||||
"open-task-plural": "งานที่เปิดอยู่",
|
||||
"operation-plural": "การดำเนินการ",
|
||||
@ -1169,7 +1169,9 @@
|
||||
"show-more": "แสดงเพิ่มเติม",
|
||||
"show-more-entity": "แสดงเพิ่มเติม {{entity}}",
|
||||
"show-or-hide-advanced-config": "{{showAdv}} การกำหนดค่าขั้นสูง",
|
||||
"sign-in": "Sign In",
|
||||
"sign-in-with-sso": "เข้าสู่ระบบด้วย {{sso}}",
|
||||
"sign-up": "Sign Up",
|
||||
"size": "ขนาด",
|
||||
"size-evolution-graph": "กราฟการพัฒนาขนาด",
|
||||
"skew": "เอียง",
|
||||
@ -1530,8 +1532,8 @@
|
||||
"custom-property-is-set-to-message": "{{fieldName}} ถูกตั้งค่าเป็น",
|
||||
"custom-property-name-validation": "ชื่อจะต้องเริ่มต้นด้วยตัวพิมพ์เล็ก ไม่มีช่องว่าง, ขีดล่าง, หรือจุด",
|
||||
"custom-property-update": "การอัปเดตคุณสมบัติที่กำหนดเอง '{{propertyName}}' ใน {{entityName}} คือ {{status}}",
|
||||
"customize-brand-description": "ปรับแต่ง UX ของ {{brandName}} ให้เหมาะสมกับความต้องการขององค์กรและทีมของคุณ",
|
||||
"customize-landing-page-header": "ปรับแต่ง {{pageName}} สำหรับบุคลิกภาพ \"<0>{{persona}}</0>\"",
|
||||
"customize-open-metadata-description": "ปรับแต่ง UX ของ OpenMetadata ให้เหมาะสมกับความต้องการขององค์กรและทีมของคุณ",
|
||||
"data-asset-has-been-action-type": "สินทรัพย์ข้อมูลได้ทำการ {{actionType}}",
|
||||
"data-insight-alert-destination-description": "ส่งการแจ้งเตือนทางอีเมลไปยังผู้ดูแลระบบหรือทีม",
|
||||
"data-insight-alert-trigger-description": "กระตุ้นสำหรับเวลาจริงหรือตั้งเวลาให้ทำทุกวัน, ทุกสัปดาห์ หรือทุกเดือน",
|
||||
@ -1714,7 +1716,6 @@
|
||||
"marketplace-verify-msg": "OpenMetadata has verified that the publisher controls the domain and meets other requirements.",
|
||||
"maximum-count-allowed": "Maximum {{count}} {{label}} are allowed",
|
||||
"maximum-value-error": "The maximum value should be greater than the minimum value.",
|
||||
"member-description": "Streamline access to users and teams in OpenMetadata.",
|
||||
"mentioned-you-on-the-lowercase": "mentioned you on the",
|
||||
"metadata-ingestion-description": "Based on the service type selected, enter the filter pattern details for the schema or table (database), or topic (messaging), or dashboard. You can include or exclude the filter patterns. Choose to include views, enable or disable the data profiler, and ingest sample data, as required.",
|
||||
"metric-description": "Track the health of your data assets with metrics.",
|
||||
@ -1838,7 +1839,7 @@
|
||||
"page-sub-header-for-roles": "มอบบทบาทการเข้าถึงที่ครอบคลุมให้กับผู้ใช้หรือทีม",
|
||||
"page-sub-header-for-search": "นำเข้าข้อมูลเมตาจากบริการค้นหาที่ได้รับความนิยมมากที่สุด",
|
||||
"page-sub-header-for-search-setting": "ความสามารถในการกำหนดค่าการตั้งค่าการค้นหาเพื่อตอบสนองความต้องการของคุณ",
|
||||
"page-sub-header-for-setting": "ความสามารถในการกำหนดค่าแอปพลิเคชัน OpenMetadata เพื่อตอบสนองความต้องการของคุณ",
|
||||
"page-sub-header-for-setting": "ความสามารถในการกำหนดค่าแอปพลิเคชัน {{brandName}} เพื่อตอบสนองความต้องการของคุณ",
|
||||
"page-sub-header-for-storages": "นำเข้าข้อมูลเมตาจากบริการจัดเก็บที่ได้รับความนิยมมากที่สุด",
|
||||
"page-sub-header-for-table-profile": "ติดตามและเข้าใจโครงสร้างตารางของคุณด้วยโปรไฟล์เลอร์",
|
||||
"page-sub-header-for-teams": "แสดงโครงสร้างองค์กรของคุณทั้งหมดด้วยทีมที่มีลำดับชั้น",
|
||||
@ -1943,6 +1944,7 @@
|
||||
"tag-update-confirmation": "คุณต้องการดำเนินการอัปเดตแท็กหรือไม่?",
|
||||
"take-quick-product-tour": "เข้าร่วมทัวร์ผลิตภัณฑ์เพื่อเริ่มต้น!",
|
||||
"team-distinct-user-description": "จำนวนผู้ใช้ที่ไม่ซ้ำกันทั้งหมดที่เป็นของทีมนี้",
|
||||
"team-member-management-description": "Streamline access to users and teams in {{brandName}}.",
|
||||
"team-moved-success": "ย้ายทีมสำเร็จ!",
|
||||
"team-no-asset": "ทีมของคุณไม่มีสินทรัพย์ใด ๆ",
|
||||
"test-case-schedule-description": "การทดสอบคุณภาพข้อมูลสามารถกำหนดเวลาให้ดำเนินการในความถี่ที่ต้องการ เขตเวลาคือ UTC",
|
||||
|
@ -139,6 +139,7 @@
|
||||
"bot-detail": "机器人详情",
|
||||
"bot-lowercase": "机器人",
|
||||
"bot-plural": "机器人",
|
||||
"brand-updated": "{{brandName}} 已更新!",
|
||||
"broker-plural": "Brokers",
|
||||
"browse": "浏览",
|
||||
"browse-app-plural": "浏览应用",
|
||||
@ -874,7 +875,6 @@
|
||||
"open-lowercase": "打开",
|
||||
"open-metadata": "OpenMetadata",
|
||||
"open-metadata-logo": "OpenMetadata Logo",
|
||||
"open-metadata-updated": "OpenMetadata 已更新!",
|
||||
"open-metadata-url": "OpenMetadata URL",
|
||||
"open-task-plural": "打开任务",
|
||||
"operation-plural": "操作",
|
||||
@ -1169,7 +1169,9 @@
|
||||
"show-more": "Show More",
|
||||
"show-more-entity": "显示更多{{entity}}",
|
||||
"show-or-hide-advanced-config": "{{showAdv}}高级配置",
|
||||
"sign-in": "Sign In",
|
||||
"sign-in-with-sso": "使用 {{sso}} 单点登录",
|
||||
"sign-up": "Sign Up",
|
||||
"size": "大小",
|
||||
"size-evolution-graph": "大小变化图",
|
||||
"skew": "偏态",
|
||||
@ -1530,8 +1532,8 @@
|
||||
"custom-property-is-set-to-message": "{{fieldName}}设置为",
|
||||
"custom-property-name-validation": "命名首字母必须是小写字母不能为空格、下划线或点号",
|
||||
"custom-property-update": "自定义属性'{{propertyName}}'在{{entityName}}中的更新{{status}}",
|
||||
"customize-brand-description": "自定义 {{brandName}}, 以满足您的组织和团队需求",
|
||||
"customize-landing-page-header": "Customize {{pageName}} for Persona \"<0>{{persona}}</0>\"",
|
||||
"customize-open-metadata-description": "自定义 OpenMetadata, 以满足您的组织和团队需求",
|
||||
"data-asset-has-been-action-type": "数据资产已{{actionType}}",
|
||||
"data-insight-alert-destination-description": "发送通知邮件给管理员或团队",
|
||||
"data-insight-alert-trigger-description": "可以选择实时触发也可以按照每天、每周、每月进行任务调度。",
|
||||
@ -1714,7 +1716,6 @@
|
||||
"marketplace-verify-msg": "OpenMetadata 已核实发布者控制该域并符合其他要求",
|
||||
"maximum-count-allowed": "Maximum {{count}} {{label}} are allowed",
|
||||
"maximum-value-error": "最大值应大于最小值",
|
||||
"member-description": "简化对 OpenMetadata 用户和团队的访问",
|
||||
"mentioned-you-on-the-lowercase": "在以下地方提到了您",
|
||||
"metadata-ingestion-description": "根据选择的服务类型, 输入 Schema(模式)或表(数据库)、消息主题(消息队列)或仪表板的过滤规则详细信息。根据需要选择包括视图, 启用或禁用数据分析器, 并提取样本数据。",
|
||||
"metric-description": "Track the health of your data assets with metrics.",
|
||||
@ -1838,7 +1839,7 @@
|
||||
"page-sub-header-for-roles": "分配基于角色的访问权限给用户或团队",
|
||||
"page-sub-header-for-search": "从最流行的搜索服务中提取元数据",
|
||||
"page-sub-header-for-search-setting": "Ability to configure the search settings to suit your needs.",
|
||||
"page-sub-header-for-setting": "能够根据需要配置 OpenMetadata 应用",
|
||||
"page-sub-header-for-setting": "能够根据需要配置 {{brandName}} 应用",
|
||||
"page-sub-header-for-storages": "从最流行的存储类型服务中提取元数据",
|
||||
"page-sub-header-for-table-profile": "通过数据分析工具了解和跟踪您的数据表结构",
|
||||
"page-sub-header-for-teams": "将组织机构的架构通过团队进行分层分级",
|
||||
@ -1943,6 +1944,7 @@
|
||||
"tag-update-confirmation": "Would you like to proceed with updating the tags?",
|
||||
"take-quick-product-tour": "快速查看产品导览",
|
||||
"team-distinct-user-description": "The total number of distinct users belongs to this team.",
|
||||
"team-member-management-description": "简化对 {{brandName}} 用户和团队的访问",
|
||||
"team-moved-success": "团队移动成功",
|
||||
"team-no-asset": "您的团队没有任何资产",
|
||||
"test-case-schedule-description": "数据质控测试可按所需频率安排运行, 时区为 UTC",
|
||||
|
@ -20,6 +20,7 @@ import { useHistory } from 'react-router-dom';
|
||||
import { ReactComponent as IconSuccessBadge } from '../../assets/svg/success-badge.svg';
|
||||
import { useBasicAuth } from '../../components/Auth/AuthProviders/BasicAuthProvider';
|
||||
import BrandImage from '../../components/common/BrandImage/BrandImage';
|
||||
import DocumentTitle from '../../components/common/DocumentTitle/DocumentTitle';
|
||||
import { HTTP_STATUS_CODE } from '../../constants/Auth.constants';
|
||||
import { ROUTES } from '../../constants/constants';
|
||||
import { showErrorToast } from '../../utils/ToastUtils';
|
||||
@ -59,6 +60,7 @@ const ForgotPassword = () => {
|
||||
<div
|
||||
className="h-full py-24 forgot-password-container "
|
||||
data-testid="forgot-password-container">
|
||||
<DocumentTitle title={t('label.forgot-password')} />
|
||||
<Card
|
||||
bodyStyle={{ padding: '48px' }}
|
||||
className="m-auto"
|
||||
|
@ -34,6 +34,10 @@ jest.mock('../../components/Auth/AuthProviders/BasicAuthProvider', () => {
|
||||
};
|
||||
});
|
||||
|
||||
jest.mock('../../components/common/DocumentTitle/DocumentTitle', () => {
|
||||
return jest.fn().mockReturnValue(<p>DocumentTitle</p>);
|
||||
});
|
||||
|
||||
jest.mock('../../utils/ToastUtils', () => ({
|
||||
showErrorToast: jest.fn(),
|
||||
}));
|
||||
|
@ -49,6 +49,10 @@ jest.mock('../../components/common/BrandImage/BrandImage', () => {
|
||||
return jest.fn().mockReturnValue(<p>testBrandLogo</p>);
|
||||
});
|
||||
|
||||
jest.mock('../../components/common/DocumentTitle/DocumentTitle', () => {
|
||||
return jest.fn().mockReturnValue(<p>DocumentTitle</p>);
|
||||
});
|
||||
|
||||
describe('Test SignInPage Component', () => {
|
||||
afterEach(() => {
|
||||
jest.clearAllMocks();
|
||||
|
@ -26,6 +26,7 @@ import loginBG from '../../assets/img/login-bg.png';
|
||||
import { ReactComponent as IconFailBadge } from '../../assets/svg/fail-badge.svg';
|
||||
import { useBasicAuth } from '../../components/Auth/AuthProviders/BasicAuthProvider';
|
||||
import BrandImage from '../../components/common/BrandImage/BrandImage';
|
||||
import DocumentTitle from '../../components/common/DocumentTitle/DocumentTitle';
|
||||
import Loader from '../../components/common/Loader/Loader';
|
||||
import LoginButton from '../../components/common/LoginButton/LoginButton';
|
||||
import { ROUTES, VALIDATION_MESSAGES } from '../../constants/constants';
|
||||
@ -156,132 +157,135 @@ const SignInPage = () => {
|
||||
const onClickForgotPassword = () => history.push(ROUTES.FORGOT_PASSWORD);
|
||||
|
||||
return (
|
||||
<Row className="h-full" data-testid="signin-page">
|
||||
<Col className="bg-white" span={8}>
|
||||
<div
|
||||
className={classNames('mt-24 text-center flex-center flex-col', {
|
||||
'sso-container': !isAuthProviderBasic,
|
||||
})}>
|
||||
<BrandImage height="auto" width={200} />
|
||||
<Typography.Text className="mt-8 w-80 text-xl font-medium text-grey-muted">
|
||||
{t('message.om-description')}{' '}
|
||||
</Typography.Text>
|
||||
<>
|
||||
<DocumentTitle title={t('label.sign-in')} />
|
||||
<Row className="h-full" data-testid="signin-page">
|
||||
<Col className="bg-white" span={8}>
|
||||
<div
|
||||
className={classNames('mt-24 text-center flex-center flex-col', {
|
||||
'sso-container': !isAuthProviderBasic,
|
||||
})}>
|
||||
<BrandImage height="auto" width={200} />
|
||||
<Typography.Text className="mt-8 w-80 text-xl font-medium text-grey-muted">
|
||||
{t('message.om-description')}{' '}
|
||||
</Typography.Text>
|
||||
|
||||
{isAuthProviderBasic ? (
|
||||
<div className="login-form ">
|
||||
<Form
|
||||
className="w-full"
|
||||
form={form}
|
||||
layout="vertical"
|
||||
validateMessages={VALIDATION_MESSAGES}
|
||||
onFinish={handleSubmit}>
|
||||
<Form.Item
|
||||
data-testid="email"
|
||||
label={t('label.email')}
|
||||
name="email"
|
||||
requiredMark={false}
|
||||
rules={[
|
||||
{ required: true },
|
||||
{
|
||||
pattern: EMAIL_REG_EX,
|
||||
type: 'email',
|
||||
message: t('message.field-text-is-invalid', {
|
||||
fieldText: t('label.email'),
|
||||
}),
|
||||
},
|
||||
]}>
|
||||
<Input autoFocus placeholder={t('label.email')} />
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
data-testid="password"
|
||||
label={t('label.password')}
|
||||
name="password"
|
||||
requiredMark={false}
|
||||
rules={[{ required: true }]}>
|
||||
<Input.Password
|
||||
autoComplete="off"
|
||||
placeholder={t('label.password')}
|
||||
/>
|
||||
</Form.Item>
|
||||
|
||||
<Button
|
||||
{isAuthProviderBasic ? (
|
||||
<div className="login-form ">
|
||||
<Form
|
||||
className="w-full"
|
||||
data-testid="login"
|
||||
disabled={loading}
|
||||
htmlType="submit"
|
||||
loading={loading}
|
||||
type="primary">
|
||||
{t('label.login')}
|
||||
</Button>
|
||||
</Form>
|
||||
{loginError && (
|
||||
<div
|
||||
className="d-flex flex-col m-y-md"
|
||||
data-testid="login-error-container">
|
||||
<div className="flex global-border rounded-4 p-sm error-alert ">
|
||||
<div className="m-r-xs">
|
||||
<Icon
|
||||
component={IconFailBadge}
|
||||
style={{ fontSize: '20px' }}
|
||||
/>
|
||||
</div>
|
||||
<p data-testid="success-line">
|
||||
<span>{loginError}</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
{!isAuthProviderLDAP && (
|
||||
<>
|
||||
<div className="mt-8" onClick={onClickForgotPassword}>
|
||||
<Typography.Link underline data-testid="forgot-password">
|
||||
{t('label.forgot-password')}
|
||||
</Typography.Link>
|
||||
</div>
|
||||
{authConfig?.enableSelfSignup && (
|
||||
<>
|
||||
<Divider className="w-min-0 mt-8 mb-12 justify-center">
|
||||
<Typography.Text className="text-sm" type="secondary">
|
||||
{t('label.or-lowercase')}
|
||||
</Typography.Text>
|
||||
</Divider>
|
||||
form={form}
|
||||
layout="vertical"
|
||||
validateMessages={VALIDATION_MESSAGES}
|
||||
onFinish={handleSubmit}>
|
||||
<Form.Item
|
||||
data-testid="email"
|
||||
label={t('label.email')}
|
||||
name="email"
|
||||
requiredMark={false}
|
||||
rules={[
|
||||
{ required: true },
|
||||
{
|
||||
pattern: EMAIL_REG_EX,
|
||||
type: 'email',
|
||||
message: t('message.field-text-is-invalid', {
|
||||
fieldText: t('label.email'),
|
||||
}),
|
||||
},
|
||||
]}>
|
||||
<Input autoFocus placeholder={t('label.email')} />
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
data-testid="password"
|
||||
label={t('label.password')}
|
||||
name="password"
|
||||
requiredMark={false}
|
||||
rules={[{ required: true }]}>
|
||||
<Input.Password
|
||||
autoComplete="off"
|
||||
placeholder={t('label.password')}
|
||||
/>
|
||||
</Form.Item>
|
||||
|
||||
<div className="mt-4 d-flex flex-center">
|
||||
<Typography.Text className="mr-4">
|
||||
{t('message.new-to-the-platform')}
|
||||
</Typography.Text>
|
||||
<Button
|
||||
data-testid="signup"
|
||||
type="link"
|
||||
onClick={onClickSignUp}>
|
||||
{t('label.create-entity', {
|
||||
entity: t('label.account'),
|
||||
})}
|
||||
</Button>
|
||||
<Button
|
||||
className="w-full"
|
||||
data-testid="login"
|
||||
disabled={loading}
|
||||
htmlType="submit"
|
||||
loading={loading}
|
||||
type="primary">
|
||||
{t('label.login')}
|
||||
</Button>
|
||||
</Form>
|
||||
{loginError && (
|
||||
<div
|
||||
className="d-flex flex-col m-y-md"
|
||||
data-testid="login-error-container">
|
||||
<div className="flex global-border rounded-4 p-sm error-alert ">
|
||||
<div className="m-r-xs">
|
||||
<Icon
|
||||
component={IconFailBadge}
|
||||
style={{ fontSize: '20px' }}
|
||||
/>
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
) : (
|
||||
<div className="">{getSignInButton()}</div>
|
||||
)}
|
||||
</div>
|
||||
</Col>
|
||||
<Col className="relative" span={16}>
|
||||
<div className="absolute inset-0">
|
||||
<img
|
||||
alt="Login Background"
|
||||
className="w-full h-full"
|
||||
data-testid="bg-image"
|
||||
src={loginBG}
|
||||
/>
|
||||
</div>
|
||||
<p data-testid="success-line">
|
||||
<span>{loginError}</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
{!isAuthProviderLDAP && (
|
||||
<>
|
||||
<div className="mt-8" onClick={onClickForgotPassword}>
|
||||
<Typography.Link underline data-testid="forgot-password">
|
||||
{t('label.forgot-password')}
|
||||
</Typography.Link>
|
||||
</div>
|
||||
{authConfig?.enableSelfSignup && (
|
||||
<>
|
||||
<Divider className="w-min-0 mt-8 mb-12 justify-center">
|
||||
<Typography.Text className="text-sm" type="secondary">
|
||||
{t('label.or-lowercase')}
|
||||
</Typography.Text>
|
||||
</Divider>
|
||||
|
||||
<LoginCarousel />
|
||||
</Col>
|
||||
</Row>
|
||||
<div className="mt-4 d-flex flex-center">
|
||||
<Typography.Text className="mr-4">
|
||||
{t('message.new-to-the-platform')}
|
||||
</Typography.Text>
|
||||
<Button
|
||||
data-testid="signup"
|
||||
type="link"
|
||||
onClick={onClickSignUp}>
|
||||
{t('label.create-entity', {
|
||||
entity: t('label.account'),
|
||||
})}
|
||||
</Button>
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
) : (
|
||||
<div className="">{getSignInButton()}</div>
|
||||
)}
|
||||
</div>
|
||||
</Col>
|
||||
<Col className="relative" span={16}>
|
||||
<div className="absolute inset-0">
|
||||
<img
|
||||
alt="Login Background"
|
||||
className="w-full h-full"
|
||||
data-testid="bg-image"
|
||||
src={loginBG}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<LoginCarousel />
|
||||
</Col>
|
||||
</Row>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
|
@ -19,6 +19,7 @@ import { useTranslation } from 'react-i18next';
|
||||
import { useHistory } from 'react-router-dom';
|
||||
import { useBasicAuth } from '../../components/Auth/AuthProviders/BasicAuthProvider';
|
||||
import BrandImage from '../../components/common/BrandImage/BrandImage';
|
||||
import DocumentTitle from '../../components/common/DocumentTitle/DocumentTitle';
|
||||
import { ROUTES, VALIDATION_MESSAGES } from '../../constants/constants';
|
||||
import { passwordRegex } from '../../constants/regex.constants';
|
||||
import { PasswordResetRequest } from '../../generated/auth/passwordResetRequest';
|
||||
@ -69,6 +70,7 @@ const ResetPassword = () => {
|
||||
|
||||
return (
|
||||
<div className="h-full p-y-36" data-testid="reset-password-container">
|
||||
<DocumentTitle title={t('label.reset-your-password')} />
|
||||
<Card
|
||||
bodyStyle={{ padding: '48px' }}
|
||||
className="m-auto p-x-lg"
|
||||
|
@ -34,6 +34,10 @@ jest.mock('../../components/Auth/AuthProviders/BasicAuthProvider', () => {
|
||||
};
|
||||
});
|
||||
|
||||
jest.mock('../../components/common/DocumentTitle/DocumentTitle', () => {
|
||||
return jest.fn().mockReturnValue(<p>DocumentTitle</p>);
|
||||
});
|
||||
|
||||
describe('ResetPassword', () => {
|
||||
it('should render correctly', async () => {
|
||||
render(<ResetPassword />);
|
||||
|
@ -19,6 +19,7 @@ import { useHistory } from 'react-router-dom';
|
||||
import loginBG from '../../assets/img/login-bg.png';
|
||||
import { useBasicAuth } from '../../components/Auth/AuthProviders/BasicAuthProvider';
|
||||
import BrandImage from '../../components/common/BrandImage/BrandImage';
|
||||
import DocumentTitle from '../../components/common/DocumentTitle/DocumentTitle';
|
||||
import { ROUTES, VALIDATION_MESSAGES } from '../../constants/constants';
|
||||
import { passwordRegex } from '../../constants/regex.constants';
|
||||
import { AuthProvider } from '../../generated/settings/settings';
|
||||
@ -66,146 +67,151 @@ const BasicSignUp = () => {
|
||||
const handleLogin = () => history.push(ROUTES.SIGNIN);
|
||||
|
||||
return (
|
||||
<Row className="h-full" data-testid="signin-page">
|
||||
<Col className="bg-white" span={10}>
|
||||
<div className="mt-4 text-center flex-center flex-col">
|
||||
<BrandImage height="auto" width={200} />
|
||||
<Typography.Text className="mt-8 w-80 text-xl font-medium text-grey-muted">
|
||||
{t('message.om-description')}
|
||||
</Typography.Text>
|
||||
<>
|
||||
<DocumentTitle title={t('label.sign-up')} />
|
||||
<Row className="h-full" data-testid="signin-page">
|
||||
<Col className="bg-white" span={10}>
|
||||
<div className="mt-4 text-center flex-center flex-col">
|
||||
<BrandImage height="auto" width={200} />
|
||||
<Typography.Text className="mt-8 w-80 text-xl font-medium text-grey-muted">
|
||||
{t('message.om-description')}
|
||||
</Typography.Text>
|
||||
|
||||
{isAuthProviderBasic ? (
|
||||
<div className="m-t-lg" style={{ width: '334px' }}>
|
||||
<Form
|
||||
autoComplete="off"
|
||||
form={form}
|
||||
layout="vertical"
|
||||
validateMessages={VALIDATION_MESSAGES}
|
||||
onFinish={handleSubmit}>
|
||||
<Form.Item
|
||||
label={t('label.entity-name', {
|
||||
entity: t('label.first'),
|
||||
})}
|
||||
name="firstName"
|
||||
rules={[{ whitespace: true, required: true }]}>
|
||||
<Input
|
||||
autoFocus
|
||||
placeholder={t('label.enter-entity-name', {
|
||||
entity: t('label.first-lowercase'),
|
||||
{isAuthProviderBasic ? (
|
||||
<div className="m-t-lg" style={{ width: '334px' }}>
|
||||
<Form
|
||||
autoComplete="off"
|
||||
form={form}
|
||||
layout="vertical"
|
||||
validateMessages={VALIDATION_MESSAGES}
|
||||
onFinish={handleSubmit}>
|
||||
<Form.Item
|
||||
label={t('label.entity-name', {
|
||||
entity: t('label.first'),
|
||||
})}
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label={t('label.entity-name', {
|
||||
entity: t('label.last'),
|
||||
})}
|
||||
name="lastName"
|
||||
rules={[{ whitespace: true, required: true }]}>
|
||||
<Input
|
||||
placeholder={t('label.enter-entity', {
|
||||
entity: t('label.last-name-lowercase'),
|
||||
name="firstName"
|
||||
rules={[{ whitespace: true, required: true }]}>
|
||||
<Input
|
||||
autoFocus
|
||||
placeholder={t('label.enter-entity-name', {
|
||||
entity: t('label.first-lowercase'),
|
||||
})}
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label={t('label.entity-name', {
|
||||
entity: t('label.last'),
|
||||
})}
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label={t('label.email')}
|
||||
name="email"
|
||||
rules={[{ type: 'email', required: true }]}>
|
||||
<Input
|
||||
placeholder={t('label.enter-entity', {
|
||||
entity: t('label.email-lowercase'),
|
||||
})}
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label={t('label.password')}
|
||||
name="password"
|
||||
rules={[
|
||||
{
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
pattern: passwordRegex,
|
||||
message: t('message.password-error-message'),
|
||||
},
|
||||
]}>
|
||||
<Input.Password
|
||||
autoComplete="off"
|
||||
placeholder={t('label.enter-entity', {
|
||||
entity: t('label.password-lowercase'),
|
||||
})}
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label={t('label.password-type', {
|
||||
type: t('label.confirm'),
|
||||
})}
|
||||
name="confirmPassword"
|
||||
rules={[
|
||||
{
|
||||
validator: (_, value) => {
|
||||
if (isEmpty(password)) {
|
||||
return Promise.reject(
|
||||
t('label.please-password-type-first')
|
||||
);
|
||||
}
|
||||
if (value !== password) {
|
||||
return Promise.reject(t('label.password-not-match'));
|
||||
}
|
||||
|
||||
return Promise.resolve();
|
||||
name="lastName"
|
||||
rules={[{ whitespace: true, required: true }]}>
|
||||
<Input
|
||||
placeholder={t('label.enter-entity', {
|
||||
entity: t('label.last-name-lowercase'),
|
||||
})}
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label={t('label.email')}
|
||||
name="email"
|
||||
rules={[{ type: 'email', required: true }]}>
|
||||
<Input
|
||||
placeholder={t('label.enter-entity', {
|
||||
entity: t('label.email-lowercase'),
|
||||
})}
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label={t('label.password')}
|
||||
name="password"
|
||||
rules={[
|
||||
{
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
]}>
|
||||
<Input.Password
|
||||
autoComplete="off"
|
||||
placeholder={t('label.confirm-password')}
|
||||
/>
|
||||
</Form.Item>
|
||||
{
|
||||
pattern: passwordRegex,
|
||||
message: t('message.password-error-message'),
|
||||
},
|
||||
]}>
|
||||
<Input.Password
|
||||
autoComplete="off"
|
||||
placeholder={t('label.enter-entity', {
|
||||
entity: t('label.password-lowercase'),
|
||||
})}
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label={t('label.password-type', {
|
||||
type: t('label.confirm'),
|
||||
})}
|
||||
name="confirmPassword"
|
||||
rules={[
|
||||
{
|
||||
validator: (_, value) => {
|
||||
if (isEmpty(password)) {
|
||||
return Promise.reject({
|
||||
message: t('label.please-password-type-first'),
|
||||
});
|
||||
}
|
||||
if (value !== password) {
|
||||
return Promise.reject({
|
||||
message: t('label.password-not-match'),
|
||||
});
|
||||
}
|
||||
|
||||
<Button className="w-full" htmlType="submit" type="primary">
|
||||
{t('label.create-entity', {
|
||||
entity: t('label.account'),
|
||||
})}
|
||||
</Button>
|
||||
return Promise.resolve();
|
||||
},
|
||||
},
|
||||
]}>
|
||||
<Input.Password
|
||||
autoComplete="off"
|
||||
placeholder={t('label.confirm-password')}
|
||||
/>
|
||||
</Form.Item>
|
||||
|
||||
<Divider className="w-min-0 mt-8 mb-12 justify-center">
|
||||
<Typography.Text type="secondary">
|
||||
{t('label.or-lowercase')}
|
||||
</Typography.Text>
|
||||
</Divider>
|
||||
|
||||
<div className="mt-4 d-flex flex-center">
|
||||
<Typography.Text className="mr-4">
|
||||
{t('message.already-a-user')}
|
||||
</Typography.Text>
|
||||
<Button
|
||||
ghost
|
||||
data-testid="login"
|
||||
type="link"
|
||||
onClick={handleLogin}>
|
||||
{t('label.login')}
|
||||
<Button className="w-full" htmlType="submit" type="primary">
|
||||
{t('label.create-entity', {
|
||||
entity: t('label.account'),
|
||||
})}
|
||||
</Button>
|
||||
</div>
|
||||
</Form>
|
||||
</div>
|
||||
) : null}
|
||||
</div>
|
||||
</Col>
|
||||
|
||||
<Col className="relative" span={14}>
|
||||
<div className="absolute inset-0">
|
||||
<img
|
||||
alt="bg-image"
|
||||
className="w-full h-full"
|
||||
data-testid="bg-image"
|
||||
src={loginBG}
|
||||
/>
|
||||
</div>
|
||||
<Divider className="w-min-0 mt-8 mb-12 justify-center">
|
||||
<Typography.Text type="secondary">
|
||||
{t('label.or-lowercase')}
|
||||
</Typography.Text>
|
||||
</Divider>
|
||||
|
||||
<LoginCarousel />
|
||||
</Col>
|
||||
</Row>
|
||||
<div className="mt-4 d-flex flex-center">
|
||||
<Typography.Text className="mr-4">
|
||||
{t('message.already-a-user')}
|
||||
</Typography.Text>
|
||||
<Button
|
||||
ghost
|
||||
data-testid="login"
|
||||
type="link"
|
||||
onClick={handleLogin}>
|
||||
{t('label.login')}
|
||||
</Button>
|
||||
</div>
|
||||
</Form>
|
||||
</div>
|
||||
) : null}
|
||||
</div>
|
||||
</Col>
|
||||
|
||||
<Col className="relative" span={14}>
|
||||
<div className="absolute inset-0">
|
||||
<img
|
||||
alt="bg-image"
|
||||
className="w-full h-full"
|
||||
data-testid="bg-image"
|
||||
src={loginBG}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<LoginCarousel />
|
||||
</Col>
|
||||
</Row>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
|
@ -32,7 +32,7 @@ import {
|
||||
getNameFromUserData,
|
||||
setUrlPathnameExpiryAfterRoute,
|
||||
} from '../../utils/AuthProvider.util';
|
||||
import brandImageClassBase from '../../utils/BrandImage/BrandImageClassBase';
|
||||
import brandClassBase from '../../utils/BrandData/BrandClassBase';
|
||||
import { getImages, Transi18next } from '../../utils/CommonUtils';
|
||||
import { showErrorToast } from '../../utils/ToastUtils';
|
||||
|
||||
@ -52,7 +52,7 @@ const SignUp = () => {
|
||||
} = useApplicationStore();
|
||||
|
||||
const [loading, setLoading] = useState<boolean>(false);
|
||||
const OMDLogo = useMemo(() => brandImageClassBase.getMonogram().svg, []);
|
||||
const OMDLogo = useMemo(() => brandClassBase.getMonogram().svg, []);
|
||||
|
||||
const handleCreateNewUser: FormProps['onFinish'] = async (data) => {
|
||||
setLoading(true);
|
||||
|
@ -10,12 +10,14 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import { t } from 'i18next';
|
||||
import WelcomeScreenSrc from '../../assets/img/welcome-screen.png';
|
||||
import MonogramSrc, {
|
||||
ReactComponent as Monogram,
|
||||
} from '../../assets/svg/logo-monogram.svg';
|
||||
import LogoSrc, { ReactComponent as Logo } from '../../assets/svg/logo.svg';
|
||||
|
||||
class BrandImageClassBase {
|
||||
class BrandClassBase {
|
||||
public getMonogram() {
|
||||
return { src: MonogramSrc, svg: Monogram };
|
||||
}
|
||||
@ -23,9 +25,17 @@ class BrandImageClassBase {
|
||||
public getLogo() {
|
||||
return { src: LogoSrc, svg: Logo };
|
||||
}
|
||||
|
||||
public getPageTitle() {
|
||||
return t('label.open-metadata');
|
||||
}
|
||||
|
||||
public getWelcomeScreenImg() {
|
||||
return WelcomeScreenSrc;
|
||||
}
|
||||
}
|
||||
|
||||
const brandImageClassBase = new BrandImageClassBase();
|
||||
const brandClassBase = new BrandClassBase();
|
||||
|
||||
export default brandImageClassBase;
|
||||
export { BrandImageClassBase };
|
||||
export default brandClassBase;
|
||||
export { BrandClassBase };
|
@ -62,6 +62,7 @@ import {
|
||||
UIPermission,
|
||||
} from '../context/PermissionProvider/PermissionProvider.interface';
|
||||
import { userPermissions } from '../utils/PermissionsUtils';
|
||||
import brandClassBase from './BrandData/BrandClassBase';
|
||||
|
||||
class GlobalSettingsClassBase {
|
||||
settingCategories: Record<string, { name: string; url: string }> = {
|
||||
@ -109,6 +110,14 @@ class GlobalSettingsClassBase {
|
||||
this.settingCategories = categories;
|
||||
}
|
||||
|
||||
public getServiceIcon() {
|
||||
return ServiceIcon;
|
||||
}
|
||||
|
||||
public getPreferenceIcon() {
|
||||
return OpenMetadataIcon;
|
||||
}
|
||||
|
||||
/**
|
||||
* getSidebarItems
|
||||
*/
|
||||
@ -120,7 +129,7 @@ class GlobalSettingsClassBase {
|
||||
{
|
||||
category: t('label.service-plural'),
|
||||
key: GlobalSettingsMenuCategory.SERVICES,
|
||||
icon: ServiceIcon,
|
||||
icon: this.getServiceIcon(),
|
||||
description: t('message.service-description'),
|
||||
items: [
|
||||
{
|
||||
@ -243,7 +252,9 @@ class GlobalSettingsClassBase {
|
||||
category: t('label.team-user-management'),
|
||||
key: GlobalSettingsMenuCategory.MEMBERS,
|
||||
icon: ManagementIcon,
|
||||
description: t('message.member-description'),
|
||||
description: t('message.team-member-management-description', {
|
||||
brandName: brandClassBase.getPageTitle(),
|
||||
}),
|
||||
items: [
|
||||
{
|
||||
label: t('label.team-plural'),
|
||||
@ -302,8 +313,10 @@ class GlobalSettingsClassBase {
|
||||
{
|
||||
category: t('label.preference-plural'),
|
||||
key: GlobalSettingsMenuCategory.PREFERENCES,
|
||||
icon: OpenMetadataIcon,
|
||||
description: t('message.customize-open-metadata-description'),
|
||||
icon: this.getPreferenceIcon(),
|
||||
description: t('message.customize-brand-description', {
|
||||
brandName: brandClassBase.getPageTitle(),
|
||||
}),
|
||||
items: [
|
||||
{
|
||||
label: t('label.theme'),
|
||||
|
Loading…
x
Reference in New Issue
Block a user