diff --git a/internal/site/package.json b/internal/site/package.json
index d2875350..ea016bc5 100644
--- a/internal/site/package.json
+++ b/internal/site/package.json
@@ -8,6 +8,7 @@
"build": "lingui extract --overwrite && lingui compile && vite build",
"preview": "vite preview",
"sync": "lingui extract --overwrite && lingui compile",
+ "sync_no_compile": "lingui extract --overwrite --clean",
"sync_and_purge": "lingui extract --overwrite --clean && lingui compile",
"format": "biome format --write .",
"lint": "biome lint .",
diff --git a/internal/site/src/components/routes/settings/heartbeat.tsx b/internal/site/src/components/routes/settings/heartbeat.tsx
index ade39369..d012aab0 100644
--- a/internal/site/src/components/routes/settings/heartbeat.tsx
+++ b/internal/site/src/components/routes/settings/heartbeat.tsx
@@ -97,7 +97,7 @@ export default function HeartbeatSettings() {
{isLoading ? (
- Loading heartbeat status...
+ Loading...
) : status?.enabled ? (
diff --git a/internal/site/src/components/routes/settings/layout.tsx b/internal/site/src/components/routes/settings/layout.tsx
index 33488e2d..0c721036 100644
--- a/internal/site/src/components/routes/settings/layout.tsx
+++ b/internal/site/src/components/routes/settings/layout.tsx
@@ -90,13 +90,6 @@ export default function SettingsLayout() {
icon: AlertOctagonIcon,
preload: alertsHistoryDataTableSettingsImport,
},
- {
- title: t`YAML Config`,
- href: getPagePath($router, "settings", { name: "config" }),
- icon: FileSlidersIcon,
- admin: true,
- preload: configYamlSettingsImport,
- },
{
title: t`Heartbeat`,
href: getPagePath($router, "settings", { name: "heartbeat" }),
@@ -104,6 +97,13 @@ export default function SettingsLayout() {
admin: true,
preload: heartbeatSettingsImport,
},
+ {
+ title: t`YAML Config`,
+ href: getPagePath($router, "settings", { name: "config" }),
+ icon: FileSlidersIcon,
+ admin: true,
+ preload: configYamlSettingsImport,
+ },
]
const page = useStore($router)
diff --git a/internal/site/src/locales/ar/ar.po b/internal/site/src/locales/ar/ar.po
index b606d332..4b179165 100644
--- a/internal/site/src/locales/ar/ar.po
+++ b/internal/site/src/locales/ar/ar.po
@@ -93,6 +93,7 @@ msgstr "إجراءات"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "نشط"
@@ -140,6 +141,10 @@ msgstr "مسؤول"
msgid "After"
msgstr "بعد"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "بعد تعيين متغيرات البيئة، أعد تشغيل مركز Beszel الخاص بك لتصبح التغييرات سارية المفعول."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "وكيل"
@@ -350,6 +355,10 @@ msgstr "تحقق من {email} للحصول على رابط إعادة التعي
msgid "Check logs for more details."
msgstr "تحقق من السجلات لمزيد من التفاصيل."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "تحقق من خدمة المراقبة الخاصة بك"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "تحقق من خدمة الإشعارات الخاصة بك"
@@ -643,6 +652,14 @@ msgstr "فارغة"
msgid "End Time"
msgstr "وقت النهاية"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "عنوان URL للنقطة النهائية"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "عنوان URL للنقطة النهائية لل ping (مطلوب)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "أدخل عنوان البريد الإشباكي لإعادة تعيين كلمة المرور"
@@ -662,6 +679,9 @@ msgstr "مؤقت"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "مؤقت"
msgid "Error"
msgstr "خطأ"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "مثال:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "فشل في المصادقة"
msgid "Failed to save settings"
msgstr "فشل في حفظ الإعدادات"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "فشل في إرسال نبضة القلب"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "فشل في إرسال إشعار الاختبار"
@@ -806,6 +834,18 @@ msgstr "شبكة"
msgid "Health"
msgstr "الصحة"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "نبضة القلب"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "مراقبة نبضة القلب"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "تم إرسال نبضة القلب بنجاح"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "أمر Homebrew"
msgid "Host / IP"
msgstr "مضيف / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "طريقة HTTP"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "طريقة HTTP: POST، GET، أو HEAD (الافتراضي: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "صورة"
msgid "Inactive"
msgstr "غير نشط"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "الفاصل الزمني"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "عنوان البريد الإشباكي غير صالح."
@@ -885,6 +937,7 @@ msgstr "متوسط التحميل"
msgid "Load state"
msgstr "حالة التحميل"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "جاري التحميل..."
@@ -1110,6 +1163,10 @@ msgstr "متوقف مؤقتا"
msgid "Paused ({pausedSystemsLength})"
msgstr "متوقف مؤقتا ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "تنسيق الحمولة"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "بحث"
msgid "Search for systems or settings..."
msgstr "البحث عن الأنظمة أو الإعدادات..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "ثواني بين ال pings (الافتراضي: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "راجع <0>إعدادات الإشعارات0> لتكوين كيفية تلقي التنبيهات."
@@ -1315,6 +1376,18 @@ msgstr "راجع <0>إعدادات الإشعارات0> لتكوين كيفي
msgid "Select {foo}"
msgstr "تحديد {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "أرسل ping نبضة قلب واحدة للتحقق من أن نقطة النهاية الخاصة بك تعمل."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "أرسل pings صادرة دورية إلى خدمة مراقبة خارجية حتى تتمكن من مراقبة Beszel دون تعريضه للإنترنت."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "إرسال نبضة قلب اختبارية"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "تم الإرسال"
@@ -1335,6 +1408,10 @@ msgstr "الخدمات"
msgid "Set percentage thresholds for meter colors."
msgstr "تعيين عتبات النسبة المئوية لألوان العداد."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "قم بتعيين متغيرات البيئة التالية على مركز Beszel الخاص بك لتمكين مراقبة نبضة القلب:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "درجات حرارة مستشعرات النظام"
msgid "Test <0>URL0>"
msgstr "اختبار <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "اختبار نبضة القلب"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "تم إرسال إشعار الاختبار"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "الحالة العامة هي <0>موافق0> عندما تكون جميع الأنظمة تعمل، و<1>تحذير1> عند تشغيل التنبيهات، و<2>خطأ2> عندما يكون أي نظام معطلاً."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "ثم قم بتسجيل الدخول إلى الواجهة الخلفية وأعد تعيين كلمة مرور حساب المستخدم الخاص بك في جدول المستخدمين."
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "رفع"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "مدة التشغيل"
@@ -1716,6 +1802,10 @@ msgstr "إشعارات Webhook / Push"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "عند التفعيل، يسمح هذا الرمز المميز للوكلاء بالتسجيل الذاتي دون إنشاء نظام مسبق."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "عند استخدام POST، تتضمن كل نبضة قلب حمولة JSON مع ملخص حالة النظام وقائمة الأنظمة المعطلة والتنبيهات التي تم تشغيلها."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/bg/bg.po b/internal/site/src/locales/bg/bg.po
index 3e4bfefc..68cb0cf7 100644
--- a/internal/site/src/locales/bg/bg.po
+++ b/internal/site/src/locales/bg/bg.po
@@ -93,6 +93,7 @@ msgstr "Действия"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Активен"
@@ -140,6 +141,10 @@ msgstr "Администратор"
msgid "After"
msgstr "След"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "След като настроите променливите на средата, рестартирайте вашия Beszel hub, за да влязат промените в сила."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Агент"
@@ -231,7 +236,7 @@ msgstr "Bandwidth на мрежата"
#. Battery label in systems table header
#: src/components/systems-table/systems-table-columns.tsx
msgid "Bat"
-msgstr ""
+msgstr "Бат"
#: src/components/routes/system.tsx
#: src/lib/alerts.ts
@@ -350,6 +355,10 @@ msgstr "Провери {email} за линк за нулиране."
msgid "Check logs for more details."
msgstr "Провери log-овете за повече информация."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Проверете вашата услуга за мониторинг"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Провери услугата си за удостоверяване"
@@ -621,7 +630,7 @@ msgstr "Редактирай"
#: src/components/add-system.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Edit {foo}"
-msgstr ""
+msgstr "Редактиране на {foo}"
#: src/components/login/auth-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -643,6 +652,14 @@ msgstr "Празна"
msgid "End Time"
msgstr "Крайно време"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "URL адрес на крайната точка"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "URL адрес на крайната точка за пинг (задължително)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Въведи имейл адрес за да нулираш паролата"
@@ -662,6 +679,9 @@ msgstr "Ефимерен"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Ефимерен"
msgid "Error"
msgstr "Грешка"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Пример:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -679,7 +703,7 @@ msgstr "Надвишава {0}{1} в последните {2, plural, one {# м
#: src/components/systemd-table/systemd-table.tsx
msgid "Exec main PID"
-msgstr ""
+msgstr "PID на главния изпълнителен процес"
#: src/components/routes/settings/config-yaml.tsx
msgid "Existing systems not defined in <0>config.yml0> will be deleted. Please make regular backups."
@@ -727,6 +751,10 @@ msgstr "Неуспешно удостоверяване"
msgid "Failed to save settings"
msgstr "Неуспешно запазване на настройки"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Неуспешно изпращане на heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Неуспешно изпрати тестова нотификация"
@@ -806,6 +834,18 @@ msgstr "Мрежово"
msgid "Health"
msgstr "Здраве"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Мониторинг на heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat е изпратен успешно"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Команда Homebrew"
msgid "Host / IP"
msgstr "Хост / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP метод"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP метод: POST, GET или HEAD (по подразбиране: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Образ"
msgid "Inactive"
msgstr "Неактивен"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Интервал"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Невалиден имейл адрес."
@@ -885,6 +937,7 @@ msgstr "Средно натоварване"
msgid "Load state"
msgstr "Състояние на зареждане"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Зареждане..."
@@ -914,7 +967,7 @@ msgstr "Търсиш къде да създадеш тревоги? Натисн
#: src/components/systemd-table/systemd-table.tsx
msgid "Main PID"
-msgstr ""
+msgstr "Главен PID"
#: src/components/routes/settings/layout.tsx
msgid "Manage display and notification preferences."
@@ -1110,6 +1163,10 @@ msgstr "На пауза"
msgid "Paused ({pausedSystemsLength})"
msgstr "На пауза ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Формат на полезния товар"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "Търси"
msgid "Search for systems or settings..."
msgstr "Търси за системи или настройки..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Секунди между пинговете (по подразбиране: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Виж <0>настройките за нотификациите0> за да конфигурираш как получаваш тревоги."
@@ -1315,6 +1376,18 @@ msgstr "Виж <0>настройките за нотификациите0> з
msgid "Select {foo}"
msgstr "Избери {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Изпратете единичен heartbeat пинг, за да проверите дали вашата крайна точка работи."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Изпращайте периодични изходящи пингове към външна услуга за мониторинг, за да можете да наблюдавате Beszel, без да го излагате на интернет."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Изпращане на тестов heartbeat"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Изпратени"
@@ -1335,6 +1408,10 @@ msgstr "Услуги"
msgid "Set percentage thresholds for meter colors."
msgstr "Задайте процентни прагове за цветовете на измервателните уреди."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Задайте следните променливи на средата на вашия Beszel hub, за да активирате мониторинга на heartbeat:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "Температири на системни сензори"
msgid "Test <0>URL0>"
msgstr "Тествай <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Тестов heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Тестова нотификация изпратена"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "Общият статус е <0>ok0>, когато всички системи работят, <1>warn1>, когато са задействани предупреждения, и <2>error2>, когато някоя система е спряла."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "След това влез в backend-а и нулирай паролата за потребителския акаунт в таблицата за потребители."
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Качване"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Време на работа"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / Пуш нотификации"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Когато е активиран, този символ позволява на агентите да се регистрират сами без предварително създаване на система."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "При използване на POST всеки heartbeat включва JSON полезен товар с резюме на състоянието на системата, списък на спрените системи и задействаните предупреждения."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/cs/cs.po b/internal/site/src/locales/cs/cs.po
index 5cd64bf5..706b8eda 100644
--- a/internal/site/src/locales/cs/cs.po
+++ b/internal/site/src/locales/cs/cs.po
@@ -93,6 +93,7 @@ msgstr "Akce"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Aktivní"
@@ -140,6 +141,10 @@ msgstr "Administrátor"
msgid "After"
msgstr "Po"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Po nastavení proměnných prostředí restartujte hub Beszel, aby se změny projevily."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Agent"
@@ -231,7 +236,7 @@ msgstr "Přenos"
#. Battery label in systems table header
#: src/components/systems-table/systems-table-columns.tsx
msgid "Bat"
-msgstr ""
+msgstr "Bat"
#: src/components/routes/system.tsx
#: src/lib/alerts.ts
@@ -350,6 +355,10 @@ msgstr "Zkontrolujte {email} pro odkaz na obnovení."
msgid "Check logs for more details."
msgstr "Pro více informací zkontrolujte logy."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Zkontrolujte svou monitorovací službu"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Zkontrolujte službu upozornění"
@@ -556,11 +565,11 @@ msgstr "Vybíjení"
#: src/components/systems-table/systems-table-columns.tsx
msgid "Disk"
-msgstr ""
+msgstr "Disk"
#: src/components/routes/system.tsx
msgid "Disk I/O"
-msgstr ""
+msgstr "Disk I/O"
#: src/components/routes/settings/general.tsx
msgid "Disk unit"
@@ -643,6 +652,14 @@ msgstr "Prázdná"
msgid "End Time"
msgstr "Čas ukončení"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "URL koncového bodu"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "URL koncového bodu pro ping (vyžadováno)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Zadejte e-mailovou adresu pro obnovu hesla"
@@ -662,6 +679,9 @@ msgstr "Efemérní"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Efemérní"
msgid "Error"
msgstr "Chyba"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Příklad:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "Ověření se nezdařilo"
msgid "Failed to save settings"
msgstr "Nepodařilo se uložit nastavení"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Nepodařilo se odeslat heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Nepodařilo se odeslat testovací oznámení"
@@ -755,7 +783,7 @@ msgstr "Otisk"
#: src/components/routes/system/smart-table.tsx
msgid "Firmware"
-msgstr ""
+msgstr "Firmware"
#: src/components/alerts/alerts-sheet.tsx
msgid "For <0>{min}0> {min, plural, one {minute} other {minutes}}"
@@ -806,6 +834,18 @@ msgstr "Mřížka"
msgid "Health"
msgstr "Zdraví"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Monitorování heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat úspěšně odeslán"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Homebrew příkaz"
msgid "Host / IP"
msgstr "Hostitel / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP metoda"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP metoda: POST, GET nebo HEAD (výchozí: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Obraz"
msgid "Inactive"
msgstr "Neaktivní"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Interval"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Neplatná e-mailová adresa."
@@ -858,7 +910,7 @@ msgstr "Životní cyklus"
#: src/components/systemd-table/systemd-table.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "limit"
-msgstr ""
+msgstr "limit"
#: src/components/routes/system.tsx
msgid "Load Average"
@@ -885,6 +937,7 @@ msgstr "Prům. zatížení"
msgid "Load state"
msgstr "Stav načtení"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Načítání..."
@@ -958,7 +1011,7 @@ msgstr "Využití paměti docker kontejnerů"
#: src/components/routes/system/smart-table.tsx
msgid "Model"
-msgstr ""
+msgstr "Model"
#: src/components/add-system.tsx
#: src/components/alerts-history-columns.tsx
@@ -1110,6 +1163,10 @@ msgstr "Pozastaveno"
msgid "Paused ({pausedSystemsLength})"
msgstr "Pozastaveno ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Formát payloadu"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1162,7 +1219,7 @@ msgstr "Přihlaste se prosím k vašemu účtu"
#: src/components/add-system.tsx
msgid "Port"
-msgstr ""
+msgstr "Port"
#. Power On Time
#: src/components/routes/system/smart-table.tsx
@@ -1307,6 +1364,10 @@ msgstr "Hledat"
msgid "Search for systems or settings..."
msgstr "Hledat systémy nebo nastavení..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Sekundy mezi pingy (výchozí: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Podívejte se na <0>nastavení upozornění0> pro nastavení toho, jak přijímáte upozornění."
@@ -1315,6 +1376,18 @@ msgstr "Podívejte se na <0>nastavení upozornění0> pro nastavení toho, jak
msgid "Select {foo}"
msgstr "Vybrat {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Odešlete jeden heartbeat ping pro ověření funkčnosti vašeho koncového bodu."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Odesílejte periodické odchozí pingy na externí monitorovací službu, abyste mohli monitorovat Beszel bez jeho vystavení internetu."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Odeslat testovací heartbeat"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Odeslat"
@@ -1335,6 +1408,10 @@ msgstr "Služby"
msgid "Set percentage thresholds for meter colors."
msgstr "Nastavte procentuální prahové hodnoty pro barvy měřičů."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Pro povolení monitorování heartbeat nastavte na hubu Beszel následující proměnné prostředí:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "Teploty systémových senzorů"
msgid "Test <0>URL0>"
msgstr "Testovat <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Testovat heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Testovací oznámení odesláno"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "Celkový stav je <0>ok0>, když jsou všechny systémy v provozu, <1>warn1>, když jsou spuštěny výstrahy, a <2>error2>, když je některý systém mimo provoz."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Poté se přihlaste do backendu a obnovte heslo k uživatelskému účtu v tabulce uživatelů."
@@ -1497,7 +1582,7 @@ msgstr "Přepnout motiv"
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Token"
-msgstr ""
+msgstr "Token"
#: src/components/command-palette.tsx
#: src/components/routes/settings/layout.tsx
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Odeslání"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Doba provozu"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / Push oznámení"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Pokud je povoleno, umožňuje tento token agentům samo-registraci bez předchozího vytvoření systému."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "Při použití metody POST obsahuje každý heartbeat JSON payload se souhrnem stavu systému, seznamem nefunkčních systémů a spuštěnými výstrahami."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/da/da.po b/internal/site/src/locales/da/da.po
index eb50680c..6c1ee55f 100644
--- a/internal/site/src/locales/da/da.po
+++ b/internal/site/src/locales/da/da.po
@@ -93,6 +93,7 @@ msgstr "Handlinger"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Aktiv"
@@ -140,6 +141,10 @@ msgstr "Administrator"
msgid "After"
msgstr "Efter"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Efter indstilling af miljøvariablerne skal du genstarte din Beszel-hub for at ændringerne kan træde i kraft."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Agent"
@@ -231,7 +236,7 @@ msgstr "Båndbredde"
#. Battery label in systems table header
#: src/components/systems-table/systems-table-columns.tsx
msgid "Bat"
-msgstr ""
+msgstr "Bat"
#: src/components/routes/system.tsx
#: src/lib/alerts.ts
@@ -350,6 +355,10 @@ msgstr "Tjek {email} for et nulstillingslink."
msgid "Check logs for more details."
msgstr "Tjek logfiler for flere detaljer."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Tjek din overvågningstjeneste"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Tjek din notifikationstjeneste"
@@ -643,6 +652,14 @@ msgstr "Tom"
msgid "End Time"
msgstr "Sluttid"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "Endpoint-URL"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "Endpoint-URL til ping (påkrævet)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Indtast emailadresse for at nulstille adgangskoden"
@@ -662,6 +679,9 @@ msgstr "Efemer"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Efemer"
msgid "Error"
msgstr "Fejl"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Eksempel:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "Kunne ikke godkende"
msgid "Failed to save settings"
msgstr "Kunne ikke gemme indstillinger"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Kunne ikke sende heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Afsendelse af testnotifikation mislykkedes"
@@ -806,6 +834,18 @@ msgstr "Gitter"
msgid "Health"
msgstr "Sundhed"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Heartbeat-overvågning"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat sendt succesfuldt"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Homebrew-kommando"
msgid "Host / IP"
msgstr "Vært / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP-metode"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP-metode: POST, GET eller HEAD (standard: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Billede"
msgid "Inactive"
msgstr "Inaktiv"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Interval"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Ugyldig email adresse."
@@ -885,6 +937,7 @@ msgstr "Belastning gns."
msgid "Load state"
msgstr "Indlæsningstilstand"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Indlæser..."
@@ -1110,6 +1163,10 @@ msgstr "Sat på pause"
msgid "Paused ({pausedSystemsLength})"
msgstr "Sat på pause ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Payload-format"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1121,7 +1178,7 @@ msgstr "Procentdel af tid brugt i hver tilstand"
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Permanent"
-msgstr ""
+msgstr "Permanent"
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Persistence"
@@ -1307,6 +1364,10 @@ msgstr "Søg"
msgid "Search for systems or settings..."
msgstr "Søg efter systemer eller indstillinger..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Sekunder mellem pings (standard: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Se <0>meddelelsesindstillinger0> for at konfigurere, hvordan du modtager alarmer."
@@ -1315,6 +1376,18 @@ msgstr "Se <0>meddelelsesindstillinger0> for at konfigurere, hvordan du modtag
msgid "Select {foo}"
msgstr "Vælg {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Send et enkelt heartbeat-ping for at bekræfte, at dit endpoint fungerer."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Send periodiske udgående pings til en ekstern overvågningstjeneste, så du kan overvåge Beszel uden at eksponere det for internettet."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Send test-heartbeat"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Sendt"
@@ -1335,6 +1408,10 @@ msgstr "Tjenester"
msgid "Set percentage thresholds for meter colors."
msgstr "Indstil procentvise tærskler for målerfarver."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Indstil følgende miljøvariabler på din Beszel-hub for at aktivere heartbeat-overvågning:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "Temperaturer i systemsensorer"
msgid "Test <0>URL0>"
msgstr "Test <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Test-heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Test notifikation sendt"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "Den overordnede status er <0>ok0>, når alle systemer kører, <1>warn1>, når alarmer udløses, og <2>error2>, når et system er nede."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Log derefter ind på backend og nulstil adgangskoden til din brugerkonto i tabellen brugere."
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Overfør"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Oppetid"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / Push notifikationer"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Når aktiveret, tillader denne token agenter at registrere sig selv uden forudgående systemoprettelse."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "Når du bruger POST, inkluderer hvert heartbeat en JSON-payload med resumé af systemstatus, liste over systemer, der er nede, og udløste alarmer."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/de/de.po b/internal/site/src/locales/de/de.po
index fa4d22c6..76371cc5 100644
--- a/internal/site/src/locales/de/de.po
+++ b/internal/site/src/locales/de/de.po
@@ -93,6 +93,7 @@ msgstr "Aktionen"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Aktiv"
@@ -140,6 +141,10 @@ msgstr "Admin"
msgid "After"
msgstr "Nach"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Starten Sie nach dem Festlegen der Umgebungsvariablen Ihren Beszel-Hub neu, damit die Änderungen wirksam werden."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Agent"
@@ -231,7 +236,7 @@ msgstr "Bandbreite"
#. Battery label in systems table header
#: src/components/systems-table/systems-table-columns.tsx
msgid "Bat"
-msgstr ""
+msgstr "Bat"
#: src/components/routes/system.tsx
#: src/lib/alerts.ts
@@ -350,6 +355,10 @@ msgstr "Überprüfe {email} auf einen Link zum Zurücksetzen."
msgid "Check logs for more details."
msgstr "Überprüfe die Protokolle für weitere Details."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Überprüfen Sie Ihren Überwachungsdienst"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Überprüfe deinen Benachrichtigungsdienst"
@@ -643,6 +652,14 @@ msgstr "Leer"
msgid "End Time"
msgstr "Endzeit"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "Endpunkt-URL"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "Endpunkt-URL zum Pingen (erforderlich)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "E-Mail-Adresse eingeben, um das Passwort zurückzusetzen"
@@ -662,6 +679,9 @@ msgstr "Flüchtig"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Flüchtig"
msgid "Error"
msgstr "Fehler"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Beispiel:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "Authentifizierung fehlgeschlagen"
msgid "Failed to save settings"
msgstr "Einstellungen konnten nicht gespeichert werden"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Heartbeat konnte nicht gesendet werden"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Testbenachrichtigung konnte nicht gesendet werden"
@@ -806,6 +834,18 @@ msgstr "Raster"
msgid "Health"
msgstr "Gesundheit"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Heartbeat-Überwachung"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat erfolgreich gesendet"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Homebrew-Befehl"
msgid "Host / IP"
msgstr "Host / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP-Methode"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP-Methode: POST, GET oder HEAD (Standard: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Image"
msgid "Inactive"
msgstr "Inaktiv"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Intervall"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Ungültige E-Mail-Adresse."
@@ -885,6 +937,7 @@ msgstr "Systemlast"
msgid "Load state"
msgstr "Ladezustand"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Lädt..."
@@ -1096,7 +1149,7 @@ msgstr "Anfrage zum Zurücksetzen des Passworts erhalten"
#: src/components/routes/settings/quiet-hours.tsx
msgid "Past"
-msgstr ""
+msgstr "Vergangen"
#: src/components/systems-table/systems-table-columns.tsx
msgid "Pause"
@@ -1110,6 +1163,10 @@ msgstr "Pausiert"
msgid "Paused ({pausedSystemsLength})"
msgstr "Pausiert ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Payload-Format"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1121,7 +1178,7 @@ msgstr "Prozentsatz der Zeit in jedem Zustand"
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Permanent"
-msgstr ""
+msgstr "Permanent"
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Persistence"
@@ -1248,7 +1305,7 @@ msgstr "Fortsetzen"
#: src/components/systems-table/systems-table-columns.tsx
msgctxt "Root disk label"
msgid "Root"
-msgstr ""
+msgstr "Root"
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Rotate token"
@@ -1307,6 +1364,10 @@ msgstr "Suche"
msgid "Search for systems or settings..."
msgstr "Nach Systemen oder Einstellungen suchen..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Sekunden zwischen Pings (Standard: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Siehe <0>Benachrichtigungseinstellungen0>, um zu konfigurieren, wie du Warnungen erhältst."
@@ -1315,6 +1376,18 @@ msgstr "Siehe <0>Benachrichtigungseinstellungen0>, um zu konfigurieren, wie du
msgid "Select {foo}"
msgstr "Auswählen {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Senden Sie einen einzelnen Heartbeat-Ping, um zu überprüfen, ob Ihr Endpunkt funktioniert."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Senden Sie regelmäßige ausgehende Pings an einen externen Überwachungsdienst, damit Sie Beszel überwachen können, ohne es dem Internet auszusetzen."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Test-Heartbeat senden"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Gesendet"
@@ -1335,6 +1408,10 @@ msgstr "Dienste"
msgid "Set percentage thresholds for meter colors."
msgstr "Prozentuale Schwellenwerte für Zählerfarben festlegen."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Legen Sie die folgenden Umgebungsvariablen auf Ihrem Beszel-Hub fest, um die Heartbeat-Überwachung zu aktivieren:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "Temperaturen der Systemsensoren"
msgid "Test <0>URL0>"
msgstr "Test <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Test-Heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Testbenachrichtigung gesendet"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "Der Gesamtstatus ist <0>ok0>, wenn alle Systeme in Betrieb sind, <1>warn1>, wenn Warnungen ausgelöst werden, und <2>error2>, wenn ein System ausgefallen ist."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Melde dich dann im Backend an und setze dein Benutzerkontopasswort in der Benutzertabelle zurück."
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Hochladen"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Betriebszeit"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / Push-Benachrichtigungen"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Wenn aktiviert, ermöglicht dieser Token Agenten die Selbstregistrierung ohne vorherige Systemerstellung."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "Bei Verwendung von POST enthält jeder Heartbeat eine JSON-Payload mit einer Zusammenfassung des Systemstatus, einer Liste der ausgefallenen Systeme und ausgelösten Warnungen."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/en/en.po b/internal/site/src/locales/en/en.po
index 3a81e72a..554730b7 100644
--- a/internal/site/src/locales/en/en.po
+++ b/internal/site/src/locales/en/en.po
@@ -88,6 +88,7 @@ msgstr "Actions"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Active"
@@ -135,6 +136,10 @@ msgstr "Admin"
msgid "After"
msgstr "After"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "After setting the environment variables, restart your Beszel hub for changes to take effect."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Agent"
@@ -345,6 +350,10 @@ msgstr "Check {email} for a reset link."
msgid "Check logs for more details."
msgstr "Check logs for more details."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Check your monitoring service"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Check your notification service"
@@ -638,6 +647,14 @@ msgstr "Empty"
msgid "End Time"
msgstr "End Time"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "Endpoint URL"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "Endpoint URL to ping (required)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Enter email address to reset password"
@@ -657,6 +674,9 @@ msgstr "Ephemeral"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -665,6 +685,10 @@ msgstr "Ephemeral"
msgid "Error"
msgstr "Error"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Example:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -722,6 +746,10 @@ msgstr "Failed to authenticate"
msgid "Failed to save settings"
msgstr "Failed to save settings"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Failed to send heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Failed to send test notification"
@@ -801,6 +829,18 @@ msgstr "Grid"
msgid "Health"
msgstr "Health"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Heartbeat Monitoring"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat sent successfully"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -811,6 +851,14 @@ msgstr "Homebrew command"
msgid "Host / IP"
msgstr "Host / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP Method"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP method: POST, GET, or HEAD (default: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -829,6 +877,10 @@ msgstr "Image"
msgid "Inactive"
msgstr "Inactive"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Interval"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Invalid email address."
@@ -880,6 +932,7 @@ msgstr "Load Avg"
msgid "Load state"
msgstr "Load state"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Loading..."
@@ -1105,6 +1158,10 @@ msgstr "Paused"
msgid "Paused ({pausedSystemsLength})"
msgstr "Paused ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Payload format"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1302,6 +1359,10 @@ msgstr "Search"
msgid "Search for systems or settings..."
msgstr "Search for systems or settings..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Seconds between pings (default: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "See <0>notification settings0> to configure how you receive alerts."
@@ -1310,6 +1371,18 @@ msgstr "See <0>notification settings0> to configure how you receive alerts."
msgid "Select {foo}"
msgstr "Select {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Send a single heartbeat ping to verify your endpoint is working."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Send test heartbeat"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Sent"
@@ -1330,6 +1403,10 @@ msgstr "Services"
msgid "Set percentage thresholds for meter colors."
msgstr "Set percentage thresholds for meter colors."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1447,10 +1524,18 @@ msgstr "Temperatures of system sensors"
msgid "Test <0>URL0>"
msgstr "Test <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Test heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Test notification sent"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Then log into the backend and reset your user account password in the users table."
@@ -1637,6 +1722,7 @@ msgid "Upload"
msgstr "Upload"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Uptime"
@@ -1711,6 +1797,10 @@ msgstr "Webhook / Push notifications"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "When enabled, this token allows agents to self-register without prior system creation."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/es/es.po b/internal/site/src/locales/es/es.po
index b57a9e3e..bcd27015 100644
--- a/internal/site/src/locales/es/es.po
+++ b/internal/site/src/locales/es/es.po
@@ -93,6 +93,7 @@ msgstr "Acciones"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Activo"
@@ -140,6 +141,10 @@ msgstr "Administrador"
msgid "After"
msgstr "Después"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Después de configurar las variables de entorno, reinicie su hub Beszel para que los cambios surtan efecto."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Agente"
@@ -350,6 +355,10 @@ msgstr "Revisa {email} para un enlace de restablecimiento."
msgid "Check logs for more details."
msgstr "Revisa los registros para más detalles."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Compruebe su servicio de monitorización"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Verifica tu servicio de notificaciones"
@@ -643,6 +652,14 @@ msgstr "Vacía"
msgid "End Time"
msgstr "Hora de finalización"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "URL del punto de conexión"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "URL del punto de conexión para ping (obligatorio)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Ingresa la dirección de correo electrónico para restablecer la contraseña"
@@ -662,6 +679,9 @@ msgstr "Efímero"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Efímero"
msgid "Error"
msgstr "Error"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Ejemplo:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "Error al autenticar"
msgid "Failed to save settings"
msgstr "Error al guardar la configuración"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Error al enviar el latido (heartbeat)"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Error al enviar la notificación de prueba"
@@ -806,6 +834,18 @@ msgstr "Cuadrícula"
msgid "Health"
msgstr "Estado"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Monitorización de Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Latido enviado con éxito"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Comando Homebrew"
msgid "Host / IP"
msgstr "Servidor / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "Método HTTP"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "Método HTTP: POST, GET o HEAD (predeterminado: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Imagen"
msgid "Inactive"
msgstr "Inactivo"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Intervalo"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Dirección de correo electrónico no válida."
@@ -885,6 +937,7 @@ msgstr "Carga media"
msgid "Load state"
msgstr "Estado de carga"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Cargando..."
@@ -1110,6 +1163,10 @@ msgstr "Pausado"
msgid "Paused ({pausedSystemsLength})"
msgstr "Pausado ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Formato de carga útil (payload)"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "Buscar"
msgid "Search for systems or settings..."
msgstr "Buscar sistemas o configuraciones..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Segundos entre pings (predeterminado: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Consulta la <0>configuración de notificaciones0> para configurar cómo recibes alertas."
@@ -1315,6 +1376,18 @@ msgstr "Consulta la <0>configuración de notificaciones0> para configurar cóm
msgid "Select {foo}"
msgstr "Seleccionar {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Envíe un único ping de latido para verificar que su punto de conexión funciona."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Envíe pings salientes periódicos a un servicio de monitorización externo para que pueda supervisar Beszel sin exponerlo a internet."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Enviar latido de prueba"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Enviado"
@@ -1335,6 +1408,10 @@ msgstr "Servicios"
msgid "Set percentage thresholds for meter colors."
msgstr "Establecer umbrales de porcentaje para los colores de los medidores."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Configure las siguientes variables de entorno en su hub Beszel para habilitar la monitorización de latidos:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "Temperaturas de los sensores del sistema"
msgid "Test <0>URL0>"
msgstr "Probar <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Probar latido"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Notificación de prueba enviada"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "El estado general es <0>ok0> cuando todos los sistemas están activos, <1>warn1> cuando se activan alertas y <2>error2> cuando algún sistema está caído."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Luego inicia sesión en el backend y restablece la contraseña de tu cuenta de usuario en la tabla de usuarios."
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Cargar"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Tiempo de actividad"
@@ -1716,6 +1802,10 @@ msgstr "Notificaciones Webhook / Push"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Cuando está habilitado, este token permite a los agentes registrarse automáticamente sin creación previa del sistema."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "Al usar POST, cada latido incluye una carga útil JSON con un resumen del estado del sistema, una lista de sistemas caídos y alertas activadas."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/fa/fa.po b/internal/site/src/locales/fa/fa.po
index 5b22ceb8..fa61432d 100644
--- a/internal/site/src/locales/fa/fa.po
+++ b/internal/site/src/locales/fa/fa.po
@@ -93,6 +93,7 @@ msgstr "عملیات"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "فعال"
@@ -140,6 +141,10 @@ msgstr "مدیر"
msgid "After"
msgstr "بعد از"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "پس از تنظیم متغیرهای محیطی، هاب Beszel خود را مجدداً راه اندازی کنید تا تغییرات اعمال شوند."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "عامل"
@@ -350,6 +355,10 @@ msgstr "ایمیل {email} خود را برای لینک بازنشانی برر
msgid "Check logs for more details."
msgstr "برای جزئیات بیشتر، لاگها را بررسی کنید."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "سرویس نظارتی خود را بررسی کنید"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "سرویس اطلاعرسانی خود را بررسی کنید"
@@ -643,6 +652,14 @@ msgstr "خالی"
msgid "End Time"
msgstr "زمان پایان"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "URL نقطه پایانی"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "URL نقطه پایانی برای پینگ (الزامی)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "آدرس ایمیل را برای بازنشانی رمز عبور وارد کنید"
@@ -662,6 +679,9 @@ msgstr "گذرا"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "گذرا"
msgid "Error"
msgstr "خطا"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "مثال:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "احراز هویت ناموفق بود"
msgid "Failed to save settings"
msgstr "ذخیره تنظیمات ناموفق بود"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "ارسال ضربان قلب ناموفق بود"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "ارسال اعلان آزمایشی ناموفق بود"
@@ -806,6 +834,18 @@ msgstr "جدول"
msgid "Health"
msgstr "سلامتی"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "ضربان قلب"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "نظارت بر ضربان قلب"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "ضربان قلب با موفقیت ارسال شد"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "دستور Homebrew"
msgid "Host / IP"
msgstr "میزبان / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "متد HTTP"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "متد HTTP: POST، GET، یا HEAD (پیشفرض: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "تصویر"
msgid "Inactive"
msgstr "غیرفعال"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "بازه زمانی"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "آدرس ایمیل نامعتبر است."
@@ -885,6 +937,7 @@ msgstr "میانگین بار"
msgid "Load state"
msgstr "وضعیت بارگذاری"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "در حال بارگذاری..."
@@ -1110,6 +1163,10 @@ msgstr "مکث شده"
msgid "Paused ({pausedSystemsLength})"
msgstr "مکث شده ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "فرمت پیلود"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "جستجو"
msgid "Search for systems or settings..."
msgstr "جستجو برای سیستمها یا تنظیمات..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "ثانیه بین پینگها (پیشفرض: ۶۰)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "برای پیکربندی نحوه دریافت هشدارها، به <0>تنظیمات اعلان0> مراجعه کنید."
@@ -1315,6 +1376,18 @@ msgstr "برای پیکربندی نحوه دریافت هشدارها، به <0
msgid "Select {foo}"
msgstr "انتخاب {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "یک پینگ ضربان قلب تکی ارسال کنید تا از کارکرد نقطه پایانی خود اطمینان حاصل کنید."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "پینگهای خروجی دورهای را به یک سرویس نظارتی خارجی ارسال کنید تا بتوانید Beszel را بدون قرار دادن آن در معرض اینترنت نظارت کنید."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "ارسال ضربان قلب آزمایشی"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "ارسال شد"
@@ -1335,6 +1408,10 @@ msgstr "سرویسها"
msgid "Set percentage thresholds for meter colors."
msgstr "آستانه های درصدی را برای رنگ های متر تنظیم کنید."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "متغیرهای محیطی زیر را در هاب Beszel خود تنظیم کنید تا نظارت بر ضربان قلب فعال شود:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "دمای حسگرهای سیستم"
msgid "Test <0>URL0>"
msgstr "تست <0>آدرس اینترنتی0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "تست ضربان قلب"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "اعلان آزمایشی ارسال شد"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "وضعیت کلی زمانی <0>ok0> است که همه سیستمها بالا باشند، <1>warn1> زمانی که هشدارها فعال شوند، و <2>error2> زمانی که هر سیستمی پایین باشد."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "سپس وارد بخش پشتیبان شوید و رمز عبور حساب کاربری خود را در جدول کاربران بازنشانی کنید."
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "آپلود"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "آپتایم"
@@ -1716,6 +1802,10 @@ msgstr "اعلانهای Webhook / Push"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "هنگامی که فعال باشد، این توکن به عوامل اجازه میدهد بدون ایجاد سیستم قبلی، خود را ثبت کنند."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "هنگام استفاده از POST، هر ضربان قلب شامل یک پیلود JSON با خلاصه وضعیت سیستم، لیست سیستمهای پایین و هشدارهای فعال شده است."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/fr/fr.po b/internal/site/src/locales/fr/fr.po
index a559c89f..cf661377 100644
--- a/internal/site/src/locales/fr/fr.po
+++ b/internal/site/src/locales/fr/fr.po
@@ -93,6 +93,7 @@ msgstr "Actions"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Active"
@@ -140,6 +141,10 @@ msgstr "Admin"
msgid "After"
msgstr "Après"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Après avoir défini les variables d'environnement, redémarrez votre hub Beszel pour que les changements prennent effet."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Agent"
@@ -231,7 +236,7 @@ msgstr "Bande passante"
#. Battery label in systems table header
#: src/components/systems-table/systems-table-columns.tsx
msgid "Bat"
-msgstr ""
+msgstr "Bat"
#: src/components/routes/system.tsx
#: src/lib/alerts.ts
@@ -350,6 +355,10 @@ msgstr "Vérifiez {email} pour un lien de réinitialisation."
msgid "Check logs for more details."
msgstr "Vérifiez les journaux pour plus de détails."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Vérifiez votre service de surveillance"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Vérifiez votre service de notification"
@@ -643,6 +652,14 @@ msgstr "Vide"
msgid "End Time"
msgstr "Heure de fin"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "URL du point de terminaison"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "URL du point de terminaison à pinguer (requis)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Entrez l'adresse email pour réinitialiser le mot de passe"
@@ -662,6 +679,9 @@ msgstr "Éphémère"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Éphémère"
msgid "Error"
msgstr "Erreur"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Exemple :"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "Échec de l'authentification"
msgid "Failed to save settings"
msgstr "Échec de l'enregistrement des paramètres"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Échec de l'envoi du battement de cœur (heartbeat)"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Échec de l'envoi de la notification de test"
@@ -806,6 +834,18 @@ msgstr "Grille"
msgid "Health"
msgstr "Santé"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Surveillance Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Battement de cœur envoyé avec succès"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Commande Homebrew"
msgid "Host / IP"
msgstr "Hôte / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "Méthode HTTP"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "Méthode HTTP : POST, GET ou HEAD (par défaut : POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Image"
msgid "Inactive"
msgstr "Inactif"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Intervalle"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Adresse email invalide."
@@ -885,6 +937,7 @@ msgstr "Charge moy."
msgid "Load state"
msgstr "État de charge"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Chargement..."
@@ -1110,6 +1163,10 @@ msgstr "En pause"
msgid "Paused ({pausedSystemsLength})"
msgstr "Mis en pause ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Format de la charge utile"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "Recherche"
msgid "Search for systems or settings..."
msgstr "Rechercher des systèmes ou des paramètres..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Secondes entre les pings (par défaut : 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Voir les <0>paramètres de notification0> pour configurer comment vous recevez les alertes."
@@ -1315,6 +1376,18 @@ msgstr "Voir les <0>paramètres de notification0> pour configurer comment vous
msgid "Select {foo}"
msgstr "Sélectionner {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Envoyez un seul ping heartbeat pour vérifier que votre point de terminaison fonctionne."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Envoyez des pings sortants périodiques vers un service de surveillance externe afin de pouvoir surveiller Beszel sans l'exposer à Internet."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Envoyer un heartbeat de test"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Envoyé"
@@ -1335,6 +1408,10 @@ msgstr "Services"
msgid "Set percentage thresholds for meter colors."
msgstr "Définir des seuils de pourcentage pour les couleurs des compteurs."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Définissez les variables d'environnement suivantes sur votre hub Beszel pour activer la surveillance du heartbeat :"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "Températures des capteurs du système"
msgid "Test <0>URL0>"
msgstr "Tester <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Tester le heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Notification de test envoyée"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "L'état général est <0>ok0> quand tous les systèmes sont opérationnels, <1>warn1> quand des alertes sont déclenchées, et <2>error2> quand un système est en panne."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Ensuite, connectez-vous au backend et réinitialisez le mot de passe de votre compte utilisateur dans la table des utilisateurs."
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Téléverser"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Temps de fonctionnement"
@@ -1716,6 +1802,10 @@ msgstr "Notifications Webhook / Push"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Lorsqu'il est activé, ce jeton permet aux agents de s'enregistrer automatiquement sans création préalable du système."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "En utilisant POST, chaque heartbeat inclut une charge utile JSON avec un résumé de l'état du sistema, la liste des systèmes en panne et les alertes déclenchées."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/he/he.po b/internal/site/src/locales/he/he.po
index c550a80f..dedb888b 100644
--- a/internal/site/src/locales/he/he.po
+++ b/internal/site/src/locales/he/he.po
@@ -93,6 +93,7 @@ msgstr "פעולות"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "פעיל"
@@ -140,6 +141,10 @@ msgstr "מנהל"
msgid "After"
msgstr "אחרי"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "לאחר הגדרת משתני הסביבה, הפעל מחדש את ה-Beszel hub שלך כדי שהשינויים ייכנסו לתוקף."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "סוכן"
@@ -350,6 +355,10 @@ msgstr "בדוק את {email} לקישור איפוס."
msgid "Check logs for more details."
msgstr "בדוק לוגים לפרטים נוספים"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "בדוק את שירות הניטור שלך"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "בדוק את שירות ההתראות שלך"
@@ -643,6 +652,14 @@ msgstr "ריק"
msgid "End Time"
msgstr "זמן סיום"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "URL של נקודת קצה"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "URL של נקודת קצה לפינג (חובה)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "הכנס כתובת אימייל לאיפוס סיסמה"
@@ -662,6 +679,9 @@ msgstr "זמני"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "זמני"
msgid "Error"
msgstr "שגיאה"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "דוגמה:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "אימות נכשל"
msgid "Failed to save settings"
msgstr "שמירת הגדרות נכשלה"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "שליחת פעימת הלב נכשלה"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "שליחת התראת בדיקה נכשלה"
@@ -806,6 +834,18 @@ msgstr "רשת"
msgid "Health"
msgstr "בריאות"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "פעימת לב"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "ניטור פעימות לב"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "פעימת הלב נשלחה בהצלחה"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "פקודת Homebrew"
msgid "Host / IP"
msgstr "מארח / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "שיטת HTTP"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "שיטת HTTP: POST, GET, או HEAD (ברירת מחדל: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "תמונה"
msgid "Inactive"
msgstr "לא פעיל"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "מרווח"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "כתובת אימייל לא תקינה."
@@ -885,6 +937,7 @@ msgstr "ממוצע עומס"
msgid "Load state"
msgstr "מצב עומס"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "טוען..."
@@ -1110,6 +1163,10 @@ msgstr "מושהה"
msgid "Paused ({pausedSystemsLength})"
msgstr "מושהה ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "פורמט מטען (Payload)"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "חיפוש"
msgid "Search for systems or settings..."
msgstr "חפש מערכות או הגדרות..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "שניות בין פינגים (ברירת מחדל: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "ראה <0>הגדרות התראות0> כדי להגדיר כיצד אתה מקבל התראות."
@@ -1315,6 +1376,18 @@ msgstr "ראה <0>הגדרות התראות0> כדי להגדיר כיצד א
msgid "Select {foo}"
msgstr "בחר {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "שלח פינג פעימת לב בודד כדי לוודא שנקודת הקצה שלך עובדת."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "שלח פינגים יוצאים תקופתיים לשירות ניטור חיצוני כדי שתוכל לנטר את Beszel מבלי לחשוף אותו לאינטרנט."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "שלח פעימת לב לבדיקה"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "נשלח"
@@ -1335,6 +1408,10 @@ msgstr "שירותים"
msgid "Set percentage thresholds for meter colors."
msgstr "הגדר סף אחוזים עבור צבעי מד."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "הגדר את משתני הסביבה הבאים ב-Beszel hub שלך כדי לאפשר ניטור פעימות לב:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "טמפרטורות של חיישני המערכת"
msgid "Test <0>URL0>"
msgstr "בדוק <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "בדוק פעימת לב"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "התראת בדיקה נשלחה"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "הסטטוס הכללי הוא <0>ok0> כשכל המערכות פועלות, <1>warn1> כשמופעלות התראות, ו-<2>error2> כשמערכת כלשהי מושבתת."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "לאחר מכן התחבר ל-backend ואפס את סיסמת חשבון המשתמש שלך בטבלת המשתמשים."
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "העלאה"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "זמן פעילות"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / התראות דחיפה"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "כאשר מופעל, אסימון זה מאפשר לסוכנים להירשם באופן עצמי ללא יצירת מערכת מוקדמת."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "בשימוש ב-POST, כל פעימת לב כוללת מטען JSON עם סיכום סטטוס המערכת, רשימת מערכות מושבתות והתראות שהופעלו."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/hr/hr.po b/internal/site/src/locales/hr/hr.po
index 65daefa0..845058bc 100644
--- a/internal/site/src/locales/hr/hr.po
+++ b/internal/site/src/locales/hr/hr.po
@@ -93,6 +93,7 @@ msgstr "Akcije"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Aktivan"
@@ -140,6 +141,10 @@ msgstr "Admin"
msgid "After"
msgstr "Nakon"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Nakon postavljanja varijabli okruženja, ponovno pokrenite svoj Beszel hub kako bi promjene stupile na snagu."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Agent"
@@ -231,7 +236,7 @@ msgstr "Mrežna Propusnost"
#. Battery label in systems table header
#: src/components/systems-table/systems-table-columns.tsx
msgid "Bat"
-msgstr ""
+msgstr "Bat"
#: src/components/routes/system.tsx
#: src/lib/alerts.ts
@@ -350,6 +355,10 @@ msgstr "Provjerite {email} za pristup poveznici za resetiranje."
msgid "Check logs for more details."
msgstr "Provjerite zapise (logove) za više detalja."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Provjerite svoju uslugu nadzora"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Provjerite svoju obavještajnu uslugu"
@@ -643,6 +652,14 @@ msgstr "Prazno"
msgid "End Time"
msgstr "Vrijeme završetka"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "URL krajnje točke"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "URL krajnje točke za pinganje (obavezno)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Unesite email adresu kako biste resetirali lozinku"
@@ -662,6 +679,9 @@ msgstr "Efemeran"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Efemeran"
msgid "Error"
msgstr "Greška"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Primjer:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "Neuspješna provjera autentičnosti"
msgid "Failed to save settings"
msgstr "Neuspješno spremanje postavki"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Slanje heartbeata nije uspjelo"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Neuspješno slanje probne obavijesti"
@@ -806,6 +834,18 @@ msgstr "Rešetka"
msgid "Health"
msgstr "Zdravlje"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Nadzor heartbeata"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat uspješno poslan"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Homebrew naredba"
msgid "Host / IP"
msgstr "Host / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP metoda"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP metoda: POST, GET ili HEAD (zadano: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Slika"
msgid "Inactive"
msgstr "Neaktivno"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Interval"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Nevažeća email adresa."
@@ -885,6 +937,7 @@ msgstr "Prosječno Opterećenje"
msgid "Load state"
msgstr "Stanje učitavanja"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Učitavanje..."
@@ -958,7 +1011,7 @@ msgstr "Iskorištenost memorije Docker spremnika"
#: src/components/routes/system/smart-table.tsx
msgid "Model"
-msgstr ""
+msgstr "Model"
#: src/components/add-system.tsx
#: src/components/alerts-history-columns.tsx
@@ -1110,6 +1163,10 @@ msgstr "Pauzirano"
msgid "Paused ({pausedSystemsLength})"
msgstr "Pauzirano ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Format korisnog tereta (Payload)"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "Pretraži"
msgid "Search for systems or settings..."
msgstr "Pretraži za sisteme ili postavke..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Sekunde između pingova (zadano: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Pogledajte <0>postavke obavijesti0> da biste konfigurirali način primanja upozorenja."
@@ -1315,6 +1376,18 @@ msgstr "Pogledajte <0>postavke obavijesti0> da biste konfigurirali način prim
msgid "Select {foo}"
msgstr "Odaberi {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Pošaljite jedan heartbeat ping kako biste provjerili radi li vaša krajnja točka."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Šaljite povremene odlazne pingove vanjskoj usluzi nadzora kako biste mogli nadzirati Beszel bez izlaganja internetu."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Pošalji testni heartbeat"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Poslano"
@@ -1335,6 +1408,10 @@ msgstr "Usluge"
msgid "Set percentage thresholds for meter colors."
msgstr "Postavite pragove postotka za boje mjerača."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Postavite sljedeće varijable okruženja na svom Beszel hubu kako biste omogućili nadzor heartbeata:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "Temperature sistemskih senzora"
msgid "Test <0>URL0>"
msgstr "Testni <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Testiraj heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Testna obavijest poslana"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "Ukupni status je <0>ok0> kada su svi sustavi u radu, <1>warn1> kada su aktivirana upozorenja i <2>error2> kada je bilo koji sustav isključen."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Zatim se prijavite u backend i resetirajte lozinku korisničkog računa u tablici korisnika."
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Otpremi"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Vrijeme rada"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / Push obavijest"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Kada je omogućen, ovaj token omogućuje agentima da se sami registriraju bez prethodnog stvaranja sustava."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "Kada koristite POST, svaki heartbeat uključuje JSON payload sa sažetkom statusa sustava, popisom isključenih sustava i aktiviranim upozorenjima."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/hu/hu.po b/internal/site/src/locales/hu/hu.po
index b3da87ff..791e3d72 100644
--- a/internal/site/src/locales/hu/hu.po
+++ b/internal/site/src/locales/hu/hu.po
@@ -93,6 +93,7 @@ msgstr "Műveletek"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Aktív"
@@ -140,6 +141,10 @@ msgstr "Adminisztráció"
msgid "After"
msgstr "Utána"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "A környezeti változók beállítása után indítsa újra a Beszel hubot a módosítások érvénybe léptetéséhez."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Ügynök"
@@ -350,6 +355,10 @@ msgstr "Ellenőrizd a {email} címet a visszaállító linkért."
msgid "Check logs for more details."
msgstr "Ellenőrizd a naplót a további részletekért."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Ellenőrizze a megfigyelő szolgáltatást"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Ellenőrizd az értesítési szolgáltatásodat"
@@ -643,6 +652,14 @@ msgstr "Üres"
msgid "End Time"
msgstr "Befejezés ideje"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "Végpont URL"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "Pingelendő végpont URL (kötelező)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "E-mail cím megadása a jelszó visszaállításához"
@@ -662,6 +679,9 @@ msgstr "Ideiglenes"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Ideiglenes"
msgid "Error"
msgstr "Hiba"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Példa:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "Hitelesítés sikertelen"
msgid "Failed to save settings"
msgstr "Nem sikerült menteni a beállításokat"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Nem sikerült elküldeni a szívverést (heartbeat)"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Teszt értesítés elküldése sikertelen"
@@ -806,6 +834,18 @@ msgstr "Rács"
msgid "Health"
msgstr "Egészség"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Heartbeat figyelés"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat sikeresen elküldve"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Homebrew parancs"
msgid "Host / IP"
msgstr "Állomás / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP metódus"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP metódus: POST, GET vagy HEAD (alapértelmezett: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Kép"
msgid "Inactive"
msgstr "Inaktív"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Intervallum"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Érvénytelen e-mail cím."
@@ -885,6 +937,7 @@ msgstr "Terhelési átlag"
msgid "Load state"
msgstr "Betöltési állapot"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Betöltés..."
@@ -1110,6 +1163,10 @@ msgstr "Szüneteltetve"
msgid "Paused ({pausedSystemsLength})"
msgstr "Szüneteltetve ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Payload formátum"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "Keresés"
msgid "Search for systems or settings..."
msgstr "Keresés rendszerek vagy beállítások után..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Pingek közötti másodpercek (alapértelmezett: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Lásd <0>az értesítési beállításokat0>, hogy konfigurálja, hogyan kap értesítéseket."
@@ -1315,6 +1376,18 @@ msgstr "Lásd <0>az értesítési beállításokat0>, hogy konfigurálja, hogy
msgid "Select {foo}"
msgstr "{foo} kiválasztása"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Küldjön egyetlen heartbeat pinget a végpont működésének ellenőrzéséhez."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Küldjön időszakos kimenő pingeket egy külső megfigyelő szolgáltatásnak, így a Beszel-t az internetnek való kitettség nélkül is megfigyelheti."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Teszt heartbeat küldése"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Elküldve"
@@ -1335,6 +1408,10 @@ msgstr "Szolgáltatások"
msgid "Set percentage thresholds for meter colors."
msgstr "Százalékos küszöbértékek beállítása a mérőszínekhez."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Állítsa be a következő környezeti változókat a Beszel hubon a heartbeat figyelés engedélyezéséhez:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "A rendszer érzékelőinek hőmérséklete"
msgid "Test <0>URL0>"
msgstr "Teszt <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Teszt heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Teszt értesítés elküldve"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "Az összesített állapot <0>ok0>, ha minden rendszer fut, <1>warn1>, ha riasztások léptek fel, és <2>error2>, ha bármelyik rendszer leállt."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Ezután jelentkezzen be a backendbe, és állítsa vissza a felhasználói fiók jelszavát a felhasználók táblázatban."
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Feltöltés"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Üzemidő"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / Push értesítések"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Ha engedélyezve van, ez a token lehetővé teszi az ügynökök számára a regisztrációt a rendszer előzetes létrehozása nélkül."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "POST használata esetén minden heartbeat tartalmaz egy JSON payload-ot a rendszerállapot összefoglalójával, a leállt rendszerek listájával és a kiváltott riasztásokkal."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/id/id.po b/internal/site/src/locales/id/id.po
index 5fa5262e..ba6865b2 100644
--- a/internal/site/src/locales/id/id.po
+++ b/internal/site/src/locales/id/id.po
@@ -93,6 +93,7 @@ msgstr "Aksi"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Aktif"
@@ -140,6 +141,10 @@ msgstr "Admin"
msgid "After"
msgstr "Setelah"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Setelah mengatur variabel lingkungan, restart hub Beszel Anda agar perubahan dapat diterapkan."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Agen"
@@ -350,6 +355,10 @@ msgstr "Periksa {email} untuk tautan atur ulang password."
msgid "Check logs for more details."
msgstr "Periksa riwayat untuk lebih detail."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Periksa layanan pemantauan Anda"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Periksa jasa penyedia notifikasi anda"
@@ -457,7 +466,7 @@ msgstr "Salin YAML"
#: src/components/systemd-table/systemd-table-columns.tsx
#: src/components/systems-table/systems-table-columns.tsx
msgid "CPU"
-msgstr ""
+msgstr "CPU"
#: src/components/routes/system/cpu-sheet.tsx
msgid "CPU Cores"
@@ -543,7 +552,7 @@ msgstr "Deskripsi"
#: src/components/containers-table/containers-table.tsx
msgid "Detail"
-msgstr ""
+msgstr "Detail"
#: src/components/routes/system/smart-table.tsx
msgid "Device"
@@ -556,11 +565,11 @@ msgstr "Sedang tidak di charge"
#: src/components/systems-table/systems-table-columns.tsx
msgid "Disk"
-msgstr ""
+msgstr "Disk"
#: src/components/routes/system.tsx
msgid "Disk I/O"
-msgstr ""
+msgstr "Disk I/O"
#: src/components/routes/settings/general.tsx
msgid "Disk unit"
@@ -586,7 +595,7 @@ msgstr "Penggunaan Memori Docker"
#: src/components/routes/system.tsx
msgid "Docker Network I/O"
-msgstr ""
+msgstr "Docker Network I/O"
#: src/components/command-palette.tsx
#: src/components/systemd-table/systemd-table.tsx
@@ -607,7 +616,7 @@ msgstr "Mati ({downSystemsLength})"
#: src/components/routes/system/network-sheet.tsx
msgid "Download"
-msgstr ""
+msgstr "Unduh"
#: src/components/alerts-history-columns.tsx
msgid "Duration"
@@ -627,7 +636,7 @@ msgstr "Ubah {foo}"
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/otp-forms.tsx
msgid "Email"
-msgstr ""
+msgstr "Email"
#: src/components/routes/settings/notifications.tsx
msgid "Email notifications"
@@ -643,6 +652,14 @@ msgstr "Kosong"
msgid "End Time"
msgstr "Waktu Berakhir"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "URL Titik Akhir"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "URL titik akhir untuk di-ping (diperlukan)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Masukkan alamat email untuk mereset kata sandi"
@@ -662,13 +679,20 @@ msgstr "Sementara"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Error"
-msgstr ""
+msgstr "Error"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Contoh:"
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
@@ -707,7 +731,7 @@ msgstr "Export konfigurasi sistem anda saat ini."
#: src/components/routes/settings/general.tsx
msgid "Fahrenheit (°F)"
-msgstr ""
+msgstr "Fahrenheit (°F)"
#: src/components/systems-table/systems-table-columns.tsx
msgid "Failed"
@@ -727,6 +751,10 @@ msgstr "Gagal mengautentikasi"
msgid "Failed to save settings"
msgstr "Gagal menyimpan pengaturan"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Gagal mengirim heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Gagal mengirim tes notifikasi"
@@ -747,7 +775,7 @@ msgstr "Gagal: {0}"
#: src/components/systemd-table/systemd-table.tsx
#: src/components/systems-table/systems-table.tsx
msgid "Filter..."
-msgstr ""
+msgstr "Saring..."
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Fingerprint"
@@ -755,7 +783,7 @@ msgstr "Sidik jari"
#: src/components/routes/system/smart-table.tsx
msgid "Firmware"
-msgstr ""
+msgstr "Firmware"
#: src/components/alerts/alerts-sheet.tsx
msgid "For <0>{min}0> {min, plural, one {minute} other {minutes}}"
@@ -784,7 +812,7 @@ msgstr "Umum"
#: src/components/routes/settings/quiet-hours.tsx
msgid "Global"
-msgstr ""
+msgstr "Global"
#: src/components/routes/system.tsx
msgid "GPU Engines"
@@ -806,6 +834,18 @@ msgstr "Kartu"
msgid "Health"
msgstr "Kesehatan"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Pemantauan Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat berhasil dikirim"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -814,12 +854,20 @@ msgstr "Perintah Homebrew"
#: src/components/add-system.tsx
msgid "Host / IP"
-msgstr ""
+msgstr "Host / IP"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "Metode HTTP"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "Metode HTTP: POST, GET, atau HEAD (default: POST)"
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
-msgstr ""
+msgstr "Idle"
#: src/components/login/forgot-pass-form.tsx
msgid "If you've lost the password to your admin account, you may reset it using the following command."
@@ -828,12 +876,16 @@ msgstr "Jika anda kehilangan kata sandi untuk akun admin anda, anda dapat merese
#: src/components/containers-table/containers-table-columns.tsx
msgctxt "Docker image"
msgid "Image"
-msgstr ""
+msgstr "Image"
#: src/components/routes/settings/quiet-hours.tsx
msgid "Inactive"
msgstr "Tidak aktif"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Interval"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Alamat email tidak valid."
@@ -885,6 +937,7 @@ msgstr "Rata-rata Beban"
msgid "Load state"
msgstr "Beban saat ini"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Memuat..."
@@ -958,7 +1011,7 @@ msgstr "Penggunaan memori kontainer docker"
#: src/components/routes/system/smart-table.tsx
msgid "Model"
-msgstr ""
+msgstr "Model"
#: src/components/add-system.tsx
#: src/components/alerts-history-columns.tsx
@@ -1110,6 +1163,10 @@ msgstr "Dijeda"
msgid "Paused ({pausedSystemsLength})"
msgstr "Dijeda ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Format payload"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1162,7 +1219,7 @@ msgstr "Silakan masuk ke akun anda"
#: src/components/add-system.tsx
msgid "Port"
-msgstr ""
+msgstr "Port"
#. Power On Time
#: src/components/routes/system/smart-table.tsx
@@ -1248,7 +1305,7 @@ msgstr "Lanjutkan"
#: src/components/systems-table/systems-table-columns.tsx
msgctxt "Root disk label"
msgid "Root"
-msgstr ""
+msgstr "Root"
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Rotate token"
@@ -1307,6 +1364,10 @@ msgstr "Cari"
msgid "Search for systems or settings..."
msgstr "Cari sistem atau pengaturan..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Detik di antara ping (default: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Lihat <0>pengaturan notifikasi0> untuk mengkonfigurasi bagaimana anda menerima peringatan."
@@ -1315,6 +1376,18 @@ msgstr "Lihat <0>pengaturan notifikasi0> untuk mengkonfigurasi bagaimana anda
msgid "Select {foo}"
msgstr "Pilih {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Kirim satu ping heartbeat untuk memverifikasi titik akhir Anda berfungsi."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Kirim ping keluar secara berkala ke layanan pemantauan eksternal sehingga Anda dapat memantau Beszel tanpa mengeksposnya ke internet."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Kirim tes heartbeat"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Dikirim"
@@ -1335,6 +1408,10 @@ msgstr "Layanan"
msgid "Set percentage thresholds for meter colors."
msgstr "Tetapkan ambang persentase untuk warna meter."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Setel variabel lingkungan berikut di hub Beszel Anda untuk mengaktifkan pemantauan heartbeat:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1377,7 +1454,7 @@ msgstr "Status"
#: src/components/systems-table/systems-table.tsx
#: src/lib/alerts.ts
msgid "Status"
-msgstr ""
+msgstr "Status"
#: src/components/systemd-table/systemd-table-columns.tsx
msgid "Sub State"
@@ -1452,10 +1529,18 @@ msgstr "Temperatur sensor sistem"
msgid "Test <0>URL0>"
msgstr "Tes <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Tes heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Notifikasi tes dikirim"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "Status keseluruhan adalah <0>ok0> ketika semua sistem aktif, <1>warn1> ketika peringatan dipicu, dan <2>error2> ketika ada sistem yang mati."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Kemudian masuk ke backend dan reset kata sandi akun pengguna anda di tabel pengguna."
@@ -1497,7 +1582,7 @@ msgstr "Ganti tema"
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Token"
-msgstr ""
+msgstr "Token"
#: src/components/command-palette.tsx
#: src/components/routes/settings/layout.tsx
@@ -1516,7 +1601,7 @@ msgstr "Token dan Fingerprint digunakan untuk mengautentikasi koneksi WebSocket
#: src/components/ui/chart.tsx
#: src/components/ui/chart.tsx
msgid "Total"
-msgstr ""
+msgstr "Total"
#: src/components/routes/system/network-sheet.tsx
msgid "Total data received for each interface"
@@ -1529,7 +1614,7 @@ msgstr "Total data yang dikirim untuk setiap antarmuka"
#. placeholder {0}: data.length
#: src/components/systemd-table/systemd-table.tsx
msgid "Total: {0}"
-msgstr ""
+msgstr "Total: {0}"
#: src/components/systemd-table/systemd-table.tsx
msgid "Triggered by"
@@ -1639,9 +1724,10 @@ msgstr "Diperbarui setiap 10 menit."
#: src/components/routes/system/network-sheet.tsx
msgid "Upload"
-msgstr ""
+msgstr "Unggah"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Waktu aktif"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / Push notifikasi"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Ketika diaktifkan, token ini memungkinkan agen untuk mendaftar sendiri tanpa pembuatan sistem."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "Saat menggunakan POST, setiap heartbeat menyertakan payload JSON dengan ringkasan status sistem, daftar sistem yang mati, dan peringatan yang dipicu."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/it/it.po b/internal/site/src/locales/it/it.po
index 6368e6d5..8268884d 100644
--- a/internal/site/src/locales/it/it.po
+++ b/internal/site/src/locales/it/it.po
@@ -93,6 +93,7 @@ msgstr "Azioni"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Attivo"
@@ -140,6 +141,10 @@ msgstr "Amministratore"
msgid "After"
msgstr "Dopo"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Dopo aver impostato le variabili d'ambiente, riavvia il tuo Beszel hub affinché le modifiche abbiano effetto."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Agente"
@@ -231,7 +236,7 @@ msgstr "Larghezza di banda"
#. Battery label in systems table header
#: src/components/systems-table/systems-table-columns.tsx
msgid "Bat"
-msgstr ""
+msgstr "Bat"
#: src/components/routes/system.tsx
#: src/lib/alerts.ts
@@ -350,6 +355,10 @@ msgstr "Controlla {email} per un link di reset."
msgid "Check logs for more details."
msgstr "Controlla i log per maggiori dettagli."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Controlla il tuo servizio di monitoraggio"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Controlla il tuo servizio di notifica"
@@ -643,6 +652,14 @@ msgstr "Vuota"
msgid "End Time"
msgstr "Ora di fine"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "URL dell'endpoint"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "URL dell'endpoint da pingare (richiesto)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Inserisci l'indirizzo email per reimpostare la password"
@@ -662,6 +679,9 @@ msgstr "Effimero"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Effimero"
msgid "Error"
msgstr "Errore"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Esempio:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "Autenticazione fallita"
msgid "Failed to save settings"
msgstr "Salvataggio delle impostazioni fallito"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Invio heartbeat fallito"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Invio della notifica di test fallito"
@@ -806,6 +834,18 @@ msgstr "Griglia"
msgid "Health"
msgstr "Stato"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Monitoraggio Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat inviato con successo"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Comando Homebrew"
msgid "Host / IP"
msgstr "Host / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "Metodo HTTP"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "Metodo HTTP: POST, GET o HEAD (predefinito: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Immagine"
msgid "Inactive"
msgstr "Inattivo"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Intervallo"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Indirizzo email non valido."
@@ -885,6 +937,7 @@ msgstr "Carico Medio"
msgid "Load state"
msgstr "Stato di caricamento"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Caricamento..."
@@ -993,7 +1046,7 @@ msgstr "Unità rete"
#: src/components/systemd-table/systemd-table.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "No"
-msgstr ""
+msgstr "No"
#: src/components/command-palette.tsx
#: src/components/systemd-table/systemd-table.tsx
@@ -1110,6 +1163,10 @@ msgstr "In pausa"
msgid "Paused ({pausedSystemsLength})"
msgstr "In pausa ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Formato del payload"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "Cerca"
msgid "Search for systems or settings..."
msgstr "Cerca sistemi o impostazioni..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Secondi tra i ping (predefinito: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Vedi <0>impostazioni di notifica0> per configurare come ricevere gli avvisi."
@@ -1315,6 +1376,18 @@ msgstr "Vedi <0>impostazioni di notifica0> per configurare come ricevere gli a
msgid "Select {foo}"
msgstr "Seleziona {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Invia un singolo ping di heartbeat per verificare che l'endpoint funzioni."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Invia ping in uscita periodici a un servizio di monitoraggio esterno in modo da poter monitorare Beszel senza esporlo a Internet."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Invia heartbeat di prova"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Inviato"
@@ -1335,6 +1408,10 @@ msgstr "Servizi"
msgid "Set percentage thresholds for meter colors."
msgstr "Imposta le soglie percentuali per i colori dei contatori."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Imposta le seguenti variabili d'ambiente sul tuo Beszel hub per abilitare il monitoraggio heartbeat:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "Temperature dei sensori di sistema"
msgid "Test <0>URL0>"
msgstr "Test <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Test heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Notifica di test inviata"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "Lo stato generale è <0>ok0> quando tutti i sistemi sono attivi, <1>avviso1> quando gli avvisi sono attivati e <2>errore2> quando un sistema è inattivo."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Quindi accedi al backend e reimposta la password del tuo account utente nella tabella degli utenti."
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Carica"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Tempo di attività"
@@ -1716,6 +1802,10 @@ msgstr "Notifiche Webhook / Push"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Quando abilitato, questo token consente agli agenti di registrarsi automaticamente senza creazione preventiva del sistema."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "Quando si usa POST, ogni heartbeat include un payload JSON con il riepilogo dello stato del sistema, l'elenco dei sistemi inattivi e gli avvisi attivati."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/ja/ja.po b/internal/site/src/locales/ja/ja.po
index 244a600e..85b025fb 100644
--- a/internal/site/src/locales/ja/ja.po
+++ b/internal/site/src/locales/ja/ja.po
@@ -93,6 +93,7 @@ msgstr "アクション"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "アクティブ"
@@ -140,6 +141,10 @@ msgstr "管理者"
msgid "After"
msgstr "後"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "環境変数を設定した後、変更を有効にするために Beszel ハブを再起動してください。"
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "エージェント"
@@ -350,6 +355,10 @@ msgstr "{email}を確認してリセットリンクを探してください。"
msgid "Check logs for more details."
msgstr "詳細についてはログを確認してください。"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "監視サービスを確認する"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "通知サービスを確認してください"
@@ -457,7 +466,7 @@ msgstr "YAMLをコピー"
#: src/components/systemd-table/systemd-table-columns.tsx
#: src/components/systems-table/systems-table-columns.tsx
msgid "CPU"
-msgstr ""
+msgstr "CPU"
#: src/components/routes/system/cpu-sheet.tsx
msgid "CPU Cores"
@@ -643,6 +652,14 @@ msgstr "空"
msgid "End Time"
msgstr "終了時間"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "エンドポイント URL"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "ping するエンドポイント URL (必須)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "パスワードをリセットするためにメールアドレスを入力してください"
@@ -662,6 +679,9 @@ msgstr "一時的"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "一時的"
msgid "Error"
msgstr "エラー"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "例:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "認証に失敗しました"
msgid "Failed to save settings"
msgstr "設定の保存に失敗しました"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "ハートビートの送信に失敗しました"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "テスト通知の送信に失敗しました"
@@ -806,6 +834,18 @@ msgstr "グリッド"
msgid "Health"
msgstr "ヘルス"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "ハートビート"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "ハートビート監視"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "ハートビートが正常に送信されました"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Homebrew コマンド"
msgid "Host / IP"
msgstr "ホスト / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP メソッド"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP メソッド: POST、GET、または HEAD (デフォルト: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "イメージ"
msgid "Inactive"
msgstr "非アクティブ"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "間隔"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "無効なメールアドレスです。"
@@ -885,6 +937,7 @@ msgstr "負荷平均"
msgid "Load state"
msgstr "ロード状態"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "読み込み中..."
@@ -1110,6 +1163,10 @@ msgstr "一時停止中"
msgid "Paused ({pausedSystemsLength})"
msgstr "一時停止 ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "ペイロード形式"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "検索"
msgid "Search for systems or settings..."
msgstr "システムまたは設定を検索..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "ping 間の秒数 (デフォルト: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "アラートの受信方法を設定するには<0>通知設定0>を参照してください。"
@@ -1315,6 +1376,18 @@ msgstr "アラートの受信方法を設定するには<0>通知設定0>を
msgid "Select {foo}"
msgstr "{foo}を選択"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "エンドポイントが機能していることを確認するために、単一のハートビート ping を送信します。"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "外部監視サービスに定期的にアウトバウンド ping を送信することで、Beszel をインターネットに公開せずに監視できます。"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "テストハートビートを送信"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "送信"
@@ -1335,6 +1408,10 @@ msgstr "サービス"
msgid "Set percentage thresholds for meter colors."
msgstr "メーターの色を変更するしきい値(パーセンテージ)を設定します。"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "ハートビート監視を有効にするには、Beszel ハブで次の環境変数を設定します。"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "システムセンサーの温度"
msgid "Test <0>URL0>"
msgstr "テスト<0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "テストハートビート"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "テスト通知が送信されました"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "全体的なステータスは、すべてのシステムが稼働している場合は <0>ok0>、アラートがトリガーされた場合は <1>警告1>、いずれかのシステムがダウンしている場合は <2>エラー2> になります。"
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "その後、バックエンドにログインして、ユーザーテーブルでユーザーアカウントのパスワードをリセットしてください。"
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "アップロード"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "稼働時間"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / プッシュ通知"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "有効にすると、このトークンによりエージェントは事前のシステム作成なしで自己登録できます。"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "POST を使用する場合、各ハートビートには、システムステータスの概要、ダウンしているシステムのリスト、およびトリガーされたアラートを含む JSON ペイロードが含まれます。"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/ko/ko.po b/internal/site/src/locales/ko/ko.po
index 02893255..21a45687 100644
--- a/internal/site/src/locales/ko/ko.po
+++ b/internal/site/src/locales/ko/ko.po
@@ -93,6 +93,7 @@ msgstr "작업"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "활성"
@@ -140,6 +141,10 @@ msgstr "관리자"
msgid "After"
msgstr "이후"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "환경 변수를 설정한 후, 변경 사항을 적용하려면 Beszel 허브를 재시작하세요."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "에이전트"
@@ -350,6 +355,10 @@ msgstr "{email}에서 재설정 링크를 확인하세요."
msgid "Check logs for more details."
msgstr "자세한 내용은 로그를 확인하세요."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "모니터링 서비스 확인"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "알림 서비스를 확인하세요."
@@ -643,6 +652,14 @@ msgstr "빔"
msgid "End Time"
msgstr "종료 시간"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "엔드포인트 URL"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "핑을 보낼 엔드포인트 URL (필수)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "비밀번호를 재설정하려면 이메일 주소를 입력하세요"
@@ -662,6 +679,9 @@ msgstr "일시적"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "일시적"
msgid "Error"
msgstr "오류"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "예시:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -679,7 +703,7 @@ msgstr "마지막 {2, plural, one {# 분} other {# 분}} 동안 {0}{1} 초과"
#: src/components/systemd-table/systemd-table.tsx
msgid "Exec main PID"
-msgstr ""
+msgstr "실행 메인 PID"
#: src/components/routes/settings/config-yaml.tsx
msgid "Existing systems not defined in <0>config.yml0> will be deleted. Please make regular backups."
@@ -727,6 +751,10 @@ msgstr "인증 실패"
msgid "Failed to save settings"
msgstr "설정 저장 실패"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "하트비트 전송 실패"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "테스트 알림 전송 실패"
@@ -806,6 +834,18 @@ msgstr "그리드"
msgid "Health"
msgstr "상태"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "하트비트"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "하트비트 모니터링"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "하트비트 전송 성공"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Homebrew 명령어"
msgid "Host / IP"
msgstr "호스트 / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP 메서드"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP 메서드: POST, GET 또는 HEAD (기본값: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "이미지"
msgid "Inactive"
msgstr "비활성"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "간격"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "잘못된 이메일 주소입니다."
@@ -858,7 +910,7 @@ msgstr "생명주기"
#: src/components/systemd-table/systemd-table.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "limit"
-msgstr ""
+msgstr "제한"
#: src/components/routes/system.tsx
msgid "Load Average"
@@ -885,6 +937,7 @@ msgstr "부하 평균"
msgid "Load state"
msgstr "로드 상태"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "로딩 중..."
@@ -914,7 +967,7 @@ msgstr "알림을 생성하려 하시나요? 시스템 테이블의 종 <0/> 아
#: src/components/systemd-table/systemd-table.tsx
msgid "Main PID"
-msgstr ""
+msgstr "메인 PID"
#: src/components/routes/settings/layout.tsx
msgid "Manage display and notification preferences."
@@ -1110,6 +1163,10 @@ msgstr "일시 정지됨"
msgid "Paused ({pausedSystemsLength})"
msgstr "일시 정지됨 ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "페이로드 형식"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1248,7 +1305,7 @@ msgstr "재개"
#: src/components/systems-table/systems-table-columns.tsx
msgctxt "Root disk label"
msgid "Root"
-msgstr ""
+msgstr "루트"
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Rotate token"
@@ -1307,6 +1364,10 @@ msgstr "검색"
msgid "Search for systems or settings..."
msgstr "시스템 또는 설정 검색..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "핑 사이 시간(초) (기본값: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "알림을 받는 방법을 구성하려면 <0>알림 설정0>을 참조하세요."
@@ -1315,6 +1376,18 @@ msgstr "알림을 받는 방법을 구성하려면 <0>알림 설정0>을 참
msgid "Select {foo}"
msgstr "{foo} 선택"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "엔드포인트가 작동하는지 확인하기 위해 단일 하트비트 핑을 보냅니다."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "외부 모니터링 서비스에 주기적으로 아웃바운드 핑을 보내 인터넷에 노출하지 않고도 Beszel을 모니터링할 수 있습니다."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "테스트 하트비트 전송"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "보냄"
@@ -1335,6 +1408,10 @@ msgstr "서비스"
msgid "Set percentage thresholds for meter colors."
msgstr "그래프 미터 색상의 백분율 임계값을 설정합니다."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "하트비트 모니터링을 활성화하려면 Beszel 허브에 다음 환경 변수를 설정하세요:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "시스템 센서의 온도"
msgid "Test <0>URL0>"
msgstr "테스트 <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "테스트 하트비트"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "테스트 알림이 전송되었습니다."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "모든 시스템이 정상이면 <0>ok0>, 알림이 트리거되면 <1>경고1>, 시스템이 다운되면 <2>오류2> 상태가 됩니다."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "그런 다음 백엔드에 로그인하여 사용자 테이블에서 사용자 계정 비밀번호를 재설정하세요."
@@ -1591,7 +1676,7 @@ msgstr "유형"
#: src/components/systemd-table/systemd-table.tsx
msgid "Unit file"
-msgstr ""
+msgstr "유닛 파일"
#. Temperature / network units
#: src/components/routes/settings/general.tsx
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "업로드"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "가동 시간"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / 푸시 알림"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "활성화되면 이 토큰은 사전 시스템 생성 없이 에이전트가 자체 등록할 수 있도록 합니다."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "POST를 사용할 때 각 하트비트에는 시스템 상태 요약, 다운된 시스템 목록 및 트리거된 알림이 포함된 JSON 페이로드가 포함됩니다."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/nl/nl.po b/internal/site/src/locales/nl/nl.po
index b9fe661f..bd3661f9 100644
--- a/internal/site/src/locales/nl/nl.po
+++ b/internal/site/src/locales/nl/nl.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: nl\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2026-01-31 21:16\n"
+"PO-Revision-Date: 2026-02-19 19:40\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -59,7 +59,7 @@ msgstr "1 minuut"
#: src/lib/utils.ts
msgid "1 week"
-msgstr "1 week"
+msgstr "1 Maand"
#: src/lib/utils.ts
msgid "12 hours"
@@ -93,6 +93,7 @@ msgstr "Acties"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Actief"
@@ -140,6 +141,10 @@ msgstr "Administrator"
msgid "After"
msgstr "Na"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Start na het instellen van de omgevingsvariabelen je Beszel-hub opnieuw op om de wijzigingen door te voeren."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Agent"
@@ -350,6 +355,10 @@ msgstr "Controleer {email} op een reset link."
msgid "Check logs for more details."
msgstr "Controleer de logs voor meer details."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Controleer je monitoringservice"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Controleer je meldingsservice"
@@ -643,6 +652,14 @@ msgstr "Leeg"
msgid "End Time"
msgstr "Eindtijd"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "Endpoint-URL"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "Endpoint-URL om te pingen (vereist)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Voer een e-mailadres in om het wachtwoord opnieuw in te stellen"
@@ -662,6 +679,9 @@ msgstr "Tijdelijk"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Tijdelijk"
msgid "Error"
msgstr "Fout"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Voorbeeld:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "Authenticatie mislukt"
msgid "Failed to save settings"
msgstr "Instellingen opslaan mislukt"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Verzenden van heartbeat mislukt"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Versturen test notificatie mislukt"
@@ -806,6 +834,18 @@ msgstr "Raster"
msgid "Health"
msgstr "Gezondheid"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Heartbeat-monitoring"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat succesvol verzonden"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Homebrew-commando"
msgid "Host / IP"
msgstr "Host / IP-adres"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP-methode"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP-methode: POST, GET of HEAD (standaard: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Afbeelding"
msgid "Inactive"
msgstr "Inactief"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Interval"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Ongeldig e-mailadres."
@@ -885,6 +937,7 @@ msgstr "Gem. Belasting"
msgid "Load state"
msgstr "Laadstatus"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Laden..."
@@ -1110,6 +1163,10 @@ msgstr "Gepauzeerd"
msgid "Paused ({pausedSystemsLength})"
msgstr "Gepauzeerd ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Payload-indeling"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "Zoeken"
msgid "Search for systems or settings..."
msgstr "Zoek naar systemen of instellingen..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Seconden tussen pings (standaard: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Zie <0>notificatie-instellingen0> om te configureren hoe je meldingen ontvangt."
@@ -1315,6 +1376,18 @@ msgstr "Zie <0>notificatie-instellingen0> om te configureren hoe je meldingen
msgid "Select {foo}"
msgstr "Selecteer {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Stuur een enkele heartbeat-ping om te controleren of je endpoint werkt."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Stuur periodieke uitgaande pings naar een externe monitoringservice, zodat je Beszel kunt monitoren zonder het aan het internet bloot te stellen."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Stuur test-heartbeat"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Verzonden"
@@ -1335,6 +1408,10 @@ msgstr "Services"
msgid "Set percentage thresholds for meter colors."
msgstr "Stel percentagedrempels in voor meterkleuren."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Stel de volgende omgevingsvariabelen in op je Beszel-hub om heartbeat-monitoring in te schakelen:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "Temperatuur van systeem sensoren"
msgid "Test <0>URL0>"
msgstr "Test <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Test-heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Testmelding verzonden"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "De algehele status is <0>ok0> wanneer alle systemen in de lucht zijn, <1>waarschuwing1> wanneer meldingen zijn geactiveerd, en <2>fout2> wanneer een systeem plat ligt."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Log vervolgens in op de backend en reset het wachtwoord van je gebruikersaccount in het gebruikersoverzicht."
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Uploaden"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Actief"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / Pushmeldingen"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Indien ingeschakeld, stelt deze token agenten in staat zich zelf te registreren zonder voorafgaande systeemcreatie."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "Bij gebruik van POST bevat elke heartbeat een JSON-payload met een samenvatting van de systeemstatus, een lijst met uitgevallen systemen en geactiveerde meldingen."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/no/no.po b/internal/site/src/locales/no/no.po
index 14d08762..8c2d07c7 100644
--- a/internal/site/src/locales/no/no.po
+++ b/internal/site/src/locales/no/no.po
@@ -93,6 +93,7 @@ msgstr "Handlinger"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Aktiv"
@@ -140,6 +141,10 @@ msgstr "Admin"
msgid "After"
msgstr "Etter"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Etter å ha angitt miljøvariablene, start Beszel-huben på nytt for at endringene skal tre i kraft."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Agent"
@@ -350,6 +355,10 @@ msgstr "Sjekk {email} for en nullstillings-link."
msgid "Check logs for more details."
msgstr "Sjekk loggene for flere detaljer."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Sjekk overvåkingstjenesten din"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Sjekk din meldingstjeneste"
@@ -643,6 +652,14 @@ msgstr "Tom"
msgid "End Time"
msgstr "Sluttid"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "Endepunkt-URL"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "Endepunkt-URL som skal pinges (påkrevd)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Skriv inn e-postadresse for å nullstille passordet"
@@ -662,6 +679,9 @@ msgstr "Flyktig"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Flyktig"
msgid "Error"
msgstr "Feil"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Eksempel:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "Autentisering mislyktes"
msgid "Failed to save settings"
msgstr "Kunne ikke lagre innstillingene"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Kunne ikke sende heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Kunne ikke sende test-varsling"
@@ -806,6 +834,18 @@ msgstr "Rutenett"
msgid "Health"
msgstr "Helse"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Heartbeat-overvåking"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat sendt"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Homebrew-kommando"
msgid "Host / IP"
msgstr "Vert / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP-metode"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP-metode: POST, GET eller HEAD (standard: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Image"
msgid "Inactive"
msgstr "Inaktiv"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Intervall"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Ugyldig e-postadresse."
@@ -885,6 +937,7 @@ msgstr "Snittbelastning"
msgid "Load state"
msgstr "Lastetilstand"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Laster..."
@@ -1110,6 +1163,10 @@ msgstr "Satt på Pause"
msgid "Paused ({pausedSystemsLength})"
msgstr "Pauset ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Nyttelastformat"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "Søk"
msgid "Search for systems or settings..."
msgstr "Søk etter systemer eller innstillinger..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Sekunder mellom pinger (standard: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Se <0>varslingsinnstillingene0> for å konfigurere hvordan du vil motta varsler."
@@ -1315,6 +1376,18 @@ msgstr "Se <0>varslingsinnstillingene0> for å konfigurere hvordan du vil mott
msgid "Select {foo}"
msgstr "Velg {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Send en enkelt heartbeat-ping for å bekrefte at endepunktet fungerer."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Send periodiske utgående pinger til en ekstern overvåkingstjeneste slik at du kan overvåke Beszel uten å eksponere den for internett."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Send test-heartbeat"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Sendt"
@@ -1335,6 +1408,10 @@ msgstr "Tjenester"
msgid "Set percentage thresholds for meter colors."
msgstr "Angi prosentvise terskler for målerfarger."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Angi følgende miljøvariabler på Beszel-huben din for å aktivere heartbeat-overvåking:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "Temperaturer på system-sensorer"
msgid "Test <0>URL0>"
msgstr "Test <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Test-heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Test-varsling sendt"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "Den generelle statusen er <0>ok0> når alle systemer er oppe, <1>varsel1> når varsler utløses, og <2>feil2> når et system er nede."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Logg deretter inn i backend og nullstill passordet på din konto i users-tabellen."
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Last opp"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Oppetid"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / Push-varslinger"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Når aktivert, tillater denne tokenen agenter å registrere seg selv uten forutgående systemskapelse."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "Ved bruk av POST inkluderer hver heartbeat en JSON-nyttelast med systemstatussammendrag, liste over nede systemer og utløste varsler."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/pl/pl.po b/internal/site/src/locales/pl/pl.po
index 8f2bb626..3ac00c79 100644
--- a/internal/site/src/locales/pl/pl.po
+++ b/internal/site/src/locales/pl/pl.po
@@ -93,6 +93,7 @@ msgstr "Akcje"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Aktywny"
@@ -140,6 +141,10 @@ msgstr "Admin"
msgid "After"
msgstr "Po"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Po ustawieniu zmiennych środowiskowych zrestartuj hub Beszel, aby zmiany weszły w życie."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Agent"
@@ -350,6 +355,10 @@ msgstr "Sprawdź {email}, aby uzyskać link do resetowania."
msgid "Check logs for more details."
msgstr "Sprawdź logi, aby uzyskać więcej informacji."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Sprawdź usługę monitorowania"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Sprawdź swój serwis powiadomień"
@@ -643,6 +652,14 @@ msgstr "Pusta"
msgid "End Time"
msgstr "Czas zakończenia"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "Adres URL punktu końcowego"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "Adres URL punktu końcowego do pingowania (wymagany)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Wprowadź adres e-mail, aby zresetować hasło"
@@ -662,6 +679,9 @@ msgstr "Tymczasowy"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Tymczasowy"
msgid "Error"
msgstr "Błąd"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Przykład:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "Błąd autoryzacji"
msgid "Failed to save settings"
msgstr "Nie udało się zapisać ustawień"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Nie udało się wysłać heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Nie udało się wysłać powiadomienia testowego"
@@ -806,6 +834,18 @@ msgstr "Siatka"
msgid "Health"
msgstr "Kondycja"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Monitorowanie Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat wysłany pomyślnie"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Polecenie Homebrew"
msgid "Host / IP"
msgstr "Host / adres IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "Metoda HTTP"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "Metoda HTTP: POST, GET lub HEAD (domyślnie: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Obraz"
msgid "Inactive"
msgstr "Nieaktywny"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Interwał"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Nieprawidłowy adres e-mail."
@@ -885,6 +937,7 @@ msgstr "Śr. obciążenie"
msgid "Load state"
msgstr "Stan obciążenia"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Ładowanie..."
@@ -1110,6 +1163,10 @@ msgstr "Wstrzymane"
msgid "Paused ({pausedSystemsLength})"
msgstr "Wstrzymane ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Format ładunku"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "Szukaj"
msgid "Search for systems or settings..."
msgstr "Szukaj systemów lub ustawień..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Sekundy między pingami (domyślnie: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Zobacz <0>ustawienia powiadomień0>, aby skonfigurować sposób, w jaki otrzymujesz powiadomienia."
@@ -1315,6 +1376,18 @@ msgstr "Zobacz <0>ustawienia powiadomień0>, aby skonfigurować sposób, w jak
msgid "Select {foo}"
msgstr "Wybierz {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Wyślij pojedynczy ping heartbeat, aby sprawdzić, czy punkt końcowy działa."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Wysyłaj okresowe pingi wychodzące do zewnętrznej usługi monitorowania, dzięki czemu możesz monitorować Beszel bez wystawiania go na działanie Internetu."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Wyślij testowy heartbeat"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Wysłane"
@@ -1335,6 +1408,10 @@ msgstr "Usługi"
msgid "Set percentage thresholds for meter colors."
msgstr "Ustaw progi procentowe dla kolorów mierników."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Ustaw następujące zmienne środowiskowe w hubie Beszel, aby włączyć monitorowanie heartbeat:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "Temperatury czujników systemowych."
msgid "Test <0>URL0>"
msgstr "Test <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Testuj heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Testowe powiadomienie wysłane."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "Ogólny status to <0>ok0>, gdy wszystkie systemy działają, <1>ostrzeżenie1>, gdy wyzwalane są alerty, oraz <2>błąd2>, gdy którykolwiek system nie działa."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Następnie zaloguj się do panelu administracyjnego i zresetuj hasło do konta użytkownika w tabeli użytkowników."
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Wysyłanie"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Czas pracy"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / Powiadomienia push"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Gdy jest włączony, ten token pozwala agentom na samodzielną rejestrację bez wcześniejszego tworzenia systemu."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "W przypadku korzystania z POST każdy heartbeat zawiera ładunek JSON z podsumowaniem statusu systemu, listą wyłączonych systemów i wyzwolonymi alertami."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/pt/pt.po b/internal/site/src/locales/pt/pt.po
index 164e4e36..27352205 100644
--- a/internal/site/src/locales/pt/pt.po
+++ b/internal/site/src/locales/pt/pt.po
@@ -42,7 +42,7 @@ msgstr "{count, plural, one {{countString} minuto} other {{countString} minutos}
#: src/components/routes/system/info-bar.tsx
msgid "{threads, plural, one {# thread} other {# threads}}"
-msgstr ""
+msgstr "{threads, plural, one {# thread} other {# threads}}"
#: src/lib/utils.ts
msgid "1 hour"
@@ -93,6 +93,7 @@ msgstr "Ações"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Ativo"
@@ -140,6 +141,10 @@ msgstr "Admin"
msgid "After"
msgstr "Depois"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Após configurar as variáveis de ambiente, reinicie o hub do Beszel para que as alterações entrem em vigor."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Agente"
@@ -231,7 +236,7 @@ msgstr "Largura de Banda"
#. Battery label in systems table header
#: src/components/systems-table/systems-table-columns.tsx
msgid "Bat"
-msgstr ""
+msgstr "Bat"
#: src/components/routes/system.tsx
#: src/lib/alerts.ts
@@ -350,6 +355,10 @@ msgstr "Verifique {email} para um link de redefinição."
msgid "Check logs for more details."
msgstr "Verifique os logs para mais detalhes."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Verifique o seu serviço de monitorização"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Verifique seu serviço de notificação"
@@ -358,7 +367,7 @@ msgstr "Verifique seu serviço de notificação"
#: src/components/routes/system/smart-table.tsx
#: src/components/systems-table/systems-table.tsx
msgid "Clear"
-msgstr ""
+msgstr "Limpar"
#: src/components/containers-table/containers-table.tsx
msgid "Click on a container to view more information."
@@ -641,7 +650,15 @@ msgstr "Vazia"
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "End Time"
-msgstr ""
+msgstr "Hora de Fim"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "URL do Endpoint"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "URL do Endpoint para ping (obrigatório)"
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
@@ -662,6 +679,9 @@ msgstr "Efêmero"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Efêmero"
msgid "Error"
msgstr "Erro"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Exemplo:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "Falha na autenticação"
msgid "Failed to save settings"
msgstr "Falha ao guardar as definições"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Falha ao enviar o batimento cardíaco"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Falha ao enviar notificação de teste"
@@ -806,6 +834,18 @@ msgstr "Grade"
msgid "Health"
msgstr "Saúde"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Monitorização de Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat enviado com sucesso"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Comando Homebrew"
msgid "Host / IP"
msgstr "Host / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "Método HTTP"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "Método HTTP: POST, GET ou HEAD (predefinido: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Imagem"
msgid "Inactive"
msgstr "Inativo"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Intervalo"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Endereço de email inválido."
@@ -885,6 +937,7 @@ msgstr "Carga Média"
msgid "Load state"
msgstr "Estado de carga"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Carregando..."
@@ -1110,6 +1163,10 @@ msgstr "Pausado"
msgid "Paused ({pausedSystemsLength})"
msgstr "Pausado ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Formato do payload"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1248,7 +1305,7 @@ msgstr "Retomar"
#: src/components/systems-table/systems-table-columns.tsx
msgctxt "Root disk label"
msgid "Root"
-msgstr ""
+msgstr "Root"
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Rotate token"
@@ -1307,13 +1364,29 @@ msgstr "Pesquisar"
msgid "Search for systems or settings..."
msgstr "Pesquisar por sistemas ou configurações..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Segundos entre pings (predefinido: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Veja <0>configurações de notificação0> para configurar como você recebe alertas."
#: src/components/routes/settings/quiet-hours.tsx
msgid "Select {foo}"
-msgstr ""
+msgstr "Selecionar {foo}"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Envie um único ping de heartbeat para verificar se o seu endpoint está a funcionar."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Envie pings de saída periódicos para um serviço de monitorização externo para que possa monitorizar o Beszel sem o expor à internet."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Enviar heartbeat de teste"
#: src/components/routes/system.tsx
msgid "Sent"
@@ -1335,6 +1408,10 @@ msgstr "Serviços"
msgid "Set percentage thresholds for meter colors."
msgstr "Defina os limiares de porcentagem para as cores do medidor."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Defina as seguintes variáveis de ambiente no seu hub do Beszel para ativar a monitorização de heartbeat:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1362,7 +1439,7 @@ msgstr "Ordenar Por"
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Start Time"
-msgstr ""
+msgstr "Hora de Início"
#. Context: alert state (active or resolved)
#: src/components/alerts-history-columns.tsx
@@ -1452,10 +1529,18 @@ msgstr "Temperaturas dos sensores do sistema"
msgid "Test <0>URL0>"
msgstr "Testar <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Testar heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Notificação de teste enviada"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "O estado geral é <0>ok0> quando todos os sistemas estão ativos, <1>aviso1> quando os alertas são acionados e <2>erro2> quando qualquer sistema está inativo."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Em seguida, faça login no backend e redefina a senha da sua conta de usuário na tabela de usuários."
@@ -1529,7 +1614,7 @@ msgstr "Dados totais enviados para cada interface"
#. placeholder {0}: data.length
#: src/components/systemd-table/systemd-table.tsx
msgid "Total: {0}"
-msgstr ""
+msgstr "Total: {0}"
#: src/components/systemd-table/systemd-table.tsx
msgid "Triggered by"
@@ -1625,7 +1710,7 @@ msgstr "Ativo ({upSystemsLength})"
#: src/components/routes/settings/quiet-hours.tsx
msgid "Update"
-msgstr ""
+msgstr "Atualizar"
#: src/components/containers-table/containers-table-columns.tsx
#: src/components/routes/system/smart-table.tsx
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Carregar"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Tempo de Atividade"
@@ -1716,6 +1802,10 @@ msgstr "Notificações Webhook / Push"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Quando ativado, este token permite que os agentes se registrem automaticamente sem criação prévia do sistema."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "Ao usar POST, cada heartbeat inclui um payload JSON com o resumo do estado do sistema, a lista de sistemas inativos e os alertas acionados."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/ru/ru.po b/internal/site/src/locales/ru/ru.po
index bc0019a6..b489f368 100644
--- a/internal/site/src/locales/ru/ru.po
+++ b/internal/site/src/locales/ru/ru.po
@@ -93,6 +93,7 @@ msgstr "Действия"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Активно"
@@ -140,6 +141,10 @@ msgstr "Администратор"
msgid "After"
msgstr "После"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "После установки переменных окружения перезапустите хаб Beszel, чтобы изменения вступили в силу."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Агент"
@@ -350,6 +355,10 @@ msgstr "Проверьте {email} для получения ссылки на
msgid "Check logs for more details."
msgstr "Проверьте журналы для получения более подробной информации."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Проверьте ваш сервис мониторинга"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Проверьте ваш сервис уведомлений"
@@ -643,6 +652,14 @@ msgstr "Пустая"
msgid "End Time"
msgstr "Время окончания"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "URL-адрес конечной точки"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "URL-адрес конечной точки для пинга (обязательно)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Введите адрес электронной почты для сброса пароля"
@@ -662,6 +679,9 @@ msgstr "Эфемерный"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Эфемерный"
msgid "Error"
msgstr "Ошибка"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Пример:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "Не удалось аутентифицировать"
msgid "Failed to save settings"
msgstr "Не удалось сохранить настройки"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Не удалось отправить heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Не удалось отправить тестовое уведомление"
@@ -806,6 +834,18 @@ msgstr "Сетка"
msgid "Health"
msgstr "Здоровье"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Мониторинг Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat успешно отправлен"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Команда Homebrew"
msgid "Host / IP"
msgstr "Хост / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP-метод"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP-метод: POST, GET или HEAD (по умолчанию: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Образ"
msgid "Inactive"
msgstr "Неактивно"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Интервал"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Неверный адрес электронной почты."
@@ -885,6 +937,7 @@ msgstr "Ср. загрузка"
msgid "Load state"
msgstr "Состояние загрузки"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Загрузка..."
@@ -1110,6 +1163,10 @@ msgstr "Пауза"
msgid "Paused ({pausedSystemsLength})"
msgstr "Пауза ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Формат полезной нагрузки"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "Поиск"
msgid "Search for systems or settings..."
msgstr "Поиск систем или настроек..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Секунды между пингами (по умолчанию: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Смотрите <0>настройки уведомлений0>, чтобы настроить, как вы получаете оповещения."
@@ -1315,6 +1376,18 @@ msgstr "Смотрите <0>настройки уведомлений0>, чт
msgid "Select {foo}"
msgstr "Выбрать {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Отправьте одиночный пинг heartbeat, чтобы проверить работоспособность конечной точки."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Отправляйте периодические исходящие пинги на внешний сервис мониторинга, чтобы вы могли мониторить Beszel без его публикации в интернете."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Отправить тестовый heartbeat"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Отправлено"
@@ -1335,6 +1408,10 @@ msgstr "Службы"
msgid "Set percentage thresholds for meter colors."
msgstr "Установите процентные пороги для цветов счетчиков."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Установите следующие переменные окружения в хабе Beszel для включения мониторинга heartbeat:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "Температуры датчиков системы"
msgid "Test <0>URL0>"
msgstr "Тест <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Тестовый heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Тестовое уведомление отправлено"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "Общий статус: <0>ok0>, когда все системы работают, <1>предупреждение1>, когда сработали оповещения, и <2>ошибка2>, когда какая-либо система отключена."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Затем войдите в бэкенд и сбросьте пароль вашей учетной записи в таблице пользователей."
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Отдача"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Время работы"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / Push уведомления"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "При включении этот токен позволяет агентам самостоятельно регистрироваться без предварительного создания системы."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "При использовании POST каждый heartbeat содержит полезную нагрузку JSON с кратким отчетом о состоянии системы, списком отключенных систем и сработавшими оповещениями."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/sl/sl.po b/internal/site/src/locales/sl/sl.po
index 4ff1d737..6b4ca87c 100644
--- a/internal/site/src/locales/sl/sl.po
+++ b/internal/site/src/locales/sl/sl.po
@@ -93,6 +93,7 @@ msgstr "Dejanja"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Aktivno"
@@ -140,9 +141,13 @@ msgstr "Administrator"
msgid "After"
msgstr "Po"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Po nastavitvi okoljskih spremenljivk ponovno zaženite vozlišče Beszel, da spremembe začnejo veljati."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
-msgstr ""
+msgstr "Agent"
#: src/components/command-palette.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
@@ -194,7 +199,7 @@ msgstr "Povprečna izkoriščenost procesorja kontejnerjev"
#. placeholder {0}: alertData.unit
#: src/components/alerts/alerts-sheet.tsx
msgid "Average drops below <0>{value}{0}0>"
-msgstr ""
+msgstr "Povprečje pade pod <0>{value}{0}0>"
#. placeholder {0}: alertData.unit
#: src/components/alerts/alerts-sheet.tsx
@@ -231,7 +236,7 @@ msgstr "Pasovna širina"
#. Battery label in systems table header
#: src/components/systems-table/systems-table-columns.tsx
msgid "Bat"
-msgstr ""
+msgstr "Bat"
#: src/components/routes/system.tsx
#: src/lib/alerts.ts
@@ -255,7 +260,7 @@ msgstr "Pred"
#. placeholder {2}: alert.min
#: src/components/active-alerts.tsx
msgid "Below {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
-msgstr ""
+msgstr "Pod {0}{1} v zadnjih {2, plural, one {# minuti} two {# minutah} few {# minutah} other {# minutah}}"
#: src/components/login/auth-form.tsx
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
@@ -350,6 +355,10 @@ msgstr "Preverite {email} za povezavo za ponastavitev."
msgid "Check logs for more details."
msgstr "Za več podrobnosti preverite dnevnike."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Preverite svojo storitev za spremljanje"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Preverite storitev obveščanja"
@@ -457,7 +466,7 @@ msgstr "Kopiraj YAML"
#: src/components/systemd-table/systemd-table-columns.tsx
#: src/components/systems-table/systems-table-columns.tsx
msgid "CPU"
-msgstr ""
+msgstr "CPE"
#: src/components/routes/system/cpu-sheet.tsx
msgid "CPU Cores"
@@ -556,11 +565,11 @@ msgstr "Prazni se"
#: src/components/systems-table/systems-table-columns.tsx
msgid "Disk"
-msgstr ""
+msgstr "Disk"
#: src/components/routes/system.tsx
msgid "Disk I/O"
-msgstr ""
+msgstr "Disk V/I"
#: src/components/routes/settings/general.tsx
msgid "Disk unit"
@@ -643,6 +652,14 @@ msgstr "Prazna"
msgid "End Time"
msgstr "Čas konca"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "URL končne točke"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "URL končne točke za ping (zahtevano)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Vnesite e-poštni naslov za ponastavitev gesla"
@@ -662,6 +679,9 @@ msgstr "Prehodni"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Prehodni"
msgid "Error"
msgstr "Napaka"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Primer:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -679,7 +703,7 @@ msgstr "Preseženo {0}{1} v zadnjih {2, plural, one {# minuti} other {# minutah}
#: src/components/systemd-table/systemd-table.tsx
msgid "Exec main PID"
-msgstr ""
+msgstr "Glavni PID izvajanja"
#: src/components/routes/settings/config-yaml.tsx
msgid "Existing systems not defined in <0>config.yml0> will be deleted. Please make regular backups."
@@ -707,7 +731,7 @@ msgstr "Izvozi trenutne nastavitve sistema."
#: src/components/routes/settings/general.tsx
msgid "Fahrenheit (°F)"
-msgstr ""
+msgstr "Fahrenheit (°F)"
#: src/components/systems-table/systems-table-columns.tsx
msgid "Failed"
@@ -727,6 +751,10 @@ msgstr "Preverjanje pristnosti ni uspelo"
msgid "Failed to save settings"
msgstr "Shranjevanje nastavitev ni uspelo"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Slanje srčnega utripa (heartbeat) ni uspelo"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Pošiljanje testnega obvestila ni uspelo"
@@ -806,6 +834,18 @@ msgstr "Mreža"
msgid "Health"
msgstr "Zdravje"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Srčni utrip (Heartbeat)"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Spremljanje srčnega utripa"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Srčni utrip uspešno poslan"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Ukaz Homebrew"
msgid "Host / IP"
msgstr "Gostitelj / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "Metoda HTTP"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "Metoda HTTP: POST, GET ali HEAD (privzeto: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Slika"
msgid "Inactive"
msgstr "Neaktivno"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Interval"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Napačen e-poštni naslov."
@@ -885,6 +937,7 @@ msgstr "Povpr. obrem."
msgid "Load state"
msgstr "Stanje nalaganja"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Nalaganje..."
@@ -958,7 +1011,7 @@ msgstr "Poraba pomnilnika docker kontejnerjev"
#: src/components/routes/system/smart-table.tsx
msgid "Model"
-msgstr ""
+msgstr "Model"
#: src/components/add-system.tsx
#: src/components/alerts-history-columns.tsx
@@ -1110,6 +1163,10 @@ msgstr "Zaustavljeno"
msgid "Paused ({pausedSystemsLength})"
msgstr "Pavzirano za {pausedSystemsLength}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Oblika tovora (payload)"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "Iskanje"
msgid "Search for systems or settings..."
msgstr "Iskanje sistemov ali nastavitev..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Sekunde med pingi (privzeto: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Glejte <0>nastavitve obvestil0>, da nastavite način prejemanja opozoril."
@@ -1315,6 +1376,18 @@ msgstr "Glejte <0>nastavitve obvestil0>, da nastavite način prejemanja opozor
msgid "Select {foo}"
msgstr "Izberi {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Pošljite en srčni utrip (ping), da preverite, ali vaša končna točka deluje."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Pošiljajte občasne odhodne pinge zunanji storitvi za spremljanje, da boste lahko spremljali Beszel, ne da bi ga izpostavili internetu."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Pošlji testni srčni utrip"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Poslano"
@@ -1335,6 +1408,10 @@ msgstr "Storitve"
msgid "Set percentage thresholds for meter colors."
msgstr "Nastavite odstotne pragove za barve merilnikov."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Na svojem vozlišču Beszel nastavite naslednje okoljske spremenljivke, da omogočite spremljanje srčnega utripa:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1377,7 +1454,7 @@ msgstr "Stanje"
#: src/components/systems-table/systems-table.tsx
#: src/lib/alerts.ts
msgid "Status"
-msgstr ""
+msgstr "Stanje"
#: src/components/systemd-table/systemd-table-columns.tsx
msgid "Sub State"
@@ -1452,10 +1529,18 @@ msgstr "Temperature sistemskih senzorjev"
msgid "Test <0>URL0>"
msgstr "Preveri <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Testni srčni utrip"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Testno obvestilo je poslano"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "Splošno stanje je <0>v redu0>, ko vsi sistemi delujejo, <1>opozorilo1>, ko se sprožijo opozorila, in <2>napaka2>, ko kateri koli sistem ne deluje."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Nato se prijavite v zaledni sistem in ponastavite geslo svojega uporabniškega računa v tabeli uporabnikov."
@@ -1557,7 +1642,7 @@ msgstr "Sproži se, ko kateri koli senzor preseže prag"
#: src/lib/alerts.ts
msgid "Triggers when battery charge drops below a threshold"
-msgstr ""
+msgstr "Sproži se, ko napolnjenost baterije pade pod prag"
#: src/lib/alerts.ts
msgid "Triggers when combined up/down exceeds a threshold"
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Naloži"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Čas delovanja"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / potisna obvestila"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Ko je omogočen, ta žeton omogoča agentom samoregistracijo brez predhodnega ustvarjanja sistema."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "Pri uporabi POST vsak srčni utrip vključuje tovor JSON s povzetkom stanja sistema, seznamom nedelujočih sistemov in sproženimi opozorili."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/sr/sr.po b/internal/site/src/locales/sr/sr.po
index 5c062a75..27710df9 100644
--- a/internal/site/src/locales/sr/sr.po
+++ b/internal/site/src/locales/sr/sr.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: sr\n"
"Project-Id-Version: beszel\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2026-01-31 21:16\n"
+"PO-Revision-Date: 2026-02-03 15:27\n"
"Last-Translator: \n"
"Language-Team: Serbian (Cyrillic)\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
@@ -93,6 +93,7 @@ msgstr "Акције"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Активно"
@@ -140,6 +141,10 @@ msgstr "Администратор"
msgid "After"
msgstr "После"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Nakon podešavanja promenljivih okruženja, ponovo pokrenite Beszel hub da bi promene stupile na snagu."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Агент"
@@ -231,7 +236,7 @@ msgstr "Пропусни опсег"
#. Battery label in systems table header
#: src/components/systems-table/systems-table-columns.tsx
msgid "Bat"
-msgstr ""
+msgstr "Бат"
#: src/components/routes/system.tsx
#: src/lib/alerts.ts
@@ -350,6 +355,10 @@ msgstr "Проверите {email} за линк за ресетовање."
msgid "Check logs for more details."
msgstr "Проверите логове за више детаља."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Proverite svoju uslugu monitoringa"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Проверите ваш сервис за обавештавања"
@@ -643,6 +652,14 @@ msgstr "Празнo"
msgid "End Time"
msgstr "Време завршетка"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "URL krajnje tačke"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "URL krajnje tačke za ping (obavezno)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Унесите адресу е-поште за ресетовање лозинке"
@@ -662,6 +679,9 @@ msgstr "Ефемеран"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Ефемеран"
msgid "Error"
msgstr "Грешка"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Primer:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "Неуспела аутентификација"
msgid "Failed to save settings"
msgstr "Неуспело чување подешавања"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Slanje heartbeat-a nije uspelo"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Неуспело слање тест обавештења"
@@ -806,6 +834,18 @@ msgstr "Мрежа"
msgid "Health"
msgstr "Здравље"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Monitoring heartbeat-a"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat uspešno poslat"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Homebrew команда"
msgid "Host / IP"
msgstr "Хост / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP metod"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP metod: POST, GET ili HEAD (podrazumevano: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Слика"
msgid "Inactive"
msgstr "Неактивно"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Interval"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Неважећа имејл адреса."
@@ -885,6 +937,7 @@ msgstr "Просечно опт."
msgid "Load state"
msgstr "Стање учитавања"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Учитавање..."
@@ -1110,6 +1163,10 @@ msgstr "Паузирано"
msgid "Paused ({pausedSystemsLength})"
msgstr "Паузирано ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Format korisnog opterećenja (payload)"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "Претрага"
msgid "Search for systems or settings..."
msgstr "Претражите системе или подешавања..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Sekunde između pingova (podrazumevano: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Погледајте <0>подешавања обавештења0> да конфигуришете како primate упозорења."
@@ -1315,6 +1376,18 @@ msgstr "Погледајте <0>подешавања обавештења0> д
msgid "Select {foo}"
msgstr "Изаберите {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Pošaljite jedan heartbeat ping da biste proverili da li krajnja tačka radi."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Šaljite periodične odlazne pingove spoljnoj usluzi monitoringa kako biste mogli da nadgledate Beszel bez izlaganja internetu."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Pošalji testni heartbeat"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Послато"
@@ -1335,6 +1408,10 @@ msgstr "Сервиси"
msgid "Set percentage thresholds for meter colors."
msgstr "Подесите процентуалне прагове за боје мерача."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Podesite sledeće promenljive okruženja na svom Beszel hub-u da biste omogućili monitoring heartbeat-a:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "Температуре системских сензора"
msgid "Test <0>URL0>"
msgstr "Тестирај <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Testiraj heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Тест обавештење послато"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "Ukupan status je <0>ok0> kada su svi sistemi aktivni, <1>upozorenje1> kada se aktiviraju upozorenja i <2>greška2> kada je bilo koji sistem isključen."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Затим се пријавите на backend и ресетујте лозинку корисничког налога у табели корисника."
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Отпреми"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Време рада"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / Push обавештења"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Када је омогућен, овај токен омогућава агентима да се сами региструју без претходног креирања система."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "Kada koristite POST, svaki heartbeat uključuje JSON payload sa rezimeom statusa sistema, listom isključenih sistema i aktiviranim upozorenjima."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/sv/sv.po b/internal/site/src/locales/sv/sv.po
index c374e323..82f4a0ca 100644
--- a/internal/site/src/locales/sv/sv.po
+++ b/internal/site/src/locales/sv/sv.po
@@ -93,6 +93,7 @@ msgstr "Åtgärder"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Aktiv"
@@ -140,6 +141,10 @@ msgstr "Admin"
msgid "After"
msgstr "Efter"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Efter att du har ställt in miljövariablerna, starta om din Beszel-hubb för att ändringarna ska träda i kraft."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Agent"
@@ -231,7 +236,7 @@ msgstr "Bandbredd"
#. Battery label in systems table header
#: src/components/systems-table/systems-table-columns.tsx
msgid "Bat"
-msgstr ""
+msgstr "Bat"
#: src/components/routes/system.tsx
#: src/lib/alerts.ts
@@ -307,7 +312,7 @@ msgstr "Avbryt"
#: src/components/systemd-table/systemd-table.tsx
msgid "Capabilities"
-msgstr ""
+msgstr "Capabilities"
#: src/components/routes/system/smart-table.tsx
msgid "Capacity"
@@ -350,6 +355,10 @@ msgstr "Kontrollera {email} för en återställningslänk."
msgid "Check logs for more details."
msgstr "Kontrollera loggarna för mer information."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Kontrollera din övervakningstjänst"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Kontrollera din aviseringstjänst"
@@ -465,11 +474,11 @@ msgstr "CPU-kärnor"
#: src/components/systemd-table/systemd-table-columns.tsx
msgid "CPU Peak"
-msgstr ""
+msgstr "CPU-topp"
#: src/components/systemd-table/systemd-table.tsx
msgid "CPU time"
-msgstr ""
+msgstr "CPU-tid"
#: src/components/routes/system/cpu-sheet.tsx
msgid "CPU Time Breakdown"
@@ -560,7 +569,7 @@ msgstr "Disk"
#: src/components/routes/system.tsx
msgid "Disk I/O"
-msgstr "Disk-I/O"
+msgstr "Disk I/O"
#: src/components/routes/settings/general.tsx
msgid "Disk unit"
@@ -643,6 +652,14 @@ msgstr "Tom"
msgid "End Time"
msgstr "Sluttid"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "Slutpunkts-URL"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "Slutpunkts-URL att pinga (krävs)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Ange e-postadress för att återställa lösenord"
@@ -662,6 +679,9 @@ msgstr "Flyktig"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Flyktig"
msgid "Error"
msgstr "Fel"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Exempel:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -679,7 +703,7 @@ msgstr "Överskrider {0}{1} under de senaste {2, plural, one {# minuten} other {
#: src/components/systemd-table/systemd-table.tsx
msgid "Exec main PID"
-msgstr ""
+msgstr "Exec-huvud-PID"
#: src/components/routes/settings/config-yaml.tsx
msgid "Existing systems not defined in <0>config.yml0> will be deleted. Please make regular backups."
@@ -727,6 +751,10 @@ msgstr "Autentisering misslyckades"
msgid "Failed to save settings"
msgstr "Kunde inte spara inställningar"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Misslyckades med att skicka heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Kunde inte skicka testavisering"
@@ -806,6 +834,18 @@ msgstr "Rutnät"
msgid "Health"
msgstr "Hälsa"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Heartbeat-övervakning"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat skickades framgångsrikt"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Homebrew-kommando"
msgid "Host / IP"
msgstr "Värd / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP-metod"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP-metod: POST, GET eller HEAD (standard: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Avbild"
msgid "Inactive"
msgstr "Inaktiv"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Intervall"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Ogiltig e-postadress."
@@ -858,7 +910,7 @@ msgstr "Livscykel"
#: src/components/systemd-table/systemd-table.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "limit"
-msgstr ""
+msgstr "gräns"
#: src/components/routes/system.tsx
msgid "Load Average"
@@ -885,6 +937,7 @@ msgstr "Belastning"
msgid "Load state"
msgstr "Laddningstillstånd"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Laddar..."
@@ -914,7 +967,7 @@ msgstr "Letar du istället efter var du skapar larm? Klicka på klockikonerna <0
#: src/components/systemd-table/systemd-table.tsx
msgid "Main PID"
-msgstr ""
+msgstr "Huvud-PID"
#: src/components/routes/settings/layout.tsx
msgid "Manage display and notification preferences."
@@ -945,7 +998,7 @@ msgstr "Minnesgräns"
#: src/components/systemd-table/systemd-table-columns.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Memory Peak"
-msgstr ""
+msgstr "Minnestopp"
#: src/components/routes/system.tsx
#: src/lib/alerts.ts
@@ -1110,6 +1163,10 @@ msgstr "Pausad"
msgid "Paused ({pausedSystemsLength})"
msgstr "Pausad ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Nyttolastformat"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1121,7 +1178,7 @@ msgstr "Procentandel av tid spenderad i varje tillstånd"
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Permanent"
-msgstr ""
+msgstr "Permanent"
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Persistence"
@@ -1248,7 +1305,7 @@ msgstr "Återuppta"
#: src/components/systems-table/systems-table-columns.tsx
msgctxt "Root disk label"
msgid "Root"
-msgstr ""
+msgstr "Root"
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Rotate token"
@@ -1307,6 +1364,10 @@ msgstr "Sök"
msgid "Search for systems or settings..."
msgstr "Sök efter system eller inställningar..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Sekunder mellan pingar (standard: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Se <0>aviseringsinställningar0> för att konfigurera hur du tar emot larm."
@@ -1315,6 +1376,18 @@ msgstr "Se <0>aviseringsinställningar0> för att konfigurera hur du tar emot
msgid "Select {foo}"
msgstr "Välj {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Skicka en enstaka heartbeat-ping för att verifiera att din slutpunkt fungerar."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Skicka periodiska utgående pingar till en extern övervakningstjänst så att du kan övervaka Beszel utan att exponera den för internet."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Skicka test-heartbeat"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Skickat"
@@ -1335,6 +1408,10 @@ msgstr "Tjänster"
msgid "Set percentage thresholds for meter colors."
msgstr "Ställ in procentuella tröskelvärden för mätarfärger."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Ställ in följande miljövariabler på din Beszel-hubb för att aktivera heartbeat-övervakning:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1411,7 +1488,7 @@ msgstr "Systembelastning över tid"
#: src/components/systemd-table/systemd-table.tsx
msgid "Systemd Services"
-msgstr ""
+msgstr "Systemd-tjänster"
#: src/components/navbar.tsx
msgid "Systems"
@@ -1452,10 +1529,18 @@ msgstr "Temperaturer för systemsensorer"
msgid "Test <0>URL0>"
msgstr "Testa <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Testa heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Testavisering skickad"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "Den övergripande statusen är <0>ok0> när alla system är uppe, <1>varning1> när larm utlöses och <2>fel2> när något system är nere."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Logga sedan in på backend och återställ ditt användarkontos lösenord i användartabellen."
@@ -1591,7 +1676,7 @@ msgstr "Typ"
#: src/components/systemd-table/systemd-table.tsx
msgid "Unit file"
-msgstr ""
+msgstr "Unit-fil"
#. Temperature / network units
#: src/components/routes/settings/general.tsx
@@ -1611,7 +1696,7 @@ msgstr "Okänd"
#: src/components/systemd-table/systemd-table.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Unlimited"
-msgstr ""
+msgstr "Obegränsad"
#. Context: System is up
#: src/components/routes/system/info-bar.tsx
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Ladda upp"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Drifttid"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / Push-aviseringar"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "När aktiverad tillåter denna token agenter att självregistrera utan föregående systemskapande."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "När POST används inkluderar varje heartbeat en JSON-nyttolast med systemstatussammanfattning, lista över nere system och utlösta larm."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/tr/tr.po b/internal/site/src/locales/tr/tr.po
index 45696ca1..5827dc0a 100644
--- a/internal/site/src/locales/tr/tr.po
+++ b/internal/site/src/locales/tr/tr.po
@@ -93,6 +93,7 @@ msgstr "Eylemler"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Aktif"
@@ -140,6 +141,10 @@ msgstr "Yönetici"
msgid "After"
msgstr "Sonra"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Ortam değişkenlerini ayarladıktan sonra, değişikliklerin etkili olması için Beszel hub'ınızı yeniden başlatın."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Aracı"
@@ -350,6 +355,10 @@ msgstr "Sıfırlama bağlantısı için {email} kontrol edin."
msgid "Check logs for more details."
msgstr "Daha fazla ayrıntı için günlükleri kontrol edin."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "İzleme servisinizi kontrol edin"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Bildirim hizmetinizi kontrol edin"
@@ -457,7 +466,7 @@ msgstr "YAML'ı kopyala"
#: src/components/systemd-table/systemd-table-columns.tsx
#: src/components/systems-table/systems-table-columns.tsx
msgid "CPU"
-msgstr ""
+msgstr "CPU"
#: src/components/routes/system/cpu-sheet.tsx
msgid "CPU Cores"
@@ -556,7 +565,7 @@ msgstr "Boşalıyor"
#: src/components/systems-table/systems-table-columns.tsx
msgid "Disk"
-msgstr ""
+msgstr "Disk"
#: src/components/routes/system.tsx
msgid "Disk I/O"
@@ -643,6 +652,14 @@ msgstr "Boş"
msgid "End Time"
msgstr "Bitiş Saati"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "Uç Nokta URL'si"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "Ping atılacak uç nokta URL'si (gerekli)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Şifreyi sıfırlamak için e-posta adresini girin"
@@ -662,6 +679,9 @@ msgstr "Geçici"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Geçici"
msgid "Error"
msgstr "Hata"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Örnek:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "Kimlik doğrulama başarısız"
msgid "Failed to save settings"
msgstr "Ayarlar kaydedilemedi"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Heartbeat gönderilemedi"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Test bildirimi gönderilemedi"
@@ -806,6 +834,18 @@ msgstr "Izgara"
msgid "Health"
msgstr "Sağlık"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Heartbeat İzleme"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat başarıyla gönderildi"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Homebrew komutu"
msgid "Host / IP"
msgstr "Ana Bilgisayar / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP Yöntemi"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP yöntemi: POST, GET veya HEAD (varsayılan: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "İmaj"
msgid "Inactive"
msgstr "Pasif"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Aralık"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Geçersiz e-posta adresi."
@@ -885,6 +937,7 @@ msgstr "Yük Ort."
msgid "Load state"
msgstr "Yükleme durumu"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Yükleniyor..."
@@ -958,7 +1011,7 @@ msgstr "Docker konteynerlerinin bellek kullanımı"
#: src/components/routes/system/smart-table.tsx
msgid "Model"
-msgstr ""
+msgstr "Model"
#: src/components/add-system.tsx
#: src/components/alerts-history-columns.tsx
@@ -1096,7 +1149,7 @@ msgstr "Şifre sıfırlama isteği alındı"
#: src/components/routes/settings/quiet-hours.tsx
msgid "Past"
-msgstr ""
+msgstr "Geçmiş"
#: src/components/systems-table/systems-table-columns.tsx
msgid "Pause"
@@ -1110,6 +1163,10 @@ msgstr "Duraklatıldı"
msgid "Paused ({pausedSystemsLength})"
msgstr "Duraklatıldı ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Yük (Payload) formatı"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1162,7 +1219,7 @@ msgstr "Lütfen hesabınıza giriş yapın"
#: src/components/add-system.tsx
msgid "Port"
-msgstr ""
+msgstr "Port"
#. Power On Time
#: src/components/routes/system/smart-table.tsx
@@ -1307,6 +1364,10 @@ msgstr "Ara"
msgid "Search for systems or settings..."
msgstr "Sistemler veya ayarlar için ara..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Pingler arasındaki saniye (varsayılan: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Uyarıları nasıl alacağınızı yapılandırmak için <0>bildirim ayarlarını0> inceleyin."
@@ -1315,6 +1376,18 @@ msgstr "Uyarıları nasıl alacağınızı yapılandırmak için <0>bildirim aya
msgid "Select {foo}"
msgstr "Seç {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Uç noktanızın çalıştığını doğrulamak için tek bir heartbeat ping'i gönderin."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Beszel'i internete maruz bırakmadan izleyebilmeniz için harici bir izleme servisine periyodik giden pingler gönderin."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Test heartbeat gönder"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Gönderildi"
@@ -1335,6 +1408,10 @@ msgstr "Hizmetler"
msgid "Set percentage thresholds for meter colors."
msgstr "Sayaç renkleri için yüzde eşiklerini ayarlayın."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Heartbeat izlemeyi etkinleştirmek için Beszel hub'ınızda aşağıdaki ortam değişkenlerini ayarlayın:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "Sistem sensörlerinin sıcaklıkları"
msgid "Test <0>URL0>"
msgstr "<0>URL0>'yi Test Et"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Test heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Test bildirimi gönderildi"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "Tüm sistemler çalışırken genel durum <0>ok0>, uyarılar tetiklendiğinde <1>uyarı1> ve herhangi bir sistem çöktüğünde <2>hata2> şeklindedir."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Ardından arka uca giriş yapın ve kullanıcılar tablosunda kullanıcı hesabı şifrenizi sıfırlayın."
@@ -1497,7 +1582,7 @@ msgstr "Temayı değiştir"
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Token"
-msgstr ""
+msgstr "Token"
#: src/components/command-palette.tsx
#: src/components/routes/settings/layout.tsx
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Yükle"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Çalışma Süresi"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / Anlık bildirimler"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Etkinleştirildiğinde, bu token aracıların önceden sistem oluşturmadan kendilerini kaydetmelerine izin verir."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "POST kullanırken, her heartbeat sistem durumu özeti, çöken sistemlerin listesi ve tetiklenen uyarıları içeren bir JSON yükü içerir."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/uk/uk.po b/internal/site/src/locales/uk/uk.po
index d02b57c6..23bfc4e8 100644
--- a/internal/site/src/locales/uk/uk.po
+++ b/internal/site/src/locales/uk/uk.po
@@ -93,6 +93,7 @@ msgstr "Дії"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Активне"
@@ -109,7 +110,7 @@ msgstr "Активний стан"
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Add {foo}"
-msgstr ""
+msgstr "Додати {foo}"
#: src/components/add-system.tsx
msgid "Add <0>System0>"
@@ -140,6 +141,10 @@ msgstr "Адміністратор"
msgid "After"
msgstr "Після"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Після встановлення змінних оточення перезапустіть хаб Beszel, щоб зміни набули чинності."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Агент"
@@ -231,7 +236,7 @@ msgstr "Пропускна здатність"
#. Battery label in systems table header
#: src/components/systems-table/systems-table-columns.tsx
msgid "Bat"
-msgstr ""
+msgstr "Bat"
#: src/components/routes/system.tsx
#: src/lib/alerts.ts
@@ -350,6 +355,10 @@ msgstr "Перевірте {email} для отримання посилання
msgid "Check logs for more details."
msgstr "Перевірте журнали для отримання додаткової інформації."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Перевірте ваш сервіс моніторингу"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Перевірте свій сервіс сповіщень"
@@ -621,7 +630,7 @@ msgstr "Редагувати"
#: src/components/add-system.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Edit {foo}"
-msgstr ""
+msgstr "Редагувати {foo}"
#: src/components/login/auth-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -643,6 +652,14 @@ msgstr "Порожня"
msgid "End Time"
msgstr "Час завершення"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "URL-адреса кінцевої точки"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "URL-адреса кінцевої точки для пінгу (обов'язково)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Введіть адресу електронної пошти для скидання пароля"
@@ -662,6 +679,9 @@ msgstr "Ефемерний"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Ефемерний"
msgid "Error"
msgstr "Помилка"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Приклад:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "Не вдалося автентифікувати"
msgid "Failed to save settings"
msgstr "Не вдалося зберегти налаштування"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Не вдалося надіслати heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Не вдалося надіслати тестове сповіщення"
@@ -806,6 +834,18 @@ msgstr "Сітка"
msgid "Health"
msgstr "Здоров'я"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Моніторинг Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat успішно надіслано"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Команда Homebrew"
msgid "Host / IP"
msgstr "Хост / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP-метод"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP-метод: POST, GET або HEAD (за замовчуванням: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Образ"
msgid "Inactive"
msgstr "Неактивне"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Інтервал"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Неправильна адреса електронної пошти."
@@ -885,6 +937,7 @@ msgstr "Сер. навантаження"
msgid "Load state"
msgstr "Стан завантаження"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Завантаження..."
@@ -1110,6 +1163,10 @@ msgstr "Призупинено"
msgid "Paused ({pausedSystemsLength})"
msgstr "Призупинено ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Формат корисного навантаження"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1293,11 +1350,11 @@ msgstr "Розклад"
#: src/components/routes/settings/quiet-hours.tsx
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
-msgstr ""
+msgstr "Заплануйте години спокою, коли сповіщення не надсилатимуться, наприклад, під час періодів технічного обслуговування."
#: src/components/routes/settings/quiet-hours.tsx
msgid "Schedule quiet hours where notifications will not be sent."
-msgstr ""
+msgstr "Заплануйте години спокою, коли сповіщення не надсилатимуться."
#: src/components/navbar.tsx
msgid "Search"
@@ -1307,13 +1364,29 @@ msgstr "Пошук"
msgid "Search for systems or settings..."
msgstr "Шукати системи або налаштування..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Секунди між пінгами (за замовчуванням: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Перегляньте <0>налаштування сповіщень0>, щоб налаштувати, як ви отримуєте сповіщення."
#: src/components/routes/settings/quiet-hours.tsx
msgid "Select {foo}"
-msgstr ""
+msgstr "Вибрати {foo}"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Надішліть одиночний пінг heartbeat, щоб перевірити працездатність кінцевої точки."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Надсилайте періодичні вихідні пінги на зовнішній сервіс моніторингу, щоб ви могли моніторити Beszel без його публікації в інтернеті."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Надіслати тестовий heartbeat"
#: src/components/routes/system.tsx
msgid "Sent"
@@ -1335,6 +1408,10 @@ msgstr "Служби"
msgid "Set percentage thresholds for meter colors."
msgstr "Встановіть відсоткові пороги для кольорів лічильників."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Встановіть наступні змінні оточення в хабі Beszel для увімкнення моніторингу heartbeat:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "Температури датчиків системи"
msgid "Test <0>URL0>"
msgstr "Тест <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Тестовий heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Тестове сповіщення надіслано"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "Загальний статус: <0>ok0>, коли всі системи працюють, <1>попередження1>, коли спрацювали сповіщення, і <2>помилка2>, коли будь-яка система відключена."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Потім увійдіть у бекенд і скиньте пароль вашого облікового запису користувача в таблиці користувачів."
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Відвантажити"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Час роботи"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / Push сповіщення"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "При ввімкненні цей токен дозволяє агентам самостійно реєструватися без попереднього створення системи."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "При використанні POST кожен heartbeat містить корисне навантаження JSON із коротким звітом про стан системи, списком відключених систем та сповіщеннями, що спрацювали."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/vi/vi.po b/internal/site/src/locales/vi/vi.po
index 9f897be7..6f6ac3f8 100644
--- a/internal/site/src/locales/vi/vi.po
+++ b/internal/site/src/locales/vi/vi.po
@@ -93,6 +93,7 @@ msgstr "Hành động"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "Hoạt động"
@@ -140,6 +141,10 @@ msgstr "Quản trị viên"
msgid "After"
msgstr "Sau"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "Sau khi thiết lập các biến môi trường, hãy khởi động lại hub Beszel để các thay đổi có hiệu lực."
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Tác nhân"
@@ -350,6 +355,10 @@ msgstr "Kiểm tra {email} để lấy liên kết đặt lại."
msgid "Check logs for more details."
msgstr "Kiểm tra nhật ký để biết thêm chi tiết."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "Kiểm tra dịch vụ giám sát của bạn"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "Kiểm tra dịch vụ thông báo của bạn"
@@ -457,7 +466,7 @@ msgstr "Sao chép YAML"
#: src/components/systemd-table/systemd-table-columns.tsx
#: src/components/systems-table/systems-table-columns.tsx
msgid "CPU"
-msgstr ""
+msgstr "CPU"
#: src/components/routes/system/cpu-sheet.tsx
msgid "CPU Cores"
@@ -627,7 +636,7 @@ msgstr "Chỉnh sửa {foo}"
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/otp-forms.tsx
msgid "Email"
-msgstr ""
+msgstr "Email"
#: src/components/routes/settings/notifications.tsx
msgid "Email notifications"
@@ -643,6 +652,14 @@ msgstr "Hết pin"
msgid "End Time"
msgstr "Thời gian kết thúc"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "URL điểm cuối"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "URL điểm cuối để ping (bắt buộc)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "Nhập địa chỉ email để đặt lại mật khẩu"
@@ -662,6 +679,9 @@ msgstr "Tạm thời"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "Tạm thời"
msgid "Error"
msgstr "Lỗi"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "Ví dụ:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "Xác thực thất bại"
msgid "Failed to save settings"
msgstr "Lưu cài đặt thất bại"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "Gửi heartbeat thất bại"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "Gửi thông báo thử nghiệm thất bại"
@@ -806,6 +834,18 @@ msgstr "Lưới"
msgid "Health"
msgstr "Sức khỏe"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Giám sát Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat đã được gửi thành công"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Lệnh Homebrew"
msgid "Host / IP"
msgstr "Máy chủ / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "Phương thức HTTP"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "Phương thức HTTP: POST, GET hoặc HEAD (mặc định: POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "Hình ảnh"
msgid "Inactive"
msgstr "Không hoạt động"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "Khoảng thời gian"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "Địa chỉ email không hợp lệ."
@@ -885,6 +937,7 @@ msgstr "Tải TB"
msgid "Load state"
msgstr "Trạng thái tải"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "Đang tải..."
@@ -1110,6 +1163,10 @@ msgstr "Đã tạm dừng"
msgid "Paused ({pausedSystemsLength})"
msgstr "Đã tạm dừng ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "Định dạng tải trọng (payload)"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "Tìm kiếm"
msgid "Search for systems or settings..."
msgstr "Tìm kiếm hệ thống hoặc cài đặt..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Số giây giữa các lần ping (mặc định: 60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "Xem <0>cài đặt thông báo0> để cấu hình cách bạn nhận cảnh báo."
@@ -1315,6 +1376,18 @@ msgstr "Xem <0>cài đặt thông báo0> để cấu hình cách bạn nhận
msgid "Select {foo}"
msgstr "Chọn {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "Gửi một ping heartbeat duy nhất để xác minh điểm cuối của bạn đang hoạt động."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "Gửi các ping gửi đi định kỳ đến dịch vụ giám sát bên ngoài để bạn có thể giám sát Beszel mà không cần để lộ nó với internet."
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "Gửi heartbeat thử nghiệm"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "Đã gửi"
@@ -1335,6 +1408,10 @@ msgstr "Dịch vụ"
msgid "Set percentage thresholds for meter colors."
msgstr "Đặt ngưỡng cho màu sắc đồng hồ."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "Thiết lập các biến môi trường sau trên hub Beszel của bạn để bật giám sát heartbeat:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "Nhiệt độ của các cảm biến hệ thống"
msgid "Test <0>URL0>"
msgstr "Kiểm tra <0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "Thử nghiệm heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "Thông báo thử nghiệm đã được gửi"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "Trạng thái tổng thể là <0>ok0> khi tất cả các hệ thống đều hoạt động, <1>cảnh báo1> khi các cảnh báo được kích hoạt và <2>lỗi2> khi có bất kỳ hệ thống nào bị hỏng."
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "Sau đó đăng nhập vào backend và đặt lại mật khẩu tài khoản người dùng của bạn trong bảng người dùng."
@@ -1497,7 +1582,7 @@ msgstr "Chuyển đổi chủ đề"
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Token"
-msgstr ""
+msgstr "Token"
#: src/components/command-palette.tsx
#: src/components/routes/settings/layout.tsx
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "Tải lên"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "Thời gian hoạt động"
@@ -1716,6 +1802,10 @@ msgstr "Thông báo Webhook / Push"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "Khi được bật, token này cho phép các tác nhân tự đăng ký mà không cần tạo hệ thống trước."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "Khi sử dụng POST, mỗi heartbeat bao gồm một tải trọng JSON với bản tóm tắt trạng thái hệ thống, danh sách các hệ thống bị hỏng và các cảnh báo đã được kích hoạt."
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/zh-CN/zh-CN.po b/internal/site/src/locales/zh-CN/zh-CN.po
index 748f5395..1cefe1d3 100644
--- a/internal/site/src/locales/zh-CN/zh-CN.po
+++ b/internal/site/src/locales/zh-CN/zh-CN.po
@@ -93,6 +93,7 @@ msgstr "操作"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "活跃"
@@ -140,6 +141,10 @@ msgstr "管理员"
msgid "After"
msgstr "之后"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "设置环境变量后,重新启动您的 Beszel hub 以使更改生效。"
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "客户端"
@@ -350,6 +355,10 @@ msgstr "检查 {email} 以获取重置链接。"
msgid "Check logs for more details."
msgstr "检查日志以获取更多详细信息。"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "检查您的监控服务"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "检查您的通知服务"
@@ -643,6 +652,14 @@ msgstr "空电"
msgid "End Time"
msgstr "结束时间"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "端点 URL"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "要 ping 的端点 URL (必填)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "输入电子邮件地址以重置密码"
@@ -662,6 +679,9 @@ msgstr "临时"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "临时"
msgid "Error"
msgstr "错误"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "示例:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "认证失败"
msgid "Failed to save settings"
msgstr "保存设置失败"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "发送 heartbeat 失败"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "发送测试通知失败"
@@ -806,6 +834,18 @@ msgstr "网格"
msgid "Health"
msgstr "健康"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Heartbeat 监控"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat 发送成功"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Homebrew 安装命令"
msgid "Host / IP"
msgstr "主机/IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP 方法"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP 方法:POST、GET 或 HEAD (默认:POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "镜像"
msgid "Inactive"
msgstr "非活跃"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "间隔"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "无效的电子邮件地址。"
@@ -885,6 +937,7 @@ msgstr "负载"
msgid "Load state"
msgstr "加载状态"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "加载中..."
@@ -1110,6 +1163,10 @@ msgstr "已暂停"
msgid "Paused ({pausedSystemsLength})"
msgstr "已暂停 ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "有效载荷 (Payload) 格式"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "搜索"
msgid "Search for systems or settings..."
msgstr "搜索系统或设置..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Ping 之间的秒数 (默认:60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "查看<0>通知设置0>以配置您接收警报的方式。"
@@ -1315,6 +1376,18 @@ msgstr "查看<0>通知设置0>以配置您接收警报的方式。"
msgid "Select {foo}"
msgstr "选择 {foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "发送单个 heartbeat ping 以验证您的端点是否正常工作。"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "定期向外部监控服务发送出站 ping,以便您在不将 Beszel 暴露于互联网的情况下进行监控。"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "发送测试 heartbeat"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "发送"
@@ -1335,6 +1408,10 @@ msgstr "服务"
msgid "Set percentage thresholds for meter colors."
msgstr "设置仪表颜色的百分比阈值。"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "在您的 Beszel hub 上设置以下环境变量以启用 heartbeat 监控:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "系统传感器的温度"
msgid "Test <0>URL0>"
msgstr "测试<0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "测试 heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "测试通知已发送"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "当所有系统都正常运行时,整体状态为 <0>ok0>;当触发警报时为 <1>警告1>;当任何系统故障时为 <2>错误2>。"
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "然后登录到后台并在用户表中重置您的用户账户密码。"
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "上传"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "正常运行时间"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / 推送通知"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "启用后,此令牌允许代理无需事先创建系统即可自行注册。"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "使用 POST 时,每个 heartbeat 都包含一个 JSON 有效载荷,其中包括系统状态摘要、故障系统列表和触发的警报。"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/zh-HK/zh-HK.po b/internal/site/src/locales/zh-HK/zh-HK.po
index 411f47e7..9fe369f1 100644
--- a/internal/site/src/locales/zh-HK/zh-HK.po
+++ b/internal/site/src/locales/zh-HK/zh-HK.po
@@ -93,6 +93,7 @@ msgstr "操作"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "啟用中"
@@ -109,7 +110,7 @@ msgstr "活動狀態"
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Add {foo}"
-msgstr ""
+msgstr "新增 {foo}"
#: src/components/add-system.tsx
msgid "Add <0>System0>"
@@ -140,6 +141,10 @@ msgstr "管理員"
msgid "After"
msgstr "之後"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "設置環境變數後,請重新啟動 Beszel hub 以使更改生效。"
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "客户端"
@@ -350,6 +355,10 @@ msgstr "檢查 {email} 以獲取重置鏈接。"
msgid "Check logs for more details."
msgstr "檢查日誌以取得更多資訊。"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "檢查您的監控服務"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "檢查您的通知服務"
@@ -621,7 +630,7 @@ msgstr "編輯"
#: src/components/add-system.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Edit {foo}"
-msgstr ""
+msgstr "編輯 {foo}"
#: src/components/login/auth-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -643,6 +652,14 @@ msgstr "空電"
msgid "End Time"
msgstr "結束時間"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "端點 URL"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "要 ping 的端點 URL (必填)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "輸入電子郵件地址以重置密碼"
@@ -662,6 +679,9 @@ msgstr "臨時"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "臨時"
msgid "Error"
msgstr "錯誤"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "範例:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "認證失敗"
msgid "Failed to save settings"
msgstr "儲存設定失敗"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "發送 heartbeat 失敗"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "發送測試通知失敗"
@@ -806,6 +834,18 @@ msgstr "網格"
msgid "Health"
msgstr "健康狀態"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Heartbeat 監控"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat 發送成功"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Homebrew 指令"
msgid "Host / IP"
msgstr "主機 / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP 方法"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP 方法:POST、GET 或 HEAD (預設:POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "鏡像"
msgid "Inactive"
msgstr "未啟用"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "間隔"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "無效的電子郵件地址。"
@@ -885,6 +937,7 @@ msgstr "平均負載"
msgid "Load state"
msgstr "載入狀態"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "載入中..."
@@ -1096,7 +1149,7 @@ msgstr "已收到密碼重設請求"
#: src/components/routes/settings/quiet-hours.tsx
msgid "Past"
-msgstr ""
+msgstr "過去"
#: src/components/systems-table/systems-table-columns.tsx
msgid "Pause"
@@ -1110,6 +1163,10 @@ msgstr "已暫停"
msgid "Paused ({pausedSystemsLength})"
msgstr "已暫停 ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "負載 (Payload) 格式"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1289,7 +1346,7 @@ msgstr "儲存在資料庫中,在您停用之前不會過期。"
#: src/components/routes/settings/quiet-hours.tsx
msgid "Schedule"
-msgstr ""
+msgstr "排程"
#: src/components/routes/settings/quiet-hours.tsx
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
@@ -1307,13 +1364,29 @@ msgstr "搜索"
msgid "Search for systems or settings..."
msgstr "搜索系統或設置..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Ping 之間的秒數 (預設:60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "查看<0>通知設置0>以配置您接收警報的方式。"
#: src/components/routes/settings/quiet-hours.tsx
msgid "Select {foo}"
-msgstr ""
+msgstr "選擇 {foo}"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "發送單次 heartbeat ping 以驗證您的端點是否正常運作。"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "定期向外部監控服務發送出站 ping,以便您在不將 Beszel 暴露於網際網路的情況下進行監控。"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "發送測試 heartbeat"
#: src/components/routes/system.tsx
msgid "Sent"
@@ -1335,6 +1408,10 @@ msgstr "服務"
msgid "Set percentage thresholds for meter colors."
msgstr "設定儀表顏色的百分比閾值。"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "在您的 Beszel hub 上設置以下環境變數以啟用 heartbeat 監控:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "系統傳感器的溫度"
msgid "Test <0>URL0>"
msgstr "測試<0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "測試 heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "測試通知已發送"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "當所有系統都正常運行時,整體狀態為 <0>正常0>;當觸發警報時為 <1>警告1>;當任何系統故障時為 <2>錯誤2>。"
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "然後登錄到後端並在用戶表中重置您的用戶帳戶密碼。"
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "上傳"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "正常運行時間"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / 推送通知"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "啟用後,此權杖允許代理無需事先建立系統即可自行註冊。"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "使用 POST 時,每個 heartbeat 都包含一個 JSON 負載,其中包含系統狀態摘要、故障系統列表和觸發的警報。"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
diff --git a/internal/site/src/locales/zh/zh.po b/internal/site/src/locales/zh/zh.po
index 6c968b03..d09da4d5 100644
--- a/internal/site/src/locales/zh/zh.po
+++ b/internal/site/src/locales/zh/zh.po
@@ -93,6 +93,7 @@ msgstr "操作"
#: src/components/alerts-history-columns.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Active"
msgstr "啟用中"
@@ -140,6 +141,10 @@ msgstr "管理員"
msgid "After"
msgstr "之後"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "After setting the environment variables, restart your Beszel hub for changes to take effect."
+msgstr "設置環境變數後,重新啟動您的 Beszel hub 以使更改生效。"
+
#: src/components/systems-table/systems-table-columns.tsx
msgid "Agent"
msgstr "Agent"
@@ -350,6 +355,10 @@ msgstr "檢查 {email} 以取得重設連結。"
msgid "Check logs for more details."
msgstr "檢查系統記錄以取得更多資訊。"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Check your monitoring service"
+msgstr "檢查您的監控服務"
+
#: src/components/routes/settings/notifications.tsx
msgid "Check your notification service"
msgstr "檢查您的通知服務"
@@ -643,6 +652,14 @@ msgstr "空電"
msgid "End Time"
msgstr "結束時間"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL"
+msgstr "端點 URL"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Endpoint URL to ping (required)"
+msgstr "要 ping 的端點 URL (必填)"
+
#: src/components/login/login.tsx
msgid "Enter email address to reset password"
msgstr "輸入電子郵件地址以重設密碼"
@@ -662,6 +679,9 @@ msgstr "臨時"
#: src/components/login/auth-form.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/config-yaml.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/routes/settings/notifications.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -670,6 +690,10 @@ msgstr "臨時"
msgid "Error"
msgstr "錯誤"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Example:"
+msgstr "範例:"
+
#. placeholder {0}: alert.value
#. placeholder {1}: info.unit
#. placeholder {2}: alert.min
@@ -727,6 +751,10 @@ msgstr "認證失敗"
msgid "Failed to save settings"
msgstr "儲存設定失敗"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Failed to send heartbeat"
+msgstr "發送 heartbeat 失敗"
+
#: src/components/routes/settings/notifications.tsx
msgid "Failed to send test notification"
msgstr "發送測試通知失敗"
@@ -806,6 +834,18 @@ msgstr "網格"
msgid "Health"
msgstr "健康狀態"
+#: src/components/routes/settings/layout.tsx
+msgid "Heartbeat"
+msgstr "Heartbeat"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat Monitoring"
+msgstr "Heartbeat 監控"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Heartbeat sent successfully"
+msgstr "Heartbeat 發送成功"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"
@@ -816,6 +856,14 @@ msgstr "Homebrew 指令"
msgid "Host / IP"
msgstr "Host / IP"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP Method"
+msgstr "HTTP 方法"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "HTTP method: POST, GET, or HEAD (default: POST)"
+msgstr "HTTP 方法:POST、GET 或 HEAD (預設:POST)"
+
#. Context: Battery state
#: src/lib/i18n.ts
msgid "Idle"
@@ -834,6 +882,10 @@ msgstr "映像檔"
msgid "Inactive"
msgstr "未啟用"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Interval"
+msgstr "間隔"
+
#: src/components/login/auth-form.tsx
msgid "Invalid email address."
msgstr "無效的電子郵件地址。"
@@ -885,6 +937,7 @@ msgstr "平均負載"
msgid "Load state"
msgstr "載入狀態"
+#: src/components/routes/settings/heartbeat.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Loading..."
msgstr "載入中..."
@@ -1110,6 +1163,10 @@ msgstr "已暫停"
msgid "Paused ({pausedSystemsLength})"
msgstr "已暫停 ({pausedSystemsLength})"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Payload format"
+msgstr "有效載荷 (Payload) 格式"
+
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1307,6 +1364,10 @@ msgstr "搜尋"
msgid "Search for systems or settings..."
msgstr "在設定或系統中搜尋..."
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Seconds between pings (default: 60)"
+msgstr "Ping 之間的秒數 (預設:60)"
+
#: src/components/alerts/alerts-sheet.tsx
msgid "See <0>notification settings0> to configure how you receive alerts."
msgstr "查看<0>通知設定0>以設定您如何接收警報。"
@@ -1315,6 +1376,18 @@ msgstr "查看<0>通知設定0>以設定您如何接收警報。"
msgid "Select {foo}"
msgstr "選取{foo}"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send a single heartbeat ping to verify your endpoint is working."
+msgstr "發送單個 heartbeat ping 以驗證您的端點是否正常工作。"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send periodic outbound pings to an external monitoring service so you can monitor Beszel without exposing it to the internet."
+msgstr "定期向外部監控服務發送出站 ping,以便您在不將 Beszel 暴露於網際網路的情況下進行監控。"
+
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Send test heartbeat"
+msgstr "發送測試 heartbeat"
+
#: src/components/routes/system.tsx
msgid "Sent"
msgstr "傳送"
@@ -1335,6 +1408,10 @@ msgstr "服務"
msgid "Set percentage thresholds for meter colors."
msgstr "設定儀表顏色的百分比閾值。"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Set the following environment variables on your Beszel hub to enable heartbeat monitoring:"
+msgstr "在您的 Beszel hub 上設置以下環境變數以啟用 heartbeat 監控:"
+
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
@@ -1452,10 +1529,18 @@ msgstr "系統感應器的溫度"
msgid "Test <0>URL0>"
msgstr "測試<0>URL0>"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "Test heartbeat"
+msgstr "測試 heartbeat"
+
#: src/components/routes/settings/notifications.tsx
msgid "Test notification sent"
msgstr "已發送測試通知"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "The overall status is <0>ok0> when all systems are up, <1>warn1> when alerts are triggered, and <2>error2> when any system is down."
+msgstr "當所有系統都正常運行時,整體狀態為 <0>ok0>;當觸發警報時為 <1>警告1>;當任何系統故障時為 <2>錯誤2>。"
+
#: src/components/login/forgot-pass-form.tsx
msgid "Then log into the backend and reset your user account password in the users table."
msgstr "然後登入後台並在使用者列表中重設您的帳號密碼。"
@@ -1642,6 +1727,7 @@ msgid "Upload"
msgstr "上傳"
#: src/components/routes/system/info-bar.tsx
+#: src/components/systems-table/systems-table-columns.tsx
msgid "Uptime"
msgstr "運行時間"
@@ -1716,6 +1802,10 @@ msgstr "Webhook / 推送通知"
msgid "When enabled, this token allows agents to self-register without prior system creation."
msgstr "啟用後,此 Token 可讓 Agent 自行註冊,無需預先在系統中建立項目。"
+#: src/components/routes/settings/heartbeat.tsx
+msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
+msgstr "使用 POST 時,每個 heartbeat 都包含一個 JSON 有效載荷,其中包含系統狀態摘要、故障系統列表和觸發的警報。"
+
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"