Merge branch 'louislam:master' into ntfy-bearer-authorization

pull/2905/head
Josua Frank 1 year ago committed by GitHub
commit 442f54de84
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,13 @@
-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
BEGIN TRANSACTION;
ALTER TABLE monitor
ADD tls_ca TEXT default null;
ALTER TABLE monitor
ADD tls_cert TEXT default null;
ALTER TABLE monitor
ADD tls_key TEXT default null;
COMMIT;

@ -43,10 +43,11 @@ const prompt = (query) => new Promise((resolve) => rl.question(query, resolve));
});
console.log(result.stdout + result.stderr);
/*
result = await ssh.execCommand("pm2 restart 1", {
cwd,
});
console.log(result.stdout + result.stderr);
console.log(result.stdout + result.stderr);*/
} catch (e) {
console.log(e);

@ -13,7 +13,7 @@ lines = lines.filter((line) => line !== "");
lines = [ ...new Set(lines) ];
// Remove @weblate and @UptimeKumaBot
lines = lines.filter((line) => line !== "@weblate" && line !== "@UptimeKumaBot");
lines = lines.filter((line) => line !== "@weblate" && line !== "@UptimeKumaBot" && line !== "@louislam");
// Sort the lines
lines = lines.sort();

50
package-lock.json generated

@ -1,16 +1,16 @@
{
"name": "uptime-kuma",
"version": "1.21.0-beta.0",
"version": "1.21.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "uptime-kuma",
"version": "1.21.0-beta.0",
"version": "1.21.0",
"license": "MIT",
"dependencies": {
"@grpc/grpc-js": "~1.7.3",
"@louislam/ping": "~0.4.2-mod.2",
"@louislam/ping": "~0.4.4-mod.0",
"@louislam/sqlite3": "15.1.2",
"args-parser": "~1.3.0",
"axios": "~0.27.0",
@ -4213,13 +4213,11 @@
"integrity": "sha512-retLUN4TwCJ0QJDi9OCJwYVaXAz93NeOkEtEQL98M2bykBOxmURlP0YlfsuE46kItOOVZIWRYC3KsSLhQ1R2Qw=="
},
"node_modules/@louislam/ping": {
"version": "0.4.2-mod.2",
"resolved": "https://registry.npmjs.org/@louislam/ping/-/ping-0.4.2-mod.2.tgz",
"integrity": "sha512-4krrRGohYdhQOD+Mt0Q8e1Z05DEKntZ7TgiY1jYaqWrMz0H2XJyRh+mLPOUVPL5zSymiHsZiK2ZACXtp/d9Wxg==",
"version": "0.4.4-mod.0",
"resolved": "https://registry.npmjs.org/@louislam/ping/-/ping-0.4.4-mod.0.tgz",
"integrity": "sha512-U2ZXcgFRPmZYd/ooA8KILG4aCMBsDrGP9NDWseHriZSsKlu5Y1lf/LbenN6tnqQ9JjAsbJjqwSi3xtAcWqU+1w==",
"dependencies": {
"command-exists": "~1.2.9",
"q": "1.x",
"underscore": "^1.12.0"
"command-exists": "~1.2.9"
},
"engines": {
"node": ">=4.0.0"
@ -15570,15 +15568,6 @@
"node": ">=6"
}
},
"node_modules/q": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
"integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==",
"engines": {
"node": ">=0.6.0",
"teleport": ">=0.2.0"
}
},
"node_modules/qlobber": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/qlobber/-/qlobber-5.0.3.tgz",
@ -17977,11 +17966,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/underscore": {
"version": "1.13.6",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz",
"integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A=="
},
"node_modules/unicode-canonical-property-names-ecmascript": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
@ -22231,13 +22215,11 @@
"integrity": "sha512-retLUN4TwCJ0QJDi9OCJwYVaXAz93NeOkEtEQL98M2bykBOxmURlP0YlfsuE46kItOOVZIWRYC3KsSLhQ1R2Qw=="
},
"@louislam/ping": {
"version": "0.4.2-mod.2",
"resolved": "https://registry.npmjs.org/@louislam/ping/-/ping-0.4.2-mod.2.tgz",
"integrity": "sha512-4krrRGohYdhQOD+Mt0Q8e1Z05DEKntZ7TgiY1jYaqWrMz0H2XJyRh+mLPOUVPL5zSymiHsZiK2ZACXtp/d9Wxg==",
"version": "0.4.4-mod.0",
"resolved": "https://registry.npmjs.org/@louislam/ping/-/ping-0.4.4-mod.0.tgz",
"integrity": "sha512-U2ZXcgFRPmZYd/ooA8KILG4aCMBsDrGP9NDWseHriZSsKlu5Y1lf/LbenN6tnqQ9JjAsbJjqwSi3xtAcWqU+1w==",
"requires": {
"command-exists": "~1.2.9",
"q": "1.x",
"underscore": "^1.12.0"
"command-exists": "~1.2.9"
}
},
"@louislam/sqlite3": {
@ -30817,11 +30799,6 @@
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
"integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA=="
},
"q": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
"integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw=="
},
"qlobber": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/qlobber/-/qlobber-5.0.3.tgz",
@ -32679,11 +32656,6 @@
"which-boxed-primitive": "^1.0.2"
}
},
"underscore": {
"version": "1.13.6",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz",
"integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A=="
},
"unicode-canonical-property-names-ecmascript": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",

@ -1,6 +1,6 @@
{
"name": "uptime-kuma",
"version": "1.21.0-beta.0",
"version": "1.21.0",
"license": "MIT",
"repository": {
"type": "git",
@ -39,7 +39,7 @@
"build-docker-nightly-amd64": "docker buildx build -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain",
"build-docker-pr-test": "docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64 -t louislam/uptime-kuma:pr-test --target pr-test . --push",
"upload-artifacts": "docker buildx build -f docker/dockerfile --platform linux/amd64 -t louislam/uptime-kuma:upload-artifact --build-arg VERSION --build-arg GITHUB_TOKEN --target upload-artifact . --progress plain",
"setup": "git checkout 1.20.2 && npm ci --production && npm run download-dist",
"setup": "git checkout 1.21.0 && npm ci --production && npm run download-dist",
"download-dist": "node extra/download-dist.js",
"mark-as-nightly": "node extra/mark-as-nightly.js",
"reset-password": "node extra/reset-password.js",
@ -69,7 +69,7 @@
},
"dependencies": {
"@grpc/grpc-js": "~1.7.3",
"@louislam/ping": "~0.4.2-mod.2",
"@louislam/ping": "~0.4.4-mod.0",
"@louislam/sqlite3": "15.1.2",
"args-parser": "~1.3.0",
"axios": "~0.27.0",

@ -73,6 +73,7 @@ class Database {
"patch-http-body-encoding.sql": true,
"patch-add-description-monitor.sql": true,
"patch-api-key-table.sql": true,
"patch-monitor-tls.sql": true,
};
/**

@ -58,7 +58,14 @@ class MaintenanceTimeslot extends BeanModel {
bean.start_date = maintenance.start_date;
bean.end_date = maintenance.end_date;
bean.generated_next = true;
return await R.store(bean);
if (!await this.isDuplicateTimeslot(bean)) {
await R.store(bean);
return bean;
} else {
log.debug("maintenance", "Duplicate timeslot, skip");
return null;
}
} else if (maintenance.strategy === "recurring-interval") {
// Prevent dead loop, in case interval_day is not set
@ -144,6 +151,15 @@ class MaintenanceTimeslot extends BeanModel {
}
}
static async isDuplicateTimeslot(timeslot) {
let bean = await R.findOne("maintenance_timeslot", "maintenance_id = ? AND start_date = ? AND end_date = ?", [
timeslot.maintenance_id,
timeslot.start_date,
timeslot.end_date
]);
return bean !== null;
}
/**
* Generate a next timeslot for all recurring types
* @param maintenance
@ -161,7 +177,7 @@ class MaintenanceTimeslot extends BeanModel {
// Keep generating from the first possible date, until it is ok
while (true) {
log.debug("timeslot", "startDateTime: " + startDateTime.format());
//log.debug("timeslot", "startDateTime: " + startDateTime.format());
// Handling out of effective date range
if (startDateTime.diff(dayjs.utc(maintenance.end_date)) > 0) {
@ -193,7 +209,14 @@ class MaintenanceTimeslot extends BeanModel {
bean.start_date = localToUTC(startDateTime);
bean.end_date = localToUTC(endDateTime);
bean.generated_next = false;
return await R.store(bean);
if (!await this.isDuplicateTimeslot(bean)) {
await R.store(bean);
return bean;
} else {
log.debug("maintenance", "Duplicate timeslot, skip");
return null;
}
}
}

@ -133,6 +133,9 @@ class Monitor extends BeanModel {
mqttPassword: this.mqttPassword,
authWorkstation: this.authWorkstation,
authDomain: this.authDomain,
tlsCa: this.tlsCa,
tlsCert: this.tlsCert,
tlsKey: this.tlsKey,
};
}
@ -331,6 +334,18 @@ class Monitor extends BeanModel {
options.httpsAgent = new https.Agent(httpsAgentOptions);
}
if (this.auth_method === "mtls") {
if (this.tlsCert !== null && this.tlsCert !== "") {
options.httpsAgent.options.cert = Buffer.from(this.tlsCert);
}
if (this.tlsCa !== null && this.tlsCa !== "") {
options.httpsAgent.options.ca = Buffer.from(this.tlsCa);
}
if (this.tlsKey !== null && this.tlsKey !== "") {
options.httpsAgent.options.key = Buffer.from(this.tlsKey);
}
}
log.debug("monitor", `[${this.name}] Axios Options: ${JSON.stringify(options)}`);
log.debug("monitor", `[${this.name}] Axios Request`);
@ -836,7 +851,6 @@ class Monitor extends BeanModel {
domain: this.authDomain,
workstation: this.authWorkstation ? this.authWorkstation : undefined
});
} else {
res = await axios.request(options);
}
@ -1251,7 +1265,7 @@ class Monitor extends BeanModel {
for (let notification of notificationList) {
try {
log.debug("monitor", "Sending to " + notification.name);
await Notification.send(JSON.parse(notification.config), `[${this.name}][${this.url}] Certificate will be expired in ${daysRemaining} days`);
await Notification.send(JSON.parse(notification.config), `[${this.name}][${this.url}] Certificate will expire in ${daysRemaining} days`);
sent = true;
} catch (e) {
log.error("monitor", "Cannot send cert notification to " + notification.name);

@ -688,6 +688,9 @@ let needSetup = false;
bean.headers = monitor.headers;
bean.basic_auth_user = monitor.basic_auth_user;
bean.basic_auth_pass = monitor.basic_auth_pass;
bean.tlsCa = monitor.tlsCa;
bean.tlsCert = monitor.tlsCert;
bean.tlsKey = monitor.tlsKey;
bean.interval = monitor.interval;
bean.retryInterval = monitor.retryInterval;
bean.resendInterval = monitor.resendInterval;

@ -271,6 +271,7 @@ class UptimeKumaServer {
/** Load the timeslots for maintenance */
async generateMaintenanceTimeslots() {
log.debug("maintenance", "Routine: Generating Maintenance Timeslots");
// Prevent #2776
// Remove duplicate maintenance_timeslot with same start_date, end_date and maintenance_id

@ -408,6 +408,9 @@ exports.redisPingAsync = function (dsn) {
});
client.connect().then(() => {
client.ping().then((res, err) => {
if (client.isOpen) {
client.disconnect();
}
if (err) {
reject(err);
} else {

@ -1,20 +1,20 @@
<template>
<div class="mb-3">
<label for="lunasea-notification-target" class="form-label">{{ $t("Target") }}<span style="color: red;"><sup>*</sup></span></label>
<label for="lunasea-notification-target" class="form-label">{{ $t("lunaseaTarget") }}<span style="color: red;"><sup>*</sup></span></label>
<div class="form-text">
<p>
<select id="lunasea-notification-target" v-model="$parent.notification.lunaseaTarget" class="form-select" required>
<option value="device">Device</option>
<option value="user">User</option>
<option value="device">{{ $t("lunaseaDeviceID") }}</option>
<option value="user">{{ $t("lunaseaUserID") }}</option>
</select>
</p>
</div>
<div v-if="$parent.notification.lunaseaTarget === 'device'">
<label for="lunasea-device" class="form-label">{{ $t("Device ID") }}<span style="color: red;"><sup>*</sup></span></label>
<label for="lunasea-device" class="form-label">{{ $t("lunaseaDeviceID") }}<span style="color: red;"><sup>*</sup></span></label>
<input id="lunasea-device" v-model="$parent.notification.lunaseaDevice" type="text" class="form-control">
</div>
<div v-if="$parent.notification.lunaseaTarget === 'user'">
<label for="lunasea-device" class="form-label">{{ $t("User ID") }}<span style="color: red;"><sup>*</sup></span></label>
<label for="lunasea-device" class="form-label">{{ $t("lunaseaUserID") }}<span style="color: red;"><sup>*</sup></span></label>
<input id="lunasea-device" v-model="$parent.notification.lunaseaUserID" type="text" class="form-control">
</div>
</div>

@ -97,7 +97,6 @@
(leave blank for default one)<br />
{{NAME}}: Service Name<br />
{{HOSTNAME_OR_URL}}: Hostname or URL<br />
{{URL}}: URL<br />
{{STATUS}}: Status<br />
</div>
</div>

@ -41,7 +41,8 @@ const languageList = {
"el-GR": "Ελληνικά",
"yue": "繁體中文 (廣東話 / 粵語)",
"ro": "Limba română",
"ur": "Urdu"
"ur": "Urdu",
"ge": "ქართული"
};
let messages = {

@ -0,0 +1,688 @@
{
"Edit": "تعديل",
"Delete": "حذف",
"Current": "حالي",
"Uptime": "مدة التشغيل",
"Monitor": "مراقب | مراقبات",
"day": "يوم | أيام",
"-day": "-يوم",
"hour": "ساعة",
"-hour": "-ساعة",
"Response": "استجاية",
"Ping": "بينغ",
"Monitor Type": "نوع المراقب",
"Cert Exp.": "انتهاء صَلاحِيَة شهادة الأمان SSL",
"Theme - Heartbeat Bar": "موضوع - بار نبضات",
"Normal": "طبيعي",
"Bottom": "الأسفل",
"None": "لا أحد",
"Current Password": "كلمة المرور الحالي",
"New Password": "كلمة سر جديدة",
"Repeat New Password": "كرر كلمة المرور الجديدة",
"Update Password": "تطوير كلمة السر",
"Disable Auth": "تعطيل المصادقة",
"Enable Auth": "تمكين المصادقة",
"disableauth.message1": "هل أنت متأكد من أن <strong> تعطيل المصادقة </strong>؟",
"disableauth.message2": "تم تصميمه للسيناريوهات <strong> حيث تنوي تنفيذ مصادقة الطرف الثالث </strong> أمام كوما في وقت التشغيل مثل CloudFlare Access Authelia أو آليات المصادقة الأخرى.",
"Please use this option carefully!": "الرجاء استخدام هذا الخيار بعناية!",
"Logout": "تسجيل خروج",
"Leave": "غادر",
"I understand, please disable": "أنا أفهم من فضلك تعطيل",
"Confirm": "يتأكد",
"Yes": "نعم",
"No": "رقم",
"Username": "اسم المستخدم",
"Password": "كلمة المرور",
"Remember me": "تذكرنى",
"Login": "تسجيل الدخول",
"No Monitors, please": "لا شاشات من فضلك",
"alertNoFile": "الرجاء تحديد ملف للاستيراد.",
"Skip existing": "تخطي الموجود",
"Search...": "يبحث…",
"Avg. Ping": "متوسط. بينغ",
"Avg. Response": "متوسط. إجابة",
"Entry Page": "صفحة الدخول",
"statusPageNothing": "لا شيء هنا الرجاء إضافة مجموعة أو شاشة.",
"No Services": "لا توجد خدمات",
"All Systems Operational": "جميع الأنظمة التشغيلية",
"Partially Degraded Service": "الخدمة المتدهورة جزئيا",
"Degraded Service": "خدمة متدهورة",
"Add Group": "أضف مجموعة",
"Add a monitor": "إضافة شاشة",
"Edit Status Page": "تحرير صفحة الحالة",
"Go to Dashboard": "الذهاب إلى لوحة القيادة",
"Status Page": "صفحة الحالة",
"Application Token": "رمز التطبيق",
"Server URL": "عنوان URL الخادم",
"Priority": "أولوية",
"Read more": "قراءة المزيد",
"topic": "عنوان",
"Last Updated": "التحديث الاخير",
"Unpin": "إلغاء",
"Show Tags": "أضهر العلامات",
"Add one": "أضف واحدا",
"wayToGetCloudflaredURL": "(قم بتنزيل CloudFlared من {0})",
"cloudflareWebsite": "موقع CloudFlare",
"Message:": ":رسالة",
"Don't know how to get the token? Please read the guide:": "لا أعرف كيفية الحصول على الرمز المميز؟ يرجى قراءة الدليل:",
"telegramSendSilently": "أرسل بصمت",
"telegramSendSilentlyDescription": "ترسل الرسالة بصمت ويتلقى المستخدمون إشعارا بدون صوت.",
"Enable": "يُمكَِن",
"notificationRegional": "إقليمي",
"Clone": "استنسخ",
"cloneOf": "مُستنسَخ من {0}",
"grpcMethodDescription": "يتم تحويل اسم الطريقة إلى تنسيق Cammelcase مثل Sayhello Check وما إلى ذلك.",
"acceptedStatusCodesDescription": "حدد رموز الحالة التي تعتبر استجابة ناجحة.",
"deleteNotificationMsg": "هل أنت متأكد من حذف هذا الإشعار لجميع الشاشات؟",
"dnsPortDescription": "منفذ خادم DNS. الافتراضيات إلى 53. يمكنك تغيير المنفذ في أي وقت.",
"pauseMonitorMsg": "هل أنت متأكد من أن تتوقف مؤقتًا؟",
"API Keys": "مفاتيح API",
"Expiry": "نهاية الصلاحية",
"Expiry date": "تاريخ نهاية الصلاحية",
"Continue": "مواصلة",
"Add Another": "إضافة آخر",
"Add API Key": "أضف مفتاح API",
"apiKey-active": "نشط",
"apiKey-expired": "منتهي الصلاحية",
"Generate": "توليد",
"Settings": "الإعدادات",
"Dashboard": "لوح التحكم",
"Help": "المساعدة",
"New Update": "تحديث جديد متوفر",
"Language": "اللغة",
"Appearance": "المظهر",
"Theme": "الحُلة",
"General": "العامة",
"Version": "الإصدار",
"Primary Base URL": "الرابط التشعبي الأساسي",
"Check Update On GitHub": "التحقق من التحديث على GitHub",
"Add New Monitor": "أضف شاشة جديدة",
"Quick Stats": "إحصائيات سريعة",
"Pending": "قيد الانتظار",
"General Monitor Type": "نوع الشاشة العامة",
"Passive Monitor Type": "نوع الشاشة السلبي",
"Specific Monitor Type": "نوع شاشة محدد",
"markdownSupported": "دعم صيغة Markdown",
"pauseDashboardHome": "وقفة",
"Pause": "إيقاف مؤقت",
"Name": "الاسم",
"Status": "الحالة",
"DateTime": "الوقت والتاريخ",
"Message": "الرسالة",
"No important events": "لا توجد أحداث مهمة",
"Resume": "استمرار",
"Keyword": "كلمة مفتاحية",
"Friendly Name": "اسم معروف",
"URL": "عنوان URL",
"Hostname": "اسم المضيف",
"Port": "المنفذ",
"Heartbeat Interval": "فاصل نبضات القلب",
"Add": "إضافة",
"Up": "متصل",
"Down": "غير متصل",
"Maintenance": "الصيانة",
"Unknown": "مجهول",
"Retries": "يحاول مجدداً",
"Heartbeat Retry Interval": "الفاصل الزمني لإعادة محاكمة نبضات القلب",
"Resend Notification if Down X times consecutively": "إعادة تقديم الإخطار إذا انخفض x مرات بالتالي",
"Advanced": "متقدم",
"checkEverySecond": "تحقق من كل {0} ثانية",
"retryCheckEverySecond": "أعد محاولة كل {0} ثانية",
"resendEveryXTimes": "إعادة تقديم كل {0} مرات",
"resendDisabled": "إعادة الالتزام بالتعطيل",
"retriesDescription": "الحد الأقصى لإعادة المحاولة قبل تمييز الخدمة على أنها لأسفل وإرسال إشعار",
"ignoreTLSError": "تجاهل خطأ TLS/SSL لمواقع HTTPS",
"upsideDownModeDescription": "اقلب الحالة رأسًا على عقب. إذا كانت الخدمة قابلة للوصول إلى أسفل.",
"maxRedirectDescription": "الحد الأقصى لعدد إعادة التوجيه لمتابعة. ضبط على 0 لتعطيل إعادة التوجيه.",
"Upside Down Mode": "وضع أسفل أسفل",
"Max. Redirects": "الأعلى. إعادة التوجيه",
"Accepted Status Codes": "رموز الحالة المقبولة",
"Push URL": "دفع عنوان URL",
"needPushEvery": "يجب عليك استدعاء عنوان URL هذا كل ثانية.",
"pushOptionalParams": "المعلمات الاختيارية",
"Save": "يحفظ",
"Notifications": "إشعارات",
"Not available, please setup.": "غير متوفر من فضلك الإعداد.",
"Setup Notification": "إشعار الإعداد",
"Light": "نور",
"Dark": "داكن",
"Auto": "آلي",
"Timezone": "وحدة زمنية",
"Search Engine Visibility": "محرك بحث الرؤية",
"Allow indexing": "السماح الفهرسة",
"Discourage search engines from indexing site": "تثبيط محركات البحث من موقع الفهرسة",
"Change Password": "غير كلمة السر",
"add one": "أضف واحدا",
"Notification Type": "نوع إعلام",
"Email": "بريد إلكتروني",
"Test": "امتحان",
"Certificate Info": "معلومات الشهادة",
"Resolver Server": "خادم Resolver",
"Resource Record Type": "نوع سجل الموارد",
"Last Result": "اخر نتيجة",
"Create your admin account": "إنشاء حساب المسؤول الخاص بك",
"Repeat Password": "اعد كلمة السر",
"Import Backup": "استيراد النسخ الاحتياطي",
"Export Backup": "النسخ الاحتياطي تصدير",
"Export": "يصدّر",
"Import": "يستورد",
"respTime": "resp. الوقت (MS)",
"notAvailableShort": "ن/أ",
"Default enabled": "التمكين الافتراضي",
"Apply on all existing monitors": "تنطبق على جميع الشاشات الحالية",
"Create": "خلق",
"Clear Data": "امسح البيانات",
"Events": "الأحداث",
"Heartbeats": "نبضات القلب",
"Schedule maintenance": "جدولة الصيانة",
"Affected Monitors": "الشاشات المتأثرة",
"Pick Affected Monitors...": "اختر الشاشات المتأثرة …",
"Start of maintenance": "بداية الصيانة",
"All Status Pages": "جميع صفحات الحالة",
"Select status pages...": "حدد صفحات الحالة …",
"alertWrongFileType": "الرجاء تحديد ملف JSON.",
"Clear all statistics": "مسح جميع الإحصاءات",
"Overwrite": "الكتابة فوق",
"Options": "خيارات",
"Keep both": "احتفظ بكليهما",
"Verify Token": "تحقق من الرمز المميز",
"Setup 2FA": "الإعداد 2FA",
"Enable 2FA": "تمكين 2FA",
"Disable 2FA": "تعطيل 2FA",
"2FA Settings": "2FA إعدادات",
"Two Factor Authentication": "توثيق ذو عاملين",
"Active": "نشيط",
"Inactive": "غير نشط",
"Token": "رمز",
"Show URI": "أظهر URI",
"Tags": "العلامات",
"Add New below or Select...": "إضافة جديد أدناه أو تحديد …",
"Tag with this name already exist.": "علامة مع هذا الاسم موجود بالفعل.",
"Tag with this value already exist.": "علامة مع هذه القيمة موجودة بالفعل.",
"color": "اللون",
"value (optional)": "القيمة (اختياري)",
"Gray": "رمادي",
"Red": "أحمر",
"Orange": "البرتقالي",
"Green": "لون أخضر",
"Blue": "أزرق",
"Indigo": "النيلي",
"Purple": "نفسجي",
"webhookAdditionalHeadersDesc": "يحدد رؤوس إضافية مرسلة مع webhook.",
"Webhook URL": "Webhook URL",
"Pink": "لون القرنفل",
"Custom": "العادة",
"Status Pages": "صفحات الحالة",
"defaultNotificationName": "تنبيه {الإخطار} ({number})",
"here": "هنا",
"Required": "مطلوب",
"Post URL": "بعد عنوان URL",
"Content Type": "نوع المحتوى",
"webhookJsonDesc": "{0} مفيد لأي خوادم HTTP الحديثة مثل Express.js",
"webhookFormDataDesc": "{multipart} مفيد لـ PHP. سيحتاج JSON إلى تحليل {decodefunction}",
"webhookAdditionalHeadersTitle": "رؤوس إضافية",
"emojiCheatSheet": "ورقة الغش في الرموز التعبيرية",
"appriseInstalled": "تم تثبيت Prosise.",
"appriseNotInstalled": "الإبرام غير مثبت. {0}",
"Method": "طريقة",
"Body": "الجسم",
"Headers": "الرؤوس",
"PushUrl": "دفع عنوان URL",
"HeadersInvalidFormat": "رؤوس الطلبات غير صالحة JSON ",
"BodyInvalidFormat": "هيئة الطلب غير صالحة JSON ",
"Monitor History": "مراقبة التاريخ",
"clearDataOlderThan": "الحفاظ على بيانات سجل المراقبة للأيام {0}.",
"PasswordsDoNotMatch": "كلمة المرور غير مطابقة.",
"records": "السجلات",
"One record": "سجل واحد",
"steamApiKeyDescription": "لمراقبة خادم لعبة Steam ، تحتاج إلى مفتاح Steam Web-API. يمكنك تسجيل مفتاح API الخاص بك هنا ",
"Current User": "المستخدم الحالي",
"topicExplanation": "موضوع MQTT لرصد",
"successMessage": "نجاح رسالة",
"successMessageExplanation": "رسالة MQTT التي ستعتبر نجاحًا",
"recent": "الأخيرة",
"Done": "فعله",
"Info": "معلومات",
"Security": "حماية",
"Steam API Key": "مفتاح API Steam",
"Shrink Database": "تقلص قاعدة البيانات",
"Pick a RR-Type...": "اختر نوع RR …",
"Pick Accepted Status Codes...": "اختر أكواد الحالة المقبولة …",
"Default": "تقصير",
"HTTP Options": "خيارات HTTP",
"Create Incident": "إنشاء حادث",
"Title": "لقب",
"Content": "المحتوى",
"Style": "أسلوب",
"info": "معلومات",
"warning": "تحذير",
"danger": "خطر",
"error": "خطأ",
"critical": "شديد الأهمية",
"primary": "الأولية",
"light": "نور",
"dark": "ظلام",
"Post": "بريد",
"Please input title and content": "الرجاء إدخال العنوان والمحتوى",
"Created": "مخلوق",
"Switch to Light Theme": "التبديل إلى موضوع الضوء",
"Switch to Dark Theme": "التبديل إلى موضوع الظلام",
"Hide Tags": "إخفاء العلامات",
"Description": "وصف",
"No monitors available.": "لا شاشات المتاحة.",
"No Monitors": "لا شاشات",
"Untitled Group": "مجموعة بلا عنوان",
"Services": "خدمات",
"Discard": "تجاهل",
"Cancel": "يلغي",
"Powered by": "مشغل بواسطة",
"shrinkDatabaseDescription": "تشغيل فراغ قاعدة البيانات لـ SQLite. إذا تم إنشاء قاعدة البيانات الخاصة بك بعد تمكين 1.10.0 AUTO_VACUUM بالفعل ولا يلزم هذا الإجراء.",
"Customize": "يعدل أو يكيف",
"Custom Footer": "تذييل مخصص",
"Custom CSS": "لغة تنسيق ويب حسب الطلب",
"deleteStatusPageMsg": "هل أنت متأكد من حذف صفحة الحالة هذه؟",
"Proxies": "وكلاء",
"default": "تقصير",
"enabled": "تمكين",
"setAsDefault": "تعيين كافتراضي",
"deleteProxyMsg": "هل أنت متأكد من حذف هذا الوكيل لجميع الشاشات؟",
"proxyDescription": "يجب تعيين الوكلاء إلى شاشة للعمل.",
"enableProxyDescription": "لن يؤثر هذا الوكيل على طلبات الشاشة حتى يتم تنشيطه. يمكنك التحكم مؤقتًا في تعطيل الوكيل من جميع الشاشات حسب حالة التنشيط.",
"setAsDefaultProxyDescription": "سيتم تمكين هذا الوكيل افتراضيًا للشاشات الجديدة. لا يزال بإمكانك تعطيل الوكيل بشكل منفصل لكل شاشة.",
"Certificate Chain": "سلسلة الشهادة",
"Valid": "صالح",
"Invalid": "غير صالح",
"User": "المستعمل",
"Installed": "المثبتة",
"Not installed": "غير مثبت",
"Running": "جري",
"Not running": "لا يعمل",
"Remove Token": "إزالة الرمز المميز",
"Start": "بداية",
"Stop": "قف",
"Add New Status Page": "أضف صفحة حالة جديدة",
"Slug": "سبيكة",
"Accept characters:": "قبول الأحرف:",
"startOrEndWithOnly": "ابدأ أو ينتهي بـ {0} فقط",
"No consecutive dashes": "لا شرطات متتالية",
"Next": "التالي",
"The slug is already taken. Please choose another slug.": "تم أخذ سبيكة بالفعل. الرجاء اختيار سبيكة أخرى.",
"No Proxy": "لا الوكيل",
"Authentication": "المصادقة",
"HTTP Basic Auth": "HTTP الأساسي Auth",
"New Status Page": "صفحة حالة جديدة",
"Page Not Found": "الصفحة غير موجودة",
"Reverse Proxy": "وكيل عكسي",
"Backup": "دعم",
"About": "عن",
"The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "قد يضيع الاتصال الحالي إذا كنت تتصل حاليًا عبر نفق CloudFlare. هل أنت متأكد تريد إيقافها؟ اكتب كلمة المرور الحالية لتأكيدها.",
"HTTP Headers": "رؤوس HTTP",
"Trust Proxy": "الوكيل الثقة",
"Other Software": "برامج أخرى",
"For example: nginx, Apache and Traefik.": "على سبيل المثال: nginx و Apache و Traefik.",
"Please read": "يرجى القراءة",
"Subject:": "موضوع:",
"Valid To:": "صالحة ل:",
"Days Remaining:": "الأيام المتبقية:",
"Issuer:": "المُصدر:",
"Fingerprint:": "بصمة:",
"No status pages": "لا صفحات الحالة",
"Domain Name Expiry Notification": "اسم النطاق إشعار انتهاء الصلاحية",
"Proxy": "الوكيل",
"Date Created": "تاريخ الإنشاء",
"Footer Text": "نص تذييل",
"Show Powered By": "عرض مدعوم من قبل",
"Domain Names": "أسماء المجال",
"signedInDisp": "وقعت في {0}",
"signedInDispDisabled": "معاق المصادقة.",
"RadiusSecret": "سر نصف القطر",
"RadiusSecretDescription": "السر المشترك بين العميل والخادم",
"RadiusCalledStationId": "يسمى معرف المحطة",
"RadiusCalledStationIdDescription": "معرف الجهاز المتصل",
"RadiusCallingStationId": "معرف محطة الاتصال",
"RadiusCallingStationIdDescription": "معرف جهاز الاتصال",
"Certificate Expiry Notification": "إشعار انتهاء الصلاحية",
"API Username": "اسم المستخدم API",
"API Key": "مفتاح API",
"Show update if available": "عرض التحديث إذا كان ذلك متاحًا",
"Also check beta release": "تحقق أيضًا من الإصدار التجريبي",
"Using a Reverse Proxy?": "باستخدام وكيل عكسي؟",
"Check how to config it for WebSocket": "تحقق من كيفية تكوينه لـ WebSocket",
"Steam Game Server": "خادم لعبة البخار",
"Most likely causes:": "الأسباب المرجحة:",
"The resource is no longer available.": "لم يعد المورد متاحًا.",
"There might be a typing error in the address.": "قد يكون هناك خطأ مطبعي في العنوان.",
"What you can try:": "ماذا تستطيع أن تجرب:",
"Retype the address.": "اعد كتابة العنوان.",
"Go back to the previous page.": "عد للصفحة السابقة.",
"Coming Soon": "قريبا",
"Connection String": "سلسلة الاتصال",
"Query": "استفسار",
"settingsCertificateExpiry": "شهادة TLS انتهاء الصلاحية",
"certificationExpiryDescription": "شاشات HTTPS تضيء عندما تنتهي شهادة TLS في",
"Setup Docker Host": "إعداد مضيف Docker",
"Connection Type": "نوع الاتصال",
"Docker Daemon": "Docker Daemon",
"deleteDockerHostMsg": "هل أنت متأكد من حذف مضيف Docker لجميع الشاشات؟",
"socket": "قابس كهرباء",
"tcp": "TCP / HTTP",
"Docker Container": "حاوية Docker",
"Container Name / ID": "اسم الحاوية / معرف",
"Docker Host": "مضيف Docker",
"Docker Hosts": "مضيفي Docker",
"Domain": "اِختِصاص",
"Workstation": "محطة العمل",
"Packet Size": "حجم الحزمة",
"Bot Token": "رمز الروبوت",
"wayToGetTelegramToken": "يمكنك الحصول على رمز من {0}.",
"Chat ID": "معرف الدردشة",
"telegramMessageThreadID": "معرف المواضيع",
"supportTelegramChatID": "دعم الدردشة المباشرة / معرف الدردشة للقناة",
"wayToGetTelegramChatID": "يمكنك الحصول على معرف الدردشة الخاص بك عن طريق إرسال رسالة إلى الروبوت والانتقال إلى عنوان URL هذا لعرض Chat_id",
"YOUR BOT TOKEN HERE": "رمز الروبوت الخاص بك هنا",
"chatIDNotFound": "لم يتم العثور على معرف الدردشة ؛ الرجاء إرسال رسالة إلى هذا الروبوت أولاً",
"disableCloudflaredNoAuthMsg": "أنت في وضع مصادقة لا توجد كلمة مرور غير مطلوبة.",
"trustProxyDescription": "ثق في رؤوس \"X-Forwarded- *\". إذا كنت ترغب في الحصول على عنوان IP الصحيح للعميل وكان Uptime Kuma خلف وكيل مثل Nginx أو Apache ، فيجب عليك تمكين هذا.",
"wayToGetLineNotifyToken": "يمكنك الحصول على رمز الوصول من {0}",
"Examples": "أمثلة",
"Home Assistant URL": "Home Assistant URL",
"Long-Lived Access Token": "الرمز المميز للوصول منذ فترة طويلة",
"Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "يمكن إنشاء رمز الوصول منذ فترة طويلة عن طريق النقر على اسم ملف التعريف الخاص بك (أسفل اليسار) والتمرير إلى الأسفل ثم انقر فوق إنشاء الرمز المميز. ",
"Notification Service": "خدمة الإخطار",
"default: notify all devices": "الافتراضي: إخطار جميع الأجهزة",
"A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "يمكن العثور على قائمة بخدمات الإخطار في المساعد المنزلي ضمن \"Developer Tools > Services\" ابحث عن \"notification\" للعثور على اسم جهازك/هاتفك.",
"Automations can optionally be triggered in Home Assistant:": "يمكن تشغيل الأتمتة اختياريًا في Home Assistant:",
"Trigger type:": "نوع الزناد:",
"Event type:": "نوع الحدث:",
"Event data:": "بيانات الحدث:",
"Then choose an action, for example switch the scene to where an RGB light is red.": "ثم اختر إجراءً على سبيل المثال قم بتبديل المشهد إلى حيث يكون ضوء RGB أحمر.",
"Frontend Version": "إصدار الواجهة الأمامية",
"Frontend Version do not match backend version!": "إصدار Frontend لا يتطابق مع الإصدار الخلفي!",
"backupOutdatedWarning": "مهمل: نظرًا لأنه تمت إضافة الكثير من الميزات وأن ميزة النسخ الاحتياطي هذه لم يتم الحفاظ عليها قليلاً ، فلا يمكنها إنشاء نسخة احتياطية كاملة أو استعادتها.",
"backupRecommend": "يرجى النسخ الاحتياطي لحجم الصوت أو مجلد البيانات (./data/) مباشرة بدلاً من ذلك.",
"Optional": "اختياري",
"or": "أو",
"recurringInterval": "فترة",
"Recurring": "يتكرر",
"strategyManual": "نشط/غير نشط يدويًا",
"warningTimezone": "إنه يستخدم المنطقة الزمنية للخادم",
"weekdayShortMon": "الاثنين",
"weekdayShortTue": "الثلاثاء",
"weekdayShortWed": "تزوج",
"weekdayShortThu": "الخميس",
"weekdayShortFri": "الجمعة",
"No Maintenance": "لا صيانة",
"weekdayShortSat": "جلس",
"weekdayShortSun": "شمس",
"dayOfWeek": "يوم من الأسبوع",
"dayOfMonth": "يوم من الشهر",
"lastDay": "بالأمس",
"lastDay1": "آخر يوم من الشهر",
"lastDay2": "الثاني في اليوم الأخير من الشهر",
"lastDay3": "الثالث في اليوم الأخير من الشهر",
"lastDay4": "الرابع في اليوم الأخير من الشهر",
"pauseMaintenanceMsg": "هل أنت متأكد من أن تتوقف مؤقتًا؟",
"maintenanceStatus-under-maintenance": "تحت الصيانة",
"maintenanceStatus-inactive": "غير نشط",
"maintenanceStatus-scheduled": "المقرر",
"maintenanceStatus-ended": "انتهى",
"maintenanceStatus-unknown": "مجهول",
"Display Timezone": "عرض المنطقة الزمنية",
"Server Timezone": "المنطقة الزمنية الخادم",
"statusPageMaintenanceEndDate": "نهاية",
"IconUrl": "url url icon",
"Enable DNS Cache": "تمكين ذاكرة التخزين المؤقت DNS",
"Disable": "إبطال",
"dnsCacheDescription": "قد لا يعمل في بعض بيئات IPv6 تعطيله إذا واجهت أي مشكلات.",
"Single Maintenance Window": "نافذة صيانة واحدة",
"Maintenance Time Window of a Day": "نافذة وقت الصيانة لليوم",
"Effective Date Range": "نطاق التاريخ السريع",
"Schedule Maintenance": "جدولة الصيانة",
"Date and Time": "التاريخ و الوقت",
"DateTime Range": "نطاق DateTime",
"loadingError": "لا يمكن جلب البيانات ، يرجى المحاولة مرة أخرى في وقت لاحق.",
"plugin": "البرنامج المساعد | الإضافات",
"install": "ثَبَّتَ",
"installing": "التثبيت",
"uninstall": "الغاء التثبيت",
"uninstalling": "إلغاء التثبيت",
"confirmUninstallPlugin": "هل أنت متأكد من أنك تريد إلغاء تثبيت هذا المكون الإضافي؟",
"smtp": "البريد الإلكتروني (SMTP)",
"secureOptionNone": "لا شيء / startTls (25 587)",
"secureOptionTLS": "TLS (465)",
"Ignore TLS Error": "تجاهل خطأ TLS",
"From Email": "من البريد الإلكترونى",
"emailCustomSubject": "موضوع مخصص",
"To Email": "للبريد الإلكتروني",
"smtpCC": "نسخة",
"smtpBCC": "BCC",
"Discord Webhook URL": "Discord Webhook URL",
"wayToGetDiscordURL": "يمكنك الحصول على هذا بالانتقال إلى إعدادات الخادم -> عمليات التكامل -> عرض الخطافات على الويب -> خطاف ويب جديد",
"Bot Display Name": "اسم عرض الروبوت",
"Prefix Custom Message": "بادئة رسالة مخصصة",
"Hello @everyone is...": "مرحبًا {'@'} الجميع…",
"wayToGetTeamsURL": "يمكنك معرفة كيفية إنشاء عنوان URL webhook {0}.",
"wayToGetZohoCliqURL": "يمكنك معرفة كيفية إنشاء عنوان URL webhook {0}.",
"needSignalAPI": "تحتاج إلى وجود عميل إشارة مع REST API.",
"wayToCheckSignalURL": "يمكنك التحقق من عنوان URL هذا لعرض كيفية إعداد واحد",
"Number": "رقم",
"Recipients": "المستلمين",
"Access Token": "رمز وصول",
"Channel access token": "قناة الوصول إلى الرمز",
"Line Developers Console": "تحكم المطورين",
"lineDevConsoleTo": "وحدة المطورين Line Console - {0}",
"Basic Settings": "الإعدادات الأساسية",
"confirmClearStatisticsMsg": "هل أنت متأكد من أنك تريد حذف جميع الإحصائيات؟",
"importHandleDescription": "اختر 'تخطي موجود' إذا كنت تريد تخطي كل شاشة أو إشعار بنفس الاسم. 'الكتابة فوق' سوف يحذف كل شاشة وإخطار موجود.",
"User ID": "معرف المستخدم",
"Messaging API": "واجهة برمجة تطبيقات المراسلة",
"wayToGetLineChannelToken": "قم أولاً بالوصول إلى {0} إنشاء مزود وقناة (واجهة برمجة تطبيقات المراسلة) ، ثم يمكنك الحصول على رمز الوصول إلى القناة ومعرف المستخدم من عناصر القائمة المذكورة أعلاه.",
"Icon URL": "url url icon",
"aboutIconURL": "يمكنك توفير رابط لصورة في \"Icon URL\" لتجاوز صورة الملف الشخصي الافتراضي. لن يتم استخدامه إذا تم تعيين رمز رمز رمز.",
"aboutMattermostChannelName": "يمكنك تجاوز القناة الافتراضية التي تنشرها WebHook من خلال إدخال اسم القناة في \"Channel Name\" الحقل. يجب تمكين هذا في إعدادات Webhook Mattern. السابق",
"dataRetentionTimeError": "يجب أن تكون فترة الاستبقاء 0 أو أكبر",
"infiniteRetention": "ضبط على 0 للاحتفاظ لا نهائي.",
"confirmDeleteTagMsg": "هل أنت متأكد من أنك تريد حذف هذه العلامة؟ لن يتم حذف الشاشات المرتبطة بهذه العلامة.",
"enableGRPCTls": "السماح لإرسال طلب GRPC مع اتصال TLS",
"deleteMonitorMsg": "هل أنت متأكد من حذف هذا الشاشة؟",
"deleteMaintenanceMsg": "هل أنت متأكد من حذف هذه الصيانة؟",
"resolverserverDescription": "CloudFlare هو الخادم الافتراضي. يمكنك تغيير خادم المحوّل في أي وقت.",
"rrtypeDescription": "حدد نوع RR الذي تريد مراقبته",
"enableDefaultNotificationDescription": "سيتم تمكين هذا الإشعار افتراضيًا للشاشات الجديدة. لا يزال بإمكانك تعطيل الإخطار بشكل منفصل لكل شاشة.",
"clearEventsMsg": "هل أنت متأكد من حذف جميع الأحداث لهذا الشاشة؟",
"clearHeartbeatsMsg": "هل أنت متأكد من حذف جميع دقات القلب لهذا الشاشة؟",
"confirmImportMsg": "هل أنت متأكد من أنك تريد استيراد النسخ الاحتياطي؟ يرجى التحقق من أنك حددت خيار الاستيراد الصحيح.",
"twoFAVerifyLabel": "الرجاء إدخال الرمز المميز الخاص بك للتحقق من 2FA",
"pushoversounds pushover": "سداد (افتراضي)",
"pushoversounds bike": "دراجة هوائية",
"pushoversounds bugle": "بوق",
"tokenValidSettingsMsg": "الرمز المميز صالح! يمكنك الآن حفظ إعدادات 2FA.",
"confirmEnableTwoFAMsg": "هل أنت متأكد من أنك تريد تمكين 2FA؟",
"confirmDisableTwoFAMsg": "هل أنت متأكد من أنك تريد تعطيل 2FA؟",
"recurringIntervalMessage": "ركض مرة واحدة كل يوم | قم بالتشغيل مرة واحدة كل يوم {0}",
"affectedMonitorsDescription": "حدد المراقبين المتأثرة بالصيانة الحالية",
"affectedStatusPages": "إظهار رسالة الصيانة هذه على صفحات الحالة المحددة",
"atLeastOneMonitor": "حدد شاشة واحدة على الأقل من المتأثرين",
"passwordNotMatchMsg": "كلمة المرور المتكررة لا تتطابق.",
"notificationDescription": "يجب تعيين الإخطارات إلى شاشة للعمل.",
"keywordDescription": "ابحث في الكلمة الرئيسية في استجابة HTML العادية أو JSON. البحث حساس للحالة.",
"backupDescription": "يمكنك النسخ الاحتياطي لجميع الشاشات والإشعارات في ملف JSON.",
"backupDescription3": "يتم تضمين البيانات الحساسة مثل الرموز الإخطار في ملف التصدير ؛ يرجى تخزين التصدير بشكل آمن.",
"endpoint": "نقطة النهاية",
"octopushAPIKey": "\"API key\" from HTTP API بيانات اعتماد في لوحة التحكم",
"octopushLogin": "\"Login\" من بيانات اعتماد API HTTP في لوحة التحكم",
"promosmsLogin": "اسم تسجيل الدخول API",
"promosmsPassword": "كلمة مرور API",
"pushoversounds cashregister": "ماكينة تسجيل المدفوعات النقدية",
"pushoversounds classical": "كلاسيكي",
"pushoversounds cosmic": "كونية",
"pushoversounds falling": "هبوط",
"pushoversounds gamelan": "Gamelan",
"pushoversounds incoming": "واردة",
"pushoversounds intermission": "استراحة",
"pushoversounds magic": "سحر",
"pushoversounds mechanical": "ميكانيكي",
"pushoversounds pianobar": "شريط البيانو",
"pushoversounds siren": "صفارة إنذار",
"pushoversounds spacealarm": "إنذار الفضاء",
"pushoversounds tugboat": "قارب السحب",
"pushoversounds alien": "إنذار أجنبي (طويل)",
"pushoversounds climb": "تسلق (طويل)",
"pushoversounds persistent": "مستمر (طويل)",
"pushoversounds echo": "صدى مهووس (طويل)",
"pushoversounds updown": "صعودا (طويلة)",
"pushoversounds vibrate": "يهتز فقط",
"pushoversounds none": "لا شيء (صامت)",
"pushyAPIKey": "مفتاح API السري",
"pushyToken": "رمز الجهاز",
"apprise": "إبلاغ (دعم 50+ خدمات الإخطار)",
"GoogleChat": "دردشة Google",
"wayToGetKookBotToken": "قم بإنشاء تطبيق واحصل على رمز الروبوت الخاص بك على {0}",
"wayToGetKookGuildID": "قم بتشغيل 'وضع المطور' في إعداد Kook وانقر بزر الماوس الأيمن على النقابة للحصول على معرفه",
"Guild ID": "معرف النقابة",
"User Key": "مفتاح المستخدم",
"Device": "جهاز",
"Message Title": "عنوان الرسالة",
"Notification Sound": "صوت الإشعار",
"More info on:": "مزيد من المعلومات حول: {0}",
"pushoverDesc1": "أولوية الطوارئ (2) لها مهلة افتراضية 30 ثانية بين إعادة المحاولة وستنتهي صلاحيتها بعد ساعة واحدة.",
"pushoverDesc2": "إذا كنت ترغب في إرسال إشعارات إلى أجهزة مختلفة ، قم بملء حقل الجهاز.",
"SMS Type": "نوع الرسائل القصيرة",
"octopushTypePremium": "قسط (سريع - موصى به للتنبيه)",
"octopushTypeLowCost": "التكلفة المنخفضة (بطيئة - تم حظرها أحيانًا بواسطة المشغل)",
"checkPrice": "تحقق من الأسعار {0}",
"apiCredentials": "بيانات اعتماد API",
"octopushLegacyHint": "هل تستخدم الإصدار القديم من Octopush (2011-2020) أو الإصدار الجديد؟",
"Check octopush prices": "تحقق من أسعار Octopush {0}.",
"AccessKeyId": "معرف AccessKey",
"SecretAccessKey": "Accesskey Secret",
"PhoneNumbers": "أرقام الهواتف",
"octopushPhoneNumber": "رقم الهاتف (تنسيق intl على سبيل المثال ",
"octopushSMSSender": "اسم مرسل الرسائل القصيرة",
"LunaSea Device ID": "معرف جهاز Lunasea",
"Apprise URL": "إبلاغ عنوان URL",
"Example:": "مثال: {0}",
"Read more:": "{0} :قراءة المزيد",
"Status:": "{0} :حالة",
"Strategy": "إستراتيجية",
"Free Mobile User Identifier": "معرف مستخدم الهاتف المحمول المجاني",
"Free Mobile API Key": "مفتاح واجهة برمجة تطبيقات مجانية للهاتف المحمول",
"Enable TLS": "تمكين TLS",
"Proto Service Name": "اسم خدمة البروتو",
"Proto Method": "طريقة البروتو",
"Proto Content": "محتوى proto",
"Economy": "اقتصاد",
"Lowcost": "تكلفة منخفضة",
"high": "عالي",
"SendKey": "Sendkey",
"SMSManager API Docs": "مستندات SMSManager API ",
"Gateway Type": "نوع البوابة",
"You can divide numbers with": "يمكنك تقسيم الأرقام مع",
"Base URL": "عنوان URL الأساسي",
"goAlertInfo": "الهدف هو تطبيق مفتوح المصدر لجدولة الجدولة التلقائية والإشعارات (مثل الرسائل القصيرة أو المكالمات الصوتية). إشراك الشخص المناسب تلقائيًا بالطريقة الصحيحة وفي الوقت المناسب! {0}",
"goAlertIntegrationKeyInfo": "احصل على مفتاح تكامل API العام للخدمة في هذا التنسيق \"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\" عادةً قيمة المعلمة الرمزية لعنوان url المنسق.",
"TemplateCode": "TemplateCode",
"SignName": "اسم تسجيل الدخول",
"Sms template must contain parameters: ": "يجب أن يحتوي قالب الرسائل القصيرة على معلمات: ",
"Bark Endpoint": "نقطة نهاية اللحاء",
"Bark Group": "مجموعة اللحاء",
"Bark Sound": "صوت اللحاء",
"WebHookUrl": "webhookurl",
"SecretKey": "Secretkey",
"For safety, must use secret key": "للسلامة يجب استخدام المفتاح السري",
"Device Token": "رمز الجهاز",
"Platform": "منصة",
"Android": "ذكري المظهر",
"Huawei": "هواوي",
"High": "عالٍ",
"Retry": "إعادة المحاولة",
"Topic": "عنوان",
"WeCom Bot Key": "WECOM BOT KEY",
"Setup Proxy": "وكيل الإعداد",
"Proxy Protocol": "بروتوكول الوكيل",
"Proxy Server": "مخدم بروكسي",
"Proxy server has authentication": "خادم الوكيل لديه مصادقة",
"promosmsTypeEco": "SMS Eco - رخيصة ولكن بطيئة وغالبًا ما تكون محملة. يقتصر فقط على المستفيدين البولنديين.",
"promosmsTypeFlash": "SMS Flash - سيتم عرض الرسالة تلقائيًا على جهاز المستلم. يقتصر فقط على المستفيدين البولنديين.",
"promosmsTypeFull": "SMS Full - Tier Premium SMS يمكنك استخدام اسم المرسل الخاص بك (تحتاج إلى تسجيل الاسم أولاً). موثوقة للتنبيهات.",
"promosmsTypeSpeed": "سرعة الرسائل القصيرة - أولوية قصوى في النظام. سريع وموثوق للغاية ولكنه مكلف (حوالي مرتين من الرسائل القصيرة السعر الكامل).",
"promosmsPhoneNumber": "رقم الهاتف (للمستلم البولندي ، يمكنك تخطي رموز المنطقة)",
"matrixDesc2": "يوصى بشدة بإنشاء مستخدم جديد ولا تستخدم رمز الوصول إلى مستخدم Matrix الخاص بك لأنه سيتيح الوصول الكامل إلى حسابك وجميع الغرف التي انضمت إليها. بدلاً من ذلك ، قم بإنشاء مستخدم جديد ودعوته فقط إلى الغرفة التي تريد تلقيها الإشعار فيها. يمكنك الحصول على رمز الوصول عن طريق تشغيل {0}",
"Channel Name": "اسم القناة",
"promosmsSMSSender": "اسم مرسل الرسائل القصيرة",
"promosmsAllowLongSMS": "السماح الرسائل القصيرة الطويلة",
"Feishu WebHookUrl": "Feishu Webhookurl",
"matrixHomeserverURL": "عنوان URL HomeServer (مع HTTP (S)",
"Internal Room Id": "معرف الغرفة الداخلية",
"matrixDesc1": "يمكنك العثور على معرف الغرفة الداخلي من خلال البحث في القسم المتقدم من إعدادات الغرفة في عميل Matrix الخاص بك. يجب أن تبدو مثل! QMDRCPUIFLWSFJXYE6",
"Uptime Kuma URL": "UPTIME KUMA URL",
"Icon Emoji": "أيقونة الرموز التعبيرية",
"signalImportant": "مهم",
"aboutWebhooks": "مزيد من المعلومات حول Webhooks ON",
"aboutChannelName": "أدخل اسم القناة في حقل اسم القناة {0} إذا كنت تريد تجاوز قناة WebHook. السابق",
"aboutKumaURL": "إذا تركت حقل URL في وقت التشغيل KUMA فارغًا ، فسيتم افتراضيًا إلى صفحة GitHub Project.",
"smtpDkimSettings": "إعدادات DKIM",
"smtpDkimDesc": "يرجى الرجوع إلى Nodemailer dkim {0} للاستخدام.",
"documentation": "توثيق",
"smtpDkimDomain": "اسم النطاق",
"smtpDkimKeySelector": "المحدد الرئيسي",
"smtpDkimPrivateKey": "مفتاح سري",
"smtpDkimHashAlgo": "خوارزمية التجزئة (اختياري)",
"smtpDkimheaderFieldNames": "مفاتيح الرأس للتوقيع (اختياري)",
"smtpDkimskipFields": "مفاتيح الرأس لا توقيع (اختياري)",
"wayToGetPagerDutyKey": "يمكنك الحصول على هذا عن طريق الانتقال إلى الخدمة -> دليل الخدمة -> (حدد خدمة) -> تكامل -> إضافة التكامل. هنا يمكنك البحث عن \"Events API V2\". مزيد من المعلومات {0}",
"Integration Key": "مفتاح التكامل",
"Integration URL": "URL تكامل",
"do nothing": "لا تفعل شيئا",
"alertaApiEndpoint": "نقطة نهاية API",
"alertaEnvironment": "بيئة",
"alertaApiKey": "مفتاح API",
"alertaAlertState": "حالة التنبيه",
"alertaRecoverState": "استعادة الدولة",
"auto acknowledged": "",
"auto resolve": "",
"serwersmsAPIUser": "اسم مستخدم API (بما في ذلك بادئة WebAPI_)",
"serwersmsAPIPassword": "كلمة مرور API",
"serwersmsPhoneNumber": "رقم الهاتف",
"serwersmsSenderName": "اسم مرسل الرسائل القصيرة (مسجل عبر بوابة العملاء)",
"smseagleTo": "أرقام الهواتف)",
"smseagleGroup": "اسم مجموعة كتب الهاتف (S)",
"smseagleContact": "كتاب الاتصال اسم (S)",
"smseagleRecipientType": "نوع المستلم",
"smseagleRecipient": "المتلقي (المتلقيين) (يجب فصل المتعددة مع فاصلة)",
"smseagleToken": "API وصول الرمز المميز",
"smseagleUrl": "عنوان URL لجهاز SMSEGLE الخاص بك",
"smseagleEncoding": "إرسال Unicode",
"smseaglePriority": "أولوية الرسالة (0-9 افتراضي = 0)",
"Recipient Number": "رقم المستلم",
"From Name/Number": "من الاسم/الرقم",
"Leave blank to use a shared sender number.": "اترك فارغًا لاستخدام رقم المرسل المشترك.",
"Octopush API Version": "إصدار Octopush API",
"Legacy Octopush-DM": "Legacy Octopush-DM",
"ntfy Topic": "موضوع ntfy",
"onebotHttpAddress": "OneBot HTTP عنوان",
"onebotMessageType": "نوع رسالة OneBot",
"onebotGroupMessage": "مجموعة",
"onebotPrivateMessage": "خاص",
"onebotUserOrGroupId": "معرف المجموعة/المستخدم",
"onebotSafetyTips": "للسلامة يجب ضبط الرمز المميز للوصول",
"PushDeer Key": "مفتاح PushDeer",
"wayToGetClickSendSMSToken": "يمكنك الحصول على اسم مستخدم API ومفتاح API من {0}.",
"Custom Monitor Type": "نوع الشاشة المخصص",
"Google Analytics ID": "معرف Google Analytics",
"Edit Tag": "تحرير العلامة",
"Server Address": "عنوان المستقبل",
"Learn More": "يتعلم أكثر",
"apiKeyAddedMsg": "تمت إضافة مفتاح API خاص بك. يرجى تدوين ذلك لأنه لن يتم عرضه مرة أخرى.",
"No API Keys": "لا توجد مفاتيح API",
"apiKey-inactive": "غير نشط",
"disableAPIKeyMsg": "هل أنت متأكد أنك تريد تعطيل مفتاح API هذا؟",
"deleteAPIKeyMsg": "هل أنت متأكد أنك تريد حذف مفتاح API هذا؟",
"Auto Get": "الحصول التلقائي",
"Auto resolve or acknowledged": "",
"backupDescription2": "ملحوظة",
"languageName": "العربية",
"Game": "الألعاب",
"List": "قائمة",
"statusMaintenance": "الصيانة"
}

@ -681,7 +681,7 @@
"infiniteRetention": "Задайте стойност 0 за безкрайно съхранение.",
"Monitor": "Монитор | Монитори",
"dataRetentionTimeError": "Периодът на съхранение трябва да е 0 или по-голям",
"confirmDeleteTagMsg": "Сигурни ли сте, че желаете да изтриете този таг? Мониторите, свързани с него, няма да бъдат изтрити.",
"confirmDeleteTagMsg": "Сигурни ли сте, че желаете да изтриете този етикет? Мониторите, свързани с него, няма да бъдат изтрити.",
"promosmsAllowLongSMS": "Позволи дълъг SMS",
"Packet Size": "Размер на пакет",
"Custom Monitor Type": "Потребителски тип монитор",
@ -694,7 +694,7 @@
"confirmUninstallPlugin": "Сигурни ли сте, че желаете да деинсталирате този плъгин?",
"markdownSupported": "Поддържа се Markdown синтаксис",
"Google Analytics ID": "Google Analytics ID",
"Edit Tag": "Редактиране на таг",
"Edit Tag": "Редактиране на етикет",
"Learn More": "Научете повече",
"Server Address": "Сървър адрес",
"notificationRegional": "Регионални",
@ -734,5 +734,9 @@
"wayToGetPagerTreeIntegrationURL": "След като създадете интеграция на Uptime Kuma в PagerTree, копирайте крайната точка. За пълни подробности вижте {0}",
"pagertreeIntegrationUrl": "URL Адрес за интеграция",
"pagertreeMedium": "Средна",
"pagertreeCritical": "Критична"
"pagertreeCritical": "Критична",
"Add New Tag": "Добави нов етикет",
"lunaseaTarget": "Цел",
"lunaseaDeviceID": "ID на устройството",
"lunaseaUserID": "ID на потребител"
}

@ -734,5 +734,9 @@
"pagertreeIntegrationUrl": "Integrační URL",
"pagertreeMedium": "Středně",
"pagertreeHigh": "Nahlas",
"wayToGetPagerTreeIntegrationURL": "Po vytvoření integrace Uptime Kuma v aplikaci PagerTree zkopírujte koncový bod. Zobrazit všechny podrobnosti {0}"
"wayToGetPagerTreeIntegrationURL": "Po vytvoření integrace Uptime Kuma v aplikaci PagerTree zkopírujte koncový bod. Zobrazit všechny podrobnosti {0}",
"Add New Tag": "Přidat nový štítek",
"lunaseaTarget": "Cíl",
"lunaseaDeviceID": "ID zařízení",
"lunaseaUserID": "ID uživatele"
}

@ -23,7 +23,7 @@
"Status": "Status",
"DateTime": "Dato / Tid",
"Message": "Beskeder",
"No important events": "Inden vigtige begivenheder",
"No important events": "Ingen vigtige begivenheder",
"Resume": "Fortsæt",
"Edit": "Rediger",
"Delete": "Slet",
@ -43,7 +43,7 @@
"URL": "URL",
"Hostname": "Hostname",
"Port": "Port",
"Heartbeat Interval": "Taktinterval",
"Heartbeat Interval": "Hjerteslag interval",
"Retries": "Gentagelser",
"retriesDescription": "Maksimalt antal gentagelser, før tjenesten markeres som inaktiv og sender en meddelelse.",
"Advanced": "Avanceret",
@ -152,7 +152,7 @@
"Options": "Valgmuligheder",
"Keep both": "Behold begge",
"Tags": "Etiketter",
"Add New below or Select...": "Tilføj Nyt nedenfor eller Vælg ...",
"Add New below or Select...": "Tilføj Ny nedenfor eller Vælg…",
"Tag with this name already exist.": "Et Tag med dette navn findes allerede.",
"Tag with this value already exist.": "Et Tag med denne værdi findes allerede.",
"color": "farve",
@ -165,7 +165,7 @@
"Indigo": "Indigo",
"Purple": "Lilla",
"Pink": "Pink",
"Search...": "Søg...",
"Search...": "Søg",
"Avg. Ping": "Gns. Ping",
"Avg. Response": "Gns. Respons",
"Entry Page": "Entry Side",
@ -225,7 +225,7 @@
"smtpCC": "CC",
"smtpBCC": "BCC",
"Discord Webhook URL": "Discord Webhook URL",
"wayToGetDiscordURL": "Du kan få dette ved at gå til Serverindstillinger -> Integrationer -> Opret webhook ",
"wayToGetDiscordURL": "Du kan få dette ved at gå til Serverindstillinger -> Integrationer -> Opret webhook",
"Bot Display Name": "Bot Visningsnavn",
"Prefix Custom Message": "Præfiks Brugerdefineret Besked",
"Hello @everyone is...": "Hello {'@'}everyone is...",
@ -313,7 +313,7 @@
"Security": "Sikkerhed",
"Steam API Key": "Steam API-nøgle",
"Shrink Database": "Krymp Database",
"Pick a RR-Type...": "Vælg en RR-Type...",
"Pick a RR-Type...": "Vælg en RR-Type",
"Pick Accepted Status Codes...": "Vælg Accepterede Statuskoder...",
"Default": "Standard",
"HTTP Options": "HTTP Valgmuligheder",
@ -507,5 +507,78 @@
"weekdayShortTue": "Tir",
"dnsPortDescription": "DNS server port. Standardværdien er 53. Du kan altid ændre porten.",
"Valid To:": "Gyldig til:",
"Domain Name Expiry Notification": "Notifikation om udløb af domænenavn"
"Domain Name Expiry Notification": "Notifikation om udløb af domænenavn",
"Custom Monitor Type": "Brugerdefineret overvågningstype",
"API Keys": "API Nøgler",
"Don't expire": "Udløb aldrig",
"Continue": "Fortsæt",
"Add Another": "Tilføj en mere",
"Key Added": "Nøgle tilføjet",
"Add API Key": "Tilføj API Nøgle",
"No API Keys": "Ingen API nøgler",
"apiKey-active": "Aktiv",
"apiKey-expired": "Udløbet",
"apiKey-inactive": "Inaktiv",
"disableAPIKeyMsg": "Er du sikker på du vil deaktivere denne API nøgle?",
"Generate": "Generér",
"Game": "Spil",
"General Monitor Type": "Generel Overvågningstype",
"Clone Monitor": "Duplikér overvågning",
"Clone": "Duplikér",
"cloneOf": "Kopi af {0}",
"promosmsLogin": "API Login Navn",
"pushoversounds siren": "Sirene",
"pushoversounds none": "Ingen (lydløs)",
"smtpDkimSettings": "DKIM Indstillinger",
"documentation": "dokumentation",
"smtpDkimDomain": "Domænenavn",
"smtpDkimPrivateKey": "Privat nøgle",
"alertaApiEndpoint": "API Slutpunkt",
"alertaApiKey": "API Nøgle",
"smseagleEncoding": "Send som Unicode",
"onebotHttpAddress": "OneBot HTTP Adresse",
"onebotMessageType": "OneBot Meddelelse Type",
"onebotGroupMessage": "Gruppe",
"onebotPrivateMessage": "Privat",
"onebotUserOrGroupId": "Gruppe/Bruger ID",
"promosmsPassword": "API Adgangskode",
"recurringIntervalMessage": "Kør hver dag | Kør hver {0}. dag",
"smseagleTo": "Telefon numre",
"pagertreeIntegrationUrl": "Integration URL",
"pagertreeSilent": "Lydløs",
"pagertreeLow": "Lav",
"pagertreeMedium": "Mellem",
"pagertreeHigh": "Høj",
"pagertreeCritical": "Kritisk",
"pushoversounds vibrate": "Kun Vibration",
"Server Address": "Server Adresse",
"pauseMaintenanceMsg": "Er du sikker på du vil pause?",
"Recurring": "Tilbagevendende",
"Enable TLS": "Aktivér TLS",
"high": "høj",
"Base URL": "Base URL",
"Platform": "Platform",
"Android": "Android",
"Huawei": "Huawei",
"Retry": "Forsøg igen",
"Topic": "Emne",
"Setup Proxy": "Opsæt Proxy",
"Proxy Server": "Proxy Server",
"wayToGetClickSendSMSToken": "Du kan få API brugernavn og API nøgle fra {0} .",
"PushDeer Key": "PushDeer Nøgle",
"The resource is no longer available.": "Denne ressource er ikke længere tilgængelig.",
"Proxy Protocol": "Proxy Protokol",
"Integration Key": "Integration Nøgle",
"Integration URL": "Integration URL",
"do nothing": "gør intet",
"Passive Monitor Type": "Passiv Overvågningstype",
"Most likely causes:": "Mest sandsynlige årsager:",
"statusPageMaintenanceEndDate": "Slut",
"pushoversounds magic": "Magisk",
"pushoversounds mechanical": "Mekanisk",
"pushyAPIKey": "Hemmelig API Nøgle",
"Expiry date": "Udløbsdato",
"Expires": "Udløber",
"deleteAPIKeyMsg": "Er du sikker på du vil slette denne API nøgle?",
"pagertreeDoNothing": "Gør intet"
}

@ -135,7 +135,7 @@
"Options": "Optionen",
"confirmImportMsg": "Möchtest du das Backup wirklich importieren? Bitte stelle sicher, dass die richtige Import-Option ausgewählt ist.",
"Keep both": "Beide behalten",
"twoFAVerifyLabel": "Bitte trage deinen Token ein, um zu verifizieren, dass 2FA funktioniert",
"twoFAVerifyLabel": "Bitte trage deinen Token ein, um zu verifizieren, dass 2FA funktioniert:",
"Verify Token": "Token verifizieren",
"Setup 2FA": "2FA einrichten",
"Enable 2FA": "2FA aktivieren",
@ -231,7 +231,7 @@
"smtpCC": "CC",
"smtpBCC": "BCC",
"Discord Webhook URL": "Discord Webhook URL",
"wayToGetDiscordURL": "Du kannst diese erhalten, indem du zu den Servereinstellungen gehst -> Integrationen -> Neuer Webhook",
"wayToGetDiscordURL": "Du kannst diese erhalten, indem du zu den Servereinstellungen gehst -> Notifikationen -> Webhooks -> Neuer Webhook",
"Bot Display Name": "Bot-Anzeigename",
"Prefix Custom Message": "Benutzerdefinierter Nachrichten Präfix",
"Hello @everyone is...": "Hallo {'@'}everyone ist…",
@ -560,7 +560,7 @@
"Domain": "Domain",
"Workstation": "Workstation",
"disableCloudflaredNoAuthMsg": "Du bist im nicht-authentifizieren Modus, ein Passwort wird nicht benötigt.",
"trustProxyDescription": "Vertraue 'X-Forwarded-*' headern. Wenn man die richtige client IP haben möchte und Uptime Kuma hinter einem Proxy wie Nginx or Apache läuft, wollte dies aktiviert werden.",
"trustProxyDescription": "Vertraue 'X-Forwarded-*' headern. Wenn man die richtige Client IP erhalten möchte und Uptime Kuma hinter einem Proxy wie Nginx oder Apache läuft, sollte dies aktiviert werden.",
"wayToGetLineNotifyToken": "Du kannst hier ein Token erhalten: {0}",
"Examples": "Beispiele",
"Home Assistant URL": "Home Assistant URL",
@ -593,12 +593,12 @@
"goAlertInfo": "GoAlert ist eine Open-Source Applikation für Rufbereitschaftsplanung, automatische Eskalation und Benachrichtigung (z.B. SMS oder Telefonanrufe). Beauftragen Sie automatisch die richtige Person, auf die richtige Art und Weise und zum richtigen Zeitpunkt. {0}",
"goAlertIntegrationKeyInfo": "Bekommt einen generischen API Schlüssel in folgenden Format \"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee\". Normalerweise entspricht dies dem Wert des Token aus der URL.",
"goAlert": "GoAlert",
"backupOutdatedWarning": "Veraltet: Eine menge Neuerungen sind eingeflossen und diese Funktion wurde etwas vernachlässigt worden. Es kann kein vollständiges Backup erstellt oder eingespielt werden.",
"backupOutdatedWarning": "Veraltet: Da viele Funktionen hinzugefügt wurden und die Backupfunktion nicht mehr gepflegt wird, kann keine vollständige Sicherung erstellt oder wiederhergestellt werden.",
"backupRecommend": "Bitte Backup das Volume oder den Ordner (./ data /) selbst.",
"Optional": "Optional",
"squadcast": "Squadcast",
"SendKey": "SendKey",
"SMSManager API Docs": "SMSManager API Dokumente",
"SMSManager API Docs": "SMSManager API Dokumente ",
"Gateway Type": "Gateway Type",
"SMSManager": "SMSManager",
"You can divide numbers with": "Du kannst Zahlen teilen mit",
@ -629,5 +629,111 @@
"maintenanceStatus-ended": "Ende",
"maintenanceStatus-unknown": "Unbekannt",
"Display Timezone": "Zeitzone anzeigen",
"Server Timezone": "Server Zeitzone"
"Server Timezone": "Server Zeitzone",
"telegramMessageThreadID": "(Optional) Nachrichten Thread ID",
"telegramMessageThreadIDDescription": "Optionale eindeutige Kennung für den Ziel-Thread (Thema) des Forums; nur für Forum-Supergroups",
"Enable": "Aktivieren",
"telegramProtectContent": "Schütze gegen Weiterleiten/Speichern der Nachricht",
"telegramProtectContentDescription": "Die Bot-Nachrichten in Telegram sind gegen Weiterleitung und Speichern geschützt.",
"Disable": "Deaktivieren",
"plugin": "Plugin | Plugins",
"installing": "Installiere",
"uninstall": "Deinstallieren",
"uninstalling": "Deinstalliere",
"confirmUninstallPlugin": "Möchten Sie dieses Plugin wirklich deinstallieren?",
"notificationRegional": "Regional",
"Single Maintenance Window": "Einmaliges Wartungsfenster",
"dnsCacheDescription": "In einigen IPv6-Umgebungen funktioniert es möglicherweise nicht. Deaktivieren Sie es, wenn Sie auf Probleme stossen.",
"Maintenance Time Window of a Day": "Wartungszeitfenster eines Tages",
"Effective Date Range": "Gültigkeitsbereich",
"Schedule Maintenance": "Wartung planen",
"Date and Time": "Datum und Uhrzeit",
"DateTime Range": "Datums- und Zeitbereich",
"telegramSendSilently": "Stumm senden",
"telegramSendSilentlyDescription": "Sende die Nachricht stumm. Nutzer bekommen eine Benachrichtigung ohne Ton.",
"markdownSupported": "Markdown-Syntax unterstützt",
"webhookAdditionalHeadersTitle": "Zusätzliche Header",
"webhookAdditionalHeadersDesc": "Legt zusätzliche Kopfzeilen fest, die mit dem Webhook gesendet werden.",
"Packet Size": "Paketgrösse",
"IconUrl": "Symbol URL",
"Enable DNS Cache": "DNS Cache aktivieren",
"Help": "Hilfe",
"Game": "Spiel",
"General Monitor Type": "Allgemeiner Monitortyp",
"Passive Monitor Type": "Passiver Monitortyp",
"Specific Monitor Type": "Spezifischer Monitortyp",
"Monitor": "Überwachung | Monitore",
"Custom": "Benutzerdefiniert",
"statusPageMaintenanceEndDate": "Ende",
"loadingError": "Die Daten konnten nicht abgerufen werden, bitte später noch einmal versuchen.",
"install": "Installieren",
"Body Encoding": "Body Encoding",
"Custom Monitor Type": "Benutzerdefinierter Monitortyp",
"Expiry": "Ablauf",
"Expiry date": "Ablaufdatum",
"Don't expire": "Nicht ablaufen",
"Add Another": "Hinzufügen",
"Key Added": "Schlüssel hinzugefügt",
"apiKeyAddedMsg": "Ihr API Schlüssel wurde hinzugefügt. Bitte notieren Sie Ihn, da er nicht erneut angezeigt wird.",
"Add API Key": "API Schlüssel hinzufügen",
"No API Keys": "Kein API Schlüssel",
"apiKey-active": "Aktiv",
"apiKey-expired": "Abgelaufen",
"apiKey-inactive": "Inaktiv",
"Expires": "Läuft ab",
"disableAPIKeyMsg": "Sind Sie sicher, dass Sie diesen API Schlüssel deaktivieren möchten?",
"deleteAPIKeyMsg": "Sind Sie sicher, dass Sie diesen API Schlüssel löschen möchten?",
"Generate": "Generieren",
"infiniteRetention": "Für unendliche Speicherung auf 0 setzen.",
"dataRetentionTimeError": "Aufbewahrungsfrist muss grösser oder gleich 0 sein",
"Clone Monitor": "Monitor klonen",
"Clone": "Klonen",
"cloneOf": "Klon von {0}",
"wayToGetZohoCliqURL": "Wie eine Webhook URL erstellt werden kann, erfährst du {0}.",
"enableGRPCTls": "Senden von gRPC Anforderungen mit TLS Verbindung zulassen",
"grpcMethodDescription": "Der Name der Methode wird in das \"cammelCase \"-Format konvertiert (z.B. sayHello, check, etc.)",
"wayToGetKookGuildID": "Schalten Sie den „Entwicklermodus“ in den Kook-Einstellungen ein und klicken Sie mit der rechten Maustaste auf die Gilde, um ihre ID zu erhalten",
"Guild ID": "Gilde ID",
"Lowcost": "Kostengünstig",
"high": "hoch",
"Google Analytics ID": "Google Analytics ID",
"Enable TLS": "TLS aktivieren",
"Free Mobile API Key": "Kostenloser Mobile API Schlüssel",
"Proto Service Name": "Proto Dienst Name",
"Proto Method": "Proto Methode",
"Proto Content": "Proto Inhalt",
"Economy": "Economy",
"pagertreeIntegrationUrl": "Integrations-URL",
"pagertreeUrgency": "Dringlichkeit",
"pagertreeSilent": "Stumm",
"pagertreeLow": "Niedrig",
"pagertreeMedium": "Mittel",
"pagertreeHigh": "Hoch",
"pagertreeCritical": "Kritisch",
"pagertreeResolve": "Automatisch auflösen",
"pagertreeDoNothing": "Nichts tun",
"wayToGetPagerTreeIntegrationURL": "Nachdem Sie die Uptime Kuma Integration in PagerTree erstellt haben, kopieren Sie den Endpunkt. Siehe vollständige Details {0}",
"Server Address": "Serveradresse",
"Learn More": "Erfahre mehr",
"Edit Tag": "Tag editieren",
"promosmsAllowLongSMS": "Lange SMS erlauben",
"smseagleRecipientType": "Empfängertyp",
"smseagleToken": "API Zugriffstoken",
"smseagleTo": "Telefonnummer(n)",
"smseagleUrl": "Ihre SMSEagle Geräte URL",
"smseagleEncoding": "Als Unicode senden",
"smseaglePriority": "Nachrichtenpriorität (0-9, Standard = 0)",
"smseagleContact": "Telefonbuch Kontaktname(n)",
"confirmDeleteTagMsg": "Sind Sie sicher, dass Sie diesen Tag löschen möchten? Monitore, die mit diesem Tag verknüpft sind, werden nicht gelöscht.",
"wayToGetKookBotToken": "Erstellen Sie eine Anwendung und erhalten Sie Ihren Bot-Token unter {0}",
"Strategy": "Strategie",
"Free Mobile User Identifier": "Kostenlose mobile Benutzerkennung",
"smseagleGroup": "Telefonbuch Gruppenname(n)",
"smseagleRecipient": "Empfänger (mehrere müssen durch Komma getrennt werden)",
"API Keys": "API Schlüssel",
"Continue": "Weiter",
"Add New Tag": "Neuen Tag hinzufügen",
"lunaseaTarget": "Ziel",
"lunaseaDeviceID": "Geräte-ID",
"lunaseaUserID": "Benutzer-ID"
}

@ -734,5 +734,9 @@
"telegramMessageThreadID": "(Optional) Nachrichten Thread ID",
"telegramMessageThreadIDDescription": "Optionale eindeutige Kennung für den Ziel-Thread (Thema) des Forums; nur für Forum-Supergroups",
"telegramSendSilently": "Stumm Senden",
"telegramSendSilentlyDescription": "Sende die Nachricht stumm. Nutzer bekommen eine Benachrichtigung ohne Ton."
"telegramSendSilentlyDescription": "Sende die Nachricht stumm. Nutzer bekommen eine Benachrichtigung ohne Ton.",
"Add New Tag": "Neuen Tag hinzufügen",
"lunaseaDeviceID": "Geräte-ID",
"lunaseaTarget": "Ziel",
"lunaseaUserID": "Benutzer-ID"
}

@ -154,6 +154,7 @@
"Token": "Token",
"Show URI": "Show URI",
"Tags": "Tags",
"Add New Tag": "Add New Tag",
"Add New below or Select...": "Add New below or Select…",
"Tag with this name already exist.": "Tag with this name already exists.",
"Tag with this value already exist.": "Tag with this value already exists.",
@ -442,7 +443,6 @@
"Clone Monitor": "Clone Monitor",
"Clone": "Clone",
"cloneOf": "Clone of {0}",
"Description": "Description",
"smtp": "Email (SMTP)",
"secureOptionNone": "None / STARTTLS (25, 587)",
"secureOptionTLS": "TLS (465)",
@ -703,5 +703,8 @@
"pagertreeCritical": "Critical",
"pagertreeResolve": "Auto Resolve",
"pagertreeDoNothing": "Do Nothing",
"wayToGetPagerTreeIntegrationURL": "After creating the Uptime Kuma integration in PagerTree, copy the Endpoint. See full details {0}"
"wayToGetPagerTreeIntegrationURL": "After creating the Uptime Kuma integration in PagerTree, copy the Endpoint. See full details {0}",
"lunaseaTarget": "Target",
"lunaseaDeviceID": "Device ID",
"lunaseaUserID": "User ID"
}

@ -1,10 +1,10 @@
{
"languageName": "eesti",
"retryCheckEverySecond": "Kontrolli {0} sekundilise vahega.",
"retriesDescription": "Mitu korda tuleb kontrollida, mille järel märkida 'maas' ja saata välja teavitus.",
"ignoreTLSError": "Eira TLS/SSL viga HTTPS veebisaitidel.",
"retryCheckEverySecond": "Kontrolli {0} sekundilise vahega",
"retriesDescription": "Mitu korda tuleb kontrollida, mille järel märkida 'maas' ja saata välja teavitus",
"ignoreTLSError": "Eira TLS/SSL viga HTTPS veebisaitidel",
"upsideDownModeDescription": "Käitle teenuse saadavust rikkena, teenuse kättesaamatust töötavaks.",
"maxRedirectDescription": "Suurim arv ümbersuunamisi, millele järgida. 0 ei luba ühtegi ",
"maxRedirectDescription": "Suurim arv ümbersuunamisi, millele järgida. 0 ei luba ühtegi.",
"acceptedStatusCodesDescription": "Vali välja HTTP koodid, mida arvestada kõlblikuks.",
"passwordNotMatchMsg": "Salasõnad ei kattu.",
"notificationDescription": "Teavitusteenuse kasutamiseks seo see seirega.",
@ -19,7 +19,7 @@
"Status Page": "Ülevaade",
"Status Pages": "Ülevaated",
"Dashboard": "Töölaud",
"New Update": "Uuem tarkvara versioon on saadaval.",
"New Update": "Uuem tarkvara versioon on saadaval",
"Language": "Keel",
"Appearance": "Välimus",
"Theme": "Teema",
@ -40,7 +40,7 @@
"Status": "Olek",
"DateTime": "Kuupäev",
"Message": "Tulemus",
"No important events": "Märkimisväärsed juhtumid puuduvad.",
"No important events": "Märkimisväärsed juhtumid puuduvad",
"Resume": "Taasta",
"Edit": "Muuda",
"Delete": "Eemalda",
@ -81,26 +81,26 @@
"Allow indexing": "Luba indekseerimine",
"Discourage search engines from indexing site": "Keela selle saidi indekseerimine otsimootorite poolt",
"Change Password": "Muuda parooli",
"Current Password": "praegune parool",
"New Password": "uus parool",
"Repeat New Password": "korda salasõna",
"Update Password": "Uuenda salasõna",
"Current Password": "Praegune parool",
"New Password": "Uus parool",
"Repeat New Password": "Korda uut parooli",
"Update Password": "Uuenda parooli",
"Disable Auth": "Lülita autentimine välja",
"Enable Auth": "Lülita autentimine sisse",
"disableauth.message1": "Kas soovid <strong>lülitada autentimise välja</strong>?",
"disableauth.message2": "Kastuamiseks <strong>välise autentimispakkujaga</strong>, näiteks Cloudflare Access.",
"Please use this option carefully!": "Palun kasuta vastutustundlikult.",
"Please use this option carefully!": "Palun kasuta seda valikut vastutustundlikult!",
"Logout": "Logi välja",
"Leave": "Lahku",
"I understand, please disable": "Olen tutvunud riskidega, lülita välja",
"Confirm": "Kinnita",
"Yes": "Jah",
"No": "Ei",
"Username": "kasutajanimi",
"Password": "parool",
"Username": "Kasutajanimi",
"Password": "Parool",
"Remember me": "Mäleta mind",
"Login": "Logi sisse",
"No Monitors, please": "Seired puuduvad.",
"No Monitors, please": "Seired puuduvad, palun",
"add one": "Lisa esimene",
"Notification Type": "Teavituse tüüp",
"Email": "e-posti aadress",
@ -141,9 +141,9 @@
"Disable 2FA": "Lülita 2FA välja",
"2FA Settings": "2FA seaded",
"Two Factor Authentication": "Kaksikautentimine",
"Active": "kasutusel",
"Inactive": "seadistamata",
"Token": "kaksikautentimise kood",
"Active": "Aktiivne",
"Inactive": "Mitteaktiivne",
"Token": "Kaksikautentimise kood",
"Show URI": "Näita URId",
"Clear all statistics": "Tühjenda ajalugu",
"importHandleDescription": "'kombineeri' täiendab varukoopiast ja kirjutab üle samanimelised seireid ja teavitusteenused; 'lisa praegustele' jätab olemasolevad puutumata; 'asenda' kustutab ja asendab kõik seired ja teavitusteenused.",
@ -152,9 +152,9 @@
"Import Backup": "Varukoopia importimine",
"Export Backup": "Varukoopia eksportimine",
"Skip existing": "lisa praegustele",
"Overwrite": "asenda",
"Overwrite": "Asenda",
"Options": "Mestimisviis",
"Keep both": "kombineeri",
"Keep both": "Kombineeri",
"Tags": "Sildid",
"Add New below or Select...": "Leia või lisa all uus…",
"Tag with this name already exist.": "Selle nimega silt on juba olemas.",
@ -174,14 +174,14 @@
"Avg. Response": "Keskmine reaktsiooniaeg",
"Entry Page": "Avaleht",
"statusPageNothing": "Kippu ega kõppu; siia saab lisada seireid või -gruppe.",
"No Services": "Teenused puuduvad.",
"No Services": "Teenused puuduvad",
"All Systems Operational": "Kõik töökorras",
"Partially Degraded Service": "Teenuse töö osaliselt häiritud",
"Degraded Service": "Teenuse töö häiritud",
"Add Group": "Lisa grupp",
"Edit Status Page": "Muuda lehte",
"Go to Dashboard": "Töölauale",
"checkEverySecond": "Kontrolli peale tõrget {0} sekundilise vahega.",
"checkEverySecond": "Kontrolli peale tõrget {0} sekundilise vahega",
"telegram": "Telegram",
"webhook": "Webhook",
"smtp": "elektronpost (SMTP)",
@ -205,5 +205,114 @@
"alertaEnvironment": "Keskkond",
"alertaApiKey": "API võti",
"alertaAlertState": "Häireseisund",
"alertaRecoverState": "Taasta algolek"
"alertaRecoverState": "Taasta algolek",
"Game": "Mäng",
"Primary Base URL": "Peamine baas URL",
"Passive Monitor Type": "Passiivne monitori tüüp",
"Specific Monitor Type": "Spetsiifiline monitori tüüp",
"resendDisabled": "Uuesti saatmine keelatud",
"Push URL": "Lükka URL",
"needPushEvery": "Sa peaksid kutsuma seda URL-i iga {0} sekundi tagant.",
"pushOptionalParams": "Valikulised parameetrid: {0}",
"Schedule maintenance": "Planeeri hooldus",
"All Status Pages": "Kõik staatuse lehed",
"Select status pages...": "Vali staatuse lehed…",
"Custom": "Kohandatud",
"here": "siin",
"Required": "Nõutud",
"Post URL": "Postita URL",
"Affected Monitors": "Mõjutatud monitorid",
"Pick Affected Monitors...": "Vali mõjutatud monitorid…",
"Start of maintenance": "Hoolduse algus",
"Content Type": "Sisu tüüp",
"webhookJsonDesc": "{0} on hea iga modernse HTTP serveri jaoks nagu Express.js",
"webhookAdditionalHeadersTitle": "Täiendavad päised",
"setAsDefault": "Lisa vaikimisi",
"deleteProxyMsg": "Kas Sa oled kindel, et soovid kustutada seda puhverserverit kõkidel monitoridel?",
"proxyDescription": "Puhverserverid tuleb lisada monitorile selle töötamiseks.",
"setAsDefaultProxyDescription": "See puhverserver aktiveeritakse vaikimisi uutel monitoridel. Sa saad keelata seda puhverserverit igal monitoril eraldi.",
"Certificate Chain": "Sertifikaadi kett",
"Valid": "Kehtiv",
"Invalid": "Kehtetu",
"User": "Kasutaja",
"Installed": "Paigaldatud",
"Not installed": "Ei ole installeeritud",
"Running": "Töötab",
"resendEveryXTimes": "Saada uuesti {0} korda",
"statusMaintenance": "Hooldus",
"Webhook URL": "",
"Server URL": "Serveri URL",
"Priority": "Tähtsus",
"emojiCheatSheet": "Emotikoni spikker: {0}",
"appriseInstalled": "Apprise on installitud.",
"appriseNotInstalled": "Apprise ei ole installitud. {0}",
"Method": "Meetod",
"Body": "Keha",
"Headers": "Päis",
"PushUrl": "Lükka URL",
"Monitor History": "Monitori ajalugu",
"PasswordsDoNotMatch": "Paroolid ei ühti.",
"records": "",
"Current User": "Praegune kasutaja",
"topic": "Teema",
"successMessage": "Edukas sõnum",
"recent": "Hiljutine",
"Info": "Info",
"Security": "Turvalisus",
"Steam API Key": "Steam API võti",
"Pick a RR-Type...": "Vali RR-tüüp…",
"Default": "Vaikimisi",
"HTTP Options": "HTTP valikud",
"Create Incident": "Loo intsident",
"Title": "Pealkiri",
"Content": "Sisu",
"Style": "Stiil",
"info": "info",
"warning": "hoiatus",
"danger": "oht",
"error": "viga",
"critical": "kriitiline",
"primary": "peamine",
"dark": "tume",
"light": "hele",
"Post": "Postita",
"Please input title and content": "Palun lisa pealkiri ja sisu",
"Created": "Loodud",
"Last Updated": "Viimati uuendatud",
"Unpin": "Vabastada",
"Switch to Dark Theme": "Vaheta tumedale teemale",
"Hide Tags": "Peida tagid",
"Show Tags": "Näita tagid",
"Description": "Kirjeldus",
"No monitors available.": "Ühtegi monitori ei ole saadaval.",
"Add one": "Lisa üks",
"No Monitors": "Ei ole monitore",
"Untitled Group": "Nimetamata grupp",
"Services": "Teenused",
"Cancel": "Tühista",
"Customize": "Kohanda",
"Custom Footer": "Kohandatud jalus",
"Custom CSS": "Kohandatud CSS",
"Proxies": "Puhverserverid",
"default": "Vaikimisi",
"enabled": "Lubatud",
"Not running": "Ei tööta",
"Start": "Alusta",
"Stop": "Peata",
"Add New Status Page": "Lisa uus staatuse leht",
"Shrink Database": "Vähenda andmebaasi",
"Help": "Abi",
"Maintenance": "Hooldus",
"General Monitor Type": "Üldine monitori tüüp",
"webhookAdditionalHeadersDesc": "Lisab täiendavad päised saadetud webhookiga.",
"Read more": "Loe rohkem",
"HeadersInvalidFormat": "",
"clearDataOlderThan": "Hoia monitori ajalugu alles {0} päeva.",
"steamApiKeyDescription": "Steam Game Serveri monitoorimiseks on vaja sul Steam Web-API võtit. Sa saad registreerida enda API võtme siin: ",
"Done": "Tehtud",
"Pick Accepted Status Codes...": "Vali vastu võetud staatuse koodid…",
"Switch to Light Theme": "Vaheta heledale teemale",
"Discard": "Loobu",
"deleteStatusPageMsg": "Kas Sa oled kindel, et soovid kustutada seda staatuse lehte?",
"Resend Notification if Down X times consecutively": "Saada teavitus uuesti kui monitor on rikkis X korda järjest"
}

@ -73,11 +73,11 @@
"Delete": "Supprimer",
"Current": "Actuellement",
"Uptime": "Disponibilité",
"Cert Exp.": "Expiration SSL.",
"Cert Exp.": "Expiration SSL",
"day": "jour | jours",
"-day": "-jour",
"hour": "heure",
"-hour": "-heure",
"-hour": "heures",
"Response": "Temps de réponse",
"Ping": "Ping",
"Monitor Type": "Type de sonde",
@ -734,5 +734,9 @@
"pagertreeDoNothing": "Ne fais rien",
"pagertreeIntegrationUrl": "URL d'intégration",
"pagertreeCritical": "Critique",
"wayToGetPagerTreeIntegrationURL": "Après avoir créé l'intégration Uptime Kuma dans PagerTree, copiez le fichier Endpoint. Voir tous les détails {0}"
"wayToGetPagerTreeIntegrationURL": "Après avoir créé l'intégration Uptime Kuma dans PagerTree, copiez le fichier Endpoint. Voir tous les détails {0}",
"lunaseaDeviceID": "Identifiant de l'appareil",
"lunaseaUserID": "Identifiant de l'utilisateur",
"Add New Tag": "Ajouter une étiquette",
"lunaseaTarget": "Cible"
}

@ -274,8 +274,8 @@
"Custom": "カスタム",
"Created": "作成日時",
"Resend Notification if Down X times consecutively": "X回連続でダウンしたら通知を再送する",
"webhookJsonDesc": "{0}はExpress.jsのような最新のHTTPサーバに適しています",
"webhookFormDataDesc": "{multipart}はPHPに適しています。このJSONは{decodeFunction}でデコードする必要があります",
"webhookJsonDesc": "{0}はExpress.jsのような最新のHTTPサーバに適しています",
"webhookFormDataDesc": "{multipart}はPHPに適しています。このJSONは{decodeFunction}でデコードする必要があります",
"appriseInstalled": "Appriseはインストール済みです。",
"emojiCheatSheet": "絵文字一覧: {0}",
"Inactive": "無効",
@ -320,7 +320,7 @@
"Home Assistant URL": "ホームアシスタントURL",
"Examples": "例",
"telegramMessageThreadID": "(オプション) メッセージスレッドID",
"wayToGetLineNotifyToken": "{0}からアクセストークンを入手できます",
"wayToGetLineNotifyToken": "{0}からアクセストークンを入手できます",
"Packet Size": "パケットサイズ",
"Bot Token": "ボットトークン",
"Chat ID": "チャットID",
@ -399,6 +399,118 @@
"telegramSendSilentlyDescription": "通知せずにメッセージを送信します。通知音がなりません。",
"supportTelegramChatID": "チャットやグループ、チャンネルのチャットIDに対応",
"wayToGetTelegramChatID": "ボットにメッセージを送信し、以下のURLを開くとチャットIDのchat_idを入手できます。",
"chatIDNotFound": "チャットIDが存在しません。最初にメッセージをボットに送信してください。",
"disableCloudflaredNoAuthMsg": "認証が無効化されているため、パスワードは必要ありません。"
"chatIDNotFound": "チャットIDが存在しません。最初にメッセージをボットに送信してください",
"disableCloudflaredNoAuthMsg": "認証が無効化されているため、パスワードは必要ありません。",
"API Keys": "APIキー管理",
"Expiry": "期限切れ",
"Expiry date": "有効期限",
"No API Keys": "API Keyがありません",
"deleteAPIKeyMsg": "本当にこのAPIキーを削除しますか",
"Generate": "生成",
"pauseMaintenanceMsg": "本当に一時停止しますか?",
"maintenanceStatus-under-maintenance": "メンテナンス中",
"secureOptionNone": "None / STARTTLS (25, 587)",
"smtp": "Email (SMTP)",
"Bot Display Name": "BOTの表示名",
"Prefix Custom Message": "メッセージの先頭に送信する文章",
"endpoint": "エンドポイント",
"Proxy Protocol": "Proxy Protocol",
"Google Analytics ID": "Google アナリティクス ID",
"Frontend Version do not match backend version!": "フロントエンドとバックエンドのバージョンが一致しません!",
"or": "または",
"Frontend Version": "フロントエンドのバージョン",
"promosmsPassword": "APIパスワード",
"Notification Sound": "通知音",
"Clone Monitor": "監視の複製",
"Clone": "複製",
"cloneOf": "{0} の複製",
"Hello @everyone is...": "Hello {'@'}everyone is…",
"Icon URL": "アイコンURL",
"affectedStatusPages": "メンテナンスメッセージを選択したステータスページに表示する",
"GoogleChat": "Google Chat (Google Workspace 限定)",
"pushyToken": "デバイストークン",
"SMS Type": "SMSタイプ",
"Proxy Server": "Proxy Server",
"smtpDkimDomain": "ドメイン名",
"Uptime Kuma URL": "Uptime Kuma URL",
"Channel Name": "チャンネル名",
"smtpDkimSettings": "DKIM設定",
"Server Address": "サーバーアドレス",
"strategyManual": "手動で有効/無効を切り替える",
"warningTimezone": "サーバーのタイムゾーンを使用します",
"weekdayShortMon": "月",
"weekdayShortTue": "火",
"weekdayShortWed": "水",
"weekdayShortFri": "金",
"weekdayShortSat": "土",
"weekdayShortSun": "日",
"dayOfWeek": "曜日ごと",
"dayOfMonth": "日にちごと",
"maintenanceStatus-inactive": "無効",
"maintenanceStatus-scheduled": "スケジュール済み",
"maintenanceStatus-ended": "終了済み",
"maintenanceStatus-unknown": "不明",
"Server Timezone": "サーバータイムゾーン",
"IconUrl": "アイコンURL",
"Enable DNS Cache": "DNSキャッシュを有効にする",
"Enable": "有効",
"Disable": "無効",
"Schedule Maintenance": "スケジュールメンテナンス",
"loadingError": "データを取得できません。後でもう一度試してください。",
"uninstall": "アンインストール",
"installing": "インストール中",
"Ignore TLS Error": "TLSエラーを無視",
"smtpCC": "CC",
"secureOptionTLS": "TLS (465)",
"smtpBCC": "BCC",
"Discord Webhook URL": "Discord ウェブフック URL",
"wayToCheckSignalURL": "こちらから設定方法を確認できます:",
"Number": "Number",
"Line Developers Console": "Line Developers Console",
"Access Token": "アクセストークン",
"Channel access token": "チャンネルアクセストークン",
"enableGRPCTls": "TLS接続でgRPCリクエストを送信できるようにする",
"Messaging API": "Messaging API",
"dnsPortDescription": "DNSサーバーポートのデフォルトは53です。ポートはいつでも変更可能です。",
"Device": "デバイス",
"Event type:": "イベントタイプ:",
"here": "こちら",
"weekdayShortThu": "木",
"plugin": "プラグイン",
"No Maintenance": "メンテナンスはありません",
"dnsCacheDescription": "一部のIPv6環境では動作しない場合があります。問題が発生した場合は無効にしてください。",
"uninstalling": "アンインストール中",
"confirmUninstallPlugin": "本当にこのプラグインをアンインストールしていいですか?",
"wayToGetDiscordURL": "サーバー設定 -> 連携サービス -> ウェブフックを確認 -> 新しいウェブフック から新たに取得できます",
"wayToGetTeamsURL": "ウェブフックの作成方法は {0}",
"wayToGetZohoCliqURL": "ウェブフックの作成方法は {0}",
"confirmDeleteTagMsg": "このタグを本当に削除してよろしいですか?このタグが付けられたモニターは削除されません。",
"deleteMaintenanceMsg": "このメンテナンスを本当に削除していいですか?",
"promosmsLogin": "APIログイン名",
"pushyAPIKey": "シークレットAPI Key",
"Message Title": "メッセージタイトル",
"Setup Proxy": "プロキシを設定する",
"Proxy server has authentication": "プロキシサーバーは認証が必要",
"Edit Tag": "タグを編集",
"Add API Key": "API Keyを追加",
"Expires": "有効期限",
"disableAPIKeyMsg": "本当にこのAPIキーを無効化しますか",
"install": "インストール",
"affectedMonitorsDescription": "メンテナンスによって影響を受けるモニターを選択してください",
"default: notify all devices": "デフォルト:すべてのデバイスに通知する",
"Trigger type:": "トリガータイプ:",
"Event data:": "イベントデータ:",
"backupOutdatedWarning": "非推奨:多くの機能が追加され、このバックアップ機能は少しメンテナンスされていないため、完全なバックアップの生成や復元はできません。",
"backupRecommend": "代わりにボリュームまたはデータフォルダ(./data/)を直接バックアップしてください。",
"recurringInterval": "インターバル",
"Recurring": "繰り返し",
"lineDevConsoleTo": "Line Developers Console - {0}",
"Basic Settings": "基本設定",
"User ID": "User ID",
"Android": "Android",
"Huawei": "Huawei",
"Device Token": "デバイストークン",
"recurringIntervalMessage": "毎日1回実行する{0} 日に1回実行する",
"Add New Tag": "新しいタグを追加",
"statusPageMaintenanceEndDate": "終了日"
}

@ -0,0 +1,21 @@
{
"Dashboard": "დაფა",
"Help": "დახმარება",
"New Update": "განახლება",
"Language": "ენა",
"Appearance": "ვიზუალი",
"Theme": "სტილი",
"Game": "თამაში",
"Version": "ვერსია",
"Quick Stats": "თვალის გადავლება",
"Up": "მაღლა",
"Pending": "მოლოდინი",
"languageName": "Georgian",
"Settings": "კონფიგურაცია",
"General": "ძირითადი",
"Check Update On GitHub": "GitHub_ზე განახლების შემოწმება",
"List": "სია",
"Add": "დამატება",
"Add New Monitor": "ახალი მონიტორის დამატება",
"Down": "დაბლა"
}

@ -208,7 +208,7 @@
"smtpBCC": "숨은 참조",
"discord": "Discord",
"Discord Webhook URL": "Discord 웹훅 URL",
"wayToGetDiscordURL": "서버 설정 -> 연동 -> 웹후크 보기 -> 새 웹후크에서 얻을 수 있어요",
"wayToGetDiscordURL": "서버 설정 -> 연동 -> 웹훅 보기 -> 새 웹훅 에서 얻을 수 있어요",
"Bot Display Name": "표시 이름",
"Prefix Custom Message": "접두사 메시지",
"Hello @everyone is...": "{'@'}everyone 서버 상태 알림이에요…",
@ -691,5 +691,33 @@
"webhookAdditionalHeadersTitle": "추가 헤더",
"webhookAdditionalHeadersDesc": "웹훅과 함께 전송될 추가 헤더를 설정해요.",
"HTTP Headers": "HTTP 헤더",
"Trust Proxy": "프록시 신뢰"
"Trust Proxy": "프록시 신뢰",
"API Keys": "API 키",
"markdownSupported": "Markdown 문법이 지원됨",
"telegramMessageThreadID": "(선택) 메시지 스레드 ID",
"Clone": "복제",
"cloneOf": "{0}의 복제본",
"Clone Monitor": "모니터링 복제",
"telegramProtectContent": "포워딩/저장 보호",
"telegramProtectContentDescription": "활성화 시, 텔레그램 봇 메시지는 포워딩 및 저장으로부터 보호됩니다.",
"telegramSendSilentlyDescription": "조용히 메시지를 보냅니다. 사용자들은 무음으로 알림을 받습니다.",
"telegramSendSilently": "무음 알림",
"Add New Tag": "태그 추가",
"Edit Tag": "태그 수정",
"Server Address": "서버 주소",
"Learn More": "자세히 알아보기",
"Continue": "계속",
"Key Added": "키 추가됨",
"No API Keys": "API 키 없음",
"disableAPIKeyMsg": "이 API키를 정말로 비활성화하시겠습니까?",
"deleteAPIKeyMsg": "이 API키를 정말로 삭제하시겠습니까?",
"Generate": "생성",
"Body Encoding": "Body 인코딩",
"Expiry": "만료",
"Expiry date": "만료 날짜",
"Don't expire": "만료되지 않음",
"notificationRegional": "지역별",
"Google Analytics ID": "Google Analytics ID",
"Add API Key": "API 키 추가",
"apiKeyAddedMsg": "API 키가 추가되었습니다. 다시 표시되지 않을 것이므로 메모해 두세요."
}

@ -696,5 +696,12 @@
"markdownSupported": "Markdown syntax ondersteund",
"Resend Notification if Down X times consecutively": "Melding x keer opnieuw sturen als monitor offline is",
"loadingError": "Kan de data niet ophalen, probeer het later opnieuw.",
"smseagleContact": "Telefoonboek contact namen"
"smseagleContact": "Telefoonboek contact namen",
"apiKey-active": "Actief",
"apiKey-expired": "Verlopen",
"pagertreeLow": "Laag",
"pagertreeHigh": "Hoog",
"Clone": "Dupliceer",
"cloneOf": "Duplicaat van {0}",
"Add New Tag": "Voeg nieuw label toe"
}

@ -696,5 +696,36 @@
"Google Analytics ID": "Identyfikator Google Analytics",
"Edit Tag": "Edytuj Tag",
"Server Address": "Adres Serwera",
"Learn More": "Dowiedz się więcej"
"Learn More": "Dowiedz się więcej",
"Body Encoding": "Kodowanie treści",
"Expiry": "Wygasa",
"Expiry date": "Data wygaśnięcia",
"Don't expire": "Nie wygaszaj",
"Continue": "Kontynuuj",
"Add Another": "Dodaj kolejne",
"Add API Key": "Dodaj klucz API",
"No API Keys": "Brak kluczy API",
"apiKey-active": "Aktywny",
"apiKey-expired": "Wygasły",
"apiKey-inactive": "Nieaktywny",
"Expires": "Wygasa",
"Generate": "Generuj",
"disableAPIKeyMsg": "Czy na pewno chcesz wyłączyć ten klucz API?",
"deleteAPIKeyMsg": "Czy na pewno chcesz usunąć ten klucz API?",
"pagertreeIntegrationUrl": "URL integracji",
"pagertreeUrgency": "Pilność",
"pagertreeSilent": "Cichy",
"pagertreeLow": "Niski",
"pagertreeMedium": "Średni",
"pagertreeHigh": "Wysoki",
"pagertreeCritical": "Krytyczny",
"pagertreeResolve": "Automatyczne rozwiązywanie",
"Clone Monitor": "Klonuj monitor",
"Clone": "Klonuj",
"cloneOf": "Klon {0}",
"API Keys": "Klucze API",
"Key Added": "Klucz dodany",
"pagertreeDoNothing": "Nie rób nic",
"wayToGetPagerTreeIntegrationURL": "Po utworzeniu integracji Uptime Kuma w PagerTree, należy skopiować Endpoint. Zobacz pełne szczegóły {0}",
"notificationRegional": "Regionalne"
}

@ -699,5 +699,6 @@
"Clone Monitor": "Копия",
"Clone": "Копия",
"cloneOf": "Копия {0}",
"notificationRegional": "Региональный"
"notificationRegional": "Региональный",
"Add New Tag": "Добавить тег"
}

@ -0,0 +1,85 @@
{
"Settings": "Nastavenia",
"Help": "Nápoveda",
"New Update": "Nová aktualizácia",
"Language": "Jazyk",
"Appearance": "Vzhľad",
"Theme": "Téma",
"General": "Základné",
"Primary Base URL": "Základná URL",
"Version": "Verzia",
"List": "Zoznam",
"Add": "Pridať",
"Add New Monitor": "Pridať nové Sledovanie",
"Quick Stats": "Rýchly prehľad",
"Pending": "Čaká sa",
"statusMaintenance": "Údržba",
"Maintenance": "Údržba",
"General Monitor Type": "Základný typ Sledovania",
"Passive Monitor Type": "Pasívny typ Sledovania",
"Specific Monitor Type": "Špecifický typ Sledovania",
"pauseDashboardHome": "Pauza",
"Pause": "Pauza",
"Status": "Stav",
"Message": "Správa",
"No important events": "Žiadne dôležité udalosti",
"Edit": "Upraviť",
"Delete": "Odstrániť",
"Current": "Aktuálne",
"Cert Exp.": "Platnosť cert.",
"day": "deň | dni",
"hour": "hodina",
"Response": "Odpoveď",
"Ping": "Ping",
"Keyword": "Kľúčové slovo",
"Friendly Name": "Názov",
"Port": "Port",
"Retries": "Opakovania",
"Resend Notification if Down X times consecutively": "Poslať oznámenie znovu, ak je nedostupné X-krát za sebou",
"Advanced": "Pokročilé",
"checkEverySecond": "Skontrolovať každých {0} sekúnd",
"retryCheckEverySecond": "Zopakovať každých {0} sekúnd",
"resendEveryXTimes": "Znovu poslať každých {0} krát",
"resendDisabled": "Opakované odoslanie vypnuté",
"ignoreTLSError": "Ignorovať TLS/SSL chyby pre HTTPS stránky",
"upsideDownModeDescription": "Obrátiť stav. Pokiaľ je služba dostupná, zobrazuje sa ako NEDOSTUPNÁ.",
"Upside Down Mode": "Obrátený režim",
"Max. Redirects": "Max. počet presmerovaní",
"Accepted Status Codes": "Akceptované stavové kódy",
"Push URL": "Push URL",
"Save": "Uložiť",
"Notifications": "Notifikácie",
"Not available, please setup.": "Nedostupné, prosím nastavte.",
"Setup Notification": "Nastavenie notifikácií",
"Dark": "Tmavá",
"Light": "Svetlá",
"Auto": "Automaticky",
"Normal": "Normálna",
"Bottom": "Dole",
"None": "Žiadne",
"Timezone": "Časová zóna",
"languageName": "Slovenčina",
"Dashboard": "Dashboard",
"Check Update On GitHub": "Skontrolovať aktualizáciu na GitHub-e",
"Up": "Dostupné",
"Down": "Nedostupné",
"Unknown": "Neznáme",
"markdownSupported": "Podpora Markdown syntaxe",
"Name": "Názov",
"DateTime": "Dátum a čas",
"Resume": "Pokračovať",
"Uptime": "Doba prevádzky",
"Monitor": "Sledovanie | Sledovania",
"-day": "-dní",
"-hour": "-hodín",
"Monitor Type": "Typ Sledovania",
"URL": "URL",
"Hostname": "Adresa",
"Heartbeat Interval": "Heartbeat Interval",
"Heartbeat Retry Interval": "Interval opakovania pre Heartbeat",
"retriesDescription": "Maximálny počet opakovaní pred tým, ako je služba označená ako nedostupná a je zaslaná notifikácia",
"maxRedirectDescription": "Maximálny počet presmerovaní. Hodnota 0 vypne presmerovania.",
"needPushEvery": "Tuto adresu by ste mali volať každých {0} sekúnd.",
"pushOptionalParams": "Voliteľné parametre: {0}",
"Theme - Heartbeat Bar": "Téma - Heartbeat riadok"
}

@ -4,7 +4,7 @@
"retryCheckEverySecond": "ลองใหม่ทุก {0} วินาที",
"retriesDescription": "จำนวนครั้งสูงสุดที่จะลองก่อนบริการถูกระบุว่าไม่สามารถใช้งานได้และส่งการแจ้งเตือน",
"ignoreTLSError": "ไม่สนใจข้อผิดพลาด TLS/SSL สำหรับเว็บไซต์ HTTPS",
"upsideDownModeDescription": "กลับด้านสถานะ เช่น ถ้าบริการสามารถใช้งานได้จะถูกเปลี่ยนเป็นใช้งานไม่ได้",
"upsideDownModeDescription": "สลับสถานะ เช่น ถ้าบริการสามารถใช้งานได้จะถูกเปลี่ยนเป็นใช้งานไม่ได้",
"maxRedirectDescription": "จำนวนครั้งสูงสุดที่จะเปลี่ยนเส้นทาง, ตั้งเป็น 0 เพื่อปิดการเปลี่ยนเส้นทาง",
"acceptedStatusCodesDescription": "เลือกรหัสสถานะที่ถือว่าการตอบกลับสำเร็จ",
"passwordNotMatchMsg": "รหัสผ่านไม่ตรงกัน",
@ -30,7 +30,7 @@
"Dashboard": "แผงควบคุม",
"New Update": "อัพเดทใหม่",
"Language": "ภาษา",
"Appearance": "รูปร่าง",
"Appearance": "หน้าตา",
"Theme": "หน้าตา",
"General": "ทั่วไป",
"Primary Base URL": "URL หลัก",
@ -73,7 +73,7 @@
"Retries": "จำนวนครั้งที่จะลองใหม่",
"Heartbeat Retry Interval": "ระยะห่างระหว่างการทดสอบใหม่หลังจากไม่สำเร็จ",
"Advanced": "ขั้นสูง",
"Upside Down Mode": "โหมดกลับด้าน",
"Upside Down Mode": "โหมดสลับ",
"Max. Redirects": "จำนวนการเปลี่ยนเส้นทางสูงสุด",
"Accepted Status Codes": "รหัสสถานะที่ยอมรับ",
"Push URL": "URL เป้าหมาย",
@ -473,8 +473,8 @@
"Recipient Number": "หมายเลขผู้รับ",
"From Name/Number": "จาก ชื่อ / หมายเลข",
"Leave blank to use a shared sender number.": "ไม่ต้องกรอกเพื่อใช้ชื่อผู้ส่งร่วมกัน",
"Octopush API Version": "Octopush API Version",
"Legacy Octopush-DM": "Legacy Octopush-DM",
"Octopush API Version": "เวอร์ชั่น API Octopush",
"Legacy Octopush-DM": "Octopush-DM แบบเก่า",
"endpoint": "endpoint",
"octopushAPIKey": "\"API key\" จากข้อมูลยืนยันตัวตน HTTP API ในแผงควบคุม",
"octopushLogin": "\"Login\" จากข้อมูลยืนยันตัวตน HTTP API ในแผงควบคุม",
@ -558,7 +558,7 @@
"Container Name / ID": "Container Name / ID",
"Docker Host": "Docker Host",
"Docker Hosts": "Docker Hosts",
"ntfy Topic": "ntfy Topic",
"ntfy Topic": "หัวข้อ ntfy",
"Domain": "โดเมน",
"Workstation": "Workstation",
"disableCloudflaredNoAuthMsg": "คุณอยู่ในโหมดไม่มีการตรวจสอบสิทธิ์, ไม่จำเป็นต้องมีรหัสผ่าน",
@ -601,5 +601,9 @@
"or": "หรือ",
"recurringInterval": "ช่วงเวลา",
"Recurring": "ทำซ้ำ",
"General Monitor Type": "ชนิดมอนิเตอร์ทั่วไป"
"General Monitor Type": "ชนิดมอนิเตอร์ทั่วไป",
"pagertreeCritical": "วิกฤต",
"pagertreeDoNothing": "ไม่ต้องทำอะไร",
"pagertreeResolve": "แก้ไขอัตโนมัติ",
"wayToGetPagerTreeIntegrationURL": "หลังจากสร้างการรวม Uptime Kuma ใน PagerTree แล้ว ให้คัดลอก Endpoint, ดูรายละเอียดทั้งหมด {0}"
}

@ -724,5 +724,19 @@
"Generate": "oluştur",
"API Keys": "api anahtarları",
"Add Another": "Başka birtane ekle",
"apiKeyAddedMsg": "API anahtarınız eklendi. Bir daha gösterilmeyeceği için lütfen not edin."
"apiKeyAddedMsg": "API anahtarınız eklendi. Bir daha gösterilmeyeceği için lütfen not edin.",
"pagertreeUrgency": "Önem",
"pagertreeSilent": "Sessiz",
"pagertreeLow": "Düşük",
"pagertreeMedium": "Orta",
"pagertreeHigh": "Yüksek",
"pagertreeCritical": "Kritik",
"pagertreeDoNothing": "Hiçbir şey yapma",
"wayToGetPagerTreeIntegrationURL": "PagerTree'de Uptime Kuma entegrasyonunu oluşturduktan sonra Endpoint'i kopyalayın. Tüm ayrıntıları görün {0}",
"pagertreeIntegrationUrl": "Entegrasyon URL",
"pagertreeResolve": "Otomatik Çöz",
"lunaseaTarget": "Hedef",
"Add New Tag": "Yeni Etiket Ekle",
"lunaseaDeviceID": "Cihaz ID",
"lunaseaUserID": "Kullanıcı ID"
}

@ -8,7 +8,7 @@
"acceptedStatusCodesDescription": "Виберіть коди статусів для визначення доступності сервісу.",
"passwordNotMatchMsg": "Повторення паролю не збігається.",
"notificationDescription": "Прив'яжіть сповіщення до моніторів.",
"keywordDescription": "Пошук слова в чистому HTML або JSON-відповіді (чутливо до регістру)",
"keywordDescription": "Пошук слова в чистому HTML або JSON-відповіді. Пошук чутливий до регістру.",
"pauseDashboardHome": "Пауза",
"deleteMonitorMsg": "Ви дійсно хочете видалити цей монітор?",
"deleteNotificationMsg": "Ви дійсно хочете видалити це сповіщення для всіх моніторів?",
@ -124,12 +124,12 @@
"Also apply to existing monitors": "Застосувати до існуючих моніторів",
"Export": "Експорт",
"Import": "Імпорт",
"backupDescription": "Ви можете зберегти резервну копію всіх моніторів та повідомлень у вигляді JSON-файлу",
"backupDescription2": "P.S.: Історія та події збережені не будуть",
"backupDescription3": "Важливі дані, такі як токени повідомлень, додаються під час експорту, тому зберігайте файли в безпечному місці",
"backupDescription": "Ви можете зберегти резервну копію всіх моніторів та повідомлень у вигляді JSON-файлу.",
"backupDescription2": "P.S.: Історія та події збережені не будуть.",
"backupDescription3": "Важливі дані, такі як токени повідомлень, додаються під час експорту, тому зберігайте файли в безпечному місці.",
"alertNoFile": "Виберіть файл для імпорту.",
"alertWrongFileType": "Виберіть JSON-файл.",
"twoFAVerifyLabel": "Будь ласка, введіть свій токен, щоб перевірити роботу 2FA",
"twoFAVerifyLabel": "Будь ласка, введіть свій токен, щоб перевірити роботу 2FA:",
"tokenValidSettingsMsg": "Токен дійсний! Тепер ви можете зберегти налаштування 2FA.",
"confirmEnableTwoFAMsg": "Ви дійсно хочете увімкнути 2FA?",
"confirmDisableTwoFAMsg": "Ви дійсно хочете вимкнути 2FA?",
@ -208,7 +208,7 @@
"mattermost": "Mattermost",
"Primary Base URL": "Основна URL",
"Push URL": "URL пуша",
"needPushEvery": "Цю URL необхідно викликати кожні {0} секунд",
"needPushEvery": "Цю URL необхідно викликати кожні {0} секунд.",
"pushOptionalParams": "Додаткові параметри: {0}",
"defaultNotificationName": "Моє сповіщення {notification} ({number})",
"here": "тут",
@ -233,10 +233,10 @@
"smtpCC": "Копія",
"smtpBCC": "Прихована копія",
"Discord Webhook URL": "Discord Вебхук URL",
"wayToGetDiscordURL": "Ви можете створити його в Параметрах сервера -> Інтеграції -> Створити вебхук",
"wayToGetDiscordURL": "Ви можете отримати його, перейшовши до Налаштування сервера -> Інтеграції -> Перегляд веб-хуків -> Новий веб-хук",
"Bot Display Name": "Ім'я бота, що відображається",
"Prefix Custom Message": "Свій префікс повідомлення",
"Hello @everyone is...": "Привіт {'@'}everyone це...",
"Hello @everyone is...": "Привіт {'@'}everyone це",
"Webhook URL": "URL вебхука",
"wayToGetTeamsURL": "Як створити URL вебхука ви можете дізнатися тут - {0}.",
"Номер": "Номер",
@ -267,7 +267,7 @@
"checkPrice": "Тарифи {0}:",
"octopushLegacyHint": "Ви використовуєте стару версію Octopush (2011-2020) або нову?",
"Check octopush prices": "Тарифи Octopush {0}.",
"octopushPhoneNumber": "Номер телефону (між. формат, наприклад: +380123456789)",
"octopushPhoneNumber": "Номер телефону (між. формат, наприклад: +380123456789) ",
"octopushSMSSender": "Ім'я відправника SMS: 3-11 символів алвафіту, цифр та пробілів (a-zA-Z0-9)",
"LunaSea Device ID": "ID пристрою LunaSea",
"Apprise URL": "Apprise URL",
@ -315,8 +315,8 @@
"Certificate Chain": "Ланцюжок сертифікатів",
"Valid": "Дійсний",
"Hide Tags": "Приховати теги",
"Title": "Назва інциденту:",
"Content": "Зміст інциденту:",
"Title": "Заголовок",
"Content": "Зміст",
"Post": "Опублікувати",
"Cancel": "Скасувати",
"Created": "Створено",
@ -327,7 +327,7 @@
"6h": "6 годин",
"24h": "24 години",
"1w": "1 тиждень",
"No monitors available.": "Немає доступних моніторів",
"No monitors available.": "Немає доступних моніторів.",
"Add one": "Додати новий",
"Backup": "Резервна копія",
"Security": "Безпека",
@ -336,7 +336,7 @@
"About": "Про програму",
"Description": "Опис",
"Powered by": "Працює на основі скрипту від",
"shrinkDatabaseDescription": "Включає VACUUM для бази даних SQLite. Якщо база даних була створена на версії 1.10.0 і більше, AUTO_VACUUM вже включений і ця дія не потрібна.",
"shrinkDatabaseDescription": "Включає VACUUM для бази даних SQLite. Якщо база даних була створена після версії 1.10.0, AUTO_VACUUM вже включений і ця дія не потрібна.",
"Style": "Стиль",
"info": "ІНФО",
"warning": "УВАГА",
@ -437,7 +437,7 @@
"Accept characters:": "Прийняти символи:",
"startOrEndWithOnly": "Починається або закінчується лише {0}",
"No consecutive dashes": "Немає послідовних тире",
"The slug is already taken. Please choose another slug.": "The slug is already taken. Please choose another slug.",
"The slug is already taken. Please choose another slug.": "Slug вже зайнятий. Будь ласка, виберіть інший slug.",
"No Proxy": "Без проксі",
"Page Not Found": "Сторінку не знайдено",
"Reverse Proxy": "Реверсивний проксі",
@ -563,5 +563,186 @@
"Custom": "Нестандартний",
"successMessage": "Повідомлення про успіх",
"Customize": "Налаштувати",
"topic": "Тема"
"topic": "Тема",
"Body Encoding": "Кодування тіла",
"Event type:": "Тип події:",
"Event data:": "Дані подій:",
"Then choose an action, for example switch the scene to where an RGB light is red.": "Потім виберіть дію, наприклад, перемкнути сцену на червоне світло RGB.",
"backupRecommend": "Будь ласка, натомість створіть резервну копію тому або теки даних (./data/) напряму.",
"Optional": "Необов'язково",
"recurringInterval": "Інтервал",
"Recurring": "Повторюваний",
"strategyManual": "Активний/Неактивний вручну",
"telegramSendSilently": "Надіслати беззвучно",
"telegramSendSilentlyDescription": "Надсилає повідомлення беззвучно. Користувачі отримають сповіщення без звуку.",
"Trigger type:": "Тип тригера:",
"dayOfWeek": "День тижня",
"lastDay": "Останній день",
"warningTimezone": "Використовується часовий пояс сервера",
"weekdayShortMon": "Пн",
"weekdayShortTue": "Вт",
"weekdayShortWed": "Ср",
"weekdayShortThu": "Чт",
"weekdayShortFri": "Пт",
"weekdayShortSun": "Нд",
"Single Maintenance Window": "Разове технічне обслуговування",
"Maintenance Time Window of a Day": "Період доби для технічного обслуговування",
"Effective Date Range": "Діапазон дат вступу в силу",
"Schedule Maintenance": "Розклад обслуговування",
"DateTime Range": "Діапазон дат і часу",
"loadingError": "Не вдалося отримати дані, спробуйте пізніше.",
"install": "Встановити",
"installing": "Встановлення",
"uninstall": "Видалити",
"API Keys": "API-ключі",
"Expiry": "Закінчення терміну дії",
"Expiry date": "Дата закінчення терміну дії",
"Don't expire": "Не прострочувати термін дії",
"Continue": "Продовжити",
"Add Another": "Додати ще",
"Key Added": "Ключ додано",
"No API Keys": "Немає API-ключів",
"apiKey-active": "Активний",
"apiKey-inactive": "Неактивний",
"Expires": "Термін дії закінчується",
"deleteAPIKeyMsg": "Ви впевнені, що хочете видалити цей API-ключ?",
"Generate": "Згенерувати",
"pagertreeIntegrationUrl": "URL-адреса інтеграції",
"pagertreeSilent": "Тихо",
"pagertreeUrgency": "Терміновість",
"pagertreeLow": "Низька",
"pagertreeMedium": "Середня",
"pagertreeHigh": "Висока",
"pagertreeCritical": "Критична",
"pagertreeResolve": "Автоматичне вирішення",
"Edit Tag": "Редагувати тег",
"Server Address": "Адреса сервера",
"Learn More": "Дізнатися більше",
"or": "або",
"uninstalling": "Видалення",
"confirmUninstallPlugin": "Ви дійсно хочете видалити цей плагін?",
"notificationRegional": "Регіональні",
"Clone Monitor": "Копія",
"Clone": "Скопіювати",
"cloneOf": "Копія {0}",
"Custom Footer": "Користувацький Footer",
"Strategy": "Стратегія",
"Free Mobile User Identifier": "ID користувача Free Mobile",
"SendKey": "SendKey",
"Gateway Type": "Тип шлюзу",
"You can divide numbers with": "Числа можна ділити за допомогою",
"Bark Group": "Bark група",
"Bark Sound": "Bark звук",
"Custom CSS": "Користувацький CSS",
"promosmsAllowLongSMS": "Дозволити довгі SMS",
"Feishu WebHookUrl": "Feishu WebHookURL",
"auto resolve": "автоматичне вирішення",
"RadiusCallingStationIdDescription": "Ідентифікатор пристрою, який викликає",
"telegramMessageThreadID": "(Необов'язково) ID теми повідомлення",
"telegramMessageThreadIDDescription": "Необов'язковий ID для цільової гілки повідомлень (теми) форуму; тільки для форумів супергруп",
"backupOutdatedWarning": "Застаріло: Оскільки було додано багато функцій і ця функція резервного копіювання дещо застаріла, вона не може створити або відновити повну резервну копію.",
"dnsCacheDescription": "Це може не працювати в деяких середовищах IPv6, вимкніть це, якщо у вас виникнуть проблеми.",
"deleteMaintenanceMsg": "Ви дійсно хочете видалити це технічне обслуговування?",
"dnsPortDescription": "Порт DNS-сервера. За замовчуванням 53. Ви можете змінити порт у будь-який час.",
"recurringIntervalMessage": "Запускати раз на день | Запускати раз на {0} дні(в)",
"SMSManager API Docs": "SMSManager API документація ",
"Base URL": "Базова URL-адреса",
"goAlertInfo": "GoAlert - це програма з відкритим вихідним кодом для планування викликів, автоматичної ескалації та сповіщень (наприклад, SMS або голосових дзвінків). Автоматично залучайте потрібну людину, потрібним чином і в потрібний час! {0}",
"goAlertIntegrationKeyInfo": "Отримайте універсальний ключ інтеграції API для сервісу у форматі \"aaaaaaaa-bbbb-bbbb-cccc-dddd-eeeeeeeeeeee\", зазвичай це значення параметра токену скопійованої URL-адреси.",
"wayToGetPagerDutyKey": "Ви можете отримати його, перейшовши до Service -> Service Directory -> (Select a service) -> Integrations -> Add integration. Тут ви можете шукати \"Events API V2\". Більше інформації {0}",
"Google Analytics ID": "Google Analytics ID",
"apiKeyAddedMsg": "Ваш API-ключ додано. Будь ласка, запам'ятайте його, оскільки він більше не буде показаний.",
"Add API Key": "Додати API-ключ",
"apiKey-expired": "Прострочений",
"disableAPIKeyMsg": "Ви впевнені, що хочете деактивувати цей API-ключ?",
"pagertreeDoNothing": "Нічого не робити",
"wayToGetPagerTreeIntegrationURL": "Після створення інтеграції Uptime Kuma в PagerTree скопіюйте Endpoint. Дивіться повну інформацію {0}",
"Automations can optionally be triggered in Home Assistant:": "За бажанням можна активувати автоматизацію в Home Assistant:",
"dayOfMonth": "День місяця",
"telegramProtectContent": "Захист від пересилання/збереження",
"telegramProtectContentDescription": "Якщо увімкнено, повідомлення бота в Telegram будуть захищені від пересилання та збереження.",
"Notification Service": "Сервіс сповіщень",
"default: notify all devices": "за замовчуванням: сповіщати всі пристрої",
"A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "Список сервісів сповіщень можна знайти в Home Assistant в розділі \"Інструменти для розробників > Служби\", виконавши пошук за словом \"notification\" і знайшовши назву свого пристрою/телефону.",
"weekdayShortSat": "Сб",
"lastDay1": "Останній день місяця",
"lastDay2": "2-й останній день місяця",
"lastDay3": "3-й останній день місяця",
"lastDay4": "4-й останній день місяця",
"No Maintenance": "Немає технічного обслуговування",
"pauseMaintenanceMsg": "Ви впевнені, що хочете поставити на паузу?",
"maintenanceStatus-under-maintenance": "Перебуває на технічному обслуговуванні",
"maintenanceStatus-inactive": "Неактивне",
"maintenanceStatus-scheduled": "Заплановане",
"maintenanceStatus-ended": "Завершене",
"maintenanceStatus-unknown": "Невідоме",
"Display Timezone": "Відображати часовий пояс",
"Server Timezone": "Часовий пояс сервера",
"statusPageMaintenanceEndDate": "Закінчення",
"IconUrl": "URL-адреса іконки",
"Enable DNS Cache": "Увімкнути DNS-кеш",
"Enable": "Увімкнути",
"confirmDeleteTagMsg": "Ви впевнені, що хочете видалити цей тег? Монітори, пов'язані з цим тегом, не будуть видалені.",
"Guild ID": "ID гільдії",
"Free Mobile API Key": "Free Mobile API ключ",
"Enable TLS": "Увімкнути TLS",
"Proto Service Name": "Назва Proto-сервісу",
"Proto Content": "Вміст Proto",
"Proto Method": "Метод Proto",
"Economy": "Економічний",
"Lowcost": "Дешевий",
"Custom Monitor Type": "Користувацький тип монітора",
"topicExplanation": "MQTT тема для моніторингу",
"successMessageExplanation": "MQTT-повідомлення, яке буде вважатися успішним",
"HTTP Headers": "HTTP заголовки",
"Trust Proxy": "Довірений проксі",
"RadiusSecret": "Секрет Radius",
"RadiusSecretDescription": "Спільний секрет між клієнтом і сервером",
"RadiusCalledStationId": "ID станції, що викликається",
"Frontend Version": "Версія інтерфейсу",
"Frontend Version do not match backend version!": "Версія інтерфейсу не збігається з версією бекенду!",
"Number": "Номер",
"dataRetentionTimeError": "Період зберігання повинен бути 0 або більше",
"infiniteRetention": "Встановіть 0 для нескінченного зберігання.",
"affectedMonitorsDescription": "Виберіть монітори, які зачепить поточне технічне обслуговування",
"affectedStatusPages": "Показувати це повідомлення про технічне обслуговування на вибраних сторінках стану",
"atLeastOneMonitor": "Виберіть принаймні один монітор, який зазнав впливу",
"wayToGetKookBotToken": "Створіть заявку та отримайте токен бота тут {0}",
"wayToGetKookGuildID": "Увімкніть \"Режим розробника\" в налаштуваннях Kook і клацніть правою кнопкою миші на гільдії, щоб отримати її ID",
"Date and Time": "Дата і час",
"Integration Key": "Ключ інтеграції",
"Integration URL": "URL-адреса інтеграції",
"Auto resolve or acknowledged": "Автоматично вирішено або підтверджено",
"do nothing": "нічого не робити",
"auto acknowledged": "автоматично підтверджено",
"plugin": "Плагін | Плагіни",
"RadiusCalledStationIdDescription": "Ідентифікатор пристрою, що викликається",
"RadiusCallingStationId": "ID станції, яка викликає",
"Setup Docker Host": "Налаштування Docker-хосту",
"Connection Type": "Тип підключення",
"Docker Daemon": "Docker Daemon",
"socket": "Сокет",
"tcp": "TCP / HTTP",
"Container Name / ID": "Назва / ID контейнера",
"deleteDockerHostMsg": "Ви дійсно хочете видалити цей Docker-хост для всіх моніторів?",
"Docker Container": "Docker-контейнер",
"Docker Host": "Docker-хост",
"Docker Hosts": "Docker-хости",
"wayToGetZohoCliqURL": "Ви можете дізнатися, як створити URL-адресу веб-хука {0}.",
"enableGRPCTls": "Дозволити надсилати gRPC-запити з TLS-з'єднанням",
"grpcMethodDescription": "Ім'я методу перетворюється у формат cammelCase, наприклад, sayHello, check тощо.",
"Packet Size": "Розмір пакету",
"trustProxyDescription": "Довіряти заголовкам 'X-Forwarded-*'. Якщо ви хочете отримати правильний клієнтський IP, а ваш Uptime Kuma знаходиться за проксі-сервером, таким як Nginx або Apache, вам слід увімкнути цю опцію.",
"wayToGetLineNotifyToken": "Ви можете отримати токен доступу з {0}",
"Examples": "Приклади",
"Home Assistant URL": "URL-адреса Home Assistant",
"Long-Lived Access Token": "Довготривалий токен доступу",
"Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "Довготривалий токен доступу можна створити, натиснувши на ім'я вашого профілю (внизу ліворуч), прокрутивши його донизу і натиснувши кнопку Створити токен. ",
"high": "високий",
"Disable": "Вимкнути",
"Resend Notification if Down X times consecutively": "Повторно надіслати сповіщення, якщо було падіння X разів поспіль",
"lunaseaTarget": "Ціль",
"Add New Tag": "Додати новий тег",
"lunaseaDeviceID": "ID пристрою",
"lunaseaUserID": "ID користувача"
}

@ -403,5 +403,29 @@
"backupRecommend": "براہ کرم اس کے بجائے براہ راست والیوم یا ڈیٹا فولڈر (./data/) کا بیک اپ لیں۔",
"Optional": "اختیاری",
"or": "یا",
"Notification Service": "نوٹیفکیشن سروس"
"Notification Service": "نوٹیفکیشن سروس",
"maintenanceStatus-inactive": "غیر فعال",
"maintenanceStatus-under-maintenance": "دیکھ بھال کے تحت",
"maintenanceStatus-scheduled": "طے شدہ",
"maintenanceStatus-ended": "ختم ہوا",
"recurringInterval": "وقفہ",
"Recurring": "بار بار چلنے والا",
"strategyManual": "دستی طور پر فعال/غیر فعال",
"warningTimezone": "یہ سرور کا ٹائم زون استعمال کر رہا ہے",
"weekdayShortMon": "پیر",
"weekdayShortWed": "بدھ",
"weekdayShortThu": "جمعرات",
"weekdayShortFri": "جمعہ",
"weekdayShortSat": "سات",
"weekdayShortSun": "سورج",
"dayOfWeek": "ہفتہ کا دن",
"dayOfMonth": "مہینے کا دن",
"lastDay": "آخری دن",
"lastDay1": "مہینے کا آخری دن",
"lastDay2": "مہینے کا دوسرا آخری دن",
"lastDay3": "مہینے کا تیسرا آخری دن",
"lastDay4": "مہینے کا چوتھا آخری دن",
"pauseMaintenanceMsg": "کیا آپ واقعی روکنا چاہتے ہیں؟",
"No Maintenance": "کوئی دیکھ بھال نہیں",
"weekdayShortTue": "منگل"
}

@ -736,5 +736,9 @@
"pagertreeHigh": "高",
"pagertreeResolve": "自动解除",
"pagertreeDoNothing": "什么都不做",
"wayToGetPagerTreeIntegrationURL": "在 PagerTree 中创建 Uptime Kuma 集成后,复制端点 URL 到此处。在 {0} 查看详情"
"wayToGetPagerTreeIntegrationURL": "在 PagerTree 中创建 Uptime Kuma 集成后,复制端点 URL 到此处。在 {0} 查看详情",
"Add New Tag": "添加新标签",
"lunaseaDeviceID": "设备ID",
"lunaseaTarget": "目标",
"lunaseaUserID": "用户ID"
}

@ -376,10 +376,10 @@
"default": "預設",
"enabled": "啟用",
"setAsDefault": "設為預設",
"deleteProxyMsg": "您確定要為所有監測器刪除此代理伺服器嗎?",
"proxyDescription": "必須將代理伺服器指派給監測器才能運作。",
"enableProxyDescription": "此代理伺服器在啟用前不會在監測器上生效,您可以藉由控制啟用狀態來暫時對所有的監測器停用代理伺服器。",
"setAsDefaultProxyDescription": "預設情況下,新監測器將啟用此代理伺服器。您仍可分別停用各監測器的代理伺服器。",
"deleteProxyMsg": "您確定要為所有監測器刪除此 Proxy 嗎?",
"proxyDescription": "必須將 Proxy 指派給監測器才能運作。",
"enableProxyDescription": "此 Proxy 在啟用前不會在監測器上生效,您可以藉由控制啟用狀態來暫時對所有的監測器停用 Proxy。",
"setAsDefaultProxyDescription": "預設情況下,新監測器將啟用此 Proxy。您仍可分別停用各監測器的 Proxy。",
"Maintenance": "維護",
"statusMaintenance": "維護中",
"Enable DNS Cache": "啟用 DNS 快取",
@ -430,8 +430,8 @@
"Remove Token": "移除 Token",
"Start": "開始",
"User": "使用者",
"trustProxyDescription": "信任 'X-Forwarded-*' 的 Header。如果您想取得正確的 Client IP且您的 Uptime Kuma 架設於 Nginx 或 Apache 之後,您應啟用此選項。",
"Reverse Proxy": "Reverse Proxy",
"trustProxyDescription": "信任 'X-Forwarded-*' 的 Header。如果您想取得正確的 Client IP且您的 Uptime Kuma 架設於 Nginx 或 Apache Proxy 之後,您應啟用此選項。",
"Reverse Proxy": "反向 Proxy",
"Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "若要取得長期有效 Access Token請按您的個人檔案名稱 (左下角),捲動至最下方,然後按建立 Token。 ",
"A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "您可以在 Home Assistant 中查看通知服務的列表,在\"開發者工具 > 服務\"下搜尋\"通知\"來找到您的裝置/手機的名稱。",
"loadingError": "未能取得數據,請重新再試。",
@ -483,7 +483,7 @@
"API Key": "API Key",
"Show update if available": "有更新時顯示",
"Also check beta release": "檢查 Beta 版本",
"Using a Reverse Proxy?": "正在使用 Reverse Proxy",
"Using a Reverse Proxy?": "正在使用反向代理 (Reverse Proxy)",
"Check how to config it for WebSocket": "查看如何加入 WebSocket 設定",
"Steam Game Server": "Steam 遊戲 Server",
"Most likely causes:": "最可能原因:",
@ -669,7 +669,7 @@
"apiKey-inactive": "已停用",
"apiKey-active": "有效",
"No API Keys": "沒有 API Keys",
"Add API Key": "新 API Key",
"Add API Key": "新 API Key",
"Expiry date": "失效時間",
"Don't expire": "不會失效",
"apiKey-expired": "已失效",
@ -681,9 +681,9 @@
"apiKeyAddedMsg": "你的 API Key 已被產生。此頁只會顯示一次,請適當保存。",
"Expiry": "過期",
"telegramSendSilentlyDescription": "選擇以靜音發送。用戶會收到無聲通知。",
"Clone Monitor": "製監察器",
"Clone": "製",
"cloneOf": "製的 {0}",
"Clone Monitor": "製監察器",
"Clone": "製",
"cloneOf": "製的 {0}",
"Proxy server has authentication": "Proxy 伺服器啟用了驗證功能",
"Proxy Server": "Proxy 伺服器",
"Proxy Protocol": "Proxy 通訊協定",
@ -702,5 +702,9 @@
"Platform": "平台",
"Device Token": "裝置 Token",
"telegramProtectContent": "禁止轉發/儲存",
"telegramProtectContentDescription": "如果選擇,用戶將不能轉發/儲存收到的信息。"
"telegramProtectContentDescription": "如果選擇,用戶將不能轉發/儲存收到的信息。",
"Add New Tag": "加新標籤",
"Economy": "經濟",
"Lowcost": "平價",
"high": "高價"
}

@ -546,28 +546,47 @@
<option value="ntlm">
NTLM
</option>
<option value="mtls">
mTLS
</option>
</select>
</div>
<template v-if="monitor.authMethod && monitor.authMethod !== null ">
<div class="my-3">
<label for="basicauth" class="form-label">{{ $t("Username") }}</label>
<input id="basicauth-user" v-model="monitor.basic_auth_user" type="text" class="form-control" :placeholder="$t('Username')">
</div>
<div class="my-3">
<label for="basicauth" class="form-label">{{ $t("Password") }}</label>
<input id="basicauth-pass" v-model="monitor.basic_auth_pass" type="password" autocomplete="new-password" class="form-control" :placeholder="$t('Password')">
</div>
<template v-if="monitor.authMethod === 'ntlm' ">
<template v-if="monitor.authMethod === 'mtls' ">
<div class="my-3">
<label for="tls-cert" class="form-label">{{ $t("Cert") }}</label>
<textarea id="tls-cert" v-model="monitor.tlsCert" class="form-control" :placeholder="$t('Cert body')" required></textarea>
</div>
<div class="my-3">
<label for="tls-key" class="form-label">{{ $t("Key") }}</label>
<textarea id="tls-key" v-model="monitor.tlsKey" class="form-control" :placeholder="$t('Key body')" required></textarea>
</div>
<div class="my-3">
<label for="tls-ca" class="form-label">{{ $t("CA") }}</label>
<textarea id="tls-ca" v-model="monitor.tlsCa" class="form-control" :placeholder="$t('Server CA')"></textarea>
</div>
</template>
<template v-else>
<div class="my-3">
<label for="basicauth" class="form-label">{{ $t("Domain") }}</label>
<input id="basicauth-domain" v-model="monitor.authDomain" type="text" class="form-control" :placeholder="$t('Domain')">
<label for="basicauth-user" class="form-label">{{ $t("Username") }}</label>
<input id="basicauth-user" v-model="monitor.basic_auth_user" type="text" class="form-control" :placeholder="$t('Username')">
</div>
<div class="my-3">
<label for="basicauth" class="form-label">{{ $t("Workstation") }}</label>
<input id="basicauth-workstation" v-model="monitor.authWorkstation" type="text" class="form-control" :placeholder="$t('Workstation')">
<label for="basicauth-pass" class="form-label">{{ $t("Password") }}</label>
<input id="basicauth-pass" v-model="monitor.basic_auth_pass" type="password" autocomplete="new-password" class="form-control" :placeholder="$t('Password')">
</div>
<template v-if="monitor.authMethod === 'ntlm' ">
<div class="my-3">
<label for="ntlm-domain" class="form-label">{{ $t("Domain") }}</label>
<input id="ntlm-domain" v-model="monitor.authDomain" type="text" class="form-control" :placeholder="$t('Domain')">
</div>
<div class="my-3">
<label for="ntlm-workstation" class="form-label">{{ $t("Workstation") }}</label>
<input id="ntlm-workstation" v-model="monitor.authWorkstation" type="text" class="form-control" :placeholder="$t('Workstation')">
</div>
</template>
</template>
</template>
</template>

Loading…
Cancel
Save