From 62f94cfb20ac4aeeaae57904e2c8b1c3664e6856 Mon Sep 17 00:00:00 2001 From: karenvicent Date: Mon, 21 Jul 2025 16:13:18 -0400 Subject: [PATCH 1/5] refactor: extract Fallback component into smaller reusable components --- .../Fallback/FallBackActionButtons.jsx | 43 ++++ .../Fallback/FallbackBackground.jsx | 31 +++ .../Components/Fallback/FallbackCheckList.jsx | 35 +++ .../Components/Fallback/FallbackContainer.jsx | 44 ++++ .../Fallback/FallbackPageSpeedWarning.jsx | 69 ++++++ .../src/Components/Fallback/FallbackTitle.jsx | 21 ++ client/src/Components/Fallback/index.css | 4 - client/src/Components/Fallback/index.jsx | 208 +++--------------- .../Pages/Infrastructure/Monitors/index.jsx | 10 +- client/src/Pages/Maintenance/index.jsx | 9 +- client/src/Pages/Notifications/index.jsx | 2 +- client/src/Pages/PageSpeed/Monitors/index.jsx | 26 ++- .../Pages/StatusPage/StatusPages/index.jsx | 9 +- client/src/Pages/Uptime/Monitors/index.jsx | 11 +- client/src/locales/en.json | 59 ++++- 15 files changed, 365 insertions(+), 216 deletions(-) create mode 100644 client/src/Components/Fallback/FallBackActionButtons.jsx create mode 100644 client/src/Components/Fallback/FallbackBackground.jsx create mode 100644 client/src/Components/Fallback/FallbackCheckList.jsx create mode 100644 client/src/Components/Fallback/FallbackContainer.jsx create mode 100644 client/src/Components/Fallback/FallbackPageSpeedWarning.jsx create mode 100644 client/src/Components/Fallback/FallbackTitle.jsx diff --git a/client/src/Components/Fallback/FallBackActionButtons.jsx b/client/src/Components/Fallback/FallBackActionButtons.jsx new file mode 100644 index 000000000..fbe8fe807 --- /dev/null +++ b/client/src/Components/Fallback/FallBackActionButtons.jsx @@ -0,0 +1,43 @@ +import { Button, Stack } from "@mui/material"; +import { useTheme } from "@mui/material/styles"; +import { useNavigate } from "react-router-dom"; +import { useTranslation } from "react-i18next"; +import PropTypes from "prop-types"; + +const FallbackActionButtons = ({ link, type }) => { + const theme = useTheme(); + const navigate = useNavigate(); + const { t } = useTranslation(); + + return ( + + + {type === "uptimeMonitor" && ( + + )} + + ); +}; +FallbackActionButtons.propTypes = { + title: PropTypes.string.isRequired, + link: PropTypes.string.isRequired, + type: PropTypes.string.isRequired, +}; + +export default FallbackActionButtons; diff --git a/client/src/Components/Fallback/FallbackBackground.jsx b/client/src/Components/Fallback/FallbackBackground.jsx new file mode 100644 index 000000000..e01659f49 --- /dev/null +++ b/client/src/Components/Fallback/FallbackBackground.jsx @@ -0,0 +1,31 @@ +import { useTheme } from "@emotion/react"; +import Box from "@mui/material/Box"; +import Skeleton from "../../assets/Images/create-placeholder.svg?react"; +import Background from "../../assets/Images/background-grid.svg?react"; +import SkeletonDark from "../../assets/Images/create-placeholder-dark.svg?react"; +import { useSelector } from "react-redux"; +const FallbackBackground = () => { + const theme = useTheme(); + const mode = useSelector((state) => state.ui.mode); + return ( + <> + {mode === "light" ? ( + + ) : ( + + )} + + + + + ); +}; + +export default FallbackBackground; diff --git a/client/src/Components/Fallback/FallbackCheckList.jsx b/client/src/Components/Fallback/FallbackCheckList.jsx new file mode 100644 index 000000000..4d13dead4 --- /dev/null +++ b/client/src/Components/Fallback/FallbackCheckList.jsx @@ -0,0 +1,35 @@ +import PropTypes from "prop-types"; +import { useTheme } from "@mui/material/styles"; +import Box from "@mui/material/Box"; +import Stack from "@mui/material/Stack"; +import Check from "../Check/Check"; +const FallbackCheckList = ({ checks, type }) => { + const theme = useTheme(); + return ( + + {checks?.map((check, index) => ( + + ))} + + ); +}; + +FallbackCheckList.propTypes = { + checks: PropTypes.arrayOf(PropTypes.string).isRequired, + title: PropTypes.string.isRequired, + type: PropTypes.string.isRequired, +}; + +export default FallbackCheckList; diff --git a/client/src/Components/Fallback/FallbackContainer.jsx b/client/src/Components/Fallback/FallbackContainer.jsx new file mode 100644 index 000000000..5d14b495d --- /dev/null +++ b/client/src/Components/Fallback/FallbackContainer.jsx @@ -0,0 +1,44 @@ +import { useTheme } from "@emotion/react"; +import { Box, Stack } from "@mui/material"; +import PropTypes from "prop-types"; + +const FallbackContainer = ({ children, type }) => { + const theme = useTheme(); + return ( + + + {children} + + + ); +}; + +FallbackContainer.propTypes = { + children: PropTypes.node, + type: PropTypes.string, +}; + +export default FallbackContainer; diff --git a/client/src/Components/Fallback/FallbackPageSpeedWarning.jsx b/client/src/Components/Fallback/FallbackPageSpeedWarning.jsx new file mode 100644 index 000000000..bcec7300d --- /dev/null +++ b/client/src/Components/Fallback/FallbackPageSpeedWarning.jsx @@ -0,0 +1,69 @@ +import Box from "@mui/material/Box"; +import { useTheme } from "@mui/material/styles"; +import Link from "@mui/material/Link"; +import { Link as RouterLink } from "react-router-dom"; +import { useTranslation } from "react-i18next"; +import Alert from "../Alert"; +import PropTypes from "prop-types"; + +const renderWarningMessage = (t) => { + return ( + <> + {t("pageSpeedWarning")}{" "} + + {t("pageSpeedLearnMoreLink")} + {" "} + {t("pageSpeedAddApiKey")} + + ); +}; + +const FallbackPageSpeedWarning = ({ settingsData }) => { + const theme = useTheme(); + const { t } = useTranslation(); + return ( + + svg": { + color: theme.palette.warningSecondary.contrastText, + }, + }, + }} + > + {settingsData?.pagespeedKeySet === false && ( + + )} + + + ); +}; + +FallbackPageSpeedWarning.propTypes = { + settingsData: PropTypes.shape({ + pagespeedKeySet: PropTypes.bool, + }), +}; + +export default FallbackPageSpeedWarning; diff --git a/client/src/Components/Fallback/FallbackTitle.jsx b/client/src/Components/Fallback/FallbackTitle.jsx new file mode 100644 index 000000000..f7f42f2ca --- /dev/null +++ b/client/src/Components/Fallback/FallbackTitle.jsx @@ -0,0 +1,21 @@ +import { useTheme } from "@mui/material/styles"; +import { Typography } from "@mui/material"; +import PropTypes from "prop-types"; + +const FallbackTitle = ({ title }) => { + const theme = useTheme(); + return ( + + {title} + + ); +}; +FallbackTitle.propTypes = { + title: PropTypes.string.isRequired, +}; +export default FallbackTitle; diff --git a/client/src/Components/Fallback/index.css b/client/src/Components/Fallback/index.css index 357988b07..6988fa5bf 100644 --- a/client/src/Components/Fallback/index.css +++ b/client/src/Components/Fallback/index.css @@ -38,7 +38,3 @@ background-size: cover; background-repeat: no-repeat; } - -.fallback__status > .MuiStack-root { - margin-left: var(--env-var-spacing-2); -} diff --git a/client/src/Components/Fallback/index.jsx b/client/src/Components/Fallback/index.jsx index dd6043697..5fbb958e7 100644 --- a/client/src/Components/Fallback/index.jsx +++ b/client/src/Components/Fallback/index.jsx @@ -1,72 +1,26 @@ import PropTypes from "prop-types"; import { useTheme } from "@emotion/react"; -import { Box, Button, Stack, Typography, Link } from "@mui/material"; -import { Link as RouterLink } from "react-router-dom"; -import Skeleton from "../../assets/Images/create-placeholder.svg?react"; -import SkeletonDark from "../../assets/Images/create-placeholder-dark.svg?react"; -import Background from "../../assets/Images/background-grid.svg?react"; -import Check from "../Check/Check"; -import { useNavigate } from "react-router-dom"; -import { useSelector } from "react-redux"; -import Alert from "../Alert"; -import { useTranslation } from "react-i18next"; +import { Box, Stack } from "@mui/material"; import "./index.css"; -import { useFetchSettings } from "../../Hooks/settingsHooks"; -import { useState } from "react"; +import FallbackTitle from "./FallbackTitle"; +import FallbackCheckList from "./FallbackCheckList"; +import FallbackActionButtons from "./FallBackActionButtons"; +import FallbackBackground from "./FallbackBackground"; +import FallbackContainer from "./FallbackContainer"; /** * Fallback component to display a fallback UI with a title, a list of checks, and a navigation button. * * @param {Object} props - The component props. * @param {string} props.title - The title to be displayed in the fallback UI. + * @param {string} props.type - The type of the fallback (e.g., "pageSpeed", "notifications"). * @param {Array} props.checks - An array of strings representing the checks to display. * @param {string} [props.link="/"] - The link to navigate to. - * @param {boolean} [props.vowelStart=false] - Whether the title starts with a vowel. * @param {boolean} [props.showPageSpeedWarning=false] - Whether to show the PageSpeed API warning. * @returns {JSX.Element} The rendered fallback UI. */ -const Fallback = ({ - title, - checks, - link = "/", - isAdmin, - vowelStart = false, - showPageSpeedWarning = false, -}) => { +const Fallback = ({ title, checks, link = "/", isAdmin, type, children }) => { const theme = useTheme(); - const navigate = useNavigate(); - const mode = useSelector((state) => state.ui.mode); - const { t } = useTranslation(); - const [settingsData, setSettingsData] = useState(undefined); - - const [isLoading, error] = useFetchSettings({ - setSettingsData, - setIsApiKeySet: () => {}, - setIsEmailPasswordSet: () => {}, - }); - // Custom warning message with clickable link - const renderWarningMessage = () => { - return ( - <> - {t("pageSpeedWarning")}{" "} - - {t("pageSpeedLearnMoreLink")} - {" "} - {t("pageSpeedAddApiKey")} - - ); - }; return ( - + + - {mode === "light" ? ( - - ) : ( - - )} - - - - - - {vowelStart ? "An" : "A"} {title} is used to: - - {checks?.map((check, index) => ( - - ))} - - {/* TODO - display a different fallback if user is not an admin*/} - {isAdmin && ( - - - {/* Bulk create of uptime monitors */} - {title === "uptime monitor" && ( - - )} - - {/* Warning box for PageSpeed monitor */} - {title === "pagespeed monitor" && showPageSpeedWarning && ( - - svg": { - color: theme.palette.warningSecondary.contrastText, - }, - }, - }} - > - {settingsData?.pagespeedKeySet === false && ( - - )} - - - )} - - )} + + - + {isAdmin && ( + + + {children} + + )} + ); }; - Fallback.propTypes = { title: PropTypes.string.isRequired, checks: PropTypes.arrayOf(PropTypes.string).isRequired, link: PropTypes.string, isAdmin: PropTypes.bool, - vowelStart: PropTypes.bool, showPageSpeedWarning: PropTypes.bool, + type: PropTypes.string.isRequired, + children: PropTypes.node, }; - export default Fallback; diff --git a/client/src/Pages/Infrastructure/Monitors/index.jsx b/client/src/Pages/Infrastructure/Monitors/index.jsx index 6feb933db..f7ca892c2 100644 --- a/client/src/Pages/Infrastructure/Monitors/index.jsx +++ b/client/src/Pages/Infrastructure/Monitors/index.jsx @@ -99,13 +99,9 @@ const InfrastructureMonitors = () => { if (!isLoading && typeof summary?.totalMonitors === "undefined") { return ( diff --git a/client/src/Pages/Maintenance/index.jsx b/client/src/Pages/Maintenance/index.jsx index 66b80f87d..9f9528a67 100644 --- a/client/src/Pages/Maintenance/index.jsx +++ b/client/src/Pages/Maintenance/index.jsx @@ -68,12 +68,9 @@ const Maintenance = () => { if (isDataFetched && maintenanceWindows.length === 0) { return ( diff --git a/client/src/Pages/Notifications/index.jsx b/client/src/Pages/Notifications/index.jsx index 28feb99ea..f9fc2e674 100644 --- a/client/src/Pages/Notifications/index.jsx +++ b/client/src/Pages/Notifications/index.jsx @@ -79,7 +79,7 @@ const Notifications = () => { if (notifications?.length === 0) { return ( { order: null, }); + const [settingsData, setSettingsData] = useState(undefined); + const [isSettingsLoading, settingsError] = useFetchSettings({ + setSettingsData, + setIsApiKeySet: () => {}, + setIsEmailPasswordSet: () => {}, + }); + if (networkError === true) { return ( @@ -48,16 +58,16 @@ const PageSpeed = () => { if (!isLoading && monitors?.length === 0) { return ( + > + {isAdmin && settingsData && !settingsData.pagespeedApiKey && ( + + )} + ); } diff --git a/client/src/Pages/StatusPage/StatusPages/index.jsx b/client/src/Pages/StatusPage/StatusPages/index.jsx index 650307bdb..7057eec0c 100644 --- a/client/src/Pages/StatusPage/StatusPages/index.jsx +++ b/client/src/Pages/StatusPage/StatusPages/index.jsx @@ -42,12 +42,9 @@ const StatusPages = () => { if (!isLoading && typeof statusPages !== "undefined" && statusPages.length === 0) { return ( diff --git a/client/src/Pages/Uptime/Monitors/index.jsx b/client/src/Pages/Uptime/Monitors/index.jsx index 6e6f6caba..4ebac94d3 100644 --- a/client/src/Pages/Uptime/Monitors/index.jsx +++ b/client/src/Pages/Uptime/Monitors/index.jsx @@ -174,14 +174,9 @@ const UptimeMonitors = () => { ) { return ( diff --git a/client/src/locales/en.json b/client/src/locales/en.json index c36014fb3..654a29c83 100644 --- a/client/src/locales/en.json +++ b/client/src/locales/en.json @@ -428,6 +428,17 @@ "infrastructureDisplayNameLabel": "Display name", "infrastructureEditMonitor": "Save Infrastructure Monitor", "infrastructureEditYour": "Edit your", + "infrastructureMonitor": { + "fallback": { + "checks": [ + "Track the performance of your servers", + "Identify bottlenecks and optimize usage", + "Ensure reliability with real-time monitoring" + ], + "title": "An infrastructure monitor is used to:", + "actionButton": "Let's create your first infrastructure monitor!" + } + }, "infrastructureMonitorCreated": "Infrastructure monitor created successfully!", "infrastructureMonitorUpdated": "Infrastructure monitor updated successfully!", "infrastructureProtocol": "Protocol", @@ -492,6 +503,17 @@ "maintenance": "maintenance", "maintenanceRepeat": "Maintenance Repeat", "maintenanceTableActionMenuDialogTitle": "Do you really want to remove this maintenance window?", + "maintenanceWindow": { + "fallback": { + "checks": [ + "Mark your maintenance periods", + "Eliminate any misunderstandings", + "Stop sending alerts in maintenance windows" + ], + "title": "A maintenance window is used to:", + "actionButton": "Let's create your first maintenance window!" + } + }, "maintenanceWindowDescription": "Your pings won't be sent during this time frame", "maintenanceWindowName": "Maintenance Window Name", "maskedPageSpeedKeyPlaceholder": "*************************************", @@ -589,7 +611,8 @@ "Let engineers know when incidents happen", "Keep administrators informed of system changes" ], - "title": "notification channel" + "title": "A notification channel is used to:", + "actionButton": "Let's create your first notification channel!" }, "fetch": { "failed": "Failed to fetch notifications", @@ -634,6 +657,17 @@ "notifySMS": "Notify via SMS (coming soon)", "now": "Now", "os": "OS", + "pageSpeed": { + "fallback": { + "checks": [ + "Report on the user experience of a page", + "Help analyze webpage speed", + "Give suggestions on how the page can be improved" + ], + "title": "A PageSpeed monitor is used to:", + "actionButton": "Let's create your first PageSpeed monitor!" + } + }, "pageSpeedAddApiKey": "to add your API key.", "pageSpeedConfigureSettingsDescription": "Here you can select the URL of the host, together with the type of monitor.", "pageSpeedDetailsPerformanceReport": "Values are estimated and may vary.", @@ -847,7 +881,16 @@ "createSuccess": "Status page created successfully", "updateSuccess": "Status page updated successfully", "generalSettings": "General settings", - "contents": "Contents" + "contents": "Contents", + "fallback": { + "checks": [ + "Monitor and display the health of your services in real time", + "Track multiple services and share their status", + "Keep users informed about outages and performance" + ], + "title": "A status page is used to:", + "actionButton": "Let's create your first status page!" + } }, "submit": "Submit", "teamPanel": { @@ -901,6 +944,18 @@ "ping": "Enter the IP address or hostname to ping (e.g., 192.168.1.100 or example.com) and add a clear display name that appears on the dashboard.", "port": "Enter the URL or IP of the server, the port number and a clear display name that appears on the dashboard." }, + "uptimeMonitor": { + "fallback": { + "checks": [ + "Check if websites or servers are online & responsive", + "Alert teams about downtime or performance issues", + "Monitor HTTP endpoints, pings, containers & ports", + "Track historical uptime and reliability trends" + ], + "title": "An uptime monitor is used to:", + "actionButton": "Let's create your first uptime monitor!" + } + }, "url": "URL", "urlMonitor": "URL to monitor", "used": "Used", From 43ac0174d1fce96df0159154111061b986bc7548 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Tue, 22 Jul 2025 09:23:26 -0700 Subject: [PATCH 2/5] format --- server/validation/joi.js | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/server/validation/joi.js b/server/validation/joi.js index 57c8b7350..b33283d98 100755 --- a/server/validation/joi.js +++ b/server/validation/joi.js @@ -164,11 +164,7 @@ const createMonitorBodyValidation = joi.object({ .custom((value, helpers) => { // 1. Standard URLs: must have protocol and pass canParse() if (/^(https?:\/\/)/.test(value)) { - if ( - typeof URL !== "undefined" && - typeof URL.canParse === "function" && - URL.canParse(value) - ) { + if (typeof URL !== "undefined" && typeof URL.canParse === "function" && URL.canParse(value)) { return value; } // else, it's a malformed URL with protocol @@ -197,8 +193,7 @@ const createMonitorBodyValidation = joi.object({ .messages({ "string.empty": "This field is required.", "string.uri": "The URL you provided is not valid.", - "string.invalidUrl": - "Please enter a valid URL, hostname, or container name (with optional port).", + "string.invalidUrl": "Please enter a valid URL, hostname, or container name (with optional port).", }), ignoreTlsErrors: joi.boolean().default(false), port: joi.number(), From 97082b30b97649216f61b53791924872749210cf Mon Sep 17 00:00:00 2001 From: Mohansai Mallineni Date: Sun, 20 Jul 2025 20:08:06 +0530 Subject: [PATCH 3/5] feat(i18n): implement new language mappings and initialize translation files --- client/src/Components/LanguageSelector.jsx | 14 +- client/src/locales/fi.json | 836 --------------------- client/src/locales/fr.json | 836 --------------------- client/src/locales/{ar.json => ja.json} | 0 client/src/locales/{es.json => uk.json} | 4 +- client/src/locales/{cs.json => vi.json} | 188 ++--- 6 files changed, 106 insertions(+), 1772 deletions(-) delete mode 100644 client/src/locales/fi.json delete mode 100644 client/src/locales/fr.json rename client/src/locales/{ar.json => ja.json} (100%) rename client/src/locales/{es.json => uk.json} (99%) rename client/src/locales/{cs.json => vi.json} (74%) diff --git a/client/src/Components/LanguageSelector.jsx b/client/src/Components/LanguageSelector.jsx index 284d0db05..57d102a9e 100644 --- a/client/src/Components/LanguageSelector.jsx +++ b/client/src/Components/LanguageSelector.jsx @@ -6,6 +6,14 @@ import { useSelector } from "react-redux"; import { useDispatch } from "react-redux"; import { setLanguage } from "../Features/UI/uiSlice"; + +const langMap = { + cs: "cz", + ja: "jp", + uk: "ua", + vi: "vn", +}; + const LanguageSelector = () => { const { i18n } = useTranslation(); const theme = useTheme(); @@ -28,14 +36,12 @@ const LanguageSelector = () => { {languages.map((lang) => { let parsedLang = lang === "en" ? "gb" : lang; - // Fix for Czech - if (parsedLang === "cs") { - parsedLang = "cz"; - } if (parsedLang.includes("-")) { parsedLang = parsedLang.split("-")[1].toLowerCase(); } + parsedLang = langMap[parsedLang] || parsedLang; + const flag = parsedLang ? `fi fi-${parsedLang}` : null; return ( diff --git a/client/src/locales/fi.json b/client/src/locales/fi.json deleted file mode 100644 index 90b30e925..000000000 --- a/client/src/locales/fi.json +++ /dev/null @@ -1,836 +0,0 @@ -{ - "submit": "Lähetä", - "title": "Otsikko", - "distributedStatusHeaderText": "Reaaliaikainen kattavuus oikeilla laitteilla", - "distributedStatusSubHeaderText": "Miljoonien laitteiden voimin ympäri maailman näet järjestelmän suorituskyvyn maailman alueittain, maittain tai kaupungeittain", - "settingsDisabled": "Poistettu käytöstä", - "settingsSuccessSaved": "", - "settingsFailedToSave": "", - "settingsStatsCleared": "", - "settingsFailedToClearStats": "", - "settingsFailedToAddDemoMonitors": "", - "settingsMonitorsDeleted": "", - "settingsFailedToDeleteMonitors": "", - "starPromptTitle": "", - "starPromptDescription": "", - "https": "HTTPS", - "http": "HTTP", - "monitor": "Seurain", - "aboutus": "Tietoja meistä", - "now": "Nyt", - "delete": "Poista", - "configure": "Määritä", - "responseTime": "Vasteaika", - "ms": "ms", - "bar": "Palkki", - "area": "Alue", - "country": "MAA", - "city": "KAUPUNKI", - "response": "Vastaus", - "monitorStatusUp": "Valvontakohde {name} ({url}) on nyt toiminnassa ja vastaa", - "monitorStatusDown": "Valvontakohde {name} ({url}) ei ole toiminnassa, eikä vastaa", - "webhookSendSuccess": "Webhook-ilmoitus lähetettiin onnistuneesti", - "webhookSendError": "Virhe lähetettäessä webhook-ilmoitusta palveluun {platform}", - "webhookUnsupportedPlatform": "Ei tuettu palvelu: {platform}", - "distributedRightCategoryTitle": "Valvonta", - "distributedStatusServerMonitors": "Palvelin valvonta", - "distributedStatusServerMonitorsDescription": "Valvo palvelimien tilaa", - "distributedUptimeCreateSelectURL": "Tässä voit valita isäntäkohteen URL-osoitteen ja valvontatyypin.", - "distributedUptimeCreateChecks": "Suoritettavat tarkistukset", - "distributedUptimeCreateChecksDescription": "Voit aina lisätä tai poistaa tarkistuksia sivuston lisäämisen jälkeen.", - "distributedUptimeCreateIncidentNotification": "Häiriöilmoitukset", - "distributedUptimeCreateIncidentDescription": "Jos ilmenee häiriö, ilmoita käyttäjille.", - "distributedUptimeCreateAdvancedSettings": "Lisäasetukset", - "distributedUptimeDetailsNoMonitorHistory": "Tälle valvontakohteelle ei ole vielä tarkistushistoriaa.", - "distributedUptimeDetailsStatusHeaderUptime": "", - "distributedUptimeDetailsStatusHeaderLastUpdate": "Viimeksi päivitetty", - "notifications": { - "enableNotifications": "", - "testNotification": "Testi-ilmoitus", - "addOrEditNotifications": "Lisää tai muokkaa ilmoituksia", - "slack": { - "label": "Slack", - "description": "", - "webhookLabel": "Webhookin URL", - "webhookPlaceholder": "", - "webhookRequired": "" - }, - "discord": { - "label": "Discord", - "description": "", - "webhookLabel": "Discord Webhookin URL-osoite", - "webhookPlaceholder": "https://discord.com/api/webhooks/...", - "webhookRequired": "" - }, - "telegram": { - "label": "Telegram", - "description": "", - "tokenLabel": "", - "tokenPlaceholder": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11", - "chatIdLabel": "", - "chatIdPlaceholder": "-1001234567890", - "fieldsRequired": "" - }, - "webhook": { - "label": "Webhookit", - "description": "", - "urlLabel": "Webhookin URL", - "urlPlaceholder": "https://your-server.com/webhook", - "urlRequired": "" - }, - "testNotificationDevelop": "Testi-ilmoitus 2", - "integrationButton": "", - "testSuccess": "Testi ilmoituksen lähetys onnistui!", - "testFailed": "Testi ilmoituksen lähetys epäonnistui", - "unsupportedType": "", - "networkError": "", - "fallback": { - "title": "", - "checks": [""] - }, - "createButton": "", - "createTitle": "", - "create": { - "success": "", - "failed": "" - }, - "fetch": { - "success": "", - "failed": "" - }, - "delete": { - "success": "", - "failed": "" - }, - "edit": { - "success": "", - "failed": "" - }, - "test": { - "success": "", - "failed": "" - } - }, - "testLocale": "", - "add": "Lisää", - "monitors": "Seuraimet", - "distributedUptimeStatusCreateStatusPage": "", - "distributedUptimeStatusCreateStatusPageAccess": "", - "distributedUptimeStatusCreateStatusPageReady": "", - "distributedUptimeStatusBasicInfoHeader": "", - "distributedUptimeStatusBasicInfoDescription": "", - "distributedUptimeStatusLogoHeader": "Logo", - "distributedUptimeStatusLogoDescription": "", - "distributedUptimeStatusLogoUploadButton": "", - "distributedUptimeStatusStandardMonitorsHeader": "", - "distributedUptimeStatusStandardMonitorsDescription": "", - "distributedUptimeStatusCreateYour": "", - "distributedUptimeStatusEditYour": "", - "distributedUptimeStatusPublishedLabel": "", - "distributedUptimeStatusCompanyNameLabel": "Yrityksen nimi", - "distributedUptimeStatusPageAddressLabel": "", - "distributedUptimeStatus30Days": "30 päivää", - "distributedUptimeStatus60Days": "60 päivää", - "distributedUptimeStatus90Days": "90 päivää", - "distributedUptimeStatusPageNotSetUp": "", - "distributedUptimeStatusContactAdmin": "Ota yhteys järjestelmävalvojaasi", - "distributedUptimeStatusPageNotPublic": "", - "distributedUptimeStatusPageDeleteDialog": "", - "distributedUptimeStatusPageDeleteConfirm": "", - "distributedUptimeStatusPageDeleteDescription": "", - "distributedUptimeStatusDevices": "", - "distributedUptimeStatusUpt": "", - "distributedUptimeStatusUptBurned": "", - "distributedUptimeStatusUptLogo": "UPT logo", - "incidentsTableNoIncidents": "", - "incidentsTablePaginationLabel": "", - "incidentsTableMonitorName": "", - "incidentsTableStatus": "Tila", - "incidentsTableDateTime": "Päivämäärä ja aika", - "incidentsTableStatusCode": "", - "incidentsTableMessage": "Viesti", - "incidentsOptionsHeader": "", - "incidentsOptionsHeaderFilterBy": "", - "incidentsOptionsHeaderFilterAll": "Kaikki", - "incidentsOptionsHeaderFilterDown": "Alhaalla", - "incidentsOptionsHeaderFilterCannotResolve": "", - "incidentsOptionsHeaderShow": "Näytä:", - "incidentsOptionsHeaderLastHour": "Viime tunti", - "incidentsOptionsHeaderLastDay": "Viime päivä", - "incidentsOptionsHeaderLastWeek": "Viime viikko", - "incidentsOptionsPlaceholderAllServers": "Kaikki palvelimet", - "infrastructureCreateYour": "", - "infrastructureCreateGeneralSettingsDescription": "", - "infrastructureServerRequirement": "", - "infrastructureCustomizeAlerts": "", - "infrastructureAlertNotificationDescription": "", - "infrastructureCreateMonitor": "", - "infrastructureProtocol": "Protokolla", - "infrastructureServerUrlLabel": "Palvelimen URL-osoite", - "infrastructureDisplayNameLabel": "", - "infrastructureAuthorizationSecretLabel": "", - "gb": "", - "mb": "", - "mem": "", - "memoryUsage": "Muistinkäyttö", - "cpu": "", - "cpuUsage": "", - "cpuTemperature": "", - "diskUsage": "", - "used": "", - "total": "", - "cores": "", - "frequency": "", - "status": "Tila", - "cpuPhysical": "", - "cpuLogical": "", - "cpuFrequency": "", - "avgCpuTemperature": "", - "memory": "Muisti", - "disk": "", - "uptime": "", - "os": "", - "host": "", - "actions": "", - "integrations": "", - "integrationsPrism": "", - "integrationsSlack": "Slack", - "integrationsSlackInfo": "", - "integrationsDiscord": "", - "integrationsDiscordInfo": "", - "integrationsZapier": "Zapier", - "integrationsZapierInfo": "", - "commonSave": "Tallenna", - "createYour": "", - "createMonitor": "", - "pause": "", - "resume": "", - "editing": "", - "url": "", - "access": "", - "timezone": "Aikavyöhyke", - "features": "", - "administrator": "", - "loginHere": "", - "displayName": "", - "urlMonitor": "", - "portToMonitor": "", - "websiteMonitoring": "", - "websiteMonitoringDescription": "", - "pingMonitoring": "", - "pingMonitoringDescription": "", - "dockerContainerMonitoring": "", - "dockerContainerMonitoringDescription": "", - "portMonitoring": "", - "portMonitoringDescription": "", - "createMaintenanceWindow": "", - "createMaintenance": "", - "editMaintenance": "", - "maintenanceWindowName": "", - "friendlyNameInput": "", - "friendlyNamePlaceholder": "", - "maintenanceRepeat": "", - "maintenance": "", - "duration": "", - "addMonitors": "", - "window": "", - "cancel": "Peruuttaa", - "message": "Viesti", - "low": "", - "high": "", - "statusCode": "Tilakoodi", - "date&Time": "Päivämäärä ja aika", - "type": "", - "statusPageName": "", - "publicURL": "Julkinen URL-osoite", - "repeat": "", - "edit": "Muokkaa", - "createA": "", - "remove": "", - "maintenanceWindowDescription": "", - "startTime": "", - "timeZoneInfo": "", - "monitorsToApply": "", - "nextWindow": "", - "notFoundButton": "", - "pageSpeedConfigureSettingsDescription": "", - "monitorDisplayName": "", - "whenNewIncident": "", - "notifySMS": "Ilmoita tekstiviestillä (tulossa pian)", - "notifyEmails": "", - "seperateEmails": "", - "checkFrequency": "", - "matchMethod": "", - "expectedValue": "", - "deleteDialogTitle": "", - "deleteDialogDescription": "", - "pageSpeedMonitor": "", - "shown": "", - "ago": "sitten", - "companyName": "Yrityksen nimi", - "pageSpeedDetailsPerformanceReport": "", - "pageSpeedDetailsPerformanceReportCalculator": "", - "checkingEvery": "", - "statusPageCreateSettings": "", - "basicInformation": "", - "statusPageCreateBasicInfoDescription": "", - "statusPageCreateSelectTimeZoneDescription": "", - "statusPageCreateAppearanceDescription": "", - "statusPageCreateSettingsCheckboxLabel": "", - "statusPageCreateBasicInfoStatusPageAddress": "", - "statusPageCreateTabsContent": "", - "statusPageCreateTabsContentDescription": "", - "statusPageCreateTabsContentFeaturesDescription": "", - "showCharts": "Näytä kaaviot", - "showUptimePercentage": "", - "removeLogo": "Poista logo", - "statusPageStatus": "", - "statusPageStatusContactAdmin": "Ota yhteyttä järjestelmänvalvojaan", - "statusPageStatusNotPublic": "", - "statusPageStatusNoPage": "", - "statusPageStatusServiceStatus": "", - "deleteStatusPage": "", - "deleteStatusPageConfirm": "", - "deleteStatusPageDescription": "", - "uptimeCreate": "", - "uptimeCreateJsonPath": "", - "uptimeCreateJsonPathQuery": "", - "maintenanceTableActionMenuDialogTitle": "", - "infrastructureEditYour": "Muokkaa omaa", - "infrastructureEditMonitor": "", - "infrastructureMonitorCreated": "", - "infrastructureMonitorUpdated": "", - "errorInvalidTypeId": "", - "errorInvalidFieldId": "", - "inviteNoTokenFound": "", - "pageSpeedWarning": "", - "pageSpeedLearnMoreLink": "", - "pageSpeedAddApiKey": "", - "update": "Päivitä", - "invalidFileFormat": "", - "invalidFileSize": "Tiedoston koko on liian suuri!", - "ClickUpload": "", - "DragandDrop": "raahaa ja pudota", - "MaxSize": "Enimmäiskoko", - "SupportedFormats": "Tuetut muodot", - "FirstName": "Etunimi", - "LastName": "Sukunimi", - "EmailDescriptionText": "Tämä on nykyinen sähköpostiosoitteesi — sitä ei voi vaihtaa.", - "YourPhoto": "Profiilikuva", - "PhotoDescriptionText": "", - "save": "Tallenna", - "DeleteDescriptionText": "", - "DeleteAccountWarning": "", - "DeleteWarningTitle": "Haluatko todella poistaa tämän tilin?", - "bulkImport": { - "title": "", - "selectFileTips": "", - "selectFileDescription": "", - "selectFile": "Valitse tiedosto", - "parsingFailed": "", - "uploadSuccess": "", - "validationFailed": "", - "noFileSelected": "Ei valittua tiedostoa", - "fallbackPage": "" - }, - "DeleteAccountTitle": "Poista tili", - "DeleteAccountButton": "Poista tili", - "publicLink": "Julkinen linkki", - "maskedPageSpeedKeyPlaceholder": "*************************************", - "reset": "Palauta", - "ignoreTLSError": "", - "tlsErrorIgnored": "", - "ignoreTLSErrorDescription": "", - "createNew": "Luo uusi", - "greeting": { - "prepend": "Hei", - "append": "", - "overview": "" - }, - "roles": { - "superAdmin": "Pääylläpitäjä", - "admin": "Ylläpitäjä", - "teamMember": "Tiimin jäsen", - "demoUser": "Demokäyttäjä" - }, - "teamPanel": { - "teamMembers": "Tiimin jäsenet", - "filter": { - "all": "Kaikki", - "member": "Jäsen" - }, - "inviteTeamMember": "", - "inviteNewTeamMember": "", - "inviteDescription": "", - "email": "Sähköposti", - "selectRole": "Valitse rooli", - "inviteLink": "Kutsulinkki", - "cancel": "Peruuttaa", - "noMembers": "", - "getToken": "Hae tunniste", - "emailToken": "Sähköpostitunnus", - "table": { - "name": "Nimi", - "email": "Sähköposti", - "role": "Rooli", - "created": "Luotu" - } - }, - "monitorState": { - "paused": "Tauota", - "resumed": "Jatka", - "active": "" - }, - "menu": { - "uptime": "", - "pagespeed": "", - "infrastructure": "Infrastruktuuri", - "incidents": "", - "statusPages": "Tilasivut", - "maintenance": "Huolto", - "integrations": "", - "settings": "Asetukset", - "support": "Tuki", - "discussions": "Keskustelut", - "docs": "Dokumentit", - "changelog": "Muutosloki", - "profile": "Profiili", - "password": "Salasana", - "team": "Tiimi", - "logOut": "Kirjaudu ulos", - "notifications": "", - "logs": "" - }, - "settingsEmailUser": "", - "state": "Tila", - "statusBreadCrumbsStatusPages": "Tilasivut", - "statusBreadCrumbsDetails": "Tiedot", - "commonSaving": "Tallennetaan...", - "navControls": "Ohjaimet", - "incidentsPageTitle": "Häiriöt", - "passwordPanel": { - "passwordChangedSuccess": "Salasanasi vaihdettiin onnistuneesti.", - "passwordInputIncorrect": "", - "currentPassword": "Nykyinen salasana", - "enterCurrentPassword": "Kirjoita nykyinen salasanasi", - "newPassword": "Uusi salasana", - "enterNewPassword": "Kirjoita uusi salasana", - "confirmNewPassword": "Vahvista uusi salasana", - "passwordRequirements": "Uuden salasanan on oltava vähintään 8 merkkiä pitkä ja sen on sisältävä vähintään yksi iso kirjain, yksi pieni kirjain, yksi numero sekä yksi erikoismerkki.", - "saving": "Tallennetaan..." - }, - "emailSent": "Sähköpostin lähetys onnistui", - "failedToSendEmail": "Sähköpostin lähetys epäonnistui", - "settingsTestEmailSuccess": "Testisähköpostin lähetys onnistui", - "settingsTestEmailFailed": "Testisähköpostin lähetys epäonnistui", - "settingsTestEmailFailedWithReason": "Testisähköpostin lähetys epäonnistui: {{reason}}", - "settingsTestEmailUnknownError": "Tuntematon virhe", - "statusMsg": { - "paused": "Valvonta on keskeytetty.", - "up": "Sivusi on ylhäällä.", - "down": "Sivusi on alhaalla.", - "pending": "Odottaa..." - }, - "uptimeGeneralInstructions": { - "http": "", - "ping": "", - "docker": "", - "port": "" - }, - "common": { - "appName": "", - "monitoringAgentName": "", - "buttons": { - "toggleTheme": "" - }, - "toasts": { - "networkError": "", - "checkConnection": "", - "unknownError": "" - } - }, - "auth": { - "common": { - "navigation": { - "continue": "", - "back": "" - }, - "inputs": { - "email": { - "label": "", - "placeholder": "", - "errors": { - "empty": "", - "invalid": "" - } - }, - "password": { - "label": "", - "rules": { - "length": { - "beginning": "", - "highlighted": "" - }, - "special": { - "beginning": "", - "highlighted": "" - }, - "number": { - "beginning": "", - "highlighted": "" - }, - "uppercase": { - "beginning": "", - "highlighted": "" - }, - "lowercase": { - "beginning": "", - "highlighted": "" - }, - "match": { - "beginning": "", - "highlighted": "" - } - }, - "errors": { - "empty": "", - "length": "", - "uppercase": "", - "lowercase": "", - "number": "", - "special": "", - "incorrect": "" - } - }, - "passwordConfirm": { - "label": "", - "placeholder": "", - "errors": { - "empty": "", - "different": "" - } - }, - "firstName": { - "label": "", - "placeholder": "", - "errors": { - "empty": "", - "length": "", - "pattern": "" - } - }, - "lastName": { - "label": "", - "placeholder": "", - "errors": { - "empty": "", - "length": "", - "pattern": "" - } - } - }, - "errors": { - "validation": "" - }, - "fields": { - "password": { - "errors": { - "incorrect": "" - } - } - } - }, - "login": { - "heading": "", - "subheadings": { - "stepOne": "", - "stepTwo": "" - }, - "links": { - "forgotPassword": "", - "register": "", - "forgotPasswordLink": "", - "registerLink": "" - }, - "toasts": { - "success": "", - "incorrectPassword": "" - }, - "errors": { - "password": { - "incorrect": "" - } - } - }, - "registration": { - "heading": { - "superAdmin": "", - "user": "" - }, - "subheadings": { - "stepOne": "", - "stepTwo": "", - "stepThree": "" - }, - "description": { - "superAdmin": "", - "user": "" - }, - "gettingStartedButton": { - "superAdmin": "", - "user": "" - }, - "termsAndPolicies": "", - "links": { - "login": "" - }, - "toasts": { - "success": "" - } - }, - "forgotPassword": { - "heading": "", - "subheadings": { - "stepOne": "", - "stepTwo": "", - "stepThree": "", - "stepFour": "" - }, - "buttons": { - "openEmail": "", - "resetPassword": "" - }, - "imageAlts": { - "passwordKey": "", - "email": "", - "lock": "", - "passwordConfirm": "" - }, - "links": { - "login": "", - "resend": "" - }, - "toasts": { - "sent": "", - "emailNotFound": "", - "redirect": "", - "success": "", - "error": "" - } - } - }, - "errorPages": { - "serverUnreachable": { - "toasts": { - "reconnected": "", - "stillUnreachable": "" - }, - "alertBox": "", - "description": "", - "retryButton": { - "default": "", - "processing": "" - } - } - }, - "createNotifications": { - "title": "", - "nameSettings": { - "title": "", - "description": "", - "nameLabel": "", - "namePlaceholder": "" - }, - "typeSettings": { - "title": "", - "description": "", - "typeLabel": "" - }, - "emailSettings": { - "title": "", - "description": "", - "emailLabel": "", - "emailPlaceholder": "" - }, - "slackSettings": { - "title": "", - "description": "", - "webhookLabel": "", - "webhookPlaceholder": "" - }, - "pagerdutySettings": { - "title": "", - "description": "", - "integrationKeyLabel": "", - "integrationKeyPlaceholder": "" - }, - "discordSettings": { - "title": "", - "description": "", - "webhookLabel": "", - "webhookPlaceholder": "" - }, - "webhookSettings": { - "title": "", - "description": "", - "webhookLabel": "", - "webhookPlaceholder": "" - } - }, - "notificationConfig": { - "title": "", - "description": "" - }, - "monitorStatus": { - "checkingEvery": "", - "withCaptureAgent": "", - "up": "", - "down": "", - "paused": "" - }, - "advancedMatching": "", - "sendTestNotifications": "", - "testNotificationsDisabled": "", - "selectAll": "", - "showAdminLoginLink": "", - "logsPage": { - "title": "", - "description": "", - "tabs": { - "queue": "", - "logs": "" - }, - "toast": { - "fetchLogsSuccess": "" - }, - "logLevelSelect": { - "title": "", - "values": { - "all": "", - "info": "", - "warn": "", - "error": "", - "debug": "" - } - } - }, - "queuePage": { - "title": "", - "refreshButton": "", - "flushButton": "", - "jobTable": { - "title": "", - "idHeader": "", - "urlHeader": "", - "typeHeader": "", - "activeHeader": "", - "lockedAtHeader": "", - "runCountHeader": "", - "failCountHeader": "", - "lastRunHeader": "", - "lastFinishedAtHeader": "", - "lastRunTookHeader": "" - }, - "metricsTable": { - "title": "", - "metricHeader": "", - "valueHeader": "" - }, - "failedJobTable": { - "title": "", - "monitorIdHeader": "", - "monitorUrlHeader": "", - "failCountHeader": "", - "failedAtHeader": "", - "failReasonHeader": "" - } - }, - "export": { - "title": "", - "success": "", - "failed": "" - }, - "monitorActions": { - "title": "", - "import": "", - "export": "" - }, - "settingsPage": { - "aboutSettings": { - "labelDevelopedBy": "", - "labelVersion": "", - "title": "" - }, - "demoMonitorsSettings": { - "buttonAddMonitors": "", - "description": "", - "title": "" - }, - "emailSettings": { - "buttonSendTestEmail": "", - "description": "", - "descriptionTransport": "", - "labelAddress": "", - "labelConnectionHost": "", - "labelHost": "", - "labelIgnoreTLS": "", - "labelPassword": "", - "labelPasswordSet": "", - "labelPool": "", - "labelPort": "", - "labelRejectUnauthorized": "", - "labelRequireTLS": "", - "labelSecure": "", - "labelTLSServername": "", - "labelUser": "", - "linkTransport": "", - "placeholderUser": "", - "title": "" - }, - "pageSpeedSettings": { - "description": "", - "labelApiKeySet": "", - "labelApiKey": "", - "title": "" - }, - "saveButtonLabel": "", - "statsSettings": { - "clearAllStatsButton": "", - "clearAllStatsDescription": "", - "clearAllStatsDialogConfirm": "", - "clearAllStatsDialogDescription": "", - "clearAllStatsDialogTitle": "", - "description": "", - "labelTTL": "", - "labelTTLOptional": "", - "title": "" - }, - "systemResetSettings": { - "buttonRemoveAllMonitors": "", - "description": "", - "dialogConfirm": "", - "dialogDescription": "", - "dialogTitle": "", - "title": "" - }, - "timezoneSettings": { - "description": "", - "label": "", - "title": "" - }, - "title": "", - "uiSettings": { - "description": "", - "labelLanguage": "", - "labelTheme": "", - "title": "" - }, - "urlSettings": { - "description": "", - "label": "", - "selectDisabled": "", - "selectEnabled": "", - "title": "" - } - } -} diff --git a/client/src/locales/fr.json b/client/src/locales/fr.json deleted file mode 100644 index fd2173b7b..000000000 --- a/client/src/locales/fr.json +++ /dev/null @@ -1,836 +0,0 @@ -{ - "submit": "Envoyer", - "title": "Titre", - "distributedStatusHeaderText": "", - "distributedStatusSubHeaderText": "", - "settingsDisabled": "Désactivé", - "settingsSuccessSaved": "", - "settingsFailedToSave": "", - "settingsStatsCleared": "", - "settingsFailedToClearStats": "", - "settingsFailedToAddDemoMonitors": "", - "settingsMonitorsDeleted": "", - "settingsFailedToDeleteMonitors": "", - "starPromptTitle": "", - "starPromptDescription": "", - "https": "", - "http": "", - "monitor": "", - "aboutus": "A propos de nous", - "now": "", - "delete": "Supprimer", - "configure": "", - "responseTime": "", - "ms": "", - "bar": "", - "area": "Zone", - "country": "PAYS", - "city": "VILLE", - "response": "", - "monitorStatusUp": "", - "monitorStatusDown": "", - "webhookSendSuccess": "", - "webhookSendError": "", - "webhookUnsupportedPlatform": "", - "distributedRightCategoryTitle": "Moniteur", - "distributedStatusServerMonitors": "", - "distributedStatusServerMonitorsDescription": "", - "distributedUptimeCreateSelectURL": "", - "distributedUptimeCreateChecks": "", - "distributedUptimeCreateChecksDescription": "", - "distributedUptimeCreateIncidentNotification": "Notifications d'incidents", - "distributedUptimeCreateIncidentDescription": "", - "distributedUptimeCreateAdvancedSettings": "Paramètres avancés", - "distributedUptimeDetailsNoMonitorHistory": "", - "distributedUptimeDetailsStatusHeaderUptime": "", - "distributedUptimeDetailsStatusHeaderLastUpdate": "", - "notifications": { - "enableNotifications": "", - "testNotification": "Notification de test", - "addOrEditNotifications": "Ajouter ou éditer des notifications", - "slack": { - "label": "", - "description": "", - "webhookLabel": "URL du webhook", - "webhookPlaceholder": "", - "webhookRequired": "" - }, - "discord": { - "label": "", - "description": "", - "webhookLabel": "URL du webhook Discord", - "webhookPlaceholder": "", - "webhookRequired": "" - }, - "telegram": { - "label": "", - "description": "", - "tokenLabel": "", - "tokenPlaceholder": "", - "chatIdLabel": "Votre Chat ID", - "chatIdPlaceholder": "-1001234567890", - "fieldsRequired": "" - }, - "webhook": { - "label": "", - "description": "", - "urlLabel": "URL du webhook", - "urlPlaceholder": "https://votre-serveur.fr/webhook", - "urlRequired": "L'URL du webhook est nécessaire" - }, - "testNotificationDevelop": "Notification de test 2", - "integrationButton": "Intégration de notification", - "testSuccess": "La notification de test a été envoyée avec succès !", - "testFailed": "Échec de l'envoi de la notification de test", - "unsupportedType": "", - "networkError": "", - "fallback": { - "title": "", - "checks": [""] - }, - "createButton": "", - "createTitle": "", - "create": { - "success": "", - "failed": "" - }, - "fetch": { - "success": "", - "failed": "" - }, - "delete": { - "success": "", - "failed": "" - }, - "edit": { - "success": "", - "failed": "" - }, - "test": { - "success": "", - "failed": "" - } - }, - "testLocale": "", - "add": "Ajouter", - "monitors": "", - "distributedUptimeStatusCreateStatusPage": "page de statut", - "distributedUptimeStatusCreateStatusPageAccess": "Accès", - "distributedUptimeStatusCreateStatusPageReady": "", - "distributedUptimeStatusBasicInfoHeader": "", - "distributedUptimeStatusBasicInfoDescription": "", - "distributedUptimeStatusLogoHeader": "Logo", - "distributedUptimeStatusLogoDescription": "", - "distributedUptimeStatusLogoUploadButton": "Téléverser un logo", - "distributedUptimeStatusStandardMonitorsHeader": "", - "distributedUptimeStatusStandardMonitorsDescription": "", - "distributedUptimeStatusCreateYour": "", - "distributedUptimeStatusEditYour": "", - "distributedUptimeStatusPublishedLabel": "", - "distributedUptimeStatusCompanyNameLabel": "Nom de l'entreprise", - "distributedUptimeStatusPageAddressLabel": "Adresse de votre page de statut", - "distributedUptimeStatus30Days": "30 jours", - "distributedUptimeStatus60Days": "60 jours", - "distributedUptimeStatus90Days": "90 jours", - "distributedUptimeStatusPageNotSetUp": "", - "distributedUptimeStatusContactAdmin": "Veuillez contacter votre administrateur", - "distributedUptimeStatusPageNotPublic": "Cette page de statut n'est pas publique.", - "distributedUptimeStatusPageDeleteDialog": "Voulez-vous supprimer cette page de statut ?", - "distributedUptimeStatusPageDeleteConfirm": "Oui, supprimer la page de statut", - "distributedUptimeStatusPageDeleteDescription": "Supprimer votre page de statut est irréversible.", - "distributedUptimeStatusDevices": "", - "distributedUptimeStatusUpt": "", - "distributedUptimeStatusUptBurned": "", - "distributedUptimeStatusUptLogo": "", - "incidentsTableNoIncidents": "", - "incidentsTablePaginationLabel": "incidents", - "incidentsTableMonitorName": "", - "incidentsTableStatus": "", - "incidentsTableDateTime": "Date et heure", - "incidentsTableStatusCode": "", - "incidentsTableMessage": "Message", - "incidentsOptionsHeader": "", - "incidentsOptionsHeaderFilterBy": "", - "incidentsOptionsHeaderFilterAll": "", - "incidentsOptionsHeaderFilterDown": "", - "incidentsOptionsHeaderFilterCannotResolve": "", - "incidentsOptionsHeaderShow": "", - "incidentsOptionsHeaderLastHour": "Dernière heure", - "incidentsOptionsHeaderLastDay": "Dernier jour", - "incidentsOptionsHeaderLastWeek": "Dernière semaine", - "incidentsOptionsPlaceholderAllServers": "", - "infrastructureCreateYour": "", - "infrastructureCreateGeneralSettingsDescription": "", - "infrastructureServerRequirement": "", - "infrastructureCustomizeAlerts": "", - "infrastructureAlertNotificationDescription": "", - "infrastructureCreateMonitor": "", - "infrastructureProtocol": "Protocole", - "infrastructureServerUrlLabel": "URL du serveur", - "infrastructureDisplayNameLabel": "", - "infrastructureAuthorizationSecretLabel": "", - "gb": "", - "mb": "", - "mem": "", - "memoryUsage": "", - "cpu": "CPU", - "cpuUsage": "", - "cpuTemperature": "", - "diskUsage": "Utilisation du disque", - "used": "", - "total": "", - "cores": "", - "frequency": "", - "status": "", - "cpuPhysical": "", - "cpuLogical": "", - "cpuFrequency": "Fréquence CPU", - "avgCpuTemperature": "Température moyenne du CPU", - "memory": "", - "disk": "Disque", - "uptime": "", - "os": "", - "host": "", - "actions": "Actions", - "integrations": "Intégrations", - "integrationsPrism": "Connecter Prism à votre service préféré.", - "integrationsSlack": "Slack", - "integrationsSlackInfo": "Connecter à Slack et voir les incidents dans un canal", - "integrationsDiscord": "Discord", - "integrationsDiscordInfo": "Connecter à Discord et voir les incidents dans un canal", - "integrationsZapier": "Zapier", - "integrationsZapierInfo": "Envoyer tous les incidents à Zapier", - "commonSave": "Sauvegarder", - "createYour": "Créez votre", - "createMonitor": "", - "pause": "", - "resume": "", - "editing": "", - "url": "URL", - "access": "Accès", - "timezone": "Fuseau horaire", - "features": "", - "administrator": "Administrateur ?", - "loginHere": "", - "displayName": "Nom d'affichage", - "urlMonitor": "URL à suivre", - "portToMonitor": "", - "websiteMonitoring": "", - "websiteMonitoringDescription": "", - "pingMonitoring": "", - "pingMonitoringDescription": "", - "dockerContainerMonitoring": "", - "dockerContainerMonitoringDescription": "", - "portMonitoring": "", - "portMonitoringDescription": "", - "createMaintenanceWindow": "", - "createMaintenance": "Créer une maintenance", - "editMaintenance": "", - "maintenanceWindowName": "", - "friendlyNameInput": "", - "friendlyNamePlaceholder": "", - "maintenanceRepeat": "", - "maintenance": "", - "duration": "", - "addMonitors": "Ajouter des moniteurs", - "window": "", - "cancel": "Annuler", - "message": "", - "low": "", - "high": "", - "statusCode": "", - "date&Time": "Date et heure", - "type": "", - "statusPageName": "", - "publicURL": "", - "repeat": "", - "edit": "", - "createA": "Créer un", - "remove": "", - "maintenanceWindowDescription": "", - "startTime": "", - "timeZoneInfo": "", - "monitorsToApply": "", - "nextWindow": "", - "notFoundButton": "", - "pageSpeedConfigureSettingsDescription": "", - "monitorDisplayName": "", - "whenNewIncident": "Lors d'un nouvel incident,", - "notifySMS": "", - "notifyEmails": "", - "seperateEmails": "", - "checkFrequency": "Vérifier la fréquence", - "matchMethod": "", - "expectedValue": "", - "deleteDialogTitle": "", - "deleteDialogDescription": "", - "pageSpeedMonitor": "", - "shown": "", - "ago": "depuis", - "companyName": "", - "pageSpeedDetailsPerformanceReport": "", - "pageSpeedDetailsPerformanceReportCalculator": "", - "checkingEvery": "Vérification tous les", - "statusPageCreateSettings": "", - "basicInformation": "", - "statusPageCreateBasicInfoDescription": "", - "statusPageCreateSelectTimeZoneDescription": "", - "statusPageCreateAppearanceDescription": "", - "statusPageCreateSettingsCheckboxLabel": "", - "statusPageCreateBasicInfoStatusPageAddress": "", - "statusPageCreateTabsContent": "", - "statusPageCreateTabsContentDescription": "", - "statusPageCreateTabsContentFeaturesDescription": "", - "showCharts": "", - "showUptimePercentage": "", - "removeLogo": "", - "statusPageStatus": "", - "statusPageStatusContactAdmin": "", - "statusPageStatusNotPublic": "", - "statusPageStatusNoPage": "", - "statusPageStatusServiceStatus": "", - "deleteStatusPage": "", - "deleteStatusPageConfirm": "Oui, supprimer la page de statut", - "deleteStatusPageDescription": "", - "uptimeCreate": "", - "uptimeCreateJsonPath": "", - "uptimeCreateJsonPathQuery": "", - "maintenanceTableActionMenuDialogTitle": "", - "infrastructureEditYour": "", - "infrastructureEditMonitor": "", - "infrastructureMonitorCreated": "", - "infrastructureMonitorUpdated": "", - "errorInvalidTypeId": "", - "errorInvalidFieldId": "", - "inviteNoTokenFound": "", - "pageSpeedWarning": "", - "pageSpeedLearnMoreLink": "", - "pageSpeedAddApiKey": "", - "update": "", - "invalidFileFormat": "Format de fichier non supporté !", - "invalidFileSize": "Le fichier est trop volumineux !", - "ClickUpload": "Cliquez pour téléverser", - "DragandDrop": "", - "MaxSize": "", - "SupportedFormats": "", - "FirstName": "", - "LastName": "", - "EmailDescriptionText": "", - "YourPhoto": "Photo de profil", - "PhotoDescriptionText": "", - "save": "", - "DeleteDescriptionText": "", - "DeleteAccountWarning": "", - "DeleteWarningTitle": "Vous supprimez vraiment ce compte ?", - "bulkImport": { - "title": "", - "selectFileTips": "", - "selectFileDescription": "", - "selectFile": "", - "parsingFailed": "", - "uploadSuccess": "", - "validationFailed": "Echec de la validation", - "noFileSelected": "", - "fallbackPage": "" - }, - "DeleteAccountTitle": "Supprimer le compte", - "DeleteAccountButton": "Supprimer le compte", - "publicLink": "", - "maskedPageSpeedKeyPlaceholder": "", - "reset": "", - "ignoreTLSError": "", - "tlsErrorIgnored": "", - "ignoreTLSErrorDescription": "", - "createNew": "Créer un nouveau", - "greeting": { - "prepend": "", - "append": "L'après-midi est votre libre, rendons-le épique !", - "overview": "" - }, - "roles": { - "superAdmin": "", - "admin": "Admin", - "teamMember": "", - "demoUser": "" - }, - "teamPanel": { - "teamMembers": "Membres de l'équipe", - "filter": { - "all": "Tous", - "member": "" - }, - "inviteTeamMember": "", - "inviteNewTeamMember": "", - "inviteDescription": "", - "email": "Email", - "selectRole": "", - "inviteLink": "Lien d'invitation", - "cancel": "Annuler", - "noMembers": "", - "getToken": "", - "emailToken": "", - "table": { - "name": "", - "email": "Email", - "role": "", - "created": "Créée" - } - }, - "monitorState": { - "paused": "", - "resumed": "", - "active": "Actif" - }, - "menu": { - "uptime": "", - "pagespeed": "", - "infrastructure": "", - "incidents": "", - "statusPages": "", - "maintenance": "", - "integrations": "Intégrations", - "settings": "", - "support": "", - "discussions": "Discussions", - "docs": "", - "changelog": "Changelog", - "profile": "", - "password": "", - "team": "", - "logOut": "Déconnexion", - "notifications": "", - "logs": "" - }, - "settingsEmailUser": "", - "state": "", - "statusBreadCrumbsStatusPages": "", - "statusBreadCrumbsDetails": "", - "commonSaving": "Sauvegarde...", - "navControls": "", - "incidentsPageTitle": "Incidents", - "passwordPanel": { - "passwordChangedSuccess": "Votre mot de passe a été modifié avec succès.", - "passwordInputIncorrect": "La saisie de votre mot de passe est incorrecte.", - "currentPassword": "Mot de passe actuel", - "enterCurrentPassword": "Entrez votre mot de passe actuel", - "newPassword": "Nouveau mot de passe", - "enterNewPassword": "Entrez votre nouveau mot de passe", - "confirmNewPassword": "Confirmer le nouveau mot de passe", - "passwordRequirements": "Le nouveau mot de passe doit contenir au moins 8 caractères et au moins une lettre majuscule, une lettre minuscule, un chiffre et un caractère spécial.", - "saving": "Sauvegarde..." - }, - "emailSent": "", - "failedToSendEmail": "", - "settingsTestEmailSuccess": "", - "settingsTestEmailFailed": "", - "settingsTestEmailFailedWithReason": "", - "settingsTestEmailUnknownError": "Erreur inconnue", - "statusMsg": { - "paused": "", - "up": "", - "down": "", - "pending": "" - }, - "uptimeGeneralInstructions": { - "http": "", - "ping": "", - "docker": "", - "port": "" - }, - "common": { - "appName": "", - "monitoringAgentName": "", - "buttons": { - "toggleTheme": "" - }, - "toasts": { - "networkError": "", - "checkConnection": "", - "unknownError": "" - } - }, - "auth": { - "common": { - "navigation": { - "continue": "", - "back": "" - }, - "inputs": { - "email": { - "label": "", - "placeholder": "", - "errors": { - "empty": "", - "invalid": "" - } - }, - "password": { - "label": "", - "rules": { - "length": { - "beginning": "", - "highlighted": "" - }, - "special": { - "beginning": "", - "highlighted": "" - }, - "number": { - "beginning": "", - "highlighted": "" - }, - "uppercase": { - "beginning": "", - "highlighted": "" - }, - "lowercase": { - "beginning": "", - "highlighted": "" - }, - "match": { - "beginning": "", - "highlighted": "" - } - }, - "errors": { - "empty": "", - "length": "", - "uppercase": "", - "lowercase": "", - "number": "", - "special": "", - "incorrect": "" - } - }, - "passwordConfirm": { - "label": "", - "placeholder": "", - "errors": { - "empty": "", - "different": "" - } - }, - "firstName": { - "label": "", - "placeholder": "", - "errors": { - "empty": "", - "length": "", - "pattern": "" - } - }, - "lastName": { - "label": "", - "placeholder": "", - "errors": { - "empty": "", - "length": "", - "pattern": "" - } - } - }, - "errors": { - "validation": "" - }, - "fields": { - "password": { - "errors": { - "incorrect": "" - } - } - } - }, - "login": { - "heading": "", - "subheadings": { - "stepOne": "", - "stepTwo": "" - }, - "links": { - "forgotPassword": "", - "register": "", - "forgotPasswordLink": "", - "registerLink": "" - }, - "toasts": { - "success": "", - "incorrectPassword": "" - }, - "errors": { - "password": { - "incorrect": "" - } - } - }, - "registration": { - "heading": { - "superAdmin": "", - "user": "" - }, - "subheadings": { - "stepOne": "", - "stepTwo": "", - "stepThree": "" - }, - "description": { - "superAdmin": "", - "user": "" - }, - "gettingStartedButton": { - "superAdmin": "", - "user": "" - }, - "termsAndPolicies": "", - "links": { - "login": "" - }, - "toasts": { - "success": "" - } - }, - "forgotPassword": { - "heading": "", - "subheadings": { - "stepOne": "", - "stepTwo": "", - "stepThree": "", - "stepFour": "" - }, - "buttons": { - "openEmail": "", - "resetPassword": "" - }, - "imageAlts": { - "passwordKey": "", - "email": "", - "lock": "", - "passwordConfirm": "" - }, - "links": { - "login": "", - "resend": "" - }, - "toasts": { - "sent": "", - "emailNotFound": "", - "redirect": "", - "success": "", - "error": "" - } - } - }, - "errorPages": { - "serverUnreachable": { - "toasts": { - "reconnected": "", - "stillUnreachable": "" - }, - "alertBox": "", - "description": "", - "retryButton": { - "default": "", - "processing": "" - } - } - }, - "createNotifications": { - "title": "", - "nameSettings": { - "title": "", - "description": "", - "nameLabel": "", - "namePlaceholder": "" - }, - "typeSettings": { - "title": "", - "description": "", - "typeLabel": "" - }, - "emailSettings": { - "title": "", - "description": "", - "emailLabel": "", - "emailPlaceholder": "" - }, - "slackSettings": { - "title": "", - "description": "", - "webhookLabel": "", - "webhookPlaceholder": "" - }, - "pagerdutySettings": { - "title": "", - "description": "", - "integrationKeyLabel": "", - "integrationKeyPlaceholder": "" - }, - "discordSettings": { - "title": "", - "description": "", - "webhookLabel": "", - "webhookPlaceholder": "" - }, - "webhookSettings": { - "title": "", - "description": "", - "webhookLabel": "", - "webhookPlaceholder": "" - } - }, - "notificationConfig": { - "title": "", - "description": "" - }, - "monitorStatus": { - "checkingEvery": "", - "withCaptureAgent": "", - "up": "", - "down": "", - "paused": "" - }, - "advancedMatching": "", - "sendTestNotifications": "", - "testNotificationsDisabled": "", - "selectAll": "", - "showAdminLoginLink": "", - "logsPage": { - "title": "", - "description": "", - "tabs": { - "queue": "", - "logs": "" - }, - "toast": { - "fetchLogsSuccess": "" - }, - "logLevelSelect": { - "title": "", - "values": { - "all": "", - "info": "", - "warn": "", - "error": "", - "debug": "" - } - } - }, - "queuePage": { - "title": "", - "refreshButton": "", - "flushButton": "", - "jobTable": { - "title": "", - "idHeader": "", - "urlHeader": "", - "typeHeader": "", - "activeHeader": "", - "lockedAtHeader": "", - "runCountHeader": "", - "failCountHeader": "", - "lastRunHeader": "", - "lastFinishedAtHeader": "", - "lastRunTookHeader": "" - }, - "metricsTable": { - "title": "", - "metricHeader": "", - "valueHeader": "" - }, - "failedJobTable": { - "title": "", - "monitorIdHeader": "", - "monitorUrlHeader": "", - "failCountHeader": "", - "failedAtHeader": "", - "failReasonHeader": "" - } - }, - "export": { - "title": "", - "success": "", - "failed": "" - }, - "monitorActions": { - "title": "", - "import": "", - "export": "" - }, - "settingsPage": { - "aboutSettings": { - "labelDevelopedBy": "", - "labelVersion": "", - "title": "" - }, - "demoMonitorsSettings": { - "buttonAddMonitors": "", - "description": "", - "title": "" - }, - "emailSettings": { - "buttonSendTestEmail": "", - "description": "", - "descriptionTransport": "", - "labelAddress": "", - "labelConnectionHost": "", - "labelHost": "", - "labelIgnoreTLS": "", - "labelPassword": "", - "labelPasswordSet": "", - "labelPool": "", - "labelPort": "", - "labelRejectUnauthorized": "", - "labelRequireTLS": "", - "labelSecure": "", - "labelTLSServername": "", - "labelUser": "", - "linkTransport": "", - "placeholderUser": "", - "title": "" - }, - "pageSpeedSettings": { - "description": "", - "labelApiKeySet": "", - "labelApiKey": "", - "title": "" - }, - "saveButtonLabel": "", - "statsSettings": { - "clearAllStatsButton": "", - "clearAllStatsDescription": "", - "clearAllStatsDialogConfirm": "", - "clearAllStatsDialogDescription": "", - "clearAllStatsDialogTitle": "", - "description": "", - "labelTTL": "", - "labelTTLOptional": "", - "title": "" - }, - "systemResetSettings": { - "buttonRemoveAllMonitors": "", - "description": "", - "dialogConfirm": "", - "dialogDescription": "", - "dialogTitle": "", - "title": "" - }, - "timezoneSettings": { - "description": "", - "label": "", - "title": "" - }, - "title": "", - "uiSettings": { - "description": "", - "labelLanguage": "", - "labelTheme": "", - "title": "" - }, - "urlSettings": { - "description": "", - "label": "", - "selectDisabled": "", - "selectEnabled": "", - "title": "" - } - } -} diff --git a/client/src/locales/ar.json b/client/src/locales/ja.json similarity index 100% rename from client/src/locales/ar.json rename to client/src/locales/ja.json diff --git a/client/src/locales/es.json b/client/src/locales/uk.json similarity index 99% rename from client/src/locales/es.json rename to client/src/locales/uk.json index 0db51b102..b3b8fc4ce 100644 --- a/client/src/locales/es.json +++ b/client/src/locales/uk.json @@ -1,6 +1,6 @@ { - "submit": "Enviar", - "title": "Titulo", + "submit": "", + "title": "", "distributedStatusHeaderText": "", "distributedStatusSubHeaderText": "", "settingsDisabled": "", diff --git a/client/src/locales/cs.json b/client/src/locales/vi.json similarity index 74% rename from client/src/locales/cs.json rename to client/src/locales/vi.json index 2bb03f5ad..b3b8fc4ce 100644 --- a/client/src/locales/cs.json +++ b/client/src/locales/vi.json @@ -1,11 +1,11 @@ { - "submit": "Odeslat", + "submit": "", "title": "", "distributedStatusHeaderText": "", "distributedStatusSubHeaderText": "", - "settingsDisabled": "Vypnuto", - "settingsSuccessSaved": "Nastavení bylo úspěšně uloženo", - "settingsFailedToSave": "Nepodařilo se uložit nastavení", + "settingsDisabled": "", + "settingsSuccessSaved": "", + "settingsFailedToSave": "", "settingsStatsCleared": "", "settingsFailedToClearStats": "", "settingsFailedToAddDemoMonitors": "", @@ -438,99 +438,99 @@ "port": "" }, "common": { - "appName": "Checkmate", - "monitoringAgentName": "Capture", + "appName": "", + "monitoringAgentName": "", "buttons": { - "toggleTheme": "Přepnout mezi světlým a tmavým motivem" + "toggleTheme": "" }, "toasts": { - "networkError": "Chyba připojení k síti", - "checkConnection": "Zkontrolujte prosím své připojení k síti", - "unknownError": "Nastala neznámá chyba" + "networkError": "", + "checkConnection": "", + "unknownError": "" } }, "auth": { "common": { "navigation": { - "continue": "Pokračovat", - "back": "Zpět" + "continue": "", + "back": "" }, "inputs": { "email": { - "label": "E-mail", - "placeholder": "jan.novak@domena.cz", + "label": "", + "placeholder": "", "errors": { - "empty": "Zadejte prosím e-mailovou adresu", - "invalid": "Překontrolujte si prosím správnost zadané e-mailové adresy" + "empty": "", + "invalid": "" } }, "password": { - "label": "Heslo", + "label": "", "rules": { "length": { - "beginning": "Heslo musí být dlouhé alespoň", - "highlighted": "8 znaků" + "beginning": "", + "highlighted": "" }, "special": { - "beginning": "Heslo musí obsahovat alespoň", - "highlighted": "1 speciální znak" + "beginning": "", + "highlighted": "" }, "number": { - "beginning": "Heslo musí obsahovat alespoň", - "highlighted": "1 číslo" + "beginning": "", + "highlighted": "" }, "uppercase": { - "beginning": "Heslo musí obsahovat alespoň", - "highlighted": "1 velké písmeno" + "beginning": "", + "highlighted": "" }, "lowercase": { - "beginning": "Heslo musí obsahovat alespoň", - "highlighted": "1 malé písmeno" + "beginning": "", + "highlighted": "" }, "match": { - "beginning": "Obě hesla se", - "highlighted": "musí shodovat" + "beginning": "", + "highlighted": "" } }, "errors": { - "empty": "Zadejte prosím heslo", - "length": "Heslo musí být dlouhé alespoň 8 znaků", - "uppercase": "Heslo musí obsahovat alespoň 1 velké písmeno", - "lowercase": "Heslo musí obsahovat alespoň 1 malé písmeno", - "number": "Heslo musí obsahovat alespoň 1 číslo", - "special": "Heslo musí obsahovat alespoň 1 speciální znak", - "incorrect": "Zadané heslo neodpovídá tomu, co bylo nastaveno" + "empty": "", + "length": "", + "uppercase": "", + "lowercase": "", + "number": "", + "special": "", + "incorrect": "" } }, "passwordConfirm": { - "label": "Potvrzení hesla", - "placeholder": "Pro ověření správnosti zadejte heslo ještě jednou", + "label": "", + "placeholder": "", "errors": { - "empty": "Zadejte prosím své heslo ještě jednou, aby mohla být potvrzena jeho správnost (odhalí překlepy)", - "different": "Zadaná hesla se liší, takže je nejspíše jedno z nich špatně zapsané" + "empty": "", + "different": "" } }, "firstName": { - "label": "Jméno", - "placeholder": "Jan", + "label": "", + "placeholder": "", "errors": { - "empty": "Zadejte prosím své křestní jméno", - "length": "Jméno se musí vejít do 50 znaků", - "pattern": "Součástí jména mohou být pouze písmena, mezery apostrofy nebo spojovníky" + "empty": "", + "length": "", + "pattern": "" } }, "lastName": { - "label": "Příjmení", - "placeholder": "Novák", + "label": "", + "placeholder": "", "errors": { - "empty": "Zadejte prosím své příjmení", - "length": "Příjmení se musí vejít do 50 znaků", - "pattern": "Součástí příjmení mohou být pouze písmena, mezery apostrofy nebo spojovníky" + "empty": "", + "length": "", + "pattern": "" } } }, "errors": { - "validation": "Nastala chyba při ověřování dat." + "validation": "" }, "fields": { "password": { @@ -541,20 +541,20 @@ } }, "login": { - "heading": "Přihlášení", + "heading": "", "subheadings": { - "stepOne": "Zadejte svůj e-mail", - "stepTwo": "Zadejte své heslo" + "stepOne": "", + "stepTwo": "" }, "links": { - "forgotPassword": "Zapomněli jste heslo? Obnovte si ho", - "register": "Ještě nemáte účet? Zaregistrujte se", + "forgotPassword": "", + "register": "", "forgotPasswordLink": "", "registerLink": "" }, "toasts": { - "success": "Vítejte zpět", - "incorrectPassword": "Nesprávné heslo" + "success": "", + "incorrectPassword": "" }, "errors": { "password": { @@ -564,72 +564,72 @@ }, "registration": { "heading": { - "superAdmin": "Vytvoření superadministrátora", - "user": "Registrace" + "superAdmin": "", + "user": "" }, "subheadings": { - "stepOne": "Zadejte své osobní údaje", - "stepTwo": "Zadejte svůj e-mail", - "stepThree": "Nastavte si heslo" + "stepOne": "", + "stepTwo": "", + "stepThree": "" }, "description": { - "superAdmin": "Pro začátek vytvořte účet superadministrátora", - "user": "Zaregistrujte se jako uživatel a požádejte svého superadministrátora, aby vám přidělil oprávnění k hlídačům" + "superAdmin": "", + "user": "" }, "gettingStartedButton": { - "superAdmin": "Vytvořit účet superadministrátora", - "user": "Zaregistrovat se jako běžný uživatel" + "superAdmin": "", + "user": "" }, - "termsAndPolicies": "Vytvořením účtu souhlasíte s našimi Podmínkami použití (anglicky) a Podmínkami zpracování osobních údajů (anglicky).", + "termsAndPolicies": "", "links": { - "login": "Máte již vytvořený účet? Přihlašte se" + "login": "" }, "toasts": { - "success": "Vítejte! Váš účet byl úspěšně vytvořen." + "success": "" } }, "forgotPassword": { - "heading": "Zapomenuté heslo", + "heading": "", "subheadings": { - "stepOne": "Nebojte se, zašleme vám pokyny pro obnovení hesla.", - "stepTwo": "Odkaz pro obnovení hesla byl odeslán na ", - "stepThree": "Nové heslo se musí lišit od těch, které jste již použili.", - "stepFour": "Heslo bylo úspěšně obnoveno. Klepněte na tlačítko a dojde k čarovnému přihlášení." + "stepOne": "", + "stepTwo": "", + "stepThree": "", + "stepFour": "" }, "buttons": { - "openEmail": "Otevřít e-mailovou aplikaci", - "resetPassword": "Obnovit heslo" + "openEmail": "", + "resetPassword": "" }, "imageAlts": { - "passwordKey": "Ikonka přístupového klíče", - "email": "Ikonka e-mailu", - "lock": "Ikonka zámku", - "passwordConfirm": "Ikonka potvrzeného hesla" + "passwordKey": "", + "email": "", + "lock": "", + "passwordConfirm": "" }, "links": { - "login": "Vrátit se k Přihlášení", - "resend": "Nedorazil vám e-mail? Klepněte pro opětovné zaslání" + "login": "", + "resend": "" }, "toasts": { - "sent": "Instrukce vám dorazí na .", - "emailNotFound": "Nepodařilo se nalézt e-mailovou adresu.", - "redirect": "Přesměrování proběhne za ...", - "success": "Heslo bylo úspěšně obnoveno.", - "error": "Obnova hesla se nepodařila. Zkuste to prosím znovu nebo kontaktujte podporu." + "sent": "", + "emailNotFound": "", + "redirect": "", + "success": "", + "error": "" } } }, "errorPages": { "serverUnreachable": { "toasts": { - "reconnected": "Podařilo se úspěšně obnovit spojení se serverem", - "stillUnreachable": "Server je stále nedosažitelný. Zkuste to prosím později." + "reconnected": "", + "stillUnreachable": "" }, - "alertBox": "Chyba připojení k serveru", - "description": "Nepodařilo se připojit k serveru. Zkontrolujte si prosím internetové připojení a pokud problém přetrvává, ověřte konfiguraci aplikace Checkmate.", + "alertBox": "", + "description": "", "retryButton": { - "default": "Zkusit se znovu připojit", - "processing": "Probíhá připojování…" + "default": "", + "processing": "" } } }, From b2fdb11195328c07688deec6f53fbfc21f02f0af Mon Sep 17 00:00:00 2001 From: karenvicent Date: Tue, 22 Jul 2025 12:47:29 -0400 Subject: [PATCH 4/5] run format --- client/src/Components/Fallback/FallbackContainer.jsx | 4 ++-- client/src/Components/LanguageSelector.jsx | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/client/src/Components/Fallback/FallbackContainer.jsx b/client/src/Components/Fallback/FallbackContainer.jsx index 5d14b495d..65d927190 100644 --- a/client/src/Components/Fallback/FallbackContainer.jsx +++ b/client/src/Components/Fallback/FallbackContainer.jsx @@ -15,13 +15,13 @@ const FallbackContainer = ({ children, type }) => { display: "flex", borderStyle: "dashed", height: "fit-content", - minHeight: theme.spacing(280), + minHeight: "60vh", width: { sm: "90%", md: "70%", lg: "50%", + xl: "40%", }, - maxWidth: theme.spacing(250), padding: `${theme.spacing(20)} ${theme.spacing(10)}`, }} > diff --git a/client/src/Components/LanguageSelector.jsx b/client/src/Components/LanguageSelector.jsx index 57d102a9e..56a9a898d 100644 --- a/client/src/Components/LanguageSelector.jsx +++ b/client/src/Components/LanguageSelector.jsx @@ -6,7 +6,6 @@ import { useSelector } from "react-redux"; import { useDispatch } from "react-redux"; import { setLanguage } from "../Features/UI/uiSlice"; - const langMap = { cs: "cz", ja: "jp", From 22d17708cd55e1215976b0afdfeef70d4b9d7a02 Mon Sep 17 00:00:00 2001 From: karenvicent Date: Tue, 22 Jul 2025 16:46:43 -0400 Subject: [PATCH 5/5] format --- client/src/Components/LanguageSelector.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/client/src/Components/LanguageSelector.jsx b/client/src/Components/LanguageSelector.jsx index 57d102a9e..56a9a898d 100644 --- a/client/src/Components/LanguageSelector.jsx +++ b/client/src/Components/LanguageSelector.jsx @@ -6,7 +6,6 @@ import { useSelector } from "react-redux"; import { useDispatch } from "react-redux"; import { setLanguage } from "../Features/UI/uiSlice"; - const langMap = { cs: "cz", ja: "jp",