From ecc25ba59695888a531f964dff39560b988c9ddc Mon Sep 17 00:00:00 2001 From: RisedSky Date: Sun, 10 Oct 2021 19:02:35 +0200 Subject: [PATCH 01/17] Update fr-FR.js Fixed wrong string Also, "Primary Base URL" is missing from english file --- src/languages/fr-FR.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/languages/fr-FR.js b/src/languages/fr-FR.js index 6d65f375c..0111d4b89 100644 --- a/src/languages/fr-FR.js +++ b/src/languages/fr-FR.js @@ -130,7 +130,7 @@ export default { "Clear Data": "Effacer les données", Events: "Evénements", Heartbeats: "Vérfications", - "Auto Get": "Auto Get", + "Auto Get": "Récuperer automatiquement", backupDescription: "Vous pouvez sauvegarder toutes les sondes et toutes les notifications dans un fichier JSON.", backupDescription2: "PS: Les données relatives à l'historique et aux événements ne sont pas incluses.", backupDescription3: "Les données sensibles telles que les jetons de notification sont incluses dans le fichier d'exportation, veuillez les conserver soigneusement.", @@ -152,11 +152,11 @@ export default { Token: "Jeton", "Show URI": "Afficher l'URI", Tags: "Étiquettes", - "Add New below or Select...": "Ajouter nouveau ci-dessous ou sélectionner...", + "Add New below or Select...": "Ajoutez-en un en dessous ou sélectionnez-le ici...", "Tag with this name already exist.": "Une étiquette portant ce nom existe déjà.", "Tag with this value already exist.": "Une étiquette avec cette valeur existe déjà.", - color: "couleur", - "value (optional)": "valeur (facultatif)", + color: "Couleur", + "value (optional)": "Valeur (facultatif)", Gray: "Gris", Red: "Rouge", Orange: "Orange", @@ -194,8 +194,8 @@ export default { "webhook": "Webhook", "Post URL": "Post URL", "Content Type": "Content Type", - webhookJsonDesc: "{0} est bon pour tous les serveurs HTTP modernes comme express.js", - webhookFormDataDesc: "{multipart} est bon pour du PHP, vous avez juste besoin de mettre le json via {decodeFunction}", + webhookJsonDesc: "{0} est bien/bon pour tous les serveurs HTTP modernes comme express.js", + webhookFormDataDesc: "{multipart} est bien/bon pour du PHP, vous avez juste besoin de mettre le json via/depuis {decodeFunction}", "smtp": "Email (SMTP)", secureOptionNone: "Aucun / STARTTLS (25, 587)", secureOptionTLS: "TLS (465)", @@ -228,7 +228,7 @@ export default { "Channel Name": "Nom du salon", "Uptime Kuma URL": "Uptime Kuma URL", aboutWebhooks: "Plus d'informations sur les Webhooks ici: {0}", - aboutChannelName: "Mettez le nom du salon dans {0} dans Channel Name si vous voulez bypass le salon Webhook. Ex: #autre-salon", + aboutChannelName: "Mettez le nom du salon dans {0} dans 'Channel Name' si vous voulez bypass le salon Webhook. Ex: #autre-salon", aboutKumaURL: "Si vous laissez l'URL d'Uptime Kuma vierge, elle redirigera vers la page du projet GitHub.", emojiCheatSheet: "Emoji cheat sheet: {0}", "rocket.chat": "Rocket.chat", @@ -251,7 +251,7 @@ export default { "SMS Type": "SMS Type", octopushTypePremium: "Premium (Rapide - recommandé pour les alertes)", octopushTypeLowCost: "A bas prix (Lent, bloqué de temps en temps par l'opérateur)", - "Check octopush prices": "Vérifiez les prix d'octopush {0}.", + "Check octopush prices": "Vérifier les prix d'octopush {0}.", octopushPhoneNumber: "Numéro de téléphone (format intérn., ex : +33612345678) ", octopushSMSSender: "Nom de l'envoyer : 3-11 caractères alphanumériques avec espace (a-zA-Z0-9)", "LunaSea Device ID": "LunaSea Device ID", @@ -274,7 +274,7 @@ export default { aboutIconURL: "Vous pouvez mettre un lien vers l'image dans \"Icon URL\" pour remplacer l'image de profil par défaut. Ne sera pas utilisé si Icon Emoji est défini.", aboutMattermostChannelName: "Vous pouvez remplacer le salon par défaut que le Webhook utilise en mettant le nom du salon dans le champ \"Channel Name\". Vous aurez besoin de l'activer depuis les paramètres de Mattermost. Ex: #autre-salon", "matrix": "Matrix", - promosmsTypeEco: "SMS ECO - Pas chère mais lent et souvent surchargé. Limité uniquement aux déstinataires Polonais.", + promosmsTypeEco: "SMS ECO - Pas cher mais lent et souvent surchargé. Limité uniquement aux déstinataires Polonais.", promosmsTypeFlash: "SMS FLASH - Le message sera automatiquement affiché sur l'appareil du destinataire. Limité uniquement aux déstinataires Polonais.", promosmsTypeFull: "SMS FULL - Version Premium des SMS, Vous pouvez mettre le nom de l'expéditeur (Vous devez vous enregistrer avant). Fiable pour les alertes.", promosmsTypeSpeed: "SMS SPEED - La plus haute des priorités dans le système. Très rapide et fiable mais cher (environ le double du prix d'un SMS FULL).", From a433de74e626f4894d78454db5f74d83e00cec0c Mon Sep 17 00:00:00 2001 From: Atlochowski Date: Mon, 11 Oct 2021 09:24:45 +0200 Subject: [PATCH 02/17] Update pl.js small fix --- src/languages/pl.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/languages/pl.js b/src/languages/pl.js index f6a32dc67..fe67e7563 100644 --- a/src/languages/pl.js +++ b/src/languages/pl.js @@ -43,7 +43,7 @@ export default { Down: "Offline", Pending: "Oczekuje", Unknown: "Nieznane", - Pause: "Wstrzymane", + Pause: "Wstrzymaj", Name: "Nazwa", Status: "Status", DateTime: "Data i godzina", From 6d9b71c0547788cbac1b868b249cc02508efb1b9 Mon Sep 17 00:00:00 2001 From: wuwenjing Date: Mon, 11 Oct 2021 17:20:09 +0800 Subject: [PATCH 03/17] Add Feishu notification --- server/notification-providers/feishu.js | 87 +++++++++++++++++++++++++ server/notification.js | 2 + src/components/notifications/Feishu.vue | 15 +++++ src/components/notifications/index.js | 2 + src/languages/en.js | 1 + src/languages/zh-CN.js | 1 + 6 files changed, 108 insertions(+) create mode 100644 server/notification-providers/feishu.js create mode 100644 src/components/notifications/Feishu.vue diff --git a/server/notification-providers/feishu.js b/server/notification-providers/feishu.js new file mode 100644 index 000000000..7648f629b --- /dev/null +++ b/server/notification-providers/feishu.js @@ -0,0 +1,87 @@ +const NotificationProvider = require("./notification-provider"); +const axios = require("axios"); +const { DOWN, UP } = require("../../src/util"); + +class Feishu extends NotificationProvider { + name = "Feishu"; + + async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { + let okMsg = "Sent Successfully."; + let feishuWebHookUrl = notification.feishuWebHookUrl; + + console.log(heartbeatJSON); + try { + if (heartbeatJSON == null) { + let testdata = { + msg_type: "text", + content: { + text: "Testing Successful.", + }, + }; + var t = await axios.post(feishuWebHookUrl, testdata); + console.log(t); + return okMsg; + } + + if (heartbeatJSON["status"] == DOWN) { + let downdata = { + msg_type: "post", + content: { + post: { + zh_cn: { + title: + "UptimeKuma Alert: " + monitorJSON["name"], + content: [ + [ + { + tag: "text", + text: + "[Down] " + + heartbeatJSON["msg"] + + "\nTime (UTC): " + + heartbeatJSON["time"], + }, + ], + ], + }, + }, + }, + }; + await axios.post(feishuWebHookUrl, downdata); + return okMsg; + } + + if (heartbeatJSON["status"] == UP) { + let updata = { + msg_type: "post", + content: { + post: { + zh_cn: { + title: + "UptimeKuma Alert: " + monitorJSON["name"], + content: [ + [ + { + tag: "text", + text: + "[Up] " + + heartbeatJSON["msg"] + + "\nTime (UTC): " + + heartbeatJSON["time"], + }, + ], + ], + }, + }, + }, + }; + await axios.post(feishuWebHookUrl, updata); + return okMsg; + } + } catch (error) { + this.throwGeneralAxiosError(error); + } + } +} + +module.exports = Feishu; diff --git a/server/notification.js b/server/notification.js index 5b104bf8a..41a0063c3 100644 --- a/server/notification.js +++ b/server/notification.js @@ -18,6 +18,7 @@ const SMTP = require("./notification-providers/smtp"); const Teams = require("./notification-providers/teams"); const Telegram = require("./notification-providers/telegram"); const Webhook = require("./notification-providers/webhook"); +const Feishu = require("./notification-providers/feishu"); class Notification { @@ -35,6 +36,7 @@ class Notification { new Gotify(), new Line(), new LunaSea(), + new Feishu(), new Mattermost(), new Matrix(), new Octopush(), diff --git a/src/components/notifications/Feishu.vue b/src/components/notifications/Feishu.vue new file mode 100644 index 000000000..18dc26422 --- /dev/null +++ b/src/components/notifications/Feishu.vue @@ -0,0 +1,15 @@ + diff --git a/src/components/notifications/index.js b/src/components/notifications/index.js index 7d70eea17..140c1180c 100644 --- a/src/components/notifications/index.js +++ b/src/components/notifications/index.js @@ -12,6 +12,7 @@ import Pushy from "./Pushy.vue"; import Octopush from "./Octopush.vue"; import PromoSMS from "./PromoSMS.vue"; import LunaSea from "./LunaSea.vue"; +import Feishu from "./Feishu.vue"; import Apprise from "./Apprise.vue"; import Pushbullet from "./Pushbullet.vue"; import Line from "./Line.vue"; @@ -38,6 +39,7 @@ const NotificationFormList = { "octopush": Octopush, "promosms": PromoSMS, "lunasea": LunaSea, + "Feishu": Feishu, "apprise": Apprise, "pushbullet": Pushbullet, "line": Line, diff --git a/src/languages/en.js b/src/languages/en.js index 119b558e0..d93714f66 100644 --- a/src/languages/en.js +++ b/src/languages/en.js @@ -280,5 +280,6 @@ export default { promosmsTypeSpeed: "SMS SPEED - Highest priority in system. Very quick and reliable but costly (about twice of SMS FULL price).", promosmsPhoneNumber: "Phone number (for Polish recipient You can skip area codes)", promosmsSMSSender: "SMS Sender Name : Pre-registred name or one of defaults: InfoSMS, SMS Info, MaxSMS, INFO, SMS", + "Feishu WebHookUrl": "Feishu WebHookUrl", // End notification form }; diff --git a/src/languages/zh-CN.js b/src/languages/zh-CN.js index a7f81950a..1028d577e 100644 --- a/src/languages/zh-CN.js +++ b/src/languages/zh-CN.js @@ -198,4 +198,5 @@ export default { pushbullet: "Pushbullet", line: "Line Messenger", mattermost: "Mattermost", + "Feishu WebHookUrl": "飞书 WebHook 地址", }; From ce2df137e682310a564395db0c6f233eea53d14c Mon Sep 17 00:00:00 2001 From: wuwenjing Date: Mon, 11 Oct 2021 17:53:13 +0800 Subject: [PATCH 04/17] change text to using variable `msg` --- server/notification-providers/feishu.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/server/notification-providers/feishu.js b/server/notification-providers/feishu.js index 7648f629b..d8db2b1d6 100644 --- a/server/notification-providers/feishu.js +++ b/server/notification-providers/feishu.js @@ -9,17 +9,15 @@ class Feishu extends NotificationProvider { let okMsg = "Sent Successfully."; let feishuWebHookUrl = notification.feishuWebHookUrl; - console.log(heartbeatJSON); try { if (heartbeatJSON == null) { let testdata = { msg_type: "text", content: { - text: "Testing Successful.", + text: msg, }, }; - var t = await axios.post(feishuWebHookUrl, testdata); - console.log(t); + await axios.post(feishuWebHookUrl, testdata); return okMsg; } From 5b19e3f02592519399ebd81fadc264cb0d344d14 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Mon, 11 Oct 2021 19:40:51 +0800 Subject: [PATCH 05/17] Update README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 75ee8b237..920998a33 100644 --- a/README.md +++ b/README.md @@ -23,11 +23,14 @@ VPS is sponsored by Uptime Kuma sponsors on [Open Collective](https://opencollec ## ⭐ Features -* Monitoring uptime for HTTP(s) / TCP / Ping / DNS Record. +* Monitoring uptime for HTTP(s) / TCP / Ping / DNS Record / Push. * Fancy, Reactive, Fast UI/UX. * Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP), and [70+ notification services, click here for the full list](https://github.com/louislam/uptime-kuma/issues/284). * 20 seconds interval. * [Multi Languages](https://github.com/louislam/uptime-kuma/tree/master/src/languages) +* Simple Status Page +* Ping Chart +* Certicate Info ## 🔧 How to Install From 97af09fd50d6f5e3eee73cf1fb8b553c0c9ba4b1 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Mon, 11 Oct 2021 19:41:56 +0800 Subject: [PATCH 06/17] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 920998a33..11f7fbd5e 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ VPS is sponsored by Uptime Kuma sponsors on [Open Collective](https://opencollec * Monitoring uptime for HTTP(s) / TCP / Ping / DNS Record / Push. * Fancy, Reactive, Fast UI/UX. -* Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP), and [70+ notification services, click here for the full list](https://github.com/louislam/uptime-kuma/issues/284). +* Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP), and [70+ notification services, click here for the full list](https://github.com/louislam/uptime-kuma/tree/master/src/components/notifications). * 20 seconds interval. * [Multi Languages](https://github.com/louislam/uptime-kuma/tree/master/src/languages) * Simple Status Page From ebf0671fef6fb39c4a26deac95daa5776174c5e3 Mon Sep 17 00:00:00 2001 From: Atlochowski Date: Mon, 11 Oct 2021 13:45:25 +0200 Subject: [PATCH 07/17] Update pl.js --- src/languages/pl.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/languages/pl.js b/src/languages/pl.js index fe67e7563..7a438a592 100644 --- a/src/languages/pl.js +++ b/src/languages/pl.js @@ -10,7 +10,7 @@ export default { passwordNotMatchMsg: "Powtórzone hasło nie pasuje.", notificationDescription: "Proszę przypisać powiadomienie do monitora(ów), aby działało.", keywordDescription: "Wyszukiwanie słów kluczowych w zwykłym html lub odpowiedzi JSON. Wielkość liter ma znaczenie.", - pauseDashboardHome: "Wstrzymaj", + pauseDashboardHome: "Wstrzymane", deleteMonitorMsg: "Czy na pewno chcesz usunąć ten monitor?", deleteNotificationMsg: "Czy na pewno chcesz usunąć to powiadomienie dla wszystkich monitorów?", resoverserverDescription: "Cloudflare jest domyślnym serwerem, możesz zmienić serwer resolver w każdej chwili.", From d769c4426c6ff8095c34f191c292f064513c11e8 Mon Sep 17 00:00:00 2001 From: Slayer <51095261+GhostSlayer@users.noreply.github.com> Date: Mon, 11 Oct 2021 15:22:52 +0300 Subject: [PATCH 08/17] Create PM2 Config file I don't know if this is a good idea, but users that prefer to use PM2 instead, they can run `pm2 start` instead of `pm2 start server/server.js --name uptime-kuma` with this configuration --- ecosystem.config.js | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 ecosystem.config.js diff --git a/ecosystem.config.js b/ecosystem.config.js new file mode 100644 index 000000000..5f4034007 --- /dev/null +++ b/ecosystem.config.js @@ -0,0 +1,6 @@ +module.exports = { + apps: [{ + name: "uptime-kuma", + script: "./server/server.js", + }] +} From 69ffee55ddbc1c81cf98cb6019a7280af98466c1 Mon Sep 17 00:00:00 2001 From: Atlochowski Date: Mon, 11 Oct 2021 14:33:00 +0200 Subject: [PATCH 09/17] Update pl.js --- src/languages/pl.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/languages/pl.js b/src/languages/pl.js index 7a438a592..7202f540b 100644 --- a/src/languages/pl.js +++ b/src/languages/pl.js @@ -100,7 +100,7 @@ export default { Logout: "Wyloguj", Leave: "Zostaw", "I understand, please disable": "Rozumiem, proszę wyłączyć", - Confirm: "Potiwerdź", + Confirm: "Potwierdź", Yes: "Tak", No: "Nie", Username: "Nazwa użytkownika", From 69c623ac2b65f54a30a37e242ff237e1a1d18029 Mon Sep 17 00:00:00 2001 From: xJoker Date: Mon, 11 Oct 2021 20:38:19 +0800 Subject: [PATCH 10/17] Update server/notification-providers/feishu.js Co-authored-by: Adam Stachowicz --- server/notification-providers/feishu.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/server/notification-providers/feishu.js b/server/notification-providers/feishu.js index d8db2b1d6..63fde9ec3 100644 --- a/server/notification-providers/feishu.js +++ b/server/notification-providers/feishu.js @@ -27,8 +27,7 @@ class Feishu extends NotificationProvider { content: { post: { zh_cn: { - title: - "UptimeKuma Alert: " + monitorJSON["name"], + title: "UptimeKuma Alert: " + monitorJSON["name"], content: [ [ { From 1bc77a06e57df6ad1320afe533aa5dc7dc0d4512 Mon Sep 17 00:00:00 2001 From: xJoker Date: Mon, 11 Oct 2021 20:38:32 +0800 Subject: [PATCH 11/17] Update server/notification-providers/feishu.js Co-authored-by: Adam Stachowicz --- server/notification-providers/feishu.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/server/notification-providers/feishu.js b/server/notification-providers/feishu.js index 63fde9ec3..a3e340301 100644 --- a/server/notification-providers/feishu.js +++ b/server/notification-providers/feishu.js @@ -54,8 +54,7 @@ class Feishu extends NotificationProvider { content: { post: { zh_cn: { - title: - "UptimeKuma Alert: " + monitorJSON["name"], + title: "UptimeKuma Alert: " + monitorJSON["name"], content: [ [ { From 9c058054b9ea73eefb7e7f2d0c2ec0cd84cdf4da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=89VEIL?= Date: Mon, 11 Oct 2021 09:12:08 +0200 Subject: [PATCH 12/17] [i18n] minor update to french translations --- src/languages/fr-FR.js | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/languages/fr-FR.js b/src/languages/fr-FR.js index 0111d4b89..bcba1f869 100644 --- a/src/languages/fr-FR.js +++ b/src/languages/fr-FR.js @@ -15,15 +15,15 @@ export default { deleteNotificationMsg: "Êtes-vous sûr de vouloir supprimer ce type de notifications ? Une fois désactivée, les services qui l'utilisent ne pourront plus envoyer de notifications.", resoverserverDescription: "Le DNS de cloudflare est utilisé par défaut, mais vous pouvez le changer si vous le souhaitez.", rrtypeDescription: "Veuillez séléctionner un type d'enregistrement DNS", - pauseMonitorMsg: "Etes vous sur de vouloir mettre en pause cette sonde ?", + pauseMonitorMsg: "Êtes-vous sûr de vouloir mettre en pause cette sonde ?", enableDefaultNotificationDescription: "Pour chaque nouvelle sonde, cette notification sera activée par défaut. Vous pouvez toujours désactiver la notification séparément pour chaque sonde.", clearEventsMsg: "Êtes-vous sûr de vouloir supprimer tous les événements pour cette sonde ?", clearHeartbeatsMsg: "Êtes-vous sûr de vouloir supprimer tous les vérifications pour cette sonde ?", confirmClearStatisticsMsg: "Êtes-vous sûr de vouloir supprimer tous les statistiques ?", - importHandleDescription: "Choisissez 'Ignorer l'existant' si vous voulez ignorer chaque sonde ou notification portant le même nom. L'option 'Écraser' supprime tous les sondes et notifications existantes.", - confirmImportMsg: "Êtes-vous sûr d'importer la sauvegarde ? Veuillez vous assurer que vous avez sélectionné la bonne option d'importation.", + importHandleDescription: "Choisissez 'Ignorer l'existant' si vous voulez ignorer chaque sonde ou notification portant le même nom. L'option 'Écraser' supprime toutes les sondes et notifications existantes.", + confirmImportMsg: "Êtes-vous sûr de vouloir importer la sauvegarde ? Veuillez vous assurer que vous avez sélectionné la bonne option d'importation.", twoFAVerifyLabel: "Veuillez saisir votre jeton pour vérifier que le système 2FA fonctionne.", - tokenValidSettingsMsg: "Le jeton est valide ! Vous pouvez maintenant sauvegarder les paramètres 2FA.", + tokenValidSettingsMsg: "Le jeton est valide ; Vous pouvez maintenant sauvegarder les paramètres 2FA.", confirmEnableTwoFAMsg: "Êtes-vous sûr de vouloir activer le 2FA ?", confirmDisableTwoFAMsg: "Êtes-vous sûr de vouloir désactiver le 2FA ?", Settings: "Paramètres", @@ -136,7 +136,7 @@ export default { backupDescription3: "Les données sensibles telles que les jetons de notification sont incluses dans le fichier d'exportation, veuillez les conserver soigneusement.", alertNoFile: "Veuillez sélectionner un fichier à importer.", alertWrongFileType: "Veuillez sélectionner un fichier JSON à importer.", - "Clear all statistics": "Effacer touutes les statistiques", + "Clear all statistics": "Effacer toutes les statistiques", "Skip existing": "Sauter l'existant", Overwrite: "Ecraser", Options: "Options", @@ -185,10 +185,10 @@ export default { "Required": "Requis", "telegram": "Telegram", "Bot Token": "Bot Token", - "You can get a token from": "Vous pouvez avoir un token depuis", + "You can get a token from": "Vous pouvez obtenir un token depuis", "Chat ID": "Chat ID", supportTelegramChatID: "Supporte les messages privés / en groupe / l'ID du salon", - wayToGetTelegramChatID: "Vous pouvez obtenir l'ID du chat en envoyant un message avec le bot puis en récupérant l'URL pour voir l'ID du salon:", + wayToGetTelegramChatID: "Vous pouvez obtenir l'ID du chat en envoyant un message avec le bot puis en récupérant l'URL pour voir l'ID du salon :", "YOUR BOT TOKEN HERE": "VOTRE TOKEN BOT ICI", chatIDNotFound: "ID du salon introuvable, envoyez un message via le bot avant", "webhook": "Webhook", @@ -217,8 +217,8 @@ export default { "Number": "Numéro", "Recipients": "Destinataires", needSignalAPI: "Vous avez besoin d'un client Signal avec l'API REST.", - wayToCheckSignalURL: "Vous pouvez regarder l'URL sur comment le mettre en place:", - signalImportant: "IMPORTANT: Vous ne pouvez pas mixer les groupes et les numéros en destinataires!", + wayToCheckSignalURL: "Vous pouvez regarder l'URL sur comment le mettre en place :", + signalImportant: "IMPORTANT: Vous ne pouvez pas mixer les groupes et les numéros en destinataires !", "gotify": "Gotify", "Application Token": "Application Token", "Server URL": "Server URL", @@ -228,9 +228,9 @@ export default { "Channel Name": "Nom du salon", "Uptime Kuma URL": "Uptime Kuma URL", aboutWebhooks: "Plus d'informations sur les Webhooks ici: {0}", - aboutChannelName: "Mettez le nom du salon dans {0} dans 'Channel Name' si vous voulez bypass le salon Webhook. Ex: #autre-salon", + aboutChannelName: "Mettez le nom du salon dans {0} dans 'Channel Name' si vous voulez bypass le salon Webhook. Ex : #autre-salon", aboutKumaURL: "Si vous laissez l'URL d'Uptime Kuma vierge, elle redirigera vers la page du projet GitHub.", - emojiCheatSheet: "Emoji cheat sheet: {0}", + emojiCheatSheet: "Emoji cheat sheet : {0}", "rocket.chat": "Rocket.chat", pushover: "Pushover", pushy: "Pushy", @@ -256,9 +256,9 @@ export default { octopushSMSSender: "Nom de l'envoyer : 3-11 caractères alphanumériques avec espace (a-zA-Z0-9)", "LunaSea Device ID": "LunaSea Device ID", "Apprise URL": "Apprise URL", - "Example:": "Exemple: {0}", - "Read more:": "En savoir plus: {0}", - "Status:": "Status: {0}", + "Example:": "Exemple : {0}", + "Read more:": "En savoir plus : {0}", + "Status:": "Status : {0}", "Read more": "En savoir plus", appriseInstalled: "Apprise est intallé.", appriseNotInstalled: "Apprise n'est pas intallé. {0}", @@ -272,7 +272,7 @@ export default { wayToGetLineChannelToken: "Premièrement accéder à {0}, créez un Provider et un Salon (Messaging API), puis vous pourrez avoir le Token d'accès du salon ainsi que l'Identifiant utilisateur depuis le même menu.", "Icon URL": "Icon URL", aboutIconURL: "Vous pouvez mettre un lien vers l'image dans \"Icon URL\" pour remplacer l'image de profil par défaut. Ne sera pas utilisé si Icon Emoji est défini.", - aboutMattermostChannelName: "Vous pouvez remplacer le salon par défaut que le Webhook utilise en mettant le nom du salon dans le champ \"Channel Name\". Vous aurez besoin de l'activer depuis les paramètres de Mattermost. Ex: #autre-salon", + aboutMattermostChannelName: "Vous pouvez remplacer le salon par défaut que le Webhook utilise en mettant le nom du salon dans le champ \"Channel Name\". Vous aurez besoin de l'activer depuis les paramètres de Mattermost. Ex : #autre-salon", "matrix": "Matrix", promosmsTypeEco: "SMS ECO - Pas cher mais lent et souvent surchargé. Limité uniquement aux déstinataires Polonais.", promosmsTypeFlash: "SMS FLASH - Le message sera automatiquement affiché sur l'appareil du destinataire. Limité uniquement aux déstinataires Polonais.", From 18c5a16783fa9695c0703c0874f2b03de6498b83 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Tue, 12 Oct 2021 11:15:02 +0800 Subject: [PATCH 13/17] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 11f7fbd5e..52bb895f2 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ VPS is sponsored by Uptime Kuma sponsors on [Open Collective](https://opencollec * [Multi Languages](https://github.com/louislam/uptime-kuma/tree/master/src/languages) * Simple Status Page * Ping Chart -* Certicate Info +* Certificate Info ## 🔧 How to Install From 5269dcec601d3b1bdf2f4738f6ee9f69e6e75804 Mon Sep 17 00:00:00 2001 From: Tomas Rohrer Date: Tue, 12 Oct 2021 10:21:03 +0200 Subject: [PATCH 14/17] Fix length In fact, it is 10 min demo :) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 52bb895f2..ef92cf47e 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Try it! https://demo.uptime.kuma.pet -It is a 5 minutes live demo, all data will be deleted after that. The server is located at Tokyo, if you live far away from here, it may affact your experience. I suggest that you should install to try it. +It is a 10 minutes live demo, all data will be deleted after that. The server is located at Tokyo, if you live far away from here, it may affact your experience. I suggest that you should install to try it. VPS is sponsored by Uptime Kuma sponsors on [Open Collective](https://opencollective.com/uptime-kuma)! Thank you so much! From efc78acfeb86f8da259700c5269136a8fde22729 Mon Sep 17 00:00:00 2001 From: Kyungyoon Kim Date: Tue, 12 Oct 2021 18:17:13 +0900 Subject: [PATCH 15/17] Update ko-KR.js --- src/languages/ko-KR.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/languages/ko-KR.js b/src/languages/ko-KR.js index d04ff050a..bf73416f4 100644 --- a/src/languages/ko-KR.js +++ b/src/languages/ko-KR.js @@ -9,11 +9,11 @@ export default { acceptedStatusCodesDescription: "응답 성공으로 간주할 상태 코드를 정해요.", passwordNotMatchMsg: "비밀번호 재입력이 일치하지 않아요.", notificationDescription: "모니터링에 알림을 설정할 수 있어요.", - keywordDescription: "Html 이나 JSON에서 대소문자를 구분해 키워드를 검색해요.", + keywordDescription: "HTML 이나 JSON에서 대소문자를 구분해 키워드를 검색해요.", pauseDashboardHome: "일시 정지", deleteMonitorMsg: "정말 이 모니터링을 삭제할까요?", deleteNotificationMsg: "정말 이 알림을 모든 모니터링에서 삭제할까요?", - resoverserverDescription: "Cloudflare가 기본 서버에요, 원한다면 언제나 다른 resolver 서버로 변경할 수 있어요.", + resoverserverDescription: "Cloudflare가 기본 서버에요, 원한다면 언제나 다른 Resolver 서버로 변경할 수 있어요.", rrtypeDescription: "모니터링할 RR-Type을 선택해요.", pauseMonitorMsg: "정말 이 모니터링을 일시 정지 할까요?", enableDefaultNotificationDescription: "새로 추가하는 모든 모니터링에 이 알림을 기본적으로 활성화해요. 각 모니터에 대해 별도로 알림을 비활성화할 수 있어요.", @@ -190,7 +190,7 @@ export default { wayToGetTelegramChatID: "봇에 메시지를 보내 채팅 ID를 얻고 밑에 URL로 이동해 chat_id를 볼 수 있어요.", "YOUR BOT TOKEN HERE": "YOUR BOT TOKEN HERE", chatIDNotFound: "채팅 ID를 찾을 수 없어요. 먼저 봇에게 메시지를 보내주세요.", - webhook: "웹훅", + webhook: "Webhook", "Post URL": "Post URL", "Content Type": "Content Type", webhookJsonDesc: "{0}은 express.js와 같은 최신 HTTP 서버에 적합해요.", @@ -204,14 +204,14 @@ export default { smtpCC: "참조", smtpBCC: "숨은 참조", discord: "Discord", - "Discord Webhook URL": "Discord 웹훅 URL", + "Discord Webhook URL": "Discord Webhook URL", wayToGetDiscordURL: "서버 설정 -> 연동 -> 웹후크 보기 -> 새 웹후크에서 얻을 수 있어요.", "Bot Display Name": "표시 이름", "Prefix Custom Message": "접두사 메시지", "Hello @everyone is...": "{'@'}everyone 서버 상태 알림이에요...", teams: "Microsoft Teams", - "Webhook URL": "웹훅 URL", - wayToGetTeamsURL: "{0}에서 웹훅을 어떻게 만드는지 알아봐요.", + "Webhook URL": "Webhook URL", + wayToGetTeamsURL: "{0}에서 Webhook을 어떻게 만드는지 알아봐요.", signal: "Signal", Number: "숫자", Recipients: "받는 사람", @@ -226,8 +226,8 @@ export default { "Icon Emoji": "아이콘 이모지", "Channel Name": "채널 이름", "Uptime Kuma URL": "Uptime Kuma URL", - aboutWebhooks: "웹훅에 대한 설명: {0}", - aboutChannelName: "웹훅 채널을 우회하려면 {0} 채널 이름칸에 채널 이름을 입력해주세요. 예: #기타-채널", + aboutWebhooks: "Webhook에 대한 설명: {0}", + aboutChannelName: "Webhook 채널을 우회하려면 {0} 채널 이름칸에 채널 이름을 입력해주세요. 예: #기타-채널", aboutKumaURL: "Uptime Kuma URL칸을 공백으로 두면 기본적으로 Project Github 페이지로 설정해요.", emojiCheatSheet: "이모지 목록 시트: {0}", "rocket.chat": "Rocket.chat", @@ -250,9 +250,9 @@ export default { "SMS Type": "SMS 종류", octopushTypePremium: "프리미엄 (빠름) - 알림 기능에 적합해요)", octopushTypeLowCost: "저렴한 요금 (느림, 가끔 차단될 수 있어요)", - "Check octopush prices": "{0}에서 octopush 가격을 확인할 수 있어요.", + "Check octopush prices": "{0}에서 Octopush 가격을 확인할 수 있어요.", octopushPhoneNumber: "휴대전화 번호 (intl format, eg : +33612345678) ", - octopushSMSSender: "보내는 사람 이름 : 3-11개의 영숫자 및 여백공간 (a-z, A-Z, 0-9", + octopushSMSSender: "보내는 사람 이름 : 3-11개의 영숫자 및 여백공간 (a-z, A-Z, 0-9)", "LunaSea Device ID": "LunaSea 장치 ID", "Apprise URL": "Apprise URL", "Example:": "예: {0}", @@ -268,10 +268,10 @@ export default { "Basic Settings": "Basic Settings 메뉴", "User ID": "사용자 ID", "Messaging API": "Messaging API 메뉴", - wayToGetLineChannelToken: "먼저 {0}에 엑세스하고, 공급자 및 채널 (메시징 API)을 만든 다음, 각 메뉴 밑에 언급된 메뉴에서 채널 액세스 토큰과 사용자 ID를 얻을 수 있어요.", + wayToGetLineChannelToken: "먼저 {0}에 엑세스하고, 공급자 및 채널 (Messaging API)을 만든 다음, 각 메뉴 밑에 언급된 메뉴에서 채널 액세스 토큰과 사용자 ID를 얻을 수 있어요.", "Icon URL": "아이콘 URL", aboutIconURL: "\"Icon URL\"에 사진 링크를 입력해 프로필 사진을 설정할 수 있어요. 아이콘 이모지가 설정되어 있으면 적용되지 않을거에요.", - aboutMattermostChannelName: "채널 이름을 입력하면 웹훅이 게시할 기본 채널을 재설정할 수 있어요. 이 설정은 Mattermost 웹훅 설정에서 활성화해야 해요. 예: #기타-채널", + aboutMattermostChannelName: "채널 이름을 입력하면 Webhook이 게시할 기본 채널을 재설정할 수 있어요. 이 설정은 Mattermost 웹훅 설정에서 활성화해야 해요. 예: #기타-채널", matrix: "매트릭스", promosmsTypeEco: "SMS ECO - 저렴하지만 느리고 가끔 과부하에 걸려요. 폴란드 수신자만 사용할 수 있어요. ", promosmsTypeFlash: "SMS FLASH - 메시지가 받는 사람 장치에 자동으로 표시되어요. 폴란드 수신자만 사용할 수 있어요.", From c1112a32dfce1c953a2f3d7858be6638ac699483 Mon Sep 17 00:00:00 2001 From: Kyungyoon Kim Date: Tue, 12 Oct 2021 18:19:44 +0900 Subject: [PATCH 16/17] Update ko-KR.js --- src/languages/ko-KR.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/languages/ko-KR.js b/src/languages/ko-KR.js index bf73416f4..4bb4c912e 100644 --- a/src/languages/ko-KR.js +++ b/src/languages/ko-KR.js @@ -265,7 +265,7 @@ export default { "Channel access token": "채널 엑세스 토큰", "Line Developers Console": "Line 개발자 콘솔", lineDevConsoleTo: "Line 개발자 콘솔 - {0}", - "Basic Settings": "Basic Settings 메뉴", + "Basic Settings": "기본 설정 메뉴", "User ID": "사용자 ID", "Messaging API": "Messaging API 메뉴", wayToGetLineChannelToken: "먼저 {0}에 엑세스하고, 공급자 및 채널 (Messaging API)을 만든 다음, 각 메뉴 밑에 언급된 메뉴에서 채널 액세스 토큰과 사용자 ID를 얻을 수 있어요.", From 05b691d4c98d1ec5f0df128c0a2a3e7d19dfefe4 Mon Sep 17 00:00:00 2001 From: dhfhfk Date: Tue, 12 Oct 2021 20:39:15 +0900 Subject: [PATCH 17/17] Fix typo --- src/languages/ko-KR.js | 44 +++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/languages/ko-KR.js b/src/languages/ko-KR.js index 4bb4c912e..aef3bf590 100644 --- a/src/languages/ko-KR.js +++ b/src/languages/ko-KR.js @@ -4,8 +4,8 @@ export default { retryCheckEverySecond: "{0}초마다 다시 확인해요.", retriesDescription: "서비스가 중단된 후 알림을 보내기 전 최대 재시도 횟수", ignoreTLSError: "HTTPS 웹사이트에서 TLS/SSL 에러 무시하기", - upsideDownModeDescription: "서버 상태를 반대로 표시해요. 서버가 작동하면 오프라인으로 표시할 거에요.", - maxRedirectDescription: "최대 리다이렉트 횟수에요. 0을 입력하면 리다이렉트를 꺼요.", + upsideDownModeDescription: "서버 상태를 반대로 표시해요. 서버가 작동하면 오프라인으로 표시할 거예요.", + maxRedirectDescription: "최대 리다이렉트 횟수예요. 0을 입력하면 리다이렉트를 꺼요.", acceptedStatusCodesDescription: "응답 성공으로 간주할 상태 코드를 정해요.", passwordNotMatchMsg: "비밀번호 재입력이 일치하지 않아요.", notificationDescription: "모니터링에 알림을 설정할 수 있어요.", @@ -13,9 +13,9 @@ export default { pauseDashboardHome: "일시 정지", deleteMonitorMsg: "정말 이 모니터링을 삭제할까요?", deleteNotificationMsg: "정말 이 알림을 모든 모니터링에서 삭제할까요?", - resoverserverDescription: "Cloudflare가 기본 서버에요, 원한다면 언제나 다른 Resolver 서버로 변경할 수 있어요.", + resoverserverDescription: "Cloudflare가 기본 서버예요, 원한다면 언제나 다른 Resolver 서버로 변경할 수 있어요.", rrtypeDescription: "모니터링할 RR-Type을 선택해요.", - pauseMonitorMsg: "정말 이 모니터링을 일시 정지 할까요?", + pauseMonitorMsg: "정말 이 모니터링을 일시 정지할까요?", enableDefaultNotificationDescription: "새로 추가하는 모든 모니터링에 이 알림을 기본적으로 활성화해요. 각 모니터에 대해 별도로 알림을 비활성화할 수 있어요.", clearEventsMsg: "정말 이 모니터링에 대한 모든 이벤트를 삭제할까요?", clearHeartbeatsMsg: "정말 이 모니터링에 대한 모든 하트비트를 삭제할까요?", @@ -24,8 +24,8 @@ export default { confirmImportMsg: "정말 백업을 가져올까요? 가져오기 옵션을 제대로 설정했는지 다시 확인해주세요.", twoFAVerifyLabel: "토큰을 입력해 2단계 인증이 작동하는지 확인해주세요.", tokenValidSettingsMsg: "토큰이 유효해요! 이제 2단계 인증 설정을 저장할 수 있어요.", - confirmEnableTwoFAMsg: "정말 2단계 인증을 활성화 할까요?", - confirmDisableTwoFAMsg: "정말 2단계 인증을 비활성화 할까요?", + confirmEnableTwoFAMsg: "정말 2단계 인증을 활성화할까요?", + confirmDisableTwoFAMsg: "정말 2단계 인증을 비활성화할까요?", Settings: "설정", Dashboard: "대시보드", "New Update": "새로운 업데이트", @@ -77,7 +77,7 @@ export default { "Accepted Status Codes": "응답 성공 상태 코드", Save: "저장", Notifications: "알림", - "Not available, please setup.": "존재하지 않아요, 새로운거 하나 만드는건 어때요?", + "Not available, please setup.": "존재하지 않아요, 새로운 거 하나 만드는 건 어때요?", "Setup Notification": "알림 설정", Light: "라이트", Dark: "다크", @@ -158,10 +158,10 @@ export default { color: "색상", "value (optional)": "값 (선택)", Gray: "회색", - Red: "빨강색", + Red: "빨간색", Orange: "주황색", Green: "초록색", - Blue: "파랑색", + Blue: "파란색", Indigo: "남색", Purple: "보라색", Pink: "핑크색", @@ -175,9 +175,9 @@ export default { "Partially Degraded Service": "일부 시스템 비정상", "Degraded Service": "모든 시스템 비정상", "Add Group": "그룹 추가", - "Add a monitor": "모니터링 추가r", + "Add a monitor": "모니터링 추가", "Edit Status Page": "상태 페이지 수정", - "Go to Dashboard": "대쉬보드로 가기", + "Go to Dashboard": "대시보드로 가기", "Status Page": "상태 페이지", defaultNotificationName: "내 {notification} 알림 ({number})", here: "여기", @@ -194,7 +194,7 @@ export default { "Post URL": "Post URL", "Content Type": "Content Type", webhookJsonDesc: "{0}은 express.js와 같은 최신 HTTP 서버에 적합해요.", - webhookFormDataDesc: "{multipart}은 PHP에 적합해요. {decodeFunction}를 기준으로 json을 디코딩하면 되어요.", + webhookFormDataDesc: "{multipart}은 PHP에 적합해요. {decodeFunction}를 기준으로 json을 디코딩하면 돼요.", smtp: "Email (SMTP)", secureOptionNone: "없음 / STARTTLS (25, 587)", secureOptionTLS: "TLS (465)", @@ -245,11 +245,11 @@ export default { "Message Title": "메시지 제목", "Notification Sound": "알림음", "More info on:": "자세한 정보: {0}", - pushoverDesc1: "긴급 우선 순위 (2)는 재시도 사이에 기본적으로 30초의 타임아웃이 있고, 1시간 후에 만료되어요.", + pushoverDesc1: "긴급 우선 순위 (2)는 재시도 사이에 기본적으로 30초의 타임아웃이 있고, 1시간 후에 만료돼요.", pushoverDesc2: "다른 장치에 알림을 보내려면 장치칸을 입력해주세요.", "SMS Type": "SMS 종류", octopushTypePremium: "프리미엄 (빠름) - 알림 기능에 적합해요)", - octopushTypeLowCost: "저렴한 요금 (느림, 가끔 차단될 수 있어요)", + octopushTypeLowCost: "저렴한 요금 (느림) - 가끔 차단될 수 있어요)", "Check octopush prices": "{0}에서 Octopush 가격을 확인할 수 있어요.", octopushPhoneNumber: "휴대전화 번호 (intl format, eg : +33612345678) ", octopushSMSSender: "보내는 사람 이름 : 3-11개의 영숫자 및 여백공간 (a-z, A-Z, 0-9)", @@ -259,24 +259,24 @@ export default { "Read more:": "더 보기: {0}", "Status:": "상태: {0}", "Read more": "더 보기", - appriseInstalled: "Apprise가 설치되어있어요..", - appriseNotInstalled: "Apprise 가 설치되어있지 않아요. {0}", + appriseInstalled: "Apprise가 설치되어있어요.", + appriseNotInstalled: "Apprise가 설치되어있지 않아요. {0}", "Access Token": "액세스 토큰", - "Channel access token": "채널 엑세스 토큰", + "Channel access token": "채널 액세스 토큰", "Line Developers Console": "Line 개발자 콘솔", lineDevConsoleTo: "Line 개발자 콘솔 - {0}", "Basic Settings": "기본 설정 메뉴", "User ID": "사용자 ID", "Messaging API": "Messaging API 메뉴", - wayToGetLineChannelToken: "먼저 {0}에 엑세스하고, 공급자 및 채널 (Messaging API)을 만든 다음, 각 메뉴 밑에 언급된 메뉴에서 채널 액세스 토큰과 사용자 ID를 얻을 수 있어요.", + wayToGetLineChannelToken: "먼저 {0}에 액세스하고, 공급자 및 채널 (Messaging API)을 만든 다음, 각 메뉴 밑에 언급된 메뉴에서 채널 액세스 토큰과 사용자 ID를 얻을 수 있어요.", "Icon URL": "아이콘 URL", - aboutIconURL: "\"Icon URL\"에 사진 링크를 입력해 프로필 사진을 설정할 수 있어요. 아이콘 이모지가 설정되어 있으면 적용되지 않을거에요.", + aboutIconURL: "\"Icon URL\"에 사진 링크를 입력해 프로필 사진을 설정할 수 있어요. 아이콘 이모지가 설정되어 있으면 적용되지 않을 거예요.", aboutMattermostChannelName: "채널 이름을 입력하면 Webhook이 게시할 기본 채널을 재설정할 수 있어요. 이 설정은 Mattermost 웹훅 설정에서 활성화해야 해요. 예: #기타-채널", matrix: "매트릭스", promosmsTypeEco: "SMS ECO - 저렴하지만 느리고 가끔 과부하에 걸려요. 폴란드 수신자만 사용할 수 있어요. ", - promosmsTypeFlash: "SMS FLASH - 메시지가 받는 사람 장치에 자동으로 표시되어요. 폴란드 수신자만 사용할 수 있어요.", + promosmsTypeFlash: "SMS FLASH - 메시지가 받는 사람 장치에 자동으로 표시돼요. 폴란드 수신자만 사용할 수 있어요.", promosmsTypeFull: "SMS FULL - SMS 프리미엄 티어, 보내는 사람 이름을 먼저 등록해야 해요. 알림 기능에 적합해요.", - promosmsTypeSpeed: "SMS SPEED - 시스템에서 가장 높은 우선순위에요. 매우 빠르고 신뢰할 수 있지만 비용이 많이 들어요 (SMS 전체 가격의 약 두 배).", + promosmsTypeSpeed: "SMS SPEED - 시스템에서 가장 높은 우선순위예요. 매우 빠르고 신뢰할 수 있지만 비용이 많이 들어요 (SMS 전체 가격의 약 두 배).", promosmsPhoneNumber: "전화 번호 (폴란드 수신자라면 지역번호를 적지 않아도 돼요.)", - promosmsSMSSender: "SMS 보내는 사람 이름 : 미리 등록된 이름 혹은 기본값 중 하나에요: InfoSMS, SMS Info, MaxSMS, INFO, SMS", + promosmsSMSSender: "SMS 보내는 사람 이름 : 미리 등록된 이름 혹은 기본값 중 하나예요: InfoSMS, SMS Info, MaxSMS, INFO, SMS", };