Browse Source

Merge remote-tracking branch 'origin/master'

pull/682/head
Louis Lam 3 years ago
parent
commit
4039c6549e
  1. 9
      README.md
  2. 6
      ecosystem.config.js
  3. 83
      server/notification-providers/feishu.js
  4. 2
      server/notification.js
  5. 15
      src/components/notifications/Feishu.vue
  6. 2
      src/components/notifications/index.js
  7. 1
      src/languages/en.js
  8. 46
      src/languages/fr-FR.js
  9. 66
      src/languages/ko-KR.js
  10. 6
      src/languages/pl.js
  11. 1
      src/languages/zh-CN.js

9
README.md

@ -17,17 +17,20 @@ Try it!
https://demo.uptime.kuma.pet 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! VPS is sponsored by Uptime Kuma sponsors on [Open Collective](https://opencollective.com/uptime-kuma)! Thank you so much!
## โญ Features ## โญ 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. * 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. * 20 seconds interval.
* [Multi Languages](https://github.com/louislam/uptime-kuma/tree/master/src/languages) * [Multi Languages](https://github.com/louislam/uptime-kuma/tree/master/src/languages)
* Simple Status Page
* Ping Chart
* Certificate Info
## ๐Ÿ”ง How to Install ## ๐Ÿ”ง How to Install

6
ecosystem.config.js

@ -0,0 +1,6 @@
module.exports = {
apps: [{
name: "uptime-kuma",
script: "./server/server.js",
}]
}

83
server/notification-providers/feishu.js

@ -0,0 +1,83 @@
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;
try {
if (heartbeatJSON == null) {
let testdata = {
msg_type: "text",
content: {
text: msg,
},
};
await axios.post(feishuWebHookUrl, testdata);
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;

2
server/notification.js

@ -18,6 +18,7 @@ const SMTP = require("./notification-providers/smtp");
const Teams = require("./notification-providers/teams"); const Teams = require("./notification-providers/teams");
const Telegram = require("./notification-providers/telegram"); const Telegram = require("./notification-providers/telegram");
const Webhook = require("./notification-providers/webhook"); const Webhook = require("./notification-providers/webhook");
const Feishu = require("./notification-providers/feishu");
class Notification { class Notification {
@ -35,6 +36,7 @@ class Notification {
new Gotify(), new Gotify(),
new Line(), new Line(),
new LunaSea(), new LunaSea(),
new Feishu(),
new Mattermost(), new Mattermost(),
new Matrix(), new Matrix(),
new Octopush(), new Octopush(),

15
src/components/notifications/Feishu.vue

@ -0,0 +1,15 @@
<template>
<div class="mb-3">
<label for="Feishu-WebHookUrl" class="form-label">{{ $t("Feishu WebHookUrl") }}<span style="color: red;"><sup>*</sup></span></label>
<input id="Feishu-WebHookUrl" v-model="$parent.notification.feishuWebHookUrl" type="text" class="form-control" required>
<div class="form-text">
<p><span style="color: red;"><sup>*</sup></span>{{ $t("Required") }}</p>
</div>
<i18n-t tag="div" keypath="wayToGetTeamsURL" class="form-text">
<a
href="https://www.feishu.cn/hc/zh-CN/articles/360024984973"
target="_blank"
>{{ $t("here") }}</a>
</i18n-t>
</div>
</template>

2
src/components/notifications/index.js

@ -12,6 +12,7 @@ import Pushy from "./Pushy.vue";
import Octopush from "./Octopush.vue"; import Octopush from "./Octopush.vue";
import PromoSMS from "./PromoSMS.vue"; import PromoSMS from "./PromoSMS.vue";
import LunaSea from "./LunaSea.vue"; import LunaSea from "./LunaSea.vue";
import Feishu from "./Feishu.vue";
import Apprise from "./Apprise.vue"; import Apprise from "./Apprise.vue";
import Pushbullet from "./Pushbullet.vue"; import Pushbullet from "./Pushbullet.vue";
import Line from "./Line.vue"; import Line from "./Line.vue";
@ -38,6 +39,7 @@ const NotificationFormList = {
"octopush": Octopush, "octopush": Octopush,
"promosms": PromoSMS, "promosms": PromoSMS,
"lunasea": LunaSea, "lunasea": LunaSea,
"Feishu": Feishu,
"apprise": Apprise, "apprise": Apprise,
"pushbullet": Pushbullet, "pushbullet": Pushbullet,
"line": Line, "line": Line,

1
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).", 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)", 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", promosmsSMSSender: "SMS Sender Name : Pre-registred name or one of defaults: InfoSMS, SMS Info, MaxSMS, INFO, SMS",
"Feishu WebHookUrl": "Feishu WebHookUrl",
// End notification form // End notification form
}; };

46
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.", 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.", 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", 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.", 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 ?", 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 ?", 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 ?", 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.", 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 d'importer la sauvegarde ? Veuillez vous assurer que vous avez sรฉlectionnรฉ la bonne option d'importation.", 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.", 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 ?", confirmEnableTwoFAMsg: "รŠtes-vous sรปr de vouloir activer le 2FA ?",
confirmDisableTwoFAMsg: "รŠtes-vous sรปr de vouloir dรฉsactiver le 2FA ?", confirmDisableTwoFAMsg: "รŠtes-vous sรปr de vouloir dรฉsactiver le 2FA ?",
Settings: "Paramรจtres", Settings: "Paramรจtres",
@ -130,13 +130,13 @@ export default {
"Clear Data": "Effacer les donnรฉes", "Clear Data": "Effacer les donnรฉes",
Events: "Evรฉnements", Events: "Evรฉnements",
Heartbeats: "Vรฉrfications", 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.", 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.", 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.", 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.", alertNoFile: "Veuillez sรฉlectionner un fichier ร  importer.",
alertWrongFileType: "Veuillez sรฉlectionner un fichier JSON ร  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", "Skip existing": "Sauter l'existant",
Overwrite: "Ecraser", Overwrite: "Ecraser",
Options: "Options", Options: "Options",
@ -152,11 +152,11 @@ export default {
Token: "Jeton", Token: "Jeton",
"Show URI": "Afficher l'URI", "Show URI": "Afficher l'URI",
Tags: "ร‰tiquettes", 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 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ร .", "Tag with this value already exist.": "Une รฉtiquette avec cette valeur existe dรฉjร .",
color: "couleur", color: "Couleur",
"value (optional)": "valeur (facultatif)", "value (optional)": "Valeur (facultatif)",
Gray: "Gris", Gray: "Gris",
Red: "Rouge", Red: "Rouge",
Orange: "Orange", Orange: "Orange",
@ -185,17 +185,17 @@ export default {
"Required": "Requis", "Required": "Requis",
"telegram": "Telegram", "telegram": "Telegram",
"Bot Token": "Bot Token", "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", "Chat ID": "Chat ID",
supportTelegramChatID: "Supporte les messages privรฉs / en groupe / l'ID du salon", 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", "YOUR BOT TOKEN HERE": "VOTRE TOKEN BOT ICI",
chatIDNotFound: "ID du salon introuvable, envoyez un message via le bot avant", chatIDNotFound: "ID du salon introuvable, envoyez un message via le bot avant",
"webhook": "Webhook", "webhook": "Webhook",
"Post URL": "Post URL", "Post URL": "Post URL",
"Content Type": "Content Type", "Content Type": "Content Type",
webhookJsonDesc: "{0} est bon pour tous les serveurs HTTP modernes comme express.js", webhookJsonDesc: "{0} est bien/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}", webhookFormDataDesc: "{multipart} est bien/bon pour du PHP, vous avez juste besoin de mettre le json via/depuis {decodeFunction}",
"smtp": "Email (SMTP)", "smtp": "Email (SMTP)",
secureOptionNone: "Aucun / STARTTLS (25, 587)", secureOptionNone: "Aucun / STARTTLS (25, 587)",
secureOptionTLS: "TLS (465)", secureOptionTLS: "TLS (465)",
@ -217,8 +217,8 @@ export default {
"Number": "Numรฉro", "Number": "Numรฉro",
"Recipients": "Destinataires", "Recipients": "Destinataires",
needSignalAPI: "Vous avez besoin d'un client Signal avec l'API REST.", needSignalAPI: "Vous avez besoin d'un client Signal avec l'API REST.",
wayToCheckSignalURL: "Vous pouvez regarder l'URL sur comment le mettre en place:", 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!", signalImportant: "IMPORTANT: Vous ne pouvez pas mixer les groupes et les numรฉros en destinataires !",
"gotify": "Gotify", "gotify": "Gotify",
"Application Token": "Application Token", "Application Token": "Application Token",
"Server URL": "Server URL", "Server URL": "Server URL",
@ -228,9 +228,9 @@ export default {
"Channel Name": "Nom du salon", "Channel Name": "Nom du salon",
"Uptime Kuma URL": "Uptime Kuma URL", "Uptime Kuma URL": "Uptime Kuma URL",
aboutWebhooks: "Plus d'informations sur les Webhooks ici: {0}", 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.", 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", "rocket.chat": "Rocket.chat",
pushover: "Pushover", pushover: "Pushover",
pushy: "Pushy", pushy: "Pushy",
@ -251,14 +251,14 @@ export default {
"SMS Type": "SMS Type", "SMS Type": "SMS Type",
octopushTypePremium: "Premium (Rapide - recommandรฉ pour les alertes)", octopushTypePremium: "Premium (Rapide - recommandรฉ pour les alertes)",
octopushTypeLowCost: "A bas prix (Lent, bloquรฉ de temps en temps par l'opรฉrateur)", 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) ", 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)", octopushSMSSender: "Nom de l'envoyer : 3-11 caractรจres alphanumรฉriques avec espace (a-zA-Z0-9)",
"LunaSea Device ID": "LunaSea Device ID", "LunaSea Device ID": "LunaSea Device ID",
"Apprise URL": "Apprise URL", "Apprise URL": "Apprise URL",
"Example:": "Exemple: {0}", "Example:": "Exemple : {0}",
"Read more:": "En savoir plus: {0}", "Read more:": "En savoir plus : {0}",
"Status:": "Status: {0}", "Status:": "Status : {0}",
"Read more": "En savoir plus", "Read more": "En savoir plus",
appriseInstalled: "Apprise est intallรฉ.", appriseInstalled: "Apprise est intallรฉ.",
appriseNotInstalled: "Apprise n'est pas intallรฉ. {0}", appriseNotInstalled: "Apprise n'est pas intallรฉ. {0}",
@ -272,9 +272,9 @@ 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.", 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", "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.", 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", "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.", 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.", 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).", 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).",

66
src/languages/ko-KR.js

@ -4,18 +4,18 @@ export default {
retryCheckEverySecond: "{0}์ดˆ๋งˆ๋‹ค ๋‹ค์‹œ ํ™•์ธํ•ด์š”.", retryCheckEverySecond: "{0}์ดˆ๋งˆ๋‹ค ๋‹ค์‹œ ํ™•์ธํ•ด์š”.",
retriesDescription: "์„œ๋น„์Šค๊ฐ€ ์ค‘๋‹จ๋œ ํ›„ ์•Œ๋ฆผ์„ ๋ณด๋‚ด๊ธฐ ์ „ ์ตœ๋Œ€ ์žฌ์‹œ๋„ ํšŸ์ˆ˜", retriesDescription: "์„œ๋น„์Šค๊ฐ€ ์ค‘๋‹จ๋œ ํ›„ ์•Œ๋ฆผ์„ ๋ณด๋‚ด๊ธฐ ์ „ ์ตœ๋Œ€ ์žฌ์‹œ๋„ ํšŸ์ˆ˜",
ignoreTLSError: "HTTPS ์›น์‚ฌ์ดํŠธ์—์„œ TLS/SSL ์—๋Ÿฌ ๋ฌด์‹œํ•˜๊ธฐ", ignoreTLSError: "HTTPS ์›น์‚ฌ์ดํŠธ์—์„œ TLS/SSL ์—๋Ÿฌ ๋ฌด์‹œํ•˜๊ธฐ",
upsideDownModeDescription: "์„œ๋ฒ„ ์ƒํƒœ๋ฅผ ๋ฐ˜๋Œ€๋กœ ํ‘œ์‹œํ•ด์š”. ์„œ๋ฒ„๊ฐ€ ์ž‘๋™ํ•˜๋ฉด ์˜คํ”„๋ผ์ธ์œผ๋กœ ํ‘œ์‹œํ•  ๊ฑฐ์—์š”.", upsideDownModeDescription: "์„œ๋ฒ„ ์ƒํƒœ๋ฅผ ๋ฐ˜๋Œ€๋กœ ํ‘œ์‹œํ•ด์š”. ์„œ๋ฒ„๊ฐ€ ์ž‘๋™ํ•˜๋ฉด ์˜คํ”„๋ผ์ธ์œผ๋กœ ํ‘œ์‹œํ•  ๊ฑฐ์˜ˆ์š”.",
maxRedirectDescription: "์ตœ๋Œ€ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ํšŸ์ˆ˜์—์š”. 0์„ ์ž…๋ ฅํ•˜๋ฉด ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋ฅผ ๊บผ์š”.", maxRedirectDescription: "์ตœ๋Œ€ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ํšŸ์ˆ˜์˜ˆ์š”. 0์„ ์ž…๋ ฅํ•˜๋ฉด ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋ฅผ ๊บผ์š”.",
acceptedStatusCodesDescription: "์‘๋‹ต ์„ฑ๊ณต์œผ๋กœ ๊ฐ„์ฃผํ•  ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ์ •ํ•ด์š”.", acceptedStatusCodesDescription: "์‘๋‹ต ์„ฑ๊ณต์œผ๋กœ ๊ฐ„์ฃผํ•  ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ์ •ํ•ด์š”.",
passwordNotMatchMsg: "๋น„๋ฐ€๋ฒˆํ˜ธ ์žฌ์ž…๋ ฅ์ด ์ผ์น˜ํ•˜์ง€ ์•Š์•„์š”.", passwordNotMatchMsg: "๋น„๋ฐ€๋ฒˆํ˜ธ ์žฌ์ž…๋ ฅ์ด ์ผ์น˜ํ•˜์ง€ ์•Š์•„์š”.",
notificationDescription: "๋ชจ๋‹ˆํ„ฐ๋ง์— ์•Œ๋ฆผ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด์š”.", notificationDescription: "๋ชจ๋‹ˆํ„ฐ๋ง์— ์•Œ๋ฆผ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด์š”.",
keywordDescription: "Html ์ด๋‚˜ JSON์—์„œ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•ด ํ‚ค์›Œ๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•ด์š”.", keywordDescription: "HTML ์ด๋‚˜ JSON์—์„œ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•ด ํ‚ค์›Œ๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•ด์š”.",
pauseDashboardHome: "์ผ์‹œ ์ •์ง€", pauseDashboardHome: "์ผ์‹œ ์ •์ง€",
deleteMonitorMsg: "์ •๋ง ์ด ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์‚ญ์ œํ• ๊นŒ์š”?", deleteMonitorMsg: "์ •๋ง ์ด ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์‚ญ์ œํ• ๊นŒ์š”?",
deleteNotificationMsg: "์ •๋ง ์ด ์•Œ๋ฆผ์„ ๋ชจ๋“  ๋ชจ๋‹ˆํ„ฐ๋ง์—์„œ ์‚ญ์ œํ• ๊นŒ์š”?", deleteNotificationMsg: "์ •๋ง ์ด ์•Œ๋ฆผ์„ ๋ชจ๋“  ๋ชจ๋‹ˆํ„ฐ๋ง์—์„œ ์‚ญ์ œํ• ๊นŒ์š”?",
resoverserverDescription: "Cloudflare๊ฐ€ ๊ธฐ๋ณธ ์„œ๋ฒ„์—์š”, ์›ํ•œ๋‹ค๋ฉด ์–ธ์ œ๋‚˜ ๋‹ค๋ฅธ resolver ์„œ๋ฒ„๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์–ด์š”.", resoverserverDescription: "Cloudflare๊ฐ€ ๊ธฐ๋ณธ ์„œ๋ฒ„์˜ˆ์š”, ์›ํ•œ๋‹ค๋ฉด ์–ธ์ œ๋‚˜ ๋‹ค๋ฅธ Resolver ์„œ๋ฒ„๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์–ด์š”.",
rrtypeDescription: "๋ชจ๋‹ˆํ„ฐ๋งํ•  RR-Type์„ ์„ ํƒํ•ด์š”.", rrtypeDescription: "๋ชจ๋‹ˆํ„ฐ๋งํ•  RR-Type์„ ์„ ํƒํ•ด์š”.",
pauseMonitorMsg: "์ •๋ง ์ด ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ผ์‹œ ์ •์ง€ ํ• ๊นŒ์š”?", pauseMonitorMsg: "์ •๋ง ์ด ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ผ์‹œ ์ •์ง€ํ• ๊นŒ์š”?",
enableDefaultNotificationDescription: "์ƒˆ๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ๋ชจ๋“  ๋ชจ๋‹ˆํ„ฐ๋ง์— ์ด ์•Œ๋ฆผ์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”ํ•ด์š”. ๊ฐ ๋ชจ๋‹ˆํ„ฐ์— ๋Œ€ํ•ด ๋ณ„๋„๋กœ ์•Œ๋ฆผ์„ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์–ด์š”.", enableDefaultNotificationDescription: "์ƒˆ๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ๋ชจ๋“  ๋ชจ๋‹ˆํ„ฐ๋ง์— ์ด ์•Œ๋ฆผ์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”ํ•ด์š”. ๊ฐ ๋ชจ๋‹ˆํ„ฐ์— ๋Œ€ํ•ด ๋ณ„๋„๋กœ ์•Œ๋ฆผ์„ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์–ด์š”.",
clearEventsMsg: "์ •๋ง ์ด ๋ชจ๋‹ˆํ„ฐ๋ง์— ๋Œ€ํ•œ ๋ชจ๋“  ์ด๋ฒคํŠธ๋ฅผ ์‚ญ์ œํ• ๊นŒ์š”?", clearEventsMsg: "์ •๋ง ์ด ๋ชจ๋‹ˆํ„ฐ๋ง์— ๋Œ€ํ•œ ๋ชจ๋“  ์ด๋ฒคํŠธ๋ฅผ ์‚ญ์ œํ• ๊นŒ์š”?",
clearHeartbeatsMsg: "์ •๋ง ์ด ๋ชจ๋‹ˆํ„ฐ๋ง์— ๋Œ€ํ•œ ๋ชจ๋“  ํ•˜ํŠธ๋น„ํŠธ๋ฅผ ์‚ญ์ œํ• ๊นŒ์š”?", clearHeartbeatsMsg: "์ •๋ง ์ด ๋ชจ๋‹ˆํ„ฐ๋ง์— ๋Œ€ํ•œ ๋ชจ๋“  ํ•˜ํŠธ๋น„ํŠธ๋ฅผ ์‚ญ์ œํ• ๊นŒ์š”?",
@ -24,8 +24,8 @@ export default {
confirmImportMsg: "์ •๋ง ๋ฐฑ์—…์„ ๊ฐ€์ ธ์˜ฌ๊นŒ์š”? ๊ฐ€์ ธ์˜ค๊ธฐ ์˜ต์…˜์„ ์ œ๋Œ€๋กœ ์„ค์ •ํ–ˆ๋Š”์ง€ ๋‹ค์‹œ ํ™•์ธํ•ด์ฃผ์„ธ์š”.", confirmImportMsg: "์ •๋ง ๋ฐฑ์—…์„ ๊ฐ€์ ธ์˜ฌ๊นŒ์š”? ๊ฐ€์ ธ์˜ค๊ธฐ ์˜ต์…˜์„ ์ œ๋Œ€๋กœ ์„ค์ •ํ–ˆ๋Š”์ง€ ๋‹ค์‹œ ํ™•์ธํ•ด์ฃผ์„ธ์š”.",
twoFAVerifyLabel: "ํ† ํฐ์„ ์ž…๋ ฅํ•ด 2๋‹จ๊ณ„ ์ธ์ฆ์ด ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์„ธ์š”.", twoFAVerifyLabel: "ํ† ํฐ์„ ์ž…๋ ฅํ•ด 2๋‹จ๊ณ„ ์ธ์ฆ์ด ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์„ธ์š”.",
tokenValidSettingsMsg: "ํ† ํฐ์ด ์œ ํšจํ•ด์š”! ์ด์ œ 2๋‹จ๊ณ„ ์ธ์ฆ ์„ค์ •์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์–ด์š”.", tokenValidSettingsMsg: "ํ† ํฐ์ด ์œ ํšจํ•ด์š”! ์ด์ œ 2๋‹จ๊ณ„ ์ธ์ฆ ์„ค์ •์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์–ด์š”.",
confirmEnableTwoFAMsg: "์ •๋ง 2๋‹จ๊ณ„ ์ธ์ฆ์„ ํ™œ์„ฑํ™” ํ• ๊นŒ์š”?", confirmEnableTwoFAMsg: "์ •๋ง 2๋‹จ๊ณ„ ์ธ์ฆ์„ ํ™œ์„ฑํ™”ํ• ๊นŒ์š”?",
confirmDisableTwoFAMsg: "์ •๋ง 2๋‹จ๊ณ„ ์ธ์ฆ์„ ๋น„ํ™œ์„ฑํ™” ํ• ๊นŒ์š”?", confirmDisableTwoFAMsg: "์ •๋ง 2๋‹จ๊ณ„ ์ธ์ฆ์„ ๋น„ํ™œ์„ฑํ™”ํ• ๊นŒ์š”?",
Settings: "์„ค์ •", Settings: "์„ค์ •",
Dashboard: "๋Œ€์‹œ๋ณด๋“œ", Dashboard: "๋Œ€์‹œ๋ณด๋“œ",
"New Update": "์ƒˆ๋กœ์šด ์—…๋ฐ์ดํŠธ", "New Update": "์ƒˆ๋กœ์šด ์—…๋ฐ์ดํŠธ",
@ -77,7 +77,7 @@ export default {
"Accepted Status Codes": "์‘๋‹ต ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ", "Accepted Status Codes": "์‘๋‹ต ์„ฑ๊ณต ์ƒํƒœ ์ฝ”๋“œ",
Save: "์ €์žฅ", Save: "์ €์žฅ",
Notifications: "์•Œ๋ฆผ", Notifications: "์•Œ๋ฆผ",
"Not available, please setup.": "์กด์žฌํ•˜์ง€ ์•Š์•„์š”, ์ƒˆ๋กœ์šด๊ฑฐ ํ•˜๋‚˜ ๋งŒ๋“œ๋Š”๊ฑด ์–ด๋•Œ์š”?", "Not available, please setup.": "์กด์žฌํ•˜์ง€ ์•Š์•„์š”, ์ƒˆ๋กœ์šด ๊ฑฐ ํ•˜๋‚˜ ๋งŒ๋“œ๋Š” ๊ฑด ์–ด๋•Œ์š”?",
"Setup Notification": "์•Œ๋ฆผ ์„ค์ •", "Setup Notification": "์•Œ๋ฆผ ์„ค์ •",
Light: "๋ผ์ดํŠธ", Light: "๋ผ์ดํŠธ",
Dark: "๋‹คํฌ", Dark: "๋‹คํฌ",
@ -158,10 +158,10 @@ export default {
color: "์ƒ‰์ƒ", color: "์ƒ‰์ƒ",
"value (optional)": "๊ฐ’ (์„ ํƒ)", "value (optional)": "๊ฐ’ (์„ ํƒ)",
Gray: "ํšŒ์ƒ‰", Gray: "ํšŒ์ƒ‰",
Red: "๋นจ๊ฐ•์ƒ‰", Red: "๋นจ๊ฐ„์ƒ‰",
Orange: "์ฃผํ™ฉ์ƒ‰", Orange: "์ฃผํ™ฉ์ƒ‰",
Green: "์ดˆ๋ก์ƒ‰", Green: "์ดˆ๋ก์ƒ‰",
Blue: "ํŒŒ๋ž‘์ƒ‰", Blue: "ํŒŒ๋ž€์ƒ‰",
Indigo: "๋‚จ์ƒ‰", Indigo: "๋‚จ์ƒ‰",
Purple: "๋ณด๋ผ์ƒ‰", Purple: "๋ณด๋ผ์ƒ‰",
Pink: "ํ•‘ํฌ์ƒ‰", Pink: "ํ•‘ํฌ์ƒ‰",
@ -175,9 +175,9 @@ export default {
"Partially Degraded Service": "์ผ๋ถ€ ์‹œ์Šคํ…œ ๋น„์ •์ƒ", "Partially Degraded Service": "์ผ๋ถ€ ์‹œ์Šคํ…œ ๋น„์ •์ƒ",
"Degraded Service": "๋ชจ๋“  ์‹œ์Šคํ…œ ๋น„์ •์ƒ", "Degraded Service": "๋ชจ๋“  ์‹œ์Šคํ…œ ๋น„์ •์ƒ",
"Add Group": "๊ทธ๋ฃน ์ถ”๊ฐ€", "Add Group": "๊ทธ๋ฃน ์ถ”๊ฐ€",
"Add a monitor": "๋ชจ๋‹ˆํ„ฐ๋ง ์ถ”๊ฐ€r", "Add a monitor": "๋ชจ๋‹ˆํ„ฐ๋ง ์ถ”๊ฐ€",
"Edit Status Page": "์ƒํƒœ ํŽ˜์ด์ง€ ์ˆ˜์ •", "Edit Status Page": "์ƒํƒœ ํŽ˜์ด์ง€ ์ˆ˜์ •",
"Go to Dashboard": "๋Œ€์‰ฌ๋ณด๋“œ๋กœ ๊ฐ€๊ธฐ", "Go to Dashboard": "๋Œ€์‹œ๋ณด๋“œ๋กœ ๊ฐ€๊ธฐ",
"Status Page": "์ƒํƒœ ํŽ˜์ด์ง€", "Status Page": "์ƒํƒœ ํŽ˜์ด์ง€",
defaultNotificationName: "๋‚ด {notification} ์•Œ๋ฆผ ({number})", defaultNotificationName: "๋‚ด {notification} ์•Œ๋ฆผ ({number})",
here: "์—ฌ๊ธฐ", here: "์—ฌ๊ธฐ",
@ -190,11 +190,11 @@ export default {
wayToGetTelegramChatID: "๋ด‡์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด ์ฑ„ํŒ… ID๋ฅผ ์–ป๊ณ  ๋ฐ‘์— URL๋กœ ์ด๋™ํ•ด chat_id๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.", wayToGetTelegramChatID: "๋ด‡์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด ์ฑ„ํŒ… ID๋ฅผ ์–ป๊ณ  ๋ฐ‘์— URL๋กœ ์ด๋™ํ•ด chat_id๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.",
"YOUR BOT TOKEN HERE": "YOUR BOT TOKEN HERE", "YOUR BOT TOKEN HERE": "YOUR BOT TOKEN HERE",
chatIDNotFound: "์ฑ„ํŒ… ID๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์–ด์š”. ๋จผ์ € ๋ด‡์—๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด์ฃผ์„ธ์š”.", chatIDNotFound: "์ฑ„ํŒ… ID๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์–ด์š”. ๋จผ์ € ๋ด‡์—๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด์ฃผ์„ธ์š”.",
webhook: "์›นํ›…", webhook: "Webhook",
"Post URL": "Post URL", "Post URL": "Post URL",
"Content Type": "Content Type", "Content Type": "Content Type",
webhookJsonDesc: "{0}์€ express.js์™€ ๊ฐ™์€ ์ตœ์‹  HTTP ์„œ๋ฒ„์— ์ ํ•ฉํ•ด์š”.", webhookJsonDesc: "{0}์€ express.js์™€ ๊ฐ™์€ ์ตœ์‹  HTTP ์„œ๋ฒ„์— ์ ํ•ฉํ•ด์š”.",
webhookFormDataDesc: "{multipart}์€ PHP์— ์ ํ•ฉํ•ด์š”. {decodeFunction}๋ฅผ ๊ธฐ์ค€์œผ๋กœ json์„ ๋””์ฝ”๋”ฉํ•˜๋ฉด ๋˜์–ด์š”.", webhookFormDataDesc: "{multipart}์€ PHP์— ์ ํ•ฉํ•ด์š”. {decodeFunction}๋ฅผ ๊ธฐ์ค€์œผ๋กœ json์„ ๋””์ฝ”๋”ฉํ•˜๋ฉด ๋ผ์š”.",
smtp: "Email (SMTP)", smtp: "Email (SMTP)",
secureOptionNone: "์—†์Œ / STARTTLS (25, 587)", secureOptionNone: "์—†์Œ / STARTTLS (25, 587)",
secureOptionTLS: "TLS (465)", secureOptionTLS: "TLS (465)",
@ -204,14 +204,14 @@ export default {
smtpCC: "์ฐธ์กฐ", smtpCC: "์ฐธ์กฐ",
smtpBCC: "์ˆจ์€ ์ฐธ์กฐ", smtpBCC: "์ˆจ์€ ์ฐธ์กฐ",
discord: "Discord", discord: "Discord",
"Discord Webhook URL": "Discord ์›นํ›… URL", "Discord Webhook URL": "Discord Webhook URL",
wayToGetDiscordURL: "์„œ๋ฒ„ ์„ค์ • -> ์—ฐ๋™ -> ์›นํ›„ํฌ ๋ณด๊ธฐ -> ์ƒˆ ์›นํ›„ํฌ์—์„œ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.", wayToGetDiscordURL: "์„œ๋ฒ„ ์„ค์ • -> ์—ฐ๋™ -> ์›นํ›„ํฌ ๋ณด๊ธฐ -> ์ƒˆ ์›นํ›„ํฌ์—์„œ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.",
"Bot Display Name": "ํ‘œ์‹œ ์ด๋ฆ„", "Bot Display Name": "ํ‘œ์‹œ ์ด๋ฆ„",
"Prefix Custom Message": "์ ‘๋‘์‚ฌ ๋ฉ”์‹œ์ง€", "Prefix Custom Message": "์ ‘๋‘์‚ฌ ๋ฉ”์‹œ์ง€",
"Hello @everyone is...": "{'@'}everyone ์„œ๋ฒ„ ์ƒํƒœ ์•Œ๋ฆผ์ด์—์š”...", "Hello @everyone is...": "{'@'}everyone ์„œ๋ฒ„ ์ƒํƒœ ์•Œ๋ฆผ์ด์—์š”...",
teams: "Microsoft Teams", teams: "Microsoft Teams",
"Webhook URL": "์›นํ›… URL", "Webhook URL": "Webhook URL",
wayToGetTeamsURL: "{0}์—์„œ ์›นํ›…์„ ์–ด๋–ป๊ฒŒ ๋งŒ๋“œ๋Š”์ง€ ์•Œ์•„๋ด์š”.", wayToGetTeamsURL: "{0}์—์„œ Webhook์„ ์–ด๋–ป๊ฒŒ ๋งŒ๋“œ๋Š”์ง€ ์•Œ์•„๋ด์š”.",
signal: "Signal", signal: "Signal",
Number: "์ˆซ์ž", Number: "์ˆซ์ž",
Recipients: "๋ฐ›๋Š” ์‚ฌ๋žŒ", Recipients: "๋ฐ›๋Š” ์‚ฌ๋žŒ",
@ -226,8 +226,8 @@ export default {
"Icon Emoji": "์•„์ด์ฝ˜ ์ด๋ชจ์ง€", "Icon Emoji": "์•„์ด์ฝ˜ ์ด๋ชจ์ง€",
"Channel Name": "์ฑ„๋„ ์ด๋ฆ„", "Channel Name": "์ฑ„๋„ ์ด๋ฆ„",
"Uptime Kuma URL": "Uptime Kuma URL", "Uptime Kuma URL": "Uptime Kuma URL",
aboutWebhooks: "์›นํ›…์— ๋Œ€ํ•œ ์„ค๋ช…: {0}", aboutWebhooks: "Webhook์— ๋Œ€ํ•œ ์„ค๋ช…: {0}",
aboutChannelName: "์›นํ›… ์ฑ„๋„์„ ์šฐํšŒํ•˜๋ ค๋ฉด {0} ์ฑ„๋„ ์ด๋ฆ„์นธ์— ์ฑ„๋„ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”. ์˜ˆ: #๊ธฐํƒ€-์ฑ„๋„", aboutChannelName: "Webhook ์ฑ„๋„์„ ์šฐํšŒํ•˜๋ ค๋ฉด {0} ์ฑ„๋„ ์ด๋ฆ„์นธ์— ์ฑ„๋„ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”. ์˜ˆ: #๊ธฐํƒ€-์ฑ„๋„",
aboutKumaURL: "Uptime Kuma URL์นธ์„ ๊ณต๋ฐฑ์œผ๋กœ ๋‘๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ Project Github ํŽ˜์ด์ง€๋กœ ์„ค์ •ํ•ด์š”.", aboutKumaURL: "Uptime Kuma URL์นธ์„ ๊ณต๋ฐฑ์œผ๋กœ ๋‘๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ Project Github ํŽ˜์ด์ง€๋กœ ์„ค์ •ํ•ด์š”.",
emojiCheatSheet: "์ด๋ชจ์ง€ ๋ชฉ๋ก ์‹œํŠธ: {0}", emojiCheatSheet: "์ด๋ชจ์ง€ ๋ชฉ๋ก ์‹œํŠธ: {0}",
"rocket.chat": "Rocket.chat", "rocket.chat": "Rocket.chat",
@ -245,38 +245,38 @@ export default {
"Message Title": "๋ฉ”์‹œ์ง€ ์ œ๋ชฉ", "Message Title": "๋ฉ”์‹œ์ง€ ์ œ๋ชฉ",
"Notification Sound": "์•Œ๋ฆผ์Œ", "Notification Sound": "์•Œ๋ฆผ์Œ",
"More info on:": "์ž์„ธํ•œ ์ •๋ณด: {0}", "More info on:": "์ž์„ธํ•œ ์ •๋ณด: {0}",
pushoverDesc1: "๊ธด๊ธ‰ ์šฐ์„  ์ˆœ์œ„ (2)๋Š” ์žฌ์‹œ๋„ ์‚ฌ์ด์— ๊ธฐ๋ณธ์ ์œผ๋กœ 30์ดˆ์˜ ํƒ€์ž„์•„์›ƒ์ด ์žˆ๊ณ , 1์‹œ๊ฐ„ ํ›„์— ๋งŒ๋ฃŒ๋˜์–ด์š”.", pushoverDesc1: "๊ธด๊ธ‰ ์šฐ์„  ์ˆœ์œ„ (2)๋Š” ์žฌ์‹œ๋„ ์‚ฌ์ด์— ๊ธฐ๋ณธ์ ์œผ๋กœ 30์ดˆ์˜ ํƒ€์ž„์•„์›ƒ์ด ์žˆ๊ณ , 1์‹œ๊ฐ„ ํ›„์— ๋งŒ๋ฃŒ๋ผ์š”.",
pushoverDesc2: "๋‹ค๋ฅธ ์žฅ์น˜์— ์•Œ๋ฆผ์„ ๋ณด๋‚ด๋ ค๋ฉด ์žฅ์น˜์นธ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.", pushoverDesc2: "๋‹ค๋ฅธ ์žฅ์น˜์— ์•Œ๋ฆผ์„ ๋ณด๋‚ด๋ ค๋ฉด ์žฅ์น˜์นธ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.",
"SMS Type": "SMS ์ข…๋ฅ˜", "SMS Type": "SMS ์ข…๋ฅ˜",
octopushTypePremium: "ํ”„๋ฆฌ๋ฏธ์—„ (๋น ๋ฆ„) - ์•Œ๋ฆผ ๊ธฐ๋Šฅ์— ์ ํ•ฉํ•ด์š”)", octopushTypePremium: "ํ”„๋ฆฌ๋ฏธ์—„ (๋น ๋ฆ„) - ์•Œ๋ฆผ ๊ธฐ๋Šฅ์— ์ ํ•ฉํ•ด์š”)",
octopushTypeLowCost: "์ €๋ ดํ•œ ์š”๊ธˆ (๋Š๋ฆผ, ๊ฐ€๋” ์ฐจ๋‹จ๋  ์ˆ˜ ์žˆ์–ด์š”)", octopushTypeLowCost: "์ €๋ ดํ•œ ์š”๊ธˆ (๋Š๋ฆผ) - ๊ฐ€๋” ์ฐจ๋‹จ๋  ์ˆ˜ ์žˆ์–ด์š”)",
"Check octopush prices": "{0}์—์„œ octopush ๊ฐ€๊ฒฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.", "Check octopush prices": "{0}์—์„œ Octopush ๊ฐ€๊ฒฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.",
octopushPhoneNumber: "ํœด๋Œ€์ „ํ™” ๋ฒˆํ˜ธ (intl format, eg : +33612345678) ", 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", "LunaSea Device ID": "LunaSea ์žฅ์น˜ ID",
"Apprise URL": "Apprise URL", "Apprise URL": "Apprise URL",
"Example:": "์˜ˆ: {0}", "Example:": "์˜ˆ: {0}",
"Read more:": "๋” ๋ณด๊ธฐ: {0}", "Read more:": "๋” ๋ณด๊ธฐ: {0}",
"Status:": "์ƒํƒœ: {0}", "Status:": "์ƒํƒœ: {0}",
"Read more": "๋” ๋ณด๊ธฐ", "Read more": "๋” ๋ณด๊ธฐ",
appriseInstalled: "Apprise๊ฐ€ ์„ค์น˜๋˜์–ด์žˆ์–ด์š”..", appriseInstalled: "Apprise๊ฐ€ ์„ค์น˜๋˜์–ด์žˆ์–ด์š”.",
appriseNotInstalled: "Apprise ๊ฐ€ ์„ค์น˜๋˜์–ด์žˆ์ง€ ์•Š์•„์š”. {0}", appriseNotInstalled: "Apprise๊ฐ€ ์„ค์น˜๋˜์–ด์žˆ์ง€ ์•Š์•„์š”. {0}",
"Access Token": "์•ก์„ธ์Šค ํ† ํฐ", "Access Token": "์•ก์„ธ์Šค ํ† ํฐ",
"Channel access token": "์ฑ„๋„ ์—‘์„ธ์Šค ํ† ํฐ", "Channel access token": "์ฑ„๋„ ์•ก์„ธ์Šค ํ† ํฐ",
"Line Developers Console": "Line ๊ฐœ๋ฐœ์ž ์ฝ˜์†”", "Line Developers Console": "Line ๊ฐœ๋ฐœ์ž ์ฝ˜์†”",
lineDevConsoleTo: "Line ๊ฐœ๋ฐœ์ž ์ฝ˜์†” - {0}", lineDevConsoleTo: "Line ๊ฐœ๋ฐœ์ž ์ฝ˜์†” - {0}",
"Basic Settings": "Basic Settings ๋ฉ”๋‰ด", "Basic Settings": "๊ธฐ๋ณธ ์„ค์ • ๋ฉ”๋‰ด",
"User ID": "์‚ฌ์šฉ์ž ID", "User ID": "์‚ฌ์šฉ์ž ID",
"Messaging API": "Messaging API ๋ฉ”๋‰ด", "Messaging API": "Messaging API ๋ฉ”๋‰ด",
wayToGetLineChannelToken: "๋จผ์ € {0}์— ์—‘์„ธ์Šคํ•˜๊ณ , ๊ณต๊ธ‰์ž ๋ฐ ์ฑ„๋„ (๋ฉ”์‹œ์ง• API)์„ ๋งŒ๋“  ๋‹ค์Œ, ๊ฐ ๋ฉ”๋‰ด ๋ฐ‘์— ์–ธ๊ธ‰๋œ ๋ฉ”๋‰ด์—์„œ ์ฑ„๋„ ์•ก์„ธ์Šค ํ† ํฐ๊ณผ ์‚ฌ์šฉ์ž ID๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.", wayToGetLineChannelToken: "๋จผ์ € {0}์— ์•ก์„ธ์Šคํ•˜๊ณ , ๊ณต๊ธ‰์ž ๋ฐ ์ฑ„๋„ (Messaging API)์„ ๋งŒ๋“  ๋‹ค์Œ, ๊ฐ ๋ฉ”๋‰ด ๋ฐ‘์— ์–ธ๊ธ‰๋œ ๋ฉ”๋‰ด์—์„œ ์ฑ„๋„ ์•ก์„ธ์Šค ํ† ํฐ๊ณผ ์‚ฌ์šฉ์ž ID๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.",
"Icon URL": "์•„์ด์ฝ˜ URL", "Icon URL": "์•„์ด์ฝ˜ URL",
aboutIconURL: "\"Icon URL\"์— ์‚ฌ์ง„ ๋งํฌ๋ฅผ ์ž…๋ ฅํ•ด ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด์š”. ์•„์ด์ฝ˜ ์ด๋ชจ์ง€๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉด ์ ์šฉ๋˜์ง€ ์•Š์„๊ฑฐ์—์š”.", aboutIconURL: "\"Icon URL\"์— ์‚ฌ์ง„ ๋งํฌ๋ฅผ ์ž…๋ ฅํ•ด ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด์š”. ์•„์ด์ฝ˜ ์ด๋ชจ์ง€๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉด ์ ์šฉ๋˜์ง€ ์•Š์„ ๊ฑฐ์˜ˆ์š”.",
aboutMattermostChannelName: "์ฑ„๋„ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๋ฉด ์›นํ›…์ด ๊ฒŒ์‹œํ•  ๊ธฐ๋ณธ ์ฑ„๋„์„ ์žฌ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด์š”. ์ด ์„ค์ •์€ Mattermost ์›นํ›… ์„ค์ •์—์„œ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ด์š”. ์˜ˆ: #๊ธฐํƒ€-์ฑ„๋„", aboutMattermostChannelName: "์ฑ„๋„ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๋ฉด Webhook์ด ๊ฒŒ์‹œํ•  ๊ธฐ๋ณธ ์ฑ„๋„์„ ์žฌ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด์š”. ์ด ์„ค์ •์€ Mattermost ์›นํ›… ์„ค์ •์—์„œ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ด์š”. ์˜ˆ: #๊ธฐํƒ€-์ฑ„๋„",
matrix: "๋งคํŠธ๋ฆญ์Šค", matrix: "๋งคํŠธ๋ฆญ์Šค",
promosmsTypeEco: "SMS ECO - ์ €๋ ดํ•˜์ง€๋งŒ ๋Š๋ฆฌ๊ณ  ๊ฐ€๋” ๊ณผ๋ถ€ํ•˜์— ๊ฑธ๋ ค์š”. ํด๋ž€๋“œ ์ˆ˜์‹ ์ž๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”. ", promosmsTypeEco: "SMS ECO - ์ €๋ ดํ•˜์ง€๋งŒ ๋Š๋ฆฌ๊ณ  ๊ฐ€๋” ๊ณผ๋ถ€ํ•˜์— ๊ฑธ๋ ค์š”. ํด๋ž€๋“œ ์ˆ˜์‹ ์ž๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”. ",
promosmsTypeFlash: "SMS FLASH - ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฐ›๋Š” ์‚ฌ๋žŒ ์žฅ์น˜์— ์ž๋™์œผ๋กœ ํ‘œ์‹œ๋˜์–ด์š”. ํด๋ž€๋“œ ์ˆ˜์‹ ์ž๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”.", promosmsTypeFlash: "SMS FLASH - ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฐ›๋Š” ์‚ฌ๋žŒ ์žฅ์น˜์— ์ž๋™์œผ๋กœ ํ‘œ์‹œ๋ผ์š”. ํด๋ž€๋“œ ์ˆ˜์‹ ์ž๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”.",
promosmsTypeFull: "SMS FULL - SMS ํ”„๋ฆฌ๋ฏธ์—„ ํ‹ฐ์–ด, ๋ณด๋‚ด๋Š” ์‚ฌ๋žŒ ์ด๋ฆ„์„ ๋จผ์ € ๋“ฑ๋กํ•ด์•ผ ํ•ด์š”. ์•Œ๋ฆผ ๊ธฐ๋Šฅ์— ์ ํ•ฉํ•ด์š”.", promosmsTypeFull: "SMS FULL - SMS ํ”„๋ฆฌ๋ฏธ์—„ ํ‹ฐ์–ด, ๋ณด๋‚ด๋Š” ์‚ฌ๋žŒ ์ด๋ฆ„์„ ๋จผ์ € ๋“ฑ๋กํ•ด์•ผ ํ•ด์š”. ์•Œ๋ฆผ ๊ธฐ๋Šฅ์— ์ ํ•ฉํ•ด์š”.",
promosmsTypeSpeed: "SMS SPEED - ์‹œ์Šคํ…œ์—์„œ ๊ฐ€์žฅ ๋†’์€ ์šฐ์„ ์ˆœ์œ„์—์š”. ๋งค์šฐ ๋น ๋ฅด๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋น„์šฉ์ด ๋งŽ์ด ๋“ค์–ด์š” (SMS ์ „์ฒด ๊ฐ€๊ฒฉ์˜ ์•ฝ ๋‘ ๋ฐฐ).", promosmsTypeSpeed: "SMS SPEED - ์‹œ์Šคํ…œ์—์„œ ๊ฐ€์žฅ ๋†’์€ ์šฐ์„ ์ˆœ์œ„์˜ˆ์š”. ๋งค์šฐ ๋น ๋ฅด๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋น„์šฉ์ด ๋งŽ์ด ๋“ค์–ด์š” (SMS ์ „์ฒด ๊ฐ€๊ฒฉ์˜ ์•ฝ ๋‘ ๋ฐฐ).",
promosmsPhoneNumber: "์ „ํ™” ๋ฒˆํ˜ธ (ํด๋ž€๋“œ ์ˆ˜์‹ ์ž๋ผ๋ฉด ์ง€์—ญ๋ฒˆํ˜ธ๋ฅผ ์ ์ง€ ์•Š์•„๋„ ๋ผ์š”.)", promosmsPhoneNumber: "์ „ํ™” ๋ฒˆํ˜ธ (ํด๋ž€๋“œ ์ˆ˜์‹ ์ž๋ผ๋ฉด ์ง€์—ญ๋ฒˆํ˜ธ๋ฅผ ์ ์ง€ ์•Š์•„๋„ ๋ผ์š”.)",
promosmsSMSSender: "SMS ๋ณด๋‚ด๋Š” ์‚ฌ๋žŒ ์ด๋ฆ„ : ๋ฏธ๋ฆฌ ๋“ฑ๋ก๋œ ์ด๋ฆ„ ํ˜น์€ ๊ธฐ๋ณธ๊ฐ’ ์ค‘ ํ•˜๋‚˜์—์š”: InfoSMS, SMS Info, MaxSMS, INFO, SMS", promosmsSMSSender: "SMS ๋ณด๋‚ด๋Š” ์‚ฌ๋žŒ ์ด๋ฆ„ : ๋ฏธ๋ฆฌ ๋“ฑ๋ก๋œ ์ด๋ฆ„ ํ˜น์€ ๊ธฐ๋ณธ๊ฐ’ ์ค‘ ํ•˜๋‚˜์˜ˆ์š”: InfoSMS, SMS Info, MaxSMS, INFO, SMS",
}; };

6
src/languages/pl.js

@ -10,7 +10,7 @@ export default {
passwordNotMatchMsg: "Powtรณrzone hasล‚o nie pasuje.", passwordNotMatchMsg: "Powtรณrzone hasล‚o nie pasuje.",
notificationDescription: "Proszฤ™ przypisaฤ‡ powiadomienie do monitora(รณw), aby dziaล‚aล‚o.", 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.", 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?", deleteMonitorMsg: "Czy na pewno chcesz usunฤ…ฤ‡ ten monitor?",
deleteNotificationMsg: "Czy na pewno chcesz usunฤ…ฤ‡ to powiadomienie dla wszystkich monitorรณw?", 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.", resoverserverDescription: "Cloudflare jest domyล›lnym serwerem, moลผesz zmieniฤ‡ serwer resolver w kaลผdej chwili.",
@ -43,7 +43,7 @@ export default {
Down: "Offline", Down: "Offline",
Pending: "Oczekuje", Pending: "Oczekuje",
Unknown: "Nieznane", Unknown: "Nieznane",
Pause: "Wstrzymane", Pause: "Wstrzymaj",
Name: "Nazwa", Name: "Nazwa",
Status: "Status", Status: "Status",
DateTime: "Data i godzina", DateTime: "Data i godzina",
@ -100,7 +100,7 @@ export default {
Logout: "Wyloguj", Logout: "Wyloguj",
Leave: "Zostaw", Leave: "Zostaw",
"I understand, please disable": "Rozumiem, proszฤ™ wyล‚ฤ…czyฤ‡", "I understand, please disable": "Rozumiem, proszฤ™ wyล‚ฤ…czyฤ‡",
Confirm: "Potiwerdลบ", Confirm: "Potwierdลบ",
Yes: "Tak", Yes: "Tak",
No: "Nie", No: "Nie",
Username: "Nazwa uลผytkownika", Username: "Nazwa uลผytkownika",

1
src/languages/zh-CN.js

@ -198,4 +198,5 @@ export default {
pushbullet: "Pushbullet", pushbullet: "Pushbullet",
line: "Line Messenger", line: "Line Messenger",
mattermost: "Mattermost", mattermost: "Mattermost",
"Feishu WebHookUrl": "้ฃžไนฆ WebHook ๅœฐๅ€",
}; };

Loadingโ€ฆ
Cancel
Save