Merge pull request #2255 from bluewave-labs/Fix-untranslated-strings
Fix untranslated strings
This commit is contained in:
9 files changed
+127
-58
No files matched your search
@@ -2,6 +2,7 @@ import PropTypes from "prop-types";
|
||||
import { Button, Stack } from "@mui/material";
|
||||
import { GenericDialog } from "./genericDialog";
|
||||
import { useTheme } from "@emotion/react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
const Dialog = ({
|
||||
title,
|
||||
@@ -13,6 +14,7 @@ const Dialog = ({
|
||||
isLoading,
|
||||
}) => {
|
||||
const theme = useTheme();
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<GenericDialog
|
||||
@@ -33,7 +35,7 @@ const Dialog = ({
|
||||
color="secondary"
|
||||
onClick={onCancel}
|
||||
>
|
||||
Cancel
|
||||
{t("cancel", "Cancel")}
|
||||
</Button>
|
||||
<Button
|
||||
variant="contained"
|
||||
|
||||
@@ -747,7 +747,7 @@ function Sidebar() {
|
||||
>
|
||||
<ThemeSwitch color={iconColor} />
|
||||
<Tooltip
|
||||
title="Controls"
|
||||
title={t("navControls")}
|
||||
disableInteractive
|
||||
>
|
||||
<IconButton
|
||||
@@ -861,7 +861,7 @@ function Sidebar() {
|
||||
}}
|
||||
>
|
||||
<LogoutSvg />
|
||||
Log out
|
||||
{t("menu.logOut", "Log out")}
|
||||
</MenuItem>
|
||||
</Menu>
|
||||
</Stack>
|
||||
|
||||
@@ -94,7 +94,7 @@ const PasswordPanel = () => {
|
||||
const action = await dispatch(update({ localData }));
|
||||
if (action.payload.success) {
|
||||
createToast({
|
||||
body: "Your password was changed successfully.",
|
||||
body: t("passwordPanel.passwordChangedSuccess", "Your password was changed successfully."),
|
||||
});
|
||||
setLocalData({
|
||||
password: "",
|
||||
@@ -104,7 +104,7 @@ const PasswordPanel = () => {
|
||||
} else {
|
||||
// TODO: Check for other errors?
|
||||
createToast({
|
||||
body: "Your password input was incorrect.",
|
||||
body: t("passwordPanel.passwordInputIncorrect", "Your password input was incorrect."),
|
||||
});
|
||||
setErrors({ password: "*" + action.payload.msg + "." });
|
||||
}
|
||||
@@ -148,12 +148,12 @@ const PasswordPanel = () => {
|
||||
component="h1"
|
||||
width="20ch"
|
||||
>
|
||||
Current password
|
||||
{t("passwordPanel.currentPassword", "Current password")}
|
||||
</Typography>
|
||||
<TextInput
|
||||
type="password"
|
||||
id="edit-current-password"
|
||||
placeholder="Enter your current password"
|
||||
placeholder={t("passwordPanel.enterCurrentPassword", "Enter your current password")}
|
||||
autoComplete="current-password"
|
||||
value={localData.password}
|
||||
onChange={handleChange}
|
||||
@@ -173,13 +173,13 @@ const PasswordPanel = () => {
|
||||
component="h1"
|
||||
width="20ch"
|
||||
>
|
||||
New password
|
||||
{t("passwordPanel.newPassword", "New password")}
|
||||
</Typography>
|
||||
|
||||
<TextInput
|
||||
type="password"
|
||||
id="edit-new-password"
|
||||
placeholder="Enter your new password"
|
||||
placeholder={t("passwordPanel.enterNewPassword", "Enter your new password")}
|
||||
autoComplete="new-password"
|
||||
value={localData.newPassword}
|
||||
onChange={handleChange}
|
||||
@@ -199,13 +199,13 @@ const PasswordPanel = () => {
|
||||
component="h1"
|
||||
width="20ch"
|
||||
>
|
||||
Confirm new password
|
||||
{t("passwordPanel.confirmNewPassword", "Confirm new password")}
|
||||
</Typography>
|
||||
|
||||
<TextInput
|
||||
type="password"
|
||||
id="edit-confirm-password"
|
||||
placeholder={t("confirmPassword")}
|
||||
placeholder={t("confirmPassword", "Confirm password")}
|
||||
autoComplete="new-password"
|
||||
value={localData.confirm}
|
||||
onChange={handleChange}
|
||||
@@ -219,7 +219,7 @@ const PasswordPanel = () => {
|
||||
<Box sx={{ maxWidth: "70ch" }}>
|
||||
<Alert
|
||||
variant="warning"
|
||||
body="New password must contain at least 8 characters and must have at least one uppercase letter, one lowercase letter, one number and one special character."
|
||||
body={t("passwordPanel.passwordRequirements", "New password must contain at least 8 characters and must have at least one uppercase letter, one lowercase letter, one number and one special character.")}
|
||||
/>
|
||||
</Box>
|
||||
)}
|
||||
@@ -232,7 +232,7 @@ const PasswordPanel = () => {
|
||||
color="accent"
|
||||
type="submit"
|
||||
loading={isLoading}
|
||||
loadingIndicator="Saving..."
|
||||
loadingIndicator={t("commonSaving", "Saving...")}
|
||||
disabled={
|
||||
Object.keys(errors).length > 0 ||
|
||||
Object.values(localData).filter((value) => value === "").length > 0
|
||||
@@ -242,7 +242,7 @@ const PasswordPanel = () => {
|
||||
mt: theme.spacing(20),
|
||||
}}
|
||||
>
|
||||
Save
|
||||
{t("commonSave", "Save")}
|
||||
</Button>
|
||||
</Stack>
|
||||
</Stack>
|
||||
|
||||
@@ -8,6 +8,7 @@ import TabContext from "@mui/lab/TabContext";
|
||||
import ProfilePanel from "../../Components/TabPanels/Account/ProfilePanel";
|
||||
import PasswordPanel from "../../Components/TabPanels/Account/PasswordPanel";
|
||||
import TeamPanel from "../../Components/TabPanels/Account/TeamPanel";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import "./index.css";
|
||||
|
||||
/**
|
||||
@@ -24,24 +25,34 @@ const Account = ({ open = "profile" }) => {
|
||||
navigate(`/account/${newTab}`);
|
||||
};
|
||||
const { user } = useSelector((state) => state.auth);
|
||||
const { t } = useTranslation();
|
||||
|
||||
const requiredRoles = ["superadmin", "admin"];
|
||||
let tabList = ["Profile", "Password", "Team"];
|
||||
let tabList = [
|
||||
{ name: t("menu.profile"), value: "profile" },
|
||||
{ name: t("menu.password"), value: "password" },
|
||||
{ name: t("menu.team"), value: "team" }
|
||||
];
|
||||
const hideTeams = !requiredRoles.some((role) => user.role.includes(role));
|
||||
if (hideTeams) {
|
||||
tabList = ["Profile", "Password"];
|
||||
tabList = [
|
||||
{ name: t("menu.profile"), value: "profile" },
|
||||
{ name: t("menu.password"), value: "password" }
|
||||
];
|
||||
}
|
||||
|
||||
// Remove password for demo
|
||||
if (user.role.includes("demo")) {
|
||||
tabList = ["Profile"];
|
||||
tabList = [
|
||||
{ name: t("menu.profile"), value: "profile" }
|
||||
];
|
||||
}
|
||||
|
||||
const handleKeyDown = (event) => {
|
||||
const currentIndex = tabList.findIndex((label) => label.toLowerCase() === tab);
|
||||
const currentIndex = tabList.findIndex((item) => item.value === tab);
|
||||
if (event.key === "Tab") {
|
||||
const nextIndex = (currentIndex + 1) % tabList.length;
|
||||
setFocusedTab(tabList[nextIndex].toLowerCase());
|
||||
setFocusedTab(tabList[nextIndex].value);
|
||||
} else if (event.key === "Enter") {
|
||||
event.preventDefault();
|
||||
navigate(`/account/${focusedTab}`);
|
||||
@@ -60,13 +71,13 @@ const Account = ({ open = "profile" }) => {
|
||||
>
|
||||
<TabContext value={tab}>
|
||||
<CustomTabList value={tab} onChange={handleTabChange} aria-label="account tabs">
|
||||
{tabList.map((label, index) => (
|
||||
{tabList.map((item, index) => (
|
||||
<Tab
|
||||
label={label}
|
||||
label={item.name}
|
||||
key={index}
|
||||
value={label.toLowerCase()}
|
||||
value={item.value}
|
||||
onKeyDown={handleKeyDown}
|
||||
onFocus={() => handleFocus(label.toLowerCase())}
|
||||
onFocus={() => handleFocus(item.value)}
|
||||
tabIndex={index}
|
||||
/>
|
||||
))}
|
||||
|
||||
@@ -166,7 +166,7 @@ const ForgotPassword = () => {
|
||||
</IconBox>
|
||||
</Stack>
|
||||
<Typography component="h1">{t("authForgotPasswordTitle")}</Typography>
|
||||
<Typography>No worries, we'll send you reset instructions.</Typography>
|
||||
<Typography>{t("authForgotPasswordInstructions")}</Typography>
|
||||
</Box>
|
||||
<Box
|
||||
component="form"
|
||||
@@ -179,9 +179,9 @@ const ForgotPassword = () => {
|
||||
<TextInput
|
||||
type="email"
|
||||
id="forgot-password-email-input"
|
||||
label="Email"
|
||||
label={t("email")}
|
||||
isRequired={true}
|
||||
placeholder="Enter your email"
|
||||
placeholder={t("enterEmail")}
|
||||
value={form.email}
|
||||
onChange={handleChange}
|
||||
error={errors.email ? true : false}
|
||||
|
||||
@@ -11,12 +11,15 @@ import { useState } from "react";
|
||||
import IncidentTable from "./Components/IncidentTable";
|
||||
import GenericFallback from "../../Components/GenericFallback";
|
||||
import NetworkError from "../../Components/GenericFallback/NetworkError";
|
||||
import { useTranslation } from "react-i18next";
|
||||
//Constants
|
||||
const BREADCRUMBS = [{ name: `Incidents`, path: "/incidents" }];
|
||||
|
||||
const Incidents = () => {
|
||||
// Redux state
|
||||
const { user } = useSelector((state) => state.auth);
|
||||
const { t } = useTranslation();
|
||||
|
||||
const BREADCRUMBS = [{ name: t("incidentsPageTitle", "Incidents"), path: "/incidents" }];
|
||||
|
||||
// Local state
|
||||
const [selectedMonitor, setSelectedMonitor] = useState("0");
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
"commonBack": "Back",
|
||||
"authForgotPasswordTitle": "Forgot password?",
|
||||
"authForgotPasswordResetPassword": "Reset password",
|
||||
"authForgotPasswordInstructions": "No worries, we'll send you reset instructions.",
|
||||
"createPassword": "Create your password",
|
||||
"createAPassword": "Password",
|
||||
"authRegisterAlreadyHaveAccount": "Already have an account?",
|
||||
@@ -71,6 +72,8 @@
|
||||
"settingsAppearance": "Appearance",
|
||||
"settingsAppearanceDescription": "Switch between light and dark mode, or change user interface language",
|
||||
"settingsThemeMode": "Theme Mode",
|
||||
"settingsThemeModeLight": "Light",
|
||||
"settingsThemeModeDark": "Dark",
|
||||
"settingsLanguage": "Language",
|
||||
"settingsDistributedUptime": "Distributed uptime",
|
||||
"settingsDistributedUptimeDescription": "Enable/disable distributed uptime monitoring.",
|
||||
@@ -85,6 +88,7 @@
|
||||
"settingsClearAllStatsDialogTitle": "Do you want to clear all stats?",
|
||||
"settingsClearAllStatsDialogDescription": "Once removed, the monitoring history and stats cannot be retrieved.",
|
||||
"settingsClearAllStatsDialogConfirm": "Yes, clear all stats",
|
||||
"settingsClearAllStatsDialogCancel": "Cancel",
|
||||
"settingsDemoMonitors": "Demo monitors",
|
||||
"settingsDemoMonitorsDescription": "Add sample monitors for demonstration purposes.",
|
||||
"settingsAddDemoMonitors": "Adding demo monitors",
|
||||
@@ -299,6 +303,7 @@
|
||||
"integrationsZapier": "Zapier",
|
||||
"integrationsZapierInfo": "Send all incidents to Zapier, and then see them everywhere",
|
||||
"commonSave": "Save",
|
||||
"commonSaving": "Saving...",
|
||||
"createYour": "Create your",
|
||||
"createMonitor": "Create monitor",
|
||||
"pause": "Pause",
|
||||
@@ -500,7 +505,7 @@
|
||||
"uptime": "Uptime",
|
||||
"pagespeed": "Pagespeed",
|
||||
"infrastructure": "Infrastructure",
|
||||
"distributedUptime": "Distributed uptime",
|
||||
"distributedUptime": "Distributed Uptime",
|
||||
"incidents": "Incidents",
|
||||
"statusPages": "Status pages",
|
||||
"maintenance": "Maintenance",
|
||||
@@ -512,6 +517,23 @@
|
||||
"changelog": "Changelog",
|
||||
"profile": "Profile",
|
||||
"password": "Password",
|
||||
"team": "Team"
|
||||
}
|
||||
"team": "Team",
|
||||
"logOut": "Log out"
|
||||
},
|
||||
"navControls": "Controls",
|
||||
"statusBreadCrumbsStatusPages": "Status Pages",
|
||||
"statusBreadCrumbsDetails": "Details",
|
||||
"incidentsPageTitle": "Incidents",
|
||||
"passwordPanel": {
|
||||
"passwordChangedSuccess": "Your password was changed successfully.",
|
||||
"passwordInputIncorrect": "Your password input was incorrect.",
|
||||
"currentPassword": "Current password",
|
||||
"enterCurrentPassword": "Enter your current password",
|
||||
"newPassword": "New password",
|
||||
"enterNewPassword": "Enter your new password",
|
||||
"confirmNewPassword": "Confirm new password",
|
||||
"passwordRequirements": "New password must contain at least 8 characters and must have at least one uppercase letter, one lowercase letter, one number and one special character.",
|
||||
"saving": "Saving..."
|
||||
},
|
||||
"uptimeCreateSelectURL": "Enter the URL or IP to monitor (e.g., https://example.com/ or 192.168.1.100) and add a clear display name that appears on the dashboard."
|
||||
}
|
||||
+29
-20
@@ -16,6 +16,7 @@
|
||||
"commonBack": "Назад",
|
||||
"authForgotPasswordTitle": "Забыли пароль?",
|
||||
"authForgotPasswordResetPassword": "Сбросить пароль",
|
||||
"authForgotPasswordInstructions": "Не волнуйтесь, мы отправим вам инструкции по сбросу.",
|
||||
"createPassword": "Создайте свой пароль",
|
||||
"createAPassword": "Пароль",
|
||||
"authRegisterAlreadyHaveAccount": "Уже есть аккаунт?",
|
||||
@@ -85,6 +86,8 @@
|
||||
"settingsAppearance": "Внешний вид",
|
||||
"settingsAppearanceDescription": "Переключение между светлым и темным режимом или изменение языка пользовательского интерфейса",
|
||||
"settingsThemeMode": "Тема",
|
||||
"settingsThemeModeLight": "Светлая",
|
||||
"settingsThemeModeDark": "Тёмная",
|
||||
"settingsLanguage": "Язык",
|
||||
"settingsDistributedUptime": "Distributed uptime",
|
||||
"settingsDistributedUptimeDescription": "Включить/выключить distributed uptime monitoring.",
|
||||
@@ -99,6 +102,7 @@
|
||||
"settingsClearAllStatsDialogTitle": "Хотите очистить всю статистику?",
|
||||
"settingsClearAllStatsDialogDescription": "После удаления история мониторинга и статистика не могут быть восстановлены.",
|
||||
"settingsClearAllStatsDialogConfirm": "Да, очистить всю статистику",
|
||||
"settingsClearAllStatsDialogCancel": "Отмена",
|
||||
"settingsDemoMonitors": "Демо мониторы",
|
||||
"settingsDemoMonitorsDescription": "Добавьте примеры мониторов для демонстрации.",
|
||||
"settingsAddDemoMonitors": "Добавление демонстрационных мониторов",
|
||||
@@ -114,6 +118,8 @@
|
||||
"settingsAbout": "О",
|
||||
"settingsDevelopedBy": "Developed by Bluewave Labs.",
|
||||
"settingsSave": "Сохранить",
|
||||
"commonSave": "Сохранить",
|
||||
"commonSaving": "Сохранение...",
|
||||
"settingsSuccessSaved": "Настройки успешно сохранены",
|
||||
"settingsFailedToSave": "Не удалось сохранить настройки",
|
||||
"settingsStatsCleared": "Статистика успешно очищена",
|
||||
@@ -306,7 +312,6 @@
|
||||
"integrationsDiscordInfo": "Подключитесь к Discord и просматривайте инциденты прямо в канале",
|
||||
"integrationsZapier": "Zapier",
|
||||
"integrationsZapierInfo": "Отправляйте все инциденты в Zapier, и тогда вы сможете видеть их везде",
|
||||
"commonSave": "",
|
||||
"createYour": "",
|
||||
"createMonitor": "",
|
||||
"pause": "",
|
||||
@@ -326,19 +331,6 @@
|
||||
"pingMonitoring": "",
|
||||
"pingMonitoringDescription": "",
|
||||
"dockerContainerMonitoring": "",
|
||||
"dockerContainerMonitoringDescription": "",
|
||||
"portMonitoring": "",
|
||||
"portMonitoringDescription": "",
|
||||
"createMaintenanceWindow": "",
|
||||
"createMaintenance": "",
|
||||
"editMaintenance": "",
|
||||
"maintenanceWindowName": "",
|
||||
"friendlyNameInput": "",
|
||||
"friendlyNamePlaceholder": "",
|
||||
"maintenanceRepeat": "",
|
||||
"maintenance": "",
|
||||
"duration": "",
|
||||
"addMonitors": "",
|
||||
"window": "",
|
||||
"cancel": "",
|
||||
"message": "",
|
||||
@@ -402,6 +394,18 @@
|
||||
"uptimeCreateJsonPath": "",
|
||||
"uptimeCreateJsonPathQuery": "",
|
||||
"maintenanceTableActionMenuDialogTitle": "",
|
||||
"incidentsPageTitle": "Инциденты",
|
||||
"passwordPanel": {
|
||||
"passwordChangedSuccess": "Ваш пароль был успешно изменен.",
|
||||
"passwordInputIncorrect": "Ваш пароль введен неверно.",
|
||||
"currentPassword": "Текущий пароль",
|
||||
"enterCurrentPassword": "Введите ваш текущий пароль",
|
||||
"newPassword": "Новый пароль",
|
||||
"enterNewPassword": "Введите ваш новый пароль",
|
||||
"confirmNewPassword": "Подтвердите новый пароль",
|
||||
"passwordRequirements": "Новый пароль должен содержать не менее 8 символов и должен иметь как минимум одну заглавную букву, одну строчную букву, одну цифру и один специальный символ.",
|
||||
"saving": "Сохранение..."
|
||||
},
|
||||
"pageSpeedWarning": "Предупреждение: Вы не добавили ключ API Google PageSpeed. Без него монитор PageSpeed не будет работать.",
|
||||
"pageSpeedLearnMoreLink": "Нажмите здесь, чтобы узнать",
|
||||
"pageSpeedAddApiKey": "как добавить ваш ключ API.",
|
||||
@@ -454,18 +458,23 @@
|
||||
"uptime": "Аптайм",
|
||||
"pagespeed": "Скорость страницы",
|
||||
"infrastructure": "Инфраструктура",
|
||||
"distributedUptime": "Распределенный аптайм",
|
||||
"distributedUptime": "Распределенный Аптайм",
|
||||
"incidents": "Инциденты",
|
||||
"statusPages": "Страницы статуса",
|
||||
"maintenance": "Обслуживание",
|
||||
"integrations": "Интеграции",
|
||||
"settings": "Настройки",
|
||||
"support": "Поддержка",
|
||||
"discussions": "Обсуждения",
|
||||
"docs": "Документация",
|
||||
"changelog": "История изменений",
|
||||
"profile": "Профиль",
|
||||
"password": "Пароль",
|
||||
"team": "Команда"
|
||||
}
|
||||
"team": "Команда",
|
||||
"logOut": "Выйти",
|
||||
"discussions": "Обсуждения",
|
||||
"docs": "Документация",
|
||||
"changelog": "История изменений"
|
||||
},
|
||||
"navControls": "Управление",
|
||||
"statusBreadCrumbsStatusPages": "Страницы статуса",
|
||||
"statusBreadCrumbsDetails": "Подробности",
|
||||
"uptimeCreateSelectURL": "Введите URL или IP для мониторинга (например, https://example.com/ или 192.168.1.100) и добавьте понятное отображаемое имя, которое будет показано на панели управления."
|
||||
}
|
||||
@@ -16,6 +16,7 @@
|
||||
"commonBack": "Geri",
|
||||
"authForgotPasswordTitle": "Parolanızı mı unuttunuz?",
|
||||
"authForgotPasswordResetPassword": "Parola sıfırla",
|
||||
"authForgotPasswordInstructions": "Endişelenmeyin, size sıfırlama talimatlarını göndereceğiz.",
|
||||
"createPassword": "Parolanızı oluşturun",
|
||||
"createAPassword": "Parola",
|
||||
"authRegisterAlreadyHaveAccount": "Zaten hesabınız var mı?",
|
||||
@@ -69,6 +70,8 @@
|
||||
"settingsAppearance": "Görünüm",
|
||||
"settingsAppearanceDescription": "Açık ve koyu mod arasında geçiş yapın veya kullanıcı arayüzü dilini değiştirin",
|
||||
"settingsThemeMode": "Tema",
|
||||
"settingsThemeModeLight": "Açık",
|
||||
"settingsThemeModeDark": "Koyu",
|
||||
"settingsLanguage": "Dil",
|
||||
"settingsDistributedUptime": "Dağıtılmış çalışma süresi",
|
||||
"settingsDistributedUptimeDescription": "Dağıtılmış çalışma süresi izlemeyi etkinleştirin/devre dışı bırakın.",
|
||||
@@ -83,6 +86,7 @@
|
||||
"settingsClearAllStatsDialogTitle": "Tüm istatistikleri temizlemek istiyor musunuz?",
|
||||
"settingsClearAllStatsDialogDescription": "Kaldırıldıktan sonra, izleme geçmişi ve istatistikleri geri alınamaz.",
|
||||
"settingsClearAllStatsDialogConfirm": "Evet, tüm istatistikleri temizle",
|
||||
"settingsClearAllStatsDialogCancel": "İptal",
|
||||
"settingsDemoMonitors": "Demo monitörler",
|
||||
"settingsDemoMonitorsDescription": "Gösterim amaçlı örnek monitörler ekleyin.",
|
||||
"settingsAddDemoMonitors": "Demo monitörler ekleniyor",
|
||||
@@ -289,6 +293,7 @@
|
||||
"integrationsZapier": "Zapier",
|
||||
"integrationsZapierInfo": "",
|
||||
"commonSave": "Kaydet",
|
||||
"commonSaving": "Kaydediliyor...",
|
||||
"createYour": "",
|
||||
"createMonitor": "Monitör oluştur",
|
||||
"pause": "Beklet",
|
||||
@@ -389,12 +394,12 @@
|
||||
"infrastructureMonitorCreated": "",
|
||||
"infrastructureMonitorUpdated": "",
|
||||
"errorInvalidTypeId": "",
|
||||
"errorInvalidFieldId": "",
|
||||
"inviteNoTokenFound": "",
|
||||
"pageSpeedWarning": "",
|
||||
"pageSpeedLearnMoreLink": "",
|
||||
"pageSpeedAddApiKey": "",
|
||||
"update": "",
|
||||
"pageSpeedWarning": "Uyarı: Google PageSpeed API anahtarı eklemediniz. Bu olmadan, PageSpeed monitörü çalışmayacaktır.",
|
||||
"pageSpeedLearnMoreLink": "Daha fazla bilgi için tıklayın",
|
||||
"pageSpeedAddApiKey": "API anahtarınızı nasıl ekleyeceğinizi öğrenin.",
|
||||
"pageSpeedApiKeyFieldDescription": "Sayfa hızı izlemeyi etkinleştirmek için Google PageSpeed API anahtarınızı girin. Anahtarı güncellemek için Sıfırla'ya tıklayın.",
|
||||
"pageSpeedApiKeyFieldResetLabel": "API anahtarı ayarlandı. Değiştirmek için Sıfırla'ya tıklayın.",
|
||||
"reset": "Sıfırla",
|
||||
"invalidFileFormat": "",
|
||||
"invalidFileSize": "",
|
||||
"ClickUpload": "",
|
||||
@@ -489,6 +494,23 @@
|
||||
"changelog": "Değişiklik Günlüğü",
|
||||
"profile": "Profil",
|
||||
"password": "Şifre",
|
||||
"team": "Takım"
|
||||
}
|
||||
"team": "Takım",
|
||||
"logOut": "Çıkış"
|
||||
},
|
||||
"navControls": "Kontroller",
|
||||
"statusBreadCrumbsStatusPages": "Durum Sayfaları",
|
||||
"statusBreadCrumbsDetails": "Detaylar",
|
||||
"incidentsPageTitle": "Olaylar",
|
||||
"passwordPanel": {
|
||||
"passwordChangedSuccess": "Şifreniz başarıyla değiştirildi.",
|
||||
"passwordInputIncorrect": "Şifre girişiniz yanlış.",
|
||||
"currentPassword": "Mevcut şifre",
|
||||
"enterCurrentPassword": "Mevcut şifrenizi girin",
|
||||
"newPassword": "Yeni şifre",
|
||||
"enterNewPassword": "Yeni şifrenizi girin",
|
||||
"confirmNewPassword": "Yeni şifreyi onaylayın",
|
||||
"passwordRequirements": "Yeni şifre en az 8 karakter içermeli ve en az bir büyük harf, bir küçük harf, bir rakam ve bir özel karakter içermelidir.",
|
||||
"saving": "Kaydediliyor..."
|
||||
},
|
||||
"uptimeCreateSelectURL": "İzlenecek URL veya IP adresini girin (örn. https://example.com/ veya 192.168.1.100) ve kontrol panelinde görünecek net bir görüntü adı ekleyin."
|
||||
}
|
||||
Reference in new issue
Block a user