From 13acdd4c657c4774a2b51ae323b43723fddfbc15 Mon Sep 17 00:00:00 2001
From: Joseph Benguira <z51biz@gmail.com>
Date: Wed, 12 Jan 2022 10:12:12 +0200
Subject: [PATCH 01/10] Fix for issue in logs

This fix address the issue described here: https://github.com/louislam/uptime-kuma/issues/1024
---
 server/prometheus.js | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/server/prometheus.js b/server/prometheus.js
index 870581d2..e53dee5c 100644
--- a/server/prometheus.js
+++ b/server/prometheus.js
@@ -60,7 +60,9 @@ class Prometheus {
             }
 
             try {
-                monitor_cert_days_remaining.set(this.monitorLabelValues, tlsInfo.certInfo.daysRemaining);
+                if ( tlsInfo.certInfo != null ){
+                    monitor_cert_days_remaining.set(this.monitorLabelValues, tlsInfo.certInfo.daysRemaining);
+                }
             } catch (e) {
                 console.error(e);
             }

From 329c8cbc2d9848f78b2f3d28eac3fb092a54f6a7 Mon Sep 17 00:00:00 2001
From: sovushik <30425777+sovushik@users.noreply.github.com>
Date: Thu, 13 Jan 2022 22:07:21 +0500
Subject: [PATCH 02/10] Update ru-RU.js

Add new string
---
 src/languages/ru-RU.js | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/languages/ru-RU.js b/src/languages/ru-RU.js
index c67937b0..45782320 100644
--- a/src/languages/ru-RU.js
+++ b/src/languages/ru-RU.js
@@ -327,4 +327,5 @@ export default {
     "Backup": "Резервная копия",
     "Security": "Безопасность",
     "Current User:": "Текущий пользователь:",
+    "All Systems Operational": "Все системы работают",
 };

From 6490ef3787acf1f1780baf44651770794e9d7189 Mon Sep 17 00:00:00 2001
From: Dylan Khor <dylan@khord.net>
Date: Thu, 13 Jan 2022 16:46:09 -0500
Subject: [PATCH 03/10] rename 2fa input element id and display name

---
 src/components/Login.vue | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/components/Login.vue b/src/components/Login.vue
index 543ca041..bdc1dcc8 100644
--- a/src/components/Login.vue
+++ b/src/components/Login.vue
@@ -16,8 +16,8 @@
 
                 <div v-if="tokenRequired">
                     <div class="form-floating mt-3">
-                        <input id="floatingToken" v-model="token" type="text" maxlength="6" class="form-control" placeholder="123456">
-                        <label for="floatingToken">{{ $t("Token") }}</label>
+                        <input id="otp" v-model="token" type="text" maxlength="6" class="form-control" placeholder="123456">
+                        <label for="otp">{{ $t("2FA Code") }}</label>
                     </div>
                 </div>
 

From b89efa49aa76a381294b9408c3bd4c616f530d39 Mon Sep 17 00:00:00 2001
From: Dylan Khor <dylan@khord.net>
Date: Thu, 13 Jan 2022 16:58:46 -0500
Subject: [PATCH 04/10] retain Token verbiage in display name

since "Token" is used in several places in the 2FA setup screen
---
 src/components/Login.vue | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/components/Login.vue b/src/components/Login.vue
index bdc1dcc8..c32ce361 100644
--- a/src/components/Login.vue
+++ b/src/components/Login.vue
@@ -17,7 +17,7 @@
                 <div v-if="tokenRequired">
                     <div class="form-floating mt-3">
                         <input id="otp" v-model="token" type="text" maxlength="6" class="form-control" placeholder="123456">
-                        <label for="otp">{{ $t("2FA Code") }}</label>
+                        <label for="otp">{{ $t("2FA Token") }}</label>
                     </div>
                 </div>
 

From 812e80030bff0ec2fb830c121b72a3852ab41492 Mon Sep 17 00:00:00 2001
From: Dylan Khor <dylan@khord.net>
Date: Thu, 13 Jan 2022 23:43:57 -0500
Subject: [PATCH 05/10] revert Token because of language file

---
 src/components/Login.vue | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/components/Login.vue b/src/components/Login.vue
index c32ce361..987651e2 100644
--- a/src/components/Login.vue
+++ b/src/components/Login.vue
@@ -17,7 +17,7 @@
                 <div v-if="tokenRequired">
                     <div class="form-floating mt-3">
                         <input id="otp" v-model="token" type="text" maxlength="6" class="form-control" placeholder="123456">
-                        <label for="otp">{{ $t("2FA Token") }}</label>
+                        <label for="otp">{{ $t("Token") }}</label>
                     </div>
                 </div>
 

From 3b9fac29421e36d1d4f7e399248f5dfedf57f59d Mon Sep 17 00:00:00 2001
From: Joseph Benguira <z51biz@gmail.com>
Date: Fri, 14 Jan 2022 08:51:45 +0200
Subject: [PATCH 06/10] Update server/prometheus.js

removed useless spaces

Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
---
 server/prometheus.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/server/prometheus.js b/server/prometheus.js
index e53dee5c..f91b0a13 100644
--- a/server/prometheus.js
+++ b/server/prometheus.js
@@ -60,7 +60,7 @@ class Prometheus {
             }
 
             try {
-                if ( tlsInfo.certInfo != null ){
+                if (tlsInfo.certInfo != null) {
                     monitor_cert_days_remaining.set(this.monitorLabelValues, tlsInfo.certInfo.daysRemaining);
                 }
             } catch (e) {

From a9df7b4a14f8ea6e74d2bc4dcc31a0202eb32257 Mon Sep 17 00:00:00 2001
From: Phuong Nguyen Minh <mrphuongbn@gmail.com>
Date: Fri, 28 Jan 2022 20:23:37 +0700
Subject: [PATCH 07/10] Update vi.js (#1226)

* update vi.js
---
 src/languages/vi.js | 58 +++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 56 insertions(+), 2 deletions(-)

diff --git a/src/languages/vi.js b/src/languages/vi.js
index bc2e86de..22538f91 100644
--- a/src/languages/vi.js
+++ b/src/languages/vi.js
@@ -176,8 +176,8 @@ export default {
     statusPageNothing: "Không có gì, hãy thêm nhóm monitor hoặc monitor.",
     "No Services": "Không có dịch vụ",
     "All Systems Operational": "Tất cả các hệ thống hoạt động bình thường",
-    "Partially Degraded Service": "Dịch vụ xuống cấp một phần",
-    "Degraded Service": "Degraded Service",
+    "Partially Degraded Service": "Có hệ thống down",
+    "Degraded Service": "Toàn bộ hệ thống down",
     "Add Group": "Thêm nhóm",
     "Add a monitor": "Thêm monitor",
     "Edit Status Page": "Sửa trang trạng thái",
@@ -243,6 +243,7 @@ export default {
     clicksendsms: "ClickSend SMS",
     lunasea: "LunaSea",
     apprise: "Apprise (Hỗ trợ 50+ dịch vụ thông báo)",
+    GoogleChat: "Google Chat (Google Workspace only)",
     pushbullet: "Pushbullet",
     line: "Line Messenger",
     mattermost: "Mattermost",
@@ -307,4 +308,57 @@ export default {
     steamApiKeyDescription: "Để monitor các Steam Game Server bạn cần một Steam Web-API key. Bạn có thể đăng ký API key tại đây: ",
     "Current User": "User hiện tại",
     recent: "Gần đây",
+    Done: "Done",
+    Info: "Info",
+    Security: "Security",
+    "Steam API Key": "Steam API Key",
+    "Shrink Database": "Shrink Database",
+    "Pick a RR-Type...": "Pick a RR-Type...",
+    "Pick Accepted Status Codes...": "Chọn các Codes trạng thái chấp nhận được...",
+    Default: "Mặc định",
+    "HTTP Options": "Tuỳ chọn HTTP",
+    "Create Incident": "Create Incident",
+    Title: "Tiêu đề",
+    Content: "Nội dung",
+    Style: "Style",
+    info: "info",
+    warning: "cảnh báo",
+    danger: "nguy hiểm",
+    primary: "primary",
+    light: "sáng",
+    dark: "tối",
+    Post: "Post",
+    "Please input title and content": "Hãy nhập tiêu đề và nội dung",
+    Created: "Created",
+    "Last Updated": "Cập nhật mới nhất",
+    Unpin: "Bỏ ghim",
+    "Switch to Light Theme": "Chuyển sang Theme Sáng",
+    "Switch to Dark Theme": "Chuyển sang Theme Tối",
+    "Show Tags": "Hiện Tags",
+    "Hide Tags": "Ẩn Tags",
+    Description: "Mô tả",
+    "No monitors available.": "Không có monitor nào.",
+    "Add one": "Thêm mới",
+    "No Monitors": "No Monitors",
+    "Untitled Group": "Nhóm không có tiêu đề",
+    Services: "Services",
+    Discard: "Discard",
+    Cancel: "Cancel",
+    "Powered by": "Được cung cấp bởi",
+    shrinkDatabaseDescription: "Khởi chạy database VACCUM cho SQLite. Nếu database được tạo sau version 1.10.0, AUTO_VACCUM đã được bật sẵn, hành động này không cần thiết.",
+    serwersms: "SerwerSMS.pl",
+    serwersmsAPIUser: "API Username (incl. webapi_ prefix)",
+    serwersmsAPIPassword: "API Password",
+    serwersmsPhoneNumber: "Số điện thoại",
+    serwersmsSenderName: "Tên người gửi SMS (Đã đăng ký qua portal)",
+    "stackfield": "Stackfield",
+    smtpDkimSettings: "DKIM Settings",
+    smtpDkimDesc: "Please refer to the Nodemailer DKIM {0} for usage.",
+    documentation: "documentation",
+    smtpDkimDomain: "Domain Name",
+    smtpDkimKeySelector: "Key Selector",
+    smtpDkimPrivateKey: "Private Key",
+    smtpDkimHashAlgo: "Hash Algorithm (Tuỳ chọn)",
+    smtpDkimheaderFieldNames: "Header Keys to sign (Tuỳ chọn)",
+    smtpDkimskipFields: "Header Keys not to sign (Tuỳ chọn)",
 };

From 65896ed03541e20ab61fc73cc028145ea19fbd8a Mon Sep 17 00:00:00 2001
From: dave9123 <91056752+dave9123@users.noreply.github.com>
Date: Mon, 31 Jan 2022 08:01:45 +0700
Subject: [PATCH 08/10] Fixed some grammar error

I fixed at some part of the text.
---
 src/languages/id-ID.js | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/languages/id-ID.js b/src/languages/id-ID.js
index 5bad2a7e..7ce581fc 100644
--- a/src/languages/id-ID.js
+++ b/src/languages/id-ID.js
@@ -12,7 +12,7 @@ export default {
     keywordDescription: "Cari kata kunci dalam code html atau JSON huruf besar-kecil berpengaruh",
     pauseDashboardHome: "Jeda",
     deleteMonitorMsg: "Apakah Anda mau menghapus monitor ini?",
-    deleteNotificationMsg: "Apakah Anda mau menghapus notifikasi ini untuk semua monitor?",
+    deleteNotificationMsg: "Apakah Anda mau menghapus notifikasi untuk semua monitor?",
     resoverserverDescription: "Cloudflare adalah server bawaan, Anda dapat mengubah server resolver kapan saja.",
     rrtypeDescription: "Pilih RR-Type yang mau Anda monitor",
     pauseMonitorMsg: "Apakah Anda yakin mau menjeda?",
@@ -23,9 +23,9 @@ export default {
     importHandleDescription: "Pilih 'Lewati yang ada' jika Anda ingin melewati setiap monitor atau notifikasi dengan nama yang sama. 'Timpa' akan menghapus setiap monitor dan notifikasi yang ada.",
     confirmImportMsg: "Apakah Anda yakin untuk mengimpor cadangan? Pastikan Anda telah memilih opsi impor yang tepat.",
     twoFAVerifyLabel: "Silakan ketik token Anda untuk memverifikasi bahwa 2FA berfungsi",
-    tokenValidSettingsMsg: "Tokennya benar! Anda sekarang dapat menyimpan pengaturan 2FA.",
-    confirmEnableTwoFAMsg: "Apakah Anda yakin ingin mengaktifkan 2FA?",
-    confirmDisableTwoFAMsg: "Apakah Anda yakin ingin menonaktifkan 2FA?",
+    tokenValidSettingsMsg: "Token benar! Anda sekarang dapat menyimpan pengaturan 2FA.",
+    confirmEnableTwoFAMsg: "Apakah anda yakin ingin mengaktifkan 2FA?",
+    confirmDisableTwoFAMsg: "Apakah anda yakin ingin menonaktifkan 2FA?",
     Settings: "Pengaturan",
     Dashboard: "Dasbor",
     "New Update": "Pembaruan Baru",
@@ -276,7 +276,7 @@ export default {
     promosmsTypeEco: "SMS ECO - murah tapi lambat dan sering kelebihan beban. Terbatas hanya untuk penerima Polandia.",
     promosmsTypeFlash: "SMS FLASH - Pesan akan otomatis muncul di perangkat penerima. Terbatas hanya untuk penerima Polandia.",
     promosmsTypeFull: "SMS FULL - SMS tingkat premium, Anda dapat menggunakan Nama Pengirim Anda (Anda harus mendaftarkan nama terlebih dahulu). Dapat diAndalkan untuk peringatan.",
-    promosmsTypeSpeed: "SMS SPEED - Prioritas tertinggi dalam sistem. Sangat cepat dan dapat diAndalkan tetapi mahal (sekitar dua kali lipat dari harga SMS FULL).",
+    promosmsTypeSpeed: "SMS SPEED - Prioritas tertinggi dalam sistem. Sangat cepat dan dapat diandalkan tetapi mahal (sekitar dua kali lipat dari harga SMS FULL).",
     promosmsPhoneNumber: "Nomor telepon (untuk penerima Polandia Anda dapat melewati kode area)",
     promosmsSMSSender: "Nama Pengirim SMS : Nama pra-registrasi atau salah satu bawaan: InfoSMS, Info SMS, MaxSMS, INFO, SMS",
     "Feishu WebHookUrl": "Feishu WebHookUrl",

From 0fce1b4b9b6ee42f965c816620219cefbbd071ab Mon Sep 17 00:00:00 2001
From: vfaergestad <49147564+vfaergestad@users.noreply.github.com>
Date: Tue, 1 Feb 2022 17:31:00 +0100
Subject: [PATCH 09/10] Update nb-NO.js (#1232)

Improved and finished the translation.
---
 src/languages/nb-NO.js | 116 ++++++++++++++++++++---------------------
 1 file changed, 58 insertions(+), 58 deletions(-)

diff --git a/src/languages/nb-NO.js b/src/languages/nb-NO.js
index 0e566a01..4908a257 100644
--- a/src/languages/nb-NO.js
+++ b/src/languages/nb-NO.js
@@ -4,24 +4,24 @@ export default {
     retryCheckEverySecond: "Prøv igjen hvert {0} sekund.",
     retriesDescription: "Maksimalt antall forsøk før tjenesten er merket som nede og et varsel sendes",
     ignoreTLSError: "Ignorer TLS/SSL-feil for HTTPS-nettsteder",
-    upsideDownModeDescription: "Snu statusen opp ned. Hvis tjenesten er tilgjengelig, er den NED.",
+    upsideDownModeDescription: "Snu statusen opp ned. Hvis tjenesten er tilgjengelig, er den NEDE.",
     maxRedirectDescription: "Maksimalt antall viderekoblinger å følge. Sett til 0 for å deaktivere viderekoblinger.",
-    acceptedStatusCodesDescription: "Velg statuskoder som anses som et vellykket svar.",
+    acceptedStatusCodesDescription: "Velg statuskoder som anses som en vellykket respons.",
     passwordNotMatchMsg: "Passordene stemmer ikke overens.",
-    notificationDescription: "Tilordne et varsel for å overvåkningen for å få det til å fungere.",
-    keywordDescription: "Søk etter nøkkelord i vanlig HTML eller JSON, og det er versalfølsom",
+    notificationDescription: "Varsler må tilordnes en overvåkning for å fungere.",
+    keywordDescription: "Søk etter nøkkelord i ren HTML eller JSON. Søket skiller mellom store og små bokstaver.",
     pauseDashboardHome: "Pause",
     deleteMonitorMsg: "Er du sikker på at du vil slette denne overvåkningen?",
     deleteNotificationMsg: "Er du sikker på at du vil slette dette varselet for alle overvåkningene?",
-    resoverserverDescription: "Cloudflare er standardserveren, kan du når som helst endre DNS-serveren.",
+    resoverserverDescription: "Cloudflare er standardserveren. Du kan endre DNS-serveren når som helst.",
     rrtypeDescription: "Velg RR-typen du vil overvåke",
-    pauseMonitorMsg: "Er du sikker på at du vil sette en pause?",
+    pauseMonitorMsg: "Er du sikker på at du vil sette på pause?",
     enableDefaultNotificationDescription: "For hver ny overvåkning vil denne varslingen være aktivert som standard. Du kan fortsatt deaktivere varselet separat for hver overvåkning.",
     clearEventsMsg: "Er du sikker på at du vil slette alle hendelser for denne overvåkningen?",
     clearHeartbeatsMsg: "Er du sikker på at du vil slette alle hjerteslag for denne overvåkningen?",
     confirmClearStatisticsMsg: "Er du sikker på at du vil slette ALL statistikk?",
     importHandleDescription: "Velg 'Hopp over eksisterende' hvis du vil hoppe over hver overvåkning eller varsel med samme navn. 'Overskriv' sletter alle eksisterende overvåkninger og varsler.",
-    confirmImportMsg: "Er du sikker på å importere sikkerhetskopien? Sørg for at du har valgt riktig importalternativ.",
+    confirmImportMsg: "Er du sikker på at du vil importere denne sikkerhetskopien? Sørg for at du har valgt riktig importalternativ.",
     twoFAVerifyLabel: "Skriv inn tokenet ditt for å bekrefte at 2FA fungerer",
     tokenValidSettingsMsg: "Token er gyldig! Du kan nå lagre 2FA-innstillingene.",
     confirmEnableTwoFAMsg: "Er du sikker på at du vil aktivere 2FA?",
@@ -50,7 +50,7 @@ export default {
     Message: "Melding",
     "No important events": "Ingen viktige hendelser",
     Resume: "Fortsett",
-    Edit: "Endre",
+    Edit: "Rediger",
     Delete: "Slett",
     Current: "Nåværende",
     Uptime: "Oppetid",
@@ -77,7 +77,7 @@ export default {
     "Accepted Status Codes": "Godkjente statuskoder",
     Save: "Lagre",
     Notifications: "Varsler",
-    "Not available, please setup.": "Ikke tilgjengelig, sett opp.",
+    "Not available, please setup.": "Ikke tilgjengelig, venligst sett opp.",
     "Setup Notification": "Sett opp varsel",
     Light: "Lys",
     Dark: "Mørk",
@@ -87,9 +87,9 @@ export default {
     Bottom: "Bunn",
     None: "Ingen",
     Timezone: "Tidssone",
-    "Search Engine Visibility": "Søkemotor synlighet",
+    "Search Engine Visibility": "Søkemotor-synlighet",
     "Allow indexing": "Tillat indeksering",
-    "Discourage search engines from indexing site": "Avskrekk søkemotorer fra å indeksere nettstedet",
+    "Discourage search engines from indexing site": "Fraråd søkemotorer fra å indeksere nettstedet",
     "Change Password": "Endre passord",
     "Current Password": "Nåværende passord",
     "New Password": "Nytt passord",
@@ -99,7 +99,7 @@ export default {
     "Enable Auth": "Aktiver autentisering",
     Logout: "Logg ut",
     Leave: "Forlat",
-    "I understand, please disable": "Jeg forstår, deaktiver",
+    "I understand, please disable": "Jeg forstår, vennligst deaktiver",
     Confirm: "Bekreft",
     Yes: "Ja",
     No: "Nei",
@@ -125,15 +125,15 @@ export default {
     respTime: "Svartid (ms)",
     notAvailableShort: "N/A",
     "Default enabled": "Standard aktivert",
-    "Apply on all existing monitors": "Påfør på alle eksisterende overvåkninger",
+    "Apply on all existing monitors": "Anvend for alle eksisterende overvåkninger",
     Create: "Opprett",
     "Clear Data": "Slett data",
     Events: "Hendelser",
     Heartbeats: "Hjerteslag",
-    "Auto Get": "Auto Get",
+    "Auto Get": "Auto Hent",
     backupDescription: "Du kan sikkerhetskopiere alle overvåkninger og alle varsler til en JSON-fil.",
     backupDescription2: "PS: Historikk og hendelsesdata er ikke inkludert.",
-    backupDescription3: "Følsomme data som varslingstokener er inkludert i eksportfilen. Vennligst oppbevar dem nøye.",
+    backupDescription3: "Følsomme data som varslingstokener er inkludert i eksportfilen. Vennligst oppbevar dem sikkert.",
     alertNoFile: "Velg en fil som skal importeres.",
     alertWrongFileType: "Velg en JSON-fil.",
     "Clear all statistics": "Fjern all statistikk",
@@ -154,7 +154,7 @@ export default {
     Tags: "Etiketter",
     "Add New below or Select...": "Legg til nytt nedenfor eller Velg ...",
     "Tag with this name already exist.": "Etikett med dette navnet eksisterer allerede.",
-    "Tag with this value already exist.": "Etikett med denne verdien finnes allerede.",
+    "Tag with this value already exist.": "Etikett med denne verdien eksisterer allerede.",
     color: "farge",
     "value (optional)": "verdi (valgfritt)",
     Gray: "Grå",
@@ -172,29 +172,29 @@ export default {
     statusPageNothing: "Ingenting her, vennligst legg til en gruppe eller en overvåkning.",
     "No Services": "Ingen tjenester",
     "All Systems Operational": "Alle systemer i drift",
-    "Partially Degraded Service": "Delvis degradert drift",
-    "Degraded Service": "Degradert drift",
+    "Partially Degraded Service": "Delvis degradert tjeneste",
+    "Degraded Service": "Degradert tjeneste",
     "Add Group": "Legg til gruppe",
     "Add a monitor": "Legg til en overvåkning",
     "Edit Status Page": "Rediger statusside",
     "Go to Dashboard": "Gå til Dashboard",
     "Status Page": "Statusside",
     defaultNotificationName: "Min {notification} varsling ({number})",
-    here: "here",
+    here: "her",
     Required: "Obligatorisk",
     telegram: "Telegram",
     "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å chat-ID-en din ved å sende meldingen til boten og gå til denne nettadressen for å se chat_id:",
+    wayToGetTelegramChatID: "Du kan få chat-ID-en din ved å sende en melding til boten og gå til denne nettadressen for å se chat_id:",
     "YOUR BOT TOKEN HERE": "DITT BOT TOKEN HER",
     chatIDNotFound: "Chat-ID ble ikke funnet. Send en melding til denne boten først",
     webhook: "Webhook",
     "Post URL": "Post URL",
-    "Content Type": "Content Type",
+    "Content Type": "Innholdstype",
     webhookJsonDesc: "{0} er bra for alle moderne HTTP-servere som express.js",
-    webhookFormDataDesc: "{multipart} er bra for PHP, du trenger bare å analysere JSON etter {decodeFunction}",
+    webhookFormDataDesc: "{multipart} er bra for PHP. JSON trenger å bli analysert med {decodeFunction}",
     smtp: "E-post (SMTP)",
     secureOptionNone: "None / STARTTLS (25, 587)",
     secureOptionTLS: "TLS (465)",
@@ -205,7 +205,7 @@ export default {
     smtpBCC: "BCC",
     discord: "Discord",
     "Discord Webhook URL": "Discord Webhook URL",
-    wayToGetDiscordURL: "Du kan få dette ved å gå til Serverinnstillinger -> Integrasjoner -> Webhooks -> Ny webhook",
+    wayToGetDiscordURL: "Du kan få denne ved å gå til Serverinnstillinger -> Integrasjoner -> Opprett en Webhook",
     "Bot Display Name": "Bot Visningsnavn",
     "Prefix Custom Message": "Prefiks tilpasset melding",
     "Hello @everyone is...": "Hei {'@'}everyone det er...",
@@ -240,43 +240,43 @@ export default {
     pushbullet: "Pushbullet",
     line: "Line Messenger",
     mattermost: "Mattermost",
-    "User Key": "User Key",
-    Device: "Device",
-    "Message Title": "Message Title",
-    "Notification Sound": "Notification Sound",
-    "More info on:": "More info on: {0}",
-    pushoverDesc1: "Emergency priority (2) has default 30 second timeout between retries and will expire after 1 hour.",
-    pushoverDesc2: "If you want to send notifications to different devices, fill out Device field.",
+    "User Key": "Bruker-nøkkel",
+    Device: "Enhet",
+    "Message Title": "Meldingstittel",
+    "Notification Sound": "Notifikasjonslyd",
+    "More info on:": "Mer info på: {0}",
+    pushoverDesc1: "Nødsprioritet (2) har en standard 30 sekunders tidsavbrudd mellom forsøk og vil utløpe etter 1 time.",
+    pushoverDesc2: "Hvis du vil sende varsler til forskjellige enheteter, fyll ut Enhet-feltet.",
     "SMS Type": "SMS Type",
-    octopushTypePremium: "Premium (Fast - recommended for alerting)",
-    octopushTypeLowCost: "Low Cost (Slow, sometimes blocked by operator)",
-    "Check octopush prices": "Check octopush prices {0}.",
-    octopushPhoneNumber: "Phone number (intl format, eg : +33612345678) ",
-    octopushSMSSender: "SMS Sender Name : 3-11 alphanumeric characters and space (a-zA-Z0-9)",
-    "LunaSea Device ID": "LunaSea Device ID",
+    octopushTypePremium: "Premium (Raskt - anbefalt for varsling)",
+    octopushTypeLowCost: "Lav kostnad (Sakte, noen ganger blokkert av leverandør)",
+    "Check octopush prices": "Sjekk octopush priser {0}.",
+    octopushPhoneNumber: "Telefonnummer (intl format, eg : +4791234567) ",
+    octopushSMSSender: "SMS Avsendernavn : 3-11 alphanumeriske tegn og mellomrom (a-zA-Z0-9)",
+    "LunaSea Device ID": "LunaSea Enhet ID",
     "Apprise URL": "Apprise URL",
-    "Example:": "Example: {0}",
-    "Read more:": "Read more: {0}",
+    "Example:": "Eksempel: {0}",
+    "Read more:": "Les mer: {0}",
     "Status:": "Status: {0}",
-    "Read more": "Read more",
-    appriseInstalled: "Apprise is installed.",
-    appriseNotInstalled: "Apprise is not installed. {0}",
-    "Access Token": "Access Token",
-    "Channel access token": "Channel access token",
-    "Line Developers Console": "Line Developers Console",
-    lineDevConsoleTo: "Line Developers Console - {0}",
-    "Basic Settings": "Basic Settings",
-    "User ID": "User ID",
-    "Messaging API": "Messaging API",
-    wayToGetLineChannelToken: "First access the {0}, create a provider and channel (Messaging API), then you can get the channel access token and user id from the above mentioned menu items.",
-    "Icon URL": "Icon URL",
-    aboutIconURL: "You can provide a link to a picture in \"Icon URL\" to override the default profile picture. Will not be used if Icon Emoji is set.",
-    aboutMattermostChannelName: "You can override the default channel that webhook posts to by entering the channel name into \"Channel Name\" field. This needs to be enabled in Mattermost webhook settings. Ex: #other-channel",
+    "Read more": "Les mer",
+    appriseInstalled: "Apprise er installert.",
+    appriseNotInstalled: "Apprise ikke installert. {0}",
+    "Access Token": "Tilgangs-Token",
+    "Channel access token": "Kanal tilgangs-token",
+    "Line Developers Console": "Line Utviklserskonsoll",
+    lineDevConsoleTo: "Line Utviklserskonsoll - {0}",
+    "Basic Settings": "Grunnleggende instillinger",
+    "User ID": "Bruker-ID",
+    "Messaging API": "Meldings-API",
+    wayToGetLineChannelToken: "Først, få tilgang til {0}, lag en leverandør og kanal (Meldings-API),  deretter kan du hente kanaltilgangs-token og bruker id fra menu-valgene nevnt over.",
+    "Icon URL": "Ikon URL",
+    aboutIconURL: "Du kan gi en link til et bilde i \"Ikon URL\" for å overskrive det standard profilbildet. Vil ikke bli brukt hvis Ikon Emoji ikke er satt.",
+    aboutMattermostChannelName: "Du kan overskrive standardkanalen som webhook-en poster i ved å skrive enn kanalnavnet i \"Kanalnavn\" feltet. Dette må være skrudd på i Mattermost webhook-instillingene. Eks: #other-channel",
     matrix: "Matrix",
-    promosmsTypeEco: "SMS ECO - cheap but slow and often overloaded. Limited only to Polish recipients.",
-    promosmsTypeFlash: "SMS FLASH - Message will automatically show on recipient device. Limited only to Polish recipients.",
-    promosmsTypeFull: "SMS FULL - Premium tier of SMS, You can use Your Sender Name (You need to register name first). Reliable for alerts.",
-    promosmsTypeSpeed: "SMS SPEED - Highest priority in system. Very quick and reliable but costly (about twice of SMS FULL price).",
-    promosmsPhoneNumber: "Phone number (for Polish recipient You can skip area codes)",
-    promosmsSMSSender: "SMS Sender Name : Pre-registred name or one of defaults: InfoSMS, SMS Info, MaxSMS, INFO, SMS",
+    promosmsTypeEco: "SMS ECO - billig, men treg og ofte overbelastet. Begrenset til bare polske mottakere.",
+    promosmsTypeFlash: "SMS FLASH - Melding vil automatisk vises på mottakker-enhet. Begrenset til bare polske mottakere.",
+    promosmsTypeFull: "SMS FULL - Premuimnivå SMS. Du kan bruke dit avsendernavn (Du må registerere et navn først). Pålitelig for alle varslinger.",
+    promosmsTypeSpeed: "SMS SPEED - Høyest prioritet i systemet.Veldig rask på pålitelig, men dyrt (omtrent det dobbeltet av SMS FULL pris).",
+    promosmsPhoneNumber: "Telefonnummber (for polske mottakere. Du trenger ikke områdekode.)",
+    promosmsSMSSender: "SMS Avsendernavn : Forhåndsregistert navn eller en av standardnavnene: InfoSMS, SMS Info, MaxSMS, INFO, SMS",
 };

From c1c1e2ba5bd3024277d6ef278f52150c2ef62c0b Mon Sep 17 00:00:00 2001
From: dave9123 <91056752+dave9123@users.noreply.github.com>
Date: Wed, 2 Feb 2022 10:13:55 +0700
Subject: [PATCH 10/10] Fixed the grammar issue

Here's my pull request
---
 src/languages/id-ID.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/languages/id-ID.js b/src/languages/id-ID.js
index 7ce581fc..cd7c689a 100644
--- a/src/languages/id-ID.js
+++ b/src/languages/id-ID.js
@@ -7,7 +7,7 @@ export default {
     upsideDownModeDescription: "Balikkan statusnya. Jika layanan dapat dijangkau, TIDAK AKTIF.",
     maxRedirectDescription: "Jumlah maksimum pengalihan untuk diikuti. Setel ke 0 untuk menonaktifkan pengalihan.",
     acceptedStatusCodesDescription: "Pilih kode status yang dianggap sebagai tanggapan yang berhasil.",
-    passwordNotMatchMsg: "Sandi kedua tidak cocok.",
+    passwordNotMatchMsg: "Kata sandi kedua tidak cocok.",
     notificationDescription: "Harap atur notifikasi ke monitor agar berfungsi.",
     keywordDescription: "Cari kata kunci dalam code html atau JSON huruf besar-kecil berpengaruh",
     pauseDashboardHome: "Jeda",