Compare commits

...

99 Commits

Author SHA1 Message Date
GJS
4b0a3df226
Fixed: Markdown hyperlinks in feature_request.yml and PULL_REQUEST_TEMPLATE.md (#5749) 2025-04-03 13:54:52 +02:00
GJS
85709f9ad4
docs: reword issue templates, pr workflow and review docs (#5728)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2025-04-03 11:05:07 +02:00
Louis Lam
6de4aec67b
Update to 2.0.0-beta.2 (#5733) 2025-03-28 23:36:37 +08:00
mantak
049005d2d2
Add Lithuanian language code to dropdown (#5732) 2025-03-28 16:45:58 +08:00
Louis Lam
ad444cdbcf
Translations Update from Weblate (#5669) 2025-03-28 16:42:39 +08:00
mantak
325bec42ee Translated using Weblate (Lithuanian)
Currently translated at 100.0% (1069 of 1069 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (1069 of 1069 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (1069 of 1069 strings)

Translated using Weblate (Lithuanian)

Currently translated at 89.5% (957 of 1069 strings)

Translated using Weblate (Lithuanian)

Currently translated at 88.4% (945 of 1069 strings)

Co-authored-by: mantak <mantaksam@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/lt/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:29 +00:00
jolupa
95780656df Translated using Weblate (Catalan)
Currently translated at 52.1% (558 of 1069 strings)

Co-authored-by: jolupa <jolupameister@protonmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ca/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:29 +00:00
bioslet
45ab84e1f9 Translated using Weblate (Russian)
Currently translated at 98.5% (1053 of 1069 strings)

Co-authored-by: bioslet <bioslet@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ru/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:29 +00:00
Ramin Mazloomi
71d0e7c15a Translated using Weblate (Persian)
Currently translated at 98.7% (1056 of 1069 strings)

Co-authored-by: Ramin Mazloomi <RaminMT007@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/fa/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
Saba Sakvarelidze
5c68c2b5d9 Translated using Weblate (Georgian)
Currently translated at 1.2% (13 of 1067 strings)

Co-authored-by: Saba Sakvarelidze <cal1b4nnn@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ka/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
AnnAngela
c800638ea1 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1067 of 1067 strings)

Co-authored-by: AnnAngela <naganjue@vip.qq.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/zh_Hans/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
spectre011-code
fb3031edf0 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.5% (1056 of 1061 strings)

Co-authored-by: spectre011-code <spectre011@protonmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pt_BR/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
Ivan Bratović
f46379b48a Translated using Weblate (Croatian)
Currently translated at 100.0% (1069 of 1069 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (1061 of 1061 strings)

Co-authored-by: Ivan Bratović <ivanbratovic4@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hr/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
stanol
084617ff4d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1069 of 1069 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (1067 of 1067 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (1061 of 1061 strings)

Co-authored-by: stanol <stanol777@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/uk/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
Cyril59310
c5c21668a2 Translated using Weblate (French)
Currently translated at 100.0% (1069 of 1069 strings)

Translated using Weblate (French)

Currently translated at 100.0% (1067 of 1067 strings)

Translated using Weblate (French)

Currently translated at 100.0% (1061 of 1061 strings)

Co-authored-by: Cyril59310 <archas.cyril@hotmail.fr>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/fr/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
Marco
eb9fc9a68d Translated using Weblate (German)
Currently translated at 100.0% (1069 of 1069 strings)

Translated using Weblate (German (Switzerland))

Currently translated at 100.0% (1069 of 1069 strings)

Translated using Weblate (German)

Currently translated at 100.0% (1067 of 1067 strings)

Translated using Weblate (German (Switzerland))

Currently translated at 100.0% (1067 of 1067 strings)

Translated using Weblate (German)

Currently translated at 100.0% (1061 of 1061 strings)

Translated using Weblate (German (Switzerland))

Currently translated at 100.0% (1061 of 1061 strings)

Co-authored-by: Marco <marco@nanoweb.ch>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de/
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/de_CH/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
MrEddX
937177177e Translated using Weblate (Bulgarian)
Currently translated at 100.0% (1069 of 1069 strings)

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (1067 of 1067 strings)

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (1061 of 1061 strings)

Translated using Weblate (Bulgarian)

Currently translated at 100.0% (1055 of 1055 strings)

Co-authored-by: MrEddX <mreddx@chatrix.one>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/bg/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
yasin
061406d7d1 Translated using Weblate (Turkish)
Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: yasin <muratozbayyasin@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/tr/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
Melroy van den Berg
f563f49bf0 Translated using Weblate (Dutch)
Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: Melroy van den Berg <melroy@melroy.org>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/nl/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
svalo
93bcfe76da Translated using Weblate (Italian)
Currently translated at 67.1% (707 of 1053 strings)

Co-authored-by: svalo <code@valo.space>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/it/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
Tomáš Novák
35dfd5c684 Translated using Weblate (Slovak)
Currently translated at 55.1% (581 of 1053 strings)

Co-authored-by: Tomáš Novák <tomas@tonova.sk>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/sk/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
Black
dbec3fcc13 Translated using Weblate (Romanian)
Currently translated at 100.0% (1053 of 1053 strings)

Translated using Weblate (Romanian)

Currently translated at 97.2% (1024 of 1053 strings)

Co-authored-by: Black <cristian.badea@yahoo.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ro/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
Dominik727
b71c44efa0 Translated using Weblate (Hungarian)
Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: Dominik727 <suszterdominik@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hu/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
Gil Obradors
b0d1d913bc Translated using Weblate (Catalan)
Currently translated at 52.5% (553 of 1053 strings)

Co-authored-by: Gil Obradors <gil.obradors@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ca/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
Kisem
da8a697b51 Translated using Weblate (Hungarian)
Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: Kisem <kiss.m.aron@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hu/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
Dominik727
bb7c0d9e09 Translated using Weblate (Hungarian)
Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: Dominik727 <suszterdominik@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hu/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
Alex Nagy
db835a0309 Translated using Weblate (Hungarian)
Currently translated at 100.0% (1053 of 1053 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: Alex Nagy <nagyalex003@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hu/
Translation: Uptime Kuma/Uptime Kuma
2025-03-28 08:34:28 +00:00
Louis Lam
44db422128
Update vite (#5731) 2025-03-28 16:34:23 +08:00
Teror Fox
30f82b9cb4
feat: add notification provider PushPlus (#5716)
Co-authored-by: Teror Fox <i@trfox.top>
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2025-03-26 17:31:34 +01:00
Louis Lam
10a518e72e
Fix #5721: Change proxy port column type to integer to support larger port numbers (#5724) 2025-03-25 02:07:15 +08:00
Louis Lam
a7d1b99719
Update dependencies (#5715) 2025-03-22 16:40:31 +08:00
Steven Stromberg
f50e26edd6
Update PWA icons to have transparency (#5714)
Co-authored-by: Louis Lam <louislam@users.noreply.github.com>
2025-03-22 08:05:21 +08:00
RaminMT
b0610c02ac
Add Telegram custom bot api server support (#5668) 2025-03-21 04:08:20 +01:00
devlikeapro
6f8f8f955f
Add WhatsApp (WAHA) notification provider (#5647)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2025-03-18 13:06:43 +01:00
Sergio Conde Gómez
9857770cc7
feat: rework notification templating and add support for telegram (#5637) 2025-03-14 12:51:07 +01:00
Harry
fce824f5a8
feat: Support YZJ notification provider (#5686)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2025-03-14 02:40:13 +01:00
Melroy van den Berg
cf44d39e1b
Do not use --production flag anymore (#5644)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2025-03-07 23:55:02 +01:00
Fred Nnaji
230832c382
Update TLS expiration warning (#5659)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2025-03-07 21:49:38 +01:00
Louis Lam
c7d7fdd632
Update dependencies (#5664) 2025-02-28 01:32:23 +08:00
Louis Lam
0fc6998a31
Translations Update from Weblate (#5474) 2025-02-28 00:41:09 +08:00
hamx01
bfd4b84a19 Translated using Weblate (Russian)
Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: hamx01 <asolianik2015@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ru/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
DJEDIVER
eef742fe93 Translated using Weblate (Russian)
Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: DJEDIVER <djediver@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ru/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
nikito7
4307f7f79b Translated using Weblate (Portuguese (Portugal))
Currently translated at 44.4% (468 of 1053 strings)

Co-authored-by: nikito7 <rsansana@outlook.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pt_PT/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Fernando Pindado
1bf98aa114 Translated using Weblate (Spanish)
Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: Fernando Pindado <fpindado@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/es/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
aaf-30
d03de1fca4 Translated using Weblate (Indonesian)
Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: aaf-30 <achmadalfandi53@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/id/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
csjoh
681530dc1a Translated using Weblate (Norwegian Bokmål)
Currently translated at 54.5% (574 of 1053 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 50.8% (535 of 1053 strings)

Co-authored-by: csjoh <github@csj.no>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/nb_NO/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
RainoutOvO
86362a802f Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (1053 of 1053 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (1053 of 1053 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 91.6% (965 of 1053 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: RainoutOvO <rainout@163.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/zh_Hans/
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/zh_Hant/
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/zh_Hant_HK/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Shadow Gaming
de8e42b748 Translated using Weblate (Portuguese)
Currently translated at 19.2% (203 of 1053 strings)

Co-authored-by: Shadow Gaming <workspace.shadowgaming@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pt/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
José Perlin
196c9cae57 Translated using Weblate (Portuguese)
Currently translated at 19.2% (203 of 1053 strings)

Co-authored-by: José Perlin <jose.vendr@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pt/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Nikolay (Mansas)
79ffb6e159 Translated using Weblate (Russian)
Currently translated at 98.3% (1036 of 1053 strings)

Co-authored-by: Nikolay (Mansas) <dokykin0nikolay@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ru/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Jonathan Neider Larsen
d8418a8949 Translated using Weblate (Danish)
Currently translated at 73.0% (769 of 1053 strings)

Co-authored-by: Jonathan Neider Larsen <jonathanneider@pm.me>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/da/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Vladislav Selyukov
e496f37b15 Translated using Weblate (Russian)
Currently translated at 98.0% (1032 of 1053 strings)

Co-authored-by: Vladislav Selyukov <vladxp1838@mail.ru>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ru/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Buchtič
457626c715 Translated using Weblate (Czech)
Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: Buchtič <martin.buchta@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/cs/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
TheSkout001
17f3d5214a Translated using Weblate (Russian)
Currently translated at 97.9% (1031 of 1053 strings)

Co-authored-by: TheSkout001 <daniil.afg@yandex.ru>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ru/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
nkgiovannivl
d7c76abff7 Translated using Weblate (Spanish)
Currently translated at 97.0% (1022 of 1053 strings)

Co-authored-by: nkgiovannivl <diego.vera.leon@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/es/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Alex Nagy
1dd8c16fb2 Translated using Weblate (Hungarian)
Currently translated at 100.0% (1053 of 1053 strings)

Translated using Weblate (Hungarian)

Currently translated at 96.0% (1011 of 1053 strings)

Co-authored-by: Alex Nagy <nagyalex003@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hu/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Sfont
f932531320 Translated using Weblate (Catalan)
Currently translated at 21.5% (227 of 1053 strings)

Co-authored-by: Sfont <sfont@duck.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ca/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Kisem
cbb2ae7139 Translated using Weblate (Hungarian)
Currently translated at 89.0% (938 of 1053 strings)

Co-authored-by: Kisem <kiss.m.aron@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hu/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Alex Nagy
084efe3d17 Translated using Weblate (Hungarian)
Currently translated at 89.0% (938 of 1053 strings)

Co-authored-by: Alex Nagy <nagyalex003@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hu/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Kisem
db112d9c47 Translated using Weblate (Hungarian)
Currently translated at 80.8% (851 of 1053 strings)

Co-authored-by: Kisem <kiss.m.aron@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hu/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Alex Nagy
cec6b2e79a Translated using Weblate (Hungarian)
Currently translated at 80.8% (851 of 1053 strings)

Co-authored-by: Alex Nagy <nagyalex003@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/hu/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Titas
a8ccc730b1 Translated using Weblate (Lithuanian)
Currently translated at 27.3% (288 of 1053 strings)

Co-authored-by: Titas <titasp@pixylt.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/lt/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Yuki
5bd3b02a4e Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 72.0% (759 of 1053 strings)

Co-authored-by: Yuki <903728862@qq.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/zh_Hant_HK/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
dongsu8142
24d76489a7 Translated using Weblate (Korean)
Currently translated at 72.0% (759 of 1053 strings)

Co-authored-by: dongsu8142 <dongsu8142@naver.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ko/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Arian Ardeshiri
9afac23029 Translated using Weblate (Persian)
Currently translated at 97.9% (1031 of 1053 strings)

Co-authored-by: Arian Ardeshiri <arian.fawiki@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/fa/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Shadow Gaming
cef81ecc5a Translated using Weblate (Portuguese)
Currently translated at 9.5% (101 of 1053 strings)

Co-authored-by: Shadow Gaming <workspace.shadowgaming@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pt/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Tise
1e297e2867 Translated using Weblate (Russian)
Currently translated at 97.8% (1030 of 1053 strings)

Co-authored-by: Tise <vladden500@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ru/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Unai Tolosa Pontesta
efce9072f6 Translated using Weblate (Basque)
Currently translated at 62.8% (662 of 1053 strings)

Translated using Weblate (Basque)

Currently translated at 62.0% (653 of 1053 strings)

Translated using Weblate (Basque)

Currently translated at 61.9% (652 of 1053 strings)

Translated using Weblate (Basque)

Currently translated at 59.1% (623 of 1053 strings)

Co-authored-by: Unai Tolosa Pontesta <utolosa002@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/eu/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
İzzet Emre Demir
46b3bd314f Translated using Weblate (Turkish)
Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: İzzet Emre Demir <izzetemredemir@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/tr/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
mahdi
427cf2a7ac Translated using Weblate (Persian)
Currently translated at 96.4% (1016 of 1053 strings)

Co-authored-by: mahdi <mahdi.section8@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/fa/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Aluisio
e5af814ab3 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1053 of 1053 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 94.9% (1000 of 1053 strings)

Co-authored-by: Aluisio <aluisiodeavila@hotmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/pt_BR/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Stefano ACCIARRI
a0ab37554f Translated using Weblate (Italian)
Currently translated at 66.9% (705 of 1053 strings)

Co-authored-by: Stefano ACCIARRI <stefanoacciarri@bazweb.it>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/it/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Eliyas Hossain
468f7c2aeb Translated using Weblate (Bengali)
Currently translated at 21.1% (223 of 1053 strings)

Co-authored-by: Eliyas Hossain <eliyas.ru1991@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/bn/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:53 +00:00
Celer21
ae202ae272 Translated using Weblate (Czech)
Currently translated at 98.3% (1036 of 1053 strings)

Co-authored-by: Celer21 <celer21@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/cs/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:52 +00:00
Rabin
fa6f717a5e Added translation using Weblate (Nepali)
Co-authored-by: Rabin <gautamrabinraj@gmail.com>
2025-02-27 11:26:52 +00:00
Ryo Hanafusa
d57e1d315f Translated using Weblate (Japanese)
Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: Ryo Hanafusa <ryo7gumi@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ja/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:52 +00:00
KEINOS
25b224ed19 Translated using Weblate (Japanese)
Currently translated at 100.0% (1053 of 1053 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (1053 of 1053 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: KEINOS <github@keinos.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ja/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:52 +00:00
Ryo Hanafusa
0e9020d0e3 Translated using Weblate (Japanese)
Currently translated at 100.0% (1053 of 1053 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: Ryo Hanafusa <ryo7gumi@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ja/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:52 +00:00
takumi0213
8b774da885 Translated using Weblate (Japanese)
Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: takumi0213 <52845601+takumi0213@users.noreply.github.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ja/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:52 +00:00
KEINOS
d14ccb0a14 Translated using Weblate (Japanese)
Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: KEINOS <github@keinos.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ja/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:52 +00:00
Yoswaris Lawpaiboon
09f4ac57f2 Translated using Weblate (Thai)
Currently translated at 63.2% (666 of 1053 strings)

Co-authored-by: Yoswaris Lawpaiboon <konglha19@outlook.co.th>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/th/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:52 +00:00
Ryo Hanafusa
5c87b3c78a Translated using Weblate (Japanese)
Currently translated at 100.0% (1053 of 1053 strings)

Translated using Weblate (Japanese)

Currently translated at 66.2% (698 of 1053 strings)

Co-authored-by: Ryo Hanafusa <ryo7gumi@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ja/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:52 +00:00
Youssef Bourourou
27041b337f Translated using Weblate (Arabic)
Currently translated at 69.4% (731 of 1053 strings)

Co-authored-by: Youssef Bourourou <bourourouyoussef1@gmail.com>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/ar/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:52 +00:00
Pierre Cazenave
7d0f095bb4 Translated using Weblate (French)
Currently translated at 100.0% (1053 of 1053 strings)

Co-authored-by: Pierre Cazenave <pierre.cazenave33@outlook.fr>
Translate-URL: https://weblate.kuma.pet/projects/uptime-kuma/uptime-kuma/fr/
Translation: Uptime Kuma/Uptime Kuma
2025-02-27 11:26:52 +00:00
Melroy van den Berg
65e6f10820
Update to latest stable version on the main branch (#5645) 2025-02-27 19:26:46 +08:00
Zaid Hafeez
b45dc6787d
Use GitHub's new "GitHub Hosted" Ubuntu ARM runner (#5587)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2025-02-16 21:06:19 +01:00
GJS
7482d5824d
Fix: Updated security issue template (#5604) 2025-02-06 19:38:50 +01:00
GJS
44f5a896d0
Enhance security issue template (#5593) 2025-02-06 13:33:27 +01:00
希亚
784ac9ca35
Modify the "Time" in the AliyunSMS to local time. (#5582) 2025-02-01 00:12:09 +01:00
Boro Vukovic
20820f5a5a
chore(deps): upgrade http/https/socks proxy agents (#5548)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2025-01-26 14:21:40 +01:00
zappityzap
66908c7055
chore(deps): update nostr notification provider (#5495)
Co-authored-by: zappityzap <zappityzap@proton.me>
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2025-01-26 13:58:38 +01:00
DayShift
7a9191761d
fix: make sure that stripping backslashes for notification urls cannot cause catastophic backtracking (ReDOS) (#5573)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2025-01-26 11:52:12 +01:00
Elliot Matson
7dc6191b0a
fix: add notification-fallback for better google chat popups (#5476)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2025-01-24 18:49:29 +01:00
DayShift
03beef8006
BugFix:Regular Expression in parseDuration Function (#5563)
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2025-01-22 19:03:38 +01:00
Louis Lam
223cde831f
Fix push examples cannot be loaded (Docker only) (#5490) 2025-01-18 23:35:40 +08:00
Louis Lam
be2faf64ce
Clarify that BSD OSs are not supported (#5465) 2024-12-22 13:46:13 +08:00
Louis Lam
0b76e19401
Clarify that BSD OSs are not supported 2024-12-22 13:45:19 +08:00
Ionys
97cbaac5d9
Fix monitor tags deletion (#5463) 2024-12-21 12:26:36 +01:00
Louis Lam
fd55659c2b
Update to 2.0.0-beta.1 (#5460) 2024-12-20 16:47:00 +08:00
87 changed files with 7221 additions and 2613 deletions

View File

@ -32,7 +32,6 @@ tsconfig.json
/extra/healthcheck.exe
/extra/healthcheck
/extra/exe-builder
/extra/push-examples
/extra/uptime-kuma-push
# Comment the following line if you want to rebuild the healthcheck binary

View File

@ -1,75 +0,0 @@
name: "❓ Ask for help"
description: "Submit any question related to Uptime Kuma"
#title: "[Help] "
labels: [help]
body:
- type: checkboxes
id: no-duplicate-issues
attributes:
label: "⚠️ Please verify that this question has NOT been raised before."
description: "Search in the issues sections by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=)"
options:
- label: "I checked and didn't find similar issue"
required: true
- type: checkboxes
attributes:
label: "🛡️ Security Policy"
description: Please review the security policy before reporting security related issues/bugs.
options:
- label: I agree to have read this project [Security Policy](https://github.com/louislam/uptime-kuma/security/policy)
required: true
- type: textarea
id: steps-to-reproduce
validations:
required: true
attributes:
label: "📝 Describe your problem"
description: "Please walk us through it step by step. Include all important details and add screenshots where appropriate"
placeholder: "Describe what are you asking for..."
- type: textarea
id: error-msg
validations:
required: false
attributes:
label: "📝 Error Message(s) or Log"
- type: input
id: uptime-kuma-version
attributes:
label: "🐻 Uptime-Kuma Version"
description: "Which version of Uptime-Kuma are you running? Please do NOT provide the docker tag such as latest or 1"
placeholder: "Ex. 1.10.0"
validations:
required: true
- type: input
id: operating-system
attributes:
label: "💻 Operating System and Arch"
description: "Which OS is your server/device running on? (For Replit, please do not report this bug)"
placeholder: "Ex. Ubuntu 20.04 x86"
validations:
required: true
- type: input
id: browser-vendor
attributes:
label: "🌐 Browser"
description: "Which browser are you running on? (For Replit, please do not report this bug)"
placeholder: "Ex. Google Chrome 95.0.4638.69"
validations:
required: true
- type: textarea
id: deployment-info
attributes:
label: "🖥️ Deployment Environment"
description: |
examples:
- **Runtime**: Docker 20.10.9 / nodejs 14.18.0 / K8S via ... v1.3.3 / ..
- **Database**: sqlite/embedded mariadb/external mariadb
- **Filesystem used to store the database on**: Windows/ZFS/btrfs/NFSv3 on a SSD/HDD/eMMC
- **number of monitors**: 42
value: |
- Runtime:
- Database:
- Filesystem used to store the database on:
- number of monitors:
validations:
required: true

120
.github/ISSUE_TEMPLATE/ask_for_help.yml vendored Normal file
View File

@ -0,0 +1,120 @@
---
name: ❓ Ask for help
description: |
Submit any question related to Uptime Kuma
#title: "[Help]"
labels: ["help", "P3-low"]
body:
- type: markdown
attributes:
value: |
🚫 **We kindly ask you to refrain from pinging maintainers unless absolutely necessary. Pings are reserved for critical/urgent issues that require immediate attention.**
**Why**: Reserving pings for urgent matters ensures maintainers can prioritize critical tasks effectively
- type: checkboxes
id: no-duplicate-question
attributes:
label: ⚠️ Please verify that your question has not already been reported
description: |
To avoid duplicate reports, please search for any existing issues before submitting a new one. You can find the list of existing issues **[HERE](https://github.com/louislam/uptime-kuma/issues?q=is%3Aissue%20sort%3Acreated-desc%20)**.
options:
- label: |
I have searched the [existing issues](https://github.com/louislam/uptime-kuma/issues?q=is%3Aissue%20sort%3Acreated-desc%20) and found no similar reports.
required: true
- type: checkboxes
id: security-policy
attributes:
label: 🛡️ Security Policy
description: |
Please review and acknowledge the Security Policy before reporting any security-related issues or bugs. You can find the full Security Policy **[HERE](https://github.com/louislam/uptime-kuma/security/policy)**.
options:
- label: |
I have read and agree to Uptime Kuma's [Security Policy](https://github.com/louislam/uptime-kuma/security/policy).
required: true
- type: textarea
id: steps-to-reproduce
validations:
required: true
attributes:
label: 📝 Describe your problem
description: |
Please walk us through it step by step. Include all important details and add screenshots where appropriate
placeholder: |
Describe what are you asking for ...
- type: textarea
id: error-msg
attributes:
label: 📝 Error Message(s) or Log
description: |
Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: bash session
validations:
required: false
- type: input
id: uptime-kuma-version
attributes:
label: 🐻 Uptime-Kuma Version
description: |
What version of Uptime-Kuma are you running? Please do not provide Docker tags like `latest` or `1`.
placeholder: |
e.g., 1.23.16 or 2.0.0-beta.2
validations:
required: true
- type: input
id: operating-system
attributes:
label: 💻 Operating System and Arch
description: |
Which OS is your server/device running on? (For Replit, please do not report this bug)
placeholder: |
e.g., Ubuntu Server 24.04.2 LTS (GNU/Linux 6.8.0-55-generic x86_64)
validations:
required: true
- type: input
id: browser-vendor
attributes:
label: 🌐 Browser
description: |
Which browser are you running on? (For Replit, please do not report this bug)
placeholder: |
e.g., Google Chrome 134.0.6998.183 (Official Build) (64-bit)
validations:
required: true
- type: textarea
id: deployment-info
attributes:
label: 🖥️ Deployment Environment
description: |
Provide details about the deployment environment, including runtime components, databases, and storage configurations. This will
help assess the infrastructure and identify any potential compatibility requirements.
**Remove any fields that do not apply to your setup.**
value: |
- **Runtime Environment**:
- Docker: Version `X.X.X` (Build `Y.Y.Y`)
- Docker Compose: Version `X.X.X`
- Portainer (BE/CE): Version `X.X.X` (LTS: Yes/No)
- MariaDB: Version `X.X.X` (LTS: Yes/No)
- Node.js: Version `X.X.X` (LTS: Yes/No)
- Kubernetes (K3S/K8S): Version `X.X.X` (LTS: Yes/No, via `[method/tool]`)
- **Database**:
- SQLite: Embedded
- MariaDB: Embedded/External
- **Database Storage**:
- **Filesystem**:
- Linux: ext4/XFS/Btrfs/ZFS/F2FS
- macOS: APFS/ HFS+
- Windows: NTFS/ReFS
- **Storage Medium**: HDD/eMMC/SSD/NVMe
- **Uptime Kuma Setup**:
- Number of monitors: `X`
validations:
required: true

View File

@ -1,100 +0,0 @@
name: "🐛 Bug Report"
description: "Submit a bug report to help us improve"
#title: "[Bug] "
labels: [bug]
body:
- type: textarea
id: related-issues
validations:
required: true
attributes:
label: "📑 I have found these related issues/pull requests"
description: "Search related issues by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=) and explain what the difference between them or explain that you are unable to find any related issues"
placeholder: "Related to #1 by also touching the ... system. They should not be merged because ..."
- type: checkboxes
attributes:
label: "🛡️ Security Policy"
description: Please review the security policy before reporting security related issues/bugs.
options:
- label: I agree to have read this project [Security Policy](https://github.com/louislam/uptime-kuma/security/policy)
required: true
- type: textarea
id: description
validations:
required: false
attributes:
label: "Description"
description: "You could also upload screenshots"
- type: textarea
id: steps-to-reproduce
validations:
required: true
attributes:
label: "👟 Reproduction steps"
description: "How do you trigger this bug? Please walk us through it step by step. Include all important details and add screenshots where appropriate"
placeholder: "..."
- type: textarea
id: expected-behavior
validations:
required: true
attributes:
label: "👀 Expected behavior"
description: "What did you think would happen?"
placeholder: "..."
- type: textarea
id: actual-behavior
validations:
required: true
attributes:
label: "😓 Actual Behavior"
description: "What actually happen?"
placeholder: "..."
- type: input
id: uptime-kuma-version
attributes:
label: "🐻 Uptime-Kuma Version"
description: "Which version of Uptime-Kuma are you running? Please do NOT provide the docker tag such as latest or 1"
placeholder: "Ex. 1.10.0"
validations:
required: true
- type: input
id: operating-system
attributes:
label: "💻 Operating System and Arch"
description: "Which OS is your server/device running on? (For Replit, please do not report this bug)"
placeholder: "Ex. Ubuntu 20.04 x64 "
validations:
required: true
- type: input
id: browser-vendor
attributes:
label: "🌐 Browser"
description: "Which browser are you running on?"
placeholder: "Ex. Google Chrome 95.0.4638.69"
validations:
required: true
- type: textarea
id: deployment-info
attributes:
label: "🖥️ Deployment Environment"
description: |
examples:
- **Runtime**: Docker 20.10.9 / nodejs 18.17.1 / K8S via ... v1.3.3 / ..
- **Database**: sqlite/embedded mariadb/external mariadb
- **Filesystem used to store the database on**: Windows/ZFS/btrfs/NFSv3 on a SSD/HDD/eMMC
- **number of monitors**: 42
value: |
- Runtime:
- Database:
- Filesystem used to store the database on:
- number of monitors:
validations:
required: true
- type: textarea
id: logs
attributes:
label: "📝 Relevant log output"
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
validations:
required: false

154
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@ -0,0 +1,154 @@
---
name: 🐛 Bug Report
description: |
Submit a bug report to help us improve
#title: "[Bug]"
labels: ["bug", "P2-medium"]
body:
- type: markdown
attributes:
value: |
🚫 **We kindly ask you to refrain from pinging maintainers unless absolutely necessary. Pings are reserved for critical/urgent issues that require immediate attention.**
**Why**: Reserving pings for urgent matters ensures maintainers can prioritize critical tasks effectively
- type: textarea
id: related-issues
validations:
required: true
attributes:
label: 📑 I have found these related issues/pull requests
description: |
Please search for related **[ISSUES](https://github.com/louislam/uptime-kuma/issues?q=is%3Aissue%20sort%3Acreated-desc)**
and **[PULL REQUESTS](https://github.com/louislam/uptime-kuma/pulls?q=is%3Apr+sort%3Acreated-desc+)**.
Explain the differences between them or clarify if you were unable to find any related issues/pull requests.
placeholder: |
Example: This relates to issue #1, which also affects the ... system. It should not be merged because ...
- type: checkboxes
id: security-policy
attributes:
label: 🛡️ Security Policy
description: |
Please review and acknowledge the Security Policy before reporting any security-related issues or bugs. You can find the full Security Policy **[HERE](https://github.com/louislam/uptime-kuma/security/policy)**.
options:
- label: |
I have read and agree to Uptime Kuma's [Security Policy](https://github.com/louislam/uptime-kuma/security/policy).
required: true
- type: textarea
id: description
validations:
required: false
attributes:
label: 📝 Description
description: |
You could also upload screenshots
- type: textarea
id: steps-to-reproduce
validations:
required: true
attributes:
label: 👟 Reproduction steps
description: |
How do you trigger this bug? Please walk us through it step by step. Include all important details and add screenshots where appropriate
placeholder: |
...
- type: textarea
id: expected-behavior
validations:
required: true
attributes:
label: 👀 Expected behavior
description: |
What did you think would happen?
placeholder: |
...
- type: textarea
id: actual-behavior
validations:
required: true
attributes:
label: 😓 Actual Behavior
description: |
What actually happen?
placeholder: |
...
- type: input
id: uptime-kuma-version
attributes:
label: 🐻 Uptime-Kuma Version
description: |
What version of Uptime-Kuma are you running? Please do not provide Docker tags like `latest` or `1`.
placeholder: |
e.g., 1.23.16 or 2.0.0-beta.2
validations:
required: true
- type: input
id: operating-system
attributes:
label: 💻 Operating System and Arch
description: |
Which OS is your server/device running on? (For Replit, please do not
report this bug)
placeholder: |
e.g., Ubuntu Server 24.04.2 LTS (GNU/Linux 6.8.0-55-generic x86_64)
validations:
required: true
- type: input
id: browser-vendor
attributes:
label: 🌐 Browser
description: |
Which browser are you running on?
placeholder: |
e.g., Google Chrome 134.0.6998.183 (Official Build) (64-bit)
validations:
required: true
- type: textarea
id: deployment-info
attributes:
label: 🖥️ Deployment Environment
description: |
Provide details about the deployment environment, including runtime components, databases, and storage configurations. This will
help assess the infrastructure and identify any potential compatibility requirements.
**Remove any fields that do not apply to your setup.**
value: |
- **Runtime Environment**:
- Docker: Version `X.X.X` (Build `Y.Y.Y`)
- Docker Compose: Version `X.X.X`
- Portainer (BE/CE): Version `X.X.X` (LTS: Yes/No)
- MariaDB: Version `X.X.X` (LTS: Yes/No)
- Node.js: Version `X.X.X` (LTS: Yes/No)
- Kubernetes (K3S/K8S): Version `X.X.X` (LTS: Yes/No, via `[method/tool]`)
- **Database**:
- SQLite: Embedded
- MariaDB: Embedded/External
- **Database Storage**:
- **Filesystem**:
- Linux: ext4/XFS/Btrfs/ZFS/F2FS
- macOS: APFS/ HFS+
- Windows: NTFS/ReFS
- **Storage Medium**: HDD/eMMC/SSD/NVMe
- **Uptime Kuma Setup**:
- Number of monitors: `X`
validations:
required: true
- type: textarea
id: logs
attributes:
label: 📝 Relevant log output
description: |
Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: bash session
validations:
required: false

2
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,2 @@
---
blank_issues_enabled: false

View File

@ -1,66 +0,0 @@
name: 🚀 Feature Request
description: "Submit a proposal for a new feature"
#title: "[Feature] "
labels: [feature-request]
body:
- type: textarea
id: related-issues
validations:
required: true
attributes:
label: "📑 I have found these related issues/pull requests"
description: "Search related issues by clicking [HERE](https://github.com/louislam/uptime-kuma/issues?q=) and explain what the difference between them or explain that you are unable to find any related issues"
placeholder: "Related to #1 by also touching the ... system. They should not be merged because ..."
- type: dropdown
id: feature-area
attributes:
label: "🏷️ Feature Request Type"
description: "What kind of feature request is this?"
multiple: true
options:
- API / automation options
- New notification-provider
- Change to existing notification-provider
- New monitor
- Change to existing monitor
- Dashboard
- Status-page
- Maintenance
- Deployment
- Certificate expiry
- Settings
- Other
validations:
required: true
- type: textarea
id: feature-description
validations:
required: true
attributes:
label: "🔖 Feature description"
description: "A clear and concise description of what the feature request is."
placeholder: "You should add ..."
- type: textarea
id: solution
validations:
required: true
attributes:
label: "✔️ Solution"
description: "A clear and concise description of what you want to happen."
placeholder: "In my use-case, ..."
- type: textarea
id: alternatives
validations:
required: false
attributes:
label: "❓ Alternatives"
description: "A clear and concise description of any alternative solutions or features you've considered."
placeholder: "I have considered ..."
- type: textarea
id: additional-context
validations:
required: false
attributes:
label: "📝 Additional Context"
description: "Add any other context or screenshots about the feature request here."
placeholder: "..."

View File

@ -0,0 +1,106 @@
---
name: 🚀 Feature Request
description: |
Submit a proposal for a new feature
# title: "[Feature]"
labels: ["feature-request", "P3-low"]
body:
- type: markdown
attributes:
value: |
## ❗Important Announcement
### 🚧 Temporary Delay in Feature Requests and Pull Request Reviews
**At this time, we may be slower to respond to new feature requests and review pull requests. Existing requests and PRs will remain in the backlog but may not be prioritized immediately.**
- **Reason**: Our current focus is on addressing bugs, improving system performance, and implementing essential updates. This will help stabilize the project and ensure smoother management.
- **Impact**: While no new feature requests or pull requests are being outright rejected, there may be significant delays in reviews. We encourage the community to help by reviewing PRs or assisting other users in the meantime.
- **What You Can Do**: If you're interested in contributing, reviewing open PRs by following our [Review Guidelines](https://github.com/louislam/uptime-kuma/blob/master/.github/REVIEW_GUIDELINES.md) or offering help to other users is greatly appreciated. All feature requests and PRs will be revisited once the suspension period is lifted.
We appreciate your patience and understanding as we continue to improve Uptime Kuma.
### 🚫 Please Avoid Unnecessary Pinging of Maintainers
**We kindly ask you to refrain from pinging maintainers unless absolutely necessary. Pings are reserved for critical/urgent pull requests that require immediate attention.**
**Why**: Reserving pings for urgent matters ensures maintainers can prioritize critical tasks effectively.
- type: textarea
id: related-issues
validations:
required: true
attributes:
label: 📑 I have found these related issues/pull requests
description: |
Please search for related **[ISSUES](https://github.com/louislam/uptime-kuma/issues?q=is%3Aissue%20sort%3Acreated-desc)**
and **[PULL REQUESTS](https://github.com/louislam/uptime-kuma/pulls?q=is%3Apr+sort%3Acreated-desc+)**.
Explain the differences between them or clarify if you were unable to find any related issues/pull requests.
placeholder: |
Example: This relates to issue #1, which also affects the ... system. It should not be merged because ...
- type: dropdown
id: feature-area
attributes:
label: 🏷️ Feature Request Type
description: |
What kind of feature request is this?
multiple: true
options:
- API / automation options
- New notification-provider
- Change to existing notification-provider
- New monitor
- Change to existing monitor
- Dashboard
- Status-page
- Maintenance
- Deployment
- Certificate expiry
- Settings
- Other
validations:
required: true
- type: textarea
id: feature-description
validations:
required: true
attributes:
label: 🔖 Feature description
description: |
A clear and concise description of what the feature request is.
placeholder: |
You should add ...
- type: textarea
id: solution
validations:
required: true
attributes:
label: ✔️ Solution
description: |
A clear and concise description of what you want to happen.
placeholder: |
In my use-case, ...
- type: textarea
id: alternatives
validations:
required: false
attributes:
label: ❓ Alternatives
description: |
A clear and concise description of any alternative solutions or features you've considered.
placeholder: |
I have considered ...
- type: textarea
id: additional-context
validations:
required: false
attributes:
label: 📝 Additional Context
description: |
Add any other context or screenshots about the feature request here.
placeholder: |
...

View File

@ -1,17 +0,0 @@
---
name: "Security Issue"
about: "Just for alerting @louislam, do not provide any details here"
title: "Security Issue"
ref: "main"
labels:
- security
---
DO NOT PROVIDE ANY DETAILS HERE. Please privately report to https://github.com/louislam/uptime-kuma/security/advisories/new.
Why need this issue? It is because GitHub Advisory do not send a notification to @louislam, it is a workaround to do so.
Your GitHub Advisory URL:

View File

@ -0,0 +1,45 @@
---
name: 🛡️ Security Issue
description: |
Notify Louis Lam about a security concern. Please do NOT include any sensitive details in this issue.
# title: "Security Issue"
labels: ["security", "P1-high"]
assignees: [louislam]
body:
- type: markdown
attributes:
value: |
## ❗ IMPORTANT: DO NOT SHARE VULNERABILITY DETAILS HERE
### ⚠️ Report a Security Vulnerability
**If you have discovered a security vulnerability, please report it securely using the GitHub Security Advisory.**
**Note**: This issue is only for notifying the maintainers of the repository, as the GitHub Security Advisory does not automatically send notifications.
- **Confidentiality**: The information you provide in the GitHub Security Advisory will initially remain confidential. However, once the vulnerability is addressed, the advisory will be publicly disclosed on GitHub.
- **Access and Visibility**: Until the advisory is published, it will only be visible to the maintainers of the repository and invited collaborators.
- **Credit**: You will be automatically credited as a contributor for identifying and reporting the vulnerability. Your contribution will be reflected in the MITRE Credit System.
- **Important Reminder**: **Do not include any sensitive or detailed vulnerability information in this issue.** This issue is only for sharing the advisory URL to notify the maintainers of the repository, not for discussing the vulnerability itself.
**Thank you for helping us keep Uptime Kuma secure!**
## **Step 1: Submit a GitHub Security Advisory**
Right-click the link below and select `Open link in new tab` to access the page. This will keep the security issue open, allowing you to easily return and paste the Advisory URL here later.
➡️ [Create a New Security Advisory](https://github.com/louislam/uptime-kuma/security/advisories/new)
## **Step 2: Share the Advisory URL**
Once you've created your advisory, please share the URL below. This will notify Louis Lam and enable them to take the appropriate action.
- type: textarea
id: github-advisory-url
validations:
required: true
attributes:
label: GitHub Advisory URL for @louislam
placeholder: |
Please paste the GitHub Advisory URL here. Only the URL is required.
Example: https://github.com/louislam/uptime-kuma/security/advisories/GHSA-8h5r-7t6l-q3kz

View File

@ -1,33 +1,122 @@
⚠️⚠️⚠️ Since we do not accept all types of pull requests and do not want to waste your time. Please be sure that you have read pull request rules:
https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma
**⚠️ Please Note: We do not accept all types of pull requests, and we want to ensure we dont waste your time. Before submitting, make sure you have read our pull request guidelines: [Pull Request Rules](https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma)**
Tick the checkbox if you understand [x]:
- [ ] I have read and understand the pull request rules.
## ❗ Important Announcement
# Description
<details><summary>Click here for more details:</summary>
</p>
Fixes #(issue)
### 🚧 Temporary Delay in Feature Requests and Pull Request Reviews
## Type of change
**At this time, we may be slower to respond to new feature requests and review pull requests. Existing requests and PRs will remain in the backlog but may not be prioritized immediately.**
Please delete any options that are not relevant.
- **Reason**: Our current focus is on addressing bugs, improving system performance, and implementing essential updates. This will help stabilize the project and ensure smoother management.
- **Impact**: While no new feature requests or pull requests are being outright rejected, there may be significant delays in reviews. We encourage the community to help by reviewing PRs or assisting other users in the meantime.
- **What You Can Do**: If you're interested in contributing, reviewing open PRs by following our [Review Guidelines](https://github.com/louislam/uptime-kuma/blob/master/.github/REVIEW_GUIDELINES.md) or offering support to other users is greatly appreciated. All feature requests and PRs will be revisited once the suspension period is lifted.
- Bug fix (non-breaking change which fixes an issue)
- User interface (UI)
- New feature (non-breaking change which adds functionality)
- Breaking change (a fix or feature that would cause existing functionality to not work as expected)
- Other
- This change requires a documentation update
We appreciate your patience and understanding as we continue to improve Uptime Kuma.
## Checklist
### 🚫 Please Avoid Unnecessary Pinging of Maintainers
- [ ] My code follows the style guidelines of this project
- [ ] I ran ESLint and other linters for modified files
- [ ] I have performed a self-review of my own code and tested it
- [ ] I have commented my code, particularly in hard-to-understand areas (including JSDoc for methods)
- [ ] My changes generates no new warnings
- [ ] My code needed automated testing. I have added them (this is optional task)
**We kindly ask you to refrain from pinging maintainers unless absolutely necessary. Pings are reserved for critical/urgent pull requests that require immediate attention.**
## Screenshots (if any)
**Why**: Reserving pings for urgent matters ensures maintainers can prioritize critical tasks effectively.
Please do not use any external image service. Instead, just paste in or drag and drop the image here, and it will be uploaded automatically.
</p>
</details>
## 📋 Overview
Provide a clear summary of the purpose and scope of this pull request:
- **What problem does this pull request address?**
- Please provide a detailed explanation here.
- **What features or functionality does this pull request introduce or enhance?**
- Please provide a detailed explanation here.
## 🔄 Changes
### 🛠️ Type of change
<!-- Please select all options that apply -->
- [ ] 🐛 Bugfix (a non-breaking change that resolves an issue)
- [ ] ✨ New feature (a non-breaking change that adds new functionality)
- [ ] ⚠️ Breaking change (a fix or feature that alters existing functionality in a way that could cause issues)
- [ ] 🎨 User Interface (UI) updates
- [ ] 📄 New Documentation (addition of new documentation)
- [ ] 📄 Documentation Update (modification of existing documentation)
- [ ] 📄 Documentation Update Required (the change requires updates to related documentation)
- [ ] 🔧 Other (please specify):
- Provide additional details here.
## 🔗 Related Issues
<!--
Please link any GitHub issues or tasks that this pull request addresses. Use the appropriate issue numbers or links.
**Note**: Include only issues directly related to this PR. Remove any irrelevant reference.
-->
- Relates to #issue-number
- Resolves #issue-number
- Fixes #issue-number
## 📄 Checklist *
<!-- Please select all options that apply -->
- [ ] 🔍 My code adheres to the style guidelines of this project.
- [ ] ✅ I ran ESLint and other code linters for modified files.
- [ ] 🛠️ I have reviewed and tested my code.
- [ ] 📝 I have commented my code, especially in hard-to-understand areas (e.g., using JSDoc for methods).
- [ ] ⚠️ My changes generate no new warnings.
- [ ] 🤖 My code needed automated testing. I have added them (this is an optional task).
- [ ] 📄 Documentation updates are included (if applicable).
- [ ] 🔒 I have considered potential security impacts and mitigated risks.
- [ ] 🧰 Dependency updates are listed and explained.
- [ ] 📚 I have read and understood the [Pull Request guidelines](https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#recommended-pull-request-guideline).
## 📷 Screenshots or Visual Changes
<!--
Please upload the image directly here by pasting it or dragging and dropping. Avoid using external image services as the image will be uploaded automatically.
If this pull request introduces visual changes, please provide the following details.
If not, remove this section.
-->
- **UI Modifications**: Highlight any changes made to the user interface.
- **Before & After**: Include screenshots or comparisons (if applicable).
| Event | Before | After |
| ------------------ | --------------------- | -------------------- |
| `UP` | ![Before](image-link) | ![After](image-link) |
| `DOWN` | ![Before](image-link) | ![After](image-link) |
| Certificate-expiry | ![Before](image-link) | ![After](image-link) |
| Testing | ![Before](image-link) | ![After](image-link) |
## Additional Context
Provide any relevant details to assist reviewers in understanding the changes.
<details><summary>Click here for more details:</summary>
</p>
**Key Considerations**:
- **Design decisions** Key choices or trade-offs made during development.
- **Alternative solutions** Approaches considered but not implemented, along with reasons.
- **Relevant links** Specifications, discussions, or resources that provide context.
- **Dependencies** Related pull requests or issues that must be resolved before merging.
- **Additional context** Any other details that may help reviewers understand the changes.
Provide details here
## 💬 Requested Feedback
<!-- If a part of our docs is unclear, you are unsure how to do something/.. this is where we would appreciate your feedback -->
- `Mention documents needing feedback here`

224
.github/REVIEW_GUIDELINES.md vendored Normal file
View File

@ -0,0 +1,224 @@
# Uptime Kuma Review Guidelines
> [!NOTE]
> These review guidelines are a work in progress, and are frequently
> updated and improved, so please check back frequently for the latest version.
## Preparing for a PR Review
### Read the PR description carefully
Make sure you understand what the PR is trying to solve or implement. This could
be a bug fix, a new feature, or a refactor.
### Check the linked issues
If the PR has a linked issue, read it to better understand the context and the
reason for the change.
### Check the test coverage
Make sure relevant tests have been added or modified. If the PR adds new
functionality, there should be tests covering the change.
## General Review
### Code formatting and style
Check if the code adheres to the style guidelines of the project. Make sure
there are no unused imports, variables, `console.log` for debugging in the PR.
- [Project Style](../CONTRIBUTING.md#project-styles)
- [Coding Style](../CONTRIBUTING.md#coding-styles)
### Readability and maintainability
Is the code easy to understand for other developers? Make sure complex parts are
explained with comments about **_why_** something is done, and use clear names
to show **_how_**. Are variables and functions well-named, and is there a
consistent naming style? Also, check if the code is maintainable:
- Is it unnecessarily complex? Could it be simplified?
- Does it follow the **[Single Responsibility Principle (SRP)]**?
[Single Responsibility Principle (SRP)]: https://www.geeksforgeeks.org/single-responsibility-in-solid-design-principle/
### Documentation
Is the PR well documented? Check if the descriptions of functions, parameters,
and return values are present. Are there any changes needed to the README or
other documentation, for example, if new features or configurations are
introduced?
## Functional Review
### Testing
Ensure that the new code is properly tested. This includes unit tests,
integration tests, and if necessary, end-to-end tests.
### Test results
Did all tests pass in the CI pipeline (e.g., GitHub Actions, Travis, CircleCI)?
### Testing in different environments
If the changes depend on certain environments or configurations, verify that the
code has been tested in various environments (e.g., local development, staging,
production).
- [How to test Pull Requests](https://github.com/louislam/uptime-kuma/wiki/Test-Pull-Requests)
### Edge cases and regressions
- Are there test cases for possible edge cases?
- Could this change introduce regressions in other parts of the system?
## Security
### Security issues
Check for potential security problems, such as SQL injection, XSS attacks, or
unsafe API calls. Are there passwords, tokens, or other sensitive data left in
the code by mistake?
### Authentication and authorization
Is access to sensitive data or functionality properly secured? Check that the
correct authorization and authentication mechanisms are in place.
### Security Best Practices
- Ensure that the code is free from common vulnerabilities like **SQL
injection**, **XSS attacks**, and **insecure API calls**.
- Check for proper encryption of sensitive data, and ensure that **passwords**
or **API tokens** are not hardcoded in the code.
## Performance
### Performance impact
Check if the changes negatively impact performance. This can include factors
like load times, memory usage, or other performance aspects.
### Use of external libraries
- Have the right libraries been chosen?
- Are there unnecessary dependencies that might reduce performance or increase
code complexity?
- Are these dependencies actively maintained and free of known vulnerabilities?
### Performance Best Practices
- **Measure performance** using tools like Lighthouse or profiling libraries.
- **Avoid unnecessary dependencies** that may bloat the codebase.
- Ensure that the **code does not degrade the user experience** (e.g., by
increasing load times or memory consumption).
## Compliance and Integration
### Alignment with the project
Are the changes consistent with the project goals and requirements? Ensure the
PR aligns with the architecture and design principles of the project.
### Integration
If the PR depends on other PRs or changes, verify that they integrate well with
the rest of the project. Ensure the code does not cause conflicts with other
active PRs.
### Backward compatibility
Does the change break compatibility with older versions of the software or
dependencies? If so, is there a migration plan in place?
## Logging and Error Handling
### Proper error handling
- Are errors properly caught and handled instead of being silently ignored?
- Are exceptions used appropriately?
### Logging
- Is sufficient logging included for debugging and monitoring?
- Is there excessive logging that could affect performance?
## Accessibility (for UI-related changes)
If the PR affects the user interface, ensure that it meets accessibility
standards:
- Can users navigate using only the keyboard?
- Are screen readers supported?
- Is there proper color contrast for readability?
- Are there **WCAG** (Web Content Accessibility Guidelines) compliance issues?
- Use tools like **Axe** or **Lighthouse** to evaluate accessibility.
## Providing Feedback
### Constructive feedback
Provide clear, constructive feedback on what is good and what can be improved.
If improvements are needed, be specific about what should change.
### Clarity and collaboration
Ensure your feedback is friendly and open, so the team member who submitted the
PR feels supported and motivated to make improvements.
<details><summary><b>For Maintainers only</b> (click to expand)</summary>
<p>
## Go/No-Go Decision
### Go
If the code has no issues and meets the project requirements, approve it (and
possibly merge it).
### No-Go
If there are significant issues, such as missing tests, security
vulnerabilities, or performance problems, request the necessary changes before
the PR can be approved. Some examples of **significant issues** include:
- Missing tests for new functionality.
- Identified **security vulnerabilities**.
- Code changes that break **backward compatibility** without a proper migration
plan.
- Code that causes **major performance regressions** (e.g., high CPU/memory
usage).
## After the Review
### Reordering and merging
Once the necessary changes have been made and the PR is approved, the code can
be merged into the main branch (e.g., `main` or `master`).
### Testing after merging
Ensure that the build passes after merging the PR, and re-test the functionality
in the production environment if necessary.
## Follow-up
### Communication with team members
If the PR has long-term technical or functional implications, communicate the
changes to the team.
### Monitoring
Continue monitoring the production environment for any unexpected issues that
may arise after the code has been merged.
</p>
</details>
---
This process ensures that PRs are systematically and thoroughly reviewed,
improving overall code quality.

View File

@ -78,7 +78,7 @@ jobs:
e2e-test:
needs: [ ]
runs-on: ARM64
runs-on: ubuntu-24.04-arm
steps:
- run: git config --global core.autocrlf false # Mainly for Windows
- uses: actions/checkout@v4

View File

@ -6,8 +6,8 @@ We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
@ -17,23 +17,23 @@ diverse, inclusive, and healthy community.
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
- Focusing on what is best not just for us as individuals, but for the overall
community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
- The use of sexualized language or imagery, and sexual attention or advances of
any kind
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email address,
without their explicit permission
- Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
@ -52,7 +52,7 @@ decisions when appropriate.
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
Examples of representing our community include using an official email address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
@ -60,8 +60,8 @@ representative at an online or offline event.
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
uptime@kuma.pet.
All complaints will be reviewed and investigated promptly and fairly.
<uptime@kuma.pet>. All complaints will be reviewed and investigated promptly and
fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
@ -82,15 +82,15 @@ behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Community Impact**: A violation through a single incident or series of
actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
like social media. Violating these terms may lead to a temporary or permanent
ban.
### 3. Temporary Ban
@ -109,20 +109,24 @@ Violating these terms may lead to a permanent ban.
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
**Consequence**: A permanent ban from any sort of public interaction within the
community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
enforcement ladder][Mozilla CoC].
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
[https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations

View File

@ -1,16 +1,18 @@
# Project Info
First of all, I want to thank everyone who has submitted issues or shared pull requests for Uptime Kuma.
I never thought the GitHub community would be so nice!
Because of this, I also never thought that other people would actually read and edit my code.
Parts of the code are not very well-structured or commented, sorry about that.
First of all, I want to thank everyone who has submitted issues or shared pull
requests for Uptime Kuma. I never thought the GitHub community would be so nice!
Because of this, I also never thought that other people would actually read and
edit my code. Parts of the code are not very well-structured or commented, sorry
about that.
The project was created with `vite.js` and is written in `vue3`.
Our backend lives in the `server`-directory and mostly communicates via websockets.
Both frontend and backend share the same `package.json`.
The project was created with `vite.js` and is written in `vue3`. Our backend
lives in the `server`-directory and mostly communicates via websockets. Both
frontend and backend share the same `package.json`.
For production, the frontend is built into the `dist`-directory and the server (`express.js`) exposes the `dist` directory as the root of the endpoint.
For development, we run vite in development mode on another port.
For production, the frontend is built into the `dist`-directory and the server
(`express.js`) exposes the `dist` directory as the root of the endpoint. For
development, we run vite in development mode on another port.
## Directories
@ -25,193 +27,437 @@ For development, we run vite in development mode on another port.
- `src` (Frontend source code)
- `test` (unit test)
## Can I create a pull request for Uptime Kuma?
## Can I Create a Pull Request for Uptime Kuma?
Yes or no, it depends on what you will try to do.
Both yours and our maintainers' time is precious, and we don't want to waste either.
Whether or not you can create a pull request depends on the nature of your
contribution. We value both your time and our maintainers' time, so we want to
make sure it's spent efficiently.
If you have any questions about any process/.. is not clear, you are likely not alone => please ask them ^^
If you're unsure about any process or step, you're probably not the only one
with that question—please feel free to ask. We're happy to help!
Different guidelines exist for different types of pull requests (PRs):
- <details><summary><b>security fixes</b></summary>
Different types of pull requests (PRs) may have different guidelines, so be sure
to review the appropriate one for your contribution.
- <details><summary><b>Security Fixes</b> (click to expand)</summary>
<p>
Submitting security fixes is something that may put the community at risk.
Please read through our [security policy](SECURITY.md) and submit vulnerabilities via an [advisory](https://github.com/louislam/uptime-kuma/security/advisories/new) + [issue](https://github.com/louislam/uptime-kuma/issues/new?assignees=&labels=help&template=security.md) instead.
We encourage you to submit how to fix a vulnerability if you know how to, this is not required.
Following the security policy allows us to properly test, fix bugs.
This review allows us to notice, if there are any changes necessary to unrelated parts like the documentation.
Please read through our [security policy](SECURITY.md) and submit
vulnerabilities via an [advisory] + [issue] instead. We encourage you to
submit how to fix a vulnerability if you know how to, this is not required.
Following the security policy allows us to properly test, fix bugs. This
review allows us to notice, if there are any changes necessary to unrelated
parts like the documentation.
[**PLEASE SEE OUR SECURITY POLICY.**](SECURITY.md)
[advisory]: https://github.com/louislam/uptime-kuma/security/advisories/new
[issue]:
https://github.com/louislam/uptime-kuma/issues/new?template=security_issue.yml
</p>
</details>
- <details><summary><b>small, non-breaking bug fixes</b></summary>
- <details><summary><b>Small, Non-Breaking Bug Fixes</b> (click to expand)</summary>
<p>
If you come across a bug and think you can solve, we appreciate your work.
Please make sure that you follow these rules:
- keep the PR as small as possible, fix only one thing at a time => keeping it reviewable
- test that your code does what you claim it does.
<sub>Because maintainer time is precious, junior maintainers may merge uncontroversial PRs in this area.</sub>
</p>
</details>
- <details><summary><b>translations / internationalisation (i18n)</b></summary>
<p>
We use weblate to localise this project into many languages.
If you are unhappy with a translation this is the best start.
On how to translate using weblate, please see [these instructions](https://github.com/louislam/uptime-kuma/blob/master/src/lang/README.md).
There are two cases in which a change cannot be done in weblate and requires a PR:
- A text may not be currently localisable. In this case, **adding a new language key** via `$t("languageKey")` might be nessesary
- language keys need to be **added to `en.json`** to be visible in weblate. If this has not happened, a PR is appreciated.
- **Adding a new language** requires a new file see [these instructions](https://github.com/louislam/uptime-kuma/blob/master/src/lang/README.md)
<sub>Because maintainer time is precious, junior maintainers may merge uncontroversial PRs in this area.</sub>
</p>
</details>
- <details><summary><b>new notification providers</b></summary>
<p>
To set up a new notification provider these files need to be modified/created:
- `server/notification-providers/PROVIDER_NAME.js` is where the heart of the notification provider lives.
- Both `monitorJSON` and `heartbeatJSON` can be `null` for some events.
If both are `null`, this is a general testing message, but if just `heartbeatJSON` is `null` this is a certificate expiry.
- Please wrap the axios call into a
```js
try {
let result = await axios.post(...);
if (result.status === ...) ...
} catch (error) {
this.throwGeneralAxiosError(error);
}
```
- `server/notification.js` is where the backend of the notification provider needs to be registered.
*If you have an idea how we can skip this step, we would love to hear about it ^^*
- `src/components/NotificationDialog.vue` you need to decide if the provider is a regional or a global one and add it with a name to the respective list
- `src/components/notifications/PROVIDER_NAME.vue` is where the frontend of each provider lives.
Please make sure that you have:
- used `HiddenInput` for secret credentials
- included all the necessary helptexts/placeholder/.. to make sure the notification provider is simple to setup for new users.
- include all translations (`{{ $t("Translation key") }}`, [`i18n-t keypath="Translation key">`](https://vue-i18n.intlify.dev/guide/advanced/component.html)) in `src/lang/en.json` to enable our translators to translate this
- `src/components/notifications/index.js` is where the frontend of the provider needs to be registered.
*If you have an idea how we can skip this step, we would love to hear about it ^^*
Offering notifications is close to the core of what we are as an uptime monitor.
Therefore, making sure that they work is also really important.
Because testing notification providers is quite time intensive, we mostly offload this onto the person contributing a notification provider.
To make sure you have tested the notification provider, please include screenshots of the following events in the pull-request description:
- `UP`/`DOWN`
- Certificate Expiry via https://expired.badssl.com/
- Testing (the test button on the notification provider setup page)
Using the following way to format this is encouraged:
```md
| Event | Before | After |
------------------
| `UP` | paste-image-here | paste-image-here |
| `DOWN` | paste-image-here | paste-image-here |
| Certificate-expiry | paste-image-here | paste-image-here |
| Testing | paste-image-here | paste-image-here |
- keep the PR as small as possible, fix only one thing at a time => keeping it
reviewable
- test that your code does what you claim it does.
<sub>Because maintainer time is precious, junior maintainers may merge
uncontroversial PRs in this area.</sub>
</p>
</details>
- <details><summary><b>Translations / Internationalisation (i18n)</b> (click to expand)</summary>
<p>
We use weblate to localise this project into many languages. If you are
unhappy with a translation this is the best start. On how to translate using
weblate, please see
[these instructions](https://github.com/louislam/uptime-kuma/blob/master/src/lang/README.md).
There are two cases in which a change cannot be done in weblate and requires a
PR:
- A text may not be currently localisable. In this case, **adding a new
language key** via `$t("languageKey")` might be nessesary
- language keys need to be **added to `en.json`** to be visible in weblate. If
this has not happened, a PR is appreciated.
- **Adding a new language** requires a new file see
[these instructions](https://github.com/louislam/uptime-kuma/blob/master/src/lang/README.md)
<sub>Because maintainer time is precious, junior maintainers may merge
uncontroversial PRs in this area.</sub>
</p>
</details>
- <details><summary><b>New Notification Providers</b> (click to expand)</summary>
<p>
To set up a new notification provider these files need to be modified/created:
- `server/notification-providers/PROVIDER_NAME.js` is where the heart of the
notification provider lives.
- Both `monitorJSON` and `heartbeatJSON` can be `null` for some events. If
both are `null`, this is a general testing message, but if just
`heartbeatJSON` is `null` this is a certificate expiry.
- Please wrap the axios call into a
```js
try {
let result = await axios.post(...);
if (result.status === ...) ...
} catch (error) {
this.throwGeneralAxiosError(error);
}
```
<sub>Because maintainer time is precious, junior maintainers may merge uncontroversial PRs in this area.</sub>
- `server/notification.js` is where the backend of the notification provider
needs to be registered. _If you have an idea how we can skip this step, we
would love to hear about it ^^_
- `src/components/NotificationDialog.vue` you need to decide if the provider
is a regional or a global one and add it with a name to the respective list
- `src/components/notifications/PROVIDER_NAME.vue` is where the frontend of
each provider lives. Please make sure that you have:
- used `HiddenInput` for secret credentials
- included all the necessary helptexts/placeholder/.. to make sure the
notification provider is simple to setup for new users. - include all
translations (`{{ $t("Translation key") }}`,
[`i18n-t keypath="Translation key">`](https://vue-i18n.intlify.dev/guide/advanced/component.html))
in `src/lang/en.json` to enable our translators to translate this
- `src/components/notifications/index.js` is where the frontend of the
provider needs to be registered. _If you have an idea how we can skip this
step, we would love to hear about it ^^_
Offering notifications is close to the core of what we are as an uptime
monitor. Therefore, making sure that they work is also really important.
Because testing notification providers is quite time intensive, we mostly
offload this onto the person contributing a notification provider.
To make sure you have tested the notification provider, please include
screenshots of the following events in the pull-request description:
- `UP`/`DOWN`
- Certificate Expiry via <https://expired.badssl.com/>
- Testing (the test button on the notification provider setup page)
<br/>
Using the following way to format this is encouraged:
```md
| Event | Before | After |
| ------------------ | --------------------- | -------------------- |
| `UP` | ![Before](image-link) | ![After](image-link) |
| `DOWN` | ![Before](image-link) | ![After](image-link) |
| Certificate-expiry | ![Before](image-link) | ![After](image-link) |
| Testing | ![Before](image-link) | ![After](image-link) |
```
<sub>Because maintainer time is precious, junior maintainers may merge
uncontroversial PRs in this area.</sub>
</p>
</details>
- <details><summary><b>new monitoring types</b></summary>
- <details><summary><b>New Monitoring Types</b> (click to expand)</summary>
<p>
To set up a new notification provider these files need to be modified/created:
- `server/monitor-types/MONITORING_TYPE.js` is the core of each monitor.
the `async check(...)`-function should:
- throw an error for each fault that is detected with an actionable error message
- in the happy-path, you should set `heartbeat.msg` to a successful message and set `heartbeat.status = UP`
- `server/uptime-kuma-server.js` is where the monitoring backend needs to be registered.
*If you have an idea how we can skip this step, we would love to hear about it ^^*
- `server/monitor-types/MONITORING_TYPE.js` is the core of each monitor. the
`async check(...)`-function should:
- throw an error for each fault that is detected with an actionable error
message - in the happy-path, you should set `heartbeat.msg` to a successful
message and set `heartbeat.status = UP`
- `server/uptime-kuma-server.js` is where the monitoring backend needs to be
registered. _If you have an idea how we can skip this step, we would love to
hear about it ^^_
- `src/pages/EditMonitor.vue` is the shared frontend users interact with.
Please make sure that you have:
- used `HiddenInput` for secret credentials
- included all the necessary helptexts/placeholder/.. to make sure the notification provider is simple to setup for new users.
- include all translations (`{{ $t("Translation key") }}`, [`i18n-t keypath="Translation key">`](https://vue-i18n.intlify.dev/guide/advanced/component.html)) in `src/lang/en.json` to enable our translators to translate this
-
Please make sure that you have: - used `HiddenInput` for secret
credentials - included all the necessary helptexts/placeholder/.. to make
sure the notification provider is simple to setup for new users. - include
all translations (`{{ $t("Translation key") }}`,
[`i18n-t keypath="Translation key">`](https://vue-i18n.intlify.dev/guide/advanced/component.html))
in `src/lang/en.json` to enable our translators to translate this
<sub>Because maintainer time is precious, junior maintainers may merge
uncontroversial PRs in this area.</sub>
<sub>Because maintainer time is precious, junior maintainers may merge uncontroversial PRs in this area.</sub>
</p>
</details>
- <details><summary><b>new features/ major changes / breaking bugfixes</b></summary>
<p>
be sure to **create an empty draft pull request or open an issue, so we can have a discussion first**.
This is especially important for a large pull request or when you don't know if it will be merged or not.
<sub>Because of the large impact of this work, only senior maintainers may merge PRs in this area.</sub>
</p>
</details>
The following rules are essential for making your PR mergable:
- Merging multiple issues by a huge PR is more difficult to review and causes conflicts with other PRs. Please
- <details><summary><b>New Features / Major Changes / Breaking Bugfixes</b> (click to expand)</summary>
<p>
be sure to **create an empty draft pull request or open an issue, so we can
have a discussion first**. This is especially important for a large pull
request or when you don't know if it will be merged or not.
<sub>Because of the large impact of this work, only senior maintainers may
merge PRs in this area. </sub>
</p>
</details>
- <details><summary><b>Pull Request Guidelines</b> (click to expand)</summary>
<p>
## Steps to Submit a Pull Request
1. **Fork** the [Uptime-Kuma repository].
[Uptime-Kuma repository]: https://github.com/louislam/uptime-kuma/
2. **Clone** your forked repository to your local machine.
3. **Create a new branch** for your changes (e.g.,
`feature/add-new-notification-provider-signal`).
4. **Initiate a discussion before making major changes** by creating an empty
commit:
```sh
git commit -m "<YOUR TASK NAME>" --allow-empty
```
5. **Push** your branch to your forked repository.
6. **Open a pull request** using this link: [Compare & Pull Request].
[Compare & Pull Request]: https://github.com/louislam/uptime-kuma/compare/
7. **Select the correct source and target branches**.
8. **Link to related issues** for context.
9. **Provide a clear and concise description** explaining the changes and
their purpose.
- **Type of changes**
- Bugfix (a non-breaking change that resolves an issue)
- New feature (a non-breaking change that adds new functionality)
- Breaking change (a fix or feature that alters existing functionality in a
way that could cause issues)
- User Interface (UI) updates
- New Documentation (addition of new documentation)
- Documentation Update (modification of existing documentation)
- Documentation Update Required (the change requires updates to related
documentation)
- Other (please specify):
- Provide additional details here.
- **Checklist**
- My code adheres to the style guidelines of this project.
- I ran ESLint and other code linters for modified files.
- I have reviewed and tested my code.
- I have commented my code, especially in hard-to-understand areas (e.g.,
using JSDoc for methods).
- My changes generate no new warnings.
- My code needed automated testing. I have added them (this is an optional
task).
- Documentation updates are included (if applicable).
- I have considered potential security impacts and mitigated risks.
- Dependency updates are listed and explained.
- I have read and understood the
[Pull Request guidelines](#recommended-pull-request-guideline).
10. **When publishing your PR, set it as a** `Draft pull request` **to allow
for review and prevent automatic merging.**
11. **Maintainers will assign relevant labels** (e.g., `A:maintenance`,
`A:notifications`).
12. **Complete the PR checklist**, ensuring that:
- Documentation is updated if necessary.
- Tests are written or updated.
- CI/CD checks pass successfully.
13. **Request feedback** from team members to refine your changes before the
final review.
## When Can You Change the PR Status to "Ready for Review"?
A PR should remain in **draft status** until all tasks are completed. Only
change the status to **Ready for Review** when:
- You have implemented all planned changes.
- You have addressed all feedback.
- Your code is fully tested and ready for integration.
- You have updated or created the necessary tests.
- You have verified that CI/CD checks pass successfully.
<br />
A **work-in-progress (WIP) PR** must stay in **draft status** until everything
is finalized.
<sub>Since maintainer time is valuable, junior maintainers may merge
uncontroversial PRs.</sub>
</p>
</details>
## The following rules are essential for making your PR mergable
- Merging multiple issues by a huge PR is more difficult to review and causes
conflicts with other PRs. Please
- (if possible) **create one PR for one issue** or
- (if not possible) **explain which issues a PR addresses and why this PR should not be broken apart**
- Make sure your **PR passes our continuous integration**.
PRs will not be merged unless all CI-Checks are green.
- **Breaking changes** (unless for a good reason and discussed beforehand) will not get merged / not get merged quickly.
Such changes require a major version release.
- **Test your code** before submitting a PR.
Buggy PRs will not be merged.
- (if not possible) **explain which issues a PR addresses and why this PR
should not be broken apart**
- Make sure your **PR passes our continuous integration**. PRs will not be
merged unless all CI-Checks are green.
- **Breaking changes** (unless for a good reason and discussed beforehand) will
not get merged / not get merged quickly. Such changes require a major version
release.
- **Test your code** before submitting a PR. Buggy PRs will not be merged.
- Make sure the **UI/UX is close to Uptime Kuma**.
- **Think about the maintainability**:
Don't add functionality that is completely **out of scope**.
Keep in mind that we need to be able to maintain the functionality.
- **Think about the maintainability**: Don't add functionality that is
completely **out of scope**. Keep in mind that we need to be able to maintain
the functionality.
- Don't modify or delete existing logic without a valid reason.
- Don't convert existing code into other programming languages for no reason.
I ([@louislam](https://github.com/louislam)) have the final say.
If your pull request does not meet my expectations, I will reject it, no matter how much time you spent on it.
Therefore, it is essential to have a discussion beforehand.
I ([@louislam](https://github.com/louislam)) have the final say. If your pull
request does not meet my expectations, I will reject it, no matter how much time
you spent on it. Therefore, it is essential to have a discussion beforehand.
I will assign your pull request to a [milestone](https://github.com/louislam/uptime-kuma/milestones), if I plan to review and merge it.
I will assign your pull request to a [milestone], if I plan to review and merge
it.
Please don't rush or ask for an ETA.
We have to understand the pull request, make sure it has no breaking changes and stick to the vision of this project, especially for large pull requests.
[milestone]: https://github.com/louislam/uptime-kuma/milestones
Please don't rush or ask for an ETA. We have to understand the pull request,
make sure it has no breaking changes and stick to the vision of this project,
especially for large pull requests.
## I'd like to work on an issue. How do I do that?
## I'd Like to Work on an Issue. How Do I Do That?
We have found that assigning people to issues is management-overhead that we don't need.
A short comment that you want to try your hand at this issue is appreciated to save other devs time.
If you come across any problem during development, feel free to leave a comment with what you are stuck on.
We have found that assigning people to issues is unnecessary management
overhead. Instead, a short comment stating that you want to work on an issue is
appreciated, as it saves time for other developers. If you encounter any
problems during development, feel free to leave a comment describing what you
are stuck on.
### Recommended Pull Request Guideline
Before diving deep into coding, having a discussion first by creating an empty pull request for discussion is preferred.
The rationale behind this is that we can align the direction and scope of the feature to eliminate any conflicts with existing and planned work, and can help by pointing out any potential pitfalls.
Before jumping into coding, it's recommended to initiate a discussion by
creating an empty pull request. This approach allows us to align on the
direction and scope of the feature, ensuring it doesn't conflict with existing
or planned work. It also provides an opportunity to identify potential pitfalls
early on, helping to avoid issues down the line.
1. Fork the project
2. Clone your fork repo to local
3. Create a new branch
4. Create an empty commit: `git commit -m "<YOUR TASK NAME>" --allow-empty`
5. Push to your fork repo
6. Prepare a pull request: https://github.com/louislam/uptime-kuma/compare
7. Write a proper description. You can mention @louislam in it, so @louislam will get the notification.
8. Create your pull request as a Draft
9. Wait for the discussion
1. **Fork** the [Uptime-Kuma repository].
2. **Clone** your forked repository to your local machine.
3. **Create a new branch** for your changes (e.g.,
`feature/add-new-notification-provider-signal`).
4. **Initiate a discussion before making major changes** by creating an empty
commit:
```sh
git commit -m "<YOUR TASK NAME>" --allow-empty
```
5. **Push** your branch to your forked repository.
6. **Open a pull request** using this link: [Compare & Pull Request].
7. **Select the correct source and target branches**.
8. **Link to related issues** for context.
9. **Provide a clear and concise description** explaining the changes and their
purpose.
- **Type of changes**
- Bugfix (a non-breaking change that resolves an issue)
- New feature (a non-breaking change that adds new functionality)
- Breaking change (a fix or feature that alters existing functionality in a
way that could cause issues)
- User Interface (UI) updates
- New Documentation (addition of new documentation)
- Documentation Update (modification of existing documentation)
- Documentation Update Required (the change requires updates to related
documentation)
- Other (please specify):
- Provide additional details here.
- **Checklist**
- My code adheres to the style guidelines of this project.
- I ran ESLint and other code linters for modified files.
- I have reviewed and tested my code.
- I have commented my code, especially in hard-to-understand areas (e.g.,
using JSDoc for methods).
- My changes generate no new warnings.
- My code needed automated testing. I have added them (this is an optional
task).
- Documentation updates are included (if applicable).
- I have considered potential security impacts and mitigated risks.
- Dependency updates are listed and explained.
- I have read and understood the
[Pull Request guidelines](#recommended-pull-request-guideline).
10. **When publishing your PR, set it as a** `Draft pull request` **to allow for
review and prevent automatic merging.**
11. **Maintainers will assign relevant labels** (e.g., `A:maintenance`,
`A:notifications`).
12. **Complete the PR checklist**, ensuring that:
- Documentation is updated if necessary.
- Tests are written or updated.
- CI/CD checks pass successfully.
13. **Request feedback** from team members to refine your changes before the
final review.
### When Can You Change the PR Status to "Ready for Review"?
A PR should remain in **draft status** until all tasks are completed. Only
change the status to **Ready for Review** when:
- You have implemented all planned changes.
- You have addressed all feedback.
- Your code is fully tested and ready for integration.
- You have updated or created the necessary tests.
- You have verified that CI/CD checks pass successfully.
A **work-in-progress (WIP) PR** must stay in **draft status** until everything
is finalized.
## Project Styles
I personally do not like something that requires a lot of configuration before you can finally start the app.
The goal is to make the Uptime Kuma installation as easy as installing a mobile app.
I personally do not like something that requires a lot of configuration before
you can finally start the app. The goal is to make the Uptime Kuma installation
as easy as installing a mobile app.
- Easy to install for non-Docker users
- no native build dependency is needed (for `x86_64`/`armv7`/`arm64`)
- no extra configuration and
- no extra effort required to get it running
- Single container for Docker users
- no complex docker-compose file
- mapping the volume and exposing the port should be the only requirements
- Settings should be configurable in the frontend. Environment variables are discouraged, unless it is related to startup such as `DATA_DIR`
- Settings should be configurable in the frontend. Environment variables are
discouraged, unless it is related to startup such as `DATA_DIR`
- Easy to use
- The web UI styling should be consistent and nice
@ -233,13 +479,18 @@ The goal is to make the Uptime Kuma installation as easy as installing a mobile
- [`Node.js`](https://nodejs.org/) >= 18
- [`npm`](https://www.npmjs.com/) >= 9.3
- [`git`](https://git-scm.com/)
- IDE that supports [`ESLint`](https://eslint.org/) and EditorConfig (I am using [`IntelliJ IDEA`](https://www.jetbrains.com/idea/))
- A SQLite GUI tool (f.ex. [`SQLite Expert Personal`](https://www.sqliteexpert.com/download.html) or [`DBeaver Community`](https://dbeaver.io/download/))
- IDE that supports [`ESLint`](https://eslint.org/) and EditorConfig (I am using
[`IntelliJ IDEA`](https://www.jetbrains.com/idea/))
- A SQLite GUI tool (f.ex.
[`SQLite Expert Personal`](https://www.sqliteexpert.com/download.html) or
[`DBeaver Community`](https://dbeaver.io/download/))
## Git Branches
- `master`: 2.X.X development. If you want to add a new feature, your pull request should base on this.
- `1.23.X`: 1.23.X development. If you want to fix a bug for v1 and v2, your pull request should base on this.
- `master`: 2.X.X development. If you want to add a new feature, your pull
request should base on this.
- `1.23.X`: 1.23.X development. If you want to fix a bug for v1 and v2, your
pull request should base on this.
- All other branches are unused, outdated or for dev.
## Install Dependencies for Development
@ -260,7 +511,8 @@ Port `3000` and port `3001` will be used.
npm run dev
```
But sometimes you may want to restart the server without restarting the frontend. In that case, you can run these commands in two terminals:
But sometimes you may want to restart the server without restarting the
frontend. In that case, you can run these commands in two terminals:
```bash
npm run start-frontend-dev
@ -271,9 +523,9 @@ npm run start-server-dev
It binds to `0.0.0.0:3001` by default.
The backend is an `express.js` server with `socket.io` integrated.
It uses `socket.io` to communicate with clients, and most server logic is encapsulated in the `socket.io` handlers.
`express.js` is also used to serve:
The backend is an `express.js` server with `socket.io` integrated. It uses
`socket.io` to communicate with clients, and most server logic is encapsulated
in the `socket.io` handlers. `express.js` is also used to serve:
- as an entry point for redirecting to a status page or the dashboard
- the frontend built files (`index.html`, `*.js`, `*.css`, etc.)
@ -289,11 +541,13 @@ It uses `socket.io` to communicate with clients, and most server logic is encaps
- `routers/` (Express Routers)
- `socket-handler/` (Socket.io Handlers)
- `server.js` (Server entry point)
- `uptime-kuma-server.js` (UptimeKumaServer class, main logic should be here, but some still in `server.js`)
- `uptime-kuma-server.js` (UptimeKumaServer class, main logic should be here,
but some still in `server.js`)
## Frontend Dev Server
It binds to `0.0.0.0:3000` by default. The frontend dev server is used for development only.
It binds to `0.0.0.0:3000` by default. The frontend dev server is used for
development only.
For production, it is not used. It will be compiled to `dist` directory instead.
@ -307,17 +561,19 @@ npm run build
### Frontend Details
Uptime Kuma Frontend is a single page application (SPA). Most paths are handled by Vue Router.
Uptime Kuma Frontend is a single page application (SPA). Most paths are handled
by Vue Router.
The router is in `src/router.js`
As you can see, most data in the frontend is stored at the root level, even though you changed the current router to any other pages.
As you can see, most data in the frontend is stored at the root level, even
though you changed the current router to any other pages.
The data and socket logic are in `src/mixins/socket.js`.
## Database Migration
See: https://github.com/louislam/uptime-kuma/tree/master/db/knex_migrations
See: <https://github.com/louislam/uptime-kuma/tree/master/db/knex_migrations>
## Unit Test
@ -328,11 +584,12 @@ npm test
## Dependencies
Both frontend and backend share the same `package.json`.
However, the frontend dependencies are eventually not used in the production environment, because it is usually also baked into `dist` files. So:
Both frontend and backend share the same `package.json`. However, the frontend
dependencies are eventually not used in the production environment, because it
is usually also baked into `dist` files. So:
- Frontend dependencies = "devDependencies"
- Examples: `vue`, `chart.js`
- Examples: - `vue`, `chart.js`
- Backend dependencies = "dependencies"
- Examples: `socket.io`, `sqlite3`
- Development dependencies = "devDependencies"
@ -340,31 +597,41 @@ However, the frontend dependencies are eventually not used in the production env
### Update Dependencies
Since previously updating Vite 2.5.10 to 2.6.0 broke the application completely, from now on, it should update the patch release version only.
Since previously updating Vite 2.5.10 to 2.6.0 broke the application completely,
from now on, it should update the patch release version only.
Patch release = the third digit ([Semantic Versioning](https://semver.org/))
If for security / bug / other reasons, a library must be updated, breaking changes need to be checked by the person proposing the change.
If for security / bug / other reasons, a library must be updated, breaking
changes need to be checked by the person proposing the change.
## Translations
Please add **all** the strings which are translatable to `src/lang/en.json` (if translation keys are omitted, they can not be translated.)
Please add **all** the strings which are translatable to `src/lang/en.json` (if
translation keys are omitted, they can not be translated.)
**Don't include any other languages in your initial pull request** (even if this is your mother tongue), to avoid merge-conflicts between weblate and `master`.
The translations can then (after merging a PR into `master`) be translated by awesome people donating their language skills.
**Don't include any other languages in your initial pull request** (even if this
is your mother tongue), to avoid merge-conflicts between weblate and `master`.
The translations can then (after merging a PR into `master`) be translated by
awesome people donating their language skills.
If you want to help by translating Uptime Kuma into your language, please visit the [instructions on how to translate using weblate](https://github.com/louislam/uptime-kuma/blob/master/src/lang/README.md).
If you want to help by translating Uptime Kuma into your language, please visit
the [instructions on how to translate using weblate].
[instructions on how to translate using weblate]:
https://github.com/louislam/uptime-kuma/blob/master/src/lang/README.md
## Spelling & Grammar
Feel free to correct the grammar in the documentation or code.
My mother language is not English and my grammar is not that great.
Feel free to correct the grammar in the documentation or code. My mother
language is not English and my grammar is not that great.
## Wiki
Since there is no way to make a pull request to the wiki, I have set up another repo to do that.
Since there is no way to make a pull request to the wiki, I have set up another
repo to do that.
https://github.com/louislam/uptime-kuma-wiki
<https://github.com/louislam/uptime-kuma-wiki>
## Docker
@ -405,7 +672,7 @@ https://github.com/louislam/uptime-kuma-wiki
## Maintainer
Check the latest issues and pull requests:
https://github.com/louislam/uptime-kuma/issues?q=sort%3Aupdated-desc
<https://github.com/louislam/uptime-kuma/issues?q=sort%3Aupdated-desc>
### What is a maintainer and what are their roles?
@ -413,7 +680,7 @@ This project has multiple maintainers who specialise in different areas.
Currently, there are 3 maintainers:
| Person | Role | Main Area |
|-------------------|-------------------|------------------|
| ----------------- | ----------------- | ---------------- |
| `@louislam` | senior maintainer | major features |
| `@chakflying` | junior maintainer | fixing bugs |
| `@commanderstorm` | junior maintainer | issue-management |
@ -421,39 +688,49 @@ Currently, there are 3 maintainers:
### Procedures
We have a few procedures we follow. These are documented here:
- <details><summary>Set up a Docker Builder</summary>
- <details><summary><b>Set up a Docker Builder</b> (click to expand)</summary>
<p>
- amd64, armv7 using local.
- arm64 using remote arm64 cpu, as the emulator is too slow and can no longer pass the `npm ci` command.
1. Add the public key to the remote server.
2. Add the remote context. The remote machine must be arm64 and installed Docker CE.
```
docker context create oracle-arm64-jp --docker "host=ssh://root@100.107.174.88"
```
3. Create a new builder.
```
docker buildx create --name kuma-builder --platform linux/amd64,linux/arm/v7
docker buildx use kuma-builder
docker buildx inspect --bootstrap
```
4. Append the remote context to the builder.
```
docker buildx create --append --name kuma-builder --platform linux/arm64 oracle-arm64-jp
```
5. Verify the builder and check if the builder is using `kuma-builder`.
```
docker buildx inspect kuma-builder
docker buildx ls
```
- arm64 using remote arm64 cpu, as the emulator is too slow and can no longer
pass the `npm ci` command.
1. Add the public key to the remote server.
2. Add the remote context. The remote machine must be arm64 and installed
Docker CE.
```bash
docker context create oracle-arm64-jp --docker "host=ssh://root@100.107.174.88"
```
3. Create a new builder.
```bash
docker buildx create --name kuma-builder --platform linux/amd64,linux/arm/v7
docker buildx use kuma-builder
docker buildx inspect --bootstrap
```
4. Append the remote context to the builder.
```bash
docker buildx create --append --name kuma-builder --platform linux/arm64 oracle-arm64-jp
```
5. Verify the builder and check if the builder is using `kuma-builder`.
`docker buildx inspect kuma-builder docker buildx ls`
</p>
</details>
- <details><summary>Release</summary>
- <details><summary><b>Release</b> (click to expand)</summary>
<p>
1. Draft a release note
2. Make sure the repo is cleared
3. If the healthcheck is updated, remember to re-compile it: `npm run build-docker-builder-go`
3. If the healthcheck is updated, remember to re-compile it:
`npm run build-docker-builder-go`
4. `npm run release-final` with env vars: `VERSION` and `GITHUB_TOKEN`
5. Wait until the `Press any key to continue`
6. `git push`
@ -463,13 +740,16 @@ We have a few procedures we follow. These are documented here:
These Items need to be checked:
- [ ] Check all tags is fine on https://hub.docker.com/r/louislam/uptime-kuma/tags
- [ ] Try the Docker image with tag 1.X.X (Clean install / amd64 / arm64 / armv7)
- [ ] Check all tags is fine on
<https://hub.docker.com/r/louislam/uptime-kuma/tags>
- [ ] Try the Docker image with tag 1.X.X (Clean install / amd64 / arm64 /
armv7)
- [ ] Try clean installation with Node.js
</p>
</details>
- <details><summary>Release Beta</summary>
- <details><summary><b>Release Beta</b> (click to expand)</summary>
<p>
1. Draft a release note, check `This is a pre-release`
@ -478,35 +758,37 @@ We have a few procedures we follow. These are documented here:
4. Wait until the `Press any key to continue`
5. Publish the release note as `1.X.X-beta.X`
6. Press any key to continue
</p>
</details>
- <details><summary>Release Wiki</summary>
- <details><summary><b>Release Wiki</b> (click to expand)</summary>
<p>
**Setup Repo**
```bash
git clone https://github.com/louislam/uptime-kuma-wiki.git
cd uptime-kuma-wiki
git remote add production https://github.com/louislam/uptime-kuma.wiki.git
```
**Push to Production Wiki**
```bash
git pull
git push production master
```
</p>
</details>
- <details><summary>Change the base of a pull request such as <code>master</code> to <code>1.23.X</code></summary>
- <details><summary>Change the base of a pull request such as <code>master</code> to <code>1.23.X</code> (click to expand)</summary>
<p>
```bash
git rebase --onto <new parent> <old parent>
```
</p>
</details>

View File

@ -62,6 +62,7 @@ Requirements:
- Platform
- ✅ Major Linux distros such as Debian, Ubuntu, CentOS, Fedora and ArchLinux etc.
- ✅ Windows 10 (x64), Windows Server 2012 R2 (x64) or higher
- ❌ FreeBSD / OpenBSD / NetBSD
- ❌ Replit / Heroku
- [Node.js](https://nodejs.org/en/download/) 18 / 20.4
- [npm](https://docs.npmjs.com/cli/) 9

View File

@ -2,29 +2,37 @@
## Reporting a Vulnerability
1. Please report security issues to https://github.com/louislam/uptime-kuma/security/advisories/new.
2. Please also create an empty security issue to alert me, as GitHub Advisories do not send a notification, I probably will miss it without this. https://github.com/louislam/uptime-kuma/issues/new?assignees=&labels=help&template=security.md
1. Please report security issues to
<https://github.com/louislam/uptime-kuma/security/advisories/new>.
2. Please also create an empty security issue to alert me, as GitHub Advisories
do not send a notification, I probably will miss it without this.
<https://github.com/louislam/uptime-kuma/issues/new?assignees=&labels=help&template=security.md>
Do not use the public issue tracker or discuss it in public as it will cause more damage.
Do not use the public issue tracker or discuss it in public as it will cause
more damage.
## Do you accept other 3rd-party bug bounty platforms?
At this moment, I DO NOT accept other bug bounty platforms, because I am not familiar with these platforms and someone has tried to send a phishing link to me by doing this already. To minimize my own risk, please report through GitHub Advisories only. I will ignore all 3rd-party bug bounty platforms emails.
At this moment, I DO NOT accept other bug bounty platforms, because I am not
familiar with these platforms and someone has tried to send a phishing link to
me by doing this already. To minimize my own risk, please report through GitHub
Advisories only. I will ignore all 3rd-party bug bounty platforms emails.
## Supported Versions
### Uptime Kuma Versions
You should use or upgrade to the latest version of Uptime Kuma. All `1.X.X` versions are upgradable to the latest version.
You should use or upgrade to the latest version of Uptime Kuma. All `1.X.X`
versions are upgradable to the latest version.
### Upgradable Docker Tags
| Tag | Supported |
|-|-|
| 1 | :white_check_mark: |
| 1-debian | :white_check_mark: |
| latest | :white_check_mark: |
| debian | :white_check_mark: |
| 1-alpine | ⚠️ Deprecated |
| alpine | ⚠️ Deprecated |
| All other tags | ❌ |
| Tag | Supported |
| -------------- | ------------------ |
| 1 | :white_check_mark: |
| 1-debian | :white_check_mark: |
| latest | :white_check_mark: |
| debian | :white_check_mark: |
| 1-alpine | ⚠️ Deprecated |
| alpine | ⚠️ Deprecated |
| All other tags | ❌ |

View File

@ -0,0 +1,13 @@
// Fix #5721: Change proxy port column type to integer to support larger port numbers
exports.up = function (knex) {
return knex.schema
.alterTable("proxy", function (table) {
table.integer("port").alter();
});
};
exports.down = function (knex) {
return knex.schema.alterTable("proxy", function (table) {
table.smallint("port").alter();
});
};

3443
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{
"name": "uptime-kuma",
"version": "2.0.0-beta.1",
"version": "2.0.0-beta.2",
"license": "MIT",
"repository": {
"type": "git",
@ -41,7 +41,7 @@
"build-docker-pr-test": "docker buildx build -f docker/dockerfile --platform linux/amd64,linux/arm64 -t louislam/uptime-kuma:pr-test2 --target pr-test2 . --push",
"upload-artifacts": "node extra/release/upload-artifacts.mjs",
"upload-artifacts-beta": "node extra/release/upload-artifacts-beta.mjs",
"setup": "git checkout 1.23.15 && npm ci --production && npm run download-dist",
"setup": "git checkout 1.23.16 && npm ci --omit dev && npm run download-dist",
"download-dist": "node extra/download-dist.js",
"mark-as-nightly": "node extra/mark-as-nightly.js",
"reset-password": "node extra/reset-password.js",
@ -72,7 +72,7 @@
"@louislam/sqlite3": "15.1.6",
"@vvo/tzdb": "^6.125.0",
"args-parser": "~1.3.0",
"axios": "~0.28.1",
"axios": "~0.29.0",
"badge-maker": "~3.3.1",
"bcryptjs": "~2.4.3",
"chardet": "~1.4.0",
@ -95,8 +95,8 @@
"html-escaper": "^3.0.3",
"http-cookie-agent": "~5.0.4",
"http-graceful-shutdown": "~3.1.7",
"http-proxy-agent": "~5.0.0",
"https-proxy-agent": "~5.0.1",
"http-proxy-agent": "~7.0.2",
"https-proxy-agent": "~7.0.6",
"iconv-lite": "~0.6.3",
"isomorphic-ws": "^5.0.0",
"jsesc": "~3.0.2",
@ -118,7 +118,7 @@
"node-cloudflared-tunnel": "~1.0.9",
"node-radius-client": "~1.0.0",
"nodemailer": "~6.9.13",
"nostr-tools": "^1.13.1",
"nostr-tools": "^2.10.4",
"notp": "~2.0.3",
"openid-client": "^5.4.2",
"password-hash": "~1.2.2",
@ -135,7 +135,7 @@
"semver": "~7.5.4",
"socket.io": "~4.8.0",
"socket.io-client": "~4.8.0",
"socks-proxy-agent": "6.1.1",
"socks-proxy-agent": "~8.0.5",
"tar": "~6.2.1",
"tcp-ping": "~0.1.1",
"thirty-two": "~1.0.2",
@ -143,7 +143,7 @@
"ws": "^8.13.0"
},
"devDependencies": {
"@actions/github": "~5.1.1",
"@actions/github": "~6.0.0",
"@fortawesome/fontawesome-svg-core": "~1.2.36",
"@fortawesome/free-regular-svg-icons": "~5.15.4",
"@fortawesome/free-solid-svg-icons": "~5.15.4",
@ -169,7 +169,7 @@
"cross-env": "~7.0.3",
"delay": "^5.0.0",
"dns2": "~2.0.1",
"dompurify": "~3.1.7",
"dompurify": "~3.2.4",
"eslint": "~8.14.0",
"eslint-plugin-jsdoc": "~46.4.6",
"eslint-plugin-vue": "~8.7.1",
@ -179,7 +179,7 @@
"postcss-html": "~1.5.0",
"postcss-rtlcss": "~3.7.2",
"postcss-scss": "~4.0.4",
"prismjs": "~1.29.0",
"prismjs": "~1.30.0",
"qrcode": "~1.5.0",
"rollup-plugin-visualizer": "^5.6.0",
"sass": "~1.42.1",
@ -190,14 +190,14 @@
"testcontainers": "^10.13.1",
"typescript": "~4.4.4",
"v-pagination-3": "~0.1.7",
"vite": "~5.2.8",
"vite": "~5.4.15",
"vite-plugin-compression": "^0.5.1",
"vite-plugin-vue-devtools": "^7.0.15",
"vue": "~3.4.2",
"vue-chartjs": "~5.2.0",
"vue-confirm-dialog": "~1.0.2",
"vue-contenteditable": "~3.0.4",
"vue-i18n": "~9.2.2",
"vue-i18n": "~9.14.3",
"vue-image-crop-upload": "~3.0.3",
"vue-multiselect": "~3.0.0-alpha.2",
"vue-prism-editor": "~2.0.0-alpha.2",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -1434,7 +1434,7 @@ class Monitor extends BeanModel {
for (let notification of notificationList) {
try {
log.debug("monitor", "Sending to " + notification.name);
await Notification.send(JSON.parse(notification.config), `[${this.name}][${this.url}] ${certType} certificate ${certCN} will be expired in ${daysRemaining} days`);
await Notification.send(JSON.parse(notification.config), `[${this.name}][${this.url}] ${certType} certificate ${certCN} will expire in ${daysRemaining} days`);
sent = true;
} catch (e) {
log.error("monitor", "Cannot send cert notification to " + notification.name);

View File

@ -485,7 +485,7 @@ function ApiCache() {
}
if (typeof duration === "string") {
let split = duration.match(/^([\d\.,]+)\s?(\w+)$/);
let split = duration.match(/^([\d\.,]+)\s?([a-zA-Z]+)$/);
if (split.length === 3) {
let len = parseFloat(split[1]);

View File

@ -17,7 +17,7 @@ class AliyunSMS extends NotificationProvider {
if (heartbeatJSON != null) {
let msgBody = JSON.stringify({
name: monitorJSON["name"],
time: heartbeatJSON["time"],
time: heartbeatJSON["localDateTime"],
status: this.statusToString(heartbeatJSON["status"]),
msg: heartbeatJSON["msg"],
});

View File

@ -72,6 +72,7 @@ class GoogleChat extends NotificationProvider {
// construct json data
let data = {
fallbackText: chatHeader["title"],
cardsV2: [
{
card: {

View File

@ -1,11 +1,10 @@
const NotificationProvider = require("./notification-provider");
const {
relayInit,
getPublicKey,
getEventHash,
getSignature,
finalizeEvent,
Relay,
kinds,
nip04,
nip19
nip19,
} = require("nostr-tools");
// polyfills for node versions
@ -31,7 +30,6 @@ class Nostr extends NotificationProvider {
const createdAt = Math.floor(Date.now() / 1000);
const senderPrivateKey = await this.getPrivateKey(notification.sender);
const senderPublicKey = getPublicKey(senderPrivateKey);
const recipientsPublicKeys = await this.getPublicKeys(notification.recipients);
// Create NIP-04 encrypted direct message event for each recipient
@ -39,34 +37,41 @@ class Nostr extends NotificationProvider {
for (const recipientPublicKey of recipientsPublicKeys) {
const ciphertext = await nip04.encrypt(senderPrivateKey, recipientPublicKey, msg);
let event = {
kind: 4,
pubkey: senderPublicKey,
kind: kinds.EncryptedDirectMessage,
created_at: createdAt,
tags: [[ "p", recipientPublicKey ]],
content: ciphertext,
};
event.id = getEventHash(event);
event.sig = getSignature(event, senderPrivateKey);
events.push(event);
const signedEvent = finalizeEvent(event, senderPrivateKey);
events.push(signedEvent);
}
// Publish events to each relay
const relays = notification.relays.split("\n");
let successfulRelays = 0;
// Connect to each relay
for (const relayUrl of relays) {
const relay = relayInit(relayUrl);
try {
await relay.connect();
successfulRelays++;
const relay = await Relay.connect(relayUrl);
let eventIndex = 0;
// Publish events
for (const event of events) {
relay.publish(event);
}
// Authenticate to the relay, if required
try {
await relay.publish(events[0]);
eventIndex = 1;
} catch (error) {
continue;
if (relay.challenge) {
await relay.auth(async (evt) => {
return finalizeEvent(evt, senderPrivateKey);
});
}
}
try {
for (let i = eventIndex; i < events.length; i++) {
await relay.publish(events[i]);
}
successfulRelays++;
} catch (error) {
console.error(`Failed to publish event to ${relayUrl}:`, error);
} finally {
relay.close();
}
@ -90,7 +95,7 @@ class Nostr extends NotificationProvider {
const { data } = senderDecodeResult;
return data;
} catch (error) {
throw new Error(`Failed to get private key: ${error.message}`);
throw new Error(`Failed to decode private key for sender ${sender}: ${error.message}`);
}
}
@ -109,10 +114,10 @@ class Nostr extends NotificationProvider {
if (type === "npub") {
publicKeys.push(data);
} else {
throw new Error("not an npub");
throw new Error(`Recipient ${recipient} is not an npub`);
}
} catch (error) {
throw new Error(`Error decoding recipient: ${error}`);
throw new Error(`Error decoding recipient ${recipient}: ${error}`);
}
}
return publicKeys;

View File

@ -1,3 +1,6 @@
const { Liquid } = require("liquidjs");
const { DOWN } = require("../../src/util");
class NotificationProvider {
/**
@ -49,6 +52,50 @@ class NotificationProvider {
}
}
/**
* Renders a message template with notification context
* @param {string} template the template
* @param {string} msg the message that will be included in the context
* @param {?object} monitorJSON Monitor details (For Up/Down/Cert-Expiry only)
* @param {?object} heartbeatJSON Heartbeat details (For Up/Down only)
* @returns {Promise<string>} rendered template
*/
async renderTemplate(template, msg, monitorJSON, heartbeatJSON) {
const engine = new Liquid();
const parsedTpl = engine.parse(template);
// Let's start with dummy values to simplify code
let monitorName = "Monitor Name not available";
let monitorHostnameOrURL = "testing.hostname";
if (monitorJSON !== null) {
monitorName = monitorJSON["name"];
monitorHostnameOrURL = this.extractAddress(monitorJSON);
}
let serviceStatus = "⚠️ Test";
if (heartbeatJSON !== null) {
serviceStatus = (heartbeatJSON["status"] === DOWN) ? "🔴 Down" : "✅ Up";
}
const context = {
// for v1 compatibility, to be removed in v3
"STATUS": serviceStatus,
"NAME": monitorName,
"HOSTNAME_OR_URL": monitorHostnameOrURL,
// variables which are officially supported
"status": serviceStatus,
"name": monitorName,
"hostnameOrURL": monitorHostnameOrURL,
monitorJSON,
heartbeatJSON,
msg,
};
return engine.render(parsedTpl, context);
}
/**
* Throws an error
* @param {any} error The error to throw

View File

@ -11,7 +11,8 @@ class PushDeer extends NotificationProvider {
async send(notification, msg, monitorJSON = null, heartbeatJSON = null) {
const okMsg = "Sent Successfully.";
const serverUrl = notification.pushdeerServer || "https://api2.pushdeer.com";
const url = `${serverUrl.trim().replace(/\/*$/, "")}/message/push`;
// capture group below is nessesary to prevent an ReDOS-attack
const url = `${serverUrl.trim().replace(/([^/])\/+$/, "$1")}/message/push`;
let valid = msg != null && monitorJSON != null && heartbeatJSON != null;

View File

@ -0,0 +1,56 @@
const NotificationProvider = require("./notification-provider");
const axios = require("axios");
const { DOWN, UP } = require("../../src/util");
class PushPlus extends NotificationProvider {
name = "PushPlus";
/**
* @inheritdoc
* @param {BeanModel} notification Notification object
* @param {string} msg Message content
* @param {?object} monitorJSON Monitor details
* @param {?object} heartbeatJSON Heartbeat details
* @returns {Promise<string>} Success message
*/
async send(notification, msg, monitorJSON = null, heartbeatJSON = null) {
const okMsg = "Sent Successfully.";
const url = "https://www.pushplus.plus/send";
try {
const config = {
headers: {
"Content-Type": "application/json",
},
};
const params = {
"token": notification.pushPlusSendKey,
"title": this.checkStatus(heartbeatJSON, monitorJSON),
"content": msg,
"template": "html"
};
await axios.post(url, params, config);
return okMsg;
} catch (error) {
this.throwGeneralAxiosError(error);
}
}
/**
* Get the formatted title for message
* @param {?object} heartbeatJSON Heartbeat details (For Up/Down only)
* @param {?object} monitorJSON Monitor details (For Up/Down only)
* @returns {string} Formatted title
*/
checkStatus(heartbeatJSON, monitorJSON) {
let title = "UptimeKuma Message";
if (heartbeatJSON != null && heartbeatJSON["status"] === UP) {
title = "UptimeKuma Monitor Up " + monitorJSON["name"];
}
if (heartbeatJSON != null && heartbeatJSON["status"] === DOWN) {
title = "UptimeKuma Monitor Down " + monitorJSON["name"];
}
return title;
}
}
module.exports = PushPlus;

View File

@ -1,7 +1,5 @@
const nodemailer = require("nodemailer");
const NotificationProvider = require("./notification-provider");
const { DOWN } = require("../../src/util");
const { Liquid } = require("liquidjs");
class SMTP extends NotificationProvider {
name = "smtp";
@ -53,15 +51,11 @@ class SMTP extends NotificationProvider {
const customSubject = notification.customSubject?.trim() || "";
const customBody = notification.customBody?.trim() || "";
const context = this.generateContext(msg, monitorJSON, heartbeatJSON);
const engine = new Liquid();
if (customSubject !== "") {
const tpl = engine.parse(customSubject);
subject = await engine.render(tpl, context);
subject = await this.renderTemplate(customSubject, msg, monitorJSON, heartbeatJSON);
}
if (customBody !== "") {
const tpl = engine.parse(customBody);
body = await engine.render(tpl, context);
body = await this.renderTemplate(customBody, msg, monitorJSON, heartbeatJSON);
}
}
@ -78,43 +72,6 @@ class SMTP extends NotificationProvider {
return okMsg;
}
/**
* Generate context for LiquidJS
* @param {string} msg the message that will be included in the context
* @param {?object} monitorJSON Monitor details (For Up/Down/Cert-Expiry only)
* @param {?object} heartbeatJSON Heartbeat details (For Up/Down only)
* @returns {{STATUS: string, status: string, HOSTNAME_OR_URL: string, hostnameOrUrl: string, NAME: string, name: string, monitorJSON: ?object, heartbeatJSON: ?object, msg: string}} the context
*/
generateContext(msg, monitorJSON, heartbeatJSON) {
// Let's start with dummy values to simplify code
let monitorName = "Monitor Name not available";
let monitorHostnameOrURL = "testing.hostname";
if (monitorJSON !== null) {
monitorName = monitorJSON["name"];
monitorHostnameOrURL = this.extractAddress(monitorJSON);
}
let serviceStatus = "⚠️ Test";
if (heartbeatJSON !== null) {
serviceStatus = (heartbeatJSON["status"] === DOWN) ? "🔴 Down" : "✅ Up";
}
return {
// for v1 compatibility, to be removed in v3
"STATUS": serviceStatus,
"NAME": monitorName,
"HOSTNAME_OR_URL": monitorHostnameOrURL,
// variables which are officially supported
"status": serviceStatus,
"name": monitorName,
"hostnameOrURL": monitorHostnameOrURL,
monitorJSON,
heartbeatJSON,
msg,
};
}
}
module.exports = SMTP;

View File

@ -9,7 +9,7 @@ class Telegram extends NotificationProvider {
*/
async send(notification, msg, monitorJSON = null, heartbeatJSON = null) {
const okMsg = "Sent Successfully.";
const url = "https://api.telegram.org";
const url = notification.telegramServerUrl ?? "https://api.telegram.org";
try {
let params = {
@ -22,6 +22,14 @@ class Telegram extends NotificationProvider {
params.message_thread_id = notification.telegramMessageThreadID;
}
if (notification.telegramUseTemplate) {
params.text = await this.renderTemplate(notification.telegramTemplate, msg, monitorJSON, heartbeatJSON);
if (notification.telegramTemplateParseMode !== "plain") {
params.parse_mode = notification.telegramTemplateParseMode;
}
}
await axios.get(`${url}/bot${notification.telegramBotToken}/sendMessage`, {
params: params,
});

View File

@ -0,0 +1,40 @@
const NotificationProvider = require("./notification-provider");
const axios = require("axios");
class WAHA extends NotificationProvider {
name = "waha";
/**
* @inheritdoc
*/
async send(notification, msg, monitorJSON = null, heartbeatJSON = null) {
const okMsg = "Sent Successfully.";
try {
const config = {
headers: {
"Accept": "application/json",
"Content-Type": "application/json",
"X-Api-Key": notification.wahaApiKey,
}
};
let data = {
"session": notification.wahaSession,
"chatId": notification.wahaChatId,
"text": msg,
};
let url = notification.wahaApiUrl.replace(/([^/])\/+$/, "$1") + "/api/sendText";
await axios.post(url, data, config);
return okMsg;
} catch (error) {
this.throwGeneralAxiosError(error);
}
}
}
module.exports = WAHA;

View File

@ -1,7 +1,6 @@
const NotificationProvider = require("./notification-provider");
const axios = require("axios");
const FormData = require("form-data");
const { Liquid } = require("liquidjs");
class Webhook extends NotificationProvider {
name = "webhook";
@ -28,17 +27,7 @@ class Webhook extends NotificationProvider {
config.headers = formData.getHeaders();
data = formData;
} else if (notification.webhookContentType === "custom") {
// Initialize LiquidJS and parse the custom Body Template
const engine = new Liquid();
const tpl = engine.parse(notification.webhookCustomBody);
// Insert templated values into Body
data = await engine.render(tpl,
{
msg,
heartbeatJSON,
monitorJSON
});
data = await this.renderTemplate(notification.webhookCustomBody, msg, monitorJSON, heartbeatJSON);
}
if (notification.webhookAdditionalHeaders) {

View File

@ -24,7 +24,7 @@ class Whapi extends NotificationProvider {
"body": msg,
};
let url = (notification.whapiApiUrl || "https://gate.whapi.cloud/").replace(/\/+$/, "") + "/messages/text";
let url = (notification.whapiApiUrl || "https://gate.whapi.cloud/").replace(/([^/])\/+$/, "$1") + "/messages/text";
await axios.post(url, data, config);

View File

@ -0,0 +1,57 @@
const NotificationProvider = require("./notification-provider");
const { DOWN, UP } = require("../../src/util");
const { default: axios } = require("axios");
class YZJ extends NotificationProvider {
name = "YZJ";
/**
* @inheritdoc
*/
async send(notification, msg, monitorJSON = null, heartbeatJSON = null) {
let okMsg = "Sent Successfully.";
try {
if (heartbeatJSON !== null) {
msg = `${this.statusToString(heartbeatJSON["status"])} ${monitorJSON["name"]} \n> ${heartbeatJSON["msg"]}\n> Time (${heartbeatJSON["timezone"]}): ${heartbeatJSON["localDateTime"]}`;
}
const config = {
headers: {
"Content-Type": "application/json",
},
};
const params = {
content: msg
};
// yzjtype=0 => general robot
const url = `${notification.yzjWebHookUrl}?yzjtype=0&yzjtoken=${notification.yzjToken}`;
const result = await axios.post(url, params, config);
if (!result.data?.success) {
throw new Error(result.data?.errmsg ?? "yzj's server did not respond with the expected result");
}
return okMsg;
} catch (error) {
this.throwGeneralAxiosError(error);
}
}
/**
* Convert status constant to string
* @param {string} status The status constant
* @returns {string} status
*/
statusToString(status) {
switch (status) {
case DOWN:
return "❌";
case UP:
return "✅";
default:
return status;
}
}
}
module.exports = YZJ;

View File

@ -39,6 +39,7 @@ const PromoSMS = require("./notification-providers/promosms");
const Pushbullet = require("./notification-providers/pushbullet");
const PushDeer = require("./notification-providers/pushdeer");
const Pushover = require("./notification-providers/pushover");
const PushPlus = require("./notification-providers/pushplus");
const Pushy = require("./notification-providers/pushy");
const RocketChat = require("./notification-providers/rocket-chat");
const SerwerSMS = require("./notification-providers/serwersms");
@ -64,11 +65,13 @@ const ServerChan = require("./notification-providers/serverchan");
const ZohoCliq = require("./notification-providers/zoho-cliq");
const SevenIO = require("./notification-providers/sevenio");
const Whapi = require("./notification-providers/whapi");
const WAHA = require("./notification-providers/waha");
const GtxMessaging = require("./notification-providers/gtx-messaging");
const Cellsynt = require("./notification-providers/cellsynt");
const Onesender = require("./notification-providers/onesender");
const Wpush = require("./notification-providers/wpush");
const SendGrid = require("./notification-providers/send-grid");
const YZJ = require("./notification-providers/yzj");
class Notification {
@ -126,6 +129,7 @@ class Notification {
new Pushbullet(),
new PushDeer(),
new Pushover(),
new PushPlus(),
new Pushy(),
new RocketChat(),
new ServerChan(),
@ -151,10 +155,12 @@ class Notification {
new ZohoCliq(),
new SevenIO(),
new Whapi(),
new WAHA(),
new GtxMessaging(),
new Cellsynt(),
new Wpush(),
new SendGrid()
new SendGrid(),
new YZJ()
];
for (let item of list) {
if (! item.name) {

View File

@ -1,7 +1,7 @@
const { R } = require("redbean-node");
const HttpProxyAgent = require("http-proxy-agent");
const HttpsProxyAgent = require("https-proxy-agent");
const SocksProxyAgent = require("socks-proxy-agent");
const { HttpProxyAgent } = require("http-proxy-agent");
const { HttpsProxyAgent } = require("https-proxy-agent");
const { SocksProxyAgent } = require("socks-proxy-agent");
const { debug } = require("../src/util");
const { UptimeKumaServer } = require("./uptime-kuma-server");
const { CookieJar } = require("tough-cookie");
@ -100,17 +100,17 @@ class Proxy {
let jar = new CookieJar();
const proxyOptions = {
protocol: proxy.protocol,
host: proxy.host,
port: proxy.port,
cookies: { jar },
};
const proxyUrl = new URL(`${proxy.protocol}://${proxy.host}:${proxy.port}`);
if (proxy.auth) {
proxyOptions.auth = `${proxy.username}:${proxy.password}`;
proxyUrl.username = proxy.username;
proxyUrl.password = proxy.password;
}
debug(`Proxy Options: ${JSON.stringify(proxyOptions)}`);
debug(`Proxy URL: ${proxyUrl.toString()}`);
debug(`HTTP Agent Options: ${JSON.stringify(httpAgentOptions)}`);
debug(`HTTPS Agent Options: ${JSON.stringify(httpsAgentOptions)}`);
@ -122,15 +122,15 @@ class Proxy {
// eslint-disable-next-line no-case-declarations
const HttpsCookieProxyAgent = createCookieAgent(HttpsProxyAgent);
httpAgent = new HttpCookieProxyAgent({
...httpAgentOptions || {},
httpAgent = new HttpCookieProxyAgent(proxyUrl.toString(), {
...(httpAgentOptions || {}),
...proxyOptions,
});
httpsAgent = new HttpsCookieProxyAgent(proxyUrl.toString(), {
...(httpsAgentOptions || {}),
...proxyOptions,
});
httpsAgent = new HttpsCookieProxyAgent({
...httpsAgentOptions || {},
...proxyOptions,
});
break;
case "socks":
case "socks5":
@ -138,10 +138,9 @@ class Proxy {
case "socks4":
// eslint-disable-next-line no-case-declarations
const SocksCookieProxyAgent = createCookieAgent(SocksProxyAgent);
agent = new SocksCookieProxyAgent({
agent = new SocksCookieProxyAgent(proxyUrl.toString(), {
...httpAgentOptions,
...httpsAgentOptions,
...proxyOptions,
tls: {
rejectUnauthorized: httpsAgentOptions.rejectUnauthorized,
},

View File

@ -163,6 +163,7 @@ export default {
"ZohoCliq": "ZohoCliq",
"SevenIO": "SevenIO",
"whapi": "WhatsApp (Whapi)",
"waha": "WhatsApp (WAHA)",
"gtxmessaging": "GtxMessaging",
"Cellsynt": "Cellsynt",
"SendGrid": "SendGrid"
@ -181,8 +182,10 @@ export default {
"SMSManager": "SmsManager (smsmanager.cz)",
"WeCom": "WeCom (企业微信群机器人)",
"ServerChan": "ServerChan (Server酱)",
"PushPlus": "PushPlus (推送加)",
"smsc": "SMSC",
"WPush": "WPush(wpush.cn)",
"YZJ": "YZJ (云之家自定义机器人)"
};
// Sort by notification name

View File

@ -197,7 +197,7 @@ export default {
return tagOptions;
},
selectedTags() {
return this.preSelectedTags.concat(this.newTags).filter(tag => !this.deleteTags.find(monitorTag => monitorTag.id === tag.id));
return this.preSelectedTags.concat(this.newTags).filter(tag => !this.deleteTags.find(monitorTag => monitorTag.tag_id === tag.tag_id));
},
colorOptions() {
return colorOptions(this);

View File

@ -0,0 +1,75 @@
<template>
<div class="form-text mb-2">
<i18n-t tag="div" keypath="liquidIntroduction">
<a href="https://liquidjs.com/" target="_blank">{{ $t("documentation") }}</a>
</i18n-t>
<code v-pre>{{ msg }}</code>: {{ $t("templateMsg") }}<br />
<code v-pre>{{ name }}</code>: {{ $t("templateServiceName") }}<br />
<code v-pre>{{ status }}</code>: {{ $t("templateStatus") }}<br />
<code v-pre>{{ hostnameOrURL }}</code>: {{ $t("templateHostnameOrURL") }}<br />
<code v-pre>{{ heartbeatJSON }}</code>: {{ $t("templateHeartbeatJSON") }} <b>({{ $t("templateLimitedToUpDownNotifications") }})</b><br />
<code v-pre>{{ monitorJSON }}</code>: {{ $t("templateMonitorJSON") }} <b>({{ $t("templateLimitedToUpDownCertNotifications") }})</b><br />
</div>
<input
:id="id"
ref="templatedInput"
v-model="model"
type="text"
class="form-control"
:placeholder="placeholder"
:required="required"
autocomplete="false"
>
</template>
<script>
export default {
props: {
/**
* The value of the templated input.
*/
modelValue: {
type: String,
default: ""
},
/**
* id for the templated input.
*/
id: {
type: String,
required: true,
},
/**
* Whether the templated input is required.
* @example true
*/
required: {
type: Boolean,
required: true,
},
/**
* Placeholder text for the templated input.
*/
placeholder: {
type: String,
default: ""
},
},
emits: [ "update:modelValue" ],
computed: {
/**
* Send value update to parent on change.
*/
model: {
get() {
return this.modelValue;
},
set(value) {
this.$emit("update:modelValue", value);
}
}
},
};
</script>

View File

@ -0,0 +1,80 @@
<template>
<div class="form-text mb-2">
<i18n-t tag="div" keypath="liquidIntroduction">
<a href="https://liquidjs.com/" target="_blank">{{ $t("documentation") }}</a>
</i18n-t>
<code v-pre>{{ msg }}</code>: {{ $t("templateMsg") }}<br />
<code v-pre>{{ name }}</code>: {{ $t("templateServiceName") }}<br />
<code v-pre>{{ status }}</code>: {{ $t("templateStatus") }}<br />
<code v-pre>{{ hostnameOrURL }}</code>: {{ $t("templateHostnameOrURL") }}<br />
<code v-pre>{{ heartbeatJSON }}</code>: {{ $t("templateHeartbeatJSON") }} <b>({{ $t("templateLimitedToUpDownNotifications") }})</b><br />
<code v-pre>{{ monitorJSON }}</code>: {{ $t("templateMonitorJSON") }} <b>({{ $t("templateLimitedToUpDownCertNotifications") }})</b><br />
</div>
<textarea
:id="id"
ref="templatedTextarea"
v-model="model"
class="form-control"
:placeholder="placeholder"
:required="required"
autocomplete="false"
></textarea>
</template>
<script>
export default {
props: {
/**
* The value of the templated textarea.
*/
modelValue: {
type: String,
default: ""
},
/**
* id for the templated textarea.
*/
id: {
type: String,
required: true,
},
/**
* Whether the templated textarea is required.
* @example true
*/
required: {
type: Boolean,
required: true,
},
/**
* Placeholder text for the templated textarea.
*/
placeholder: {
type: String,
default: ""
},
},
emits: [ "update:modelValue" ],
computed: {
/**
* Send value update to parent on change.
*/
model: {
get() {
return this.modelValue;
},
set(value) {
this.$emit("update:modelValue", value);
}
}
},
};
</script>
<style lang="scss" scoped>
textarea {
min-height: 150px;
}
</style>

View File

@ -0,0 +1,19 @@
<template>
<div class="mb-3">
<label for="pushPlus-sendkey" class="form-label">{{ $t("SendKey") }}</label>
<HiddenInput id="pushPlus-sendkey" v-model="$parent.notification.pushPlusSendKey" :required="true" autocomplete="new-password"></HiddenInput>
</div>
<i18n-t tag="div" keypath="More info on:" class="mb-3 form-text">
<a href="https://www.pushplus.plus/" target="_blank">https://www.pushplus.plus/</a>
</i18n-t>
</template>
<script>
import HiddenInput from "../HiddenInput.vue";
export default {
components: {
HiddenInput,
},
};
</script>

View File

@ -67,25 +67,15 @@
<input id="to-bcc" v-model="$parent.notification.smtpBCC" type="text" class="form-control" autocomplete="false" :required="!hasRecipient">
</div>
<p class="form-text">
<i18n-t tag="div" keypath="smtpLiquidIntroduction" class="form-text mb-3">
<a href="https://liquidjs.com/" target="_blank">{{ $t("documentation") }}</a>
</i18n-t>
<code v-pre>{{name}}</code>: {{ $t("emailTemplateServiceName") }}<br />
<code v-pre>{{msg}}</code>: {{ $t("emailTemplateMsg") }}<br />
<code v-pre>{{status}}</code>: {{ $t("emailTemplateStatus") }}<br />
<code v-pre>{{heartbeatJSON}}</code>: {{ $t("emailTemplateHeartbeatJSON") }}<b>{{ $t("emailTemplateLimitedToUpDownNotification") }}</b><br />
<code v-pre>{{monitorJSON}}</code>: {{ $t("emailTemplateMonitorJSON") }} <b>{{ $t("emailTemplateLimitedToUpDownNotification") }}</b><br />
<code v-pre>{{hostnameOrURL}}</code>: {{ $t("emailTemplateHostnameOrURL") }}<br />
</p>
<div class="mb-3">
<label for="subject-email" class="form-label">{{ $t("emailCustomSubject") }}</label>
<input id="subject-email" v-model="$parent.notification.customSubject" type="text" class="form-control" autocomplete="false" placeholder="">
<TemplatedInput id="subject-email" v-model="$parent.notification.customSubject" :required="false" placeholder=""></TemplatedInput>
<div class="form-text">{{ $t("leave blank for default subject") }}</div>
</div>
<div class="mb-3">
<label for="body-email" class="form-label">{{ $t("emailCustomBody") }}</label>
<textarea id="body-email" v-model="$parent.notification.customBody" type="text" class="form-control" autocomplete="false" placeholder=""></textarea>
<TemplatedTextarea id="body-email" v-model="$parent.notification.customBody" :required="false" placeholder=""></TemplatedTextarea>
<div class="form-text">{{ $t("leave blank for default body") }}</div>
</div>
@ -124,11 +114,15 @@
<script>
import HiddenInput from "../HiddenInput.vue";
import TemplatedInput from "../TemplatedInput.vue";
import TemplatedTextarea from "../TemplatedTextarea.vue";
import ToggleSection from "../ToggleSection.vue";
export default {
components: {
HiddenInput,
TemplatedInput,
TemplatedTextarea,
ToggleSection,
},
computed: {

View File

@ -33,6 +33,56 @@
<input id="message_thread_id" v-model="$parent.notification.telegramMessageThreadID" type="text" class="form-control">
<p class="form-text">{{ $t("telegramMessageThreadIDDescription") }}</p>
<label for="server_url" class="form-label">{{ $t("telegramServerUrl") }}</label>
<input id="server_url" v-model="$parent.notification.telegramServerUrl" type="text" class="form-control">
<div class="form-text">
<i18n-t keypath="telegramServerUrlDescription">
<a
href="https://core.telegram.org/bots/api#using-a-local-bot-api-server"
target="_blank"
>{{ $t("here") }}</a>
<a
href="https://api.telegram.org"
target="_blank"
>https://api.telegram.org</a>
</i18n-t>
</div>
</div>
<div class="mb-3">
<div class="form-check form-switch">
<input v-model="$parent.notification.telegramUseTemplate" class="form-check-input" type="checkbox">
<label class="form-check-label">{{ $t("telegramUseTemplate") }}</label>
</div>
<div class="form-text">
{{ $t("telegramUseTemplateDescription") }}
</div>
</div>
<template v-if="$parent.notification.telegramUseTemplate">
<div class="mb-3">
<label class="form-label" for="message_parse_mode">{{ $t("Message Format") }}</label>
<select
id="message_parse_mode"
v-model="$parent.notification.telegramTemplateParseMode"
class="form-select"
required
>
<option value="plain">{{ $t("Plain Text") }}</option>
<option value="HTML">HTML</option>
<option value="MarkdownV2">MarkdownV2</option>
</select>
<i18n-t tag="p" keypath="telegramTemplateFormatDescription" class="form-text">
<a href="https://core.telegram.org/bots/api#formatting-options" target="_blank">{{ $t("documentation") }}</a>
</i18n-t>
<label class="form-label" for="message_template">{{ $t('Message Template') }}</label>
<TemplatedTextarea id="message_template" v-model="$parent.notification.telegramTemplate" :required="true" :placeholder="telegramTemplatedTextareaPlaceholder"></TemplatedTextarea>
</div>
</template>
<div class="mb-3">
<div class="form-check form-switch">
<input v-model="$parent.notification.telegramSendSilently" class="form-check-input" type="checkbox">
<label class="form-check-label">{{ $t("telegramSendSilently") }}</label>
@ -57,11 +107,27 @@
<script>
import HiddenInput from "../HiddenInput.vue";
import TemplatedTextarea from "../TemplatedTextarea.vue";
import axios from "axios";
export default {
components: {
HiddenInput,
TemplatedTextarea,
},
computed: {
telegramTemplatedTextareaPlaceholder() {
return this.$t("Example:", [
`
Uptime Kuma Alert{% if monitorJSON %} - {{ monitorJSON['name'] }}{% endif %}
{{ msg }}
`,
]);
}
},
mounted() {
this.$parent.notification.telegramServerUrl ||= "https://api.telegram.org";
},
methods: {
/**
@ -80,7 +146,7 @@ export default {
}
}
return `https://api.telegram.org/bot${token}/getUpdates`;
return `${this.$parent.notification.telegramServerUrl}/bot${token}/getUpdates`;
},
/**
@ -115,3 +181,9 @@ export default {
}
};
</script>
<style lang="scss" scoped>
textarea {
min-height: 150px;
}
</style>

View File

@ -0,0 +1,38 @@
<template>
<div class="mb-3">
<label for="waha-api-url" class="form-label">{{ $t("API URL") }}</label>
<input id="waha-api-url" v-model="$parent.notification.wahaApiUrl" placeholder="http://localhost:3000/" type="url" class="form-control" required>
<div class="form-text">{{ $t("wayToGetWahaApiUrl") }}</div>
</div>
<div class="mb-3">
<label for="waha-api-key" class="form-label">{{ $t("API Key") }}</label>
<HiddenInput id="waha-api-key" v-model="$parent.notification.wahaApiKey" :required="false" autocomplete="new-password"></HiddenInput>
<div class="form-text">{{ $t("wayToGetWahaApiKey") }}</div>
</div>
<div class="mb-3">
<label for="waha-session" class="form-label">{{ $t("wahaSession") }}</label>
<input id="waha-session" v-model="$parent.notification.wahaSession" type="text" placeholder="default" class="form-control" required>
<div class="form-text">{{ $t("wayToGetWahaSession") }}</div>
</div>
<div class="mb-3">
<label for="waha-chat-id" class="form-label">{{ $t("wahaChatId") }}</label>
<input id="waha-chat-id" v-model="$parent.notification.wahaChatId" type="text" pattern="^[\d-]{10,31}$" class="form-control" required>
<div class="form-text">{{ $t("wayToWriteWahaChatId", ["00117612345678", "00117612345678@c.us", "123456789012345678@g.us"]) }}</div>
</div>
<i18n-t tag="div" keypath="More info on:" class="mb-3 form-text">
<a href="https://waha.devlike.pro/" target="_blank">https://waha.devlike.pro/</a>
</i18n-t>
</template>
<script>
import HiddenInput from "../HiddenInput.vue";
export default {
components: {
HiddenInput,
}
};
</script>

View File

@ -32,20 +32,7 @@
</template>
</i18n-t>
<template v-else-if="$parent.notification.webhookContentType == 'custom'">
<i18n-t tag="div" keypath="liquidIntroduction" class="form-text">
<a href="https://liquidjs.com/" target="_blank">{{ $t("documentation") }}</a>
</i18n-t>
<code v-pre>{{msg}}</code>: {{ $t("templateMsg") }}<br />
<code v-pre>{{heartbeatJSON}}</code>: {{ $t("templateHeartbeatJSON") }} <b>({{ $t("templateLimitedToUpDownNotifications") }})</b><br />
<code v-pre>{{monitorJSON}}</code>: {{ $t("templateMonitorJSON") }} <b>({{ $t("templateLimitedToUpDownCertNotifications") }})</b><br />
<textarea
id="customBody"
v-model="$parent.notification.webhookCustomBody"
class="form-control"
:placeholder="customBodyPlaceholder"
required
></textarea>
<TemplatedTextarea id="customBody" v-model="$parent.notification.webhookCustomBody" :required="true" :placeholder="customBodyPlaceholder"></TemplatedTextarea>
</template>
</div>
@ -67,7 +54,12 @@
</template>
<script>
import TemplatedTextarea from "../TemplatedTextarea.vue";
export default {
components: {
TemplatedTextarea,
},
data() {
return {
showAdditionalHeadersField: this.$parent.notification.webhookAdditionalHeaders != null,

View File

@ -0,0 +1,19 @@
<template>
<div class="mb-3">
<label for="yzjWebHookUrl" class="form-label">{{ $t("YZJ Webhook URL") }}<span style="color: red;"><sup>*</sup></span></label>
<input id="yzjWebHookUrl" v-model="$parent.notification.yzjWebHookUrl" type="url" class="form-control" required />
<i18n-t class="form-text" keypath="wayToGetTeamsURL">
<a href="https://www.yunzhijia.com/opendocs/docs.html#/tutorial/index/robot" target="_blank">{{ $t("here") }}</a>
</i18n-t>
</div>
<div class="mb-3">
<label for="yzjToken" class="form-label">{{ $t("YZJ Robot Token") }}<span style="color: red;"><sup>*</sup></span></label>
<HiddenInput id="yzjToken" v-model="$parent.notification.yzjToken" :required="true" autocomplete="new-password"></HiddenInput>
<i18n-t class="form-text" keypath="wayToGetLineNotifyToken">
<a href="https://www.yunzhijia.com/opendocs/docs.html#/server-api/im/index?id=%e6%8e%a5%e5%8f%a3%e5%9c%b0%e5%9d%80%e5%92%8c%e6%8e%88%e6%9d%83%e7%a0%81" target="_blank">{{ $t("here") }}</a>
</i18n-t>
</div>
</template>
<script setup lang="ts">
import HiddenInput from "../HiddenInput.vue";
</script>

View File

@ -39,6 +39,7 @@ import PromoSMS from "./PromoSMS.vue";
import Pushbullet from "./Pushbullet.vue";
import PushDeer from "./PushDeer.vue";
import Pushover from "./Pushover.vue";
import PushPlus from "./PushPlus.vue";
import Pushy from "./Pushy.vue";
import RocketChat from "./RocketChat.vue";
import ServerChan from "./ServerChan.vue";
@ -63,10 +64,12 @@ import ZohoCliq from "./ZohoCliq.vue";
import Splunk from "./Splunk.vue";
import SevenIO from "./SevenIO.vue";
import Whapi from "./Whapi.vue";
import WAHA from "./WAHA.vue";
import Cellsynt from "./Cellsynt.vue";
import WPush from "./WPush.vue";
import SIGNL4 from "./SIGNL4.vue";
import SendGrid from "./SendGrid.vue";
import YZJ from "./YZJ.vue";
/**
* Manage all notification form.
@ -114,6 +117,7 @@ const NotificationFormList = {
"PushByTechulus": TechulusPush,
"PushDeer": PushDeer,
"pushover": Pushover,
"PushPlus": PushPlus,
"pushy": Pushy,
"rocket.chat": RocketChat,
"serwersms": SerwerSMS,
@ -138,10 +142,12 @@ const NotificationFormList = {
"ZohoCliq": ZohoCliq,
"SevenIO": SevenIO,
"whapi": Whapi,
"waha": WAHA,
"gtxmessaging": GtxMessaging,
"Cellsynt": Cellsynt,
"WPush": WPush,
"SendGrid": SendGrid,
"YZJ": YZJ,
};
export default NotificationFormList;

View File

@ -31,6 +31,7 @@ const languageList = {
"sv-SE": "Svenska",
"tr-TR": "Türkçe",
"ko-KR": "한국어",
"lt": "Lietuvių",
"ru-RU": "Русский",
"zh-CN": "简体中文",
"pl": "Polski",

View File

@ -739,5 +739,6 @@
"leave blank for default subject": "اترك فارغاً ليتم تعيين الموضوع تلقائياً",
"leave blank for default body": "اترك فارغاً ليتم تعيين النص تلقائياً",
"emailTemplateServiceName": "اسم الخدمة",
"emailTemplateHostnameOrURL": "اسم المضيف أو عنوان URL"
"emailTemplateHostnameOrURL": "اسم المضيف أو عنوان URL",
"smspartnerPhoneNumber": "رقم الهاتف"
}

View File

@ -1098,5 +1098,24 @@
"RabbitMQ Nodes": "Възли за управление на RabbitMQ",
"rabbitmqNodesDescription": "Въведете URL адреса на възлите за управление на RabbitMQ, включително протокол и порт. Пример: {0}",
"rabbitmqHelpText": "За да използвате монитора, ще трябва да активирате добавката за управление във вашата настройка на RabbitMQ. За повече информация моля, вижте {rabitmq_documentation}.",
"aboutSlackUsername": "Променя показваното име на подателя на съобщението. Ако желаете да споменете някого, вместо това го включете в приятелското име."
"aboutSlackUsername": "Променя показваното име на подателя на съобщението. Ако желаете да споменете някого, вместо това го включете в приятелското име.",
"YZJ Robot Token": "YZJ Robot токен код",
"YZJ Webhook URL": "YZJ Уеб кука URL адрес",
"templateServiceName": "име на услугата",
"templateHostnameOrURL": "име на хоста или URL адрес",
"Plain Text": "Обикновен текст",
"Message Template": "Шаблон за съобщение",
"templateStatus": "статус",
"telegramUseTemplate": "Използвай персонализиран шаблон за съобщение",
"telegramUseTemplateDescription": "Ако е активирано, съобщението ще бъде изпратено чрез персонализиран шаблон.",
"telegramTemplateFormatDescription": "Telegram позволява използването на различни \"markup\" езици за съобщенията. Вижте Telegram {0} за детайли.",
"Template Format": "Формат на шаблона",
"wayToGetWahaApiUrl": "Вашият WAHA URL адрес.",
"wahaSession": "Сесия",
"wahaChatId": "Чат ID (телефонен номер / ID на контакт / ID на група)",
"wayToGetWahaApiKey": "API ключът, е стойността на променливата WHATSAPP_API_KEY, която сте използвали за стартиране на WAHA.",
"wayToWriteWahaChatId": "Телефонният номер с международния префикс, но без знака плюс в началото ({0}), ID на контакта ({1}) или ID на групата ({2}). Известията се изпращат до това чат ID от WAHA сесия.",
"wayToGetWahaSession": "От тази сесия WAHA изпраща известия до чат ID. Можете да го намерите в таблото за управление на WAHA.",
"telegramServerUrlDescription": "За премахване на API бот ограниченията за Telegram или за получаване на достъп в блокирани зони (Китай, Иран и др.). За повече информация щракнете върху {0}. По подразбиране: {1}",
"telegramServerUrl": "(По избор) URL адрес на сървъра"
}

View File

@ -4,7 +4,7 @@
"setupDatabaseMariaDB": "বহিরাগত MariaDB ডাটাবেজের সাথে সংযোগ করতে হবে। আপনাকে ডাটাবেজের সংযোগ তথ্য সেট করতে হবে।",
"Add": "সংযোগ করুন",
"dbName": "ডাটাবেজের নাম",
"languageName": "ইংরেজি",
"languageName": "বাংলা",
"Settings": "সেটিংস",
"Dashboard": "ড্যাশবোর্ড",
"Help": "সাহায্য",
@ -16,7 +16,7 @@
"General": "সাধারণ",
"Game": "খেলা",
"disable authentication": "প্রমাণীকরণ বন্ধ করুন",
"pauseDashboardHome": "পজ",
"pauseDashboardHome": "থামুন",
"disableauth.message2": "এটি Uptime Kuma এর সামনে {intendThirdPartyAuth} এর মতো পরিস্থিতির জন্য ডিজাইন করা হয়েছে, যেমন Cloudflare Access, Authelia অথবা অন্যান্য প্রমাণীকরণ ব্যবস্থা।",
"I understand, please disable": "আমি বুঝতে পারছি, দয়া করে অক্ষম করুন",
"Certificate Info": "সার্টিফিকেট তথ্য",
@ -157,16 +157,16 @@
"Unknown": "অজানা",
"Cannot connect to the socket server": "সকেট সার্ভারের সাথে সংযোগ স্থাপন করা যাচ্ছে না",
"Reconnecting...": "পুনরায় সংযোগ স্থাপন করা হচ্ছে...",
"Passive Monitor Type": "প্যাসিভ মনিটর টাইপ",
"Passive Monitor Type": "নিষ্ক্রিয় মনিটরের ধরন",
"markdownSupported": "মার্কডাউন সিনট্যাক্স সাপোর্ট",
"Pause": "পজ",
"Pause": "থামুন",
"-day": "-দিন",
"hour": "ঘন্টা",
"Host URL": "হোস্ট ইউআরএল",
"Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "আপনি যে সার্ভারে সংযোগ করতে চান তার হোস্টনেম প্রবেশ করুন অথবা যদি আপনি একটি {local_mta} ব্যবহার করার পরিকল্পনা করেন, তাহলে {localhost} লিখুন",
"ignoreTLSErrorGeneral": "সংযোগের জন্য TLS/SSL ত্রুটি উপেক্ষা করুন",
"Upside Down Mode": "আপসাইড ডাউন মোড",
"Pending": "পেন্ডিং",
"Pending": "প্রক্রিয়াধীন",
"Push URL": "পুশ URL",
"needPushEvery": "আপনাকে এই URL টি প্রতি {0} সেকেন্ডে কল করতে হবে।",
"Dark": "অন্ধকার",
@ -180,7 +180,7 @@
"Expected Value": "প্রত্যাশিত মান",
"Home": "হোম",
"Maintenance": "রক্ষণাবেক্ষণ",
"General Monitor Type": "সাধারণ মনিটর টাইপ",
"General Monitor Type": "সাধারণ মনিটরের ধরন",
"Specific Monitor Type": "নির্দিষ্ট মনিটরের ধরন",
"Monitor": "মনিটর | মনিটরগুলো",
"day": "দিন | দিনগুলো",
@ -210,8 +210,8 @@
"Disable Auth": "প্রমাণীকরণ বন্ধ করুন",
"Theme": "থিম",
"Name": "নাম",
"Status": "স্ট্যাটাস",
"DateTime": "তারিখ সময়",
"Status": "অবস্থা",
"DateTime": "তারিখ সময়",
"No important events": "কোনো গুরুত্বপূর্ণ ইভেন্ট নেই",
"Edit": "সম্পাদনা",
"Current": "বর্তমান",
@ -223,5 +223,7 @@
"upsideDownModeDescription": "স্ট্যাটাসটি উল্টো করে দিন। যদি সার্ভিসটি পৌঁছানো যায়, তবে এটি DOWN হবে।",
"maxRedirectDescription": "অনুসরণ করার জন্য সর্বোচ্চ রিডাইরেক্ট সংখ্যা। রিডাইরেক্ট নিষ্ক্রিয় করতে 0 সেট করুন।",
"ignoreTLSError": "HTTPS ওয়েবসাইটগুলির জন্য TLS/SSL ত্রুটিগুলি উপেক্ষা করুন",
"pushViewCode": "পুশ মনিটর কীভাবে ব্যবহার করবেন? (কোড দেখুন)"
"pushViewCode": "পুশ মনিটর কীভাবে ব্যবহার করবেন? (কোড দেখুন)",
"Appearance": "দেখানোর ধরন",
"Quick Stats": "তাৎক্ষণিক পরিসংখ্যান"
}

View File

@ -49,7 +49,7 @@
"Delete": "Eliminar",
"Current": "Actual",
"Uptime": "Temps actiu",
"Cert Exp.": "Caducitat del certificat",
"Cert Exp.": "Caducitat del certificat.",
"Monitor": "Monitor | Monitors",
"day": "dia | dies",
"-day": "-dia",
@ -218,11 +218,347 @@
"Required": "Obligatori",
"Post URL": "Posar URL",
"Content Type": "Content Type",
"Json Query Expression": "Json Query Expression",
"Json Query Expression": "Expressió de consulta Json",
"now": "ara",
"-year": "-any",
"Status Pages": "Pàgines d'estat",
"here": "aquí",
"time ago": "fa {0}",
"ignoredTLSError": "Errors TLS/SSL ignorats"
"ignoredTLSError": "Errors TLS/SSL ignorats",
"webhookFormDataDesc": "{multipart} es bo per PHP. El JSON haurà d'analitzar-se amb {decodeFunction}",
"webhookJsonDesc": "{0} es bo per qualsevol servidor HTTP modern com Express.js",
"templateMsg": "missatge de la notificació",
"webhookAdditionalHeadersTitle": "Capçaleres addicionals",
"Application Token": "Testimoni d'aplicació",
"Server URL": "URL del servidor",
"Priority": "Prioritat",
"Webhook URL": "URL del Webhook",
"emojiCheatSheet": "Full de trampa d'emoji: {0}",
"Read more": "Llegeix més",
"appriseInstalled": "S'ha instal·lat l'apèndix.",
"templateHeartbeatJSON": "objecte que descriu el batec del cor",
"templateMonitorJSON": "objecte que descriu el monitor",
"templateLimitedToUpDownCertNotifications": "només disponible per a notificacions de venciment UP/DOWN/Certificate",
"templateLimitedToUpDownNotifications": "només disponible per a notificacions UP/DOWN",
"webhookAdditionalHeadersDesc": "Estableix les capçaleres addicionals enviades amb el webhook. Cada capçalera s'ha de definir com una clau/valor JSON.",
"webhookBodyPresetOption": "Predefinit - {0}",
"webhookBodyCustomOption": "Cos personalitzat",
"Headers": "Capçaleres",
"Monitor History": "Historial del monitor",
"PasswordsDoNotMatch": "Les contrasenyes no coincideixen.",
"records": "registres",
"One record": "Un registre",
"Current User": "Usuari actual",
"topic": "Tema",
"topicExplanation": "tema MQTT a monitorar",
"successKeyword": "Paraula clau d'èxit",
"successKeywordExplanation": "Paraula clau MQTT que es considerarà un èxit",
"recent": "Recent",
"Reset Token": "Restableix el testimoni",
"Done": "Fet",
"Info": "Info",
"Steam API Key": "Clau API de Steam",
"Shrink Database": "Redueix la base de dades",
"Pick a RR-Type...": "Trieu un tipus RR…",
"Default": "Per defecte",
"HTTP Options": "Opcions HTTP",
"Create Incident": "Crear Incident",
"Title": "Títol",
"Content": "Contingut",
"Style": "Estil",
"info": "info",
"warning": "avís",
"danger": "perill",
"primary": "primària",
"light": "lleuger",
"dark": "fosc",
"Post": "Post",
"Created": "Creat",
"Last Updated": "Darrera actualització",
"Switch to Light Theme": "Canvia a tema clar",
"Switch to Dark Theme": "Canviar a tema fosc",
"Show Tags": "Mostra les etiquetes",
"Hide Tags": "Amaga les etiquetes",
"Description": "Descripció",
"No monitors available.": "No hi ha monitors disponibles.",
"Add one": "Afegeix-ne un",
"No Monitors": "Sense monitors",
"Untitled Group": "Grup sense títol",
"Services": "Serveis",
"Discard": "Descarta",
"Cancel": "Canel·la",
"Select": "Selecciona",
"Check/Uncheck": "Comprova/desmarca",
"Powered by": "Funciona amb",
"Customize": "Personalitza",
"Custom Footer": "Peu de pàgina personalitzat",
"Custom CSS": "CSS personalitzat",
"default": "Per defecte",
"enabled": "Habilitat",
"setAsDefault": "Estableix com a predeterminat",
"deleteProxyMsg": "Esteu segur que voleu suprimir aquest servidor intermediari per a tots els monitors?",
"setAsDefaultProxyDescription": "Aquest servidor intermediari s'habilitarà de manera predeterminada per als monitors nous. Encara podeu desactivar el servidor intermediari per separat per a cada monitor.",
"Certificate Chain": "Cadena de certificats",
"Valid": "Vàlid",
"Invalid": "Invàlid",
"User": "Usuari",
"Installed": "Instal·lat",
"Not installed": "No instal·lat",
"Running": "En execució",
"Not running": "No en execució",
"Remove Token": "Elimina el testimoni",
"Start": "Inicia",
"Stop": "Aturar",
"Add New Status Page": "Afegeix una pàgina d'estat nova",
"Slug": "Àlies",
"Accept characters:": "Accepta caràcters:",
"startOrEndWithOnly": "Inicia o acaba només amb {0}",
"No consecutive dashes": "Sense guions consecutius",
"Next": "Següent",
"The slug is already taken. Please choose another slug.": "L'àlias ja està agafat. Si us plau, escolliu un altre àlies.",
"No Proxy": "Sense servidor intermediari",
"Proxies": "Servidors intermediaris",
"HTTP Basic Auth": "Autenticació bàsica HTTP",
"New Status Page": "Pàgina d'estat nova",
"Reverse Proxy": "Servidor intermediari invertit",
"Backup": "Còpia de seguretat",
"About": "Quant a",
"wayToGetCloudflaredURL": "(Descarrega de cloudfared des de {0})",
"cloudflareWebsite": "Lloc web de Cloudflare",
"Message:": "Missatge:",
"HTTP Headers": "Capçaleres HTTP",
"Trust Proxy": "Confia en el servidor intermediari",
"Other Software": "Un altre programari",
"For example: nginx, Apache and Traefik.": "Per exemple: nginx, Apache i Traefik.",
"Please read": "Llegiu",
"Subject:": "Assumpte:",
"Valid To:": "Vàlid per a:",
"Days Remaining:": "Dies restants:",
"Issuer:": "Emissor:",
"Fingerprint:": "Empremta digital:",
"No status pages": "Sense pàgines d'estat",
"Domain Name Expiry Notification": "Notificació de venciment del nom de domini",
"Add a new expiry notification day": "Notificació de venciment del nom de domini",
"Remove the expiry notification": "Elimina el dia de notificació de venciment",
"Proxy": "Servidor intermediari",
"Date Created": "Data de creació",
"Footer Text": "Text del peu de pàgina",
"Refresh Interval Description": "La pàgina d'estat farà una actualització completa del lloc cada {0} segons",
"Show Powered By": "Mostra Impulsat per",
"Domain Names": "Noms de domini",
"signedInDisp": "Sessió iniciada com a {0}",
"RadiusSecret": "Secret de Radius",
"RadiusSecretDescription": "Secret compartit entre client i servidor",
"RadiusCalledStationId": "Id de l'estació cridada",
"RadiusCallingStationId": "Id de l'estació de trucada",
"RadiusCallingStationIdDescription": "Identificador del dispositiu de crida",
"Certificate Expiry Notification": "Notificació de venciment del certificat",
"API Username": "Nom d'usuari API",
"API Key": "Clau API",
"Show update if available": "Mostra l'actualització si està disponible",
"Using a Reverse Proxy?": "Usar un servidor intermediari invers?",
"Check how to config it for WebSocket": "Comprova com configurar-lo per a WebSocket",
"Steam Game Server": "Servidor de jocs Steam",
"Most likely causes:": "Causes més probables:",
"There might be a typing error in the address.": "Pot haver-hi un error d'escriptura a l'adreça.",
"What you can try:": "Què podeu provar:",
"Retype the address.": "Torneu a teclejar l'adreça.",
"Go back to the previous page.": "Torna a la pàgina anterior.",
"Coming Soon": "Properament",
"Connection String": "Cadena de connexió",
"Query": "Consulta",
"settingsCertificateExpiry": "Caducitat del certificat TLS",
"Setup Docker Host": "Configura l'amfitrió Docker",
"Connection Type": "Tipus de connexió",
"Docker Daemon": "Dimoni Docker",
"noDockerHostMsg": "No disponible. Primer configureu un amfitrió Docker.",
"DockerHostRequired": "Establiu l'amfitrió Docker per a aquest monitor.",
"socket": "Sòcol",
"tcp": "TCP / HTTP",
"Docker Container": "Contenidor Docker",
"Container Name / ID": "Nom del contenidor / ID",
"Docker Host": "Amfitrió Docker",
"Docker Hosts": "Amfitrions Docker",
"Domain": "Domini",
"Workstation": "Estació de treball",
"Packet Size": "Mida del paquet",
"Bot Token": "Testimoni de bot",
"wayToGetTelegramToken": "Podeu obtenir un testimoni de {0}.",
"Chat ID": "ID de xat",
"telegramMessageThreadID": "(Opcional) ID del fil del missatge",
"telegramMessageThreadIDDescription": "Identificador únic opcional per al fil del missatge de destinació (tema) del fòrum; només per als supergrups del fòrum",
"telegramSendSilently": "Envia silenciosament",
"telegramProtectContent": "Protegeix la reenviament/desament",
"supportTelegramChatID": "Admet xat directe / grup / ID de xat del canal",
"YOUR BOT TOKEN HERE": "EL VOSTRE TESTIMONI DE BOT AQUÍ",
"chatIDNotFound": "No s'ha trobat l'ID del xat; primer envieu un missatge a aquest bot",
"disableCloudflaredNoAuthMsg": "Esteu en mode No Auth, no cal una contrasenya.",
"wayToGetLineNotifyToken": "Podeu obtenir un testimoni d'accés des de {0}",
"Examples": "Exemples",
"Home Assistant URL": "URL de l'assistent d'inici",
"Long-Lived Access Token": "Testimoni d'accés viu",
"Notification Service": "Servei de notificacions",
"Automations can optionally be triggered in Home Assistant:": "Les automatitzacions es poden activar opcionalment a l'assistent d'inici:",
"Trigger type:": "Tipus d'activador:",
"Event type:": "Tipus d'esdeveniment:",
"Event data:": "Dades de l'esdeveniment:",
"Then choose an action, for example switch the scene to where an RGB light is red.": "A continuació, trieu una acció, per exemple, canvieu l'escena a on una llum RGB és vermella.",
"Frontend Version": "Versió del frontal",
"Frontend Version do not match backend version!": "La versió frontal no coincideix amb la versió del dorsal!",
"backupRecommend": "Si us plau, feu una còpia de seguretat del volum o de la carpeta de dades (./data/) directament.",
"Optional": "Opcional",
"and": "i",
"startDateTime": "Data/hora d'inici",
"endDateTime": "Data/hora final",
"cronExpression": "Expressió Cron",
"cronSchedule": "Planificació: ",
"invalidCronExpression": "Expressió Cron no vàlida: {0}",
"recurringInterval": "Interval",
"Recurring": "Recurrència",
"strategyManual": "Activa/Inactiva manualment",
"warningTimezone": "Està utilitzant la zona horària del servidor",
"weekdayShortMon": "Dill",
"weekdayShortTue": "Dim",
"weekdayShortWed": "Dim",
"weekdayShortThu": "Dij",
"weekdayShortFri": "Div",
"weekdayShortSat": "Diss",
"weekdayShortSun": "Dg",
"dayOfWeek": "Dia de la setmana",
"dayOfMonth": "Dia del mes",
"lastDay": "Últim dia",
"lastDay2": "2n últim dia del mes",
"lastDay3": "3r Darrer Dia del Mes",
"lastDay4": "4t Darrer Dia del Mes",
"No Maintenance": "Sense manteniment",
"maintenanceStatus-under-maintenance": "Sota manteniment",
"maintenanceStatus-inactive": "Inactiu",
"maintenanceStatus-scheduled": "Programat",
"maintenanceStatus-unknown": "Desconegut",
"Server Timezone": "Zona horària del servidor",
"statusPageMaintenanceEndDate": "Final",
"IconUrl": "URL de la icona",
"Enable DNS Cache": "(Obsolet) Habilita la memòria cau DNS per als monitors HTTP(s)",
"Enable": "Habilita",
"Disable": "Desactiva",
"chromeExecutable": "Executable Chrome/Chromium",
"chromeExecutableAutoDetect": "Detecció automàtica",
"dnsCacheDescription": "Pot ser que no funcioni treballant amb entorns IPv6, desactiva'l si detectes qualsevol problema.",
"Single Maintenance Window": "Finestra de Manteniment únic",
"Maintenance Time Window of a Day": "Finestra de Temps del manteniment d'un Dia",
"Effective Date Range": "Rang de data eficaç (Opcional)",
"Schedule Maintenance": "Programa de manteniment",
"Edit Maintenance": "Edita el manteniment",
"Date and Time": "Data i hora",
"DateTime Range": "Rang de data i temps",
"loadingError": "Impossible obtenir la data, si us plau prova-ho més endavant.",
"plugin": "Connector | Connectors",
"install": "Instal·la",
"installing": "Instal·lant",
"uninstall": "Desinstal·la",
"confirmUninstallPlugin": "Estàs segur de desinstal·lar aquest connector?",
"notificationRegional": "Regional",
"Clone Monitor": "Clona el monitor",
"Clone": "Clona",
"cloneOf": "Clon de {0}",
"secureOptionNone": "Cap / STARTTLS (25, 587)",
"secureOptionTLS": "TLS (465)",
"Ignore TLS Error": "Ignora error TLS",
"From Email": "Des de Correu",
"emailCustomisableContent": "Contingut personalitzable",
"emailCustomSubject": "Tema personalitzable",
"leave blank for default subject": "deixar en blanc per tema per defecte",
"emailCustomBody": "Cos personalitzat",
"leave blank for default body": "deixa en blanc per un cos per defecte",
"emailTemplateServiceName": "Nom de servei",
"emailTemplateHostnameOrURL": "Nom de host o URL",
"emailTemplateStatus": "Estat",
"emailTemplateMonitorJSON": "objecte que descriu el monitor",
"emailTemplateHeartbeatJSON": "objecte que descriu el batec del cor",
"To Email": "Destí email",
"smtpCC": "CC",
"smtpBCC": "BCC",
"Discord Webhook URL": "Discord Webhook URL",
"wayToGetDiscordURL": "Pots rebre aquest per anar a Paràmetres de Servidor -> Integracions -> Vista *Webhooks -> Nou *Webhook",
"Bot Display Name": "Nom de pantalla de bot",
"Prefix Custom Message": "Prefix de missatge personalitzat",
"Hello @everyone is...": "Hola {'@'} a tothom …",
"Send to channel": "Envia al canal",
"Create new forum post": "Crea una nova publicació",
"postToExistingThread": "Publica a un fil existent",
"forumPostName": "Nom de publicació de fòrum",
"threadForumPostID": "Fil / identificador de fòrum",
"e.g. {discordThreadID}": "exemple {discordThreadID}",
"wayToGetTeamsURL": "Pot aprendre com crear una URL de webhook {0}.",
"wayToGetZohoCliqURL": "Pot aprendre com crear una URL de webhook {0}.",
"needSignalAPI": "Necessites tenir una senyal de client amb REST API.",
"wayToCheckSignalURL": "Pot comprovar aquesta URL per veure com configurar:",
"Number": "Número",
"Recipients": "Receptors",
"Access Token": "Fitxa d'accés",
"Channel access token (Long-lived)": "Fitxa d'accés del canal (de llarga vida)",
"Line Developers Console": "Consola de Desenvolupadors de la línia",
"appriseNotInstalled": "L'apèndix no està instal·lat. {0}",
"Method": "Mètode",
"clearDataOlderThan": "Conserva les dades de l'historial del monitor durant {0} dies.",
"steamApiKeyDescription": "Per a monitoritzar un servidor de jocs de vapor, necessiteu una clau Steam Web-API. Podeu registrar la vostra clau API aquí: ",
"shrinkDatabaseDescriptionSqlite": "Activa la base de dades {vacuum} per a SQLite. {auto.vacuum} ja està activat, però això no desfragmenta la base de dades ni reempaqueta les pàgines individuals de la base de dades de la manera com ho fa l'ordre {vacuum}.",
"liquidIntroduction": "S'aconsegueix la flexibilitat mitjançant el llenguatge de templatació líquid. Consulteu el {0} per a les instruccions d'ús. Aquestes són les variables disponibles:",
"selectedMonitorCount": "Seleccionat: {0}",
"deleteStatusPageMsg": "Esteu segur que voleu suprimir aquesta pàgina d'estat?",
"proxyDescription": "Els intermediaris s'han d'assignar a un monitor perquè funcioni.",
"enableProxyDescription": "Aquest servidor intermediari no afectarà les sol·licituds del monitor fins que estigui activat. Podeu controlar temporalment desactivar el servidor intermediari de tots els monitors per l'estat d'activació.",
"statusPageSpecialSlugDesc": "Àlies especial {0}: aquesta pàgina es mostrarà quan no es proporcioni l'àlies",
"Authentication": "Autenticació",
"Page Not Found": "Pàgina no trobada",
"Don't know how to get the token? Please read the guide:": "No saps com aconseguir el testimoni? Si us plau, llegiu la guia:",
"The current connection may be lost if you are currently connecting via Cloudflare Tunnel. Are you sure want to stop it? Type your current password to confirm it.": "La connexió actual es pot perdre si esteu connectant a través del túnel Cloudflare. Segur que voleu aturar-ho? Escriviu la contrasenya actual per confirmar-la.",
"Refresh Interval": "Interval de refresc",
"signedInDispDisabled": "Autenticació desactivada.",
"RadiusCalledStationIdDescription": "Identificador del dispositiu anomenat",
"Also check beta release": "Comprova també la versió beta",
"The resource is no longer available.": "El recurs ja no està disponible.",
"certificationExpiryDescription": "Els monitors HTTPS activen la notificació quan el certificat TLS caduca a:",
"deleteDockerHostMsg": "Esteu segur que voleu suprimir aquest amfitrió de l'acoblador per a tots els monitors?",
"tailscalePingWarning": "Per utilitzar el monitor de Ping Tailscale, heu d'instal·lar el Kuma Uptime sense Docker i també instal·lar el client Tailscale al vostre servidor.",
"telegramSendSilentlyDescription": "Envia el missatge en silenci. Els usuaris rebran una notificació sense so.",
"telegramProtectContentDescription": "Si està activat, els missatges del bot del Telegram estaran protegits contra reenviaments i desaments.",
"wayToGetTelegramChatID": "Podeu obtenir el vostre ID de xat enviant un missatge al bot i anant a aquest URL per veure el xat id:",
"trustProxyDescription": "Confia en les capçaleres «X-Forwarded-*». Si voleu obtenir la IP del client correcta i el vostre Kuma Uptime està darrere d'un servidor intermediari com Nginx o Apache, hauríeu d'activar-ho.",
"Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "Es pot crear un testimoni d'accés de llarga durada fent clic al nom del vostre perfil (a baix a l'esquerra) i desplaçant-vos a la part inferior i després feu clic a Crea un testimoni. ",
"default: notify all devices": "per defecte: notifica tots els dispositius",
"A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "Podeu trobar una llista dels Serveis de Notificació a l'assistent d'inici a «Eines de revelador . Serveis» cerca «notificació» per trobar el nom del vostre dispositiu/telèfon.",
"backupOutdatedWarning": "Obsolet: Atès que s'han afegit moltes característiques i aquesta funció de còpia de seguretat és una mica inexistent, no pot generar o restaurar una còpia de seguretat completa.",
"lastDay1": "L'últim dia del mes",
"pauseMaintenanceMsg": "Segur que voleu fer una pausa?",
"maintenanceStatus-ended": "Finalitzat",
"Display Timezone": "Mostra la zona horària",
"enableNSCD": "Habilita NSCD (Dimoni de memòria cau de Servei del Nom ) per accelerar les sol·licituds de DNS",
"chromeExecutableDescription": "Per a usuaris de Docker, si el Chrome no està encara instal·lat, pot dur uns quants minuts per instal·lar i mostrar el resultat de prova. Duu 1*GB d'espai de disc.",
"uninstalling": "Desinstal·lant",
"smtp": "Correu electrònic (SMTP)",
"smtpLiquidIntroduction": "Els següents dos camps són personalitzables via \"Liquid templating Language\". Per favor refereix al {0} per a instruccions d'ús. Aquests són les variables disponibles:",
"emailTemplateMsg": "missatge de la notificació",
"emailTemplateLimitedToUpDownNotification": "només disponible per estats UP/Down, altrament null",
"Select message type": "Selecciona el tipus de missatge",
"whatHappensAtForumPost": "Crea una nova publicació de fòrum. Això no publica un missatge a un fòrum existent. Per publicar un fil existent utilitza \"{option}\"",
"Channel access token": "Fitxa d'accés del canal",
"Body": "Cos",
"or": "o",
"PushUrl": "URL de captura",
"HeadersInvalidFormat": "Les capçaleres de sol·licitud no són JSON vàlides: ",
"BodyInvalidFormat": "El cos de petició no és JSON vàlid: ",
"Security": "Seguretat",
"Pick Accepted Status Codes...": "Trieu els codis d'estat acceptats…",
"error": "error",
"critical": "crítica",
"Please input title and content": "Introduïu el títol i el contingut",
"telegramServerUrl": "(Opcional) Url del servidor",
"telegramServerUrlDescription": "Per saltar-se les limitacions del bot de Telegram o tenir accés a regions bloquejades (China, Iran, etc). Per a més informació fes click {0}. Per defecte {1}",
"templateServiceName": "Nom del servei",
"templateHostnameOrURL": "Adreça URL o nom del host",
"templateStatus": "Estat",
"telegramUseTemplate": "Fes servir una plantilla de missatge personalitzada",
"telegramUseTemplateDescription": "Si s'activa, el missatge s'enviarà fent servir una plantilla personalitzada.",
"telegramTemplateFormatDescription": "Telegram permet l'ús de diferents tipus de llenguatges de marcat, llegeix Telegram {0} per més detalls."
}

View File

@ -1060,5 +1060,36 @@
"Message format": "Formát zprávy",
"Notification Channel": "Kanál notifikací",
"Alphanumerical string and hyphens only": "Pouze alfanumerické řetězce a pomlčky",
"Sound": "Zvuk"
"Sound": "Zvuk",
"Custom sound to override default notification sound": "Použít vlastní zvuk místo výchozího zvuku upozornění",
"Correct": "Správně",
"Fail": "Chyba",
"Reveal": "Odhalení",
"Doorbell": "Zvonek",
"Flute": "Flétna",
"Money": "Peníze",
"Elevator": "Výtah",
"Guitar": "Kytara",
"Time Sensitive (iOS Only)": "Časově kritické (pouze pro iOS)",
"Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Časově kritická upozornění budou doručena okamžitě, i když je zařízení v režimu nerušit.",
"From": "Od",
"Can be found on:": "Lze nalézt na: {0}",
"The phone number of the recipient in E.164 format.": "Telefonní číslo příjemce ve formátu E.164 (+420...).",
"RabbitMQ Nodes": "RabbitMQ uzly pro správu",
"rabbitmqNodesDescription": "URL RabbitMQ uzlů pro správu zadávejte včetně protokolu a portu. Příklad: {0}",
"rabbitmqNodesRequired": "Prosím, definujte uzly pro tento dohled.",
"rabbitmqNodesInvalid": "Prosím, použijte plně kvalifikované URL (začínající na 'http)' RabbitMQ uzlů.",
"RabbitMQ Username": "RabbitMQ uživatelské jméno",
"Send rich messages": "Poslat rozsáhlé zprávy",
"Arcade": "Arkáda",
"Harp": "Harfa",
"Bubble": "Bublinky",
"Scifi": "Scifi",
"Pop": "Prasknutí",
"Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Pro zajištění příjmu odpovědí zadejte ID odesílatele textu nebo telefonní číslo ve formátu E.164.",
"RabbitMQ Password": "RabbitMQ heslo",
"rabbitmqHelpText": "Abyste mohli používat tento monitor, musíte v nastavení RabbitMQ povolit modul pro správu. Další informace naleznete na adrese {rabitmq_documentation}.",
"SendGrid API Key": "SendGrid API klíč",
"Separate multiple email addresses with commas": "Více e-mailových adres oddělte čárkami",
"Clear": "Odstranění"
}

View File

@ -45,7 +45,7 @@
"Port": "Port",
"Heartbeat Interval": "Hjerteslag interval",
"Retries": "Gentagelser",
"retriesDescription": "Maksimalt antal gentagelser, før tjenesten markeres som inaktiv og sender en meddelelse.",
"retriesDescription": "Maksimalt antal gentagelser, før tjenesten markeres som inaktiv og sender en meddelelse",
"Advanced": "Avanceret",
"ignoreTLSError": "Ignorér TLS/SSL fejl for HTTPS websteder",
"Upside Down Mode": "Omvendt tilstand",
@ -99,7 +99,7 @@
"deleteNotificationMsg": "Er du sikker på, at du vil slette denne underretning for alle overvågere?",
"resolverserverDescription": "Cloudflare er standardserveren, den kan til enhver tid ændres.",
"Resolver Server": "Navne-server",
"rrtypeDescription": "Vælg den type RR, du vil overvåge.",
"rrtypeDescription": "Vælg den type RR, du vil overvåge",
"Last Result": "Seneste resultat",
"pauseMonitorMsg": "Er du sikker på at du vil standse overvågningen?",
"Create your admin account": "Opret din administratorkonto",
@ -125,7 +125,7 @@
"backupDescription3": "Følsom data, f.eks. underretnings-tokener, er inkluderet i eksportfilen. Gem den sikkert.",
"alertNoFile": "Vælg en fil der skal importeres.",
"alertWrongFileType": "Vælg venligst en JSON-fil.",
"twoFAVerifyLabel": "Indtast venligst dit token for at bekræfte, at 2FA fungerer",
"twoFAVerifyLabel": "Indtast venligst dit token for at bekræfte, at 2FA fungerer:",
"tokenValidSettingsMsg": "Token er gyldigt! Du kan nu gemme 2FA -indstillingerne.",
"confirmEnableTwoFAMsg": "Er du sikker på at du vil aktivere 2FA?",
"confirmDisableTwoFAMsg": "Er du sikker på at du vil deaktivere 2FA?",
@ -141,7 +141,7 @@
"Token": "Token",
"Show URI": "Vis URI",
"Clear all statistics": "Ryd alle Statistikker",
"retryCheckEverySecond": "Prøv igen hvert {0} sekund.",
"retryCheckEverySecond": "Prøv igen hvert {0} sekund",
"importHandleDescription": "Vælg 'Spring over eksisterende', hvis du vil springe over hver overvåger eller underretning med samme navn. 'Overskriv' sletter alle eksisterende overvågere og underretninger.",
"confirmImportMsg": "Er du sikker på at importere sikkerhedskopien? Sørg for, at du har valgt den rigtige importindstilling.",
"Heartbeat Retry Interval": "Hjerteslag gentagelsesinterval",
@ -277,7 +277,7 @@
"lineDevConsoleTo": "Line Udviklerkonsol - {0}",
"Basic Settings": "Basisindstillinger",
"User ID": "Bruger-ID",
"Messaging API": "Messaging API",
"Messaging API": "Besked API",
"wayToGetLineChannelToken": "Tilgå først {0}, opret en udbyder og kanal (Messaging API), så kan du få kanaladgangstoken'et og bruger-ID'et fra de ovennævnte menupunkter.",
"Icon URL": "Ikon URL",
"aboutIconURL": "Du kan angive et link til et billede i \"Ikon URL\" for at tilsidesætte standardprofilbilledet. Vil ikke blive brugt, hvis Ikon Emoji er angivet.",
@ -415,7 +415,7 @@
"signedInDisp": "Logget ind som {0}",
"Certificate Expiry Notification": "Meddelelse om udløbsdato for certifikatet",
"API Username": "API Brugernavn",
"API Key": "API Key",
"API Key": "API Nøgle",
"Steam Game Server": "Steam Game Server",
"What you can try:": "Hvad du kan prøve:",
"Go back to the previous page.": "Gå tilbage til forrige side.",
@ -621,11 +621,11 @@
"confirmDeleteTagMsg": "Er du sikker på at du vil slette denne etiket? Overvågninger med denne etiket vil ikke blive slettet.",
"resendEveryXTimes": "Gensend hver {0} gang",
"resendDisabled": "Gensendelse deaktiveret",
"Reconnecting...": "Genforbinder...",
"Reconnecting...": "Genopretter forbindelse...",
"successPaused": "Standset med succes.",
"Reset Token": "Nulstil nøgle",
"Show Clickable Link": "Vis klikbart link",
"atLeastOneMonitor": "Vælg mindst én berørt overvågning.",
"atLeastOneMonitor": "Vælg mindst én berørt overvågning",
"authInvalidToken": "Ugyldig nøgle.",
"authIncorrectCreds": "Brugernavn eller adgangskode er ikke korrekt.",
"2faAlreadyEnabled": "2FA er allerede aktiveret.",
@ -656,5 +656,147 @@
"telegramSendSilentlyDescription": "Send beskeden lydløst. Brugerne vil modtage en notifikation uden lyd.",
"pushoverMessageTtl": "Message TTL (Sekunder)",
"setupDatabaseEmbeddedMariaDB": "Du skal ikke opsætte noget. Docker billedet har integreret og konfigureret MariaDB automatisk. Uptime Kuma vil forbinde til databasen vha. en Unix socket.",
"setupDatabaseMariaDB": "Oprette forbindelse til en ekstern MariaDB database. Du skal indstille databasens forbindelsesinformation."
"setupDatabaseMariaDB": "Oprette forbindelse til en ekstern MariaDB database. Du skal indstille databasens forbindelsesinformation.",
"styleElapsedTimeShowWithLine": "Vis (med linjer)",
"styleElapsedTime": "Forløbet tid under heartbeat-bjælken",
"templateMsg": "besked fra notifikationen",
"templateHeartbeatJSON": "objekt, der beskriver heartbeat",
"templateMonitorJSON": "objekt, der beskriver monitoren",
"templateLimitedToUpDownNotifications": "kun tilgængelig for UP/DOWN notifikationer",
"webhookAdditionalHeadersTitle": "Yderligere Headers",
"webhookAdditionalHeadersDesc": "Angiver yderligere headers, der sendes med webhooken. Hver header skal defineres som en JSON-nøgle/værdi.",
"webhookBodyCustomOption": "Brugerdefineret Body",
"successKeyword": "Succesnøgleord",
"startOrEndWithOnly": "Kun start eller slut med {0}",
"setAsDefaultProxyDescription": "Denne proxy vil som standard være aktiveret for nye monitorer. Du kan stadig deaktivere proxyen individuelt for hver monitor.",
"No consecutive dashes": "Ingen på hinanden følgende bindestreger",
"statusPageSpecialSlugDesc": "Speciel slug {0}: Denne side vises, når der ikke angives en slug",
"Query": "Kø",
"Add a new expiry notification day": "Tilføj en ny udløbsnotifikationsdag",
"Remove the expiry notification": "Fjern udløbsnotifikationsdagen",
"Refresh Interval": "Opdateringsinterval",
"Refresh Interval Description": "Statussiden vil udføre en fuld opdatering af sitet hvert {0} sekunder",
"RadiusSecret": "Radius-hemmelighed",
"RadiusCalledStationId": "Called Station ID",
"RadiusCalledStationIdDescription": "Identifikator for den kaldte enhed",
"RadiusCallingStationId": "Calling Station Id",
"RadiusCallingStationIdDescription": "Identifikator for den kaldende enhed",
"Check how to config it for WebSocket": "Tjek, hvordan det konfigureres til WebSocket",
"Connection String": "Forbindelsesstreng",
"Workstation": "Arbejdsstation",
"telegramMessageThreadID": "(Valgfrit) Beskedtråd-ID",
"telegramMessageThreadIDDescription": "Valgfri unik identifikator for målbeskedtråden (emnet) i forummet; kun for forum-supergrupper",
"telegramProtectContent": "Beskyt videresendelse/gemning",
"telegramProtectContentDescription": "Hvis aktiveret, vil bot-beskeder i Telegram være beskyttet mod videresendelse og gemning.",
"disableCloudflaredNoAuthMsg": "Du er i No Auth-tilstand, en adgangskode er ikke påkrævet.",
"A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "En liste over notifikationstjenester kan findes i Home Assistant under “Developer Tools > Services”. Søg efter “notification” for at finde navnet på din enhed/telefon.",
"Then choose an action, for example switch the scene to where an RGB light is red.": "Vælg derefter en handling, for eksempel at skifte scenen til en, hvor et RGB-lys er rødt.",
"backupRecommend": "Sikkerhedskopier venligst volumen eller data-mappen (./data/) direkte i stedet.",
"and": "og",
"startDateTime": "Startdato/-tidspunkt",
"endDateTime": "Slutdato/-tidspunkt",
"cronExpression": "Cron-udtryk",
"cronSchedule": "Tidsplan: ",
"warningTimezone": "Den bruger serverens tidszone",
"enableNSCD": "Aktivér NSCD (Name Service Cache Daemon) for at cache alle DNS-forespørgsler",
"chromeExecutable": "Chrome/Chromium-eksekverbar fil",
"Single Maintenance Window": "Enkelt vedligeholdelsesvindue",
"Edit Maintenance": "Rediger vedligeholdelse",
"emailCustomisableContent": "Brugerdefinerbart indhold",
"leave blank for default subject": "lad stå tomt for standardemne",
"emailCustomBody": "Brugerdefineret body",
"leave blank for default body": "lad stå tomt for standard-body",
"emailTemplateServiceName": "Servicenavn",
"emailTemplateHostnameOrURL": "Værtsnavn eller URL",
"emailTemplateStatus": "Status",
"emailTemplateMonitorJSON": "objekt, der beskriver monitoren",
"emailTemplateHeartbeatJSON": "objekt, der beskriver heartbeat",
"emailTemplateMsg": "besked fra notifikationen",
"emailTemplateLimitedToUpDownNotification": "kun tilgængelig for UP/DOWN heartbeats, ellers null",
"Select message type": "Vælg beskedtype",
"Send to channel": "Send til kanal",
"Create new forum post": "Opret nyt forumpost",
"postToExistingThread": "Send til eksisterende tråd / forumpost",
"forumPostName": "Forumpost-navn",
"threadForumPostID": "Tråd- / Forumpost-ID",
"e.g. {discordThreadID}": "f.eks. {discordThreadID}",
"wayToGetDiscordThreadId": "At hente en tråd- / forumpost-ID ligner processen for at hente en kanal-ID. Læs mere om, hvordan du får IDs {0}",
"Channel access token (Long-lived)": "Kanaladgangstoken (langvarig)",
"Your User ID": "Din bruger-ID",
"dataRetentionTimeError": "Opbevaringsperioden skal være 0 eller højere",
"infiniteRetention": "Sæt til 0 for uendelig opbevaring.",
"enableGRPCTls": "Tillad afsendelse af gRPC-forespørgsel med TLS-forbindelse",
"affectedStatusPages": "Vis denne vedligeholdelsesbesked på udvalgte statussider",
"invertKeywordDescription": "Se efter, at nøgleordet mangler i stedet for at være til stede.",
"octopushAPIKey": "“API-nøgle” fra HTTP API-legitimationsoplysninger i kontrolpanelet",
"octopushLogin": "“Login” fra HTTP API-legitimationsoplysninger i kontrolpanelet",
"pushoversounds pushover": "Pushover (standard)",
"pushoversounds bike": "Cykel",
"pushoversounds bugle": "Signalhorn",
"pushoversounds cashregister": "Kasseapparat",
"pushoversounds cosmic": "Kosmisk",
"pushoversounds falling": "Faldende",
"pushoversounds gamelan": "Gamelan",
"pushoversounds incoming": "Indkommende",
"pushoversounds intermission": "Pause",
"pushoversounds spacealarm": "Rumalarm",
"pushoversounds tugboat": "Slæbebåd",
"pushoversounds climb": "Klatring (lang)",
"pushoversounds persistent": "Vedvarende (lang)",
"pushoversounds echo": "Pushover Echo (lang)",
"pushoversounds updown": "Op Ned (lang)",
"GoogleChat": "Google Chat (kun Google Workspace)",
"styleElapsedTimeShowNoLine": "Vis (ingen linjer)",
"Slug": "Slug",
"The slug is already taken. Please choose another slug.": "Denne slug er allerede i brug. Vælg venligst en anden.",
"There might be a typing error in the address.": "Der er muligvis en stavfejl i adressen.",
"Long-Lived Access Token": "Long-Lived Access Token",
"Search monitored sites": "Søg overvågede sites",
"liquidIntroduction": "Templatability opnås via Liquid-templeringssproget. Se venligst {0} for brugsanvisninger. Her er de tilgængelige variabler:",
"templateLimitedToUpDownCertNotifications": "kun tilgængelig for UP/DOWN/Certifikatudløb notifikationer",
"shrinkDatabaseDescriptionSqlite": "Udløs database-{vacuum} for SQLite. {auto_vacuum} er allerede aktiveret, men dette defragmenterer ikke databasen eller ompakker de enkelte database-sider på samme måde som {vacuum}-kommandoen gør.",
"Check/Uncheck": "Markér/Afjern markering",
"enableProxyDescription": "Denne proxy vil ikke påvirke monitor-forespørgsler, før den er aktiveret. Du kan midlertidigt deaktivere proxyen for alle monitorer via aktiveringsstatus.",
"RadiusSecretDescription": "Delt hemmelighed mellem klient og server",
"noDockerHostMsg": "Ikke tilgængelig. Opsæt en Docker-host først.",
"DockerHostRequired": "Angiv venligst Docker-hosten for denne monitor.",
"tailscalePingWarning": "For at bruge Tailscale Ping-monitoren skal du installere Uptime Kuma uden Docker og også installere Tailscale-klienten på din server.",
"trustProxyDescription": "Tillid til X-Forwarded-* headers. Hvis du vil hente den korrekte klient-IP, og din Uptime Kuma er bag en proxy såsom Nginx eller Apache, bør du aktivere dette.",
"Long-Lived Access Token can be created by clicking on your profile name (bottom left) and scrolling to the bottom then click Create Token. ": "En langvarig adgangstoken kan oprettes ved at klikke på dit profilnavn (nederst til venstre), rulle ned til bunden og derefter klikke på “Opret token”. ",
"backupOutdatedWarning": "Forældet: Da mange funktioner er blevet tilføjet, og denne backup-funktion er lidt vedligeholdelsesfri, kan den ikke generere eller gendanne en komplet backup.",
"invalidCronExpression": "Ugyldigt Cron-udtryk: {0}",
"chromeExecutableDescription": "For Docker-brugere: Hvis Chromium endnu ikke er installeret, kan det tage et par minutter at installere og vise testresultatet. Det kræver 1 GB diskplads.",
"Effective Date Range": "Gyldig datointerval (Valgfrit)",
"DateTime Range": "Dato-/tidsinterval",
"notificationRegional": "Regional",
"smtpLiquidIntroduction": "De følgende to felter kan tilpasses via Liquid-templateringssproget. Se venligst {0} for brugsanvisninger. Her er de tilgængelige variabler:",
"whatHappensAtForumPost": "Opret en ny forumpost. Dette sender IKKE beskeder i en eksisterende post. For at sende i en eksisterende post, brug ”{option}”",
"grpcMethodDescription": "Metodenavnet konverteres til camelCase-format, såsom sayHello, check osv.",
"affectedMonitorsDescription": "Vælg de monitorer, der er påvirket af den aktuelle vedligeholdelse",
"jsonQueryDescription": "Parse og udtræk specifikke data fra serverens JSON-svar ved hjælp af en JSON-forespørgsel, eller brug ”$” for det rå svar, hvis JSON ikke forventes. Resultatet sammenlignes derefter med den forventede værdi som strenge. Se {0} for dokumentation, og brug {1} til at eksperimentere med forespørgsler.",
"pushoversounds classical": "Klassisk",
"pushoversounds pianobar": "Piano Bar",
"wayToGetKookBotToken": "Opret en applikation og få din bot-token på {0}",
"wayToGetKookGuildID": "Tænd for Developer Mode i Kook-indstillingerne, og højreklik på guilden for at få dens ID",
"successKeywordExplanation": "MQTT-nøgleord, der vil blive betragtet som succes",
"endpoint": "endpoint",
"topicExplanation": "MQTT-emne til overvågning",
"settingUpDatabaseMSG": "Opsætter databasen. Det kan tage et stykke tid, så vær tålmodig.",
"now": "nu",
"Json Query Expression": "Json Query Expression",
"locally configured mail transfer agent": "lokalt konfigureret mail overførsels agent",
"Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "Indtast enten værtsnavnet på serveren du vil forbinde til eller {localhost} hvis du planlægger at bruge en {local_mta}",
"timeoutAfter": "Timeout efter {0} sekunder",
"ignoredTLSError": "TLS/SSL-fejl er blevet ignoreret",
"Invert Keyword": "Inverter Nøgleord",
"Resend Notification if Down X times consecutively": "Send meddelelse igen, hvis Ned X gange i træk",
"Expected Value": "Forventede Værdi",
"setupDatabaseSQLite": "En simpel database-fil, anbefalet til mindre implementeringer. Før v2.0.0, brugte Uptime Kuma SQLite som standard database.",
"ignoreTLSErrorGeneral": "Ignorér TLS/SSL-fejl for forbindelsen",
"time ago": "{0} siden",
"-year": "-år",
"Host URL": "Host URL",
"Request Timeout": "Anmod Timeout",
"Cannot connect to the socket server": "Kan ikke oprette forbindelse til socket serveren",
"pushViewCode": "Hvordan bruger man Push Monitor? (Se kode)"
}

View File

@ -1095,5 +1095,24 @@
"Separate multiple email addresses with commas": "Mehrere E-Mail-Adressen mit Kommas trennen",
"rabbitmqNodesInvalid": "Benutze eine vollständig qualifizierte URL (beginnend mit 'http') für RabbitMQ-Knoten.",
"rabbitmqHelpText": "Um den Monitor zu benutzen, musst du das Management Plugin in deinem RabbitMQ-Setup aktivieren. Weitere Informationen siehe {rabitmq_documentation}.",
"aboutSlackUsername": "Ändert den Anzeigenamen des Absenders. Wenn du jemanden erwähnen möchtest, füge ihn stattdessen in den Namen ein."
"aboutSlackUsername": "Ändert den Anzeigenamen des Absenders. Wenn du jemanden erwähnen möchtest, füge ihn stattdessen in den Namen ein.",
"templateHostnameOrURL": "Hostname oder URL",
"telegramUseTemplate": "Benutzerdefinierte Nachrichtenvorlage verwenden",
"telegramUseTemplateDescription": "Wenn diese Option aktiviert ist, wird die Nachricht unter Verwendung einer benutzerdefinierten Vorlage gesendet.",
"templateServiceName": "Service-Name",
"YZJ Webhook URL": "YZJ Webhook URL",
"YZJ Robot Token": "YZJ Robot Token",
"templateStatus": "Status",
"telegramTemplateFormatDescription": "Telegram ermöglicht die Verwendung verschiedener Markup-Sprachen für Nachrichten, siehe Telegram {0} für spezifische Details.",
"Plain Text": "Nur Text",
"Message Template": "Nachrichtenvorlage",
"Template Format": "Vorlagenformat",
"wayToGetWahaApiUrl": "Die URL deiner WAHA-Instanz.",
"wayToGetWahaSession": "Von dieser Sitzung aus sendet WAHA Benachrichtigungen an die Chat-ID. Du kannst sie im WAHA Dashboard finden.",
"wahaSession": "Sitzung",
"wahaChatId": "Chat-ID (Telefonnummer / Kontakt-ID / Gruppen-ID)",
"wayToGetWahaApiKey": "API-Schlüssel ist der Wert der WHATSAPP_API_KEY-Umgebungsvariable, den du beim Ausführen von WAHA verwendet hast.",
"wayToWriteWahaChatId": "Die Telefonnummer mit internationaler Vorwahl, ohne den anfänglichen Pluszeichen ({0}), die Kontakt-ID ({1}) oder die Gruppen-ID ({2}). Die Benachrichtigungen werden an diese Chat-ID von der WAHA-Sitzung gesendet.",
"telegramServerUrl": "(Optional) Server URL",
"telegramServerUrlDescription": "Um die Telegram-Bot-API-Beschränkungen aufzuheben oder in gesperrten Gebieten (China, Iran usw.) Zugriff zu erhalten. Weitere Informationen findest du unter {0}. Standard: {1}"
}

View File

@ -1098,5 +1098,24 @@
"rabbitmqNodesDescription": "Gib die URL für die RabbitMQ-Verwaltungsknoten einschließlich Protokoll und Port ein. Beispiel: {0}",
"rabbitmqNodesInvalid": "Benutze eine vollständig qualifizierte URL (beginnend mit 'http') für RabbitMQ-Knoten.",
"rabbitmqHelpText": "Um den Monitor zu benutzen, musst du das Management Plugin in deinem RabbitMQ-Setup aktivieren. Weitere Informationen siehe {rabitmq_documentation}.",
"aboutSlackUsername": "Ändert den Anzeigenamen des Absenders. Wenn du jemanden erwähnen möchtest, füge ihn stattdessen in den Namen ein."
"aboutSlackUsername": "Ändert den Anzeigenamen des Absenders. Wenn du jemanden erwähnen möchtest, füge ihn stattdessen in den Namen ein.",
"templateHostnameOrURL": "Hostname oder URL",
"telegramUseTemplate": "Benutzerdefinierte Nachrichtenvorlage verwenden",
"telegramTemplateFormatDescription": "Telegram ermöglicht die Verwendung verschiedener Markup-Sprachen für Nachrichten, siehe Telegram {0} für spezifische Details.",
"Plain Text": "Nur Text",
"templateServiceName": "Service-Name",
"YZJ Webhook URL": "YZJ Webhook URL",
"YZJ Robot Token": "YZJ Robot Token",
"templateStatus": "Status",
"telegramUseTemplateDescription": "Wenn diese Option aktiviert ist, wird die Nachricht unter Verwendung einer benutzerdefinierten Vorlage gesendet.",
"Message Template": "Nachrichtenvorlage",
"Template Format": "Vorlagenformat",
"wayToGetWahaApiUrl": "Die URL deiner WAHA-Instanz.",
"wahaSession": "Sitzung",
"wahaChatId": "Chat-ID (Telefonnummer / Kontakt-ID / Gruppen-ID)",
"wayToGetWahaApiKey": "API-Schlüssel ist der Wert der WHATSAPP_API_KEY-Umgebungsvariable, den du beim Ausführen von WAHA verwendet hast.",
"wayToGetWahaSession": "Von dieser Sitzung aus sendet WAHA Benachrichtigungen an die Chat-ID. Du kannst sie im WAHA Dashboard finden.",
"wayToWriteWahaChatId": "Die Telefonnummer mit internationaler Vorwahl, ohne den anfänglichen Pluszeichen ({0}), die Kontakt-ID ({1}) oder die Gruppen-ID ({2}). Die Benachrichtigungen werden an diese Chat-ID von der WAHA-Sitzung gesendet.",
"telegramServerUrlDescription": "Um die Telegram-Bot-API-Beschränkungen aufzuheben oder in gesperrten Gebieten (China, Iran usw.) Zugriff zu erhalten. Weitere Informationen findest du unter {0}. Standard: {1}",
"telegramServerUrl": "(Optional) Server URL"
}

View File

@ -231,6 +231,9 @@
"templateMonitorJSON": "object describing the monitor",
"templateLimitedToUpDownCertNotifications": "only available for UP/DOWN/Certificate expiry notifications",
"templateLimitedToUpDownNotifications": "only available for UP/DOWN notifications",
"templateServiceName": "service name",
"templateHostnameOrURL": "hostname or URL",
"templateStatus": "status",
"webhookAdditionalHeadersTitle": "Additional Headers",
"webhookAdditionalHeadersDesc": "Sets additional headers sent with the webhook. Each header should be defined as a JSON key/value.",
"webhookBodyPresetOption": "Preset - {0}",
@ -421,8 +424,13 @@
"telegramSendSilentlyDescription": "Sends the message silently. Users will receive a notification with no sound.",
"telegramProtectContent": "Protect Forwarding/Saving",
"telegramProtectContentDescription": "If enabled, the bot messages in Telegram will be protected from forwarding and saving.",
"telegramUseTemplate": "Use custom message template",
"telegramUseTemplateDescription": "If enabled, the message will be sent using a custom template.",
"telegramTemplateFormatDescription": "Telegram allows using different markup languages for messages, see Telegram {0} for specifc details.",
"supportTelegramChatID": "Support Direct Chat / Group / Channel's Chat ID",
"wayToGetTelegramChatID": "You can get your chat ID by sending a message to the bot and going to this URL to view the chat_id:",
"telegramServerUrl": "(Optional) Server Url",
"telegramServerUrlDescription": "To lift Telegram's bot api limitations or gain access in blocked areas (China, Iran, etc). For more information click {0}. Default: {1}",
"YOUR BOT TOKEN HERE": "YOUR BOT TOKEN HERE",
"chatIDNotFound": "Chat ID is not found; please send a message to this bot first",
"disableCloudflaredNoAuthMsg": "You are in No Auth mode, a password is not required.",
@ -519,9 +527,6 @@
"leave blank for default subject": "leave blank for default subject",
"emailCustomBody": "Custom Body",
"leave blank for default body": "leave blank for default body",
"emailTemplateServiceName": "Service Name",
"emailTemplateHostnameOrURL": "Hostname or URL",
"emailTemplateStatus": "Status",
"emailTemplateMonitorJSON": "object describing the monitor",
"emailTemplateHeartbeatJSON": "object describing the heartbeat",
"emailTemplateMsg": "message of the notification",
@ -1051,5 +1056,16 @@
"RabbitMQ Password": "RabbitMQ Password",
"rabbitmqHelpText": "To use the monitor, you will need to enable the Management Plugin in your RabbitMQ setup. For more information, please consult the {rabitmq_documentation}.",
"SendGrid API Key": "SendGrid API Key",
"Separate multiple email addresses with commas": "Separate multiple email addresses with commas"
"Separate multiple email addresses with commas": "Separate multiple email addresses with commas",
"wahaSession": "Session",
"wahaChatId": "Chat ID (Phone Number / Contact ID / Group ID)",
"wayToGetWahaApiUrl": "Your WAHA Instance URL.",
"wayToGetWahaApiKey": "API Key is WHATSAPP_API_KEY environment variable value you used to run WAHA.",
"wayToGetWahaSession": "From this session WAHA sends notifications to Chat ID. You can find it in WAHA Dashboard.",
"wayToWriteWahaChatId": "The phone number with the international prefix, but without the plus sign at the start ({0}), the Contact ID ({1}) or the Group ID ({2}). Notifications are sent to this Chat ID from WAHA Session.",
"YZJ Webhook URL": "YZJ Webhook URL",
"YZJ Robot Token": "YZJ Robot token",
"Plain Text": "Plain Text",
"Message Template": "Message Template",
"Template Format": "Template Format"
}

View File

@ -9,7 +9,7 @@
"passwordNotMatchMsg": "La contraseña repetida no coincide.",
"notificationDescription": "Por favor asigna una notificación a el/los monitor(es) para hacerlos funcional(es).",
"keywordDescription": "Buscar palabra clave en HTML plano o respuesta JSON. La búsqueda es sensible a mayúsculas.",
"pauseDashboardHome": "Pausado",
"pauseDashboardHome": "Pausar",
"deleteMonitorMsg": "¿Seguro que quieres eliminar este monitor?",
"deleteNotificationMsg": "¿Seguro que quieres eliminar esta notificación para todos los monitores?",
"resolverserverDescription": "Cloudflare es el servidor por defecto, puedes cambiar el servidor de resolución en cualquier momento.",
@ -654,7 +654,7 @@
"gorush": "Gorush",
"squadcast": "Squadcast",
"Maintenance Time Window of a Day": "Ventana de tiempo de mantenimiento de un día",
"Effective Date Range": "Rango de Fechas Efectivas (Opcional)",
"Effective Date Range": "Rango de Fecha Efectivo(Opcional)",
"Free Mobile User Identifier": "Identificador de Usuario de Free Mobile",
"Gateway Type": "Tipo de puerta de enlace",
"SMSManager": "SMSManager",
@ -677,7 +677,7 @@
"alertaRecoverState": "Estado de Recuperación",
"serwersms": "SerwerSMS.pl",
"serwersmsAPIUser": "Nombre de usuario de API (inc. webapi_ prefix)",
"smseagleGroup": "Nombre/s del grupo de la guía telefónica",
"smseagleGroup": "Nombre(s) de grupo(s) de Guía Telefónica",
"Unpin": "Dejar de Fijar",
"Prefix Custom Message": "Prefijo personalizado",
"markdownSupported": "Sintaxis de Markdown soportada",
@ -818,7 +818,7 @@
"showCertificateExpiry": "Mostrar caducidad del certificado",
"noOrBadCertificate": "Certificado Nulo/Incorrecto",
"aboutNotifyChannel": "Notificar canal activará una notificación de escritorio o móvil para todos los miembros del canal, ya sea que su disponibilidad esté activa o ausente.",
"Server URL should not contain the nfty topic": "La URL del servidor no debe contener el tema nfty",
"Server URL should not contain the nfty topic": "La URL del servidor no puede incluír el tópico de ntfy",
"PushDeer Server": "Servidor PushDeer",
"pushDeerServerDescription": "Dejar en blanco para usar el servidor oficial",
"Badge Duration (in hours)": "Duración de la insignia (en horas)",
@ -855,26 +855,26 @@
"2faEnabled": "2FA habilitado.",
"2faDisabled": "2FA deshabilitado.",
"liquidIntroduction": "La plantilla se logra a través del lenguaje de plantillas Liquid. Consulte {0} para obtener instrucciones de uso. Estas son las variables disponibles:",
"templateLimitedToUpDownCertNotifications": "disponible solo para notificaciones de arriba/abajo/caducidad del certificado",
"templateLimitedToUpDownCertNotifications": "solo disponible para notificaciones FUNCIONAL/CAÍDO/Caducidad de certificado",
"emailTemplateMsg": "mensaje de la notificación",
"emailTemplateLimitedToUpDownNotification": "disponible solo para latidos de arriba/abajo, de lo contrario, nulo",
"emailTemplateLimitedToUpDownNotification": "sólo disponible para latidos FUNCIONAL/CAÍDO, de lo contrario nulo",
"setup a new monitor group": "configurar un nuevo grupo de monitores",
"authUserInactiveOrDeleted": "El usuario está inactivo o eliminado.",
"2faAlreadyEnabled": "2FA ya está activado.",
"2faAlreadyEnabled": "2FA ya está habilitado.",
"remoteBrowsersDescription": "Los navegadores remotos son una alternativa a ejecutar Chromium localmente. Configúralos con un servicio como browserless.io o conéctalos a tu propio servidor",
"successKeyword": "Palabra clave de éxito",
"successKeywordExplanation": "MQTT Palabra clave que se considerará como éxito",
"Remove the expiry notification": "Eliminar la notificación de vencimiento",
"Browser Screenshot": "Captura de pantalla del navegador",
"emailCustomisableContent": "Contenido personalizable",
"smtpLiquidIntroduction": "Los siguientes dos campos son personalizables a través del lenguaje de plantillas Liquid. Por favor, consulta {0} para las instrucciones de uso. Estas son las variables disponibles:",
"leave blank for default subject": "dejar en blanco para asunto predeterminado",
"smtpLiquidIntroduction": "Los dos campos siguientes pueden crear plantillas mediante el lenguaje de plantillas Liquid. Consulte {0} para obtener instrucciones de uso. Estas son las variables disponibles:",
"leave blank for default subject": "dejar en blanco para el asunto predeterminado",
"emailCustomBody": "Cuerpo personalizado",
"successAuthChangePassword": "La contraseña se ha actualizado correctamente.",
"successDeleted": "Eliminado con éxito.",
"successDeleted": "Borrado exitosamente.",
"successEdited": "Editado con éxito.",
"successDisabled": "Desactivado con éxito.",
"GrafanaOncallUrl": "Grafana URL de llamada",
"successDisabled": "Deshabilitado con éxito.",
"GrafanaOncallUrl": "URL de llamada de Grafana",
"Reset Token": "Restablecer Token",
"Remote Browsers": "Navegadores remotos",
"Remote Browser": "Navegador remoto",
@ -885,17 +885,17 @@
"successResumed": "Reanudado con éxito.",
"successPaused": "Pausado con éxito.",
"successBackupRestored": "Copia de seguridad restaurada correctamente.",
"successEnabled": "Activado con éxito.",
"successEnabled": "Habilitado exitosamente.",
"tagNotFound": "Etiqueta no encontrada.",
"foundChromiumVersion": "Encontrado Chromium/Chrome. Versión: {0}",
"foundChromiumVersion": "Se encontró Chromium/Chrome. Versión: {0}",
"pushViewCode": "¿Cómo utilizar el monitor Push? (Ver código)",
"pushOthers": "Otros",
"programmingLanguages": "Lenguajes de Programación",
"templateMsg": "mensaje de la notificación",
"templateMonitorJSON": "objeto que describe el monitor",
"templateLimitedToUpDownNotifications": "disponible solo para notificaciones de arriba/abajo",
"templateLimitedToUpDownNotifications": "sólo disponible para notificaciones FUNCIONAL/CAIDO",
"Add a new expiry notification day": "Añadir una nueva notificación de vencimiento",
"leave blank for default body": "dejar en blanco para el cuerpo por defecto",
"leave blank for default body": "dejar en blanco para el cuerpo predeterminado",
"emailTemplateServiceName": "Nombre del Servicio",
"emailTemplateHostnameOrURL": "Nombre del Host o URL",
"emailTemplateStatus": "Estado",
@ -916,7 +916,7 @@
"ntfyPriorityHelptextAllExceptDown": "Todos los eventos son enviados con esta prioridad, excepto los eventos {0}, que tienen una prioridad de {1}",
"templateHeartbeatJSON": "objeto que describe el latido",
"What is a Remote Browser?": "¿Qué es un Navegador Remoto?",
"Your User ID": "Tu ID de usuario",
"Your User ID": "Su ID de usuario",
"Alphanumeric (recommended)": "Alfanumérico (recomendado)",
"Destination": "Destino",
"wayToGetWhapiUrlAndToken": "Puedes obtener la URL de la API y el token accediendo al canal que desee desde {0}",
@ -927,7 +927,7 @@
"Refresh Interval": "Intervalo de refresco",
"ignoreTLSErrorGeneral": "Ignorar errores SSL/TLS durante la conexión",
"documentationOf": "Documentación de {0}",
"wayToGetHeiiOnCallDetails": "Cómo obtener el ID del Disparador y las Claves API se explica en la {documentación}",
"wayToGetHeiiOnCallDetails": "Cómo obtener el Trigger ID y las API Keys se explica en la {documentación}",
"Command": "Comando",
"wayToGetThreemaGateway": "Puedes registrarte para Threema Gateway {0}.",
"threemaRecipient": "Destinatario",
@ -941,7 +941,7 @@
"Host URL": "URL del anfitrión",
"Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "Ingresa el nombre del host del servidor al que deseas conectarte o {localhost} si deseas usar un {local_mta}",
"smspartnerPhoneNumberHelptext": "El número debe estar en el formato internacional {0}, {1}. Múltiples números deben estar separados por {2}",
"smspartnerSenderName": "Nombre del remitente de SMS",
"smspartnerSenderName": "Nombre del emisor del SMS",
"smspartnerApiurl": "Puedes encontrar tu clave API en tu panel de control en {0}",
"smspartnerPhoneNumber": "Número(s) de teléfono",
"max 11 alphanumeric characters": "máximo 11 caracteres alfanuméricos",
@ -951,7 +951,7 @@
"Originator type": "Tipo de originador",
"Telephone number": "Número de teléfono",
"Mentioning": "Mencionando",
"Don't mention people": "No mencionar a las personas",
"Don't mention people": "No mencionar personas",
"Mention group": "Mencionar a {group}",
"Bitrix24 Webhook URL": "URL del Webhook de Bitrix24",
"wayToGetBitrix24Webhook": "Puedes crear un webhook siguiendo los pasos en {0}",
@ -961,11 +961,11 @@
"wayToWriteWhapiRecipient": "El número de teléfono con el prefijo internacional, pero sin el signo más al inicio ({0}), el ID de Contacto ({1}) o el ID de Grupo ({2}).",
"From Phone Number / Transmission Path Originating Address (TPOA)": "Número de Teléfono del Remitente / Dirección de Origen de la Ruta de Transmisión (TPOA)",
"To Phone Number": "Al Número de Teléfono",
"Select message type": "Seleccionar tipo de mensaje",
"Select message type": "Seleccionar el tipo de mensaje",
"Send to channel": "Enviar al canal",
"max 15 digits": "máximo 15 dígitos",
"mongodbCommandDescription": "Ejecuta un comando de MongoDB contra la base de datos. Para obtener información sobre los comandos disponibles, consulta la {documentación}",
"whapiRecipient": "Número de Teléfono / ID de Contacto / ID de Grupo",
"whapiRecipient": "Número de teléfono / ID del contacto / ID del grupo",
"cellsyntSplitLongMessages": "Divide mensajes largos en hasta 6 partes. 153 x 6 = 918 caracteres.",
"receiverSevenIO": "Número receptor",
"apiKeySevenIO": "Clave API de SevenIO",
@ -974,7 +974,7 @@
"gtxMessagingToHint": "Formato internacional, con el signo \"+\" al inicio ({e164}, {e212} o {e214})",
"locally configured mail transfer agent": "agente de transferencia de correo configurado localmente",
"wayToGetDiscordThreadId": "Obtener un ID de hilo / publicación en el foro es similar a obtener un ID de canal. Lee más sobre cómo obtener IDs {0}",
"smspartnerSenderNameInfo": "Debe tener entre 3..=11 caracteres normales",
"smspartnerSenderNameInfo": "Debe ser entre 3..=11 carácteres regulares",
"receiverInfoSevenIO": "Si el número receptor no está ubicado en Alemania, debes agregar el código de país delante del número (por ejemplo, para el código de país 1 de EE. UU. usa 117612121212 en lugar de 017612121212)",
"callMeBotGet": "Aquí puedes generar un endpoint para {0}, {1} y {2}. Ten en cuenta que podrías recibir limitaciones de tasa. Las limitaciones de tasa parecen ser: {3}",
"cellsyntOriginator": "Visible en el teléfono móvil del destinatario como originador del mensaje. Los valores permitidos y la función dependen del parámetro originatortype.",
@ -982,8 +982,8 @@
"threemaApiAuthenticationSecret": "Clave Secreta del Gateway-ID",
"threemaBasicModeInfo": "Nota: Esta integración utiliza Threema Gateway en modo básico (encriptación basada en servidor). Puedes encontrar más detalles en {0}.",
"apiKeysDisabledMsg": "Las claves API están desactivadas porque la autenticación está desactivada.",
"Channel access token (Long-lived)": "Token de acceso al canal (de larga duración)",
"Create new forum post": "Crear nueva publicación en el foro",
"Channel access token (Long-lived)": "Token de acceso al canal (Larga duración)",
"Create new forum post": "Crear un nuevo post en el foro",
"postToExistingThread": "Publicar en hilo / publicación existente",
"forumPostName": "Nombre de la publicación en el foro",
"threadForumPostID": "ID del hilo / publicación en el foro",
@ -1004,14 +1004,14 @@
"and": "y",
"Message format": "Formato del mensaje",
"Send rich messages": "Enviar mensajes enriquecidos",
"OID (Object Identifier)": "OID (Object Identifier)",
"OID (Object Identifier)": "(Identificador de Objeto) OID",
"snmpOIDHelptext": "Ingrese el OID del sensor o el estado que desea monitorear. Use herramientas de administración de red como navegadores MIB o software SNMP si no está seguro acerca del OID.",
"Condition": "Condición",
"SNMP Version": "Versión SNMP",
"Please enter a valid OID.": "Por favor escribe un OID válido.",
"Host Onesender": "Host Onesender",
"Token Onesender": "Token Onesender",
"Recipient Type": "Recipient Type",
"Host Onesender": "Host de Onesender",
"Token Onesender": "Token de Onesender",
"Recipient Type": "Tipo de Receptor",
"Private Number": "Número Privado",
"groupOnesenderDesc": "Asegúrese de que el ID del grupo sea válido. Para enviar un mensaje al grupo, por ejemplo: 628123456789-342345",
"Group ID": "ID del grupo",
@ -1024,13 +1024,13 @@
"Form Data Body": "Cuerpo de datos del formulario",
"OAuth Token URL": "OAuth Token URL",
"Client ID": "ID del Cliente",
"Client Secret": "Client Secret",
"OAuth Scope": "OAuth Scope",
"Client Secret": "Secreto de Cliente",
"OAuth Scope": "Alcance OAuth",
"Go back to home page.": "Volver a la página de inicio.",
"Lost connection to the socket server.": "Se perdió la conexión con el servidor de socket.",
"Cannot connect to the socket server.": "No se puede conectar al servidor de socket.",
"SIGNL4": "SIGNL4",
"SIGNL4 Webhook URL": "SIGNL4 Webhook URL",
"SIGNL4 Webhook URL": "URL de SIGNL4 WebhooK",
"Conditions": "Condiciones",
"conditionAdd": "Añadir condición",
"now": "ahora",
@ -1038,7 +1038,7 @@
"-year": "-año",
"Json Query Expression": "Expresión de consulta Json",
"ignoredTLSError": "Se han ignorado errores TLS/SSL",
"conditionDelete": "Eliminar condición",
"conditionDelete": "Borrar condición",
"conditionAddGroup": "Añadir grupo",
"conditionDeleteGroup": "Borrar grupo",
"conditionValuePlaceholder": "Valor",
@ -1046,5 +1046,46 @@
"not equals": "no es igual",
"contains": "contiene",
"not contains": "no contiene",
"starts with": "empieza por"
"starts with": "empieza por",
"not starts with": "no empieza por",
"ends with": "termina con",
"not ends with": "No termina en",
"less than": "menor que",
"greater than": "mayor que",
"less than or equal to": "Menor o igual a",
"greater than or equal to": "Mayor o igual a",
"Notification Channel": "Canal de notificación",
"Sound": "Sonido",
"record": "Registro",
"RabbitMQ Username": "Usuario RabbitMQ",
"RabbitMQ Password": "Contraseña RabbitMQ",
"RabbitMQ Nodes": "Nodos de Gestión RabbitMQ",
"rabbitmqNodesRequired": "Por favor, configure los nodos para este monitor.",
"rabbitmqNodesInvalid": "Por favor, utilice una URL totalmente cualificada (comenzando por 'http') para los nodos RabbitMQ.",
"Separate multiple email addresses with commas": "Separa las múltiples direcciones de correo con comas",
"rabbitmqHelpText": "Para utilizar el monitor, necesitará habilitar el Plugin de Gestión en su configuración RabbitMQ. Para más información, por favor consulte {rabitmq_documentation}.",
"SendGrid API Key": "Clave de la API de SendGrid",
"rabbitmqNodesDescription": "Introduzca la URL para los nodos de gestión de RabbitMQ incluyendo el protocolo y el puerto. Ejemplo: {0}",
"Money": "Dinero",
"Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "O bien un texto de ID de origen o un número de teléfono en formato E.164 si quiere ser capaz de recibir respuestas.",
"Harp": "Arpa",
"Scifi": "Ciencia Ficción",
"Alphanumerical string and hyphens only": "Sólo cadenas alfanuméricas y guiones",
"Time Sensitive (iOS Only)": "Sensible a la Hora (Solo iOS)",
"Doorbell": "Timbre",
"Flute": "Flauta",
"Guitar": "Guitarra",
"Correct": "Correcto",
"Bubble": "Burbuja",
"Elevator": "Ascensor",
"Fail": "Fallo",
"Reveal": "Mostrar",
"Pop": "Pop",
"From": "De",
"Clear": "Limpiar",
"Can be found on:": "Se puede encontrar en: {0}",
"Custom sound to override default notification sound": "Sonidos personalizados prevalecen sobre los sonidos por defecto de las notificaciones",
"The phone number of the recipient in E.164 format.": "El número de teléfono del receptor en formato E.164.",
"Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Las notificaciones sensibles en el tiempo se enviarán inmediatamente, incluso si el dispositivo está en modo no molestar.",
"Arcade": "Arcade"
}

View File

@ -216,19 +216,19 @@
"smtpCC": "CC",
"smtpBCC": "BCC",
"discord": "Discord",
"Discord Webhook URL": "Discord Webhook URL",
"wayToGetDiscordURL": "You can get this by going to Server Settings -> Integrations -> Create Webhook",
"Bot Display Name": "Bot Display Name",
"Discord Webhook URL": "Discord Webhook URLa",
"wayToGetDiscordURL": "Hona joanda lortu dezakezu: Server Settings -> Integrations -> View Webhooks -> New Webhook",
"Bot Display Name": "Botaren erakusteko izena",
"Prefix Custom Message": "Prefix Custom Message",
"Hello @everyone is...": "Kaixo {'@'}edonor da…",
"teams": "Microsoft Teams",
"Webhook URL": "Webhook URL",
"Webhook URL": "Webhook URLa",
"wayToGetTeamsURL": "You can learn how to create a webhook URL {0}.",
"wayToGetZohoCliqURL": "You can learn how to create a webhook URL {0}.",
"signal": "Signal",
"Number": "Zenbakia",
"Recipients": "Recipients",
"needSignalAPI": "You need to have a signal client with REST API.",
"Recipients": "Hartzaileak",
"needSignalAPI": "REST APIarekin signal bezeroa eduki behar duzu.",
"wayToCheckSignalURL": "You can check this URL to view how to set one up:",
"signalImportant": "IMPORTANT: You cannot mix groups and numbers in recipients!",
"gotify": "Gotify",
@ -280,8 +280,8 @@
"Read more": "Irakurri gehiago",
"appriseInstalled": "Apprise instalatuta.",
"appriseNotInstalled": "Apprise ez dago instalatuta. {0}",
"Access Token": "Access Token",
"Channel access token": "Channel access token",
"Access Token": "Access Tokena",
"Channel access token": "Kanalaren access tokena",
"Line Developers Console": "Line Developers Console",
"lineDevConsoleTo": "Line Developers Console - {0}",
"Basic Settings": "Oinarrizko ezarpenak",
@ -316,7 +316,7 @@
"One record": "One record",
"steamApiKeyDescription": "For monitoring a Steam Game Server you need a Steam Web-API key. You can register your API key here: ",
"Current User": "Uneko erabiltzailea",
"topic": "Topic",
"topic": "Gaia",
"topicExplanation": "MQTT topic to monitor",
"successMessage": "Arrakasta mezua",
"successMessageExplanation": "MQTT message that will be considered as success",
@ -401,7 +401,7 @@
"proxyDescription": "Proxies must be assigned to a monitor to function.",
"enableProxyDescription": "This proxy will not effect on monitor requests until it is activated. You can control temporarily disable the proxy from all monitors by activation status.",
"setAsDefaultProxyDescription": "This proxy will be enabled by default for new monitors. You can still disable the proxy separately for each monitor.",
"Certificate Chain": "Certificate Chain",
"Certificate Chain": "Zertifikatu katea",
"Valid": "Baliozkoa",
"Invalid": "Baliogabea",
"AccessKeyId": "AccessKey ID",
@ -476,7 +476,7 @@
"Footer Text": "Oineko testua",
"Show Powered By": "Erakutsi Honekin egina:",
"Domain Names": "Domeinu izenak",
"signedInDisp": "Signed in as {0}",
"signedInDisp": "{0} bezala logeatua",
"signedInDispDisabled": "Auth desgaituta.",
"Certificate Expiry Notification": "Zertifikatu iraungitze jakinarazpena",
"API Username": "API Erabiltzailea",
@ -587,5 +587,113 @@
"statusPageRefreshIn": "{0} barru freskatuko da.",
"now": "orain",
"time ago": "duela {0}",
"-year": "-urte"
"-year": "-urte",
"styleElapsedTimeShowNoLine": "Erakutsi (Lerrorik ez)",
"styleElapsedTimeShowWithLine": "Erakutsi (Lerroarekin)",
"Select": "Hautatu",
"Docker Container": "Docker edukiontzia",
"Container Name / ID": "Edukiontzi izena / ID",
"Packet Size": "Pakete tamaina",
"telegramSendSilently": "Bidali isilik",
"Examples": "Adibideak",
"default: notify all devices": "Defektuz: jakinarazi gailu guztiak",
"Event type:": "Ekintza mota:",
"Event data:": "Ekintza mota:",
"Optional": "Hautazkoa",
"and": "eta",
"sameAsServerTimezone": "Zerbitzariaren ordu-zona bera",
"endDateTime": "Bukaera data/ordua",
"cronExpression": "Cron espresioa",
"cronSchedule": "Programatu: ",
"invalidCronExpression": "Cron espresio baliogabea: {0}",
"recurringInterval": "Tartea",
"No Maintenance": "Mantenurik ez",
"maintenanceStatus-under-maintenance": "Mantenuan",
"maintenanceStatus-inactive": "Aktibatu gabe",
"maintenanceStatus-scheduled": "Programatuta",
"Display Timezone": "Erakutsi ordu zona",
"statusPageMaintenanceEndDate": "Bukatu",
"IconUrl": "Ikono URLa",
"chromeExecutableAutoDetect": "Auto detektatu",
"Schedule Maintenance": "Programatu mantenua",
"Edit Maintenance": "Editatu mantenua",
"Date and Time": "Data eta ordua",
"plugin": "Plugin | Pluginak",
"installing": "Instalatzen",
"uninstalling": "Desinstalatzen",
"confirmUninstallPlugin": "Ziur zaude plugin hau desinstalatu nahi duzula?",
"Clone": "Klonatu",
"cloneOf": "{0}-(a)ren klona",
"emailTemplateStatus": "Egoera",
"emailTemplateMsg": "jakinarazpenaren mezua",
"Select message type": "Hautatu mezu mota",
"Send to channel": "Bidali kanalera",
"Enable TLS": "Gaitu TLS",
"webhookAdditionalHeadersTitle": "Goiburu gehigarriak",
"Reset Token": "Berrezarri tokena",
"selectedMonitorCount": "Hautatuta: {0}",
"HTTP Headers": "HTTP goiburuak",
"Refresh Interval": "Eguneratze tartea",
"tcp": "TCP / HTTP",
"Notification Service": "Jakinarazpen zerbitzua",
"or": "edo",
"startDateTime": "Hasiera data/ordua",
"pauseMaintenanceMsg": "Ziur zaude gelditu nahi duzula?",
"install": "Instalatu",
"uninstall": "Desinstalatu",
"emailTemplateServiceName": "Zerbitzu izena",
"Your User ID": "Zure erabiltzaile IDa",
"Connection Type": "Konexio mota",
"pushOthers": "Besteak",
"programmingLanguages": "Programatze lengoaiak",
"dbName": "Datubase izena",
"resendEveryXTimes": "Berbidali {0} aldiz",
"Reconnecting...": "Birkonektatzen...",
"setupDatabaseChooseDatabase": "Zein datubase erabili nahi duzu?",
"Recurring": "Errepikakorra",
"Mentioning": "Aipatzen",
"Condition": "Baldintza",
"RabbitMQ Username": "RabbitMQ erabiltzailea",
"Expiry": "Iraungitzea",
"pagertreeSilent": "Isildu",
"Group": "Taldea",
"Saved.": "Gordeta.",
"Conditions": "Baldintzak",
"smseagleTo": "Telefono zenbakia(k)",
"Enable Kafka SSL": "Gaitu Kafka SSL",
"Continue": "Jarraitu",
"apiKey-active": "Aktibo",
"apiKey-expired": "Iraungita",
"apiKey-inactive": "Ez-aktibo",
"Expires": "Iraungitzen da",
"Generate": "Sortu",
"pagertreeUrgency": "Larritasuna",
"pagertreeLow": "Baxua",
"pagertreeHigh": "Altua",
"pagertreeCritical": "Larria",
"Destination": "Helburua",
"conditionValuePlaceholder": "Balioa",
"RabbitMQ Password": "RabbitMQ pasahitza",
"Correct": "Zuzena",
"Fail": "Akatsa",
"Elevator": "Igogailua",
"Guitar": "Gitarra",
"pagertreeMedium": "Ertaina",
"Host URL": "Host URLa",
"Affected Monitors": "Kaltetutako monitoreak",
"Pick Affected Monitors...": "Hautatu kaltetutako monitoreak…",
"deleteMaintenanceMsg": "Ziur zaude mantentze lan hau ezabatu nahi duzula?",
"smseagleEncoding": "Unicode gisa bidali",
"Add Another": "Gehitu beste bat",
"Google Analytics ID": "Google Analytics IDa",
"Edit Tag": "Editatu etiketa",
"PushDeer Server": "PushDeer zerbitzaria",
"Show Clickable Link": "Erakutsi lotura klikagarria",
"twilioToNumber": "zenbakira",
"twilioFromNumber": "zenbakitik",
"ntfyUsernameAndPassword": "Erabiltzailea eta pasahitza",
"lunaseaUserID": "Erabiltzaile IDa",
"pagertreeDoNothing": "Ez egin ezer",
"Separate multiple email addresses with commas": "Banatu email helbideak koma ikurrekin",
"settingUpDatabaseMSG": "Datubasea ezartzen. Denbora pixka bat iraun dezake, pazientzia eduki."
}

View File

@ -351,7 +351,7 @@
"statusPageRefreshIn": "تا بارگذاری مجدد: {0}",
"Content Type": "نوع محتوا (Content Type)",
"Server URL": "آدرس سرور",
"Priority": "اهمیت",
"Priority": "اولویت",
"emojiCheatSheet": "چیت شیت ایموجی ها: {0}",
"Read more": "بیشتر بدانید",
"webhookJsonDesc": "{0} برای هر HTTP سرور جدیدی مانند Express.js مناسب است",
@ -642,7 +642,7 @@
"Push URL": "URL پوش",
"Schedule maintenance": "زمانبندی نگهداری (غیرفعال سازی دستی)",
"webhookFormDataDesc": "{multipart} برای PHP مناسب است. آرایه JSON نیاز است تا به این شکل باز شود {decodeFunction}",
"webhookAdditionalHeadersTitle": "هدر اضافی",
"webhookAdditionalHeadersTitle": "هدرهای اضافی",
"webhookAdditionalHeadersDesc": "تنظیم هدر های اضافی که نیاز است با وب هوک ارسال شود. هر هدر باید به کیلد/مقدار JSON تعریف شده باشد.",
"Webhook URL": "آدرس وب هوک",
"Application Token": "توکن اپلیکیشن",
@ -1020,5 +1020,53 @@
"OAuth Token URL": "URL توکن OAuth",
"OAuth Scope": "اسکوپ OAuth",
"Optional: Space separated list of scopes": "اختیاری: لیست جدا شده با فاصله از اسکوپ‌ها",
"signl4Docs": "شما می‌توانید اطلاعات بیشتر در رابطه با نحوه تنظیم SIGNL4 و به دست آوردن URL وب‌هوک SIGNL4 را در {0} پیدا کنید."
"signl4Docs": "شما می‌توانید اطلاعات بیشتر در رابطه با نحوه تنظیم SIGNL4 و به دست آوردن URL وب‌هوک SIGNL4 را در {0} پیدا کنید.",
"ignoredTLSError": "خطاهای TLS/SSL نادیده گرفته میشود",
"Bubble": "حباب",
"Message format": "ساختار پیام",
"Notification Channel": "کانال اطلاع‌رسانی",
"Doorbell": "زنگ",
"The phone number of the recipient in E.164 format.": "شماره تلفن گیرنده به فرمت E.164.",
"Sound": "صدا",
"Correct": "درست",
"Reveal": "نمایش",
"Flute": "فلوت",
"Money": "پول",
"Scifi": "علمی‌تخیلی",
"Elevator": "آسانسور",
"Guitar": "گیتار",
"Pop": "پاپ",
"From": "از",
"telegramServerUrl": "(اختیاری) آدرس سرور",
"telegramServerUrlDescription": "برای کاهش محدودیت‌های بات تلگرام یا دسترسی در مناطقی که تلگرام فیلتر شده است (مثل ایران یا چین و ...). برای اطلاعات بیشتر {0} را ببینید. مقدار پیشفرض: {1}",
"Alphanumerical string and hyphens only": "فقط حروف الفبا، اعداد و -",
"Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "اعلان‌های حساس به زمان در لحظه ارسال خواهند شد، حتی اگر دستگاه در حالت بدون مزاحمت قرار داشته باشد.",
"rabbitmqNodesRequired": "لطفا گره‌های این پایش‌گر را تنظیم کنید.",
"RabbitMQ Password": "گذرواژه RabbitMQ",
"RabbitMQ Nodes": "گره‌های مدیریت RabbitMQ",
"rabbitmqHelpText": "برای پایش، لازم است افزونه مدیریت (Management) در RabbitMQ را فعال کنید. برای اطلاعات بیشتر به {rabitmq_documentation} مراجعه کنید.",
"wayToWriteWahaChatId": "شماره موبایل در قالب بین‌المللی و بدون علامت مثبت ابتدایی ({0})، شناسه مخاطب ({1}) یا شناسه گروه ({2}). اعلان‌ها از نشست WAHA به این شناسه گفتگو ارسال خواهند شد.",
"wahaSession": "نشست",
"wahaChatId": "شناسه گفتگو (شماره موبایل / شناسه مخاطب / شناسه گروه)",
"wayToGetWahaSession": "با این نشست WAHA اعلان‌ها را به شناسه گفتگو ارسال میکند. قابل مشاهده در پنل کاربری WAHA.",
"Message Template": "قالب پیام",
"Template Format": "فرمت قالب",
"YZJ Webhook URL": "آدرس وب‌هوک YZJ",
"Fail": "شکست",
"Custom sound to override default notification sound": "نوای دلخواه به جای نوای پیشفرض اعلان",
"Time Sensitive (iOS Only)": "حساس به زمان (فقط iOS)",
"Can be found on:": "در {0} یافت میشود",
"Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "شناسه ارسال کننده متنی و در صورتی که میخواهید پاسخ‌ها را دریافت کنید، شماره موبایل در قالب E.164.",
"rabbitmqNodesDescription": "آدرس گره‌های مدیریت RabbitMQ را به همراه پروتکل و شماره پورت وارد کنید. مثال: {0}",
"RabbitMQ Username": "نام کاربری RabbitMQ",
"Separate multiple email addresses with commas": "آدرس‌های ایمیل را با استفاده از ویرگول انگلیسی یا کاما جدا کنید",
"Plain Text": "متن ساده",
"aboutSlackUsername": "نام نمایشی ارسال کننده پیام را تغییر میدهد. اگر میخواهید شخصی را نام ببرید، در قسمت نام دوستانه بنویسید.",
"Clear": "پاک‌سازی",
"templateServiceName": "نام خدمت",
"templateHostnameOrURL": "آدرس یا نام میزبان",
"templateStatus": "وضعیت",
"telegramUseTemplate": "استفاده از قالب پیام دلخواه",
"telegramUseTemplateDescription": "در صورت فعال‌سازی، پیام با قالب دلخواه ارسال خواهد شد.",
"telegramTemplateFormatDescription": "در تلگرام امکان استفاده از زبان‌های نشانه‌گذاری مختلفی وجود دارد، برای جزئیات بیشتر {0} را ببینید."
}

View File

@ -517,7 +517,7 @@
"Domain Names": "Noms de domaine",
"signedInDisp": "Connecté en tant que {0}",
"signedInDispDisabled": "Authentification désactivée.",
"RadiusSecret": "Radius Secret",
"RadiusSecret": "Secret Radius",
"RadiusSecretDescription": "Secret partagé entre le client et le serveur",
"RadiusCalledStationId": "Identifiant de la station appelée",
"RadiusCalledStationIdDescription": "Identifiant de l'appareil appelé",
@ -1098,5 +1098,24 @@
"rabbitmqHelpText": "Pour utiliser la sonde, vous devrez activer le plug-in de gestion dans votre configuration RabbitMQ. Pour plus d'informations, veuillez consulter la {rabitmq_documentation}.",
"SendGrid API Key": "Clé API SendGrid",
"Separate multiple email addresses with commas": "Séparez plusieurs adresses e-mail par des virgules",
"aboutSlackUsername": "Modifie le nom d'affichage de l'expéditeur du message. Si vous souhaitez mentionner quelquun, incluez-le plutôt dans le nom convivial."
"aboutSlackUsername": "Modifie le nom d'affichage de l'expéditeur du message. Si vous souhaitez mentionner quelquun, incluez-le plutôt dans le nom convivial.",
"templateHostnameOrURL": "Nom d'hôte ou URL",
"telegramUseTemplate": "Utiliser un modèle de message personnalisé",
"telegramTemplateFormatDescription": "Telegram permet d'utiliser différents langages de balisage pour les messages, voir Telegram {0} pour plus de détails.",
"Plain Text": "Texte brut",
"YZJ Webhook URL": "URL du webhook YZJ",
"YZJ Robot Token": "Jeton robot YZJ",
"templateServiceName": "Nom du service",
"templateStatus": "Status",
"telegramUseTemplateDescription": "Si cette option est activée, le message sera envoyé à l'aide d'un modèle personnalisé.",
"Message Template": "Modèle de message",
"Template Format": "Format du modèle",
"wayToGetWahaApiUrl": "LURL de votre instance WAHA.",
"wayToGetWahaSession": "À partir de cette session, WAHA envoie des notifications à l'ID de discussion. Vous pouvez le trouver dans le tableau de bord WAHA.",
"wahaSession": "Session",
"wahaChatId": "ID de discussion (numéro de téléphone / ID de contact / ID de groupe)",
"wayToGetWahaApiKey": "La clé API est la valeur de la variable d'environnement WHATSAPP_API_KEY que vous avez utilisée pour exécuter WAHA.",
"wayToWriteWahaChatId": "Le numéro de téléphone avec le préfixe international, mais sans le signe plus ({0}), l'identifiant de contact ({1}) ni l'identifiant de groupe ({2}). Les notifications sont envoyées à cet identifiant de chat depuis la session WAHA.",
"telegramServerUrlDescription": "Pour lever les limitations de lAPI des bots Telegram ou accéder aux zones bloquées (Chine, Iran, etc.). Pour plus dinformations, cliquez sur {0}. Par défaut : {1}",
"telegramServerUrl": "(Facultatif) URL du serveur"
}

View File

@ -194,11 +194,11 @@
"telegram": "Telegram",
"Bot Token": "Token bota",
"wayToGetTelegramToken": "Token možete nabaviti preko {0}.",
"Chat ID": "ID razgovora",
"supportTelegramChatID": "Podržani su ID-jevi izravnih razgovora, grupa i kanala",
"wayToGetTelegramChatID": "ID razgovora možete saznati tako da botu pošaljete poruku te odete na ovaj URL:",
"YOUR BOT TOKEN HERE": "OVDJE IDE TOKEN BOTA",
"chatIDNotFound": "ID razgovora nije pronađen; prvo morate poslati poruku botu",
"Chat ID": "Identifikator razgovora",
"supportTelegramChatID": "Podržani su identifikatori izravnih razgovora, grupa i kanala",
"wayToGetTelegramChatID": "Identifikator razgovora možete saznati tako da botu pošaljete poruku te odete na ovaj URL:",
"YOUR BOT TOKEN HERE": "TOKEN BOTA STAVITI OVDJE",
"chatIDNotFound": "Identifikator razgovora nije pronađen; prvo morate poslati poruku botu",
"webhook": "Webhook",
"Post URL": "URL Post zahtjeva",
"Content Type": "Tip sadržaja (Content Type)",
@ -267,7 +267,7 @@
"Check octopush prices": "Provjerite cijene usluge Octopush {0}.",
"octopushPhoneNumber": "Telefonski broj (međunarodni format, primjerice: +38512345678) ",
"octopushSMSSender": "Naziv SMS pošiljatelja : 3-11 alfanumeričkih znakova i razmak (a-zA-Z0-9)",
"LunaSea Device ID": "LunaSea ID Uređaja",
"LunaSea Device ID": "LunaSea identifikator uređaja",
"Apprise URL": "URL usluge Apprise",
"Example:": "Primjerice: {0}",
"Read more:": "Pročitajte više: {0}",
@ -280,9 +280,9 @@
"Line Developers Console": "LINE razvojnoj konzoli",
"lineDevConsoleTo": "LINE razvojna konzola - {0}",
"Basic Settings": "Osnovne Postavke",
"User ID": "Korisnički ID",
"User ID": "Korisnički identifikator",
"Messaging API": "API za razmjenu poruka",
"wayToGetLineChannelToken": "Prvo, pristupite {0}, kreirajte pružatelja usluga te kanal (API za razmjenu poruka), zatim možete dobiti token za pristup kanalu te korisnički ID za polja iznad.",
"wayToGetLineChannelToken": "Prvo, pristupite {0}, kreirajte pružatelja usluga te kanal (API za razmjenu poruka), zatim možete dobiti token za pristup kanalu te identifikator korisnika za polja iznad.",
"Icon URL": "URL slike",
"aboutIconURL": "Možete postaviti poveznicu na sliku u polju \"URL slike\" kako biste spriječili korištenje zadane slike. Ovo se polje neće koristiti ako je postavljeno polje \"Emotikon\".",
"aboutMattermostChannelName": "Možete promijeniti kanal u kojeg webhook šalje tako da ispunite polje \"Naziv kanala\". Ta opcija mora biti omogućena unutar Mattermost postavki za webhook. Primjerice: #neki-kanal",
@ -554,7 +554,7 @@
"socket": "Docker socket",
"tcp": "TCP / HTTP",
"Docker Container": "Docker kontejner",
"Container Name / ID": "Naziv / ID kontejnera",
"Container Name / ID": "Naziv / identifikator kontejnera",
"Docker Host": "Docker domaćin",
"Docker Hosts": "Docker domaćini",
"ntfy Topic": "ntfy tema",
@ -632,7 +632,7 @@
"Authorization Identity": "Identitet autorizacije",
"weekdayShortThu": "Čet",
"setupDatabaseChooseDatabase": "Koju bazu podataka želite koristiti?",
"setupDatabaseEmbeddedMariaDB": "Ne morate ništa dodatno postavljati. Ovaj docker image ima ugrađenu i konfiguriranu MariaDB bazu podataka za Vas. Uptime Kuma će se spojiti na ovu bazu preko UNIX socketa.",
"setupDatabaseEmbeddedMariaDB": "Ne morate ništa dodatno postavljati. Ovaj Docker image ima ugrađenu i konfiguriranu MariaDB bazu podataka za Vas. Uptime Kuma će se spojiti na ovu bazu preko UNIX socketa.",
"setupDatabaseMariaDB": "Spojite vanjsku MariaDB bazu podataka. Morate unijeti informacije o konekciji prema bazi.",
"setupDatabaseSQLite": "Jednostavna datoteka s bazom podataka, preporuča se samo za manje implementacije. Prije inačice v2.0.0, Uptime Kuma je koristila SQLite kao zadanu bazu podataka.",
"dbName": "Naziv baze podataka",
@ -648,7 +648,7 @@
"webhookBodyCustomOption": "Prilagođeno tijelo zahtjeva",
"selectedMonitorCount": "Odabrano: {0}",
"Check/Uncheck": "Označi/odznači",
"telegramMessageThreadID": "(Neobavezno) ID dretve poruka",
"telegramMessageThreadID": "(Neobvezno) Identivikator dretve poruka",
"telegramMessageThreadIDDescription": "Neobavezni jedinstveni identifikator za dretvu poruka (temu) foruma; samo za forumske supergrupe",
"telegramSendSilently": "Pošalji nečujno",
"telegramSendSilentlyDescription": "Šalje poruku nečujno. Primatelji će dobiti obavijest bez zvuka.",
@ -689,7 +689,7 @@
"confirmDeleteTagMsg": "Jeste li sigurni da želite izbrisati ovu oznaku? Monitori povezani s ovom oznakom neće biti izbrisani.",
"enableGRPCTls": "Omogući sigurno slanje gRPC zahtjeva koristeći TLS",
"deleteMaintenanceMsg": "Jeste li sigurni da želite izbrisati ovo održavanje?",
"Guild ID": "ID za guild",
"Guild ID": "Identifikator za guild",
"pushoverMessageTtl": "Vrijeme isteka poruke (u sekundama)",
"Proto Method": "Metoda poziva",
"Proto Content": "Proto sadržaj",
@ -937,7 +937,7 @@
"cellsyntOriginator": "Vidljivo na mobilnom telefonu primatelja kao autor poruke. Dopuštene vrijednosti i funkcija ovise o vrsti izvorišta.",
"cellsyntDestination": "Telefonski broj primatelja u međunarodnom formatu s početnim 00 iza kojeg slijedi pozivni broj države (maksimalno 17 znamenki). Primjerice, za broj iz UK-a 07920-110-000 vrijednost mora biti 00447920110000 . Maksimalno 25.000 primatelja odvojenih zarezom po HTTP zahtjevu.",
"Channel access token (Long-lived)": "Pristupni token za kanal (dugovječni)",
"Your User ID": "Vaš korisnički identifikator",
"Your User ID": "Vaš korisnički identifikator (ID)",
"wayToGetSevenIOApiKey": "Posjetite nadzornu ploču odlaskom na app.seven.io > Developer > API Key i dodajte novi ključ koristeći zeleni gumb za dodavanje",
"Command": "Naredba",
"mongodbCommandDescription": "Pokreni MongoDB naredbu na bazi podataka. Za informacije o dostupnim naredbama posjetite {documentation}",
@ -1092,5 +1092,24 @@
"RabbitMQ Nodes": "RabbitMQ upravljački čvorovi",
"rabbitmqNodesDescription": "Unesite URL za upravljačke čvorove RabbitMQ uključujući protokol i port. Primjer: {0}",
"rabbitmqHelpText": "Za korištenje ovog Monitora morat ćete omogućiti dodatak \"Management Plugin\" u svom RabbitMQ-u. Za više informacija pogledajte {rabitmq_documentation}.",
"aboutSlackUsername": "Mijenja ime pošiljatelja vidljivo svima ostalima."
"aboutSlackUsername": "Mijenja ime pošiljatelja vidljivo svima ostalima.",
"templateServiceName": "naziv servisa",
"telegramUseTemplate": "Koristi prilagođeni predložak poruke",
"telegramTemplateFormatDescription": "Telegram dozvoljava korištenje različitih markup jezika za formatiranje poruka, pogledajte {0} za više detalja.",
"YZJ Robot Token": "YZJ token robota",
"YZJ Webhook URL": "YZJ URL webhooka",
"templateHostnameOrURL": "domaćin ili URL",
"templateStatus": "status",
"telegramUseTemplateDescription": "Ako je omogućeno, poruka će biti poslana koristeći prilagođeni predložak.",
"Plain Text": "Obični tekst",
"Message Template": "Predložak poruke",
"Template Format": "Format predloška",
"wahaSession": "Sjednica",
"wahaChatId": "Identifikator razgovora (telefonski broj / ID kontakta / ID grupe)",
"wayToGetWahaApiUrl": "URL instance WAHA.",
"wayToGetWahaApiKey": "API ključ je vrijednost varijable okruženja WHATSAPP_API_KEY koju ste koristili za pokretanje servisa WAHA.",
"wayToGetWahaSession": "Iz ove sjednice WAHA šalje obavijesti na identifikator razgovora. Može se pronaći na WAHA nadzornoj ploči.",
"wayToWriteWahaChatId": "Telefonski broj s međunarodnim prefiksom, ali bez znaka plus na početku ({0}), identifikator kontakta ({1}) ili identifikator grupe ({2}). Obavijesti se šalju na ovaj identifikator chata iz WAHA sesije.",
"telegramServerUrl": "(Neobvezno) URL Poslužitelja",
"telegramServerUrlDescription": "Za ukidanje ograničenja API-ja za botove Telegrama ili dobivanje pristupa u blokiranim područjima (Kina, Iran, itd.). Za više informacija kliknite {0}. Zadano: {1}"
}

View File

@ -9,7 +9,7 @@
"acceptedStatusCodesDescription": "Válassza ki az állapot kódokat amelyek sikeres válasznak fognak számítani.",
"passwordNotMatchMsg": "A megismételt jelszó nem egyezik.",
"notificationDescription": "Kérem, rendeljen egy értesítést a figyeléshez, hogy működjön.",
"keywordDescription": "Kulcsszó keresése a HTML-ben vagy a JSON válaszban. (kis-nagybetű érzékeny)",
"keywordDescription": "Kulcsszó keresése a HTML-ben vagy a JSON válaszban. A keresés kis-nagybetű érzékeny.",
"pauseDashboardHome": "Szünetel",
"deleteMonitorMsg": "Biztos, hogy törölni akarja ezt a figyelőt?",
"deleteNotificationMsg": "Biztos, hogy törölni akarja ezt az értesítést az összes figyelőnél?",
@ -259,8 +259,8 @@
"pushoverDesc1": "A vészhelyzeti prioritásnak (2) 30 másodperc az újrapróbálkozási alapértéke és egy óra után lejár.",
"pushoverDesc2": "Ha különböző eszközökre szeretne értesítést küldeni, töltse ki az Eszköz mezőt.",
"SMS Type": "SMS típusa",
"octopushTypePremium": "Premium (Fast - recommended for alerting)",
"octopushTypeLowCost": "Low Cost (Slow - sometimes blocked by operator)",
"octopushTypePremium": "Prémium (Gyors - riasztáshoz ajánlott)",
"octopushTypeLowCost": "Alacsony költség (lassú - néha az üzemeltető blokkolja)",
"checkPrice": "Ellenőrizze {0} árat:",
"apiCredentials": "API kulcsok",
"octopushLegacyHint": "Az Octopush régi (2011-2020) verzióját használod vagy az újat?",
@ -446,7 +446,7 @@
"Next": "Következő",
"The slug is already taken. Please choose another slug.": "Ez a slug már használatban van. Kérlek válassz másikat.",
"No Proxy": "Nincs Proxy",
"HTTP Basic Auth": "HTTP Basic Auth",
"HTTP Basic Auth": "HTTP Alap Hitelesítés",
"New Status Page": "Új Állapot Oldal",
"Page Not Found": "Oldal Nem Található",
"Reverse Proxy": "Reverse Proxy",
@ -542,7 +542,7 @@
"chromeExecutableAutoDetect": "Automatikus felismerés",
"emailTemplateStatus": "Státusz",
"deleteMaintenanceMsg": "Biztosan törölni szeretné ezt a karbantartást?",
"apiKeyAddedMsg": "Az ön API kulcsa létrejött. Kérjük jegyezze fel, mert nem lesz a felületen elérhető.",
"apiKeyAddedMsg": "Az ön API kulcsa létrejött. Kérjük jegyezze fel, mert nem lesz a felületen elérhető a jövőben!",
"Expires": "Lejár",
"disableAPIKeyMsg": "Biztosan le fel szeretné függeszteni ezt az API kulcsot?",
"Key Added": "Kulcs létrehozva",
@ -735,7 +735,7 @@
"RadiusSecretDescription": "Megosztott titok az ügyfél és a szerver között",
"RadiusCalledStationId": "Hívott állomás azonosítója",
"Date and Time": "Dátum és idő",
"enableNSCD": "Az NSCD (Name Service Cache Daemon) engedélyezése az összes DNS-kérés gyorsítótárba helyezéséhez",
"enableNSCD": "Az NSCD (Name Service Cache Daemon) engedélyezése az összes DNS-kérés gyorsítótárazásához.",
"Edit Maintenance": "Karbantartás szerkesztése",
"smseagleGroup": "Telefonkönyv csoport neve(i)",
"styleElapsedTime": "Az eltelt idő a heartbeat sáv alatt",
@ -751,7 +751,7 @@
"Automations can optionally be triggered in Home Assistant:": "Az automatizálás opcionálisan elindítható a Home Assistantban:",
"Event type:": "Esemény típusa:",
"Topic": "Téma",
"WeCom Bot Key": "WeCom Bot Key",
"WeCom Bot Key": "WeCom Bot Kulcs",
"Setup Proxy": "Proxy beállítása",
"Proxy Protocol": "Proxy Protokol",
"Proxy Server": "Proxy szerver",
@ -762,7 +762,7 @@
"smseagleUrl": "Az Ön SMSEagle eszközének URL címe",
"smseagleEncoding": "Unicode-ként küldés",
"smseaglePriority": "Üzenet prioritása (0-9, alapértelmezett = 0)",
"Recipient Number": "Recipient Number",
"Recipient Number": "Fogadó telefonszáma",
"From Name/Number": "A névtől/számtól",
"Leave blank to use a shared sender number.": "Hagyd üresen, ha megosztott feladószámot szeretnél használni.",
"Octopush API Version": "Octopush API verzió",
@ -837,7 +837,7 @@
"forumPostName": "Fórum üzenet neve",
"threadForumPostID": "Szál / Fórum üzenet ID",
"e.g. {discordThreadID}": "például. {discordThreadID}",
"locally configured mail transfer agent": "Helyileg beállított email továbbító",
"locally configured mail transfer agent": "helyileg beállított email továbbító",
"Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "Adja meg a csatlakoztatni kívánt szerver gazdagép nevét vagy {localhost} ha a {local_mta}-t szeretné használni",
"ignoreTLSErrorGeneral": "Mellőzze a TLS/SSL hibákat a csatlakozáshoz",
"threemaRecipientTypeIdentityFormat": "8 karakter",
@ -850,5 +850,235 @@
"cellsyntDestination": "A címzett telefonszáma nemzetközi formátumban megadva. A kezdő 00-t követően az országkód, pl. 003612127654 egy magyarországi 0612127654 szám esetében (max 17 karakter összesen). HTTP lekérdezésenként max 25000, vesszővel elválaszott címzett.",
"Telephone number": "Telefonszám",
"Allow Long SMS": "Hosszú SMS engedélyezve",
"now": "most"
"now": "most",
"Channel access token (Long-lived)": "Csatorna-hozzáférési token (Hosszú-élettartamú)",
"Mentioning": "Megemlítés",
"Don't mention people": "Ne említsen embereket",
"aboutSlackUsername": "Megváltoztatja az üzenet feladójának megjelenített nevét. Ha valakit meg akar említeni, helyette írja be a barátságos névbe.",
"smspartnerApiurl": "Az API-kulcsot az irányítópulton találja {0}",
"smspartnerPhoneNumberHelptext": "A számnak nemzetközi formátumúnak kell lennie {0}, {1}. Több szám elválasztása esetén jelölje {2}",
"toastSuccessTimeout": "Sikerértesítések időkorlátja",
"and": "és",
"Your User ID": "Felhasználói azonosítód",
"Mention group": "Említ {csoport}",
"smspartnerPhoneNumber": "Telefonszám(ok)",
"smspartnerSenderName": "SMS feladó neve",
"Generate": "Generálás",
"pagertreeIntegrationUrl": "Integrációs URL",
"pagertreeUrgency": "Sürgősség",
"pagertreeSilent": "Csendes",
"pagertreeLow": "Alacsony",
"pagertreeMedium": "Közepes",
"pagertreeCritical": "Kritikus",
"twilioAuthToken": "Hitelesítési Token / API Kulcs",
"Show Clickable Link": "Kattintható link megjelenítése",
"Group": "Csoport",
"monitorToastMessagesLabel": "Toast értesítések figyelése",
"toastErrorTimeout": "Hibaértesítések időkorlátja",
"Json Query Expression": "Json lekérdezés",
"ignoredTLSError": "TLS/SSL hibák figyelmen kívül hagyva",
"time ago": "előtt",
"-year": "- év",
"deleteAPIKeyMsg": "Biztosan törölni szeretné ezt az API kulcsot?",
"RabbitMQ Nodes": "RabbitMQ menedszer csomópontok",
"jsonQueryDescription": "Végezzen JSON-lekérdezést a válasz alapján, és ellenőrizze a várt értéket (a visszatérési értéket a rendszer karakterlánccá alakítja az összehasonlításhoz). Nézze meg a {0} webhelyet a lekérdezés paramétereivel kapcsolatos dokumentációért. A test környezet itt található: {1}.",
"Authorization Identity": "Jogosultság Identitás",
"noGroupMonitorMsg": "Nem lehetséges. Először létre kell hozni egy monitorozandó csoportot.",
"wayToGetFlashDutyKey": "Menjen a Csatorna -> (Csatorna kiválasztása) -> Integrációk -> Új integráció hozzáadása oldalra, adjon hozzá egy 'Uptime Kuma' push címet, másolja az Integrációs kulcsot a címbe. További információkért kérjük, látogasson el a",
"gamedigGuessPortDescription": "A Valve Server Query Protocol által használt port eltérhet az kliens portjától. Próbáld ki ezt, ha a monitor nem tud csatlakozni a kiszolgálóhoz.",
"remoteBrowsersDescription": "A távoli böngészők a Chromium helyi futtatásának alternatívája. Állítsa be egy olyan szolgáltatással, mint a browserless.io, vagy csatlakozzon a sajátjával",
"mongodbCommandDescription": "Egy utasítás futtatásának kérése a MongoDB adatbázishoz. A rendelkezésre álló parancsokról a {documentation}",
"receiverInfoSevenIO": "Ha a fogadó szám nem Németországban van, akkor a szám elé kell írni az országkódot (pl. az USA-ból érkező 1-es országkódhoz a 017612121212 helyett a 117612121212 címet kell használni)",
"conditionAddGroup": "Csoport hozzáadása",
"less than or equal to": "kisebb vagy egyenlő, mint",
"Alphanumerical string and hyphens only": "Csak alfanumerikus karakterlánc és kötőjelek",
"Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Időérzékeny értesítések azonnal kézbesítve lesznek, még akkor is ha az eszköz ne zavarjanak üzemmódban van.",
"successEnabled": "Sikeresen engedélyezve.",
"smspartnerSenderNameInfo": "3..=11 általános karakternek kell lennie",
"Show Clickable Link Description": "Ha be van jelölve, mindenkinek akinek hozzáférése van ehhez a státusz oldalhoz, hozzáférése van a monitor URL-hez is.",
"Enter the list of brokers": "Adja meg a brókerek listáját",
"Press Enter to add broker": "Bróker hozzáadásához nyomja meg az ENTER billentyűt",
"Enable Kafka SSL": "Kafka SSL engedélyezése",
"Enable Kafka Producer Auto Topic Creation": "Kafka Producer automatikus téma létrehozásának engedélyezése",
"Kafka Producer Message": "Kafka Producer üzenet",
"Kafka SASL Options": "Kafka SASL opciók",
"Pick a SASL Mechanism...": "Válassz egy SASL mechanizmus-t…",
"AccessKey Id": "Hozzáférési Kulcs ID",
"Secret AccessKey": "Titkos Hozzáférési Kulcs",
"Session Token": "Munkamenet-azonosító",
"nostrRelaysHelp": "Soronként egy közvetítő URL",
"nostrSender": "Küldő privát kulcsa (nsec)",
"nostrRecipients": "Címzettek nyilvános kulcsai (npub)",
"nostrRecipientsHelp": "npub formátum, soronként egy",
"showCertificateExpiry": "Tanúsítvány lejáratának megjelenítése",
"cacheBusterParam": "Adja hozzá a {0} paramétert",
"cacheBusterParamDescription": "Véletlenszerűen generált paraméter a gyorsítótárak kihagyásához.",
"Message format": "Üzenet formátuma",
"Send rich messages": "RCS üzenetek küldése",
"wayToGetBitrix24Webhook": "Webhookot a következő lépésekkel hozhat létre {0}",
"nostrRelays": "Nostr közvetítők",
"bitrix24SupportUserID": "Adja meg felhasználói azonosítóját a Bitrix24-ben. Az azonosítót a felhasználó profiljába lépve a linkről tudhatja meg.",
"authInvalidToken": "Érvénytelen token.",
"2faEnabled": "Kétlépcsős azonosítás engedélyezve.",
"successDisabled": "Sikeresen letiltva.",
"Remote Browsers": "Távoli böngészők",
"Remote Browser": "Távoli böngésző",
"Add a Remote Browser": "Távoli böngésző hozzáadása",
"Remote Browser not found!": "Távoli böngésző nem található!",
"self-hosted container": "Helyi futtatású konténer",
"useRemoteBrowser": "Távoli böngésző használata",
"deleteRemoteBrowserMessage": "Biztos-e Ön benne, hogy törölni akarja ezt a távoli böngészőt az összes monitorozandó számára?",
"GrafanaOncallUrl": "Grafana Hívás URL",
"Browser Screenshot": "Böngésző képernyőkép",
"Command": "Utasítás",
"wayToGetSevenIOApiKey": "Látogasson el a műszerfalra az app.seven.io > developer > api key > a zöld hozzáadás gombra",
"senderSevenIO": "Szám vagy név küldése",
"receiverSevenIO": "Fogadó telefonszáma",
"apiKeySevenIO": "SevenIO API kulcs",
"wayToWriteWhapiRecipient": "A telefonszám a nemzetközi előtaggal, de az elején lévő pluszjel nélkül ({0}), a kapcsolattartó azonosítója ({1}) vagy a csoport azonosítója ({2}).",
"Separate multiple email addresses with commas": "Több e-mail cím elválasztása vesszővel",
"conditionDeleteGroup": "Csoport törlése",
"conditionValuePlaceholder": "Érték",
"equals": "egyenlő",
"not equals": "nem egyenlő",
"contains": "tartalmaz",
"not contains": "nem tartalmaz",
"ends with": "végződik a",
"not ends with": "nem végződik a",
"greater than": "nagyobb, mint",
"less than": "kisebb, mint",
"greater than or equal to": "nagyobb vagy egyenlő, mint",
"record": "sor",
"Notification Channel": "Értesítési csatorna",
"Sound": "Hang",
"Arcade": "Árkád",
"Correct": "Helyes",
"Harp": "Hárfa",
"Reveal": "Felfed",
"Bubble": "Buborék",
"Doorbell": "Ajtócsengő",
"Flute": "Fuvola",
"Money": "Pénz",
"Scifi": "Tudományos-fantasztikus",
"Clear": "Törlés",
"Elevator": "Felvonó",
"Guitar": "Gitár",
"Time Sensitive (iOS Only)": "Időérzékeny (Csak iOS)",
"From": "Tól",
"Can be found on:": "Megtalálható: {0}",
"The phone number of the recipient in E.164 format.": "A címzett telefonszáma E.164-es formában.",
"Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Vagy egy feladó azonosító, vagy egy telefonszám E.164 formátumban kell lennie, ha válaszokat szeretne fogadni.",
"RabbitMQ Username": "RabbitMQ felhaszálónév",
"RabbitMQ Password": "RabbitMQ jelszó",
"SendGrid API Key": "SendGrid API kulcs",
"pagertreeHigh": "Magas",
"noOrBadCertificate": "Nincs/rossz tanúsítvány",
"whatHappensAtForumPost": "Új fórumbejegyzés létrehozása. NEM küldi el a meglévő hozzászólásokhoz. Meglévő hozzászólásokhoz az \"{option}\" használatával lehet hozzászólni",
"snmpCommunityStringHelptext": "Ez a karakterlánc jelszóként szolgál az SNMP-kompatibilis eszközök hitelesítésére és a hozzáférés ellenőrzésére. Egyeztesse az SNMP-eszköz konfigurációjával.",
"snmpOIDHelptext": "Adja meg a megfigyelni kívánt érzékelő vagy állapot OID azonosítóját. Ha nem biztos az OID-ben, használjon hálózatirányítási eszközöket, például MIB-böngészőket vagy SNMP-szoftvereket.",
"privateOnesenderDesc": "Győződjön meg róla, hogy a telefonszám érvényes. Üzenet küldése privát telefonszámra, például: 628123456789",
"Authorization Header": "Hitelesítési Fejléc",
"wayToGetDiscordThreadId": "Szál / fórum bejegyzés ID lekérése hasonló, a csatorna ID lekéréséhez. Itt olvashatsz tovább az ID-k lekérésől{0}",
"Badge Type": "Jelvény típusa",
"Badge Duration (in hours)": "Jelvény Időtartam (órákban)",
"Badge Label": "Jelvény Címke",
"Badge Prefix": "Jelvény Érték Előtag",
"Badge Suffix": "Jelvény Érték Utótag",
"Badge Label Color": "Jelvény Címke Szín",
"Badge Color": "Jelvény Szín",
"Badge Label Prefix": "Jelvény Címke Előtag",
"Badge Preview": "Jelvény Előnézet",
"Badge Label Suffix": "Jelvény Címke Utótag",
"Badge Up Color": "Jelvény Online Szín",
"Badge Down Color": "Jelvény Offline Szín",
"Badge Pending Color": "Jelvény Folyamatban Levő Szín",
"Badge Maintenance Color": "Jelvény Karbantartás Szín",
"Badge Warn Color": "Jelvény Figyelmeztetés Szín",
"Badge Warn Days": "Jelvény Figyelmeztetés Napok",
"Badge Down Days": "Jelvény Offline Napok",
"Badge value (For Testing only.)": "Jelvény érték (Csak tesztelés számára.)",
"Badge URL": "Jelvény URL",
"Kafka Brokers": "Kafka brókerek",
"Kafka Topic Name": "Kafka Téma Név",
"wayToGetWhapiUrlAndToken": "Az API URL-t és a tokent lekérheted a kívánt csatornára belépve a {0}",
"API URL": "API URL",
"What is a Remote Browser?": "Mi az a távol böngésző?",
"gtxMessagingApiKeyHint": "Az API kulcsokat megtalálhatod: Útvonalválasztási fiókom > Fiók megtekintése > API hitelesítőadatok > REST API (v2.x)",
"From Phone Number / Transmission Path Originating Address (TPOA)": "Telefonszámból / Átviteli útvonal kiindulási címe (TPOA)",
"gtxMessagingFromHint": "Mobiltelefonokon a címzettek az üzenet feladójaként a TPOA-t látják. Legfeljebb 11 alfanumerikus karakter, egy rövidkód, a helyi hosszúkód vagy nemzetközi számok ({e164}, {e212} vagy {e214}) engedélyezettek",
"To Phone Number": "Telefonszámmá",
"gtxMessagingToHint": "Nemzetközi formátum, vezető \"+\" jel és ({e164}, {e212} vagy {e214})",
"Alphanumeric (recommended)": "Alfanumerikus (ajánlott)",
"cellsyntOriginatortypeAlphanumeric": "Alfanumerikus karakterlánc (legfeljebb 11 alfanumerikus karakter). A címzettek nem tudnak válaszolni az üzenetre.",
"Originator": "Kezdeményező",
"cellsyntOriginator": "Látható a címzett mobiltelefonján az üzenet küldőjeként. A megengedett értékek és a funkció az kezdeményező-típus(originatortype) paramétertől függ.",
"Destination": "Cél",
"cellsyntSplitLongMessages": "Hosszú üzenetek tördelése legfeljebb 6 részre. 153 x 6 = 918 karakter.",
"max 11 alphanumeric characters": "legfeljebb 11 alfanumerikus karakter",
"Community String": "Közösségi Karakterlánc",
"OID (Object Identifier)": "OID (Objektum azonosító)",
"Condition": "Feltétel",
"SNMP Version": "SNMP Verzió",
"Please enter a valid OID.": "Kérem adjon meg egy helyes OID-t.",
"wayToGetThreemaGateway": "Regisztrálhat a Threema Gatewayre {0}.",
"threemaRecipient": "Címzett",
"threemaRecipientTypePhoneFormat": "E.164, vezető \"+\" nélkül",
"threemaApiAuthenticationSecret": "Gateway-ID Kulcs",
"threemaBasicModeInfo": "Megjegyzés: Ez az integráció a Threema Gateway-t alapmódban használja (szerver alapú titkosítás). További részletek {0} találhatók.",
"apiKeysDisabledMsg": "Az API-kulcsok le vannak tiltva, mivel a hitelesítés le van tiltva.",
"Host Onesender": "Onesender futtató gép",
"Token Onesender": "Onesender Token",
"Recipient Type": "Címzett Típusa",
"Private Number": "Privát Telefonszám",
"groupOnesenderDesc": "Győződjön meg róla, hogy a GroupID érvényes. Üzenet küldése a csoportba, például: 628123456789-342345",
"Group ID": "Group ID",
"wayToGetOnesenderUrlandToken": "Az URL-t és a Tokent az Onesender weboldalán keresztül kaphatja meg. További információ {0}",
"Add Remote Browser": "Távoli böngésző hozzáadása",
"New Group": "Új csoport",
"Group Name": "Csoport név",
"OAuth2: Client Credentials": "OAuth2: Ügyfél hitelesítő adatok",
"Authentication Method": "Hitelesítési metódus",
"Form Data Body": "Adat törzsből",
"OAuth Token URL": "OAuth Token URL",
"Client ID": "Ügyfél Azonosító",
"Client Secret": "Ügyfél Kulcs",
"OAuth Scope": "OAuth hatókör",
"Badge Style": "Jelvény Stílus",
"whapiRecipient": "Telefonszám / Kontakt ID / Csoport ID",
"documentationOf": "{0} Dokumentáció",
"threemaRecipientType": "Címzett Típusa",
"rabbitmqNodesRequired": "Állítsa be a csomópontokat ehhez a figyelőhöz.",
"rabbitmqNodesDescription": "Adja meg a RabbitMQ menedszer csomópontok URL-jét beleértve a protokollt és a port számát is. Példa: {0}",
"shrinkDatabaseDescriptionSqlite": "SQLite adatbázis {vacuum} indítása. Az {auto_vacuum} már engedélyezve van, de ez nem defragmentálja az adatbázist, és nem csomagolja újra az egyes adatbázisoldalakat, ahogyan a {vacuum} parancs teszi.",
"invertKeywordDescription": "Keresse meg, hogy a kulcsszó inkább hiányzik-e, mint jelen van.",
"No tags found.": "Nem található címkék.",
"twilioToNumber": "Címzett szám",
"twilioFromNumber": "Feladó szám",
"Open Badge Generator": "Nyílt jelvény generátor",
"Badge Generator": "{0} jelvény generátora",
"monitorToastMessagesDescription": "A figyelőktől érkező Toast értesítések eltűnnek megadott másodpercen belül. Eltűnés kikapcsolásához állítsd \"-1\"-re. Toast értesítések kikapcsolásához pedig \"0\"-ra.",
"gamedigGuessPort": "Gamedig: Port",
"remoteBrowserToggle": "Alapértelmezetten Chromium böngésző fut az Uptime Kuma konténerben. Távoli böngésző használatához aktiválja a kapcsolót.",
"callMeBotGet": "Itt létre tud hozni egy végpontot {0}, {1} és {2} számára. Tartsa észben, lehet le lesz korlátozva. A korlátozások a következők: {3}",
"Originator type": "A kezdeményező típusa",
"cellsyntOriginatortypeNumeric": "Numerikus érték (legfeljebb 15 számjegy) nemzetközi formátumú telefonszámmal, 00 előtag nélkül (például a 06-20-534-6789 magyar számot 36205346789-ként kell beállítani). A címzettek válaszolhatnak az üzenetre.",
"Optional: Space separated list of scopes": "Opcionális: A hatókörök (scopes) listája szóközzel elválasztva",
"Go back to home page.": "Vissza a fő oldalra.",
"Lost connection to the socket server.": "Kapcsolat megszakadt a socket szerverrel.",
"Cannot connect to the socket server.": "Nem képes kapcsolódni a socket szerverhez.",
"SIGNL4": "SIGNL4",
"SIGNL4 Webhook URL": "SIGNL4 Webhook URL",
"Conditions": "Feltételek",
"conditionAdd": "Feltétel hozzáadása",
"conditionDelete": "Feltétel törlése",
"signl4Docs": "A SIGNL4 konfigurálásával és a SIGNL4 webhook URL-címének beszerzésével kapcsolatos további információkat itt talál: {0}.",
"starts with": "kezdődik",
"not starts with": "nem kezdődik",
"Custom sound to override default notification sound": "Eredeti értesítési hang felülírása egyedi hanggal",
"rabbitmqNodesInvalid": "Kérjük, használjon teljesen minősített (\"http\"-vel kezdődő) URL-t a RabbitMQ csomópontokhoz.",
"rabbitmqHelpText": "Figyelő használatához, engedélyeznie kell a Management Plugin-t a RabbitMQ beállításai között. További információért, tekintse meg {rabitmq_documentation} dokumentumot.",
"Fail": "Hiba",
"Pop": "Megjelen",
"Bitrix24 Webhook URL": "Bitrix24 Webhook URL",
"wayToGetHeiiOnCallDetails": "A Trigger ID és az API kulcsok megszerzésének módja a {dokumentáció}"
}

View File

@ -4,10 +4,10 @@
"retryCheckEverySecond": "Coba lagi setiap {0} detik",
"resendEveryXTimes": "Kirim ulang setiap {0} kali",
"resendDisabled": "Kirim ulang dinonaktifkan",
"retriesDescription": "Percobaan ulang maksimum sebelum layanan dinyatakan tidak aktif dan notifikasi dikirim",
"retriesDescription": "Percobaan ulang maksimum sebelum layanan ditandai sebagai tidak aktif dan pemberitahuan dikirim",
"ignoreTLSError": "Abaikan kesalahan TLS/SSL untuk situs web HTTPS",
"upsideDownModeDescription": "Balikkan statusnya. Jika layanan dapat dijangkau, TIDAK AKTIF.",
"maxRedirectDescription": "Jumlah maksimum pengalihan untuk diikuti. Setel ke 0 untuk menonaktifkan pengalihan.",
"upsideDownModeDescription": "Balikkan status menjadi terbalik. Jika layanan dapat dijangkau, statusnya adalah TIDAK AKTIF.",
"maxRedirectDescription": "Jumlah maksimum pengalihan yang harus diikuti. Atur ke 0 untuk menonaktifkan pengalihan.",
"acceptedStatusCodesDescription": "Pilih kode status yang dianggap sebagai tanggapan yang berhasil.",
"passwordNotMatchMsg": "Kata sandi kedua tidak cocok.",
"notificationDescription": "Harap atur notifikasi ke monitor agar berfungsi.",
@ -36,13 +36,13 @@
"Appearance": "Tampilan",
"Theme": "Tema",
"General": "Umum",
"Primary Base URL": "URL Dasar Utama",
"Primary Base URL": "Base URL Utama",
"Version": "Versi",
"Check Update On GitHub": "Cek Pembaruan di GitHub",
"List": "Daftar",
"Add": "Tambah",
"Add New Monitor": "Tambah Monitor Baru",
"Quick Stats": "Statistik",
"Quick Stats": "Statistik Singkat",
"Up": "Aktif",
"Down": "Tidak Aktif",
"Pending": "Tertunda",
@ -50,7 +50,7 @@
"Pause": "Dijeda",
"Name": "Nama",
"Status": "Status",
"DateTime": "Tanggal Waktu",
"DateTime": "Tanggal/Waktu",
"Message": "Pesan",
"No important events": "Tidak ada peristiwa penting",
"Resume": "Lanjut",
@ -59,25 +59,25 @@
"Current": "Saat ini",
"Uptime": "Waktu aktif",
"Cert Exp.": "Sertifikat Kedaluwarsa.",
"day": "hari | hari-hari",
"day": "hari",
"-day": "-hari",
"hour": "Jam",
"-hour": "-Jam",
"Response": "Tanggapan",
"hour": "jam",
"-hour": "-jam",
"Response": "Respon",
"Ping": "Ping",
"Monitor Type": "Tipe Monitor",
"Keyword": "Kata Kunci",
"Friendly Name": "Nama yang Ramah",
"Friendly Name": "Nama Yang Bersahabat",
"URL": "URL",
"Hostname": "Nama Host",
"Port": "Port",
"Heartbeat Interval": "Jeda Waktu Heartbeat",
"Retries": "Coba lagi",
"Heartbeat Retry Interval": "Jeda Pengulangan Heartbeat",
"Resend Notification if Down X times consecutively": "Kirim Ulang Notifikasi jika Tidak Aktif X kali",
"Heartbeat Interval": "Interval Heartbeat",
"Retries": "Mencoba lagi",
"Heartbeat Retry Interval": "Interval Pengulangan Heartbeat",
"Resend Notification if Down X times consecutively": "Kirim Ulang Pemberitahuan jika Tidak Aktif X kali berturut-turut",
"Advanced": "Tingkat Lanjut",
"Upside Down Mode": "Mode Terbalik",
"Max. Redirects": "Maksimal Pengalihan",
"Max. Redirects": "Pengalihan Maksimum",
"Accepted Status Codes": "Kode Status yang Diterima",
"Push URL": "Push URL",
"needPushEvery": "Anda harus memanggil URL berikut setiap {0} detik..",
@ -85,7 +85,7 @@
"Save": "Simpan",
"Notifications": "Notifikasi",
"Not available, please setup.": "Tidak tersedia, silakan atur.",
"Setup Notification": "Setelan Notifikasi",
"Setup Notification": "Atur Pemberitahuan",
"Light": "Terang",
"Dark": "Gelap",
"Auto": "Otomatis",
@ -95,48 +95,48 @@
"None": "Tidak ada",
"Timezone": "Zona Waktu",
"Search Engine Visibility": "Visibilitas Mesin Pencari",
"Allow indexing": "Mengizinkan untuk diindex",
"Discourage search engines from indexing site": "Mencegah mesin pencari untuk mengindex situs",
"Change Password": "Ganti Sandi",
"Current Password": "Sandi Lama",
"New Password": "Sandi Baru",
"Repeat New Password": "Ulangi Sandi Baru",
"Allow indexing": "Izinkan pengindeksan",
"Discourage search engines from indexing site": "Mencegah mesin pencari untuk mengindeks situs",
"Change Password": "Ubah Kata Sandi",
"Current Password": "Kata Sandi Saat Ini",
"New Password": "Kata Sandi Baru",
"Repeat New Password": "Ulangi Kata Sandi Baru",
"Update Password": "Perbarui Kata Sandi",
"Disable Auth": "Matikan Autentikasi",
"Enable Auth": "Aktifkan Autentikasi",
"Disable Auth": "Nonaktifkan Auth",
"Enable Auth": "Aktifkan Auth",
"disableauth.message1": "Apakah Anda yakin ingin {disableAuth}?",
"disable authentication": "menonaktifkan autentikasi",
"disableauth.message2": "Ini untuk {intendThirdPartyAuth} diletakkan di depan Uptime Kuma, misalnya akses Cloudflare.",
"where you intend to implement third-party authentication": "mereka yang memiliki autentikasi pihak ketiga",
"Please use this option carefully!": "Gunakan pilihan ini dengan hati-hati!",
"disableauth.message2": "Ini dirancang untuk skenario {intendThirdPartyAuth} di depan Uptime Kuma seperti Cloudflare Access, Authelia, atau mekanisme autentikasi lainnya.",
"where you intend to implement third-party authentication": "di mana Anda bermaksud menerapkan autentikasi pihak ketiga",
"Please use this option carefully!": "Harap gunakan opsi ini dengan hati-hati!",
"Logout": "Keluar",
"Leave": "Pergi",
"I understand, please disable": "Saya mengerti, silakan dinonaktifkan",
"Leave": "Tinggalkan",
"I understand, please disable": "Saya mengerti, tolong nonaktifkan",
"Confirm": "Konfirmasi",
"Yes": "Ya",
"No": "Tidak",
"Username": "Nama Pengguna",
"Password": "Sandi",
"Password": "Kata Sandi",
"Remember me": "Ingat saya",
"Login": "Masuk",
"No Monitors, please": "Tidak ada monitor, silakan",
"add one": "tambahkan satu",
"Notification Type": "Tipe Notifikasi",
"Notification Type": "Tipe Pemberitahuan",
"Email": "Surel",
"Test": "Tes",
"Certificate Info": "Info Sertifikasi",
"Resolver Server": "Server Penjawab",
"Resource Record Type": "Jenis Rekam Sumber Daya",
"Certificate Info": "Info Sertifikat",
"Resolver Server": "Server Penyelesai",
"Resource Record Type": "Jenis Rekaman Sumber Daya",
"Last Result": "Hasil Terakhir",
"Create your admin account": "Buat akun admin Anda",
"Repeat Password": "Ulangi Sandi",
"Repeat Password": "Ulangi Kata Sandi",
"Import Backup": "Impor Cadangan",
"Export Backup": "Ekspor Cadangan",
"Export": "Ekspor",
"Import": "Impor",
"respTime": "Tanggapan. Waktu (milidetik)",
"respTime": "Waktu Respons (ms)",
"notAvailableShort": "N/A",
"Default enabled": "Bawaan diaktifkan",
"Default enabled": "Diaktifkan secara default",
"Apply on all existing monitors": "Terapkan pada semua monitor yang ada",
"Create": "Buat",
"Clear Data": "Bersihkan Data",
@ -146,15 +146,15 @@
"backupDescription": "Anda dapat mencadangkan semua monitor dan semua notifikasi ke dalam berkas JSON.",
"backupDescription2": "Catatan: Data sejarah dan peristiwa tidak disertakan.",
"backupDescription3": "Data sensitif seperti notifikasi token disertakan dalam berkas ekspor, harap simpan dengan hati-hati.",
"alertNoFile": "Silakan pilih berkas untuk diimpor.",
"alertNoFile": "Silakan pilih berkas yang akan diimpor.",
"alertWrongFileType": "Silakan pilih berkas JSON.",
"Clear all statistics": "Hapus semua statistik",
"Skip existing": "Lewati yang ada",
"Skip existing": "Lewati yang sudah ada",
"Overwrite": "Timpa",
"Options": "Opsi",
"Keep both": "Simpan keduanya",
"Verify Token": "Verifikasi Token",
"Setup 2FA": "Pengaturan 2FA",
"Setup 2FA": "Siapkan 2FA",
"Enable 2FA": "Aktifkan 2FA",
"Disable 2FA": "Nonaktifkan 2FA",
"2FA Settings": "Pengaturan 2FA",
@ -164,12 +164,12 @@
"Token": "Token",
"Show URI": "Lihat URI",
"Tags": "Tanda",
"Add New below or Select...": "Tambahkan Baru di bawah atau Pilih…",
"Add New below or Select...": "Tambahkan Baru di Bawah ini atau Pilih…",
"Tag with this name already exist.": "Tanda dengan nama ini sudah ada.",
"Tag with this value already exist.": "Tanda dengan nilai ini sudah ada.",
"color": "warna",
"value (optional)": "nilai (tidak harus diisi)",
"Gray": "Abu-abu",
"color": "Warna",
"value (optional)": "nilai (opsional)",
"Gray": "Abu-Abu",
"Red": "Merah",
"Orange": "Jingga",
"Green": "Hijau",
@ -583,7 +583,7 @@
"backupRecommend": "Silahkan backup volume atau folder (./data/) secara langsung.",
"Help": "Bantuan",
"Game": "Permainan",
"markdownSupported": "Dukungan sintaks markdown",
"markdownSupported": "Sintaks markdown didukung",
"statusMaintenance": "Pemeliharaan",
"Maintenance": "Tidak Ada Pemeliharaan",
"General Monitor Type": "Tipe Monitor Umum",
@ -635,7 +635,7 @@
"Badge Label Prefix": "Prefiks Label Lencana",
"telegramSendSilently": "Kirim Secara Senyap",
"Invert Keyword": "Balikkan Kata Kunci",
"Pick Affected Monitors...": "Pilih Monitor yang Terkena Dampak…",
"Pick Affected Monitors...": "Pilih Monitor yang Terpengaruh…",
"Badge Label Suffix": "Suffix Label Lencana",
"statusPageMaintenanceEndDate": "berakhir",
"Add API Key": "Tambahkan Kunci API",
@ -745,7 +745,7 @@
"smseagleRecipientType": "Tipe Penerima",
"smseagleToken": "Token Akses API",
"smseagleUrl": "URL perangkat SMSEagle Anda",
"Schedule maintenance": "Perbaikan Terjadwal",
"Schedule maintenance": "Jadwalkan Pemeliharaan",
"Affected Monitors": "Monitor yang Terpengaruh",
"Start of maintenance": "Mulai pemeliharaan",
"All Status Pages": "Semua Halaman Status",
@ -788,7 +788,7 @@
"promosmsAllowLongSMS": "Izinkan SMS panjang",
"Badge Pending Color": "Warna Lencana Tertunda",
"Monitor Group": "Monitor Grup",
"Expected Value": "Parameter yang diharapkan",
"Expected Value": "Nilai Yang Diharapkan",
"Json Query": "Kueri JSON",
"setupDatabaseSQLite": "File database sederhana, direkomendasikan untuk penerapan skala kecil. Sebelum v2.0.0, Uptime Kuma menggunakan SQLite sebagai database default.",
"setupDatabaseMariaDB": "Hubungkan ke database MariaDB eksternal. Anda perlu mengatur informasi koneksi database.",
@ -873,7 +873,7 @@
"Session Token": "Sesi Token",
"pushOthers": "Lainnya",
"programmingLanguages": "Bahasa Pemrograman",
"filterActivePaused": "Berhenti",
"filterActivePaused": "Dijeda",
"templateMsg": "pesan pemberitahuan",
"templateHeartbeatJSON": "objek yang menggambarkan heartbeat",
"templateMonitorJSON": "objek yang menggambarkan monitor",
@ -883,10 +883,10 @@
"selectedMonitorCount": "Terpilih: {0}",
"Check/Uncheck": "Centang/Hapus centang",
"Authorization Identity": "Identitas Otorisasi",
"styleElapsedTime": "Waktu yang berlalu pada bilah heartbeat",
"styleElapsedTime": "Waktu yang telah berlalu di bawah bilah heartbeat",
"styleElapsedTimeShowNoLine": "Tampilkan (Tanpa Garis)",
"styleElapsedTimeShowWithLine": "Tampilkan (Dengan Garis)",
"Request Timeout": "Batas Waktu Habis",
"Request Timeout": "Batas Waktu Permintaan",
"timeoutAfter": "Waktu habis setelah {0} detik",
"successKeywordExplanation": "Kata Kunci MQTT yang akan dianggap sukses",
"Remove the expiry notification": "Hapus hari pemberitahuan kedaluwarsa",
@ -908,7 +908,7 @@
"successKeyword": "Kata Kunci Sukses",
"ntfyPriorityHelptextAllExceptDown": "Semua peristiwa dikirim dengan prioritas ini, kecuali peristiwa {0}, yang memiliki prioritas {1}",
"statusPageSpecialSlugDesc": "Tanda khusus {0}: halaman ini akan ditampilkan jika tidak ada tanda khusus yang disediakan",
"settingUpDatabaseMSG": "Menyiapkan basis data. Mungkin perlu waktu beberapa saat, harap bersabar.",
"settingUpDatabaseMSG": "Menyiapkan database. Mungkin perlu waktu beberapa saat, harap bersabar.",
"Search monitored sites": "Mencari situs yang dipantau",
"ntfyPriorityHelptextAllEvents": "Semua peristiwa dikirim dengan prioritas maksimum",
"What is a Remote Browser?": "Apa itu Remote Browser?",
@ -959,7 +959,7 @@
"wayToGetBitrix24Webhook": "Anda dapat membuat webhook dengan mengikuti langkah-langkah di {0}",
"receiverSevenIO": "Menerima nomor",
"receiverInfoSevenIO": "Jika nomor penerima tidak berlokasi di Jerman, Anda harus menambahkan kode negara di depan nomor tersebut (misalnya untuk kode negara 1 dari AS gunakan 117612121212, bukan 017612121212)",
"Host URL": "Host URL",
"Host URL": "URL Host",
"senderSevenIO": "Mengirim nomor atau nama",
"apiKeysDisabledMsg": "Kunci API dinonaktifkan karena autentikasi dinonaktifkan.",
"forumPostName": "Nama postingan forum",

View File

@ -114,7 +114,7 @@
"Username": "Nome utente",
"Password": "Password",
"Remember me": "Ricorda credenziali",
"Login": "Accesso",
"Login": "Accedi",
"No Monitors, please": "Nessun monitor presente,",
"add one": "aggiungine uno",
"Notification Type": "Servizio di notifica",
@ -432,7 +432,7 @@
"HTTP Basic Auth": "Autenticazione di base HTTP",
"Reverse Proxy": "Proxy inverso",
"Backup": "Backup",
"About": "Di",
"About": "Info",
"wayToGetCloudflaredURL": "(Scarica cloudflared da {0})",
"cloudflareWebsite": "Sito web di Cloudflare",
"Message:": "Messaggio:",
@ -559,7 +559,7 @@
"dataRetentionTimeError": "Il periodo di conservazione deve essere pari o superiore a 0",
"infiniteRetention": "Impostare su 0 per la conservazione infinita.",
"enableGRPCTls": "Consenti l'invio di richieste gRPC con connessione TLS",
"grpcMethodDescription": "Il nome del metodo viene convertito nel formato cammelCase come sayHello, check, ecc.",
"grpcMethodDescription": "Il nome del metodo viene convertito nel formato camelCase come sayHello, check, ecc.",
"styleElapsedTimeShowNoLine": "Mostra (nessuna riga)",
"Add New Tag": "Aggiungi nuova etichetta",
"webhookCustomBodyDesc": "Definire un corpo HTTP personalizzato per la richiesta. Le variabili modello {msg}, {heartbeat}, {monitor} sono accettate.",
@ -737,5 +737,6 @@
"whatHappensAtForumPost": "Crea un nuovo post sul forum. Questo NON pubblica messaggi in post esistenti. Per pubblicare in un post esistente utilizzare \"{option}\"",
"invertKeywordDescription": "Cerca la parola chiave essere assente anziché presente.",
"octopushAPIKey": "\"API Key\" dalle credenziali API HTTP nel pannello di controllo",
"Enable TLS": "Abilita TLS"
"Enable TLS": "Abilita TLS",
"ignoredTLSError": "Ignora errori TLS/SSL"
}

View File

@ -30,7 +30,7 @@
"Quick Stats": "統計",
"Up": "正常",
"Down": "停止",
"Pending": "",
"Pending": "待機中",
"Unknown": "不明",
"Pause": "一時停止",
"Name": "名前",
@ -52,7 +52,7 @@
"Ping": "Ping",
"Monitor Type": "監視タイプ",
"Keyword": "キーワード",
"Friendly Name": "分かりやすい名前",
"Friendly Name": "モニター表示名",
"URL": "URL",
"Hostname": "ホスト名",
"Port": "ポート",
@ -210,7 +210,7 @@
"Content Type": "コンテンツタイプ",
"webhookAdditionalHeadersTitle": "追加ヘッダー",
"Server URL": "Server URL",
"Priority": "優先順位",
"Priority": "優先",
"Read more": "続きを読む",
"Show Tags": "タグを表示",
"Switch to Dark Theme": "ダークテーマに切り替える",
@ -227,7 +227,7 @@
"Select status pages...": "ステータスページを選択してください…",
"webhookAdditionalHeadersDesc": "Webhook で送信される追加ヘッダーを設定します。各ヘッダーは JSON の key/value 型で定義されている必要があります。",
"Webhook URL": "Webhook URL",
"Application Token": "Application Token",
"Application Token": "アプリケーショントークン",
"steamApiKeyDescription": "Steam Game Server を監視するためには、Steam Web-API キーが必要です。APIキーの登録はこちらから行えます。 ",
"Monitor History": "監視履歴",
"clearDataOlderThan": "監視履歴データを {0} 日間、保持します。",
@ -270,7 +270,7 @@
"Page Not Found": "ページが見つかりません",
"Reverse Proxy": "リバースプロキシ",
"Backup": "バックアップ",
"About": "About",
"About": "情報",
"cloudflareWebsite": "Cloudflare Website",
"Don't know how to get the token? Please read the guide:": "トークンの取得方法が分かりませんか?ガイドをお読みください。",
"Custom": "カスタム",
@ -453,7 +453,7 @@
"maintenanceStatus-unknown": "不明",
"Server Timezone": "サーバータイムゾーン",
"IconUrl": "アイコンURL",
"Enable DNS Cache": "(非推奨) HTTP(s)の監視に対しDNSキャッシュを有効にする",
"Enable DNS Cache": "【廃止】HTTP(s)モニターに対してDNSキャッシュを有効にする",
"Enable": "有効",
"Disable": "無効",
"Schedule Maintenance": "スケジュールメンテナンス",
@ -467,7 +467,7 @@
"Discord Webhook URL": "Discord ウェブフック URL",
"wayToCheckSignalURL": "こちらから設定方法を確認できます:",
"Number": "Number",
"Line Developers Console": "Line Developers Console",
"Line Developers Console": "LINE Developersコンソール",
"Access Token": "アクセストークン",
"Channel access token": "チャンネルアクセストークン",
"enableGRPCTls": "TLS接続でgRPCリクエストを送信できるようにする",
@ -481,10 +481,10 @@
"No Maintenance": "メンテナンスはありません",
"dnsCacheDescription": "一部のIPv6環境では動作しない場合があります。問題が発生した場合は無効にしてください。",
"uninstalling": "アンインストール中",
"confirmUninstallPlugin": "本当にこのプラグインをアンインストールしていいですか?",
"confirmUninstallPlugin": "本当にこのプラグインをアンインストールしすか?",
"wayToGetDiscordURL": "サーバー設定 -> 連携サービス -> ウェブフックを確認 -> 新しいウェブフック から新たに取得できます",
"wayToGetTeamsURL": "ウェブフックの作成方法は {0}",
"wayToGetZohoCliqURL": "ウェブフックの作成方法は {0}",
"wayToGetTeamsURL": "Webhook URLの作成方法は {0}",
"wayToGetZohoCliqURL": "Webhook URLの作成方法は {0}",
"confirmDeleteTagMsg": "このタグを本当に削除してよろしいですか?このタグが付けられたモニターは削除されません。",
"deleteMaintenanceMsg": "このメンテナンスを本当に削除していいですか?",
"promosmsLogin": "APIログイン名",
@ -505,7 +505,7 @@
"backupRecommend": "代わりにボリュームまたはデータフォルダ(./data/)を直接バックアップしてください。",
"recurringInterval": "インターバル",
"Recurring": "繰り返し",
"lineDevConsoleTo": "Line Developers Console - {0}",
"lineDevConsoleTo": "LINE Developersコンソール - {0}",
"Basic Settings": "基本設定",
"User ID": "User ID",
"Huawei": "Huawei",
@ -552,7 +552,7 @@
"octopushSMSSender": "SMS送信者名311文字の英数字とスペースazAz09",
"Lowcost": "低コスト",
"A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "通知サービスの一覧からデバイス名を見つけるには、Home Assistantの「開発者ツール > サービス」から通知で検索してください。",
"Notify Channel": "通知チャンネル",
"Notify Channel": "チャンネル通知",
"Icon Emoji": "絵文字アイコン",
"setupDatabaseChooseDatabase": "どのデータベースを使いたいですか?",
"setupDatabaseEmbeddedMariaDB": "何も設定する必要はありません。この Docker イメージは設定済みの MariaDB が組み込まれています。Uptime Kuma はこのデータベースに unix ソケットを通じて接続します。",
@ -589,7 +589,7 @@
"liquidIntroduction": "Templatability は Liquid テンプレート言語を利用します。使い方は {0} をご覧ください。以下は利用可能な変数です:",
"templateMsg": "通知の内容",
"templateHeartbeatJSON": "死活監視 (heartbeat) を記述している JSON オブジェクト",
"templateMonitorJSON": "監視対象を記述している JSON オブジェクト",
"templateMonitorJSON": "監視対象",
"Remove the expiry notification": "有効期限の通知日を削除する",
"authInvalidToken": "無効なトークンです。",
"authIncorrectCreds": "無効なユーザー名かパスワードです。",
@ -618,13 +618,13 @@
"foundChromiumVersion": "Chromium/Chrome を見つけました。 Version: {0}",
"Select": "選択",
"Add a new expiry notification day": "有効期限の通知日を追加する",
"emailCustomSubject": "カスタム・トピック",
"emailCustomSubject": "カスタム件名",
"emailTemplateMsg": "通知の内容",
"To Email": "Email へ",
"emailTemplateLimitedToUpDownNotification": "UP/DOWN 死活監視 (heartbeat) の場合のみ有効",
"deleteRemoteBrowserMessage": "本当にこのリモートブラウザをすべての監視から削除しますか?",
"Refresh Interval": "更新間隔",
"Refresh Interval Description": "ステータスページは{0}秒ごとに全面更新されます",
"Refresh Interval Description": "ステータスページは {0} 秒ごとに全面更新されます",
"wayToGetLineChannelToken": "まず {0} にアクセスし、プロバイダーとチャネルMessaging APIを作成します。次に、上記のメニューからアクセストークンとチャネルのユーザー ID を取得します。",
"aboutMattermostChannelName": "「チャンネル名」フィールドにチャンネル名を入力することで、Webhook から送信されるデフォルトのチャンネル名を上書きできます。これは Mattermost の Webhook 設定で有効にしておく必要があります。例 #other-channel",
"Saved.": "保存しました。",
@ -646,7 +646,7 @@
"DateTime Range": "日付範囲",
"Maintenance Time Window of a Day": "今日のメンテナンス時間のウィンドウ",
"octopushLogin": "コントロールパネルの HTTP API 認証情報にある「ログイン」",
"notificationRegional": "特殊地域",
"notificationRegional": "リージョナル(一部の地域のみ)",
"pushOthers": "その他",
"Host URL": "ホストURL",
"enableNSCD": "NSCD (Name Service Cache Daemon) を有効にして、すべての DNS クエリをキャッシュする",
@ -663,11 +663,11 @@
"lastDay4": "月末の 4 日前",
"chromeExecutable": "Chrome/Chromium の実行ファイル",
"chromeExecutableDescription": "Docker を使用しており、Chromium がインストールされていない場合、インストールしてからテスト結果の表示するのに数分かかることがあります。1 GB の容量を必要とします。",
"jsonQueryDescription": "応答に対して json クエリを実行し、値が期待されたものであるか確認します(戻り値は比較の際文字列に変換されます)。 クエリ言語のドキュメントについては、{0}を参照してください。{1}にプレイグラウンドがあります。",
"leave blank for default body": "デフォルトの本文を使用するには空のままにしてください",
"jsonQueryDescription": "サーバーのJSONレスポンスから特定のデータを抽出するにはJSONクエリを使用してください。\"$\"で生のレスポンスが取得できます。抽出結果は文字列として期待結果と比較されます。ドキュメントについては{0}を参照し、クエリの検証には{1}を使用してください。",
"leave blank for default body": "空の場合はデフォルトの本文を使用します",
"apprise": "Apprise (50以上の通知サービスをサポートしています)",
"Apprise URL": "AppriseのURL",
"emailTemplateHostnameOrURL": "ホスト名またはURL",
"emailTemplateHostnameOrURL": "ホスト名/URL",
"emailCustomisableContent": "カスタマイズ可能なコンテンツ",
"emailCustomBody": "カスタム本文",
"emailTemplateServiceName": "サービス名",
@ -688,7 +688,7 @@
"webhookBodyPresetOption": "プリセット - {0}",
"Optional": "オプション",
"and": "かつ",
"From Email": "Emailより",
"From Email": "送信元メールアドレス",
"CurlDebugInfoProxiesUnsupported": "上記コマンド {curl} のProxyサポートは現在、実装されていません。",
"Your User ID": "あなたのユーザーID",
"programmingLanguages": "プログラミング言語",
@ -699,13 +699,371 @@
"firewalls": "ファイアウォール",
"dns resolvers": "DNSリゾルバ",
"docker networks": "Dockerネットワーク",
"sameAsServerTimezone": "サーバータイムゾーンと同じ",
"cronExpression": "Cron表記",
"invalidCronExpression": "不正なCron表記です: {0}",
"Single Maintenance Window": "シングルメンテナンスウィンドウ",
"sameAsServerTimezone": "サーバータイムゾーンと同じ",
"cronExpression": "cron表記",
"invalidCronExpression": "不正なcron表記です: {0}",
"Single Maintenance Window": "単体メンテナンス・ウィンドウ",
"shrinkDatabaseDescriptionSqlite": "SQLiteデータベースで{vacuum}をトリガーしてください。{auto_vacuum}は既に有効化されていますが、これは{vacuum}コマンドが行うようなデータベースのデフラグメントや個々のデータベースページの再パックを行いません。",
"statusPageSpecialSlugDesc": "特別なスラッグ{0}:スラッグが指定されていない場合にこのページが表示されます",
"Automations can optionally be triggered in Home Assistant:": "オートメーションはオプションでホームアシスタントでトリガーすることもできます:",
"Then choose an action, for example switch the scene to where an RGB light is red.": "次にアクションを選択します。例えば、RGBのライトが赤になるようにシーンを切り替えます。",
"wayToGetDiscordThreadId": "スレッド/フォーラム投稿IDを取得する方法は、チャンネルIDを取得する方法に似ています。IDの取得方法について詳しくはこちらをご覧ください{0}"
"Automations can optionally be triggered in Home Assistant:": "オートメーションは Home Assistant を使って動作させることもできます:",
"Then choose an action, for example switch the scene to where an RGB light is red.": "次にアクションを選択します。例えば、RGB ライトが赤になるようにシーンを切り替えるなどです。",
"wayToGetDiscordThreadId": "スレッド/フォーラム投稿IDを取得する方法は、チャンネルIDを取得する方法に似ています。IDの取得方法について詳しくはこちらをご覧ください{0}",
"Recipients": "受信者",
"Channel access token (Long-lived)": "チャンネルアクセストークン(長期)",
"grpcMethodDescription": "メソッド名はsayHello、checkのようにキャメルケースに変換されます。",
"rabbitmqNodesRequired": "このモニターのノードを設定してください。",
"rabbitmqNodesInvalid": "RabbitMQードには完全修飾'http'で始まるURLを使用してください。",
"RabbitMQ Username": "RabbitMQユーザー名",
"RabbitMQ Password": "RabbitMQパスワード",
"SendGrid API Key": "SendGrid APIキー",
"pushoversounds pushover": "Pushover (デフォルト)",
"pushoversounds gamelan": "Gamelan",
"pushoversounds persistent": "Persistent (long)",
"wayToGetKookBotToken": "アプリケーション作成とボットトークンの取得はこちら: {0}",
"pushoverDesc1": "緊急優先度(2)を設定すると、リトライ中のタイムアウトはデフォルトで30秒に設定されます。また、1時間が経過すると再試行は行われなくなります。",
"octopushTypeLowCost": "Low Cost (低速 - 時々オペレーターにブロックされることがあります)",
"octopushLegacyHint": "Octopushの旧バージョン(2011-2020)を使用していますか?それとも新バージョンを使用していますか?",
"You can divide numbers with": "数字を次のキーワードで分割できます",
"goAlertInfo": "GoAlertはオンコールスケジューリング、自動エスカレーション、通知(SMSや音声通話など)を行うオープンソースのアプリケーションです。適切な人物を、適切な方法で、適切なタイミングで自動的に招集できます! {0}",
"Mention group": "メンション {group}",
"matrixDesc2": "新しいユーザーを作成し、自分のMatrixユーザーのアクセストークンを使用しないことを強く推奨します。アクセストークンを使用すると、アカウント自体や参加している全てのルームにフルアクセスできてしまいます。代わりに、新しいユーザーを作成して通知を受け取りたいルームにのみ招待してください。アクセストークンは{0}を実行すると取得できます。",
"aboutSlackUsername": "メッセージ送信者の表示名を変更します。誰かにメンションしたい場合は、そのメンションをモニター表示名に含めてください。",
"aboutChannelName": "Webhookチャンネルをバイパスしたい場合は「チャンネル名」フィールドにWebhookチャンネル名を入力してください。例#other-channel",
"wayToGetPagerDutyKey": "キーを取得するには、サービス -> サービスディレクトリ -> (サービスを選択) -> インテグレーション -> インテグレーション と進み、「Events API V2」で検索してください。詳細情報はこちら: {0}",
"smseagleRecipient": "受信者(複数の場合はカンマで区切る)",
"smspartnerPhoneNumberHelptext": "番号は次のような国際形式で入力してください: {0}, {1}。複数の場合は{2}で区切ってください。",
"Server URL should not contain the nfty topic": "サーバーURLはntfyトピックを含むべきではありません",
"onebotSafetyTips": "安全のためにアクセストークンを設定してください",
"PushDeer Server": "PushDeerサーバー",
"pushDeerServerDescription": "公式サーバーを使用する場合は空白のままにしてください",
"apiKeyAddedMsg": "APIキーが追加されました。APIキーは再表示できないため、メモなどに保存してください。",
"wayToGetPagerTreeIntegrationURL": "PagerTreeでUptime Kumaインテグレーションを作成後、エンドポイントをコピーしてください。詳細は {0}",
"twilioAuthToken": "認証トークン/APIキーシークレット",
"Show Clickable Link Description": "チェックを入れると、このステータスページにアクセスできる全ての人がモニターURLにアクセスできるようになります。",
"Open Badge Generator": "オープンバッジの生成",
"Badge Generator": "{0}のバッジ生成",
"Badge Label Color": "バッジラベルの色",
"Badge Up Color": "Upを示すバッジの色",
"Badge Maintenance Color": "Maintenanceを示すバッジの色",
"monitorToastMessagesLabel": "モニターのトースト通知",
"monitorToastMessagesDescription": "モニターのトースト通知は、指定された秒数後に消えます。-1に設定するとタイムアウトが無効になり、0に設定するとトースト通知が無効になります。",
"Pick a SASL Mechanism...": "SASLメカニズムを選択してください",
"noGroupMonitorMsg": "利用できません。先にグループモニターを作成してください。",
"wayToGetFlashDutyKey": "チャンネル -> (チャンネルを選択) -> 統合 -> 新しい統合を追加 のページに移動し、「Uptime Kuma」を追加してプッシュアドレスを取得し、アドレス内の統合キーをコピーしてください。詳細はこちら:",
"cacheBusterParamDescription": "キャッシュをスキップするためにランダム生成したパラメータ",
"gamedigGuessPortDescription": "Valve Server Query Protocolで使用されるポートはクライアントポートとは異なる場合があります。モニターがサーバーに接続できない場合は、この設定を試してください。",
"receiverInfoSevenIO": "受信側番号がドイツの番号ではない場合、番号の前に国コードを追加する必要がありますアメリカの国コード1の場合は、017612121212の代わりに117612121212を使用します。",
"wayToWriteWhapiRecipient": "電話番号には国コードが必要ですが、先頭のプラス記号は不要です({0}。連絡先IDの場合{1}、グループIDの場合{2})。",
"callMeBotGet": "{0}、{1}、および{2}のエンドポイントを生成できます。レート制限がかかる可能性があるため注意してください。レート制限は次のようになります: {3}",
"gtxMessagingFromHint": "携帯電話の受信者にはメッセージの送信者としてTPOAが表示されます。最大11文字の英数字、ショートコード、ローカルロングコード、または国際電話番号{e164}、{e212}、または{e214})が使用できます。",
"cellsyntOriginatortypeNumeric": "数値最大15桁で、先頭に00を付けない国際フォーマットの電話番号イギリスの番号07920 110 000は447920110000として設定する必要があります。受信者はメッセージに返信できます。",
"snmpCommunityStringHelptext": "この文字列はSNMP対応デバイスへの認証とアクセス制御用のパスワードとして機能します。SNMPデバイスの文字列設定と一致させてください。",
"snmpOIDHelptext": "センサーや監視したいステータス用のOIDを入力してください。OIDが不明な場合はMIBブラウザやSNMPソフトウェアなどのネットワーク管理ツールを使用してください。",
"threemaRecipientTypePhoneFormat": "E.164形式、先頭の+無し",
"threemaBasicModeInfo": "注記: このインテグレーションは、ベーシックモードサーバーベースの暗号化のThreema Gatewayを使用します。詳細は{0}",
"privateOnesenderDesc": "電話番号が有効であることを確認してください。プライベート電話番号にメッセージを送信するには次のように入力してください。例628123456789",
"groupOnesenderDesc": "グループIDが有効であることを確認してください。グループIDにメッセージを送信するには次のように入力してください。例628123456789-342345",
"Lost connection to the socket server.": "ソケットサーバーへのコネクションが切れました。",
"signl4Docs": "SIGNL4の設定方法やSIGNL4のWebhook URLを取得する方法の詳細は{0}で確認できます。",
"equals": "一致",
"contains": "含む",
"less than or equal to": "以下",
"Doorbell": "Doorbell",
"Custom sound to override default notification sound": "デフォルトの通知音を上書きするカスタムサウンド",
"Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "即時通知はデバイスが「おやすみモード」の場合でも通知されます。",
"RabbitMQ Nodes": "RabbitMQ管理ード",
"rabbitmqNodesDescription": "RabbitMQ管理ードのURLを、プロトコルとポートを含めて入力してください。例: {0}",
"rabbitmqHelpText": "モニターを使用するには、RabbitMQの設定で管理プラグインを有効にする必要があります。詳細はこちら: {rabitmq_documentation}",
"pushoversounds bike": "Bike",
"pushoversounds bugle": "Bugle",
"pushoversounds cashregister": "Cash Register",
"pushoversounds classical": "Classical",
"pushoversounds cosmic": "Cosmic",
"pushoversounds falling": "Falling",
"pushoversounds incoming": "Incoming",
"pushoversounds magic": "Magic",
"pushoversounds mechanical": "Mechanical",
"pushoversounds pianobar": "Piano Bar",
"pushoversounds siren": "Siren",
"pushoversounds spacealarm": "Space Alarm",
"pushoversounds tugboat": "Tug Boat",
"pushoversounds alien": "Alien Alarm (long)",
"pushoversounds climb": "Climb (long)",
"pushoversounds echo": "Pushover Echo (long)",
"pushoversounds updown": "Up Down (long)",
"pushoversounds vibrate": "Vibrate Only",
"pushoversounds none": "None (silent)",
"wayToGetKookGuildID": "Kookの設定で「開発者モード」を有効にし、ギルドを右クリックしてIDを取得してください。",
"Guild ID": "ギルドID",
"pushoverDesc2": "別デバイスに通知を送信したい場合、「デバイス」フィールドに入力してください。",
"octopushTypePremium": "Premium (高速 - アラート用に推奨)",
"checkPrice": "{0}の料金:",
"Check octopush prices": "octopushの料金を確認してください: {0}",
"LunaSea Device ID": "LunaSeaデバイスID",
"Strategy": "戦略",
"Free Mobile User Identifier": "Free MobileユーザID",
"Free Mobile API Key": "Free Mobile APIキー",
"Proto Service Name": "Protoサービス名",
"Proto Method": "Protoメソッド",
"Proto Content": "Protoコンテンツ",
"high": "高",
"SendKey": "SendKey",
"SMSManager API Docs": "SMSManager APIドキュメント ",
"Base URL": "ベースURL",
"goAlertIntegrationKeyInfo": "サービスの汎用APIインテグレーションキーを「aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee」の形式で取得してください。通常、URLのトークンパラメータの値です。",
"TemplateCode": "テンプレートコード",
"SignName": "署名",
"Sms template must contain parameters: ": "SMSテンプレートは次のパラメータを含む必要があります: ",
"Bark API Version": "Bark APIバージョン",
"Bark Endpoint": "Barkエンドポイント",
"Bark Group": "Barkグループ",
"For safety, must use secret key": "安全のためにシークレットキーを使用する必要があります。",
"Mentioning": "メンション",
"Don't mention people": "メンションしない",
"Platform": "プラットフォーム",
"High": "高",
"promosmsTypeEco": "SMS ECO - 安価ですが低速で混雑 する場合があります。使用はポーランド在住の受信者に限られます。",
"promosmsTypeFlash": "SMS FLASH - メッセージは受信者のデバイスに自動的に表示されます。使用はポーランド在住の受信者に限られます。",
"promosmsTypeFull": "SMS FULL - SMSのプレミアム版です。送信者名を使用できます名前を先に登録する必要があります。アラート用途として信頼性があります。",
"promosmsTypeSpeed": "SMS SPEED - システム内の最も高い優先度を持ちます。非常に迅速で信頼性がありますが、コストは高くなりますSMS FULLの約2倍の料金。",
"promosmsPhoneNumber": "電話番号 (Polishの受信者であればエリアコードを省略できます)",
"promosmsSMSSender": "SMS送信者名: 事前登録済みの名前、または次の既定値のいずれか(InfoSMS, SMS Info, MaxSMS, INFO, SMS)",
"Feishu WebHookUrl": "Feishu Webhook URL",
"matrixHomeserverURL": "ホームサーバーURL (http(s)://で始まり、オプションでポート番号を含む)",
"Internal Room Id": "内部ルームID",
"matrixDesc1": "内部ルームIDはルーム設定の詳細セクションでを確認でき、「!QMdRCpUIfLwsfjxye6:home.server」のような形式になっています。",
"aboutNotifyChannel": "チャンネル通知はメンバーの状態に関わらず、チャンネルの全てのメンバーに通知を送信します。",
"setup a new monitor group": "新しいモニターグループをセットアップ",
"openModalTo": "{0}へのモーダルを開く",
"Add a domain": "ドメインを追加",
"Remove domain": "ドメインの削除 '{0}'",
"signalImportant": "重要: 受信者にグループと番号を混在させることはできません!",
"aboutWebhooks": "Webhookに関する追加の情報はこちら: {0}",
"WeCom Bot Key": "WeCom Botキー",
"promosmsAllowLongSMS": "長いSMSメッセージを許可",
"alertaApiKey": "APIキー",
"Group": "グループ",
"smtpDkimDesc": "使用方法はNodemailer DKIMの{0}を参照してください。",
"documentation": "ドキュメント",
"smtpDkimKeySelector": "キーセレクター",
"smtpDkimPrivateKey": "プライベートキー",
"smtpDkimheaderFieldNames": "署名するヘッダーキー(オプション)",
"Integration Key": "Integrationキー",
"Integration URL": "Integration URL",
"Auto resolve or acknowledged": "Auto resolve または acknowledged",
"do nothing": "何もしない",
"auto acknowledged": "自動確認済み",
"auto resolve": "自動解決済み",
"alertaApiEndpoint": "APIエンドポイント",
"alertaEnvironment": "環境",
"alertaAlertState": "アラート状態",
"alertaRecoverState": "リカバリー状態",
"serwersmsAPIUser": "APIユーザ名 (webapi_ プレフィックスを含む)",
"serwersmsAPIPassword": "APIパスワード",
"serwersmsPhoneNumber": "電話番号",
"serwersmsSenderName": "SMS送信者名(カスタマーポータル経由で登録された)",
"smseagleTo": "電話番号",
"smseagleGroup": "電話帳グループ名",
"smseagleContact": "電話帳連絡先名",
"smseagleRecipientType": "受信者タイプ",
"smseagleToken": "APIアクセストークン",
"smseagleUrl": "SMSEagleデバイスURL",
"smseagleEncoding": "Unicodeで送信",
"smseaglePriority": "メッセージ優先度 (0-9, default = 0)",
"smspartnerApiurl": "APIキーはダッシュボードから確認できます: {0}",
"smspartnerPhoneNumber": "電話番号",
"smspartnerSenderName": "SMS送信者名",
"smspartnerSenderNameInfo": "3文字以上11文字以下の通常文字",
"Recipient Number": "受信者番号",
"From Name/Number": "送信者名/送信元番号",
"Leave blank to use a shared sender number.": "共有送信番号を使用する場合は空白のままにしてください。",
"Octopush API Version": "Octopush APIバージョン",
"Legacy Octopush-DM": "旧Octopush-DM",
"ntfy Topic": "ntfyトピック",
"onebotHttpAddress": "OneBot HTTPアドレス",
"onebotMessageType": "OneBotメッセージタイプ",
"onebotGroupMessage": "グループ",
"onebotPrivateMessage": "プライベート",
"onebotUserOrGroupId": "グループ/ユーザーID",
"PushDeer Key": "PushDeerキー",
"wayToGetClickSendSMSToken": "APIユーザー名とAPIキーは{0}から取得できます。",
"Custom Monitor Type": "カスタムモニタータイプ",
"Don't expire": "期限をつけない",
"Continue": "続ける",
"Add Another": "追加",
"apiKey-active": "アクティブ",
"apiKey-expired": "期限切れ",
"apiKey-inactive": "インアクティブ",
"pagertreeIntegrationUrl": "インテグレーションURL",
"pagertreeUrgency": "緊急度",
"pagertreeSilent": "サイレント",
"pagertreeLow": "低",
"pagertreeMedium": "中",
"pagertreeHigh": "高",
"pagertreeCritical": "クリティカル",
"pagertreeResolve": "自動解決",
"pagertreeDoNothing": "何もしない",
"lunaseaTarget": "ターゲット",
"lunaseaDeviceID": "デバイスID",
"lunaseaUserID": "ユーザーID",
"ntfyAuthenticationMethod": "認証方法",
"ntfyPriorityHelptextAllEvents": "全てのイベントは最大の優先度で送信されます。",
"ntfyPriorityHelptextAllExceptDown": "優先度が{1}に設定された{0}イベントを除く、全てのイベントは設定された優先度で送信されます。",
"ntfyUsernameAndPassword": "ユーザー名とパスワード",
"twilioAccountSID": "アカウントSID",
"twilioApiKey": "APIキー(オプション)",
"twilioFromNumber": "送信元番号",
"twilioToNumber": "送信先番号",
"Monitor Setting": "{0}のモニター設定",
"Show Clickable Link": "クリックできるリンクを表示",
"Badge Type": "バッジタイプ",
"Badge Duration (in hours)": "バッジ間隔(時間単位)",
"Badge Label": "バッジラベル",
"Badge Prefix": "バッジのプレフィックス",
"Badge Suffix": "バッジのサフィックス",
"Badge Color": "バッジの色",
"Badge Label Prefix": "バッジラベルのプリフィックス",
"Badge Preview": "バッジのプレビュー",
"Badge Label Suffix": "バッジラベルのサフィックス",
"Badge Pending Color": "Pendingを示すバッジの色",
"Badge Down Color": "Downを示すバッジの色",
"Badge Warn Color": "Warnを示すバッジの色",
"Badge Warn Days": "バッジをWarn表示にするまでの日数",
"Badge Down Days": "バッジをDown表示にするまでの日数",
"Badge Style": "バッジスタイル",
"Badge value (For Testing only.)": "バッジの値(テスト用)",
"Monitor Group": "モニターグループ",
"toastErrorTimeout": "エラー通知のタイムアウト",
"toastSuccessTimeout": "成功通知のタイムアウト",
"Kafka Brokers": "Kafkaブローカー",
"Enter the list of brokers": "ブローカーのリストを入力してください",
"Press Enter to add broker": "エンターを押してブローカーを追加してください",
"Kafka Topic Name": "Kafkaトピック名",
"Kafka Producer Message": "Kafka Producerのメッセージ",
"Enable Kafka SSL": "Kafka SSLを有効にする",
"Enable Kafka Producer Auto Topic Creation": "Kafka Producerのトピック自動生成を有効にする",
"Kafka SASL Options": "Kafka SASLオプション",
"Mechanism": "メカニズム",
"Authorization Identity": "認証ID",
"AccessKey Id": "アクセスキーID",
"Secret AccessKey": "シークレットアクセスキー",
"Session Token": "セッショントークン",
"Close": "閉じる",
"Request Body": "リクエストボディ",
"FlashDuty Severity": "重要度",
"nostrRelays": "Nostrリレー",
"nostrRelaysHelp": "1行につき1つのリレーURL",
"nostrSender": "送信者プライベートキー(nsec)",
"nostrRecipients": "受信者パブリックキー(npub)",
"nostrRecipientsHelp": "npubフォーマット、1行ごと",
"showCertificateExpiry": "証明書の有効期限を表示",
"noOrBadCertificate": "無効/不正証明書",
"cacheBusterParam": "{0}パラメータを追加する",
"gamedigGuessPort": "Gamedig: ポートを推測",
"Message format": "メッセージフォーマット",
"Send rich messages": "リッチメッセージを送信",
"Bitrix24 Webhook URL": "Bitrix24 Webhook URL",
"wayToGetBitrix24Webhook": "Webhookは次の手順で作成できます {0}",
"bitrix24SupportUserID": "Bitrix24のユーザIDを入力してください。ユーザIDはユーザプロファイルのリンクから取得できます。",
"authUserInactiveOrDeleted": "そのユーザーは非アクティブまたは削除されています。",
"apiKeySevenIO": "SevenIO APIキー",
"wayToGetWhapiUrlAndToken": "{0}から目的のチャンネルに入ることでAPI URLとトークンを取得できます。",
"whapiRecipient": "電話番号/連絡先ID/グループID",
"API URL": "API URL",
"wayToGetHeiiOnCallDetails": "Trigger IDとAPIキーの取得方法はこちら: {documentation}",
"documentationOf": "{0}のドキュメント",
"gtxMessagingApiKeyHint": "APIキーは次のページで確認できます: My Routing Accounts > Show Account Information > API Credentials > REST API (v2.x)",
"From Phone Number / Transmission Path Originating Address (TPOA)": "送信元番号/Transmission Path Originating Address (TPOA)",
"To Phone Number": "送信先電話番号",
"gtxMessagingToHint": "先頭に「+」を付けた国際フォーマット({e164}、{e212}、または{e214}",
"Originator type": "発信者タイプ",
"cellsyntOriginatortypeAlphanumeric": "英数字の文字列最大11文字の英数字。受信者はメッセージに返信できません。",
"Originator": "発信者",
"cellsyntOriginator": "受信者の携帯電話にメッセージの発信者として表示されます。許可される値と機能はoriginatortypeパラメータに依存します。",
"Destination": "送信先",
"Community String": "コミュニティー文字列",
"OID (Object Identifier)": "OID (Object ID)",
"max 11 alphanumeric characters": "最大11文字の英数字",
"SNMP Version": "SNMPバージョン",
"Please enter a valid OID.": "有効なOIDを入力してください。",
"wayToGetThreemaGateway": "Threema Gateway用に登録可能です: {0}",
"threemaRecipient": "受信者",
"threemaRecipientType": "受信タイプ",
"threemaRecipientTypeIdentity": "Threema-ID",
"threemaRecipientTypeIdentityFormat": "8文字",
"threemaRecipientTypePhone": "電話番号",
"threemaRecipientTypeEmail": "メールアドレス",
"threemaSenderIdentity": "Gateway-ID",
"threemaSenderIdentityFormat": "8文字、通常 * で始まります",
"threemaApiAuthenticationSecret": "Gateway-IDシークレット",
"apiKeysDisabledMsg": "認証が無効になっているため、APIキーは無効です。",
"Host Onesender": "Onesenderホスト",
"Token Onesender": "Onesenderトークン",
"Recipient Type": "受信タイプ",
"Private Number": "プライベート電話番号",
"Group ID": "グループID",
"wayToGetOnesenderUrlandToken": "OnesenderのWebサイトからURLとトークンを取得できます。詳細は{0}",
"Add Remote Browser": "リモートブラウザを追加",
"New Group": "新規グループ",
"Group Name": "グループ名",
"OAuth2: Client Credentials": "OAuth2: クライアントクレデンシャル",
"Authentication Method": "認証方法",
"Authorization Header": "認証ヘッダー",
"Form Data Body": "フォームデータボディ",
"OAuth Token URL": "OAuthトークンURL",
"Client ID": "クライントID",
"Client Secret": "クライアントシークレット",
"OAuth Scope": "OAuthスコープ",
"Optional: Space separated list of scopes": "オプション:スペースで区切られたスコープのリスト",
"Go back to home page.": "ホームページに戻る",
"No tags found.": "タグが見つかりません。",
"Cannot connect to the socket server.": "ソケットサーバに接続できません。",
"SIGNL4": "SIGNL4",
"SIGNL4 Webhook URL": "SIGNL4 Webhook URL",
"conditionAddGroup": "グループを追加",
"conditionDeleteGroup": "グループを削除",
"conditionValuePlaceholder": "値",
"Condition": "条件",
"Conditions": "条件",
"conditionAdd": "条件を追加",
"conditionDelete": "条件を削除",
"not equals": "不一致",
"not contains": "含まない",
"starts with": "から始まる",
"not starts with": "から始まらない",
"ends with": "で終わる",
"not ends with": "で終わらない",
"less than": "未満",
"greater than": "より大きい",
"greater than or equal to": "以上",
"record": "レコード",
"Notification Channel": "通知チャンネル",
"Sound": "サウンド",
"Alphanumerical string and hyphens only": "英数字とハイフンのみ",
"Arcade": "Arcade",
"Correct": "Correct",
"Fail": "Fail",
"Harp": "Harp",
"Reveal": "Reveal",
"Bubble": "Bubble",
"Flute": "Flute",
"Money": "Money",
"Scifi": "Scifi",
"Clear": "Clear",
"Elevator": "Elevator",
"Guitar": "Guitar",
"Pop": "Pop",
"Time Sensitive (iOS Only)": "即時通知(iOSのみ)",
"From": "送信元",
"Can be found on:": "次の場所にあります: {0}",
"The phone number of the recipient in E.164 format.": "受信者の電話番号はE.164形式で入力してください。",
"Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "返信を受け取るためには、テキスト送信者IDまたはE.164形式の電話番号のいずれかが必要です。",
"Separate multiple email addresses with commas": "メールアドレスが複数の場合はカンマで区切ってください。",
"aboutKumaURL": "Uptime KumaのURLフィールドを空白のままにすると、URLフィールドにはデフォルトでプロジェクトのGitHubページが設定されます。",
"smtpDkimHashAlgo": "ハッシュアルゴリズム(オプション )",
"smtpDkimskipFields": "署名しないヘッダーキー(オプション)",
"Key Added": "追加キー",
"Bark Sound": "Bark通知音",
"Badge URL": "バッジURL",
"pushoversounds intermission": "Intermission"
}

View File

@ -17,5 +17,6 @@
"List": "სია",
"Add": "დამატება",
"Add New Monitor": "ახალი მონიტორის დამატება",
"Down": "დაბლა"
"Down": "დაბლა",
"setupDatabaseChooseDatabase": "რომელი მონაცემთა ბაზის გამოყენება გსურთ?"
}

View File

@ -787,5 +787,15 @@
"Host URL": "호스트 URL",
"locally configured mail transfer agent": "로컬로 구성된 메일 전송 에이전트",
"ignoreTLSErrorGeneral": "연결에 TLS/SSL 오류 무시하기",
"ignoredTLSError": "TLS/SSL 오류가 무시되었습니다"
"ignoredTLSError": "TLS/SSL 오류가 무시되었습니다",
"liquidIntroduction": "템플릿 생성은 Liquid 템플릿 언어를 통해 이루어집니다. 사용 지침은 {0}을 참조하세요. 사용 가능한 변수는 다음과 같습니다:",
"templateMsg": "알림 메시지",
"templateLimitedToUpDownCertNotifications": "업/다운/인증서 만료 알림에만 사용 가능",
"templateLimitedToUpDownNotifications": "UP/DOWN 알림에만 사용 가능",
"webhookBodyPresetOption": "프리셋 - {0}",
"successKeyword": "성공 키워드",
"successKeywordExplanation": "성공으로 간주되는 MQTT 키워드",
"Reset Token": "토큰 초기화",
"Check/Uncheck": "체크/체크 해제",
"pushViewCode": "푸시 모니터링는 어떻게 사용하나요? (코드 보기)"
}

File diff suppressed because it is too large Load Diff

View File

@ -28,7 +28,7 @@
"confirmDisableTwoFAMsg": "Er du sikker på at du vil deaktivere 2FA?",
"Settings": "Innstillinger",
"Dashboard": "Dashbord",
"New Update": "Ny Oppdatering",
"New Update": "Ny oppdatering",
"Language": "Språk",
"Appearance": "Utseende",
"Theme": "Tema",
@ -46,10 +46,10 @@
"Pause": "Pause",
"Name": "Navn",
"Status": "Status",
"DateTime": "Dato tid",
"DateTime": "Dato/tid",
"Message": "Melding",
"No important events": "Ingen viktige hendelser",
"Resume": "Fortsett",
"Resume": "Gjenoppta",
"Edit": "Rediger",
"Delete": "Slett",
"Current": "Nåværende",
@ -63,7 +63,7 @@
"Ping": "Ping",
"Monitor Type": "Overvåkningstype",
"Keyword": "Stikkord",
"Friendly Name": "Vennlig navn",
"Friendly Name": "Lett gjenkjennelig navn",
"URL": "URL",
"Hostname": "Vertsnavn",
"Port": "Port",
@ -81,7 +81,7 @@
"Light": "Lys",
"Dark": "Mørk",
"Auto": "Auto",
"Theme - Heartbeat Bar": "Theme - Heartbeat Bar",
"Theme - Heartbeat Bar": "Tema - Hjerteslagslinje",
"Normal": "Normal",
"Bottom": "Bunn",
"None": "Ingen",
@ -98,9 +98,9 @@
"Enable Auth": "Aktiver autentisering",
"disableauth.message1": "Er du sikker på at du vil {disableAuth}?",
"disable authentication": "deaktiver autentisering",
"disableauth.message2": "Dette er for {intendThirdPartyAuth} foran Uptime Kuma, for eksempel Cloudflare Access.",
"where you intend to implement third-party authentication": "hvor du planlegger å implementere tredjeparts autentifikasjon",
"Please use this option carefully!": "Vennligst vær forsiktig når du bruker denne!",
"disableauth.message2": "Dette er tiltenkt scenarier {intendThirdPartyAuth} foran Uptime Kuma, for eksempel Cloudflare Access, Authelia eller andre autentiseringsmekanismer.",
"where you intend to implement third-party authentication": "hvor du planlegger å implementere tredjeparts-autentifikasjon",
"Please use this option carefully!": "Bruk dette valget med forsiktighet!",
"Logout": "Logg ut",
"Leave": "Forlat",
"I understand, please disable": "Jeg forstår, vennligst deaktiver",
@ -111,7 +111,7 @@
"Password": "Passord",
"Remember me": "Husk meg",
"Login": "Logg inn",
"No Monitors, please": "Ingen overvåkning, vær så snill",
"No Monitors, please": "Ingen overvåkning, takk",
"add one": "legg til en",
"Notification Type": "Meldingstype",
"Email": "E-post",
@ -129,12 +129,12 @@
"respTime": "Svartid (ms)",
"notAvailableShort": "N/A",
"Default enabled": "Standard aktivert",
"Apply on all existing monitors": "Anvend for alle eksisterende overvåkninger",
"Apply on all existing monitors": "Bruk for alle eksisterende overvåkninger",
"Create": "Opprett",
"Clear Data": "Slett data",
"Events": "Hendelser",
"Heartbeats": "Hjerteslag",
"Auto Get": "Auto Hent",
"Auto Get": "Auto-hent",
"backupDescription": "Du kan sikkerhetskopiere alle overvåkninger og alle varsler til en JSON-fil.",
"backupDescription2": "PS: Historikk og hendelsesdata er ikke inkludert.",
"backupDescription3": "Følsomme data som varslingstokener er inkludert i eksportfilen. Vennligst oppbevar dem sikkert.",
@ -146,17 +146,17 @@
"Options": "Alternativer",
"Keep both": "Behold begge",
"Verify Token": "Bekreft token",
"Setup 2FA": "Konfigurer 2FA",
"Setup 2FA": "Sett opp 2FA",
"Enable 2FA": "Aktiver 2FA",
"Disable 2FA": "Deaktiver 2FA",
"2FA Settings": "2FA Innstillinger",
"Two Factor Authentication": "To-faktor autentisering",
"2FA Settings": "2FA-innstillinger",
"Two Factor Authentication": "To-faktor-autentisering",
"Active": "Aktiv",
"Inactive": "Inaktiv",
"Token": "Token",
"Show URI": "Vis URI",
"Tags": "Etiketter",
"Add New below or Select...": "Legg til nytt nedenfor eller Velg…",
"Add New below or Select...": "Legg til nytt nedenfor, eller Velg…",
"Tag with this name already exist.": "Etikett med dette navnet eksisterer allerede.",
"Tag with this value already exist.": "Etikett med denne verdien eksisterer allerede.",
"color": "farge",
@ -170,8 +170,8 @@
"Purple": "Lilla",
"Pink": "Rosa",
"Search...": "Søk…",
"Avg. Ping": "Gj.sn. Ping",
"Avg. Response": "Gj.sn. Respons",
"Avg. Ping": "Gj.sn. ping",
"Avg. Response": "Gj.sn. respons",
"Entry Page": "Oppføringsside",
"statusPageNothing": "Ingenting her, vennligst legg til en gruppe eller en overvåkning.",
"No Services": "Ingen tjenester",
@ -196,7 +196,7 @@
"YOUR BOT TOKEN HERE": "DITT BOT TOKEN HER",
"chatIDNotFound": "Chat-ID ble ikke funnet. Send en melding til denne boten først",
"webhook": "Webhook",
"Post URL": "Post URL",
"Post URL": "Post-URL",
"Content Type": "Innholdstype",
"webhookJsonDesc": "{0} er bra for alle moderne HTTP-servere som express.js",
"webhookFormDataDesc": "{multipart} er bra for PHP. JSON trenger å bli analysert med {decodeFunction}",
@ -215,7 +215,7 @@
"Prefix Custom Message": "Prefiks tilpasset melding",
"Hello @everyone is...": "Hei {'@'}everyone det er…",
"teams": "Microsoft Teams",
"Webhook URL": "Webhook URL",
"Webhook URL": "Webhook-URL",
"wayToGetTeamsURL": "Du kan lære hvordan du oppretter en webhook-URL {0}.",
"signal": "Signal",
"Number": "Nummer",
@ -224,8 +224,8 @@
"wayToCheckSignalURL": "Du kan sjekke denne nettadressen for å se hvordan du konfigurerer en:",
"signalImportant": "VIKTIG: Du kan ikke blande grupper og nummere i mottakere!",
"gotify": "Gotify",
"Application Token": "Application Token",
"Server URL": "Server URL",
"Application Token": "Applikasjonstoken",
"Server URL": "Server-URL",
"Priority": "Prioritet",
"slack": "Slack",
"Icon Emoji": "Icon Emoji",
@ -234,7 +234,7 @@
"aboutWebhooks": "Mer informasjon om webhooks på: {0}",
"aboutChannelName": "Skriv inn kanalnavnet på {0} Kanalnavn-feltet hvis du vil omgå webhook-kanalen. Eks: #other-channel",
"aboutKumaURL": "Hvis du lar Uptime Kuma URL feltet være blank, den blir som standard til Github-siden for dette prosjektet.",
"emojiCheatSheet": "Emoji cheat sheet: {0}",
"emojiCheatSheet": "Emoji-jukselapp: {0}",
"rocket.chat": "Rocket.chat",
"pushover": "Pushover",
"pushy": "Pushy",
@ -265,7 +265,7 @@
"Status:": "Status: {0}",
"Read more": "Les mer",
"appriseInstalled": "Apprise er installert.",
"appriseNotInstalled": "Apprise ikke installert. {0}",
"appriseNotInstalled": "Apprise er ikke installert. {0}",
"Access Token": "Tilgangs-Token",
"Channel access token": "Kanal tilgangs-token",
"Line Developers Console": "Line Utviklserskonsoll",
@ -288,11 +288,11 @@
"Game": "Spill",
"statusMaintenance": "Vedlikehold",
"Maintenance": "Vedlikehold",
"Passive Monitor Type": "Passiv Monitor Type",
"Specific Monitor Type": "Spesifikk Monitor Type",
"General Monitor Type": "Generell Monitor Type",
"markdownSupported": "Markdown syntax støttet",
"Resend Notification if Down X times consecutively": "Send notifikasjon på nytt dersom nede X antall ganger på rad",
"Passive Monitor Type": "Passiv monitortype",
"Specific Monitor Type": "Spesifikk monitortype",
"General Monitor Type": "Generell monitortype",
"markdownSupported": "Markdown-formattering støttet",
"Resend Notification if Down X times consecutively": "Send varsel på nytt dersom nede X antall ganger på rad",
"Saved.": "Lagret.",
"programmingLanguages": "Programmeringsspråk",
"steamApiKeyDescription": "For å overvåke en Steam-spillserver trenger du en Steam Web-API-nøkkel. Du kan registrere API-nøkkelen din her: ",
@ -304,20 +304,20 @@
"authUserInactiveOrDeleted": "Denne brukeren er inaktiv eller slettet.",
"High": "Høy",
"smtpDkimSettings": "DKIM Innstillinger",
"settingUpDatabaseMSG": "Setter opp databasen. Dette kan ta en stund, vennligst vent.",
"settingUpDatabaseMSG": "Setter opp databasen. Dette kan ta sin tid, vær tålmodig.",
"Schedule maintenance": "Planlegg vedlikehold",
"Affected Monitors": "Affekterte monitorer",
"Start of maintenance": "Vedlikeholds start",
"All Status Pages": "Alle status sider",
"Select status pages...": "Velg status sider…",
"Affected Monitors": "Berørte monitorer",
"Start of maintenance": "Vedlikeholdsstart",
"All Status Pages": "Alle statussider",
"Select status pages...": "Velg statussider…",
"filterActive": "Aktiv",
"Custom": "Egendefinert",
"statusPageRefreshIn": "Last inn på nytt : {0}",
"templateMsg": "notifikasjons melding",
"templateLimitedToUpDownCertNotifications": "kun tilgjengelig for OPP/NED/Sertifikatutløpsvarsler",
"statusPageRefreshIn": "Oppfrisk om: {0}",
"templateMsg": "meldingen i varselet",
"templateLimitedToUpDownCertNotifications": "kun tilgjengelig for OPP/NED/sertifikatutløpsvarsler",
"templateLimitedToUpDownNotifications": "kun tilgjengelig for OPP/NED varsler",
"Method": "Metode",
"PasswordsDoNotMatch": "Passordene matcher ikke hverandre.",
"PasswordsDoNotMatch": "Passordene stemmer ikke overens.",
"Default": "Standard",
"HTTP Options": "HTTP valg",
"primary": "primær",
@ -367,20 +367,20 @@
"recurringIntervalMessage": "Kjør en gang daglig | Kjør en gang hver {0} dag",
"tcp": "TCP / HTTP",
"setupDatabaseChooseDatabase": "Hvilken database vil du bruke?",
"resendDisabled": "Resending deaktivert",
"setupDatabaseMariaDB": "Koble til en ekstern MariaDB database. Du må angi database tilkoblings informasjon.",
"setupDatabaseSQLite": "En simpel database fil, anbefalt for små skala installasjoner. I versjoner tidligere enn v2.0.0 brukte Uptime Kuma SQLite som standard.",
"resendDisabled": "Sende på nytt deaktivert",
"setupDatabaseMariaDB": "Koble til en ekstern MariaDB-database. Du må angi tilkoblingsinformasjon for databasen.",
"setupDatabaseSQLite": "En enkel databasefil, anbefalt for småskala-installasjoner. I versjoner tidligere enn v2.0.0 brukte Uptime Kuma SQLite som standarddatabase.",
"needPushEvery": "Du skal forsøke å nå denne URLen hvert {0] sekund(er).",
"dbName": "Database Navn",
"resendEveryXTimes": "Resend hver {0} gang(er)",
"Push URL": "Push URL",
"dbName": "Databasenavn",
"resendEveryXTimes": "Send på nytt hver {0} gang(er)",
"Push URL": "Push-URL",
"pushOptionalParams": "Valgfrie parametere: {0}",
"pushOthers": "Andre",
"styleElapsedTimeShowNoLine": "Vis (Ingen linje)",
"styleElapsedTimeShowWithLine": "Vis (Med linje)",
"endDateTime": "Slutt dag/tid",
"Current User": "Nåværende bruker",
"Reset Token": "Resett nøkkel",
"Reset Token": "Nullstill token",
"Done": "Ferdig",
"Info": "Info",
"Security": "Sikkerhet",
@ -441,7 +441,7 @@
"timeoutAfter": "Timeout etter {0} sekunder",
"or": "eller",
"filterActivePaused": "Pauset",
"Add New Tag": "Legg til ny tagg",
"Add New Tag": "Legg til ny etikett",
"Certificate Chain": "Sertifikatkjede",
"Valid": "Gyldig",
"Invalid": "Ugyldig",
@ -502,8 +502,8 @@
"Subject:": "Emne:",
"Home": "Hjem",
"Invert Keyword": "Inverter nøkkelord",
"Cannot connect to the socket server": "Koble til socket server",
"Reconnecting...": "kobler til på nytt...",
"Cannot connect to the socket server": "Kan ikke koble til socket-server",
"Reconnecting...": "Kobler til på nytt...",
"ntfyAuthenticationMethod": "Autentiserings metode",
"No API Keys": "Ingen API nøkler",
"apiKey-active": "Aktiv",
@ -559,5 +559,39 @@
"emailTemplateStatus": "Status",
"uninstall": "Avinstaller",
"uninstalling": "Avinstallerer",
"There might be a typing error in the address.": "Det kan være en skrivefeil i adressen."
"There might be a typing error in the address.": "Det kan være en skrivefeil i adressen.",
"setupDatabaseEmbeddedMariaDB": "Du trenger ikke angi noe. Dette Docker-imaget har integrert og pre-konfigurert MariaDB for deg. Uptime Kuma vil koble seg til denne databasen via en Unix-socket.",
"liquidIntroduction": "Maler kan opprettes via Liquid sitt malspråk. Vennligst referer til {0} for informasjon om hvordan dette brukes. Følgende variabler er tilgjengelig:",
"webhookAdditionalHeadersDesc": "Angir ekstra headere sendt sammen med webhooken. Hver header bør defineres som et JSON nøkkel/verdi-par.",
"HeadersInvalidFormat": "Forespørselsheaderne er ikke gyldig JSON: ",
"successKeywordExplanation": "MQTT-nøkkelord som vil anses som gyldig",
"Pick Affected Monitors...": "Velg berørte monitorer…",
"Search monitored sites": "Søk gjennom overvåkede sider",
"templateHeartbeatJSON": "objekt som beskriver hjerteslaget",
"templateMonitorJSON": "objekt som beskriver monitoren",
"webhookAdditionalHeadersTitle": "Ekstra headere",
"webhookBodyPresetOption": "Forhåndsvalg - {0}",
"webhookBodyCustomOption": "Egendefinert brødtekst",
"Body": "Brødtekst",
"Headers": "Headere",
"PushUrl": "Push-URL",
"BodyInvalidFormat": "Teksten i forespørselen er ikke gyldig JSON: ",
"Monitor History": "Overvåkningshistorikk",
"clearDataOlderThan": "Behold overvåkningsdata i {0} dager.",
"records": "oppføringer",
"One record": "En oppføring",
"topicExplanation": "MQTT-emne å overvåke",
"successKeyword": "Nøkkelord for gyldig respons",
"now": "nå",
"time ago": "{0} siden",
"Json Query Expression": "Json-spørring",
"locally configured mail transfer agent": "lokalt konfigurert mailoverføringsagent",
"Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "Enten skriv inn vertsnavnet på serveren du ønsker å koble til, eller {localhost} hvis du skal bruke en {local_mta}",
"ignoreTLSErrorGeneral": "Ignorer TLS/SSL-feil for tilkobling",
"ignoredTLSError": "TLS/SSL-feil har blitt ignorert",
"styleElapsedTime": "Medgått tid udner hjerteslagslinjen",
"Host URL": "VertsURL",
"Monitor": "Monitor | Monitorer",
"-year": "-år",
"pushViewCode": "Hvordan bruke Push-overvåkning? (Se kode)"
}

1
src/lang/ne.json Normal file
View File

@ -0,0 +1 @@
{}

View File

@ -1041,5 +1041,53 @@
"less than": "minder dan",
"greater than": "meer dan",
"record": "dossier",
"jsonQueryDescription": "Parseer en haal specifieke gegevens uit de JSON-respons van de server met behulp van JSON-query of gebruik \"$\" voor de onbewerkte respons, als u geen JSON verwacht. Het resultaat wordt vervolgens vergeleken met de verwachte waarde, als strings. Zie {0} voor documentatie en gebruik {1} om te experimenteren met query's."
"jsonQueryDescription": "Parseer en haal specifieke gegevens uit de JSON-respons van de server met behulp van JSON-query of gebruik \"$\" voor de onbewerkte respons, als u geen JSON verwacht. Het resultaat wordt vervolgens vergeleken met de verwachte waarde, als strings. Zie {0} voor documentatie en gebruik {1} om te experimenteren met query's.",
"rabbitmqNodesDescription": "Voer het URL voor de RabbitMQ beheerkooppunt inclusief protocol en poort in. Bijvoorbeeld: {0}",
"rabbitmqNodesRequired": "Aub stel de knooppunten voor deze monitor in.",
"rabbitmqNodesInvalid": "Stel gebruik een volledig gekwalificeerde (beginnend met 'http') URL voor RabbitMQ-knooppunten.",
"RabbitMQ Username": "RabbitMQ gebruikersnaam",
"RabbitMQ Password": "RabbitMQ wachtwoord",
"rabbitmqHelpText": "Om gebruik te maken van de monitor moet je de Management Plugin in de RabbitMQ setup aanzetten. Voor meer informatie zie de {rabitmq_documentatie}.",
"SendGrid API Key": "SendGrid API sleutel",
"Separate multiple email addresses with commas": "Splits meerdere emailadressen met kommas",
"RabbitMQ Nodes": "RabbitMQ Beheerknoppunten",
"shrinkDatabaseDescriptionSqlite": "Trigger database {vacuum} voor SQLite. {auto_vacuum} is al ingeschakeld, maar hiermee wordt de database niet gedefragmenteerd en worden ook databasepagina's niet afzonderlijke opnieuw ingepakt zoals de opdracht {vacuum} dat doet.",
"aboutSlackUsername": "Wijzigt de weergavenaam van de afzender van het bericht. Als je iemand wilt vermelden, voer in dat geval de naam in als vriendelijke naam.",
"cacheBusterParam": "Voeg de parameter {0} toe",
"Form Data Body": "Formulier Gegevens Content",
"Optional: Space separated list of scopes": "Optioneel: Reikwijdte door spaties gescheiden lijst",
"Alphanumerical string and hyphens only": "Alleen alfanumerieke tekenreeksen en koppeltekens",
"Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Tijdsgevoelige meldingen worden meteen afgeleverd, zelfs als het apparaat in niet storen modus staat.",
"Message format": "Berichtformaat",
"Send rich messages": "Stuur rijke berichten",
"OAuth Scope": "OAuth Reikwijdte",
"equals": "gelijk aan",
"not equals": "niet gelijk aan",
"less than or equal to": "kleiner dan of gelijk aan",
"greater than or equal to": "groter dan of gelijk aan",
"Notification Channel": "Meldingskanaal",
"Sound": "Geluid",
"Arcade": "Speelhal",
"Correct": "Juist",
"Fail": "Mislukt",
"Harp": "Harp",
"Reveal": "Laat zien",
"Bubble": "Bubbel",
"Doorbell": "Deurbel",
"Flute": "Fluit",
"Money": "Geld",
"Scifi": "Science fiction",
"Guitar": "Gitaar",
"Custom sound to override default notification sound": "Aangepast geluid om het standaard geluid te vervangen",
"Time Sensitive (iOS Only)": "Tijdsgevoelig (alleen voor iOs)",
"From": "Van",
"Can be found on:": "Kan gevonden worden op: {0}",
"The phone number of the recipient in E.164 format.": "Het telefoonnummer van de ontvanger in E.164 formaat",
"Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Ofwel een sms zender ID of een telefoonnummer in E.164 formaat als je reacties wil ontvangen.",
"Clear": "Helder",
"Elevator": "Lift",
"Pop": "Pop",
"Community String": "Gemeenschap Tekst",
"Json Query Expression": "Json Query Expressie",
"ignoredTLSError": "TLS/SSL-fouten zijn genegeerd"
}

View File

@ -990,9 +990,83 @@
"docker networks": "redes docker",
"Message format": "Formato da mensagem",
"snmpOIDHelptext": "Insira o OID do sensor ou do status que você deseja monitorar. Utilize ferramentas de gerenciamento de rede, como navegadores MIB ou softwares SNMP, se não tiver certeza sobre o OID.",
"privateOnesenderDesc": "Certifique-se de que o número de telefone seja válido. Para enviar uma mensagem para um número de telefone privado, ex: 628123456789",
"privateOnesenderDesc": "Certifique-se de que o número de telefone é válido. Para enviar mensagem para o número de telefone privado, ex: 628123456789",
"aboutSlackUsername": "Altera o nome de exibição do remetente da mensagem. Se quiser mencionar alguém, inclua a menção no nome amigável.",
"Send rich messages": "Enviar mensagens ricas",
"Host Onesender": "Servidor Onesender",
"Token Onesender": "Chave Onesender"
"Token Onesender": "Token Onesender",
"shrinkDatabaseDescriptionSqlite": "Acionar banco de dados {vacuum} para SQLite. {auto_vacuum} já está habilitado, mas isso não desfragmenta o banco de dados nem reempacota páginas individuais do banco de dados da maneira que o comando {vacuum} faz.",
"groupOnesenderDesc": "Certifique-se de que o GroupID é válido. Para enviar mensagem para o Grupo, ex: 628123456789-342345",
"Community String": "Cadeia de caracteres da comunidade",
"Form Data Body": "Dados do formulário",
"OAuth Token URL": "URL do token OAuth",
"Client ID": "ID do cliente",
"Client Secret": "Segredo do cliente",
"OAuth Scope": "Escopo OAuth",
"Optional: Space separated list of scopes": "Opcional: Lista de escopos separados por espaços",
"Go back to home page.": "Voltar para a página inicial.",
"No tags found.": "Nenhuma tag encontrada.",
"Lost connection to the socket server.": "Conexão perdida com o servidor de socket.",
"Cannot connect to the socket server.": "Não é possível conectar ao servidor de socket.",
"SIGNL4": "SIGNL4",
"SIGNL4 Webhook URL": "URL do Webhook SIGNL4",
"rabbitmqNodesRequired": "Por favor, defina os nós para este monitor.",
"RabbitMQ Nodes": "Nós de gerenciamento do RabbitMQ",
"rabbitmqNodesDescription": "Insira a URL para os nós de gerenciamento do RabbitMQ, incluindo protocolo e porta. Exemplo: {0}",
"Bubble": "Bolha",
"Clear": "Limpar",
"Custom sound to override default notification sound": "Som personalizado para substituir o som de notificação padrão",
"Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Notificações urgentes serão entregues imediatamente, mesmo se o dispositivo estiver no modo Não perturbe.",
"rabbitmqHelpText": "Para usar o monitor, você precisará habilitar o Management Plugin na sua configuração RabbitMQ. Para mais informações, consulte a {rabitmq_documentation}.",
"Money": "Dinheiro",
"signl4Docs": "Você pode encontrar mais informações sobre como configurar o SIGNL4 e como obter o URL do webhook do SIGNL4 em {0}.",
"Conditions": "Condições",
"conditionAdd": "Adicionar Condição",
"conditionDelete": "Excluir condição",
"conditionAddGroup": "Adicionar grupo",
"conditionDeleteGroup": "Excluir grupo",
"conditionValuePlaceholder": "Valor",
"equals": "igual",
"not equals": "diferente",
"contains": "contém",
"not contains": "não contém",
"starts with": "começa com",
"not starts with": "não começa com",
"ends with": "termina com",
"not ends with": "não termina com",
"less than": "menor que",
"greater than": "maior que",
"less than or equal to": "menor ou igual a",
"greater than or equal to": "maior ou igual a",
"record": "registro",
"Notification Channel": "Canal de Notificação",
"Sound": "Som",
"Alphanumerical string and hyphens only": "Somente sequência alfanumérica e hifens",
"Arcade": "Arcada",
"Correct": "Correto",
"Fail": "Falhou",
"Harp": "Harpa",
"Reveal": "Revelar",
"Doorbell": "Campainha",
"Flute": "Flauta",
"Scifi": "Ficção científica",
"Elevator": "Elevador",
"Guitar": "Guitarra",
"Pop": "Pop",
"Time Sensitive (iOS Only)": "Sensível ao tempo (somente iOS)",
"From": "De",
"Can be found on:": "Pode ser encontrado em: {0}",
"The phone number of the recipient in E.164 format.": "O número de telefone do destinatário no formato E.164.",
"Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Um ID de remetente de texto ou um número de telefone no formato E.164, caso você queira receber respostas.",
"rabbitmqNodesInvalid": "Use uma URL totalmente qualificada (começando com 'http') para nós do RabbitMQ.",
"RabbitMQ Username": "Nome de usuário do RabbitMQ",
"RabbitMQ Password": "Senha do RabbitMQ",
"SendGrid API Key": "Chave API do SendGrid",
"Separate multiple email addresses with commas": "Separe vários endereços de e-mail com vírgulas",
"templateServiceName": "nome do serviço",
"telegramUseTemplate": "Use um template personalizado de mensagem",
"telegramTemplateFormatDescription": "O Telegram permite o uso de diferentes linguagens de marcação para mensagens. Veja o Telegram {0} para detalhes específicos.",
"templateHostnameOrURL": "hostname ou URL",
"templateStatus": "status",
"telegramUseTemplateDescription": "Se habilitado, a mensagem será enviada usando um template personalizado."
}

View File

@ -29,7 +29,7 @@
"Settings": "Configurações",
"Dashboard": "Dashboard",
"New Update": "Nova Atualização",
"Language": "Linguagem",
"Language": "Idioma",
"Appearance": "Aparência",
"Theme": "Tema",
"General": "Geral",
@ -128,7 +128,7 @@
"Import": "Importar",
"respTime": "Tempo de Resp. (ms)",
"notAvailableShort": "N/A",
"Default enabled": "Padrão habilitado",
"Default enabled": "Padrão ativado",
"Apply on all existing monitors": "Aplicar em todos os monitores existentes",
"Create": "Criar",
"Clear Data": "Limpar Dados",
@ -442,7 +442,7 @@
"Custom": "Personalizar",
"General Monitor Type": "Tipo de Monitor Geral",
"Invert Keyword": "Palavra-chave invertida",
"setupDatabaseChooseDatabase": "Qual base de dados você deseja usar?",
"setupDatabaseChooseDatabase": "Qual é a base de dados que deseja usar?",
"setupDatabaseEmbeddedMariaDB": "Não é necessário configurar nada. Esta imagem Docker possui o MariaDB incorporado e configurado automaticamente para você. O Uptime Kuma se conectará a esta base de dados através de um socket Unix.",
"setupDatabaseMariaDB": "Conecte-se a uma base de dados MariaDB externa. Você precisa configurar as informações de conexão com a base de dados.",
"setupDatabaseSQLite": "Um arquivo de base de dados simples, recomendado para implementações em pequena escala. Antes da versão 2.0.0, o Uptime Kuma utilizava o SQLite como base de dados padrão.",
@ -463,7 +463,7 @@
"Host URL": "URL do Host",
"programmingLanguages": "Linguagens de Programação",
"locally configured mail transfer agent": "Agente de entrega de email local",
"Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "Entre o hostname do servidor ao qual se quer ligar ou a {localhost} se pretende usar {local_mta}",
"Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "Entre o hostname do servidor ao qual se quer ligar ou a {localhost} se pretende usar {local_mta}",
"ignoreTLSErrorGeneral": "Ignorar erros TLS/SSL ao ligar",
"filterActive": "Ativo",
"filterActivePaused": "Em Pausa",

View File

@ -87,5 +87,120 @@
"Max. Redirects": "Máx. Redirecionamentos",
"General Monitor Type": "Tipo Geral de Monitoramento",
"needPushEvery": "Você deve chamar essa URL a cada {0} segundos.",
"pushOptionalParams": "Parâmetros opcionais: {0}"
"pushOptionalParams": "Parâmetros opcionais: {0}",
"Notifications": "Notificações",
"Setup Notification": "Configurar notificação",
"Light": "Luz",
"Theme - Heartbeat Bar": "Tema - Heartbeat Bar",
"now": "agora",
"-year": "-ano",
"Push URL": "Enviar URL",
"ignoredTLSError": "Erros TLS/SSL foram ignorados",
"Json Query Expression": "Expressão de consulta Json",
"programmingLanguages": "Linguagens de programação",
"Save": "Salvar",
"Not available, please setup.": "Não disponível, por favor configure.",
"pushViewCode": "Como usar o Push monitor? (Ver código)",
"Create your admin account": "Criar conta de administrador",
"Apply on all existing monitors": "Aplicar em todos os monitores existentes",
"Pick Affected Monitors...": "Escolha os monitores afetados…",
"alertWrongFileType": "Por favor, escolha um arquivo JSON.",
"Two Factor Authentication": "Autenticador de dois fatores",
"Tag with this name already exist.": "Já existe uma tag com esse nome.",
"Entry Page": "Página de entrada",
"All Systems Operational": "Todos os sistemas operacionais",
"Add Group": "Adicionar um grupo",
"Add a monitor": "Adicionar um monitoramento",
"None": "Nenhum",
"Change Password": "Mudar Senha",
"Current Password": "Senha Atual",
"New Password": "Nova Senha",
"Repeat New Password": "Repita a nova senha",
"Update Password": "Atualizar senha",
"Enable Auth": "Ativar Auth",
"Disable Auth": "Desativar Auth",
"disableauth.message1": "Você tem certeza que deseja {disableAuth}?",
"disable authentication": "Desativar Autenticação",
"where you intend to implement third-party authentication": "Onde você pretende implementar autenticador de terceiros",
"Please use this option carefully!": "Use essa opção com cuidado!",
"Leave": "Sair",
"Logout": "Deslogar",
"I understand, please disable": "Eu compreendo, por favor desative",
"Yes": "Sim",
"No": "Não",
"Username": "Nome de usuário",
"Password": "Senha",
"Remember me": "Lembrar-me",
"Login": "Entrar",
"add one": "Adicionar um",
"Notification Type": "Tipo de notificação",
"Email": "Email",
"Test": "Testar",
"Certificate Info": "Informação de certificado",
"Resolver Server": "Servidor de resolução",
"Resource Record Type": "Tipo de registro",
"Last Result": "Último resultado",
"Repeat Password": "Repita a senha",
"Import Backup": "Importar backup",
"Export Backup": "Exportar backup",
"Export": "Exportar",
"Import": "Importar",
"respTime": "Tempo de resposta (ms)",
"notAvailableShort": "Não aplicável",
"Create": "Criar",
"Clear Data": "Limpar dados",
"Schedule maintenance": "Agendar manutenção",
"Affected Monitors": "Monitores afetados",
"Start of maintenance": "Início da manutenção",
"All Status Pages": "Todas as páginas de status",
"Select status pages...": "Selecionar páginas de status…",
"alertNoFile": "Escolha um arquivo para importar.",
"Clear all statistics": "Limpar todas as estatísticas",
"Skip existing": "Pular existentes",
"Overwrite": "Sobrescrever",
"Options": "Opções",
"Keep both": "Manter ambas",
"Verify Token": "Verificar token",
"Setup 2FA": "Configurar 2FA",
"Enable 2FA": "Ativar 2FA",
"Disable 2FA": "Desativar 2FA",
"2FA Settings": "Configurações do autenticador",
"filterActive": "Ativo",
"filterActivePaused": "Pausado",
"Active": "Ativo",
"Inactive": "Desativado",
"Token": "Token",
"Show URI": "Mostrar URI",
"Tags": "Tags",
"Add New Tag": "Adicionar nova tag",
"Tag with this value already exist.": "Já existe uma tag com esse valor.",
"color": "Cor",
"value (optional)": "Valor (opcional)",
"Gray": "Cinza",
"Red": "Vermelho",
"Orange": "Laranja",
"Green": "Verde",
"Blue": "Azul",
"Indigo": "Índigo",
"Purple": "Roxo",
"Pink": "Rosa",
"Custom": "Customizado",
"Search...": "Procurar…",
"Search monitored sites": "Procurar sites monitorados",
"Avg. Ping": "Média de ping",
"Avg. Response": "Média do tempo de resposta",
"statusPageNothing": "Não tem nada aqui, adicione um grupo os monitor.",
"statusPageRefreshIn": "Atualize em: {0}",
"No Services": "Sem serviços",
"Partially Degraded Service": "Serviço parcialmente degradado",
"Degraded Service": "Serviços degradados",
"Edit Status Page": "Editar página de status",
"Go to Dashboard": "Ir para o painel de controle",
"Status Page": "Status Page",
"Status Pages": "Páginas de status",
"Events": "Eventos",
"Confirm": "Confirmar",
"pushOthers": "Outros",
"time ago": "{0} atrás",
"Dark": "Escuro"
}

View File

@ -1039,5 +1039,43 @@
"less than": "mai puțin decât",
"less than or equal to": "mai mic sau egal cu",
"greater than or equal to": "mai mare sau egal cu",
"record": "înregistrare"
"record": "înregistrare",
"aboutSlackUsername": "Modifică numele afișat al expeditorului mesajului. Dacă doriți să menționați pe cineva, includeți-l în numele prietenos.",
"Custom sound to override default notification sound": "Sunet personalizat pentru a înlocui sunetul de notificare implicit",
"ignoredTLSError": "Erorile TLS/SSL au fost ignorate",
"Message format": "Formatul mesajului",
"Send rich messages": "Trimiteți mesaje complexe",
"Notification Channel": "Canal de notificare",
"Sound": "Sunet",
"Alphanumerical string and hyphens only": "Doar șir de caractere alfanumerice și liniuțe",
"Arcade": "Galerie",
"RabbitMQ Username": "Utilizator RabbitMQ",
"Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "Notificările \"time sensitive\" vor fi livrate imediat, chiar dacă dispozitivul este în modul „nu deranjați”.",
"rabbitmqNodesDescription": "Introduceți adresa URL pentru nodurile de gestionare RabbitMQ, inclusiv protocolul și portul. Exemplu: {0}",
"rabbitmqHelpText": "Pentru a utiliza monitorul, va trebui să activați plugin-ul de gestionare în configurația RabbitMQ. Pentru mai multe informații, vă rugăm să consultați {rabitmq_documentation}.",
"Time Sensitive (iOS Only)": "Time Sensitive (numai iOS)",
"From": "De la",
"Can be found on:": "Poate fi găsit la: {0}",
"The phone number of the recipient in E.164 format.": "Numărul de telefon al destinatarului în format E.164.",
"Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "Fie un ID expeditor text, fie un număr de telefon în format E.164, dacă doriți să puteți primi răspunsuri.",
"RabbitMQ Nodes": "Noduri de gestionare RabbitMQ",
"Money": "Bani",
"Scifi": "SF",
"Elevator": "Lift",
"Guitar": "Chitară",
"Pop": "Pop",
"Harp": "Harpă",
"Reveal": "Dezvăluire",
"Bubble": "Bule",
"Doorbell": "Sonerie",
"Flute": "Flaut",
"Clear": "Clar",
"rabbitmqNodesRequired": "Vă rugăm să setați nodurile pentru acest monitor.",
"rabbitmqNodesInvalid": "Vă rugăm să utilizați o adresă URL complet calificată (începând cu „http”) pentru nodurile RabbitMQ.",
"RabbitMQ Password": "Parolă RabbitMQ",
"SendGrid API Key": "Cheia API SendGrid",
"Separate multiple email addresses with commas": "Separați adresele de e-mail multiple cu virgule",
"Correct": "Corect",
"Fail": "Eșec",
"shrinkDatabaseDescriptionSqlite": "Declanșează comanda {vacuum} pentru baza de date SQLite. {auto_vacuum} este deja activat, dar acest lucru nu defragmentează baza de date și nici nu reîmpachetează paginile individuale ale bazei de date așa cum o face comanda {vacuum}."
}

View File

@ -7,7 +7,7 @@
"maxRedirectDescription": "Максимальное количество перенаправлений. Поставьте 0, чтобы отключить перенаправления.",
"acceptedStatusCodesDescription": "Выберите коды статусов для определения доступности сервиса.",
"passwordNotMatchMsg": "Введённые пароли не совпадают.",
"notificationDescription": "Привяжите уведомления к мониторам.",
"notificationDescription": "Необходимо привязать уведомления к монитору чтобы они функционировали.",
"keywordDescription": "Поиск слова в чистом HTML или в JSON-ответе (чувствительно к регистру).",
"pauseDashboardHome": "Пауза",
"deleteMonitorMsg": "Вы действительно хотите удалить данный монитор?",
@ -42,7 +42,7 @@
"Edit": "Изменить",
"Delete": "Удалить",
"Current": "Текущий",
"Uptime": "Uptime",
"Uptime": "Время безотказной работы",
"Cert Exp.": "Сертификат ист.",
"day": "день | дней",
"-day": "-дней",
@ -99,7 +99,7 @@
"Password": "Пароль",
"Remember me": "Запомнить меня",
"Login": "Вход в систему",
"No Monitors, please": "Нет Мониторов, пожалуйста",
"No Monitors, please": "Без Мониторов, пожалуйста",
"No Monitors": "Мониторы отсутствуют",
"add one": "добавить",
"Notification Type": "Тип уведомления",
@ -121,7 +121,7 @@
"Events": "События",
"Heartbeats": "Опросы",
"Auto Get": "Авто-получение",
"enableDefaultNotificationDescription": "Для каждого нового монитора это уведомление будет включено по умолчанию. Вы всё ещё можете отключить уведомления в каждом мониторе отдельно.",
"enableDefaultNotificationDescription": "Это уведомление будет включено по умолчанию для каждого нового монитора. Вы можете отключить уведомления в каждом мониторе отдельно.",
"Default enabled": "По умолчанию включён",
"Also apply to existing monitors": "Применить к существующим мониторам",
"Export": "Экспорт",
@ -172,10 +172,10 @@
"Purple": "Пурпурный",
"Pink": "Розовый",
"Search...": "Поиск…",
"Avg. Ping": "Средний пинг",
"Avg. Response": "Средний отклик",
"Avg. Ping": "Сред. Пинг",
"Avg. Response": "Сред. Отклик",
"Entry Page": "Главная",
"statusPageNothing": "Тут ничего нет, добавьте группу или монитор.",
"statusPageNothing": "Ничего нет, добавьте группу или монитор.",
"No Services": "Нет Сервисов",
"All Systems Operational": "Все системы работают",
"Partially Degraded Service": "Частичная работа сервисов",
@ -297,7 +297,7 @@
"promosmsTypeSpeed": "SMS SPEED - наивысший приоритет в системе. Очень быстро и надёжно, но очень дорого (в два раза дороже, чем SMS FULL).",
"promosmsPhoneNumber": "Номер телефона (для получателей из Польши можно пропустить код региона)",
"promosmsSMSSender": "Имя отправителя SMS: Зарегистрированное или одно из имён по умолчанию: InfoSMS, SMS Info, MaxSMS, INFO, SMS",
"Feishu WebHookUrl": "Feishu WebHookURL",
"Feishu WebHookUrl": "URL-адрес Feishu WebHook",
"matrixHomeserverURL": "URL сервера (вместе с http(s):// и по желанию порт)",
"Internal Room Id": "Внутренний ID комнаты",
"matrixDesc1": "Внутренний ID комнаты можно найти в Подробностях в параметрах канала вашего Matrix клиента. Он должен выглядеть примерно как !QMdRCpUIfLwsfjxye6:home.server.",
@ -412,21 +412,21 @@
"SecretAccessKey": "Секретный ключ доступа",
"PhoneNumbers": "Номера телефонов",
"TemplateCode": "ШаблонКод",
"SignName": "SignName",
"SignName": "Подпись",
"Sms template must contain parameters: ": "Шаблон СМС должен содержать параметры: ",
"Bark Endpoint": "Конечная точка Bark",
"Bark Group": "Bark Group",
"Bark Sound": "Bark Sound",
"WebHookUrl": "WebHookUrl",
"Bark Group": "Группа Bark",
"Bark Sound": "Звук уведомления Bark",
"WebHookUrl": "Url- адрес WebHook",
"SecretKey": "Секретный Ключ",
"For safety, must use secret key": "В целях безопасности необходимо использовать секретный ключ",
"Device Token": "Токен устройства",
"Platform": "Платформа",
"Huawei": "Huawei",
"Huawei": "Huawei(Хуавей)",
"High": "High",
"Retry": "Повторить",
"Topic": "Тема",
"WeCom Bot Key": "WeCom Bot Key",
"WeCom Bot Key": "Ключ бота WeCom",
"User": "Пользователь",
"Installed": "Установлено",
"Not installed": "Не установлено",
@ -531,7 +531,7 @@
"wayToGetClickSendSMSToken": "Вы можете получить имя пользователя API и ключ API из {0} .",
"Connection String": "Строка подключения",
"Query": "Запрос",
"settingsCertificateExpiry": "Истекание TLS сертификата",
"settingsCertificateExpiry": "Окончание TLS сертификата",
"certificationExpiryDescription": "HTTPS Мониторы инициируют уведомление, когда срок действия сертификата TLS истечет:",
"Setup Docker Host": "Настройка хоста Docker",
"Connection Type": "Тип соединения",
@ -571,7 +571,7 @@
"backupRecommend": "Сделайте резервную копию тома или папки с данными (./data/) напрямую.",
"Optional": "Необязательно",
"squadcast": "Squadcast",
"SendKey": "SendKey",
"SendKey": "Ключ отправки",
"SMSManager API Docs": "Документация к API SMSManager ",
"Gateway Type": "Тип шлюза",
"SMSManager": "SMSManager",
@ -581,8 +581,8 @@
"Schedule maintenance": "Запланировать техобслуживание",
"affectedMonitorsDescription": "Выберите мониторы, которые будут затронуты во время техобслуживания",
"affectedStatusPages": "Показывать уведомление о техобслуживании на выбранных страницах статуса",
"atLeastOneMonitor": "Выберите больше одного затрагиваемого монитора",
"dnsPortDescription": "По умолчанию порт DNS сервера - 53. Мы можете изменить его в любое время.",
"atLeastOneMonitor": "Выберите хотя бы один затрагиваемый монитор",
"dnsPortDescription": "По умолчанию порт DNS сервера - 53. Вы можете изменить его в любое время.",
"Monitor": "Монитор | Мониторы",
"webhookAdditionalHeadersTitle": "Дополнительные Заголовки",
"recurringIntervalMessage": "Запускать 1 раз каждый день | Запускать 1 раз каждые {0} дней",
@ -663,7 +663,7 @@
"install": "Установить",
"installing": "Устанавливается",
"uninstall": "Удалить",
"Recurring": "Текущий",
"Recurring": "Повторяющийся",
"recurringInterval": "Интервал",
"smseagle": "SMSEagle",
"Google Analytics ID": "ID Google Аналитики",
@ -801,14 +801,14 @@
"twilioApiKey": "API ключ (необязательно)",
"Expected Value": "Ожидаемое значение",
"Json Query": "JSON Запрос",
"Kafka Brokers": "Kafka Brokers",
"Kafka Brokers": "Брокеры Kafka",
"Press Enter to add broker": "Нажмите Enter чтобы добавить брокера",
"Kafka Topic Name": "Название темы Kafka",
"Kafka Producer Message": "Сообщение продюсера Kafka",
"Kafka SASL Options": "Параметры SASL в Kafka",
"Mechanism": "Механизм",
"Pick a SASL Mechanism...": "Выберите механизм SASL…",
"AccessKey Id": "AccessKey Id",
"AccessKey Id": "Id-значение AccessKey",
"Secret AccessKey": "Секретный ключ доступа",
"Session Token": "Токен сессии",
"Notify Channel": "Канал оповещений",
@ -839,7 +839,7 @@
"noOrBadCertificate": "Отсутствие сертификата",
"gamedigGuessPortDescription": "Порт, используемый протоколом Valve Server Query Protocol, может отличаться от порта клиента. Попробуйте это сделать, если монитор не может подключиться к серверу.",
"nostrSender": "Закрытый ключ отправителя (nsec)",
"wayToGetFlashDutyKey": "Вы можете перейти на страницу \"Канал\" -> (Выберите канал) -> \"Интеграции\" -> \"Добавить новую страницу интеграции\", добавить \"Пользовательское событие\", чтобы получить push-адрес, скопировать ключ интеграции в адрес. Для получения дополнительной информации, пожалуйста, посетите",
"wayToGetFlashDutyKey": "Вы можете перейти на страницу \"Канал\" -> (Выберите канал) -> \"Интеграции\" -> \"Добавить новую страницу интеграции\", добавить \"Uptime Kuma\", чтобы получить push-адрес, скопировать ключ интеграции в адрес. Для получения дополнительной информации, пожалуйста, посетите",
"styleElapsedTimeShowNoLine": "Показать (Без линии)",
"styleElapsedTimeShowWithLine": "Показать (С линией)",
"Server URL should not contain the nfty topic": "URL сервера не должен содержать тему nfty",
@ -849,7 +849,7 @@
"nostrRelays": "Реле Nostr",
"nostrRelaysHelp": "Один URL-адрес ретрансляции в каждой строке",
"enableNSCD": "Включить NSCD (Name Service Cache Daemon) для кэширования всех DNS-запросов",
"Saved.": "Сохранено",
"Saved.": "Сохранено.",
"setupDatabaseChooseDatabase": "Какую базу данных Вы бы хотели использовать?",
"setupDatabaseEmbeddedMariaDB": "Вам не нужно ничего настраивать. В этот докер-образ автоматически встроена и настроена MariaDB. Uptime Kuma будет подключаться к этой базе данных через unix-сокет.",
"setupDatabaseSQLite": "Простой файл базы данных, рекомендуемый для небольших развертываний. До версии 2.0.0 Uptime Kuma использовал SQLite в качестве базы данных по умолчанию.",
@ -936,9 +936,9 @@
"From Phone Number / Transmission Path Originating Address (TPOA)": "Номер телефона / Адрес источника пути передачи (АИПП)",
"Alphanumeric (recommended)": "Буквенно-цифровой (рекомендуется)",
"Originator type": "Тип источника",
"cellsyntOriginatortypeAlphanumeric": "Буквенно-цифровая строка (не более 11 буквенно-цифровых символов). Получатели не могут ответить на это сообщение.",
"cellsyntOriginatortypeNumeric": "Числовое значение (не более 15 цифр) с номером телефона в международном формате без 00 в начале (например, номер Великобритании 07920 110 000 должен быть задан, как 447920110000). Получатели могут ответить на сообщение.",
"cellsyntDestination": "Номер телефона получателя в международном формате с 00 в начале, за которым следует код страны, например, 00447920110000 для номера Великобритании 07920 110 000 (не более 17 цифр в сумме). Не более 25000 получателей, разделенных запятыми, на один HTTP-запрос.",
"cellsyntOriginatortypeAlphanumeric": "Буквенно-цифровая строка (не более 11 символов). Получатели не могут ответить на это сообщение.",
"cellsyntOriginatortypeNumeric": "Числовое значение (не более 15 цифр) с номером телефона в международном формате, без 00 в начале (например, номер Великобритании 07920 110 000 должен быть задан, как 447920110000). Получатели могут ответить на сообщение.",
"cellsyntDestination": "Номер телефона получателя в международном формате с 00 в начале, за которым следует код страны, например, 00447920110000 для номера Великобритании 07920 110 000 (не более 17 цифр). Не более 25000 получателей, разделенных запятыми, на один HTTP-запрос.",
"callMeBotGet": "Здесь вы можете сгенерировать {endpoint} для {0}, {1} и {2}. Имейте в виду, что вы можете получить ограничение по скорости. Ограничения по скорости выглядят следующим образом: {3}",
"gtxMessagingFromHint": "На мобильных телефонах получатели видят АИПП как отправителя сообщения. Допускается использование до 11 буквенно-цифровых символов, шорткода, местного длинного кода или международных номеров ({e164}, {e212} или {e214})",
"wayToWriteWhapiRecipient": "Номер телефона с международным префиксом, но без знака плюс в начале ({0}), идентификатора контакта ({1}) или идентификатора группы ({2}).",
@ -960,9 +960,9 @@
"To Phone Number": "На номер телефона",
"Originator": "Источник",
"cellsyntOriginator": "Виден на мобильном телефоне получателя как отправитель сообщения. Допустимые значения и функция зависят от параметра {originatortype}.",
"Destination": "Назначение",
"Destination": "Пункт назначения",
"Allow Long SMS": "Разрешить длинные SMS",
"max 15 digits": "макс. 15 цифр",
"max 15 digits": "максимум 15 цифр",
"max 11 alphanumeric characters": "максимум 11 буквенно-цифровых символов",
"Command": "Команда",
"Create new forum post": "Создать новый пост",
@ -975,10 +975,10 @@
"CurlDebugInfoOAuth2CCUnsupported": "Полная поддержка потока клиентских учетных данных OAuth отсутствует в {curl}.{newline}Пожалуйста, получите токен доступа и передайте его через параметр {oauth2_bearer}.",
"now": "сейчас",
"time ago": "{0} назад",
"Refresh Interval Description": "Страница статуса будет полностью обновляться каждые {0} секунд",
"Refresh Interval Description": "Страница статуса будет полностью обновлена каждые {0} секунд",
"and": "и",
"e.g. {discordThreadID}": "например {discordThreadID}",
"ignoredTLSError": "Ошибки TLS/SSL были проигнорированы",
"ignoredTLSError": "Ошибки TLS/SSL проигнорированы",
"Debug": "Отладка",
"Copy": "Скопировать",
"CopyToClipboardError": "Не удалось скопировать: {error}",
@ -1036,7 +1036,7 @@
"wayToGetThreemaGateway": "Вы можете зарегистрироваться на Threema Gateway {0}.",
"threemaRecipient": "Получатель",
"threemaRecipientType": "Тип получателя",
"threemaRecipientTypeIdentity": "Threema-ID",
"threemaRecipientTypeIdentity": "Значение Threema-ID",
"threemaRecipientTypeIdentityFormat": "8 знаков",
"threemaRecipientTypePhone": "Номер телефона",
"threemaRecipientTypePhoneFormat": "Е.164, без ведущего +",
@ -1106,5 +1106,8 @@
"SendGrid API Key": "API-ключ SendGrid",
"Separate multiple email addresses with commas": "Разделяйте несколько адресов электронной почты запятыми",
"-year": "-год",
"Json Query Expression": "Выражение запроса Json"
"Json Query Expression": "Выражение запроса Json",
"templateServiceName": "имя сервиса",
"templateHostnameOrURL": "hostname или URL",
"templateStatus": "статус"
}

View File

@ -558,5 +558,29 @@
"A list of Notification Services can be found in Home Assistant under \"Developer Tools > Services\" search for \"notification\" to find your device/phone name.": "Zoznam notifikačných služieb nájdete v aplikácii Home Assistant v časti „Nástroje pre vývojárov > Služby“, kde vyhľadajte položku „ notifikácia“ a nájdite názov svojho zariadenia/telefónu.",
"tailscalePingWarning": "Ak chcete používať sledovanie Tailscale Ping, musíte nainštalovať aplikáciu Uptime Kuma bez nástroja Docker a tiež nainštalovať klienta Tailscale na server.",
"Enable": "Povoliť",
"Enable DNS Cache": "(Zastarané) Povoliť vyrovnávaciu pamäť DNS pre HTTP(s) sledovania"
"Enable DNS Cache": "(Zastarané) Povoliť vyrovnávaciu pamäť DNS pre HTTP(s) sledovania",
"Post": "Publikovať",
"Not running": "Nebeží",
"RadiusSecret": "Radius Secret",
"cronExpression": "CRON výraz",
"Maintenance Time Window of a Day": "Časové okno pre údržbu v daný deň",
"Hello @everyone is...": "Dobrý deň, {'@'}všetci sú…",
"clearHeartbeatsMsg": "Naozaj chcete odstrániť všetky heartbeaty pre tento monitoring?",
"Trust Proxy": "Dôveryhodná proxy",
"RadiusCalledStationId": "ID volaného zariadenia",
"Connection String": "Connection String",
"socket": "Socket",
"Line Developers Console": "Konzola Line Developers",
"confirmClearStatisticsMsg": "Naozaj chcete odstrániť VŠETKY štatistiky?",
"-year": "-rok",
"and": "a",
"shrinkDatabaseDescriptionSqlite": "Podmienka spustenia príkazu pre SQLite databázu. Príkaz {auto_vacuum} je už zapnutý, ale nedochádza k defragmentácii databázy ani k prebaleniu jednotlivých stránok databázy ako to robí príkaz {vacuum}.",
"lineDevConsoleTo": "Konzola Line Developers - {0}",
"clearEventsMsg": "Naozaj chcete odstrániť všetky udalosti pre tento monitoring?",
"now": "teraz",
"time ago": "pred {0}",
"Json Query Expression": "Výraz dotazu JSON",
"ignoredTLSError": "Chyby TLS/SSL boli ignorované",
"Add a new expiry notification day": "Pridať nové oznámenie o vypršaní platnosti",
"chromeExecutable": "Spustitelný súbor Chrome/Chromium"
}

View File

@ -31,7 +31,7 @@
"New Update": "อัพเดทใหม่",
"Language": "ภาษา",
"Appearance": "หน้าตา",
"Theme": "หน้าตา",
"Theme": "ธีม",
"General": "ทั่วไป",
"Primary Base URL": "URL หลัก",
"Version": "เวอร์ชั่น",
@ -39,7 +39,7 @@
"List": "รายการ",
"Add": "เพิ่ม",
"Add New Monitor": "เพิ่มมอนิเตอร์ใหม่",
"Quick Stats": "สถิติด่วน",
"Quick Stats": "สถิติอย่างย่อ",
"Up": "ใช้งานได้",
"Down": "ไม่สามารถใช้งานได้",
"Pending": "รอดำเนินการ",
@ -599,7 +599,7 @@
"or": "หรือ",
"recurringInterval": "ช่วงเวลา",
"Recurring": "ทำซ้ำ",
"General Monitor Type": "ชนิดมอนิเตอร์ทั่วไป",
"General Monitor Type": "มอนิเตอร์ชนิดทั่วไป",
"pagertreeCritical": "วิกฤต",
"pagertreeDoNothing": "ไม่ต้องทำอะไร",
"pagertreeResolve": "แก้ไขอัตโนมัติ",
@ -693,5 +693,22 @@
"showCertificateExpiry": "แสดง Certificate ที่หมดอายุ",
"Telephone number": "เบอร์โทรศัพท์",
"successAuthChangePassword": "รหัสผ่านถูกเปลื่ยนเรียบร้อยแล้ว.",
"successEdited": "แก้ไขสำเร็จ"
"successEdited": "แก้ไขสำเร็จ",
"styleElapsedTimeShowNoLine": "แสดง (ไม่มีบรรทัด)",
"styleElapsedTimeShowWithLine": "แสดง (พร้อมบรรทัด)",
"where you intend to implement third-party authentication": "ที่คุณตั้งใจจะนำการตรวจสอบสิทธิ์ของบุคคลที่สามไปใช้",
"styleElapsedTime": "เวลาที่ผ่านไปภายใต้แถบวัดอัตราการเต้นของหัวใจ",
"now": "ตอนนี้",
"Host URL": "URL ของโฮสต์",
"ignoreTLSErrorGeneral": "ละเว้นข้อผิดพลาด TLS/SSL สำหรับการเชื่อมต่อ",
"programmingLanguages": "ภาษาโปรแกรมมิ่ง",
"Invert Keyword": "คำสำคัญ",
"settingUpDatabaseMSG": "กำลังตั้งค่าฐานข้อมูลอาจใช้เวลาสักครู่ โปรดอดทนรอ",
"time ago": "{0} ที่ผ่านมา",
"-year": "-ปี",
"Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "ป้อนชื่อโฮสต์ของเซิร์ฟเวอร์ที่คุณต้องการเชื่อมต่อหรือ {localhost} หากคุณต้องการใช้ {local_mta}",
"Request Timeout": "หมดเวลาการเชื่อมต่อ",
"ignoredTLSError": "ข้อผิดพลาด TLS/SSL ถูกละเว้น",
"pushOthers": "อื่น ๆ",
"pushViewCode": "วิธีใช้งาน Push monitor (ดูโค้ด)"
}

View File

@ -1,5 +1,5 @@
{
"languageName": "Türkçe",
"languageName": "English",
"checkEverySecond": "{0} saniyede bir kontrol et",
"retryCheckEverySecond": "{0} saniyede bir dene",
"resendEveryXTimes": "Her {0} bir yeniden gönder",
@ -201,7 +201,7 @@
"Chat ID": "Chat ID",
"supportTelegramChatID": "Doğrudan Sohbet / Grup / Kanalın Sohbet Kimliğini Destekleyin",
"wayToGetTelegramChatID": "Bot'a bir mesaj göndererek ve chat_id'yi görüntülemek için bu URL'ye giderek sohbet kimliğinizi alabilirsiniz:",
"YOUR BOT TOKEN HERE": "BOT TOKENİNİZ BURADA",
"YOUR BOT TOKEN HERE": "BOT TOKENİNİZ BURAYA",
"chatIDNotFound": "Chat ID bulunamadı; lütfen önce bu bota bir mesaj gönderin",
"webhook": "Webhook",
"Post URL": "Post URL",
@ -221,7 +221,7 @@
"Discord Webhook URL": "Discord Webhook Bağlantısı",
"wayToGetDiscordURL": "Bunu Sunucu Ayarları -> Entegrasyonlar -> Webhookları Görüntüle -> Yeni Webhook Oluştur adımını izleyerek alabilirsiniz",
"Bot Display Name": "Botun Görünecek Adı",
"Prefix Custom Message": nek Özel Mesaj",
"Prefix Custom Message": zel Önek Mesajı",
"Hello @everyone is...": "Merhaba {'@'}everyone…",
"teams": "Microsoft Teams",
"Webhook URL": "Webhook URL",

View File

@ -54,7 +54,7 @@
"Keyword": "Ключове слово",
"Friendly Name": "Ім'я",
"URL": "URL",
"Hostname": "Адреса хоста",
"Hostname": "Адреса хосту",
"Port": "Порт",
"Heartbeat Interval": "Частота опитування",
"Retries": "Спроб",
@ -951,7 +951,7 @@
"cellsyntDestination": "Номер телефону одержувача в міжнародному форматі з 00 на початку, за яким слідує код країни, наприклад, 00447920110000 для британського номера 07920 110 000 (максимум 17 цифр). Максимум 25000 одержувачів, розділених комами, на один HTTP-запит.",
"max 11 alphanumeric characters": "максимум 11 буквено-цифрових символів",
"locally configured mail transfer agent": "локально налаштований агент пересилання пошти",
"Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "Або введіть ім'я хоста сервера, до якого ви хочете підключитися, або {localhost}, якщо ви маєте намір використовувати {local_mta}",
"Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "Або введіть ім'я хосту сервера, до якого ви хочете підключитися, або {localhost}, якщо ви маєте намір використовувати {local_mta}",
"Don't mention people": "Не згадувати людей",
"Mentioning": "Згадування",
"Mention group": "Згадати {group}",
@ -1104,5 +1104,24 @@
"rabbitmqNodesDescription": "Введіть URL-адресу для вузлів керування RabbitMQ, включаючи протокол і порт. Приклад: {0}",
"rabbitmqNodesInvalid": "Будь ласка, використовуйте повну URL-адресу (починаючи з 'http') для вузлів RabbitMQ.",
"rabbitmqHelpText": "Щоб використовувати монітор, вам потрібно увімкнути плагін керування у налаштуваннях RabbitMQ. Для отримання додаткової інформації, будь ласка, зверніться до {rabitmq_documentation}.",
"aboutSlackUsername": "Змінює відображуване ім'я відправника повідомлення. Якщо ви хочете згадати когось, додайте його до дружнього імені."
"aboutSlackUsername": "Змінює відображуване ім'я відправника повідомлення. Якщо ви хочете згадати когось, додайте його до дружнього імені.",
"templateServiceName": "назва сервісу",
"templateHostnameOrURL": "ім'я хосту або URL",
"telegramUseTemplate": "Використовувати власний шаблон повідомлення",
"telegramUseTemplateDescription": "Якщо увімкнено, повідомлення буде надіслано з використанням спеціального шаблону.",
"telegramTemplateFormatDescription": "Telegram дозволяє використовувати різні мови розмітки для повідомлень, див. Telegram {0} для більш детальної інформації.",
"Plain Text": "Звичайний текст",
"templateStatus": "статус",
"Message Template": "Шаблон повідомлення",
"Template Format": "Формат шаблону",
"YZJ Webhook URL": "URL вебхука YZJ",
"YZJ Robot Token": "Токен YZJ Robot",
"wayToGetWahaApiUrl": "URL вашого екземпляра WAHA.",
"wayToGetWahaApiKey": "Ключ API - це значення змінної оточення WHATSAPP_API_KEY, яку ви використовували для запуску WAHA.",
"wahaSession": "Сесія",
"wahaChatId": "ID чату (номер телефону / ID контакту / ID групи)",
"wayToGetWahaSession": "З цієї сесії WAHA надсилає сповіщення на ID чату. Ви можете знайти його в інформаційній панелі WAHA.",
"wayToWriteWahaChatId": "Номер телефону з міжнародним префіксом, але без знака плюс на початку ({0}), ID контакту ({1}) або ID групи ({2}). На цей ID чату надсилаються сповіщення з сеансу WAHA.",
"telegramServerUrl": "(Необов'язково) URL сервера",
"telegramServerUrlDescription": "Щоб зняти обмеження з Telegram bot api або отримати доступ у заблокованих регіонах (Китай, Іран тощо). Для отримання додаткової інформації натисніть {0}. За замовчуванням: {1}"
}

View File

@ -543,11 +543,11 @@
"pushoversounds pushover": "Pushover默认",
"pushoversounds bike": "自行车",
"pushoversounds bugle": "军号",
"pushoversounds cashregister": "Cash Register",
"pushoversounds cashregister": "收银机",
"pushoversounds classical": "Classical",
"pushoversounds cosmic": "宇宙",
"pushoversounds falling": "Falling",
"pushoversounds gamelan": "Gamelan",
"pushoversounds gamelan": "GameLAN",
"pushoversounds incoming": "Incoming",
"pushoversounds intermission": "Intermission",
"pushoversounds magic": "Magic",
@ -1100,5 +1100,22 @@
"RabbitMQ Nodes": "RabbitMQ 管理节点",
"Separate multiple email addresses with commas": "用逗号分隔多个电子邮件地址",
"rabbitmqHelpText": "要使用此监控项,您需要在 RabbitMQ 设置中启用管理插件。有关更多信息,请参阅 {rabitmq_documentation}。",
"aboutSlackUsername": "更改消息发件人的显示名称。如果您想提及某人,请另行将其包含在友好名称中。"
"aboutSlackUsername": "更改消息发件人的显示名称。如果您想提及某人,请另行将其包含在友好名称中。",
"templateStatus": "状态",
"templateHostnameOrURL": "主机名或 URL",
"templateServiceName": "服务名",
"telegramUseTemplateDescription": "如果启用,该消息将使用自定义模板发送。",
"telegramUseTemplate": "使用自定义消息模板",
"wayToGetWahaSession": "在此会话中WAHA 会向聊天 ID 发送通知。您可以在 WAHA 仪表板中找到它。",
"wayToGetWahaApiUrl": "你的 WAHA 实例 URL。",
"wahaChatId": "聊天 ID电话号码 / 联系人 ID / 群组 ID",
"wahaSession": "会话",
"Template Format": "模板格式",
"Message Template": "消息模板",
"Plain Text": "纯文本",
"wayToWriteWahaChatId": "包含国际区号但不含开头加号({0})的电话号码、联系人 ID{1})、组 ID{2})。通知将从 WAHA 会话发送到此聊天 ID。",
"wayToGetWahaApiKey": "API 密钥是你用于运行 WAHA 的 WHATSAPP_API_KEY 环境变量值。",
"telegramTemplateFormatDescription": "Telegram 允许在消息中使用不同的标记语言,具体细节请参见 Telegram {0}。",
"YZJ Webhook URL": "YZJ Webhook 地址",
"YZJ Robot Token": "YZJ 机器人令牌"
}

View File

@ -57,7 +57,7 @@
"Save": "儲存",
"Notifications": "通知",
"Not available, please setup.": "無法使用,需要設定。",
"Setup Notification": "設通知",
"Setup Notification": "設通知",
"Light": "明亮",
"Dark": "暗黑",
"Auto": "自動",
@ -82,7 +82,7 @@
"disableauth.message2": "這個功能是設計給已有{intendThirdPartyAuth}的用家,例如 Cloudflare Access。",
"where you intend to implement third-party authentication": "第三方認証",
"Please use this option carefully!": "請小心使用。",
"Logout": "出",
"Logout": "退出",
"notificationDescription": "新增後,你需要在監測器裡啟用。",
"Leave": "離開",
"I understand, please disable": "我明白,請取消登入認証",
@ -92,7 +92,7 @@
"Username": "帳號",
"Password": "密碼",
"Remember me": "記住我",
"Login": "登",
"Login": "登",
"No Monitors, please": "沒有監測器,請",
"add one": "新增",
"Notification Type": "通知類型",
@ -385,7 +385,7 @@
"setAsDefaultProxyDescription": "預設情況下,新監測器將啟用此 Proxy。您仍可分別停用各監測器的 Proxy。",
"Maintenance": "維護",
"statusMaintenance": "維護中",
"Enable DNS Cache": "啟用 DNS 快取",
"Enable DNS Cache": "(已棄用)啟用 DNS 快取",
"Enable": "啟用",
"Disable": "停用",
"Schedule maintenance": "計劃維護",
@ -500,7 +500,7 @@
"Query": "Query",
"settingsCertificateExpiry": "TLS 証書到期",
"certificationExpiryDescription": "証書將於 X 天後到期時觸發 HTTPS 監測器通知:",
"Setup Docker Host": "設定 Docker 主機",
"Setup Docker Host": "配置 Docker 宿主資訊",
"Connection Type": "連線方式",
"deleteDockerHostMsg": "您確定要為所有監測器刪除此 Docker 主機嗎?",
"socket": "Socket",
@ -595,7 +595,7 @@
"wayToGetPagerDutyKey": "您可以前往 Service -> Service Directory -> (Select a service) -> Integrations -> Add integration 以取得。您可以搜尋 \"Events API V2\"。詳細資訊 {0}",
"Kook": "Kook",
"wayToGetKookBotToken": "到 {0} 創建應用並取得 Bot Token",
"grpcMethodDescription": "Method 名稱將被轉換成 cammelCase 命名,如 sayHello、check 等。",
"grpcMethodDescription": "方法名會轉換為小駝峰格式,例如 sayHello、check 等等。",
"deleteMaintenanceMsg": "您確定要刪除此維護嗎?",
"dnsPortDescription": "DNS 伺服器 port。預設為 53。您可以隨時變更 port。",
"atLeastOneMonitor": "選擇至少一個受影響的監測器",
@ -690,7 +690,7 @@
"Proxy server has authentication": "Proxy 伺服器啟用了驗證功能",
"Proxy Server": "Proxy 伺服器",
"Proxy Protocol": "Proxy 通訊協定",
"Setup Proxy": "設定 Proxy",
"Setup Proxy": "設置代理",
"Topic": "Topic",
"Retry": "重試",
"High": "高",
@ -760,5 +760,330 @@
"locally configured mail transfer agent": "本機設定的郵件傳輸代理",
"now": "現在",
"time ago": "{0} 之前",
"ignoreTLSErrorGeneral": "忽略連接中的TLS/SSL錯誤"
"ignoreTLSErrorGeneral": "忽略連接中的TLS/SSL錯誤",
"liquidIntroduction": "可透過 Liquid 模板語言實現模板化。請參考 {0} 的使用說明。這些是可用的變數:",
"Reset Token": "重設代幣",
"shrinkDatabaseDescriptionSqlite": "觸發 SQLite 資料庫 {vacuum}。{auto_vacuum} 已經啟用,但這不會像 {vacuum} 指令那樣整理資料庫或重新包裝個別資料庫頁面。",
"statusPageSpecialSlugDesc": "特殊標題 {0}:當未提供標題時,將顯示此頁面",
"Add a new expiry notification day": "新增到期通知日",
"DockerHostRequired": "請設定此監視器的 Docker 主機。",
"and": "與",
"smtpLiquidIntroduction": "以下兩個欄位可透過 Liquid 模板語言進行模板化。請參考 {0} 的使用說明。這些是可用的變數:",
"Select message type": "選擇訊息類型",
"Create new forum post": "建立新的討論區文章",
"whatHappensAtForumPost": "建立新的論壇文章。這不會在現有的文章中發佈訊息。要在現有文章中發佈訊息,請使用 \"{option}\" 。",
"Search monitored sites": "搜尋受監控的網站",
"templateMsg": "通知訊息",
"templateMonitorJSON": "描述監視器的物件",
"templateLimitedToUpDownCertNotifications": "僅適用於上線/下線/證書到期通知",
"templateLimitedToUpDownNotifications": "僅適用於 上/下線 通知",
"Remove the expiry notification": "移除到期通知日",
"Refresh Interval": "刷新時間間隔",
"Refresh Interval Description": "狀態頁面會每隔 {0} 秒刷新一次全站",
"emailCustomisableContent": "可客製化內容",
"leave blank for default subject": "留空以使用默認主題",
"emailTemplateServiceName": "服務名",
"emailTemplateHostnameOrURL": "主機名稱或 URL",
"emailTemplateStatus": "狀態",
"emailTemplateMonitorJSON": "監視器物件的描述",
"emailTemplateMsg": "通知訊息內容",
"Send to channel": "傳送至頻道",
"postToExistingThread": "張貼到現有的主題/論壇文章",
"forumPostName": "論壇文章名稱",
"threadForumPostID": "主題 / 論壇文章 ID",
"wayToGetDiscordThreadId": "取得主題 / 論壇文章 id 與取得頻道 id 相似。閱讀更多如何取得id {0}",
"Channel access token (Long-lived)": "通道存取標記 (長效)",
"successKeywordExplanation": "將被視為成功的 MQTT 關鍵字",
"noDockerHostMsg": "無法使用。 請先設定 Docker 主機 。",
"ignoredTLSError": "已忽略 TLS/SSL 錯誤",
"-year": "-年",
"Json Query Expression": "Json 查詢表達式",
"Either enter the hostname of the server you want to connect to or localhost if you intend to use a locally configured mail transfer agent": "請輸入您要連線的伺服器主機名稱 若要使用 {local_mta} 則輸入 {localhost}",
"RabbitMQ Nodes": "RabbitMQ 管理節點",
"jsonQueryDescription": "使用 JSON 查詢解析並提取伺服器 JSON 響應中的特定數據,或者,如果不期望得到 JSON 響應,則可使用 \"$\" 獲取原始響應。然後將結果轉為字符串並與期望值進行字符串比較。有關更多文檔,請參閱 {0},亦可使用 {1} 來嘗試查詢。",
"wayToGetKookGuildID": "在 Kook 設置中打開“開發者模式”,然後右鍵點擊頻道可獲取其 ID",
"Gateway Type": "網關類型",
"You can divide numbers with": "可用的數字分隔符包括",
"Base URL": "API 基礎地址",
"goAlertInfo": "GoAlert 是一個用於呼叫調度、自動匯報和通知(如 SMS 或語音呼叫)的開源應用程式。在正確的時間以正確的方式自動讓正確的人參與!{0}",
"goAlertIntegrationKeyInfo": "使用形如 aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee 的通用 API 集成密鑰,通常是複製來的鏈接中的 token 參數值。",
"AccessKeyId": "AccessKey ID",
"SecretAccessKey": "AccessKey 密碼",
"PhoneNumbers": "電話號碼",
"TemplateCode": "TemplateCode",
"SignName": "SignName",
"Sms template must contain parameters: ": "短訊模板必須包含以下變量: ",
"Bark API Version": "Bark API 版本",
"Mentioning": "是否提及成員",
"Mention group": "提及 {group}",
"aboutSlackUsername": "更改消息發件人的顯示名稱。如果您想提及某人,請另行將其包含在友好名稱中。",
"smspartnerApiurl": "你可以在此處找到你的 API 密鑰:{0}",
"smspartnerPhoneNumber": "手機號碼",
"smspartnerPhoneNumberHelptext": "號碼必須使用國際通用格式,例如 {0}、{1}。多個號碼必須使用 {2} 分隔",
"smspartnerSenderName": "SMS 發件人名稱",
"smspartnerSenderNameInfo": "不能使用特殊字符,字符數在 3 到 11 個之間",
"Server URL should not contain the nfty topic": "伺服器地址不應包含 ntfy主題",
"PushDeer Server": "PushDeer 伺服器",
"pushDeerServerDescription": "留空則使用官方伺服器",
"pagertreeIntegrationUrl": "集成 URL 地址",
"pagertreeUrgency": "緊急程度",
"pagertreeSilent": "靜默",
"pagertreeCritical": "嚴重",
"pagertreeResolve": "自動解除",
"pagertreeDoNothing": "甚麼都不做",
"wayToGetPagerTreeIntegrationURL": "在 PagerTree 中創建 Uptime Kuma 集成後,複製端點 URL 到此處。在 {0} 查看詳情",
"lunaseaTarget": "目標",
"lunaseaDeviceID": "設備 ID",
"lunaseaUserID": "用戶 ID",
"ntfyAuthenticationMethod": "鑒權方式",
"ntfyPriorityHelptextAllEvents": "所有事件將使用最高優先級",
"ntfyPriorityHelptextAllExceptDown": "除了 {0} 類事件使用 {1} 優先級外,其他所有事件均使用該優先級",
"ntfyUsernameAndPassword": "用戶名和密碼",
"twilioAccountSID": "賬戶 SID",
"twilioApiKey": "API Key可選",
"twilioAuthToken": "鑒權 Token / API Key Secret",
"twilioFromNumber": "發信號碼",
"twilioToNumber": "收信號碼",
"Monitor Setting": "{0} 監控項設置",
"Show Clickable Link": "顯示可點擊的監控項鍊接",
"Show Clickable Link Description": "勾選後所有能訪問本狀態頁的訪客均可查看該監控項網址。",
"Open Badge Generator": "打開徽章生成器",
"Badge Generator": "{0} 徽章生成器",
"Badge Type": "徽章類型",
"Badge Duration (in hours)": "徽章時間範圍(以小時為單位)",
"Badge Label": "徽章標籤",
"Badge Prefix": "徽章內容前綴",
"Badge Suffix": "徽章內容後綴",
"Badge Label Color": "徽章標籤顏色",
"Badge Color": "徽章內容顏色",
"Badge Label Prefix": "徽章標籤前綴",
"Badge Preview": "徽章預覽",
"Badge Label Suffix": "徽章標籤後綴",
"Badge Up Color": "正常狀態下徽章顏色",
"Badge Down Color": "故障狀態下徽章顏色",
"Badge Pending Color": "重試中狀態下徽章顏色",
"Badge Maintenance Color": "維護狀態下徽章顏色",
"Badge Warn Color": "警告狀態下徽章顏色",
"Badge Warn Days": "徽章預警天數",
"Badge Down Days": "故障狀態所需剩餘天數",
"Badge Style": "徽章樣式",
"Badge value (For Testing only.)": "徽章內容(僅供測試)",
"Badge URL": "徽章網址",
"Group": "分組",
"Monitor Group": "監控項組",
"monitorToastMessagesLabel": "監控項的彈窗通知",
"monitorToastMessagesDescription": "監控項的彈窗通知的自動關閉用時,以秒為單位。設置為 -1 將禁用彈窗通知的自動關閉功能,設置為 0 將完全禁用彈窗通知功能。",
"toastErrorTimeout": "失敗類彈窗通知的自動關閉用時",
"Enter the list of brokers": "輸入緩存代理broker列表",
"Press Enter to add broker": "按回車鍵添加緩存代理broker",
"authInvalidToken": "無效的令牌。",
"Enable Kafka SSL": "啟用 Kafka SSL 功能",
"Enable Kafka Producer Auto Topic Creation": "啟用 Kafka 生成者Producer自動創建主題Topic功能",
"Kafka SASL Options": "Kafka SASL 選項",
"Pick a SASL Mechanism...": "選擇一種 SASL 鑒權方式……",
"Authorization Identity": "授權實體Authorization Identity",
"Secret AccessKey": "訪問密鑰Secret AccessKey",
"Session Token": "會話令牌Session Token",
"noGroupMonitorMsg": "暫無可用,請先創建一個監控項組。",
"Close": "關閉",
"Request Body": "請求體",
"wayToGetFlashDutyKey": "您可以進入 協作空間 -> (選擇一個 協作空間) -> 集成數據 -> 新增一個集成 頁面添加“Uptime Kuma”集成獲得一個推送地址複製地址中的 Integration Key更多資訊前往{0}",
"FlashDuty Severity": "嚴重程度",
"nostrRelays": "Nostr relay 服務",
"nostrRelaysHelp": "Relay 服務地址,每行一個",
"nostrSender": "發送者私鑰nsec 格式)",
"nostrRecipients": "接收者公鑰npub 格式)",
"nostrRecipientsHelp": "npub 格式,每行一個",
"showCertificateExpiry": "顯示證書有效期",
"noOrBadCertificate": "無證書或證書錯誤",
"cacheBusterParam": "添加參數 {0}",
"cacheBusterParamDescription": "隨機生成一個參數以繞過緩存。",
"gamedigGuessPort": "Gamedig: 自動檢測端口號",
"gamedigGuessPortDescription": "Valve 伺服器查詢協議使用的端口可能與客戶端端口不同。如果監控器無法連接到伺服器,請嘗試此方法。",
"Message format": "消息格式",
"Send rich messages": "發送富文本消息",
"Bitrix24 Webhook URL": "Bitrix24 Webhook 地址",
"wayToGetBitrix24Webhook": "你可以按以下步驟創建一個 webhook{0}",
"bitrix24SupportUserID": "輸入你在 Bitrix24 的用戶 ID。你可以在你的用戶個人資料頁找到你的用戶 ID。",
"authUserInactiveOrDeleted": "該用戶被禁用或刪除。",
"authIncorrectCreds": "錯誤的用戶名或密碼。",
"2faAlreadyEnabled": "2FA 已經啟用。",
"2faEnabled": "已成功啟用 2FA。",
"2faDisabled": "已成功禁用 2FA。",
"successAdded": "已成功添加。",
"successResumed": "已成功恢復。",
"successPaused": "已成功暫停。",
"successDeleted": "已成功刪除。",
"successEdited": "已成功編輯。",
"successAuthChangePassword": "已成功更新密碼。",
"successBackupRestored": "已成功恢復備份。",
"successDisabled": "已成功禁用。",
"tagNotFound": "標籤未找到。",
"foundChromiumVersion": "已找到 Chromium/Chrome。版本{0}",
"Remote Browsers": "遠程瀏覽器",
"Remote Browser": "遠程瀏覽器",
"Add a Remote Browser": "添加一個遠程瀏覽器",
"Remote Browser not found!": "未找到遠程瀏覽器!",
"remoteBrowsersDescription": "遠程瀏覽器可用以代替本地 Chromium 瀏覽器。您可使用類似於 browserless.io 的服務,或者自行運行一個類似服務",
"self-hosted container": "自託管容器",
"remoteBrowserToggle": "默認情況下 Chromium 運行於 Uptime Kuma 所在容器內。您可以通過切換此開關來使用遠程瀏覽器。",
"useRemoteBrowser": "使用遠程瀏覽器",
"deleteRemoteBrowserMessage": "您確定要刪除此遠程瀏覽器嗎,這會影響所有監控項?",
"GrafanaOncallUrl": "Grafana Oncall 服務 URL",
"Browser Screenshot": "瀏覽器截圖",
"Command": "命令",
"mongodbCommandDescription": "對資料庫運行 MongoDB 命令。有關可用命令的資訊,請查閱 {documentation}",
"wayToGetSevenIOApiKey": "訪問 app.seven.io > 開發人員 > api 密鑰 > 綠色添加按鈕下的儀錶板",
"senderSevenIO": "發信人號碼或名稱",
"receiverSevenIO": "收信人號碼",
"receiverInfoSevenIO": "如果接收號碼不在德國,您必須在號碼前面添加國家代碼(例如,對於來自美國的國家代碼 1請使用 117612121212 而不是 017612121212",
"apiKeySevenIO": "SevenIO API 密鑰",
"wayToWriteWhapiRecipient": "可用格式為不含 + 號的國際通用格式手機號碼({0})、聯繫人 ID{1})或組 ID{2})。",
"wayToGetWhapiUrlAndToken": "您可以通過進入您想要的頻道來獲取 API URL 和令牌:{0}",
"whapiRecipient": "手機號碼 / 聯繫人 ID / 組 ID",
"API URL": "API 地址",
"What is a Remote Browser?": "甚麼是遠程瀏覽器?",
"wayToGetHeiiOnCallDetails": "如需了解如何獲取 Trigger ID 和 API 密鑰,請訪問 {documentation}",
"documentationOf": "{0} 文檔",
"callMeBotGet": "您可以在此處填寫您生成的用於 {0}、{1} 或 {2} 的端點。 請注意您可能會受到速率限制。 速率限制被推測為:{3}(僅供參考)",
"gtxMessagingApiKeyHint": "你可以在此找到你的 API 密鑰My Routing Accounts > Show Account Information > API Credentials > REST API (v2.x)",
"From Phone Number / Transmission Path Originating Address (TPOA)": "發件人電話號碼 / 傳輸路徑起始地址TPOA",
"gtxMessagingFromHint": "在手機上,收件人會看到 TPOA 地址作為消息的發送者。TPOA 允許的格式包括至多11個字母或數字、短代碼、當地長代碼或國際號碼{e164}、{e212} 或 {e214} 格式)",
"To Phone Number": "收件人電話號碼",
"gtxMessagingToHint": "國際通用格式,需要前導 \"+\" {e164}、{e212} 或 {e214} 格式)",
"Originator type": "發件人類型",
"Alphanumeric (recommended)": "字符或數字類型(推薦)",
"Telephone number": "手機號碼",
"cellsyntOriginatortypeAlphanumeric": "字符或數字類型(最多 11 個字母或數字)。收件人無法向此號碼回覆消息。",
"cellsyntOriginatortypeNumeric": "數字類型(最多 15 位數)需使用國際通用格式,不以 00+國家代碼開頭,例如若要使用英國的號碼 07920 110 000 需填寫 447920110000。收件人可向此號碼回覆消息。",
"Originator": "發件人",
"Destination": "收件人",
"Allow Long SMS": "允許長消息",
"cellsyntSplitLongMessages": "長消息會被切分為至多 6 段,每段至多 153 個字符,總共至多 918 個字符。",
"max 15 digits": "最多 15 位數字",
"max 11 alphanumeric characters": "最多 11 個字母或數字",
"Community String": "SNMP 通訊字符串",
"snmpCommunityStringHelptext": "此字符串用作密碼以驗證和控制對SNMP啟用設備的訪問。請將其與您的SNMP設備配置匹配。",
"OID (Object Identifier)": "OID對象標識符",
"snmpOIDHelptext": "輸入您想監控的傳感器或狀態的 OID。如果您不確定 OID 是甚麼,可以使用 MIB 瀏覽器或 SNMP 軟件等網絡管理工具進行查找。",
"Condition": "條件",
"SNMP Version": "SNMP 版本",
"Please enter a valid OID.": "請輸入一個合法的 OID。",
"wayToGetThreemaGateway": "你可以在 {0} 註冊 Threema 網關。",
"threemaRecipientType": "收信人類型",
"threemaRecipientTypeIdentity": "Threema ID",
"threemaRecipientTypePhone": "電話號碼",
"threemaRecipientTypePhoneFormat": "E.164 標準,不含前導 + 號",
"threemaRecipientTypeEmail": "郵件地址",
"threemaSenderIdentity": "網關 ID",
"threemaSenderIdentityFormat": "8 位字符,通常以 * 開頭",
"threemaApiAuthenticationSecret": "網關密鑰",
"threemaBasicModeInfo": "註:此通知類型所使用的 Threema 網關為基礎模式(伺服器端加密)。更多細節參見 {0}。",
"apiKeysDisabledMsg": "由於登錄驗證被禁用API 密鑰也被禁用。",
"Host Onesender": "Onesender 伺服器",
"Token Onesender": "Onesender 令牌",
"Recipient Type": "收件人類型",
"Private Number": "私密號碼",
"privateOnesenderDesc": "請確保電話號碼有效。要向私人電話號碼發送消息格式形如628123456789",
"groupOnesenderDesc": "請確保分組 ID 有效。要向分組發送消息格式形如628123456789-342345",
"Group ID": "分組 ID",
"wayToGetOnesenderUrlandToken": "你可以在 Onesender 網站獲取地址和令牌。更多資訊參見 {0}",
"Add Remote Browser": "添加遠程瀏覽器",
"New Group": "新分組",
"Group Name": "分組名稱",
"OAuth2: Client Credentials": "OAuth2客戶端憑據",
"Authentication Method": "鑒權方式",
"Authorization Header": "鑒權請求頭",
"Form Data Body": "表單數據請求體",
"OAuth Token URL": "OAuth 令牌地址",
"Client ID": "客戶端 ID",
"Client Secret": "客戶端祕鑰",
"OAuth Scope": "OAuth 範圍",
"Optional: Space separated list of scopes": "可選項:用空格分隔的範圍列表",
"Go back to home page.": "返回到首頁。",
"No tags found.": "未找到標籤。",
"Lost connection to the socket server.": "與 socket 伺服器的連接丟失。",
"Cannot connect to the socket server.": "無法連接到 socket 伺服器。",
"SIGNL4": "SIGNL4",
"SIGNL4 Webhook URL": "SIGNL4 Webhook 地址",
"signl4Docs": "你可以在此找到更多關於如何配置 SIGNL4 以及如何獲取 SIGNL4 Webhook 地址的資訊:{0}。",
"conditionAdd": "添加條件",
"conditionDelete": "刪除條件",
"conditionAddGroup": "添加分組",
"conditionDeleteGroup": "刪除分組",
"conditionValuePlaceholder": "值",
"equals": "相等",
"not equals": "不相等",
"contains": "包含",
"not contains": "不包含",
"starts with": "以此開頭",
"not starts with": "不以此開頭",
"ends with": "以此結尾",
"not ends with": "不以此結尾",
"less than": "少於",
"greater than": "多於",
"less than or equal to": "不多於",
"greater than or equal to": "不少於",
"record": "記錄",
"Notification Channel": "通知頻道",
"Sound": "聲音",
"Alphanumerical string and hyphens only": "僅限字母、數字和連字符(-",
"Arcade": "Arcade拱廊",
"Correct": "Correct成功音",
"Fail": "Fail失敗音",
"Harp": "Harp豎琴",
"Reveal": "Reveal揭示",
"Bubble": "Bubble氣泡",
"Doorbell": "Doorbell門鈴",
"Flute": "Flute長笛",
"Money": "Money",
"Scifi": "Scifi科幻",
"Clear": "Clear清除聲",
"Elevator": "Elevator電梯",
"Guitar": "Guitar結他",
"Pop": "Pop流行音樂",
"Custom sound to override default notification sound": "自定義聲音,用以覆蓋默認通知聲音",
"Time Sensitive (iOS Only)": "即時通知(僅 iOS 可用)",
"Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "即使設備處於專注模式,即時通知也會立即發送。",
"From": "發件人",
"Can be found on:": "可在此找到:{0}",
"The phone number of the recipient in E.164 format.": "收件人的 E.164 格式電話號碼。",
"Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "如需可被回復,請輸入發送者 ID 或 E.164 格式的手機號碼。",
"rabbitmqNodesDescription": "輸入 RabbitMQ 管理節點的 URL包括協議和端口。例如{0}",
"rabbitmqNodesRequired": "請設置此監視項的節點。",
"rabbitmqNodesInvalid": "請使用 RabbitMQ 節點的完整 URL即完全限定 URL以 http 開頭)。",
"RabbitMQ Username": "RabbitMQ 用戶名",
"RabbitMQ Password": "RabbitMQ 密碼",
"rabbitmqHelpText": "要使用此監控項,您需要在 RabbitMQ 設置中啟用管理插件。有關更多資訊,請參閱 {rabitmq_documentation}。",
"SendGrid API Key": "SendGrid API 密鑰",
"Separate multiple email addresses with commas": "用逗號分隔多個電子郵件地址",
"templateHeartbeatJSON": "描述心跳資訊的對象",
"successKeyword": "“成功”關鍵詞",
"emailCustomBody": "自定義正文",
"leave blank for default body": "留空以使用默認正文",
"emailTemplateHeartbeatJSON": "描述心跳資訊的對象",
"emailTemplateLimitedToUpDownNotification": "僅適用於“正常”、“故障”類心跳,否則為空",
"e.g. {discordThreadID}": "例如 {discordThreadID}",
"Your User ID": "你的用戶 ID",
"promosmsAllowLongSMS": "允許長的短訊",
"Notify Channel": "通知該頻道",
"aboutNotifyChannel": "勾選“通知該頻道”,會令該頻道內所有成員都收到一條桌面端或移動端通知,無論其狀態是在線或離開。",
"setup a new monitor group": "創建一個新的監控項組",
"openModalTo": "打開一個新窗口以{0}",
"Add a domain": "添加一個域名",
"Remove domain": "移除域名 {0}",
"successEnabled": "已成功啟用。",
"Conditions": "條件",
"Kafka Topic Name": "Kafka 主題名稱",
"Kafka Producer Message": "Kafka 生成者Producer消息",
"Mechanism": "鑒權方式",
"toastSuccessTimeout": "成功類彈窗通知的自動關閉用時",
"pushoverMessageTtl": "消息存活時間(秒)",
"Don't mention people": "不提及任何人",
"Kafka Brokers": "Kafka 緩存代理Broker",
"AccessKey Id": "密鑰 IDAccessKey Id",
"cellsyntOriginator": "在收件人處作為消息發送者顯示。允許的內容取決於發件人類型。",
"cellsyntDestination": "收件人的手機號碼需要使用以 00+國家代碼開頭的國際通用格式,例如若要發給英國的號碼 07920 110 000 需使用 00447920110000 作為收件人手機號碼至多17位數。需發送給多個收件人手機號碼時可使用英文逗號分隔每次請求最 多250 00個收件人手機號碼。",
"threemaRecipient": "收件人",
"threemaRecipientTypeIdentityFormat": "8 位字符"
}

View File

@ -977,5 +977,113 @@
"now": "現在",
"-year": "-年",
"Json Query Expression": "JSON查詢表達式",
"ntfyPriorityHelptextAllExceptDown": "所有事件均以此優先權發送,但 {0} 事件除外,其優先權為 {1}"
"ntfyPriorityHelptextAllExceptDown": "所有事件均以此優先權發送,但 {0} 事件除外,其優先權為 {1}",
"receiverInfoSevenIO": "如果接收號碼不在德國,您必須在號碼前面添加國家代碼(例如,對於來自美國的國家代碼 1請使用 117612121212 而不是 017612121212",
"callMeBotGet": "您可以在此處填寫您生成的用於 {0}、{1} 或 {2} 的端點。 請注意您可能會受到速率限制。 速率限制被推測為:{3}(僅供參考)",
"gtxMessagingFromHint": "在手機上,收件人會看到 TPOA 地址作為消息的發送者。TPOA 允許的格式包括至多11個字母或數字、短代碼、當地長代碼或國際號碼{e164}、{e212} 或 {e214} 格式)",
"deleteRemoteBrowserMessage": "您確定要刪除此遠程瀏覽器嗎,這會影響所有監控項?",
"Command": "命令",
"wayToGetSevenIOApiKey": "訪問 app.seven.io > 開發人員 > api 密鑰 > 綠色添加按鈕下的儀錶板",
"senderSevenIO": "發信人號碼或名稱",
"receiverSevenIO": "收信人號碼",
"wayToWriteWhapiRecipient": "可用格式為不含 + 號的國際通用格式手機號碼({0})、聯繫人 ID{1})或組 ID{2})。",
"wayToGetWhapiUrlAndToken": "您可以通過進入您想要的頻道來獲取 API URL 和令牌:{0}",
"whapiRecipient": "手機號碼 / 聯繫人 ID / 組 ID",
"API URL": "API 地址",
"wayToGetHeiiOnCallDetails": "如需了解如何獲取 Trigger ID 和 API 密鑰,請訪問 {documentation}",
"gtxMessagingApiKeyHint": "你可以在此找到你的 API 密鑰My Routing Accounts > Show Account Information > API Credentials > REST API (v2.x)",
"From Phone Number / Transmission Path Originating Address (TPOA)": "發件人電話號碼 / 傳輸路徑起始地址TPOA",
"To Phone Number": "收件人電話號碼",
"gtxMessagingToHint": "國際通用格式,需要前導 \"+\" {e164}、{e212} 或 {e214} 格式)",
"Alphanumeric (recommended)": "字符或數字類型(推薦)",
"cellsyntOriginatortypeAlphanumeric": "字符或數字類型(最多 11 個字母或數字)。收件人無法向此號碼回覆消息。",
"cellsyntOriginatortypeNumeric": "數字類型(最多 15 位數)需使用國際通用格式,不以 00+國家代碼開頭,例如若要使用英國的號碼 07920 110 000 需填寫 447920110000。收件人可向此號碼回覆消息。",
"max 11 alphanumeric characters": "最多 11 個字母或數字",
"Community String": "SNMP 通訊字符串",
"snmpCommunityStringHelptext": "此字符串用作密碼以驗證和控制對SNMP啟用設備的訪問。請將其與您的SNMP設備配置匹配。",
"OID (Object Identifier)": "OID對象標識符",
"snmpOIDHelptext": "輸入您想監控的傳感器或狀態的 OID。如果您不確定 OID 是什麼,可以使用 MIB 瀏覽器或 SNMP 軟件等網絡管理工具進行查找。",
"Condition": "條件",
"SNMP Version": "SNMP 版本",
"Please enter a valid OID.": "請輸入一個合法的 OID。",
"wayToGetThreemaGateway": "你可以在 {0} 註冊 Threema 網關。",
"threemaRecipientTypeIdentity": "Threema ID",
"threemaRecipientTypePhoneFormat": "E.164 標準,不含前導 + 號",
"threemaSenderIdentity": "網關 ID",
"threemaApiAuthenticationSecret": "網關密鑰",
"threemaBasicModeInfo": "註:此通知類型所使用的 Threema 網關為基礎模式(服務器端加密)。更多細節參見 {0}。",
"apiKeysDisabledMsg": "由於登錄驗證被禁用API 密鑰也被禁用。",
"Host Onesender": "Onesender 服務器",
"Token Onesender": "Onesender 令牌",
"Recipient Type": "收件人類型",
"Private Number": "私密號碼",
"privateOnesenderDesc": "請確保電話號碼有效。要向私人電話號碼發送消息格式形如628123456789",
"groupOnesenderDesc": "請確保分組 ID 有效。要向分組發送消息格式形如628123456789-342345",
"Group ID": "分組 ID",
"wayToGetOnesenderUrlandToken": "你可以在 Onesender 網站獲取地址和令牌。更多信息參見 {0}",
"Add Remote Browser": "添加遠程瀏覽器",
"Group Name": "分組名稱",
"OAuth2: Client Credentials": "OAuth2客戶端憑據",
"Authentication Method": "鑒權方式",
"Authorization Header": "鑒權請求頭",
"Form Data Body": "表單數據請求體",
"OAuth Token URL": "OAuth 令牌地址",
"Client ID": "客戶端 ID",
"Client Secret": "客戶端秘鑰",
"OAuth Scope": "OAuth 範圍",
"Optional: Space separated list of scopes": "可選項:用空格分隔的範圍列表",
"Go back to home page.": "返回到首頁。",
"No tags found.": "未找到標籤。",
"Lost connection to the socket server.": "與 socket 服務器的連接丟失。",
"Cannot connect to the socket server.": "無法連接到 socket 服務器。",
"conditionDelete": "刪除條件",
"conditionAddGroup": "添加分組",
"conditionDeleteGroup": "刪除分組",
"equals": "相等",
"not equals": "不相等",
"contains": "包含",
"not contains": "不包含",
"starts with": "以此開頭",
"not starts with": "不以此開頭",
"ends with": "以此結尾",
"greater than": "多於",
"less than or equal to": "不多於",
"greater than or equal to": "不少於",
"Notification Channel": "通知頻道",
"Sound": "聲音",
"Alphanumerical string and hyphens only": "僅限字母、數字和連字符(-",
"Arcade": "Arcade拱廊",
"Harp": "Harp豎琴",
"Flute": "Flute長笛",
"Guitar": "Guitar吉他",
"Pop": "Pop流行音樂",
"Custom sound to override default notification sound": "自定義聲音,用以覆蓋默認通知聲音",
"Time Sensitive (iOS Only)": "即時通知(僅 iOS 可用)",
"Time sensitive notifications will be delivered immediately, even if the device is in do not disturb mode.": "即使設備處於專注模式,即時通知也會立即發送。",
"From": "發件人",
"Can be found on:": "可在此找到:{0}",
"The phone number of the recipient in E.164 format.": "收件人的 E.164 格式電話號碼。",
"Either a text sender ID or a phone number in E.164 format if you want to be able to receive replies.": "如需可被回復,請輸入發送者 ID 或 E.164 格式的手機號碼。",
"RabbitMQ Nodes": "RabbitMQ 管理節點",
"rabbitmqNodesDescription": "輸入 RabbitMQ 管理節點的 URL包括協議和端口。例如{0}",
"rabbitmqNodesRequired": "請設置此監視項的節點。",
"rabbitmqNodesInvalid": "請使用 RabbitMQ 節點的完整 URL即完全限定 URL以 http 開頭)。",
"RabbitMQ Username": "RabbitMQ 用戶名",
"RabbitMQ Password": "RabbitMQ 密碼",
"rabbitmqHelpText": "要使用此監控項,您需要在 RabbitMQ 設置中啟用管理插件。有關更多信息,請參閱 {rabitmq_documentation}。",
"SendGrid API Key": "SendGrid API 密鑰",
"not ends with": "不以此結尾",
"less than": "少於",
"Originator": "發件人",
"cellsyntOriginator": "在收件人處作為消息發送者顯示。允許的內容取決於發件人類型。",
"cellsyntDestination": "收件人的手機號碼需要使用以 00+國家代碼開頭的國際通用格式,例如若要發給英國的號碼 07920 110 000 需使用 00447920110000 作為收件人手機號碼至多17位數。需發送給多個收件人手機號碼時可使用英文逗號分隔每次請求最 多250 00個收件人手機號碼。",
"SIGNL4": "SIGNL4",
"SIGNL4 Webhook URL": "SIGNL4 Webhook 地址",
"signl4Docs": "你可以在此找到更多關於如何配置 SIGNL4 以及如何獲取 SIGNL4 Webhook 地址的信息:{0}。",
"Conditions": "條件",
"conditionAdd": "添加條件",
"conditionValuePlaceholder": "值",
"Separate multiple email addresses with commas": "用逗號分隔多個電子郵件地址",
"record": "記錄",
"New Group": "新分組"
}