From 74f18a2b3f25e904acd0edb4fbeeb42bae97ee47 Mon Sep 17 00:00:00 2001 From: SiderealArt Date: Wed, 8 Dec 2021 17:23:13 +0800 Subject: [PATCH 001/106] update zh-TW translation --- src/languages/zh-TW.js | 48 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/src/languages/zh-TW.js b/src/languages/zh-TW.js index 337d9422..0e905260 100644 --- a/src/languages/zh-TW.js +++ b/src/languages/zh-TW.js @@ -14,7 +14,7 @@ export default { deleteMonitorMsg: "您確定要刪除此監測器嗎?", deleteNotificationMsg: "您確定要為所有監測器刪除此通知嗎?", resoverserverDescription: "Cloudflare 為預設伺服器。您可以隨時更換解析伺服器。", - rrtypeDescription: "選擇您想要監測的資源記錄", + rrtypeDescription: "選擇您想要監測的資源記錄類型", pauseMonitorMsg: "您確定要暫停嗎?", enableDefaultNotificationDescription: "預設情況下,新監測器將啟用此通知。您仍可分別停用各監測器的通知。", clearEventsMsg: "您確定要刪除此監測器的所有事件嗎?", @@ -307,4 +307,50 @@ export default { "Showing {from} to {to} of {count} records": "正在顯示 {count} 項記錄中的 {from} 至 {to} 項", steamApiKeyDescription: "若要監測 Steam 遊戲伺服器,您將需要 Steam Web-API 金鑰。您可以在此註冊您的 API 金鑰:", "Current User": "目前使用者", + recent: "最近", + Done: "完成", + Info: "資訊", + Security: "安全性", + "Steam API Key": "Steam API 金鑰", + "Shrink Database": "壓縮資料庫", + "Pick a RR-Type...": "選擇資源記錄類型...", + "Pick Accepted Status Codes...": "選擇可接受的狀態碼...", + Default: "預設", + "HTTP Options": "HTTP 選項", + "Create Incident": "建立事件", + Title: "標題", + Content: "內容", + Style: "樣式", + info: "資訊", + warning: "警告", + danger: "危險", + primary: "主要", + light: "淺色", + dark: "暗色", + Post: "發佈", + "Please input title and content": "請輸入標題及內容", + Created: "建立", + "Last Updated": "最後更新", + Unpin: "取消釘選", + "Switch to Light Theme": "切換至淺色佈景主題", + "Switch to Dark Theme": "切換至深色佈景主題", + "Show Tags": "顯示標籤", + "Hide Tags": "隱藏標籤", + Description: "說明", + "No monitors available.": "沒有可用的監測器。", + "Add one": "新增一個", + "No Monitors": "無監測器", + "Add one": "新增一個", + "Untitled Group": "未命名群組", + Services: "服務", + Discard: "捨棄", + Cancel: "取消", + "Powered by": "技術支援", + shrinkDatabaseDescription: "觸發 SQLite 的資料庫清理 (VACUUM)。如果您的資料庫是在 1.10.0 版本後建立,AUTO_VACUUM 已自動啟用,則無需此操作。", + serwersms: "SerwerSMS.pl", + serwersmsAPIUser: "API 使用者名稱 (包括 webapi_ 前綴)", + serwersmsAPIPassword: "API 密碼", + serwersmsPhoneNumber: "電話號碼", + serwersmsSenderName: "SMS 寄件人名稱 (由客戶入口網站註冊)", + "stackfield": "Stackfield", }; From 9473cd6919ababdc73f7e772080fdd8912a39836 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20S=C3=B8rensen?= Date: Wed, 8 Dec 2021 11:14:10 +0100 Subject: [PATCH 002/106] Update da-DK.js translation --- src/languages/da-DK.js | 554 ++++++++++++++++++++++++++--------------- 1 file changed, 354 insertions(+), 200 deletions(-) diff --git a/src/languages/da-DK.js b/src/languages/da-DK.js index 66e7cb3d..22a2c369 100644 --- a/src/languages/da-DK.js +++ b/src/languages/da-DK.js @@ -1,201 +1,355 @@ export default { - languageName: "Danish (Danmark)", - Settings: "Indstillinger", - Dashboard: "Dashboard", - "New Update": "Opdatering tilgængelig", - Language: "Sprog", - Appearance: "Udseende", - Theme: "Tema", - General: "Generelt", - Version: "Version", - "Check Update On GitHub": "Tjek efter opdateringer på Github", - List: "Liste", - Add: "Tilføj", - "Add New Monitor": "Tilføj ny Overvåger", - "Quick Stats": "Oversigt", - Up: "Aktiv", - Down: "Inaktiv", - Pending: "Afventer", - Unknown: "Ukendt", - Pause: "Stands", - pauseDashboardHome: "Standset", - Name: "Navn", - Status: "Status", - DateTime: "Dato / Tid", - Message: "Beskeder", - "No important events": "Inden vigtige begivenheder", - Resume: "Fortsæt", - Edit: "Rediger", - Delete: "Slet", - Current: "Aktuelt", - Uptime: "Oppetid", - "Cert Exp.": "Certifikatets udløb", - days: "Dage", - day: "Dag", - "-day": "-Dage", - hour: "Timer", - "-hour": "-Timer", - checkEverySecond: "Tjek hvert {0} sekund", - Response: "Respons", - Ping: "Ping", - "Monitor Type": "Overvåger Type", - Keyword: "Nøgleord", - "Friendly Name": "Visningsnavn", - URL: "URL", - Hostname: "Hostname", - Port: "Port", - "Heartbeat Interval": "Taktinterval", - Retries: "Gentagelser", - retriesDescription: "Maksimalt antal gentagelser, før tjenesten markeres som inaktiv og sender en meddelelse.", - Advanced: "Avanceret", - ignoreTLSError: "Ignorere TLS/SSL web fejl", - "Upside Down Mode": "Omvendt tilstand", - upsideDownModeDescription: "Håndter tilstanden omvendt. Hvis tjenesten er tilgængelig, vises den som inaktiv.", - "Max. Redirects": "Maks. Omdirigeringer", - maxRedirectDescription: "Maksimalt antal omdirigeringer, der skal følges. Indstil til 0 for at deaktivere omdirigeringer.", - "Accepted Status Codes": "Tilladte HTTP-Statuskoder", - acceptedStatusCodesDescription: "Vælg de statuskoder, der stadig skal vurderes som vellykkede.", - Save: "Gem", - Notifications: "Underretninger", - "Not available, please setup.": "Ikke tilgængelige, opsæt venligst.", - "Setup Notification": "Opsæt underretninger", - Light: "Lys", - Dark: "Mørk", - Auto: "Auto", - "Theme - Heartbeat Bar": "Tema - Tidslinje", - Normal: "Normal", - Bottom: "Bunden", - None: "Ingen", - Timezone: "Tidszone", - "Search Engine Visibility": "Søgemaskine synlighed", - "Allow indexing": "Tillad indeksering", - "Discourage search engines from indexing site": "Frabed søgemaskiner at indeksere webstedet", - "Change Password": "Ændre adgangskode", - "Current Password": "Nuværende adgangskode", - "New Password": "Ny adgangskode", - "Repeat New Password": "Gentag den nye adgangskode", - passwordNotMatchMsg: "Adgangskoderne er ikke ens.", - "Update Password": "Opdater adgangskode", - "Disable Auth": "Deaktiver autentificering", - "Enable Auth": "Aktiver autentificering", - Logout: "Log ud", - notificationDescription: "Tildel underretninger til Overvåger(e), så denne funktion træder i kraft.", - Leave: "Verlassen", - "I understand, please disable": "Jeg er indforstået, deaktiver venligst", - Confirm: "Bekræft", - Yes: "Ja", - No: "Nej", - Username: "Brugernavn", - Password: "Adgangskode", - "Remember me": "Husk mig", - Login: "Log ind", - "No Monitors, please": "Ingen Overvågere", - "add one": "tilføj en", - "Notification Type": "Underretningstype", - Email: "E-Mail", - Test: "Test", - "Certificate Info": "Certifikatoplysninger", - keywordDescription: "Søg efter et søgeord i almindelig HTML- eller JSON -output. Bemærk, at der skelnes mellem store og små bogstaver.", - deleteMonitorMsg: "Er du sikker på, at du vil slette overvågeren?", - deleteNotificationMsg: "Er du sikker på, at du vil slette denne underretning for alle overvågere? ", - resoverserverDescription: "Cloudflare er standardserveren, den kan til enhver tid ændres.", - "Resolver Server": "Navne-server", - rrtypeDescription: "Vælg den type RR, du vil overvåge.", - "Last Result": "Seneste resultat", - pauseMonitorMsg: "Er du sikker på, at du vil standse Overvågeren?", - "Create your admin account": "Opret din administratorkonto", - "Repeat Password": "Gentag adgangskoden", - "Resource Record Type": "Resource Record Type", - respTime: "Resp. Tid (ms)", - notAvailableShort: "N/A", - Create: "Opret", - clearEventsMsg: "Er du sikker på vil slette alle events for denne Overvåger?", - clearHeartbeatsMsg: "Er du sikker på vil slette alle heartbeats for denne Overvåger?", - confirmClearStatisticsMsg: "Vil du helt sikkert slette ALLE statistikker?", - "Clear Data": "Ryd Data", - Events: "Events", - Heartbeats: "Heartbeats", - "Auto Get": "Auto-hent", - enableDefaultNotificationDescription: "For hver ny overvåger aktiveres denne underretning som standard. Du kan stadig deaktivere underretningen separat for hver skærm.", - "Default enabled": "Standard aktiveret", - "Also apply to existing monitors": "Anvend også på eksisterende overvågere", - Export: "Eksport", - Import: "Import", - backupDescription: "Du kan sikkerhedskopiere alle Overvågere og alle underretninger til en JSON-fil.", - backupDescription2: "PS: Historik og hændelsesdata er ikke inkluderet.", - 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", - 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?", - "Apply on all existing monitors": "Anvend på alle eksisterende overvågere", - "Verify Token": "Verificere Token", - "Setup 2FA": "Opsæt 2FA", - "Enable 2FA": "Aktiver 2FA", - "Disable 2FA": "Deaktiver 2FA", - "2FA Settings": "2FA Indstillinger", - "Two Factor Authentication": "To-Faktor Autentificering", - Active: "Aktive", - Inactive: "Inaktive", - Token: "Token", - "Show URI": "Vis URI", - "Clear all statistics": "Ryd alle Statistikker", - 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": "Heartbeat Gentagelsesinterval", - "Import Backup": "Importer Backup", - "Export Backup": "Eksporter Backup", - "Skip existing": "Spring over eksisterende", - Overwrite: "Overskriv", - Options: "Valgmuligheder", - "Keep both": "Behold begge", - Tags: "Tags", - "Add New below or Select...": "Tilføj Nyt nedenfor eller Vælg ...", - "Tag with this name already exist.": "Et Tag med dette navn findes allerede.", - "Tag with this value already exist.": "Et Tag med denne værdi findes allerede.", - color: "farve", - "value (optional)": "værdi (valgfri)", - Gray: "Grå", - Red: "Rød", - Orange: "Orange", - Green: "Grøn", - Blue: "Blå", - Indigo: "Indigo", - Purple: "Lilla", - Pink: "Pink", - "Search...": "Søg...", - "Avg. Ping": "Gns. Ping", - "Avg. Response": "Gns. Respons", - "Entry Page": "Entry Side", - statusPageNothing: "Intet her, tilføj venligst en Gruppe eller en Overvåger.", - "No Services": "Ingen Tjenester", - "All Systems Operational": "Alle Systemer i Drift", - "Partially Degraded Service": "Delvist Forringet Service", - "Degraded Service": "Forringet Service", - "Add Group": "Tilføj Gruppe", - "Add a monitor": "Tilføj en Overvåger", - "Edit Status Page": "Rediger Statusside", - "Go to Dashboard": "Gå til Dashboard", - "Status Page": "Status Page", - telegram: "Telegram", - webhook: "Webhook", - smtp: "Email (SMTP)", - discord: "Discord", - teams: "Microsoft Teams", - signal: "Signal", - gotify: "Gotify", - slack: "Slack", - "rocket.chat": "Rocket.chat", - pushover: "Pushover", - pushy: "Pushy", - octopush: "Octopush", - promosms: "PromoSMS", - lunasea: "LunaSea", - apprise: "Apprise (Support 50+ Notification services)", - pushbullet: "Pushbullet", - line: "Line Messenger", - mattermost: "Mattermost", -}; + languageName: 'Danish (Danmark)', + Settings: 'Indstillinger', + Dashboard: 'Betjeningspanel', + 'New Update': 'Opdatering tilgængelig', + Language: 'Sprog', + Appearance: 'Udseende', + Theme: 'Tema', + General: 'Generelt', + Version: 'Version', + 'Check Update On GitHub': 'Tjek efter opdateringer på Github', + List: 'Liste', + Add: 'Tilføj', + 'Add New Monitor': 'Tilføj ny Overvåger', + 'Quick Stats': 'Oversigt', + Up: 'Aktiv', + Down: 'Inaktiv', + Pending: 'Afventer', + Unknown: 'Ukendt', + Pause: 'Stands', + pauseDashboardHome: 'Standset', + Name: 'Navn', + Status: 'Status', + DateTime: 'Dato / Tid', + Message: 'Beskeder', + 'No important events': 'Inden vigtige begivenheder', + Resume: 'Fortsæt', + Edit: 'Rediger', + Delete: 'Slet', + Current: 'Aktuelt', + Uptime: 'Oppetid', + 'Cert Exp.': 'Certifikatets udløb', + days: 'Dage', + day: 'Dag', + '-day': '-Dage', + hour: 'Timer', + '-hour': '-Timer', + checkEverySecond: 'Tjek hvert {0} sekund', + Response: 'Respons', + Ping: 'Ping', + 'Monitor Type': 'Overvåger Type', + Keyword: 'Nøgleord', + 'Friendly Name': 'Visningsnavn', + URL: 'URL', + Hostname: 'Hostname', + Port: 'Port', + 'Heartbeat Interval': 'Taktinterval', + Retries: 'Gentagelser', + retriesDescription: 'Maksimalt antal gentagelser, før tjenesten markeres som inaktiv og sender en meddelelse.', + Advanced: 'Avanceret', + ignoreTLSError: 'Ignorere TLS/SSL web fejl', + 'Upside Down Mode': 'Omvendt tilstand', + upsideDownModeDescription: 'Håndter tilstanden omvendt. Hvis tjenesten er tilgængelig, vises den som inaktiv.', + 'Max. Redirects': 'Maks. Omdirigeringer', + maxRedirectDescription: 'Maksimalt antal omdirigeringer, der skal følges. Indstil til 0 for at deaktivere omdirigeringer.', + 'Accepted Status Codes': 'Tilladte HTTP-Statuskoder', + acceptedStatusCodesDescription: 'Vælg de statuskoder, der stadig skal vurderes som vellykkede.', + Save: 'Gem', + Notifications: 'Underretninger', + 'Not available, please setup.': 'Ikke tilgængelige, opsæt venligst.', + 'Setup Notification': 'Opsæt underretninger', + Light: 'Lys', + Dark: 'Mørk', + Auto: 'Auto', + 'Theme - Heartbeat Bar': 'Tema - Tidslinje', + Normal: 'Normal', + Bottom: 'Bunden', + None: 'Ingen', + Timezone: 'Tidszone', + 'Search Engine Visibility': 'Søgemaskine synlighed', + 'Allow indexing': 'Tillad indeksering', + 'Discourage search engines from indexing site': 'Frabed søgemaskiner at indeksere webstedet', + 'Change Password': 'Ændre adgangskode', + 'Current Password': 'Nuværende adgangskode', + 'New Password': 'Ny adgangskode', + 'Repeat New Password': 'Gentag den nye adgangskode', + passwordNotMatchMsg: 'Adgangskoderne er ikke ens.', + 'Update Password': 'Opdater adgangskode', + 'Disable Auth': 'Deaktiver autentificering', + 'Enable Auth': 'Aktiver autentificering', + Logout: 'Log ud', + notificationDescription: 'Tildel underretninger til Overvåger(e), så denne funktion træder i kraft.', + Leave: 'Verlassen', + 'I understand, please disable': 'Jeg er indforstået, deaktiver venligst', + Confirm: 'Bekræft', + Yes: 'Ja', + No: 'Nej', + Username: 'Brugernavn', + Password: 'Adgangskode', + 'Remember me': 'Husk mig', + Login: 'Log ind', + 'No Monitors, please': 'Ingen Overvågere', + 'add one': 'tilføj en', + 'Notification Type': 'Underretningstype', + Email: 'E-Mail', + Test: 'Test', + 'Certificate Info': 'Certifikatoplysninger', + keywordDescription: 'Søg efter et søgeord i almindelig HTML- eller JSON -output. Bemærk, at der skelnes mellem store og små bogstaver.', + deleteMonitorMsg: 'Er du sikker på, at du vil slette overvågeren?', + deleteNotificationMsg: 'Er du sikker på, at du vil slette denne underretning for alle overvågere? ', + resoverserverDescription: 'Cloudflare er standardserveren, den kan til enhver tid ændres.', + 'Resolver Server': 'Navne-server', + rrtypeDescription: 'Vælg den type RR, du vil overvåge.', + 'Last Result': 'Seneste resultat', + pauseMonitorMsg: 'Er du sikker på, at du vil standse Overvågeren?', + 'Create your admin account': 'Opret din administratorkonto', + 'Repeat Password': 'Gentag adgangskoden', + 'Resource Record Type': 'Resource Record Type', + respTime: 'Resp. Tid (ms)', + notAvailableShort: 'N/A', + Create: 'Opret', + clearEventsMsg: 'Er du sikker på vil slette alle events for denne Overvåger?', + clearHeartbeatsMsg: 'Er du sikker på vil slette alle hjerteslag for denne Overvåger?', + confirmClearStatisticsMsg: 'Vil du helt sikkert slette ALLE statistikker?', + 'Clear Data': 'Ryd Data', + Events: 'Events', + Heartbeats: 'Hjerteslag', + 'Auto Get': 'Auto-hent', + enableDefaultNotificationDescription: 'For hver ny overvåger aktiveres denne underretning som standard. Du kan stadig deaktivere underretningen separat for hver skærm.', + 'Default enabled': 'Standard aktiveret', + 'Also apply to existing monitors': 'Anvend også på eksisterende overvågere', + Export: 'Eksport', + Import: 'Import', + backupDescription: 'Du kan sikkerhedskopiere alle Overvågere og alle underretninger til en JSON-fil.', + backupDescription2: 'PS: Historik og hændelsesdata er ikke inkluderet.', + 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', + 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?', + 'Apply on all existing monitors': 'Anvend på alle eksisterende overvågere', + 'Verify Token': 'Verificere Token', + 'Setup 2FA': 'Opsæt 2FA', + 'Enable 2FA': 'Aktiver 2FA', + 'Disable 2FA': 'Deaktiver 2FA', + '2FA Settings': '2FA Indstillinger', + 'Two Factor Authentication': 'To-Faktor Autentificering', + Active: 'Aktive', + Inactive: 'Inaktive', + Token: 'Token', + 'Show URI': 'Vis URI', + 'Clear all statistics': 'Ryd alle Statistikker', + 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', + 'Import Backup': 'Importer Backup', + 'Export Backup': 'Eksporter Backup', + 'Skip existing': 'Spring over eksisterende', + Overwrite: 'Overskriv', + Options: 'Valgmuligheder', + 'Keep both': 'Behold begge', + Tags: 'Etiketter', + 'Add New below or Select...': 'Tilføj Nyt nedenfor eller Vælg ...', + 'Tag with this name already exist.': 'Et Tag med dette navn findes allerede.', + 'Tag with this value already exist.': 'Et Tag med denne værdi findes allerede.', + color: 'farve', + 'value (optional)': 'værdi (valgfri)', + Gray: 'Grå', + Red: 'Rød', + Orange: 'Orange', + Green: 'Grøn', + Blue: 'Blå', + Indigo: 'Indigo', + Purple: 'Lilla', + Pink: 'Pink', + 'Search...': 'Søg...', + 'Avg. Ping': 'Gns. Ping', + 'Avg. Response': 'Gns. Respons', + 'Entry Page': 'Entry Side', + statusPageNothing: 'Intet her, tilføj venligst en Gruppe eller en Overvåger.', + 'No Services': 'Ingen Tjenester', + 'All Systems Operational': 'Alle Systemer i Drift', + 'Partially Degraded Service': 'Delvist Forringet Service', + 'Degraded Service': 'Forringet Service', + 'Add Group': 'Tilføj Gruppe', + 'Add a monitor': 'Tilføj en Overvåger', + 'Edit Status Page': 'Rediger Statusside', + 'Go to Dashboard': 'Gå til Betjeningspanel', + 'Status Page': 'Statusside', + telegram: 'Telegram', + webhook: 'Webhook', + smtp: 'Email (SMTP)', + discord: 'Discord', + teams: 'Microsoft Teams', + signal: 'Signal', + gotify: 'Gotify', + slack: 'Slack', + 'rocket.chat': 'Rocket.chat', + pushover: 'Pushover', + pushy: 'Pushy', + octopush: 'Octopush', + promosms: 'PromoSMS', + lunasea: 'LunaSea', + apprise: 'Apprise (Understøtter 50+ Notifikationstjenester)', + pushbullet: 'Pushbullet', + line: 'Line Messenger', + mattermost: 'Mattermost', + 'Primary Base URL': 'Primær Basis-URL', + 'Push URL': 'Push URL', + needPushEvery: 'Du bør kalde denne webadresse hvert {0} sekund.', + pushOptionalParams: 'Valgfrie parametre: {0}', + defaultNotificationName: 'Min {notification} Advarsel ({number})', + here: 'her', + Required: 'Påkrævet', + 'Bot Token': 'Bot Token', + wayToGetTelegramToken: 'Du kan få et token fra {0}.', + 'Chat ID': 'Chat ID', + supportTelegramChatID: "Support Direct Chat / Group / Channel's Chat ID", + wayToGetTelegramChatID: "Du kan få dit chat-ID ved at sende en besked til bot'en og gå til denne URL for at se chat_id'et:", + 'YOUR BOT TOKEN HERE': 'DIT BOT TOKEN HER', + chatIDNotFound: 'Chat-ID blev ikke fundet; send venligst en besked til denne bot først ', + 'Post URL': 'Post URL', + 'Content Type': 'Indholdstype', + webhookJsonDesc: '{0} er god til alle moderne HTTP-servere som f.eks Express.js', + webhookFormDataDesc: "{multipart} er god til PHP. JSON'en skal parses med {decodeFunction}", + secureOptionNone: 'Ingen / STARTTLS (25, 587)', + secureOptionTLS: 'TLS (465)', + 'Ignore TLS Error': 'Ignorer TLS-fejl', + 'From Email': 'Afsender Email', + emailCustomSubject: 'Brugerdefineret Emne', + 'To Email': 'Modtager Email', + smtpCC: 'CC', + smtpBCC: 'BCC', + 'Discord Webhook URL': 'Discord Webhook URL', + wayToGetDiscordURL: 'Du kan få dette ved at gå til Serverindstillinger -> Integrationer -> Opret webhook ', + 'Bot Display Name': 'Bot Visningsnavn', + 'Prefix Custom Message': 'Præfiks Brugerdefineret Besked', + 'Hello @everyone is...': "Hello {'@'}everyone is...", + 'Webhook URL': 'Webhook URL', + wayToGetTeamsURL: 'Du kan lære, hvordan du laver en webhook URL {0}.', + Number: 'Nummer', + Recipients: 'Modtagere', + needSignalAPI: 'Du skal have en Signal-klient med REST API.', + wayToCheckSignalURL: 'Du kan tjekke denne URL for at se, hvordan du konfigurerer en:', + signalImportant: 'VIGTIGT: Du kan ikke blande grupper og numre i modtagere!', + 'Application Token': 'Program Token', + 'Server URL': 'Server URL', + Priority: 'Prioritet', + 'Icon Emoji': 'Icon Emoji', + 'Channel Name': 'Kanalnavn', + 'Uptime Kuma URL': 'Uptime Kuma URL', + aboutWebhooks: 'Mere info om Webhooks på: {0}', + aboutChannelName: 'Indtast kanalnavnet i {0} Kanalnavn feltet, hvis du vil omgå Webhook-kanalen. Eks: #anden-kanal', + aboutKumaURL: 'Hvis du efterlader Uptime Kuma URL-feltet tomt, vil det som standard gå til projektets GitHub-siden.', + emojiCheatSheet: 'Emoji cheat sheet: {0}', + clicksendsms: 'ClickSend SMS', + 'User Key': 'Bruger-Nøgle', + Device: 'Enhed', + 'Message Title': 'Besked Titel', + 'Notification Sound': 'Notifikationslyd', + 'More info on:': 'Mere info på: {0}', + pushoverDesc1: 'Nødprioritet (2) har som standard 30 sekunders timeout mellem genforsøg og udløber efter 1 time.', + pushoverDesc2: 'Hvis du vil sende meddelelser til forskellige enheder, skal du udfylde feltet Enhed.', + 'SMS Type': 'SMS Type', + octopushTypePremium: 'Premium (Hurtig - anbefales til advarsel)', + octopushTypeLowCost: 'Lavpris (Langsom - nogle gange blokeret af operatøren)', + checkPrice: 'Tjek {0} priser:', + apiCredentials: 'API legitimationsoplysninger', + octopushLegacyHint: 'Bruger du den ældre version af Octopush (2011-2020) eller den nye version?', + 'Check octopush prices': 'Tjek octopush priser {0}.', + octopushPhoneNumber: 'Telefonnummer (intl format, f.eks : +4512345678) ', + octopushSMSSender: 'SMS Afsender Navn : 3-11 alfanumeriske tegn og mellemrum (a-zA-Z0-9)', + 'LunaSea Device ID': 'LunaSea Enhed-ID', + 'Apprise URL': 'Apprise URL', + 'Example:': 'Eksempel: {0}', + 'Read more:': 'Læs mere: {0}', + 'Status:': 'Status: {0}', + 'Read more': 'Læs mere', + appriseInstalled: 'Apprise er installeret.', + appriseNotInstalled: 'Apprise er ikke installeret. {0}', + 'Access Token': 'Access Token', + 'Channel access token': 'kanaladgangstoken', + 'Line Developers Console': 'Line Udviklerkonsol', + lineDevConsoleTo: 'Line Udviklerkonsol - {0}', + 'Basic Settings': 'Basisindstillinger', + 'User ID': 'Bruger-ID', + 'Messaging API': 'Messaging 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.', + aboutMattermostChannelName: 'Du kan tilsidesætte standardkanalen, som Webhoo\'en sender til ved at indtaste kanalnavnet i feltet "Kanalnavn". Dette skal aktiveres i Mattermost Webhook-indstillingerne. Eks: #anden-kanal', + matrix: 'Matrix', + promosmsTypeEco: 'SMS ECO - billig, men langsom og ofte overbelastet. Begrænset kun til polske modtagere.', + promosmsTypeFlash: 'SMS FLASH - Beskeden vises automatisk på modtagerenheden. Begrænset kun til polske modtagere.', + promosmsTypeFull: 'SMS FULL - Premium-niveau af SMS, Du kan bruge dit "Sender Name" (Du skal først registrere navn). Pålidelig til advarsler.', + promosmsTypeSpeed: 'SMS SPEED - Højeste prioritet i systemet. Meget hurtig og pålidelig, men dyr (ca. to gange af SMS FULL pris).', + promosmsPhoneNumber: 'Telefonnummer (polske numre behøver ikke angive områdenumre)', + promosmsSMSSender: 'SMS Sender Name : Forudregistreret navn eller en af standarderne: InfoSMS, SMS Info, MaxSMS, INFO, SMS', + 'Feishu WebHookUrl': 'Feishu WebHookURL', + matrixHomeserverURL: 'Hjemmeserver-URL (med http(s):// og eventuel port)', + 'Internal Room Id': 'Intern Rum-ID', + matrixDesc1: 'Du kan finde det interne rum-ID ved at se i det avancerede afsnit af rumindstillingerne i din Matrix-klient. Det skulle ligne !QMdRCpUIfLwsfjxye6:home.server.', + matrixDesc2: "Det anbefales stærkt, at du opretter en ny bruger og ikke bruger din egen Matrix-brugers adgangstoken, da det giver fuld adgang til din konto og alle de rum, du har tilsluttet dig. I stedet skal du oprette en ny bruger og kun invitere den til det rum, du vil modtage meddelelsen i. Du kan få adgangstokenet ved at køre {0}", + Method: 'Metode', + Body: 'Body', + Headers: 'Headers', + PushUrl: 'Push URL', + HeadersInvalidFormat: '"request headers"-erne er ikke gyldige JSON: ', + BodyInvalidFormat: '"request body"-en er ikke gyldige JSON: ', + 'Monitor History': 'Overvåger Historik', + clearDataOlderThan: 'Gem overvågningshistorikdata i {0} dage.', + PasswordsDoNotMatch: 'Adgangskoderne stemmer ikke overens.', + records: 'forekomster', + 'One record': 'Én forekomst', + steamApiKeyDescription: 'For at overvåge en Steam Game Server skal du bruge en Steam Web-API nøgle. Du kan registrere din API-nøgle her: ', + 'Current User': 'Nuværende Bruger', + recent: 'Seneste', + Done: 'Færdig', + Info: 'Info', + Security: 'Sikkerhed', + 'Steam API Key': 'Steam API-nøgle', + 'Shrink Database': 'Krymp Database', + 'Pick a RR-Type...': 'Vælg en RR-Type...', + 'Pick Accepted Status Codes...': 'Vælg Accepterede Statuskoder...', + Default: 'Standard', + 'HTTP Options': 'HTTP Valgmuligheder', + 'Create Incident': 'Opret Annoncering', + Title: 'Titel', + Content: 'Indhold', + Style: 'Type', + info: 'info', + warning: 'advarsel', + danger: 'fare', + primary: 'primær', + light: 'lys', + dark: 'mørk', + Post: 'Udgiv', + 'Please input title and content': 'Indtast venligst titel og indhold', + Created: 'Oprettet', + 'Last Updated': 'Sidst Opdateret', + Unpin: 'Frigør', + 'Switch to Light Theme': 'Skift til Lys Tema', + 'Switch to Dark Theme': 'Skift til Mørkt Tema', + 'Show Tags': 'Vis Etiketter', + 'Hide Tags': 'Skjul Etiketter', + Description: 'Beskrivelse', + 'No monitors available.': 'No monitors available.', + 'Add one': 'Tilføj en', + 'No Monitors': 'Ingen Overvågere', + 'Untitled Group': 'Unavngivet Gruppe', + Services: 'Tjenester', + Discard: 'Kassér', + Cancel: 'Annullér', + 'Powered by': 'Drevet af', + shrinkDatabaseDescription: 'Udfør database VACUUM for SQLite. Hvis din database er oprettet efter 1.10.0, er AUTO_VACUUM allerede aktiveret, og denne handling er ikke nødvendig.', + serwersms: 'SerwerSMS.pl', + serwersmsAPIUser: 'API Brugernavn (inkl. webapi_ prefix)', + serwersmsAPIPassword: 'API Adgangskode', + serwersmsPhoneNumber: 'Telefonnummer', + serwersmsSenderName: 'SMS Afsender Navn (registreret via kundeportal)', + stackfield: 'Stackfield' +} \ No newline at end of file From 2ef2a42e872d23a7287168302b8c994b5728106b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20S=C3=B8rensen?= Date: Wed, 8 Dec 2021 11:35:55 +0100 Subject: [PATCH 003/106] Fixed string enclosure as suggested by update-language-files --- src/languages/da-DK.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/languages/da-DK.js b/src/languages/da-DK.js index 22a2c369..04593d09 100644 --- a/src/languages/da-DK.js +++ b/src/languages/da-DK.js @@ -281,7 +281,7 @@ export default { 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.', - aboutMattermostChannelName: 'Du kan tilsidesætte standardkanalen, som Webhoo\'en sender til ved at indtaste kanalnavnet i feltet "Kanalnavn". Dette skal aktiveres i Mattermost Webhook-indstillingerne. Eks: #anden-kanal', + aboutMattermostChannelName: `Du kan tilsidesætte standardkanalen, som Webhoo'en sender til ved at indtaste kanalnavnet i feltet "Kanalnavn". Dette skal aktiveres i Mattermost Webhook-indstillingerne. Eks: #anden-kanal`, matrix: 'Matrix', promosmsTypeEco: 'SMS ECO - billig, men langsom og ofte overbelastet. Begrænset kun til polske modtagere.', promosmsTypeFlash: 'SMS FLASH - Beskeden vises automatisk på modtagerenheden. Begrænset kun til polske modtagere.', @@ -293,7 +293,7 @@ export default { matrixHomeserverURL: 'Hjemmeserver-URL (med http(s):// og eventuel port)', 'Internal Room Id': 'Intern Rum-ID', matrixDesc1: 'Du kan finde det interne rum-ID ved at se i det avancerede afsnit af rumindstillingerne i din Matrix-klient. Det skulle ligne !QMdRCpUIfLwsfjxye6:home.server.', - matrixDesc2: "Det anbefales stærkt, at du opretter en ny bruger og ikke bruger din egen Matrix-brugers adgangstoken, da det giver fuld adgang til din konto og alle de rum, du har tilsluttet dig. I stedet skal du oprette en ny bruger og kun invitere den til det rum, du vil modtage meddelelsen i. Du kan få adgangstokenet ved at køre {0}", + matrixDesc2: 'Det anbefales stærkt, at du opretter en ny bruger og ikke bruger din egen Matrix-brugers adgangstoken, da det giver fuld adgang til din konto og alle de rum, du har tilsluttet dig. I stedet skal du oprette en ny bruger og kun invitere den til det rum, du vil modtage meddelelsen i. Du kan få adgangstokenet ved at køre {0}', Method: 'Metode', Body: 'Body', Headers: 'Headers', From cb3429d3c76a716bada58633f855e147e9ffb2bb Mon Sep 17 00:00:00 2001 From: titiscan Date: Thu, 9 Dec 2021 17:26:05 +0100 Subject: [PATCH 004/106] Update fr-FR.js typo fix --- src/languages/fr-FR.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/languages/fr-FR.js b/src/languages/fr-FR.js index 4cf863ef..bf98dd8d 100644 --- a/src/languages/fr-FR.js +++ b/src/languages/fr-FR.js @@ -129,7 +129,7 @@ export default { Create: "Créer", "Clear Data": "Effacer les données", Events: "Evénements", - Heartbeats: "Vérfications", + Heartbeats: "Vérifications", "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.", From 728485d686ae424e3ad1e8791c581b47373bb91c Mon Sep 17 00:00:00 2001 From: Ioma Taani Date: Fri, 10 Dec 2021 09:08:01 +0100 Subject: [PATCH 005/106] updated translations --- src/languages/it-IT.js | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/src/languages/it-IT.js b/src/languages/it-IT.js index 20ee93db..4dd0bba0 100644 --- a/src/languages/it-IT.js +++ b/src/languages/it-IT.js @@ -185,21 +185,21 @@ export default { "Status Page": "Pagina di stato", defaultNotificationName: "Allarme {notification} ({number})", here: "qui", - "Required": "Richiesto", - "telegram": "Telegram", + Required: "Richiesto", + telegram: "Telegram", "Bot Token": "Token del Bot", - "You can get a token from": "Puoi ricevere un token da", + wayToGetTelegramToken: "Puoi ricevere un token da {0}.", "Chat ID": "ID Chat", supportTelegramChatID: "Supporta Chat dirette / di Gruppo / ID Canale", wayToGetTelegramChatID: "Puoi ricereve l'ID chat mandando un messaggio al bot andando in questo url per visualizzare il chat_id:", "YOUR BOT TOKEN HERE": "QUI IL TOKEN DEL BOT", chatIDNotFound: "Non trovo l'ID chat. Prima bisogna mandare un messaggio al bot", - "webhook": "Webhook", + webhook: "Webhook", "Post URL": "Post URL", "Content Type": "Content Type", webhookJsonDesc: "{0} va bene per qualsiasi server http moderno ad esempio express.js", webhookFormDataDesc: "{multipart} va bene per PHP, c'è solo bisogno di analizzare il json con {decodeFunction}", - "smtp": "E-mail (SMTP)", + smtp: "E-mail (SMTP)", secureOptionNone: "Nessuno / STARTTLS (25, 587)", secureOptionTLS: "TLS (465)", "Ignore TLS Error": "Ignora gli errori TLS", @@ -208,26 +208,26 @@ export default { "To Email": "Destinatario", smtpCC: "CC", smtpBCC: "CCn", - "discord": "Discord", + discord: "Discord", "Discord Webhook URL": "URL Webhook di Discord", wayToGetDiscordURL: "È possibile recuperarlo da Impostazioni server -> Integrazioni -> Creare Webhook", "Bot Display Name": "Nome del Bot", "Prefix Custom Message": "Prefisso per il messaggio personalizzato", "Hello @everyone is...": "Ciao a {'@'}everyone ...", - "teams": "Microsoft Teams", + teams: "Microsoft Teams", "Webhook URL": "URL Webhook", wayToGetTeamsURL: "È possibile imparare a creare un URL Webhook {0}.", - "signal": "Signal", - "Number": "Numero", - "Recipients": "Destinatari", + signal: "Signal", + Number: "Numero", + Recipients: "Destinatari", needSignalAPI: "È necessario avere un client Signal con le API REST.", wayToCheckSignalURL: "Controllare questo url per capire come impostarne uno:", signalImportant: "IMPORTANTE: Non è possibile mischiare gruppi e numeri all'interno dei destinatari!", - "gotify": "Gotify", + gotify: "Gotify", "Application Token": "Token Applicazione", "Server URL": "URL Server", - "Priority": "Priorità", - "slack": "Slack", + Priority: "Priorità", + slack: "Slack", "Icon Emoji": "Icona Emoji", "Channel Name": "Nome Canale", "Uptime Kuma URL": "Indirizzo Uptime Kuma", @@ -247,7 +247,7 @@ export default { line: "Line Messenger", mattermost: "Mattermost", "User Key": "Chiave Utente", - "Device": "Dispositivo", + Device: "Dispositivo", "Message Title": "Titolo Messaggio", "Notification Sound": "Suono di Notifica", "More info on:": "Maggiori informazioni su: {0}", @@ -281,7 +281,7 @@ export default { "Icon URL": "URL Icona", aboutIconURL: "È possibile impostare un collegameno a una immagine in \"URL Icona\" per modificare l'immagine di profilo. Non verrà utilizzata se è impostata l'Icona Emoji.", aboutMattermostChannelName: "È possibile modificare il canale predefinito che dove il webhook manda messaggi immettendo il nome del canale nel campo \"Nome Canale\". Questo va abilitato nelle impostazioni webhook di Mattermost webhook. P.E.: #altro-canale", - "matrix": "Matrix", + matrix: "Matrix", promosmsTypeEco: "SMS ECO - economico, ma lento e spesso sovraccarico. Limitato solamente a destinatari Polacchi.", promosmsTypeFlash: "SMS FLASH - Il messaggio sarà automaticamente mostrato sul dispositivo dei destinatari. Limitato solo a destinatari Polacchi.", promosmsTypeFull: "SMS FULL - Premium, È possibile utilizzare il proprio come come mittente (è necessario prima registrare il nome). Affidabile per gli allarmi.", @@ -339,7 +339,6 @@ export default { "No monitors available.": "Nessun monitoraggio disponibile.", "Add one": "Aggiungi", "No Monitors": "Nessun monitoraggio", - "Add one": "Aggiungi", "Untitled Group": "Gruppo senza titolo", Services: "Servizi", Discard: "Scarta", @@ -351,5 +350,5 @@ export default { serwersmsAPIPassword: "Password API", serwersmsPhoneNumber: "Numero di Telefono", serwersmsSenderName: "Nome del mittente SMS (registrato via portale cliente)", - "stackfield": "Stackfield", + stackfield: "Stackfield", }; From f793aa52640fbef24720d6aecd0dd7af022e573b Mon Sep 17 00:00:00 2001 From: Ioma Taani Date: Fri, 10 Dec 2021 09:26:55 +0100 Subject: [PATCH 006/106] better translations --- src/languages/it-IT.js | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/languages/it-IT.js b/src/languages/it-IT.js index 4dd0bba0..5a38a5aa 100644 --- a/src/languages/it-IT.js +++ b/src/languages/it-IT.js @@ -8,19 +8,19 @@ export default { maxRedirectDescription: "Numero massimo di redirezionamenti consentito. Per disabilitare impostare \"0\".", acceptedStatusCodesDescription: "Inserire i codici di stato considerati come risposte corrette.", passwordNotMatchMsg: "La password non coincide.", - notificationDescription: "Assegnare la notifica a uno o più elementi monitorati per metterla in funzione.", + notificationDescription: "Assegnare la notifica a uno o più oggetti monitorati per metterla in funzione.", keywordDescription: "Cerca la parola chiave nella risposta in html o JSON e fai distinzione tra maiuscole e minuscole", pauseDashboardHome: "In Pausa", - deleteMonitorMsg: "Si è certi di voler eliminare questo monitoraggio?", + deleteMonitorMsg: "Si è certi di voler eliminare questo oggetto monitorato?", deleteNotificationMsg: "Si è certi di voler eliminare questa notifica per tutti gli oggetti monitorati?", resoverserverDescription: "Cloudflare è il server predefinito, è possibile cambiare il server DNS.", rrtypeDescription: "Scegliere il tipo di RR che si vuole monitorare", pauseMonitorMsg: "Si è certi di voler mettere in pausa?", - enableDefaultNotificationDescription: "Per ogni nuovo monitoraggio questa notifica sarà abilitata di default. È comunque possibile disabilitare la notifica separatamente per ogni monitoraggio.", + enableDefaultNotificationDescription: "Per ogni nuovo oggetto monitorato questa notifica sarà abilitata di default. È comunque possibile disabilitare la notifica separatamente per ogni oggetto.", clearEventsMsg: "Si è certi di voler eliminare tutti gli eventi per questo servizio?", clearHeartbeatsMsg: "Si è certi di voler eliminare tutti gli intervalli di controllo per questo servizio?", confirmClearStatisticsMsg: "Si è certi di voler eliminare TUTTE le statistiche?", - importHandleDescription: "Selezionare 'Ignora gli esistenti' si vuole ignorare l'importazione dei monitoraggi o delle notifiche con lo stesso nome. 'Sovrascrivi' eliminerà ogni monitoraggio e notifica esistente.", + importHandleDescription: "Selezionare 'Ignora gli esistenti' si vuole ignorare l'importazione degli oggetti monitorati o delle notifiche con lo stesso nome. 'Sovrascrivi' eliminerà ogni oggetto e notifica esistente.", confirmImportMsg: "Si è certi di voler importare il backup? Essere certi di aver selezionato l'opzione corretta di importazione.", twoFAVerifyLabel: "Scrivi il token per verificare che l'autenticazione a due fattori funzioni", tokenValidSettingsMsg: "Il token è valido! È ora possibile salvare le impostazioni.", @@ -38,7 +38,7 @@ export default { "Check Update On GitHub": "Controlla aggiornamenti su GitHub", List: "Lista", Add: "Aggiungi", - "Add New Monitor": "Aggiungi un nuovo monitoraggio", + "Add New Monitor": "Aggiungi un nuovo oggetto da monitorare", "Quick Stats": "Statistiche rapide", Up: "Su", Down: "Giù", @@ -63,7 +63,7 @@ export default { "-hour": "-ore", Response: "Risposta", Ping: "Ping", - "Monitor Type": "Tipo di Monitoraggio", + "Monitor Type": "Modalità di monitoraggio", Keyword: "Parola chiave", "Friendly Name": "Nomignolo", URL: "URL", @@ -111,7 +111,7 @@ export default { Password: "Password", "Remember me": "Ricordami", Login: "Accesso", - "No Monitors, please": "Nessun monitoraggio, cortesemente", + "No Monitors, please": "Nessun oggetto monitorato,", "add one": "aggiungerne uno", "Notification Type": "Tipo di notifica", Email: "E-mail", @@ -173,13 +173,13 @@ export default { "Avg. Ping": "Tempo medio di risposta al ping", "Avg. Response": "Tempo medio di risposta", "Entry Page": "Pagina Principale", - statusPageNothing: "Non c'è nulla qui, aggiungere un gruppo oppure un monitoraggio.", + statusPageNothing: "Non c'è nulla qui, aggiungere un gruppo oppure un oggetto da monitorare.", "No Services": "Nessun Servizio", "All Systems Operational": "Tutti i sistemi sono funzionali", "Partially Degraded Service": "Servizio parzialmente degradato", "Degraded Service": "Servizio degradato", "Add Group": "Aggiungi Gruppo", - "Add a monitor": "Aggiungi un monitoraggio", + "Add a monitor": "Aggiungi un oggetto", "Edit Status Page": "Modifica pagina di stato", "Go to Dashboard": "Vai al Cruscotto", "Status Page": "Pagina di stato", @@ -188,10 +188,10 @@ export default { Required: "Richiesto", telegram: "Telegram", "Bot Token": "Token del Bot", - wayToGetTelegramToken: "Puoi ricevere un token da {0}.", + wayToGetTelegramToken: "È possibile ricevere un token da {0}.", "Chat ID": "ID Chat", supportTelegramChatID: "Supporta Chat dirette / di Gruppo / ID Canale", - wayToGetTelegramChatID: "Puoi ricereve l'ID chat mandando un messaggio al bot andando in questo url per visualizzare il chat_id:", + wayToGetTelegramChatID: "È possibile ricereve l'ID chat mandando un messaggio al bot e poi andando in questo URL per visualizzare il chat_id:", "YOUR BOT TOKEN HERE": "QUI IL TOKEN DEL BOT", chatIDNotFound: "Non trovo l'ID chat. Prima bisogna mandare un messaggio al bot", webhook: "Webhook", @@ -299,7 +299,7 @@ export default { PushUrl: "URL di Push", HeadersInvalidFormat: "L'intestazione di richiesta non è un JSON valido: ", BodyInvalidFormat: "Il corpo di richiesta non è un JSON valido: ", - "Monitor History": "Storico monitoraggio", + "Monitor History": "Storicizzazione", clearDataOlderThan: "Mantieni lo storico per {0} giorni.", PasswordsDoNotMatch: "Le password non corrispondono.", records: "records", @@ -323,22 +323,22 @@ export default { info: "informativo", warning: "attenzione", danger: "critico", - primary: "primario", + primary: "predefinito", light: "chiaro", dark: "scuro", Post: "Posta", "Please input title and content": "Inserire il titolo e il contenuto", Created: "Creato", "Last Updated": "Ultima modifica", - Unpin: "Stacca", + Unpin: "Rimuovi", "Switch to Light Theme": "Utilizza tema chiaro", "Switch to Dark Theme": "Utilizza tema scuro", "Show Tags": "Mostra etichette", "Hide Tags": "Nascondi etichette", Description: "Descrizione", - "No monitors available.": "Nessun monitoraggio disponibile.", + "No monitors available.": "Nessun oggetto monitorato disponibile.", "Add one": "Aggiungi", - "No Monitors": "Nessun monitoraggio", + "No Monitors": "Nessun oggetto monitorato inserito", "Untitled Group": "Gruppo senza titolo", Services: "Servizi", Discard: "Scarta", From 34ee342d3e5b35a458a13d61a5d7262373f0ed01 Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Sat, 11 Dec 2021 17:20:51 +0800 Subject: [PATCH 007/106] eslint --- src/languages/da-DK.js | 708 ++++++++++++++++++++--------------------- 1 file changed, 354 insertions(+), 354 deletions(-) diff --git a/src/languages/da-DK.js b/src/languages/da-DK.js index 04593d09..21f030ea 100644 --- a/src/languages/da-DK.js +++ b/src/languages/da-DK.js @@ -1,355 +1,355 @@ export default { - languageName: 'Danish (Danmark)', - Settings: 'Indstillinger', - Dashboard: 'Betjeningspanel', - 'New Update': 'Opdatering tilgængelig', - Language: 'Sprog', - Appearance: 'Udseende', - Theme: 'Tema', - General: 'Generelt', - Version: 'Version', - 'Check Update On GitHub': 'Tjek efter opdateringer på Github', - List: 'Liste', - Add: 'Tilføj', - 'Add New Monitor': 'Tilføj ny Overvåger', - 'Quick Stats': 'Oversigt', - Up: 'Aktiv', - Down: 'Inaktiv', - Pending: 'Afventer', - Unknown: 'Ukendt', - Pause: 'Stands', - pauseDashboardHome: 'Standset', - Name: 'Navn', - Status: 'Status', - DateTime: 'Dato / Tid', - Message: 'Beskeder', - 'No important events': 'Inden vigtige begivenheder', - Resume: 'Fortsæt', - Edit: 'Rediger', - Delete: 'Slet', - Current: 'Aktuelt', - Uptime: 'Oppetid', - 'Cert Exp.': 'Certifikatets udløb', - days: 'Dage', - day: 'Dag', - '-day': '-Dage', - hour: 'Timer', - '-hour': '-Timer', - checkEverySecond: 'Tjek hvert {0} sekund', - Response: 'Respons', - Ping: 'Ping', - 'Monitor Type': 'Overvåger Type', - Keyword: 'Nøgleord', - 'Friendly Name': 'Visningsnavn', - URL: 'URL', - Hostname: 'Hostname', - Port: 'Port', - 'Heartbeat Interval': 'Taktinterval', - Retries: 'Gentagelser', - retriesDescription: 'Maksimalt antal gentagelser, før tjenesten markeres som inaktiv og sender en meddelelse.', - Advanced: 'Avanceret', - ignoreTLSError: 'Ignorere TLS/SSL web fejl', - 'Upside Down Mode': 'Omvendt tilstand', - upsideDownModeDescription: 'Håndter tilstanden omvendt. Hvis tjenesten er tilgængelig, vises den som inaktiv.', - 'Max. Redirects': 'Maks. Omdirigeringer', - maxRedirectDescription: 'Maksimalt antal omdirigeringer, der skal følges. Indstil til 0 for at deaktivere omdirigeringer.', - 'Accepted Status Codes': 'Tilladte HTTP-Statuskoder', - acceptedStatusCodesDescription: 'Vælg de statuskoder, der stadig skal vurderes som vellykkede.', - Save: 'Gem', - Notifications: 'Underretninger', - 'Not available, please setup.': 'Ikke tilgængelige, opsæt venligst.', - 'Setup Notification': 'Opsæt underretninger', - Light: 'Lys', - Dark: 'Mørk', - Auto: 'Auto', - 'Theme - Heartbeat Bar': 'Tema - Tidslinje', - Normal: 'Normal', - Bottom: 'Bunden', - None: 'Ingen', - Timezone: 'Tidszone', - 'Search Engine Visibility': 'Søgemaskine synlighed', - 'Allow indexing': 'Tillad indeksering', - 'Discourage search engines from indexing site': 'Frabed søgemaskiner at indeksere webstedet', - 'Change Password': 'Ændre adgangskode', - 'Current Password': 'Nuværende adgangskode', - 'New Password': 'Ny adgangskode', - 'Repeat New Password': 'Gentag den nye adgangskode', - passwordNotMatchMsg: 'Adgangskoderne er ikke ens.', - 'Update Password': 'Opdater adgangskode', - 'Disable Auth': 'Deaktiver autentificering', - 'Enable Auth': 'Aktiver autentificering', - Logout: 'Log ud', - notificationDescription: 'Tildel underretninger til Overvåger(e), så denne funktion træder i kraft.', - Leave: 'Verlassen', - 'I understand, please disable': 'Jeg er indforstået, deaktiver venligst', - Confirm: 'Bekræft', - Yes: 'Ja', - No: 'Nej', - Username: 'Brugernavn', - Password: 'Adgangskode', - 'Remember me': 'Husk mig', - Login: 'Log ind', - 'No Monitors, please': 'Ingen Overvågere', - 'add one': 'tilføj en', - 'Notification Type': 'Underretningstype', - Email: 'E-Mail', - Test: 'Test', - 'Certificate Info': 'Certifikatoplysninger', - keywordDescription: 'Søg efter et søgeord i almindelig HTML- eller JSON -output. Bemærk, at der skelnes mellem store og små bogstaver.', - deleteMonitorMsg: 'Er du sikker på, at du vil slette overvågeren?', - deleteNotificationMsg: 'Er du sikker på, at du vil slette denne underretning for alle overvågere? ', - resoverserverDescription: 'Cloudflare er standardserveren, den kan til enhver tid ændres.', - 'Resolver Server': 'Navne-server', - rrtypeDescription: 'Vælg den type RR, du vil overvåge.', - 'Last Result': 'Seneste resultat', - pauseMonitorMsg: 'Er du sikker på, at du vil standse Overvågeren?', - 'Create your admin account': 'Opret din administratorkonto', - 'Repeat Password': 'Gentag adgangskoden', - 'Resource Record Type': 'Resource Record Type', - respTime: 'Resp. Tid (ms)', - notAvailableShort: 'N/A', - Create: 'Opret', - clearEventsMsg: 'Er du sikker på vil slette alle events for denne Overvåger?', - clearHeartbeatsMsg: 'Er du sikker på vil slette alle hjerteslag for denne Overvåger?', - confirmClearStatisticsMsg: 'Vil du helt sikkert slette ALLE statistikker?', - 'Clear Data': 'Ryd Data', - Events: 'Events', - Heartbeats: 'Hjerteslag', - 'Auto Get': 'Auto-hent', - enableDefaultNotificationDescription: 'For hver ny overvåger aktiveres denne underretning som standard. Du kan stadig deaktivere underretningen separat for hver skærm.', - 'Default enabled': 'Standard aktiveret', - 'Also apply to existing monitors': 'Anvend også på eksisterende overvågere', - Export: 'Eksport', - Import: 'Import', - backupDescription: 'Du kan sikkerhedskopiere alle Overvågere og alle underretninger til en JSON-fil.', - backupDescription2: 'PS: Historik og hændelsesdata er ikke inkluderet.', - 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', - 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?', - 'Apply on all existing monitors': 'Anvend på alle eksisterende overvågere', - 'Verify Token': 'Verificere Token', - 'Setup 2FA': 'Opsæt 2FA', - 'Enable 2FA': 'Aktiver 2FA', - 'Disable 2FA': 'Deaktiver 2FA', - '2FA Settings': '2FA Indstillinger', - 'Two Factor Authentication': 'To-Faktor Autentificering', - Active: 'Aktive', - Inactive: 'Inaktive', - Token: 'Token', - 'Show URI': 'Vis URI', - 'Clear all statistics': 'Ryd alle Statistikker', - 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', - 'Import Backup': 'Importer Backup', - 'Export Backup': 'Eksporter Backup', - 'Skip existing': 'Spring over eksisterende', - Overwrite: 'Overskriv', - Options: 'Valgmuligheder', - 'Keep both': 'Behold begge', - Tags: 'Etiketter', - 'Add New below or Select...': 'Tilføj Nyt nedenfor eller Vælg ...', - 'Tag with this name already exist.': 'Et Tag med dette navn findes allerede.', - 'Tag with this value already exist.': 'Et Tag med denne værdi findes allerede.', - color: 'farve', - 'value (optional)': 'værdi (valgfri)', - Gray: 'Grå', - Red: 'Rød', - Orange: 'Orange', - Green: 'Grøn', - Blue: 'Blå', - Indigo: 'Indigo', - Purple: 'Lilla', - Pink: 'Pink', - 'Search...': 'Søg...', - 'Avg. Ping': 'Gns. Ping', - 'Avg. Response': 'Gns. Respons', - 'Entry Page': 'Entry Side', - statusPageNothing: 'Intet her, tilføj venligst en Gruppe eller en Overvåger.', - 'No Services': 'Ingen Tjenester', - 'All Systems Operational': 'Alle Systemer i Drift', - 'Partially Degraded Service': 'Delvist Forringet Service', - 'Degraded Service': 'Forringet Service', - 'Add Group': 'Tilføj Gruppe', - 'Add a monitor': 'Tilføj en Overvåger', - 'Edit Status Page': 'Rediger Statusside', - 'Go to Dashboard': 'Gå til Betjeningspanel', - 'Status Page': 'Statusside', - telegram: 'Telegram', - webhook: 'Webhook', - smtp: 'Email (SMTP)', - discord: 'Discord', - teams: 'Microsoft Teams', - signal: 'Signal', - gotify: 'Gotify', - slack: 'Slack', - 'rocket.chat': 'Rocket.chat', - pushover: 'Pushover', - pushy: 'Pushy', - octopush: 'Octopush', - promosms: 'PromoSMS', - lunasea: 'LunaSea', - apprise: 'Apprise (Understøtter 50+ Notifikationstjenester)', - pushbullet: 'Pushbullet', - line: 'Line Messenger', - mattermost: 'Mattermost', - 'Primary Base URL': 'Primær Basis-URL', - 'Push URL': 'Push URL', - needPushEvery: 'Du bør kalde denne webadresse hvert {0} sekund.', - pushOptionalParams: 'Valgfrie parametre: {0}', - defaultNotificationName: 'Min {notification} Advarsel ({number})', - here: 'her', - Required: 'Påkrævet', - 'Bot Token': 'Bot Token', - wayToGetTelegramToken: 'Du kan få et token fra {0}.', - 'Chat ID': 'Chat ID', - supportTelegramChatID: "Support Direct Chat / Group / Channel's Chat ID", - wayToGetTelegramChatID: "Du kan få dit chat-ID ved at sende en besked til bot'en og gå til denne URL for at se chat_id'et:", - 'YOUR BOT TOKEN HERE': 'DIT BOT TOKEN HER', - chatIDNotFound: 'Chat-ID blev ikke fundet; send venligst en besked til denne bot først ', - 'Post URL': 'Post URL', - 'Content Type': 'Indholdstype', - webhookJsonDesc: '{0} er god til alle moderne HTTP-servere som f.eks Express.js', - webhookFormDataDesc: "{multipart} er god til PHP. JSON'en skal parses med {decodeFunction}", - secureOptionNone: 'Ingen / STARTTLS (25, 587)', - secureOptionTLS: 'TLS (465)', - 'Ignore TLS Error': 'Ignorer TLS-fejl', - 'From Email': 'Afsender Email', - emailCustomSubject: 'Brugerdefineret Emne', - 'To Email': 'Modtager Email', - smtpCC: 'CC', - smtpBCC: 'BCC', - 'Discord Webhook URL': 'Discord Webhook URL', - wayToGetDiscordURL: 'Du kan få dette ved at gå til Serverindstillinger -> Integrationer -> Opret webhook ', - 'Bot Display Name': 'Bot Visningsnavn', - 'Prefix Custom Message': 'Præfiks Brugerdefineret Besked', - 'Hello @everyone is...': "Hello {'@'}everyone is...", - 'Webhook URL': 'Webhook URL', - wayToGetTeamsURL: 'Du kan lære, hvordan du laver en webhook URL {0}.', - Number: 'Nummer', - Recipients: 'Modtagere', - needSignalAPI: 'Du skal have en Signal-klient med REST API.', - wayToCheckSignalURL: 'Du kan tjekke denne URL for at se, hvordan du konfigurerer en:', - signalImportant: 'VIGTIGT: Du kan ikke blande grupper og numre i modtagere!', - 'Application Token': 'Program Token', - 'Server URL': 'Server URL', - Priority: 'Prioritet', - 'Icon Emoji': 'Icon Emoji', - 'Channel Name': 'Kanalnavn', - 'Uptime Kuma URL': 'Uptime Kuma URL', - aboutWebhooks: 'Mere info om Webhooks på: {0}', - aboutChannelName: 'Indtast kanalnavnet i {0} Kanalnavn feltet, hvis du vil omgå Webhook-kanalen. Eks: #anden-kanal', - aboutKumaURL: 'Hvis du efterlader Uptime Kuma URL-feltet tomt, vil det som standard gå til projektets GitHub-siden.', - emojiCheatSheet: 'Emoji cheat sheet: {0}', - clicksendsms: 'ClickSend SMS', - 'User Key': 'Bruger-Nøgle', - Device: 'Enhed', - 'Message Title': 'Besked Titel', - 'Notification Sound': 'Notifikationslyd', - 'More info on:': 'Mere info på: {0}', - pushoverDesc1: 'Nødprioritet (2) har som standard 30 sekunders timeout mellem genforsøg og udløber efter 1 time.', - pushoverDesc2: 'Hvis du vil sende meddelelser til forskellige enheder, skal du udfylde feltet Enhed.', - 'SMS Type': 'SMS Type', - octopushTypePremium: 'Premium (Hurtig - anbefales til advarsel)', - octopushTypeLowCost: 'Lavpris (Langsom - nogle gange blokeret af operatøren)', - checkPrice: 'Tjek {0} priser:', - apiCredentials: 'API legitimationsoplysninger', - octopushLegacyHint: 'Bruger du den ældre version af Octopush (2011-2020) eller den nye version?', - 'Check octopush prices': 'Tjek octopush priser {0}.', - octopushPhoneNumber: 'Telefonnummer (intl format, f.eks : +4512345678) ', - octopushSMSSender: 'SMS Afsender Navn : 3-11 alfanumeriske tegn og mellemrum (a-zA-Z0-9)', - 'LunaSea Device ID': 'LunaSea Enhed-ID', - 'Apprise URL': 'Apprise URL', - 'Example:': 'Eksempel: {0}', - 'Read more:': 'Læs mere: {0}', - 'Status:': 'Status: {0}', - 'Read more': 'Læs mere', - appriseInstalled: 'Apprise er installeret.', - appriseNotInstalled: 'Apprise er ikke installeret. {0}', - 'Access Token': 'Access Token', - 'Channel access token': 'kanaladgangstoken', - 'Line Developers Console': 'Line Udviklerkonsol', - lineDevConsoleTo: 'Line Udviklerkonsol - {0}', - 'Basic Settings': 'Basisindstillinger', - 'User ID': 'Bruger-ID', - 'Messaging API': 'Messaging 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.', - aboutMattermostChannelName: `Du kan tilsidesætte standardkanalen, som Webhoo'en sender til ved at indtaste kanalnavnet i feltet "Kanalnavn". Dette skal aktiveres i Mattermost Webhook-indstillingerne. Eks: #anden-kanal`, - matrix: 'Matrix', - promosmsTypeEco: 'SMS ECO - billig, men langsom og ofte overbelastet. Begrænset kun til polske modtagere.', - promosmsTypeFlash: 'SMS FLASH - Beskeden vises automatisk på modtagerenheden. Begrænset kun til polske modtagere.', - promosmsTypeFull: 'SMS FULL - Premium-niveau af SMS, Du kan bruge dit "Sender Name" (Du skal først registrere navn). Pålidelig til advarsler.', - promosmsTypeSpeed: 'SMS SPEED - Højeste prioritet i systemet. Meget hurtig og pålidelig, men dyr (ca. to gange af SMS FULL pris).', - promosmsPhoneNumber: 'Telefonnummer (polske numre behøver ikke angive områdenumre)', - promosmsSMSSender: 'SMS Sender Name : Forudregistreret navn eller en af standarderne: InfoSMS, SMS Info, MaxSMS, INFO, SMS', - 'Feishu WebHookUrl': 'Feishu WebHookURL', - matrixHomeserverURL: 'Hjemmeserver-URL (med http(s):// og eventuel port)', - 'Internal Room Id': 'Intern Rum-ID', - matrixDesc1: 'Du kan finde det interne rum-ID ved at se i det avancerede afsnit af rumindstillingerne i din Matrix-klient. Det skulle ligne !QMdRCpUIfLwsfjxye6:home.server.', - matrixDesc2: 'Det anbefales stærkt, at du opretter en ny bruger og ikke bruger din egen Matrix-brugers adgangstoken, da det giver fuld adgang til din konto og alle de rum, du har tilsluttet dig. I stedet skal du oprette en ny bruger og kun invitere den til det rum, du vil modtage meddelelsen i. Du kan få adgangstokenet ved at køre {0}', - Method: 'Metode', - Body: 'Body', - Headers: 'Headers', - PushUrl: 'Push URL', - HeadersInvalidFormat: '"request headers"-erne er ikke gyldige JSON: ', - BodyInvalidFormat: '"request body"-en er ikke gyldige JSON: ', - 'Monitor History': 'Overvåger Historik', - clearDataOlderThan: 'Gem overvågningshistorikdata i {0} dage.', - PasswordsDoNotMatch: 'Adgangskoderne stemmer ikke overens.', - records: 'forekomster', - 'One record': 'Én forekomst', - steamApiKeyDescription: 'For at overvåge en Steam Game Server skal du bruge en Steam Web-API nøgle. Du kan registrere din API-nøgle her: ', - 'Current User': 'Nuværende Bruger', - recent: 'Seneste', - Done: 'Færdig', - Info: 'Info', - Security: 'Sikkerhed', - 'Steam API Key': 'Steam API-nøgle', - 'Shrink Database': 'Krymp Database', - 'Pick a RR-Type...': 'Vælg en RR-Type...', - 'Pick Accepted Status Codes...': 'Vælg Accepterede Statuskoder...', - Default: 'Standard', - 'HTTP Options': 'HTTP Valgmuligheder', - 'Create Incident': 'Opret Annoncering', - Title: 'Titel', - Content: 'Indhold', - Style: 'Type', - info: 'info', - warning: 'advarsel', - danger: 'fare', - primary: 'primær', - light: 'lys', - dark: 'mørk', - Post: 'Udgiv', - 'Please input title and content': 'Indtast venligst titel og indhold', - Created: 'Oprettet', - 'Last Updated': 'Sidst Opdateret', - Unpin: 'Frigør', - 'Switch to Light Theme': 'Skift til Lys Tema', - 'Switch to Dark Theme': 'Skift til Mørkt Tema', - 'Show Tags': 'Vis Etiketter', - 'Hide Tags': 'Skjul Etiketter', - Description: 'Beskrivelse', - 'No monitors available.': 'No monitors available.', - 'Add one': 'Tilføj en', - 'No Monitors': 'Ingen Overvågere', - 'Untitled Group': 'Unavngivet Gruppe', - Services: 'Tjenester', - Discard: 'Kassér', - Cancel: 'Annullér', - 'Powered by': 'Drevet af', - shrinkDatabaseDescription: 'Udfør database VACUUM for SQLite. Hvis din database er oprettet efter 1.10.0, er AUTO_VACUUM allerede aktiveret, og denne handling er ikke nødvendig.', - serwersms: 'SerwerSMS.pl', - serwersmsAPIUser: 'API Brugernavn (inkl. webapi_ prefix)', - serwersmsAPIPassword: 'API Adgangskode', - serwersmsPhoneNumber: 'Telefonnummer', - serwersmsSenderName: 'SMS Afsender Navn (registreret via kundeportal)', - stackfield: 'Stackfield' -} \ No newline at end of file + languageName: "Danish (Danmark)", + Settings: "Indstillinger", + Dashboard: "Betjeningspanel", + "New Update": "Opdatering tilgængelig", + Language: "Sprog", + Appearance: "Udseende", + Theme: "Tema", + General: "Generelt", + Version: "Version", + "Check Update On GitHub": "Tjek efter opdateringer på Github", + List: "Liste", + Add: "Tilføj", + "Add New Monitor": "Tilføj ny Overvåger", + "Quick Stats": "Oversigt", + Up: "Aktiv", + Down: "Inaktiv", + Pending: "Afventer", + Unknown: "Ukendt", + Pause: "Stands", + pauseDashboardHome: "Standset", + Name: "Navn", + Status: "Status", + DateTime: "Dato / Tid", + Message: "Beskeder", + "No important events": "Inden vigtige begivenheder", + Resume: "Fortsæt", + Edit: "Rediger", + Delete: "Slet", + Current: "Aktuelt", + Uptime: "Oppetid", + "Cert Exp.": "Certifikatets udløb", + days: "Dage", + day: "Dag", + "-day": "-Dage", + hour: "Timer", + "-hour": "-Timer", + checkEverySecond: "Tjek hvert {0} sekund", + Response: "Respons", + Ping: "Ping", + "Monitor Type": "Overvåger Type", + Keyword: "Nøgleord", + "Friendly Name": "Visningsnavn", + URL: "URL", + Hostname: "Hostname", + Port: "Port", + "Heartbeat Interval": "Taktinterval", + Retries: "Gentagelser", + retriesDescription: "Maksimalt antal gentagelser, før tjenesten markeres som inaktiv og sender en meddelelse.", + Advanced: "Avanceret", + ignoreTLSError: "Ignorere TLS/SSL web fejl", + "Upside Down Mode": "Omvendt tilstand", + upsideDownModeDescription: "Håndter tilstanden omvendt. Hvis tjenesten er tilgængelig, vises den som inaktiv.", + "Max. Redirects": "Maks. Omdirigeringer", + maxRedirectDescription: "Maksimalt antal omdirigeringer, der skal følges. Indstil til 0 for at deaktivere omdirigeringer.", + "Accepted Status Codes": "Tilladte HTTP-Statuskoder", + acceptedStatusCodesDescription: "Vælg de statuskoder, der stadig skal vurderes som vellykkede.", + Save: "Gem", + Notifications: "Underretninger", + "Not available, please setup.": "Ikke tilgængelige, opsæt venligst.", + "Setup Notification": "Opsæt underretninger", + Light: "Lys", + Dark: "Mørk", + Auto: "Auto", + "Theme - Heartbeat Bar": "Tema - Tidslinje", + Normal: "Normal", + Bottom: "Bunden", + None: "Ingen", + Timezone: "Tidszone", + "Search Engine Visibility": "Søgemaskine synlighed", + "Allow indexing": "Tillad indeksering", + "Discourage search engines from indexing site": "Frabed søgemaskiner at indeksere webstedet", + "Change Password": "Ændre adgangskode", + "Current Password": "Nuværende adgangskode", + "New Password": "Ny adgangskode", + "Repeat New Password": "Gentag den nye adgangskode", + passwordNotMatchMsg: "Adgangskoderne er ikke ens.", + "Update Password": "Opdater adgangskode", + "Disable Auth": "Deaktiver autentificering", + "Enable Auth": "Aktiver autentificering", + Logout: "Log ud", + notificationDescription: "Tildel underretninger til Overvåger(e), så denne funktion træder i kraft.", + Leave: "Verlassen", + "I understand, please disable": "Jeg er indforstået, deaktiver venligst", + Confirm: "Bekræft", + Yes: "Ja", + No: "Nej", + Username: "Brugernavn", + Password: "Adgangskode", + "Remember me": "Husk mig", + Login: "Log ind", + "No Monitors, please": "Ingen Overvågere", + "add one": "tilføj en", + "Notification Type": "Underretningstype", + Email: "E-Mail", + Test: "Test", + "Certificate Info": "Certifikatoplysninger", + keywordDescription: "Søg efter et søgeord i almindelig HTML- eller JSON -output. Bemærk, at der skelnes mellem store og små bogstaver.", + deleteMonitorMsg: "Er du sikker på, at du vil slette overvågeren?", + deleteNotificationMsg: "Er du sikker på, at du vil slette denne underretning for alle overvågere? ", + resoverserverDescription: "Cloudflare er standardserveren, den kan til enhver tid ændres.", + "Resolver Server": "Navne-server", + rrtypeDescription: "Vælg den type RR, du vil overvåge.", + "Last Result": "Seneste resultat", + pauseMonitorMsg: "Er du sikker på, at du vil standse Overvågeren?", + "Create your admin account": "Opret din administratorkonto", + "Repeat Password": "Gentag adgangskoden", + "Resource Record Type": "Resource Record Type", + respTime: "Resp. Tid (ms)", + notAvailableShort: "N/A", + Create: "Opret", + clearEventsMsg: "Er du sikker på vil slette alle events for denne Overvåger?", + clearHeartbeatsMsg: "Er du sikker på vil slette alle hjerteslag for denne Overvåger?", + confirmClearStatisticsMsg: "Vil du helt sikkert slette ALLE statistikker?", + "Clear Data": "Ryd Data", + Events: "Events", + Heartbeats: "Hjerteslag", + "Auto Get": "Auto-hent", + enableDefaultNotificationDescription: "For hver ny overvåger aktiveres denne underretning som standard. Du kan stadig deaktivere underretningen separat for hver skærm.", + "Default enabled": "Standard aktiveret", + "Also apply to existing monitors": "Anvend også på eksisterende overvågere", + Export: "Eksport", + Import: "Import", + backupDescription: "Du kan sikkerhedskopiere alle Overvågere og alle underretninger til en JSON-fil.", + backupDescription2: "PS: Historik og hændelsesdata er ikke inkluderet.", + 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", + 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?", + "Apply on all existing monitors": "Anvend på alle eksisterende overvågere", + "Verify Token": "Verificere Token", + "Setup 2FA": "Opsæt 2FA", + "Enable 2FA": "Aktiver 2FA", + "Disable 2FA": "Deaktiver 2FA", + "2FA Settings": "2FA Indstillinger", + "Two Factor Authentication": "To-Faktor Autentificering", + Active: "Aktive", + Inactive: "Inaktive", + Token: "Token", + "Show URI": "Vis URI", + "Clear all statistics": "Ryd alle Statistikker", + 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", + "Import Backup": "Importer Backup", + "Export Backup": "Eksporter Backup", + "Skip existing": "Spring over eksisterende", + Overwrite: "Overskriv", + Options: "Valgmuligheder", + "Keep both": "Behold begge", + Tags: "Etiketter", + "Add New below or Select...": "Tilføj Nyt nedenfor eller Vælg ...", + "Tag with this name already exist.": "Et Tag med dette navn findes allerede.", + "Tag with this value already exist.": "Et Tag med denne værdi findes allerede.", + color: "farve", + "value (optional)": "værdi (valgfri)", + Gray: "Grå", + Red: "Rød", + Orange: "Orange", + Green: "Grøn", + Blue: "Blå", + Indigo: "Indigo", + Purple: "Lilla", + Pink: "Pink", + "Search...": "Søg...", + "Avg. Ping": "Gns. Ping", + "Avg. Response": "Gns. Respons", + "Entry Page": "Entry Side", + statusPageNothing: "Intet her, tilføj venligst en Gruppe eller en Overvåger.", + "No Services": "Ingen Tjenester", + "All Systems Operational": "Alle Systemer i Drift", + "Partially Degraded Service": "Delvist Forringet Service", + "Degraded Service": "Forringet Service", + "Add Group": "Tilføj Gruppe", + "Add a monitor": "Tilføj en Overvåger", + "Edit Status Page": "Rediger Statusside", + "Go to Dashboard": "Gå til Betjeningspanel", + "Status Page": "Statusside", + telegram: "Telegram", + webhook: "Webhook", + smtp: "Email (SMTP)", + discord: "Discord", + teams: "Microsoft Teams", + signal: "Signal", + gotify: "Gotify", + slack: "Slack", + "rocket.chat": "Rocket.chat", + pushover: "Pushover", + pushy: "Pushy", + octopush: "Octopush", + promosms: "PromoSMS", + lunasea: "LunaSea", + apprise: "Apprise (Understøtter 50+ Notifikationstjenester)", + pushbullet: "Pushbullet", + line: "Line Messenger", + mattermost: "Mattermost", + "Primary Base URL": "Primær Basis-URL", + "Push URL": "Push URL", + needPushEvery: "Du bør kalde denne webadresse hvert {0} sekund.", + pushOptionalParams: "Valgfrie parametre: {0}", + defaultNotificationName: "Min {notification} Advarsel ({number})", + here: "her", + Required: "Påkrævet", + "Bot Token": "Bot Token", + wayToGetTelegramToken: "Du kan få et token fra {0}.", + "Chat ID": "Chat ID", + supportTelegramChatID: "Support Direct Chat / Group / Channel's Chat ID", + wayToGetTelegramChatID: "Du kan få dit chat-ID ved at sende en besked til bot'en og gå til denne URL for at se chat_id'et:", + "YOUR BOT TOKEN HERE": "DIT BOT TOKEN HER", + chatIDNotFound: "Chat-ID blev ikke fundet; send venligst en besked til denne bot først ", + "Post URL": "Post URL", + "Content Type": "Indholdstype", + webhookJsonDesc: "{0} er god til alle moderne HTTP-servere som f.eks Express.js", + webhookFormDataDesc: "{multipart} er god til PHP. JSON'en skal parses med {decodeFunction}", + secureOptionNone: "Ingen / STARTTLS (25, 587)", + secureOptionTLS: "TLS (465)", + "Ignore TLS Error": "Ignorer TLS-fejl", + "From Email": "Afsender Email", + emailCustomSubject: "Brugerdefineret Emne", + "To Email": "Modtager Email", + smtpCC: "CC", + smtpBCC: "BCC", + "Discord Webhook URL": "Discord Webhook URL", + wayToGetDiscordURL: "Du kan få dette ved at gå til Serverindstillinger -> Integrationer -> Opret webhook ", + "Bot Display Name": "Bot Visningsnavn", + "Prefix Custom Message": "Præfiks Brugerdefineret Besked", + "Hello @everyone is...": "Hello {'@'}everyone is...", + "Webhook URL": "Webhook URL", + wayToGetTeamsURL: "Du kan lære, hvordan du laver en webhook URL {0}.", + Number: "Nummer", + Recipients: "Modtagere", + needSignalAPI: "Du skal have en Signal-klient med REST API.", + wayToCheckSignalURL: "Du kan tjekke denne URL for at se, hvordan du konfigurerer en:", + signalImportant: "VIGTIGT: Du kan ikke blande grupper og numre i modtagere!", + "Application Token": "Program Token", + "Server URL": "Server URL", + Priority: "Prioritet", + "Icon Emoji": "Icon Emoji", + "Channel Name": "Kanalnavn", + "Uptime Kuma URL": "Uptime Kuma URL", + aboutWebhooks: "Mere info om Webhooks på: {0}", + aboutChannelName: "Indtast kanalnavnet i {0} Kanalnavn feltet, hvis du vil omgå Webhook-kanalen. Eks: #anden-kanal", + aboutKumaURL: "Hvis du efterlader Uptime Kuma URL-feltet tomt, vil det som standard gå til projektets GitHub-siden.", + emojiCheatSheet: "Emoji cheat sheet: {0}", + clicksendsms: "ClickSend SMS", + "User Key": "Bruger-Nøgle", + Device: "Enhed", + "Message Title": "Besked Titel", + "Notification Sound": "Notifikationslyd", + "More info on:": "Mere info på: {0}", + pushoverDesc1: "Nødprioritet (2) har som standard 30 sekunders timeout mellem genforsøg og udløber efter 1 time.", + pushoverDesc2: "Hvis du vil sende meddelelser til forskellige enheder, skal du udfylde feltet Enhed.", + "SMS Type": "SMS Type", + octopushTypePremium: "Premium (Hurtig - anbefales til advarsel)", + octopushTypeLowCost: "Lavpris (Langsom - nogle gange blokeret af operatøren)", + checkPrice: "Tjek {0} priser:", + apiCredentials: "API legitimationsoplysninger", + octopushLegacyHint: "Bruger du den ældre version af Octopush (2011-2020) eller den nye version?", + "Check octopush prices": "Tjek octopush priser {0}.", + octopushPhoneNumber: "Telefonnummer (intl format, f.eks : +4512345678) ", + octopushSMSSender: "SMS Afsender Navn : 3-11 alfanumeriske tegn og mellemrum (a-zA-Z0-9)", + "LunaSea Device ID": "LunaSea Enhed-ID", + "Apprise URL": "Apprise URL", + "Example:": "Eksempel: {0}", + "Read more:": "Læs mere: {0}", + "Status:": "Status: {0}", + "Read more": "Læs mere", + appriseInstalled: "Apprise er installeret.", + appriseNotInstalled: "Apprise er ikke installeret. {0}", + "Access Token": "Access Token", + "Channel access token": "kanaladgangstoken", + "Line Developers Console": "Line Udviklerkonsol", + lineDevConsoleTo: "Line Udviklerkonsol - {0}", + "Basic Settings": "Basisindstillinger", + "User ID": "Bruger-ID", + "Messaging API": "Messaging 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.", + aboutMattermostChannelName: "Du kan tilsidesætte standardkanalen, som Webhoo'en sender til ved at indtaste kanalnavnet i feltet \"Kanalnavn\". Dette skal aktiveres i Mattermost Webhook-indstillingerne. Eks: #anden-kanal", + matrix: "Matrix", + promosmsTypeEco: "SMS ECO - billig, men langsom og ofte overbelastet. Begrænset kun til polske modtagere.", + promosmsTypeFlash: "SMS FLASH - Beskeden vises automatisk på modtagerenheden. Begrænset kun til polske modtagere.", + promosmsTypeFull: "SMS FULL - Premium-niveau af SMS, Du kan bruge dit \"Sender Name\" (Du skal først registrere navn). Pålidelig til advarsler.", + promosmsTypeSpeed: "SMS SPEED - Højeste prioritet i systemet. Meget hurtig og pålidelig, men dyr (ca. to gange af SMS FULL pris).", + promosmsPhoneNumber: "Telefonnummer (polske numre behøver ikke angive områdenumre)", + promosmsSMSSender: "SMS Sender Name : Forudregistreret navn eller en af standarderne: InfoSMS, SMS Info, MaxSMS, INFO, SMS", + "Feishu WebHookUrl": "Feishu WebHookURL", + matrixHomeserverURL: "Hjemmeserver-URL (med http(s):// og eventuel port)", + "Internal Room Id": "Intern Rum-ID", + matrixDesc1: "Du kan finde det interne rum-ID ved at se i det avancerede afsnit af rumindstillingerne i din Matrix-klient. Det skulle ligne !QMdRCpUIfLwsfjxye6:home.server.", + matrixDesc2: "Det anbefales stærkt, at du opretter en ny bruger og ikke bruger din egen Matrix-brugers adgangstoken, da det giver fuld adgang til din konto og alle de rum, du har tilsluttet dig. I stedet skal du oprette en ny bruger og kun invitere den til det rum, du vil modtage meddelelsen i. Du kan få adgangstokenet ved at køre {0}", + Method: "Metode", + Body: "Body", + Headers: "Headers", + PushUrl: "Push URL", + HeadersInvalidFormat: "\"request headers\"-erne er ikke gyldige JSON: ", + BodyInvalidFormat: "\"request body\"-en er ikke gyldige JSON: ", + "Monitor History": "Overvåger Historik", + clearDataOlderThan: "Gem overvågningshistorikdata i {0} dage.", + PasswordsDoNotMatch: "Adgangskoderne stemmer ikke overens.", + records: "forekomster", + "One record": "Én forekomst", + steamApiKeyDescription: "For at overvåge en Steam Game Server skal du bruge en Steam Web-API nøgle. Du kan registrere din API-nøgle her: ", + "Current User": "Nuværende Bruger", + recent: "Seneste", + Done: "Færdig", + Info: "Info", + Security: "Sikkerhed", + "Steam API Key": "Steam API-nøgle", + "Shrink Database": "Krymp Database", + "Pick a RR-Type...": "Vælg en RR-Type...", + "Pick Accepted Status Codes...": "Vælg Accepterede Statuskoder...", + Default: "Standard", + "HTTP Options": "HTTP Valgmuligheder", + "Create Incident": "Opret Annoncering", + Title: "Titel", + Content: "Indhold", + Style: "Type", + info: "info", + warning: "advarsel", + danger: "fare", + primary: "primær", + light: "lys", + dark: "mørk", + Post: "Udgiv", + "Please input title and content": "Indtast venligst titel og indhold", + Created: "Oprettet", + "Last Updated": "Sidst Opdateret", + Unpin: "Frigør", + "Switch to Light Theme": "Skift til Lys Tema", + "Switch to Dark Theme": "Skift til Mørkt Tema", + "Show Tags": "Vis Etiketter", + "Hide Tags": "Skjul Etiketter", + Description: "Beskrivelse", + "No monitors available.": "No monitors available.", + "Add one": "Tilføj en", + "No Monitors": "Ingen Overvågere", + "Untitled Group": "Unavngivet Gruppe", + Services: "Tjenester", + Discard: "Kassér", + Cancel: "Annullér", + "Powered by": "Drevet af", + shrinkDatabaseDescription: "Udfør database VACUUM for SQLite. Hvis din database er oprettet efter 1.10.0, er AUTO_VACUUM allerede aktiveret, og denne handling er ikke nødvendig.", + serwersms: "SerwerSMS.pl", + serwersmsAPIUser: "API Brugernavn (inkl. webapi_ prefix)", + serwersmsAPIPassword: "API Adgangskode", + serwersmsPhoneNumber: "Telefonnummer", + serwersmsSenderName: "SMS Afsender Navn (registreret via kundeportal)", + stackfield: "Stackfield", +}; From 5ee5ea909df537ce1a9e63e9c29b36e90ef48ffd Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Sat, 11 Dec 2021 20:59:31 +0800 Subject: [PATCH 008/106] Add Github Action: close-incorrect-issue.yml --- .github/workflows/close-incorrect-issue.yml | 26 ++ extra/close-incorrect-issue.js | 57 ++++ package-lock.json | 348 +++++++++++++++++++- package.json | 1 + 4 files changed, 430 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/close-incorrect-issue.yml create mode 100644 extra/close-incorrect-issue.js diff --git a/.github/workflows/close-incorrect-issue.yml b/.github/workflows/close-incorrect-issue.yml new file mode 100644 index 00000000..026022df --- /dev/null +++ b/.github/workflows/close-incorrect-issue.yml @@ -0,0 +1,26 @@ + +name: Close Incorrect Issue + +on: + issues: + types: [opened] + +jobs: + close-incorrect-issue: + runs-on: ${{ matrix.os }} + + strategy: + matrix: + os: [ubuntu-latest] + node-version: [16.x] + + steps: + - uses: actions/checkout@v2 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v2 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + - run: npm ci + - run: node extra/close-incorrect-issue.js ${{ secrets.GITHUB_TOKEN }} ${{ github.event.issue.number }} ${{ github.event.issue.user.login }} diff --git a/extra/close-incorrect-issue.js b/extra/close-incorrect-issue.js new file mode 100644 index 00000000..be4ed808 --- /dev/null +++ b/extra/close-incorrect-issue.js @@ -0,0 +1,57 @@ +const github = require("@actions/github"); + +(async () => { + try { + const token = process.argv[2]; + const issueNumber = process.argv[3]; + const username = process.argv[4]; + + const client = github.getOctokit(token).rest; + + const issue = { + owner: "louislam", + repo: "uptime-kuma", + number: issueNumber, + }; + + const labels = ( + await client.issues.listLabelsOnIssue({ + owner: issue.owner, + repo: issue.repo, + issue_number: issue.number + }) + ).data.map(({ name }) => name); + + if (labels.length === 0) { + console.log("Bad format here"); + + await client.issues.addLabels({ + owner: issue.owner, + repo: issue.repo, + issue_number: issue.number, + labels: ["invalid-format"] + }); + + // Add the issue closing comment + await client.issues.createComment({ + owner: issue.owner, + repo: issue.repo, + issue_number: issue.number, + body: `@${username}: Hello! :wave:\n\nThis issue is being automatically closed because it does not follow the issue template. Please DO NOT open a blank issue` + }); + + // Close the issue + await client.issues.update({ + owner: issue.owner, + repo: issue.repo, + issue_number: issue.number, + state: "closed" + }); + } else { + console.log("Pass!"); + } + } catch (e) { + console.log(e); + } + +})(); diff --git a/package-lock.json b/package-lock.json index 4790d60e..6b6c75cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "uptime-kuma", - "version": "1.10.2", + "version": "1.11.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "uptime-kuma", - "version": "1.10.2", + "version": "1.11.1", "license": "MIT", "dependencies": { "@fortawesome/fontawesome-svg-core": "~1.2.36", @@ -64,6 +64,7 @@ "vuedraggable": "~4.1.0" }, "devDependencies": { + "@actions/github": "~5.0.0", "@babel/eslint-parser": "~7.15.8", "@babel/preset-env": "^7.15.8", "@types/bootstrap": "~5.1.6", @@ -89,6 +90,27 @@ "node": "14.* || >=16.*" } }, + "node_modules/@actions/github": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.0.0.tgz", + "integrity": "sha512-QvE9eAAfEsS+yOOk0cylLBIO/d6WyWIOvsxxzdrPFaud39G6BOkUwScXZn1iBzQzHyu9SBkkLSWlohDWdsasAQ==", + "dev": true, + "dependencies": { + "@actions/http-client": "^1.0.11", + "@octokit/core": "^3.4.0", + "@octokit/plugin-paginate-rest": "^2.13.3", + "@octokit/plugin-rest-endpoint-methods": "^5.1.1" + } + }, + "node_modules/@actions/http-client": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", + "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", + "dev": true, + "dependencies": { + "tunnel": "0.0.6" + } + }, "node_modules/@babel/code-frame": { "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", @@ -2716,6 +2738,135 @@ "node": ">=10" } }, + "node_modules/@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.0.3" + } + }, + "node_modules/@octokit/core": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz", + "integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==", + "dev": true, + "dependencies": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.0", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/endpoint/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "dev": true, + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", + "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==", + "dev": true + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", + "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.34.0" + }, + "peerDependencies": { + "@octokit/core": ">=2" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", + "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.34.0", + "deprecation": "^2.3.1" + }, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/request": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz", + "integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==", + "dev": true, + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.1", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dev": true, + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@octokit/request/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dev": true, + "dependencies": { + "@octokit/openapi-types": "^11.2.0" + } + }, "node_modules/@popperjs/core": { "version": "2.10.2", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.2.tgz", @@ -3932,6 +4083,12 @@ "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=" }, + "node_modules/before-after-hook": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", + "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", + "dev": true + }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -4838,6 +4995,12 @@ "node": ">= 0.6" } }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true + }, "node_modules/destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", @@ -13443,6 +13606,15 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "dev": true, + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -13664,6 +13836,12 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true + }, "node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -14469,6 +14647,27 @@ } }, "dependencies": { + "@actions/github": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.0.0.tgz", + "integrity": "sha512-QvE9eAAfEsS+yOOk0cylLBIO/d6WyWIOvsxxzdrPFaud39G6BOkUwScXZn1iBzQzHyu9SBkkLSWlohDWdsasAQ==", + "dev": true, + "requires": { + "@actions/http-client": "^1.0.11", + "@octokit/core": "^3.4.0", + "@octokit/plugin-paginate-rest": "^2.13.3", + "@octokit/plugin-rest-endpoint-methods": "^5.1.1" + } + }, + "@actions/http-client": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", + "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", + "dev": true, + "requires": { + "tunnel": "0.0.6" + } + }, "@babel/code-frame": { "version": "7.16.0", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", @@ -16350,6 +16549,127 @@ "rimraf": "^3.0.2" } }, + "@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "dev": true, + "requires": { + "@octokit/types": "^6.0.3" + } + }, + "@octokit/core": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz", + "integrity": "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==", + "dev": true, + "requires": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.0", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "dev": true, + "requires": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + } + } + }, + "@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "dev": true, + "requires": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/openapi-types": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", + "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==", + "dev": true + }, + "@octokit/plugin-paginate-rest": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", + "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", + "dev": true, + "requires": { + "@octokit/types": "^6.34.0" + } + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", + "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", + "dev": true, + "requires": { + "@octokit/types": "^6.34.0", + "deprecation": "^2.3.1" + } + }, + "@octokit/request": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz", + "integrity": "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==", + "dev": true, + "requires": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.1", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + } + } + }, + "@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "dev": true, + "requires": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "@octokit/types": { + "version": "6.34.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", + "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", + "dev": true, + "requires": { + "@octokit/openapi-types": "^11.2.0" + } + }, "@popperjs/core": { "version": "2.10.2", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.2.tgz", @@ -17379,6 +17699,12 @@ "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=" }, + "before-after-hook": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", + "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", + "dev": true + }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -18090,6 +18416,12 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, + "deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true + }, "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", @@ -24575,6 +24907,12 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "dev": true + }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -24728,6 +25066,12 @@ "@types/unist": "^2.0.2" } }, + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", diff --git a/package.json b/package.json index 79ed1c30..32c51176 100644 --- a/package.json +++ b/package.json @@ -109,6 +109,7 @@ "vuedraggable": "~4.1.0" }, "devDependencies": { + "@actions/github": "~5.0.0", "@babel/eslint-parser": "~7.15.8", "@babel/preset-env": "^7.15.8", "@types/bootstrap": "~5.1.6", From 8050cb8e99fed911f69b78b2d99994e2f180ef14 Mon Sep 17 00:00:00 2001 From: Philipp Bischoff Date: Sat, 11 Dec 2021 23:43:12 +0100 Subject: [PATCH 009/106] implement google chat notification type --- server/notification-providers/google-chat.js | 46 ++++++++++++++++++++ server/notification.js | 2 + src/components/notifications/GoogleChat.vue | 13 ++++++ src/components/notifications/index.js | 2 + 4 files changed, 63 insertions(+) create mode 100644 server/notification-providers/google-chat.js create mode 100644 src/components/notifications/GoogleChat.vue diff --git a/server/notification-providers/google-chat.js b/server/notification-providers/google-chat.js new file mode 100644 index 00000000..f73f4b5a --- /dev/null +++ b/server/notification-providers/google-chat.js @@ -0,0 +1,46 @@ +const NotificationProvider = require("./notification-provider"); +const axios = require("axios"); +const { setting } = require("../util-server"); +const { getMonitorRelativeURL } = require("../../src/util"); + +class GoogleChat extends NotificationProvider { + + name = "Google Chat"; + + async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { + let okMsg = "Sent Successfully."; + try { + // Google Chat message formatting: https://developers.google.com/chat/api/guides/message-formats/basic + + let textMsg = '' + if (heartbeatJSON && heartbeatJSON.status === UP) { + textMsg = `✅ Application is back online`; + } else { + textMsg = `🔴 Application went down`; + } + + if (monitorJSON && monitorJSON.name) { + textMsg += `\n*${monitorJSON.name}*`; + } + + textMsg += `\n${msg}`; + + const baseURL = await setting("primaryBaseURL"); + if (baseURL) { + textMsg += `\n${baseURL + getMonitorRelativeURL(monitorJSON.id)}`; + } + + const data = { + "text": textMsg, + }; + + await axios.post(notification.googleChatWebhookURL, data); + return okMsg; + } catch (error) { + this.throwGeneralAxiosError(error); + } + + } +} + +module.exports = GoogleChat; diff --git a/server/notification.js b/server/notification.js index 3eb5f97b..56a7e84d 100644 --- a/server/notification.js +++ b/server/notification.js @@ -25,6 +25,7 @@ const DingDing = require("./notification-providers/dingding"); const Bark = require("./notification-providers/bark"); const SerwerSMS = require("./notification-providers/serwersms"); const Stackfield = require("./notification-providers/stackfield"); +const GoogleChat = require("./notification-providers/google-chat"); class Notification { @@ -62,6 +63,7 @@ class Notification { new Bark(), new SerwerSMS(), new Stackfield(), + new GoogleChat() ]; for (let item of list) { diff --git a/src/components/notifications/GoogleChat.vue b/src/components/notifications/GoogleChat.vue new file mode 100644 index 00000000..c19cae0d --- /dev/null +++ b/src/components/notifications/GoogleChat.vue @@ -0,0 +1,13 @@ + diff --git a/src/components/notifications/index.js b/src/components/notifications/index.js index 155a1ab2..67810610 100644 --- a/src/components/notifications/index.js +++ b/src/components/notifications/index.js @@ -24,6 +24,7 @@ import DingDing from "./DingDing.vue"; import Bark from "./Bark.vue"; import SerwerSMS from "./SerwerSMS.vue"; import Stackfield from './Stackfield.vue'; +import GoogleChat from './GoogleChat.vue'; /** * Manage all notification form. @@ -57,6 +58,7 @@ const NotificationFormList = { "Bark": Bark, "serwersms": SerwerSMS, "stackfield": Stackfield, + "Google Chat": GoogleChat } export default NotificationFormList From 83984668608fc9f3ff8e01f6c90fec4d8ecffff3 Mon Sep 17 00:00:00 2001 From: Philipp Bischoff Date: Sat, 11 Dec 2021 23:50:03 +0100 Subject: [PATCH 010/106] order notification types by name --- src/components/notifications/index.js | 40 +++++++++++++-------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/components/notifications/index.js b/src/components/notifications/index.js index 67810610..a7c967ed 100644 --- a/src/components/notifications/index.js +++ b/src/components/notifications/index.js @@ -32,33 +32,33 @@ import GoogleChat from './GoogleChat.vue'; * @type { Record } */ const NotificationFormList = { - "telegram": Telegram, - "webhook": Webhook, - "smtp": STMP, + "AliyunSMS": AliyunSMS, + "apprise": Apprise, + "Bark": Bark, + "clicksendsms": ClickSendSMS, + "DingDing": DingDing, "discord": Discord, - "teams": Teams, - "signal": Signal, + "smtp": STMP, + "Feishu": Feishu, + "Google Chat": GoogleChat, "gotify": Gotify, - "slack": Slack, - "rocket.chat": RocketChat, - "pushover": Pushover, - "pushy": Pushy, + "line": Line, + "lunasea": LunaSea, + "matrix": Matrix, + "mattermost": Mattermost, "octopush": Octopush, "promosms": PromoSMS, - "clicksendsms": ClickSendSMS, - "lunasea": LunaSea, - "Feishu": Feishu, - "AliyunSMS": AliyunSMS, - "apprise": Apprise, "pushbullet": Pushbullet, - "line": Line, - "mattermost": Mattermost, - "matrix": Matrix, - "DingDing": DingDing, - "Bark": Bark, + "pushover": Pushover, + "pushy": Pushy, + "rocket.chat": RocketChat, "serwersms": SerwerSMS, + "signal": Signal, + "slack": Slack, "stackfield": Stackfield, - "Google Chat": GoogleChat + "teams": Teams, + "telegram": Telegram, + "webhook": Webhook } export default NotificationFormList From a71569379ea9bbab2360ed0b129865124721ebf3 Mon Sep 17 00:00:00 2001 From: Philipp Bischoff Date: Sun, 12 Dec 2021 00:01:12 +0100 Subject: [PATCH 011/106] add missing import --- server/notification-providers/google-chat.js | 1 + 1 file changed, 1 insertion(+) diff --git a/server/notification-providers/google-chat.js b/server/notification-providers/google-chat.js index f73f4b5a..897dd691 100644 --- a/server/notification-providers/google-chat.js +++ b/server/notification-providers/google-chat.js @@ -2,6 +2,7 @@ const NotificationProvider = require("./notification-provider"); const axios = require("axios"); const { setting } = require("../util-server"); const { getMonitorRelativeURL } = require("../../src/util"); +const { UP } = require("../../src/util"); class GoogleChat extends NotificationProvider { From 8ad6bd31d40f67c58f542cfc8775765eed7cb47b Mon Sep 17 00:00:00 2001 From: Philipp Bischoff Date: Sun, 12 Dec 2021 00:08:33 +0100 Subject: [PATCH 012/106] Revert "order notification types by name" This reverts commit 83984668608fc9f3ff8e01f6c90fec4d8ecffff3. --- src/components/notifications/index.js | 40 +++++++++++++-------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/components/notifications/index.js b/src/components/notifications/index.js index a7c967ed..67810610 100644 --- a/src/components/notifications/index.js +++ b/src/components/notifications/index.js @@ -32,33 +32,33 @@ import GoogleChat from './GoogleChat.vue'; * @type { Record } */ const NotificationFormList = { - "AliyunSMS": AliyunSMS, - "apprise": Apprise, - "Bark": Bark, - "clicksendsms": ClickSendSMS, - "DingDing": DingDing, - "discord": Discord, + "telegram": Telegram, + "webhook": Webhook, "smtp": STMP, - "Feishu": Feishu, - "Google Chat": GoogleChat, + "discord": Discord, + "teams": Teams, + "signal": Signal, "gotify": Gotify, - "line": Line, - "lunasea": LunaSea, - "matrix": Matrix, - "mattermost": Mattermost, + "slack": Slack, + "rocket.chat": RocketChat, + "pushover": Pushover, + "pushy": Pushy, "octopush": Octopush, "promosms": PromoSMS, + "clicksendsms": ClickSendSMS, + "lunasea": LunaSea, + "Feishu": Feishu, + "AliyunSMS": AliyunSMS, + "apprise": Apprise, "pushbullet": Pushbullet, - "pushover": Pushover, - "pushy": Pushy, - "rocket.chat": RocketChat, + "line": Line, + "mattermost": Mattermost, + "matrix": Matrix, + "DingDing": DingDing, + "Bark": Bark, "serwersms": SerwerSMS, - "signal": Signal, - "slack": Slack, "stackfield": Stackfield, - "teams": Teams, - "telegram": Telegram, - "webhook": Webhook + "Google Chat": GoogleChat } export default NotificationFormList From 56dfa05642e4d84290ea8939609be0721e3fdf16 Mon Sep 17 00:00:00 2001 From: dhfhfk Date: Sun, 12 Dec 2021 18:56:10 +0900 Subject: [PATCH 013/106] Update Ko-KR.js --- src/languages/ko-KR.js | 84 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 78 insertions(+), 6 deletions(-) diff --git a/src/languages/ko-KR.js b/src/languages/ko-KR.js index ad7b4337..a9ff4b60 100644 --- a/src/languages/ko-KR.js +++ b/src/languages/ko-KR.js @@ -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,7 +245,7 @@ export default { "Message Title": "메시지 제목", "Notification Sound": "알림음", "More info on:": "자세한 정보: {0}", - pushoverDesc1: "긴급 우선 순위 (2)는 재시도 사이에 기본적으로 30초의 타임아웃이 있고, 1시간 후에 만료돼요.", + pushoverDesc1: "긴급 우선 순위 (2)는 재시도 사이에 기본적으로 30초의 타임아웃이 있고, 1시간 후에 만료되어요.", pushoverDesc2: "다른 장치에 알림을 보내려면 장치칸을 입력해주세요.", "SMS Type": "SMS 종류", octopushTypePremium: "프리미엄 (빠름) - 알림 기능에 적합해요)", @@ -270,13 +270,85 @@ export default { "Messaging API": "Messaging API 메뉴", wayToGetLineChannelToken: "먼저 {0}에 액세스하고, 공급자 및 채널 (Messaging API)을 만든 다음, 각 메뉴 밑에 언급된 메뉴에서 채널 액세스 토큰과 사용자 ID를 얻을 수 있어요.", "Icon URL": "아이콘 URL", - aboutIconURL: "\"Icon URL\"에 사진 링크를 입력해 프로필 사진을 설정할 수 있어요. 아이콘 이모지가 설정되어 있으면 적용되지 않을 거예요.", + aboutIconURL: "\"아이콘 URL\"에 사진 링크를 입력해 프로필 사진을 설정할 수 있어요. 아이콘 이모지가 설정되어 있으면 적용되지 않을 거예요.", aboutMattermostChannelName: "채널 이름을 입력하면 Webhook이 게시할 기본 채널을 재설정할 수 있어요. 이 설정은 Mattermost 웹훅 설정에서 활성화해야 해요. 예: #기타-채널", - matrix: "매트릭스", + matrix: "Matrix", promosmsTypeEco: "SMS ECO - 저렴하지만 느리고 가끔 과부하에 걸려요. 폴란드 수신자만 사용할 수 있어요. ", - promosmsTypeFlash: "SMS FLASH - 메시지가 받는 사람 장치에 자동으로 표시돼요. 폴란드 수신자만 사용할 수 있어요.", + promosmsTypeFlash: "SMS FLASH - 메시지가 받는 사람 장치에 자동으로 표시되어요. 폴란드 수신자만 사용할 수 있어요.", promosmsTypeFull: "SMS FULL - SMS 프리미엄 티어, 보내는 사람 이름을 먼저 등록해야 해요. 알림 기능에 적합해요.", promosmsTypeSpeed: "SMS SPEED - 시스템에서 가장 높은 우선순위예요. 매우 빠르고 신뢰할 수 있지만 비용이 많이 들어요 (SMS 전체 가격의 약 두 배).", - promosmsPhoneNumber: "전화 번호 (폴란드 수신자라면 지역번호를 적지 않아도 돼요.)", + promosmsPhoneNumber: "전화 번호 (폴란드 수신자라면 지역번호를 적지 않아도 되어요.)", promosmsSMSSender: "SMS 보내는 사람 이름 : 미리 등록된 이름 혹은 기본값 중 하나예요: InfoSMS, SMS Info, MaxSMS, INFO, SMS", + "Primary Base URL": "기본 URL", + "Push URL": "Push URL", + needPushEvery: "You should call this URL every {0} seconds.", + pushOptionalParams: "Optional parameters: {0}", + emailCustomSubject: "Custom Subject", + clicksendsms: "ClickSend SMS", + checkPrice: "{0} 가격 확인:", + apiCredentials: "API credentials", + octopushLegacyHint: "Octopush 레거시 버전 (2011-2020) 을 사용하시나요? 아니면 새 버전을 사용하시나요?", + "Feishu WebHookUrl": "Feishu WebHookURL", + matrixHomeserverURL: "Homeserver URL (with http(s):// and optionally port)", + "Internal Room Id": "내부 방 ID", + matrixDesc1: "Matrix 클라이언트 방 설정의 고급 섹션에서 내부 방 ID를 찾을 수 있어요. 내부 방 ID는 이렇게 생겼답니다: !QMdRCpUIfLwsfjxye6:home.server.", + matrixDesc2: "사용자의 모든 방에 대한 엑세스가 허용될 수 있어서 새로운 사용자를 만들고 원하는 방에만 초대한 후 엑세스 토큰을 사용하는 것이 좋아요. {0} 이 명령어를 통해 엑세스 토큰을 얻을 수 있어요.", + Method: "Method", + Body: "Body", + Headers: "Headers", + PushUrl: "Push URL", + HeadersInvalidFormat: "요청 Headers의 JSON 형식이 올바르지 않아요: ", + BodyInvalidFormat: "요청 Body의 JSON 형식이 올바르지 않아요: ", + "Monitor History": "모니터링 기록", + clearDataOlderThan: "모니터링 기록을 {0}일 동안 저장해요.", + PasswordsDoNotMatch: "비밀번호가 일치하지 않아요.", + records: "records", + "One record": "One record", + steamApiKeyDescription: "스팀 게임 서버를 모니터링하려면 Steam Web API 키가 필요해요. API 키는 하단 사이트에서 등록할 수 있어요: ", + "Current User": "현재 사용자", + recent: "최근", + Done: "완료", + Info: "정보", + Security: "보안", + "Steam API Key": "Steam API Key", + "Shrink Database": "데이터베이스 축소", + "Pick a RR-Type...": "RR-Type을 골라주세요...", + "Pick Accepted Status Codes...": "상태 코드를 골라주세요...", + Default: "기본", + "HTTP Options": "HTTP 옵션", + "Create Incident": "인시던트 만들기", + Title: "제목", + Content: "내용", + Style: "스타일", + info: "정보", + warning: "경고", + danger: "위험", + primary: "기본", + light: "라이트", + dark: "다크", + Post: "올리기", + "Please input title and content": "제목과 내용을 작성해주세요.", + Created: "생성 날짜", + "Last Updated": "마지막 업데이트", + Unpin: "제거", + "Switch to Light Theme": "라이트 테마로 전환", + "Switch to Dark Theme": "다크 테마로 전환", + "Show Tags": "태그 보이기", + "Hide Tags": "태그 숨기기", + Description: "설명", + "No monitors available.": "모니터링이 없어요.", + "Add one": "추가하기", + "No Monitors": "모니터링 없음", + "Untitled Group": "이름없는 그룹", + Services: "서비스", + Discard: "취소", + Cancel: "취소", + "Powered by": "Powered by", + shrinkDatabaseDescription: "SQLite 데이터베이스 VACUUM을 트리거해요. 만약 데이터베이스가 1.10.0 버전 이후에 생성되었다면 AUTO_VACUUM이 설정되어 있어 이 작업은 필요 없을 거에요.", + serwersms: "SerwerSMS.pl", + serwersmsAPIUser: "API Usename (webapi_ 접두사 포함)", + serwersmsAPIPassword: "API 비밀번호", + serwersmsPhoneNumber: "휴대전화 번호", + serwersmsSenderName: "보내는 사람 이름 (registered via customer portal)", + stackfield: "Stackfield", }; From aa92727a61e6df38ed0868a8f1d8e3df347d848a Mon Sep 17 00:00:00 2001 From: Ponkhy Date: Sun, 12 Dec 2021 21:52:51 +0100 Subject: [PATCH 014/106] Updated de-De --- src/languages/de-DE.js | 45 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/languages/de-DE.js b/src/languages/de-DE.js index e6b7710c..6c2dd1f1 100644 --- a/src/languages/de-DE.js +++ b/src/languages/de-DE.js @@ -304,4 +304,49 @@ export default { "One record": "Ein Eintrag", steamApiKeyDescription: "Um einen Steam Game Server zu überwachen, wird ein Steam Web-API-Schlüssel benötigt. Dieser kann hier registriert werden: ", "Current User": "Aktueller Benutzer", + recent: "Letzte", + Done: "Fertig", + Info: "Info", + Security: "Sicherheit", + "Steam API Key": "Steam API Key", + "Shrink Database": "Datenbank verkleinern", + "Pick a RR-Type...": "Wähle ein RR-Typ aus...", + "Pick Accepted Status Codes...": "Wähle akzeptierte Statuscodes aus...", + Default: "Standard", + "HTTP Options": "HTTP Optionen", + "Create Incident": "Vorfall erstellen", + Title: "Titel", + Content: "Inhalt", + Style: "Stil", + info: "info", + warning: "warnung", + danger: "gefahr", + primary: "primär", + light: "hell", + dark: "dunkel", + Post: "Eintrag", + "Please input title and content": "Bitte Titel und Inhalt eingeben", + Created: "Erstellt", + "Last Updated": "Zuletzt aktualisiert", + Unpin: "Loslösen", + "Switch to Light Theme": "Zu hellem Thema wechseln", + "Switch to Dark Theme": "Zum dunklen Thema wechseln", + "Show Tags": "Tags anzeigen", + "Hide Tags": "Tags ausblenden", + Description: "Beschreibung", + "No monitors available.": "Keine Monitore verfügbar.", + "Add one": "Füge eins hinzu", + "No Monitors": "Keine Monitore", + "Untitled Group": "Gruppe ohne Titel", + Services: "Dienste", + Discard: "Verwerfen", + Cancel: "Abbrechen", + "Powered by": "Powered by", + shrinkDatabaseDescription: "Löse VACUUM für die SQLite Datenbank aus. Wenn die Datenbank nach 1.10.0 erstellt wurde, ist AUTO_VACUUM bereits aktiviert und diese Aktion ist nicht erforderlich.", + serwersms: "SerwerSMS.pl", + serwersmsAPIUser: "API Benutzername (inkl. webapi_ prefix)", + serwersmsAPIPassword: "API Passwort", + serwersmsPhoneNumber: "Telefonnummer", + serwersmsSenderName: "Name des SMS-Absenders (über Kundenportal registriert)", + "stackfield": "Stackfield", }; From b10cecb362548cad285f60701544e9754e46e115 Mon Sep 17 00:00:00 2001 From: Erik Date: Tue, 14 Dec 2021 17:59:26 +0100 Subject: [PATCH 015/106] Added sl-SI language Added sl-SI language --- src/components/settings/Security.vue | 6 + src/i18n.js | 1 + src/languages/sl-SI.js | 355 +++++++++++++++++++++++++++ 3 files changed, 362 insertions(+) create mode 100644 src/languages/sl-SI.js diff --git a/src/components/settings/Security.vue b/src/components/settings/Security.vue index 4ef6b3d9..c94c3915 100644 --- a/src/components/settings/Security.vue +++ b/src/components/settings/Security.vue @@ -126,6 +126,12 @@

Bitte mit Vorsicht nutzen.

+ + From a6072a0e306d44c5a5094601e8d6661e31f50878 Mon Sep 17 00:00:00 2001 From: Philipp Bischoff Date: Wed, 15 Dec 2021 13:40:21 +0100 Subject: [PATCH 019/106] google chat: only show offline message in notification when service went down --- server/notification-providers/google-chat.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/server/notification-providers/google-chat.js b/server/notification-providers/google-chat.js index 897dd691..1610553c 100644 --- a/server/notification-providers/google-chat.js +++ b/server/notification-providers/google-chat.js @@ -2,7 +2,7 @@ const NotificationProvider = require("./notification-provider"); const axios = require("axios"); const { setting } = require("../util-server"); const { getMonitorRelativeURL } = require("../../src/util"); -const { UP } = require("../../src/util"); +const { DOWN, UP } = require("../../src/util"); class GoogleChat extends NotificationProvider { @@ -15,16 +15,16 @@ class GoogleChat extends NotificationProvider { let textMsg = '' if (heartbeatJSON && heartbeatJSON.status === UP) { - textMsg = `✅ Application is back online`; - } else { - textMsg = `🔴 Application went down`; + textMsg = `✅ Application is back online\n`; + } else if (heartbeatJSON && heartbeatJSON.status === DOWN) { + textMsg = `🔴 Application went down\n`; } if (monitorJSON && monitorJSON.name) { - textMsg += `\n*${monitorJSON.name}*`; + textMsg += `*${monitorJSON.name}*\n`; } - textMsg += `\n${msg}`; + textMsg += `${msg}`; const baseURL = await setting("primaryBaseURL"); if (baseURL) { From a42932a43efd66b347c9493c3ebbba7dff07aada Mon Sep 17 00:00:00 2001 From: Louis Lam Date: Thu, 16 Dec 2021 15:09:10 +0800 Subject: [PATCH 020/106] Simulate Chrome's request Accept header. Better handling of #1067 --- server/model/monitor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/model/monitor.js b/server/model/monitor.js index 6aa614b7..c4441d63 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -168,7 +168,7 @@ class Monitor extends BeanModel { ...(this.body ? { data: JSON.parse(this.body) } : {}), timeout: this.interval * 1000 * 0.8, headers: { - "Accept": "*/*", + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "User-Agent": "Uptime-Kuma/" + version, ...(this.headers ? JSON.parse(this.headers) : {}), ...(basicAuthHeader), From 0de7fb69f67d295fb28e43edbe540812c5a03b26 Mon Sep 17 00:00:00 2001 From: MrEddX <66828538+MrEddX@users.noreply.github.com> Date: Fri, 17 Dec 2021 12:29:53 +0200 Subject: [PATCH 021/106] Update bg-BG.js Added new fields. Translated new fields. --- src/languages/bg-BG.js | 43 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/languages/bg-BG.js b/src/languages/bg-BG.js index 3ae95b36..180b766d 100644 --- a/src/languages/bg-BG.js +++ b/src/languages/bg-BG.js @@ -308,4 +308,47 @@ export default { "Current User": "Текущ потребител", recent: "Скорошни", shrinkDatabaseDescription: "Инициира \"VACUUM\" за \"SQLite\" база данни. Ако Вашата база данни е създадена след версия 1.10.0, \"AUTO_VACUUM\" функцията е активна и това действие не нужно.", + Done: "Готово", + Info: "Информация", + Security: "Сигурност", + "Steam API Key": "Steam API ключ", + "Shrink Database": "Редуциране база данни", + "Pick a RR-Type...": "Изберете вида на ресурсния запис за мониторитане...", + "Pick Accepted Status Codes...": "Изберете статус кодове, които да се считат за успешен отговор...", + Default: "По подразбиране", + "HTTP Options": "HTTP Опции", + "Create Incident": "Създаване на инцидент", + Title: "Заглавие", + Content: "Съдържание", + Style: "Стил", + info: "информация", + warning: "предупреждение", + danger: "опасност", + primary: "основен", + light: "светъл", + dark: "тъмен", + Post: "Публикувай", + "Please input title and content": "Моля, въведете заглавие и съдържание", + Created: "Създаден", + "Last Updated": "Последно обновен", + Unpin: "Откачи", + "Switch to Light Theme": "Превключи към светла тема", + "Switch to Dark Theme": "Превключи към тъмна тема", + "Show Tags": "Покажи етикети", + "Hide Tags": "Скрий етикети", + Description: "Описание", + "No monitors available.": "Няма налични монитори.", + "Add one": "Добави един", + "No Monitors": "Няма монитори", + "Untitled Group": "Група без заглавие", + Services: "Услуги", + Discard: "Премахни", + Cancel: "Отмени", + "Powered by": "Създадено чрез", + serwersms: "SerwerSMS.pl", + serwersmsAPIUser: "API Потребителско име (вкл. webapi_ prefix)", + serwersmsAPIPassword: "API Парола", + serwersmsPhoneNumber: "Телефон номер", + serwersmsSenderName: "SMS Подател име (регистриран през клиентския портал)", + stackfield: "Stackfield", }; From 624cd862a5e38980cfce5b25b78acc0451ea45dc Mon Sep 17 00:00:00 2001 From: Nelson Chan Date: Sun, 19 Dec 2021 13:30:53 +0800 Subject: [PATCH 022/106] Feat: Expose SMTP DKIM settings --- server/notification-providers/smtp.js | 8 ++ src/assets/app.scss | 14 +++ src/components/ToggleSection.vue | 67 ++++++++++++ src/components/notifications/SMTP.vue | 147 ++++++++++++++++---------- src/icon.js | 2 + src/languages/en.js | 10 +- 6 files changed, 191 insertions(+), 57 deletions(-) create mode 100644 src/components/ToggleSection.vue diff --git a/server/notification-providers/smtp.js b/server/notification-providers/smtp.js index 14429bca..1be68aea 100644 --- a/server/notification-providers/smtp.js +++ b/server/notification-providers/smtp.js @@ -15,6 +15,14 @@ class SMTP extends NotificationProvider { tls: { rejectUnauthorized: notification.smtpIgnoreTLSError || false, }, + dkim: { + domainName: notification.smtpDkimDomain, + keySelector: notification.smtpDkimKeySelector, + privateKey: notification.smtpDkimPrivateKey, + hashAlgo: notification.smtpDkimHashAlgo, + headerFieldNames: notification.smtpDkimheaderFieldNames, + skipFields: notification.smtpDkimskipFields, + } }; // Should fix the issue in https://github.com/louislam/uptime-kuma/issues/26#issuecomment-896373904 diff --git a/src/assets/app.scss b/src/assets/app.scss index 5578946b..cec64467 100644 --- a/src/assets/app.scss +++ b/src/assets/app.scss @@ -313,6 +313,20 @@ textarea.form-control { opacity: 0; } +.slide-fade-up-enter-active { + transition: all 0.2s $easing-in; +} + +.slide-fade-up-leave-active { + transition: all 0.2s $easing-in; +} + +.slide-fade-up-enter-from, +.slide-fade-up-leave-to { + transform: translateY(-50px); + opacity: 0; +} + .monitor-list { &.scrollbar { min-height: calc(100vh - 240px); diff --git a/src/components/ToggleSection.vue b/src/components/ToggleSection.vue new file mode 100644 index 00000000..bc6028d7 --- /dev/null +++ b/src/components/ToggleSection.vue @@ -0,0 +1,67 @@ + + + + + diff --git a/src/components/notifications/SMTP.vue b/src/components/notifications/SMTP.vue index ab660abe..899f8f9b 100644 --- a/src/components/notifications/SMTP.vue +++ b/src/components/notifications/SMTP.vue @@ -1,82 +1,117 @@