diff --git a/src/i18n.js b/src/i18n.js
index ca47742..83f71d5 100644
--- a/src/i18n.js
+++ b/src/i18n.js
@@ -11,6 +11,7 @@ import itIT from "./languages/it-IT";
 import ja from "./languages/ja";
 import koKR from "./languages/ko-KR";
 import nlNL from "./languages/nl-NL";
+import nbNO from "./languages/nb-NO";
 import pl from "./languages/pl";
 import ptBR from "./languages/pt-BR";
 import bgBG from "./languages/bg-BG";
@@ -28,6 +29,7 @@ const languageList = {
     "bg-BG": bgBG,
     "de-DE": deDE,
     "nl-NL": nlNL,
+    "nb-NO": nbNO,
     "es-ES": esEs,
     "fa": fa,
     "pt-BR": ptBR,
diff --git a/src/languages/de-DE.js b/src/languages/de-DE.js
index bf2dff8..b8a03b2 100644
--- a/src/languages/de-DE.js
+++ b/src/languages/de-DE.js
@@ -8,7 +8,7 @@ export default {
     Theme: "Thema",
     General: "Allgemein",
     Version: "Version",
-    "Check Update On GitHub": "Überprüfen von Updates auf Github",
+    "Check Update On GitHub": "Auf Github nach Updates suchen",
     List: "Liste",
     Add: "Hinzufügen",
     "Add New Monitor": "Neuer Monitor",
@@ -39,20 +39,20 @@ export default {
     Response: "Antwortzeit",
     Ping: "Ping",
     "Monitor Type": "Monitor Typ",
-    Keyword: "Schlüsselwort",
+    Keyword: "Suchwort",
     "Friendly Name": "Anzeigename",
     URL: "URL",
     Hostname: "Hostname",
     Port: "Port",
-    "Heartbeat Interval": "Taktintervall",
+    "Heartbeat Interval": "Prüfintervall",
     Retries: "Wiederholungen",
     retriesDescription: "Maximale Anzahl von Wiederholungen, bevor der Dienst als inaktiv markiert und eine Benachrichtigung gesendet wird.",
     Advanced: "Erweitert",
     ignoreTLSError: "Ignoriere TLS/SSL Fehler von Webseiten",
-    "Upside Down Mode": "Umgedrehter Modus",
-    upsideDownModeDescription: "Drehe den Modus um, ist der Dienst erreichbar, wird er als inaktiv angezeigt.",
+    "Upside Down Mode": "Invertierter Modus",
+    upsideDownModeDescription: "Im invertierten Modus wird der Dienst als inaktiv angezeigt, wenn er erreichbar ist.",
     "Max. Redirects": "Max. Weiterleitungen",
-    maxRedirectDescription: "Maximale Anzahl von Weiterleitungen, denen gefolgt werden soll. Setzte auf 0, um Weiterleitungen zu deaktivieren.",
+    maxRedirectDescription: "Maximale Anzahl von Weiterleitungen denen gefolgt werden soll. Auf 0 setzen um Weiterleitungen zu deaktivieren.",
     "Accepted Status Codes": "Erlaubte HTTP-Statuscodes",
     acceptedStatusCodesDescription: "Wähle die Statuscodes aus, welche trotzdem als erfolgreich gewertet werden sollen.",
     Save: "Speichern",
@@ -62,20 +62,20 @@ export default {
     Light: "Hell",
     Dark: "Dunkel",
     Auto: "Auto",
-    "Theme - Heartbeat Bar": "Thema - Taktleiste",
+    "Theme - Heartbeat Bar": "Thema - Zeitleiste",
     Normal: "Normal",
     Bottom: "Unten",
     None: "Keine",
     Timezone: "Zeitzone",
-    "Search Engine Visibility": "Suchmaschinensichtbarkeit",
+    "Search Engine Visibility": "Sichtbarkeit für Suchmaschinen",
     "Allow indexing": "Indizierung zulassen",
     "Discourage search engines from indexing site": "Halte Suchmaschinen von der Indexierung der Seite ab",
     "Change Password": "Passwort ändern",
     "Current Password": "Derzeitiges Passwort",
     "New Password": "Neues Passwort",
-    "Repeat New Password": "Wiederhole neues Passwort",
+    "Repeat New Password": "Neues Passwort wiederholen",
     passwordNotMatchMsg: "Passwörter stimmen nicht überein. ",
-    "Update Password": "Ändere Passwort",
+    "Update Password": "Passwort aktualisieren",
     "Disable Auth": "Authentifizierung deaktivieren",
     "Enable Auth": "Authentifizierung aktivieren",
     Logout: "Ausloggen",
@@ -95,7 +95,7 @@ export default {
     Email: "E-Mail",
     Test: "Test",
     "Certificate Info": "Zertifikatsinfo",
-    keywordDescription: "Suche nach einem Schlüsselwort in der HTML oder JSON Ausgabe. Bitte beachte, es wird in der Groß-/Kleinschreibung unterschieden.",
+    keywordDescription: "Ein Suchwort in der HTML oder JSON Ausgabe finden. Bitte beachte: es wird zwischen Groß-/Kleinschreibung unterschieden.",
     deleteMonitorMsg: "Bist du sicher, dass du den Monitor löschen möchtest?",
     deleteNotificationMsg: "Möchtest du diese Benachrichtigung wirklich für alle Monitore löschen?",
     resoverserverDescription: "Cloudflare ist als der Standardserver festgelegt, dieser kann jederzeit geändern werden.",
@@ -133,10 +133,10 @@ export default {
     Options: "Optionen",
     confirmImportMsg: "Möchtest du das Backup wirklich importieren? Bitte stelle sicher, dass die richtige Import Option ausgewählt ist.",
     "Keep both": "Beide behalten",
-    twoFAVerifyLabel: "Bitte trage deinen Token ein, um zu verifizieren das 2FA funktioniert",
+    twoFAVerifyLabel: "Bitte trage deinen Token ein, um zu verifizieren, dass 2FA funktioniert",
     "Verify Token": "Token verifizieren",
-    "Setup 2FA": "2FA Einrichten",
-    "Enable 2FA": "2FA Aktivieren",
+    "Setup 2FA": "2FA einrichten",
+    "Enable 2FA": "2FA aktivieren",
     "Disable 2FA": "2FA deaktivieren",
     "2FA Settings": "2FA Einstellungen",
     confirmEnableTwoFAMsg: "Bist du sicher, dass du 2FA aktivieren möchtest?",
@@ -148,7 +148,7 @@ export default {
     Token: "Token",
     "Show URI": "URI Anzeigen",
     Tags: "Tags",
-    "Add New below or Select...": "Füge neuen hinzu oder wähle aus...",
+    "Add New below or Select...": "Bestehenden Tag auswählen oder neuen hinzufügen...",
     "Tag with this name already exist.": "Ein Tag mit dem Namen existiert bereits.",
     "Tag with this value already exist.": "Ein Tag mit dem Wert existiert bereits.",
     color: "Farbe",
@@ -164,19 +164,19 @@ export default {
     "Search...": "Suchen...",
     "Heartbeat Retry Interval": "Heartbeat-Wiederholungsintervall",
     retryCheckEverySecond: "Versuche alle {0} Sekunden",
-    "Import Backup": "Import Backup",
-    "Export Backup": "Export Backup",
-    "Avg. Ping": "Durchsch. Ping",
-    "Avg. Response": "Durchsch. Antwort",
+    "Import Backup": "Backup importieren",
+    "Export Backup": "Backup exportieren",
+    "Avg. Ping": "Durchschn. Ping",
+    "Avg. Response": "Durchschn. Antwort",
     "Entry Page": "Einstiegsseite",
-    statusPageNothing: "Nichts ist hier, bitte füge eine Gruppe oder Monitor hinzu.",
+    statusPageNothing: "Noch ist hier nichts. Bitte füge eine Gruppe oder einen Monitor hinzu.",
     "No Services": "Keine Dienste",
-    "All Systems Operational": "Alle Systeme Betriebsbereit",
+    "All Systems Operational": "Alle Systeme betriebsbereit",
     "Partially Degraded Service": "Teilweise beeinträchtigter Dienst",
     "Degraded Service": "Eingeschränkter Dienst",
     "Add Group": "Gruppe hinzufügen",
     "Add a monitor": "Monitor hinzufügen",
-    "Edit Status Page": "Bearbeite Statusseite",
+    "Edit Status Page": "Bearbeite Status Seite",
     "Go to Dashboard": "Gehe zum Dashboard",
     "Status Page": "Status Seite",
     telegram: "Telegram",
diff --git a/src/languages/ko-KR.js b/src/languages/ko-KR.js
index 8ad7e96..d04ff05 100644
--- a/src/languages/ko-KR.js
+++ b/src/languages/ko-KR.js
@@ -1,6 +1,7 @@
 export default {
     languageName: "한국어",
-    checkEverySecond: "{0} 초마다 체크해요.",
+    checkEverySecond: "{0}초마다 확인해요.",
+    retryCheckEverySecond: "{0}초마다 다시 확인해요.",
     retriesDescription: "서비스가 중단된 후 알림을 보내기 전 최대 재시도 횟수",
     ignoreTLSError: "HTTPS 웹사이트에서 TLS/SSL 에러 무시하기",
     upsideDownModeDescription: "서버 상태를 반대로 표시해요. 서버가 작동하면 오프라인으로 표시할 거에요.",
@@ -15,6 +16,16 @@ export default {
     resoverserverDescription: "Cloudflare가 기본 서버에요, 원한다면 언제나 다른 resolver 서버로 변경할 수 있어요.",
     rrtypeDescription: "모니터링할 RR-Type을 선택해요.",
     pauseMonitorMsg: "정말 이 모니터링을 일시 정지 할까요?",
+    enableDefaultNotificationDescription: "새로 추가하는 모든 모니터링에 이 알림을 기본적으로 활성화해요. 각 모니터에 대해 별도로 알림을 비활성화할 수 있어요.",
+    clearEventsMsg: "정말 이 모니터링에 대한 모든 이벤트를 삭제할까요?",
+    clearHeartbeatsMsg: "정말 이 모니터링에 대한 모든 하트비트를 삭제할까요?",
+    confirmClearStatisticsMsg: "정말 모든 통계를 삭제할까요?",
+    importHandleDescription: "이름이 같은 모든 모니터링이나 알림을 건너뛰려면 '기존값 건너뛰기'를 선택해주세요. '덮어쓰기'는 기존의 모든 모니터링과 알림을 삭제해요.",
+    confirmImportMsg: "정말 백업을 가져올까요? 가져오기 옵션을 제대로 설정했는지 다시 확인해주세요.",
+    twoFAVerifyLabel: "토큰을 입력해 2단계 인증이 작동하는지 확인해주세요.",
+    tokenValidSettingsMsg: "토큰이 유효해요! 이제 2단계 인증 설정을 저장할 수 있어요.",
+    confirmEnableTwoFAMsg: "정말 2단계 인증을 활성화 할까요?",
+    confirmDisableTwoFAMsg: "정말 2단계 인증을 비활성화 할까요?",
     Settings: "설정",
     Dashboard: "대시보드",
     "New Update": "새로운 업데이트",
@@ -59,6 +70,7 @@ export default {
     Port: "포트",
     "Heartbeat Interval": "하트비트 주기",
     Retries: "재시도",
+    "Heartbeat Retry Interval": "하트비드 재시도 주기",
     Advanced: "고급",
     "Upside Down Mode": "상태 반전 모드",
     "Max. Redirects": "최대 리다이렉트",
@@ -73,7 +85,7 @@ export default {
     "Theme - Heartbeat Bar": "테마 - 하트비트 바",
     Normal: "기본값",
     Bottom: "가운데",
-    None: "제거",
+    None: "없애기",
     Timezone: "시간대",
     "Search Engine Visibility": "검색 엔진 활성화",
     "Allow indexing": "인덱싱 허용",
@@ -83,8 +95,8 @@ export default {
     "New Password": "새로운 비밀번호",
     "Repeat New Password": "새로운 비밀번호 재입력",
     "Update Password": "비밀번호 변경",
-    "Disable Auth": "인증 끄기",
-    "Enable Auth": "인증 켜기",
+    "Disable Auth": "인증 비활성화",
+    "Enable Auth": "인증 활성화",
     Logout: "로그아웃",
     Leave: "나가기",
     "I understand, please disable": "기능에 대해 이해했으니 꺼주세요.",
@@ -106,31 +118,29 @@ export default {
     "Last Result": "최근 결과",
     "Create your admin account": "관리자 계정 만들기",
     "Repeat Password": "비밀번호 재입력",
+    "Import Backup": "백업 가져오기",
+    "Export Backup": "백업 내보내기",
+    Export: "내보내기",
+    Import: "가져오기",
     respTime: "응답 시간 (ms)",
     notAvailableShort: "N/A",
+    "Default enabled": "기본 알림으로 설정",
+    "Apply on all existing monitors": "기존 모니터링에 모두 적용하기",
     Create: "생성하기",
-    clearEventsMsg: "정말로 이 모니터링부터 모든 이벤트를 제거할까요?",
-    clearHeartbeatsMsg: "정말로 이 모니터링부터 모든 하트비트를 제거할까요?",
-    confirmClearStatisticsMsg: "정말로 모든 통계치를 제거할까요?",
-    "Clear Data": "데이터 클리어",
+    "Clear Data": "데이터 삭제",
     Events: "이벤트",
     Heartbeats: "하트비트",
     "Auto Get": "자동 Get",
-    enableDefaultNotificationDescription: "모든 모니터링에 이 알림이 기본값으로 설정될거에요. 각각 모니터링에서 이 알림을 비활성화 할 수 있어요.",
-    "Default enabled": "기본값 ",
-    "Also apply to existing monitors": "기존 모니터링에도 적용되요.",
-    Export: "내보내기",
-    Import: "가져오기",
     backupDescription: "모든 모니터링과 알림을 JSON 파일 형식에 저장할 수 있어요.",
-    backupDescription2: "(히스토리와 이벤트 데이터는 포함되어 있지 않아요.)",
+    backupDescription2: "히스토리와 이벤트 데이터는 포함되어 있지 않아요.",
     backupDescription3: "알림 토큰과 같은 보안 데이터가 내보내기 파일에 포함되어 있으므로 관리에 주의해주세요.",
     alertNoFile: "가져오기를 하기 위해 파일을 선택해주세요.",
     alertWrongFileType: "JSON 파일을 선택해주세요.",
-    twoFAVerifyLabel: "2단계 인증이 정상적으로 등록됬는지 확인하기 위해 토큰을 입력해주세요.",
-    tokenValidSettingsMsg: "토큰이 정상 값 이에요! 2단계 인증 설정을 저장할 수 있어요.",
-    confirmEnableTwoFAMsg: "정말로 2단계 인증을 활성화 할까요?",
-    confirmDisableTwoFAMsg: "정말로 2단계 인증을 비활성화 할까요?",
-    "Apply on all existing monitors": "기존 모니터링에 모두 적용하기",
+    "Clear all statistics": "모든 통계치 삭제",
+    "Skip existing": "기존값 건너뛰기",
+    Overwrite: "덮어쓰기",
+    Options: "옵션",
+    "Keep both": "두개 모두 보존",
     "Verify Token": "토큰 검증",
     "Setup 2FA": "2단계 인증 설정하기",
     "Enable 2FA": "2단계 인증 활성화",
@@ -141,17 +151,6 @@ export default {
     Inactive: "비활성화",
     Token: "토큰",
     "Show URI": "URI 보기",
-    "Clear all statistics": "모든 통계치 ",
-    retryCheckEverySecond: "{0} 초마다 재시도",
-    importHandleDescription: "같은 이름을 가진 모든 모니터링 또는 알림들을 건너뛰기를 원하시면, '기존값 건너뛰기'를 눌러주세요. 기존 모니터링과 알림을 지우고 싶으면, '덮어쓰기'를 눌러주세요.",
-    confirmImportMsg: "정말로 백업을 가져올까요? 정확한 백업 설정인지 다시 확인해주세요.",
-    "Heartbeat Retry Interval": "하트비트 재시도 주기",
-    "Import Backup": "백업 가져오기",
-    "Export Backup": "백업 내보내기",
-    "Skip existing": "기존값 건너뛰기",
-    Overwrite: "덮어쓰기",
-    Options: "옵션",
-    "Keep both": "두개 모두 보존",
     Tags: "태그",
     "Add New below or Select...": "아래 새롭게 추가 또는 선택...",
     "Tag with this name already exist.": "같은 태그 이름이 이미 존재해요.",
@@ -180,22 +179,104 @@ export default {
     "Edit Status Page": "상태 페이지 수정",
     "Go to Dashboard": "대쉬보드로 가기",
     "Status Page": "상태 페이지",
+    defaultNotificationName: "내 {notification} 알림 ({number})",
+    here: "여기",
+    Required: "필수",
     telegram: "Telegram",
-    webhook: "Webhook",
+    "Bot Token": "봇 토큰",
+    "You can get a token from": "토큰은 여기서 얻을 수 있어요:",
+    "Chat ID": "채팅 ID",
+    supportTelegramChatID: "Direct Chat / Group / Channel's Chat ID를 지원해요.",
+    wayToGetTelegramChatID: "봇에 메시지를 보내 채팅 ID를 얻고 밑에 URL로 이동해 chat_id를 볼 수 있어요.",
+    "YOUR BOT TOKEN HERE": "YOUR BOT TOKEN HERE",
+    chatIDNotFound: "채팅 ID를 찾을 수 없어요. 먼저 봇에게 메시지를 보내주세요.",
+    webhook: "웹훅",
+    "Post URL": "Post URL",
+    "Content Type": "Content Type",
+    webhookJsonDesc: "{0}은 express.js와 같은 최신 HTTP 서버에 적합해요.",
+    webhookFormDataDesc: "{multipart}은 PHP에 적합해요. {decodeFunction}를 기준으로 json을 디코딩하면 되어요.",
     smtp: "Email (SMTP)",
+    secureOptionNone: "없음 / STARTTLS (25, 587)",
+    secureOptionTLS: "TLS (465)",
+    "Ignore TLS Error": "TLS 에러 무시하기",
+    "From Email": "보내는 이메일",
+    "To Email": "받는 이메일",
+    smtpCC: "참조",
+    smtpBCC: "숨은 참조",
     discord: "Discord",
+    "Discord Webhook URL": "Discord 웹훅 URL",
+    wayToGetDiscordURL: "서버 설정 -> 연동 -> 웹후크 보기 -> 새 웹후크에서 얻을 수 있어요.",
+    "Bot Display Name": "표시 이름",
+    "Prefix Custom Message": "접두사 메시지",
+    "Hello @everyone is...": "{'@'}everyone 서버 상태 알림이에요...",
     teams: "Microsoft Teams",
+    "Webhook URL": "웹훅 URL",
+    wayToGetTeamsURL: "{0}에서 웹훅을 어떻게 만드는지 알아봐요.",
     signal: "Signal",
+    Number: "숫자",
+    Recipients: "받는 사람",
+    needSignalAPI: "REST API를 사용하는 Signal 클라이언트가 있어야 해요.",
+    wayToCheckSignalURL: "밑에 URL을 확인해 URL 설정 방법을 볼 수 있어요.",
+    signalImportant: "중요: 받는 사람의 그룹과 숫자는 섞을 수 없어요!",
     gotify: "Gotify",
+    "Application Token": "애플리케이션 토큰",
+    "Server URL": "서버 URL",
+    Priority: "Priority",
     slack: "Slack",
+    "Icon Emoji": "아이콘 이모지",
+    "Channel Name": "채널 이름",
+    "Uptime Kuma URL": "Uptime Kuma URL",
+    aboutWebhooks: "웹훅에 대한 설명: {0}",
+    aboutChannelName: "웹훅 채널을 우회하려면 {0} 채널 이름칸에 채널 이름을 입력해주세요. 예: #기타-채널",
+    aboutKumaURL: "Uptime Kuma URL칸을 공백으로 두면 기본적으로 Project Github 페이지로 설정해요.",
+    emojiCheatSheet: "이모지 목록 시트: {0}",
     "rocket.chat": "Rocket.chat",
     pushover: "Pushover",
     pushy: "Pushy",
     octopush: "Octopush",
     promosms: "PromoSMS",
     lunasea: "LunaSea",
-    apprise: "Apprise (50개 이상 알림 서비스 )",
+    apprise: "Apprise (50개 이상 알림 서비스)",
     pushbullet: "Pushbullet",
     line: "Line Messenger",
     mattermost: "Mattermost",
+    "User Key": "사용자 키",
+    Device: "장치",
+    "Message Title": "메시지 제목",
+    "Notification Sound": "알림음",
+    "More info on:": "자세한 정보: {0}",
+    pushoverDesc1: "긴급 우선 순위 (2)는 재시도 사이에 기본적으로 30초의 타임아웃이 있고, 1시간 후에 만료되어요.",
+    pushoverDesc2: "다른 장치에 알림을 보내려면 장치칸을 입력해주세요.",
+    "SMS Type": "SMS 종류",
+    octopushTypePremium: "프리미엄 (빠름) - 알림 기능에 적합해요)",
+    octopushTypeLowCost: "저렴한 요금 (느림, 가끔 차단될 수 있어요)",
+    "Check octopush prices": "{0}에서 octopush 가격을 확인할 수 있어요.",
+    octopushPhoneNumber: "휴대전화 번호 (intl format, eg : +33612345678) ",
+    octopushSMSSender: "보내는 사람 이름 : 3-11개의 영숫자 및 여백공간 (a-z, A-Z, 0-9",
+    "LunaSea Device ID": "LunaSea 장치 ID",
+    "Apprise URL": "Apprise URL",
+    "Example:": "예: {0}",
+    "Read more:": "더 보기: {0}",
+    "Status:": "상태: {0}",
+    "Read more": "더 보기",
+    appriseInstalled: "Apprise가 설치되어있어요..",
+    appriseNotInstalled: "Apprise 가 설치되어있지 않아요. {0}",
+    "Access Token": "액세스 토큰",
+    "Channel access token": "채널 엑세스 토큰",
+    "Line Developers Console": "Line 개발자 콘솔",
+    lineDevConsoleTo: "Line 개발자 콘솔 - {0}",
+    "Basic Settings": "Basic Settings 메뉴",
+    "User ID": "사용자 ID",
+    "Messaging API": "Messaging API 메뉴",
+    wayToGetLineChannelToken: "먼저 {0}에 엑세스하고, 공급자 및 채널 (메시징 API)을 만든 다음, 각 메뉴 밑에 언급된 메뉴에서 채널 액세스 토큰과 사용자 ID를 얻을 수 있어요.",
+    "Icon URL": "아이콘 URL",
+    aboutIconURL: "\"Icon URL\"에 사진 링크를 입력해 프로필 사진을 설정할 수 있어요. 아이콘 이모지가 설정되어 있으면 적용되지 않을거에요.",
+    aboutMattermostChannelName: "채널 이름을 입력하면 웹훅이 게시할 기본 채널을 재설정할 수 있어요. 이 설정은 Mattermost 웹훅 설정에서 활성화해야 해요. 예: #기타-채널",
+    matrix: "매트릭스",
+    promosmsTypeEco: "SMS ECO - 저렴하지만 느리고 가끔 과부하에 걸려요. 폴란드 수신자만 사용할 수 있어요. ",
+    promosmsTypeFlash: "SMS FLASH - 메시지가 받는 사람 장치에 자동으로 표시되어요. 폴란드 수신자만 사용할 수 있어요.",
+    promosmsTypeFull: "SMS FULL - SMS 프리미엄 티어, 보내는 사람 이름을 먼저 등록해야 해요. 알림 기능에 적합해요.",
+    promosmsTypeSpeed: "SMS SPEED - 시스템에서 가장 높은 우선순위에요. 매우 빠르고 신뢰할 수 있지만 비용이 많이 들어요 (SMS 전체 가격의 약 두 배).",
+    promosmsPhoneNumber: "전화 번호 (폴란드 수신자라면 지역번호를 적지 않아도 돼요.)",
+    promosmsSMSSender: "SMS 보내는 사람 이름 : 미리 등록된 이름 혹은 기본값 중 하나에요: InfoSMS, SMS Info, MaxSMS, INFO, SMS",
 };
diff --git a/src/languages/nb-NO.js b/src/languages/nb-NO.js
new file mode 100644
index 0000000..c667b8a
--- /dev/null
+++ b/src/languages/nb-NO.js
@@ -0,0 +1,284 @@
+export default {
+    languageName: "Norsk",
+    checkEverySecond: "Sjekk hvert {0} sekund.",
+    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.",
+    maxRedirectDescription: "Maksimalt antall viderekoblinger å følge. Sett til 0 for å deaktivere viderekoblinger.",
+    acceptedStatusCodesDescription: "Velg statuskoder som anses som et vellykket svar.",
+    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",
+    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.",
+    rrtypeDescription: "Velg RR-typen du vil overvåke",
+    pauseMonitorMsg: "Er du sikker på at du vil sette en 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.",
+    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?",
+    confirmDisableTwoFAMsg: "Er du sikker på at du vil deaktivere 2FA?",
+    Settings: "Innstillinger",
+    Dashboard: "Dashboard",
+    "New Update": "Ny Oppdatering",
+    Language: "Språk",
+    Appearance: "Utseende",
+    Theme: "Tema",
+    General: "Generelt",
+    Version: "Versjon",
+    "Check Update On GitHub": "Sjekk oppdatering på GitHub",
+    List: "Liste",
+    Add: "Legg til",
+    "Add New Monitor": "Legg til ny overvåkning",
+    "Quick Stats": "Statistikk",
+    Up: "Oppe",
+    Down: "Nede",
+    Pending: "Avventer",
+    Unknown: "Ukjent",
+    Pause: "Pause",
+    Name: "Navn",
+    Status: "Status",
+    DateTime: "Dato tid",
+    Message: "Melding",
+    "No important events": "Ingen viktige hendelser",
+    Resume: "Fortsett",
+    Edit: "Endre",
+    Delete: "Slett",
+    Current: "Nåværende",
+    Uptime: "Oppetid",
+    "Cert Exp.": "Sertifikat utløper",
+    days: "dager",
+    day: "dag",
+    "-day": "-dag",
+    hour: "time",
+    "-hour": "-time",
+    Response: "Respons",
+    Ping: "Ping",
+    "Monitor Type": "Overvåkningstype",
+    Keyword: "Stikkord",
+    "Friendly Name": "Vennlig navn",
+    URL: "URL",
+    Hostname: "Vertsnavn",
+    Port: "Port",
+    "Heartbeat Interval": "Hjerteslagsintervall",
+    Retries: "Forsøk",
+    "Heartbeat Retry Interval": "Hjerteslagsforsøkintervall",
+    Advanced: "Avansert",
+    "Upside Down Mode": "Opp-ned-modus",
+    "Max. Redirects": "Maks. viderekoblinger",
+    "Accepted Status Codes": "Godkjente statuskoder",
+    Save: "Lagre",
+    Notifications: "Varsler",
+    "Not available, please setup.": "Ikke tilgjengelig, sett opp.",
+    "Setup Notification": "Sett opp varsel",
+    Light: "Lys",
+    Dark: "Mørk",
+    Auto: "Auto",
+    "Theme - Heartbeat Bar": "Theme - Heartbeat Bar",
+    Normal: "Normal",
+    Bottom: "Bunn",
+    None: "Ingen",
+    Timezone: "Tidssone",
+    "Search Engine Visibility": "Søkemotor synlighet",
+    "Allow indexing": "Tillat indeksering",
+    "Discourage search engines from indexing site": "Avskrekk søkemotorer fra å indeksere nettstedet",
+    "Change Password": "Endre passord",
+    "Current Password": "Nåværende passord",
+    "New Password": "Nytt passord",
+    "Repeat New Password": "Gjenta nytt passord",
+    "Update Password": "Oppdater passord",
+    "Disable Auth": "Deaktiver autentisering",
+    "Enable Auth": "Aktiver autentisering",
+    Logout: "Logg ut",
+    Leave: "Forlat",
+    "I understand, please disable": "Jeg forstår, deaktiver",
+    Confirm: "Bekreft",
+    Yes: "Ja",
+    No: "Nei",
+    Username: "Brukernavn",
+    Password: "Passord",
+    "Remember me": "Husk meg",
+    Login: "Logg inn",
+    "No Monitors, please": "Ingen overvåkning, vær så snill",
+    "add one": "legg til en",
+    "Notification Type": "Meldingstype",
+    Email: "E-post",
+    Test: "Test",
+    "Certificate Info": "Sertifikatinformasjon",
+    "Resolver Server": "DNS-server",
+    "Resource Record Type": "DNS-posttype",
+    "Last Result": "Siste resultat",
+    "Create your admin account": "Opprett en administratorkonto",
+    "Repeat Password": "Gjenta passord",
+    "Import Backup": "Importer sikkerhetskopi",
+    "Export Backup": "Eksporter sikkerhetskopi",
+    Export: "Eksporter",
+    Import: "Importer",
+    respTime: "Svartid (ms)",
+    notAvailableShort: "N/A",
+    "Default enabled": "Standard aktivert",
+    "Apply on all existing monitors": "Påfør på alle eksisterende overvåkninger",
+    Create: "Opprett",
+    "Clear Data": "Slett data",
+    Events: "Hendelser",
+    Heartbeats: "Hjerteslag",
+    "Auto Get": "Auto Get",
+    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.",
+    alertNoFile: "Velg en fil som skal importeres.",
+    alertWrongFileType: "Velg en JSON-fil.",
+    "Clear all statistics": "Fjern all statistikk",
+    "Skip existing": "Hopp over eksisterende",
+    Overwrite: "Overskriv",
+    Options: "Alternativer",
+    "Keep both": "Behold begge",
+    "Verify Token": "Bekreft token",
+    "Setup 2FA": "Konfigurer 2FA",
+    "Enable 2FA": "Aktiver 2FA",
+    "Disable 2FA": "Deaktiver 2FA",
+    "2FA Settings": "2FA Innstillinger",
+    "Two Factor Authentication": "To-faktor autentisering",
+    Active: "Aktiv",
+    Inactive: "Inaktiv",
+    Token: "Token",
+    "Show URI": "Vis URI",
+    Tags: "Etiketter",
+    "Add New below or Select...": "Legg til nytt nedenfor eller Velg ...",
+    "Tag with this name already exist.": "Etikett med dette navnet eksisterer allerede.",
+    "Tag with this value already exist.": "Etikett med denne verdien finnes allerede.",
+    color: "farge",
+    "value (optional)": "verdi (valgfritt)",
+    Gray: "Grå",
+    Red: "Rød",
+    Orange: "Oransje",
+    Green: "Grønn",
+    Blue: "Blå",
+    Indigo: "Indigo",
+    Purple: "Lilla",
+    Pink: "Rosa",
+    "Search...": "Søk...",
+    "Avg. Ping": "Gj.sn. Ping",
+    "Avg. Response": "Gj.sn. Respons",
+    "Entry Page": "Oppføringsside",
+    statusPageNothing: "Ingenting her, vennligst legg til en gruppe eller en overvåkning.",
+    "No Services": "Ingen tjenester",
+    "All Systems Operational": "Alle systemer i drift",
+    "Partially Degraded Service": "Delvis degradert drift",
+    "Degraded Service": "Degradert drift",
+    "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",
+    // Start notification form
+    defaultNotificationName: "Min {notification} varsling ({number})",
+    here: "here",
+    "Required": "Obligatorisk",
+    "telegram": "Telegram",
+    "Bot Token": "Bot Token",
+    "You can get a token from": "Du kan få et token fra",
+    "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:",
+    "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",
+    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}",
+    "smtp": "E-post (SMTP)",
+    secureOptionNone: "None / STARTTLS (25, 587)",
+    secureOptionTLS: "TLS (465)",
+    "Ignore TLS Error": "Ignorer TLS feilmelding",
+    "From Email": "Fra E-post",
+    "To Email": "Til E-post",
+    smtpCC: "CC",
+    smtpBCC: "BCC",
+    "discord": "Discord",
+    "Discord Webhook URL": "Discord Webhook URL",
+    wayToGetDiscordURL: "Du kan få dette ved å gå til Serverinnstillinger -> Integrasjoner -> Webhooks -> Ny webhook",
+    "Bot Display Name": "Bot Visningsnavn",
+    "Prefix Custom Message": "Prefiks tilpasset melding",
+    "Hello @everyone is...": "Hei {'@'}everyone det er...",
+    "teams": "Microsoft Teams",
+    "Webhook URL": "Webhook URL",
+    wayToGetTeamsURL: "Du kan lære hvordan du oppretter en webhook-URL {0}.",
+    "signal": "Signal",
+    "Number": "Nummer",
+    "Recipients": "Mottakere",
+    needSignalAPI: "Du må ha en Signal-klient med REST API.",
+    wayToCheckSignalURL: "Du kan sjekke denne nettadressen for å se hvordan du konfigurerer en:",
+    signalImportant: "VIKTIG: Du kan ikke blande grupper og nummere i mottakere!",
+    "gotify": "Gotify",
+    "Application Token": "Application Token",
+    "Server URL": "Server URL",
+    "Priority": "Prioritet",
+    "slack": "Slack",
+    "Icon Emoji": "Icon Emoji",
+    "Channel Name": "Kanal navn",
+    "Uptime Kuma URL": "Uptime Kuma URL",
+    aboutWebhooks: "Mer informasjon om webhooks på: {0}",
+    aboutChannelName: "Skriv inn kanalnavnet på {0} Kanalnavn-feltet hvis du vil omgå webhook-kanalen. Eks: #other-channel",
+    aboutKumaURL: "Hvis du lar Uptime Kuma URL feltet være blank, den blir som standard til Github-siden for dette prosjektet.",
+    emojiCheatSheet: "Emoji cheat sheet: {0}",
+    "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",
+    "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.",
+    "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",
+    "Apprise URL": "Apprise URL",
+    "Example:": "Example: {0}",
+    "Read more:": "Read more: {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",
+    "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",
+    // End notification form
+};
diff --git a/src/pages/Settings.vue b/src/pages/Settings.vue
index 259f334..8fad9d1 100644
--- a/src/pages/Settings.vue
+++ b/src/pages/Settings.vue
@@ -357,6 +357,12 @@
                     <p>Használja megfontoltan!</p>
                 </template>
 
+                <template v-else-if="$i18n.locale === 'nb-NO' ">
+                    <p>Er du sikker på at du vil <strong>deaktiver autentisering</strong>?</p>
+                    <p>Dette er for <strong>de som har tredjepartsautorisering</strong> foran Uptime Kuma, for eksempel Cloudflare Access.</p>
+                    <p>Vennligst vær forsiktig.</p>
+                </template>
+
                 <!-- English (en) -->
                 <template v-else>
                     <p>Are you sure want to <strong>disable auth</strong>?</p>