diff --git a/.twosky.json b/.twosky.json
index 92133faf..dfa70915 100644
--- a/.twosky.json
+++ b/.twosky.json
@@ -7,6 +7,7 @@
       "da": "Dansk",
       "de": "Deutsch",
       "nl": "Dutch",
+      "no": "Norsk",
       "en": "English",
       "es": "Español",
       "fr": "Français",
diff --git a/client/src/__locales/da.json b/client/src/__locales/da.json
index 2ae5b665..8f24279b 100644
--- a/client/src/__locales/da.json
+++ b/client/src/__locales/da.json
@@ -19,6 +19,9 @@
     "dhcp_leases_not_found": "Ingen DHCP-leases fundet",
     "dhcp_config_saved": "Gemt DHCP-server konfiguration",
     "form_error_required": "Obligatorisk felt",
+    "form_error_ip4_format": "Ugyldigt IPv4-format",
+    "form_error_ip6_format": "Ugyldigt IPv6-format",
+    "form_error_ip_format": "Ugyldigt IP-format",
     "form_error_mac_format": "Ugyldigt MAC-format",
     "form_error_positive": "Skal være større end 0",
     "dhcp_form_gateway_input": "Gateway IP",
@@ -95,6 +98,7 @@
     "use_adguard_parental": "Brug AdGuards forældrekontrol",
     "use_adguard_parental_hint": "AdGuard Home vil kontrollere, om domænet indeholder voksenindhold. Den bruger den samme privatlivsvenlige API som browsing sikkerhedstjenesten.",
     "enforce_safe_search": "Håndhæv sikker søgning",
+    "enforce_save_search_hint": "AdGuard Home kan håndhæve sikker søgning i følgende søgemaskiner: Google, Youtube, Bing, DuckDuckGo, Yandex og Pixabay.",
     "no_servers_specified": "Ingen servere specificeret",
     "general_settings": "Generelle indstillinger",
     "dns_settings": "DNS-indstillinger",
diff --git a/client/src/__locales/es.json b/client/src/__locales/es.json
index cb17c09b..20f0aa5c 100644
--- a/client/src/__locales/es.json
+++ b/client/src/__locales/es.json
@@ -19,6 +19,9 @@
     "dhcp_leases_not_found": "No se han encontrado asignaciones DHCP",
     "dhcp_config_saved": "Configuración del servidor DHCP guardada",
     "form_error_required": "Campo obligatorio",
+    "form_error_ip4_format": "Formato IPv4 no válido",
+    "form_error_ip6_format": "Formato IPv6 no válido",
+    "form_error_ip_format": "Formato IP no válido",
     "form_error_mac_format": "Formato MAC no válido",
     "form_error_positive": "Debe ser mayor que 0",
     "dhcp_form_gateway_input": "IP de puerta de enlace",
@@ -95,6 +98,7 @@
     "use_adguard_parental": "Usar el control parental de AdGuard",
     "use_adguard_parental_hint": "AdGuard Home comprobará si el dominio contiene materiales para adultos. Utiliza la misma API amigable con la privacidad del servicio web de seguridad de navegación.",
     "enforce_safe_search": "Forzar búsqueda segura",
+    "enforce_save_search_hint": "AdGuard Home puede forzar la búsqueda segura en los siguientes motores de búsqueda: Google, YouTube, Bing, DuckDuckGo, Yandex y Pixabay.",
     "no_servers_specified": "No hay servidores especificados",
     "general_settings": "Configuración general",
     "dns_settings": "Configuración del DNS",
diff --git a/client/src/__locales/nl.json b/client/src/__locales/nl.json
index 0d91da52..7a070c2a 100644
--- a/client/src/__locales/nl.json
+++ b/client/src/__locales/nl.json
@@ -18,6 +18,8 @@
     "dhcp_leases_not_found": "Geen DHCP lease gevonden",
     "dhcp_config_saved": "DHCP server configuratie opgeslagen",
     "form_error_required": "Vereist veld",
+    "form_error_ip4_format": "Ongeldig IPv4 formaat",
+    "form_error_ip6_format": "Ongeldig IPv6 formaat",
     "form_error_mac_format": "Ongeldig MAC formaat.",
     "form_error_positive": "Moet groter zijn dan 0",
     "dhcp_form_gateway_input": "Gateway IP",
diff --git a/client/src/__locales/no.json b/client/src/__locales/no.json
new file mode 100644
index 00000000..7ebd764b
--- /dev/null
+++ b/client/src/__locales/no.json
@@ -0,0 +1,406 @@
+{
+    "client_settings": "Klientinnstillinger",
+    "example_upstream_reserved": "du kan bestemme en oppstrøms-DNS <0>for et spesifikt domene(r)</0>",
+    "upstream_parallel": "Bruk parallele forespørsler for å få oppfarten på behandlinger, ved å forespørre til alle oppstrømstjenerne samtidig",
+    "bootstrap_dns": "Bootstrap-DNS-tjenere",
+    "bootstrap_dns_desc": "Bootstrap-DNS-tjenere brukes til å oppklare IP-adressene til DoH/DoT-oppklarerene som du har valgt som oppstrømstjenere.",
+    "check_dhcp_servers": "Se etter DHCP-tjenere",
+    "save_config": "Lagre oppsettet",
+    "enabled_dhcp": "DHCP-tjeneren ble skrudd på",
+    "disabled_dhcp": "DHCP-tjeneren ble skrudd av",
+    "dhcp_title": "DHCP-tjener (eksperimentell!)",
+    "dhcp_description": "Dersom ruteren din ikke har DHCP-innstillinger, kan du bruke AdGuard Home sin egen innebygde DHCP-tjener.",
+    "dhcp_enable": "Skru på DHCP-tjeneren",
+    "dhcp_disable": "Skru av DHCP-tjeneren",
+    "dhcp_not_found": "Det er trygt å skru på den innebygde DHCP-tjeneren - vi kunne ikke finne noen aktive DHCP-tjenere i nettverket. Men vi oppfordrer deg til å dobbeltsjekke manuelt, siden vår automatiske test ikke gir 100% sikre svar ennå.",
+    "dhcp_found": "En aktiv DHCP-tjener ble oppdaget i nettverket. Det er ikke trygt å bruke den innebygde DHCP-tjeneren.",
+    "dhcp_leases": "DHCP-leieavtaler",
+    "dhcp_static_leases": "Statiske DHCP-leieavtaler",
+    "dhcp_leases_not_found": "Ingen DHCP-leieavtaler ble funnet",
+    "dhcp_config_saved": "Lagret DHCP-tjeneroppsettet",
+    "form_error_required": "Påkrevd felt",
+    "form_error_ip4_format": "Ugyldig IPv4-format",
+    "form_error_ip6_format": "Ugyldig IPv6-format",
+    "form_error_ip_format": "Ugyldig IPv4-format",
+    "form_error_mac_format": "Ugyldig MAC-format",
+    "form_error_positive": "Må være høyere enn 0",
+    "dhcp_form_gateway_input": "Gateway-IP",
+    "dhcp_form_subnet_input": "Nettverksmaske",
+    "dhcp_form_range_title": "Spennvidden til IP-adressene",
+    "dhcp_form_range_start": "Rekkeviddestart",
+    "dhcp_form_range_end": "Rekkeviddeslutt",
+    "dhcp_form_lease_title": "DHCP-leieavtalevarighet (i sekunder)",
+    "dhcp_form_lease_input": "Leieavtalenes varighet",
+    "dhcp_interface_select": "Velg DHCP-grensesnitt",
+    "dhcp_hardware_address": "Maskinvareadresse",
+    "dhcp_ip_addresses": "IP-adresser",
+    "dhcp_table_hostname": "Vertsnavn",
+    "dhcp_table_expires": "Utløper",
+    "dhcp_warning": "Hvis du vil aktivere DHCP-tjeneren likevel, så sørg for at det ikke er noen andre aktive DHCP-tjenere i nettverket ditt. Ellers kan det knekke internettilgangen til tilkoblede enheter!",
+    "dhcp_error": "Vi klarte ikke å fastslå om det er en annen DHCP-tjener i nettverket ditt eller ikke.",
+    "dhcp_static_ip_error": "For å kunne bruke DHCP-tjeneren, må det være satt en statisk IP-adresse. Vi klarte ikke å finne ut om dette nettverksgrensesnittet har blitt satt opp med en statisk IP-adresse. Vennligst sett opp en statisk IP-adresse manuelt.",
+    "dhcp_dynamic_ip_found": "Systemet ditt bruker et oppsett med dynamisk IP-adresse for grensesnittet <0>{{interfaceName}}</0>. For å kunne bruke DHCP-tjeneren, må en statisk IP-adresse ha blitt satt opp. Din nåværende IP-adresse er <0>{{ipAddress}}</0>. Vi vil automatisk gjøre denne IP-adressen statisk hvis du trykker på «Skru på DHCP»-knappen.",
+    "dhcp_lease_added": "Den statiske leieavtalen «{{key}}» ble vellykket lagt til",
+    "dhcp_lease_deleted": "Den statiske leieavtalen «{{key}}» ble vellykket lagt slettet",
+    "dhcp_new_static_lease": "Ny statisk leieavtale",
+    "dhcp_static_leases_not_found": "Ingen statiske DHCP-leieavtaler ble funnet",
+    "dhcp_add_static_lease": "Legg til statisk leieavtale",
+    "delete_confirm": "Er du sikker på at du vil slette «{{key}}»?",
+    "form_enter_hostname": "Skriv inn vertsnavnet",
+    "error_details": "Feildetaljer",
+    "back": "Tilbake",
+    "dashboard": "Kontrollsenter",
+    "settings": "Innstillinger",
+    "filters": "Filtre",
+    "query_log": "Forespørselslogg",
+    "faq": "OSS",
+    "version": "Versjon",
+    "address": "adresse",
+    "on": "PÅ",
+    "off": "AV",
+    "copyright": "Opphavsrett",
+    "homepage": "Hjemmeside",
+    "report_an_issue": "Send inn feilrapport",
+    "privacy_policy": "Personvernretningslinjer",
+    "enable_protection": "Skru på beskyttelse",
+    "enabled_protection": "Beskyttelse ble skrudd på",
+    "disable_protection": "Skru av beskyttelse",
+    "disabled_protection": "Beskyttelsen ble skrudd av",
+    "refresh_statics": "Oppfrisk statistikkene",
+    "dns_query": "DNS-forespørsler",
+    "blocked_by": "<0>Blokkert av filtre</0>",
+    "stats_malware_phishing": "Blokkert skadevare/phishing",
+    "stats_adult": "Blokkerte voksennettsteder",
+    "stats_query_domain": "Mest forespurte domener",
+    "for_last_24_hours": "de siste 24 timene",
+    "for_last_days": "det siste døgnet",
+    "for_last_days_plural": "de siste {{count}} dagene",
+    "no_domains_found": "Ingen domener ble funnet",
+    "requests_count": "Antall forespørsler",
+    "top_blocked_domains": "Mest blokkerte domener",
+    "top_clients": "Vanligste klienter",
+    "no_clients_found": "Ingen klienter ble funnet",
+    "general_statistics": "Generelle statistikker",
+    "number_of_dns_query_days": "Antall DNS-forespørsler som ble behandlet det siste døgnet",
+    "number_of_dns_query_days_plural": "Antall DNS-forespørsler som ble behandlet de siste {{count}} dagene",
+    "number_of_dns_query_24_hours": "Antall DNS-forespørsler som ble behandlet de siste 24 timene",
+    "number_of_dns_query_blocked_24_hours": "Antall DNS-forespørsler som ble blokkert av adblock-filtre, hosts-lister, og domene-lister",
+    "number_of_dns_query_blocked_24_hours_by_sec": "Antall DNS-forespørsler som ble blokkert av AdGuard sin nettlesersikkerhetsmodul",
+    "number_of_dns_query_blocked_24_hours_adult": "Antall voksennettsteder som ble blokkert",
+    "enforced_save_search": "Påtvungede barnevennlige søk",
+    "number_of_dns_query_to_safe_search": "Antall DNS-forespørsler til søkemotorer der \"Safe Search\" ble fremtvunget",
+    "average_processing_time": "Gjennomsnittlig behandlingstid",
+    "average_processing_time_hint": "Gjennomsnittstid for behandling av DNS-forespørsler i millisekunder",
+    "block_domain_use_filters_and_hosts": "Blokker domener ved hjelp av filtre, «hosts»-filer, og rå domener",
+    "filters_block_toggle_hint": "Du kan sette opp blokkeringsoppføringer i <a href='#filters'>Filtre</a>-innstillingene.",
+    "use_adguard_browsing_sec": "Benytt AdGuard sin nettlesersikkerhetstjeneste",
+    "use_adguard_browsing_sec_hint": "AdGuard Home vil sjekke om domenet har blitt svartelistet av nettlesersikkerhetstjenesten. Den vil bruke en privatlivsvennlig søke-API til å utføre sjekken: kun en kort prefiks av domenenavnet med SHA256-salting blir sendt til tjeneren.",
+    "use_adguard_parental": "Benytt AdGuard sin foreldrekontroll-nettjeneste",
+    "use_adguard_parental_hint": "AdGuard Home vil sjekke om domenet inneholder erotisk materiale. Den benytter den samme privatlivsvennlige API-en som nettlesersikkerhetstjenesten.",
+    "enforce_safe_search": "Påtving barnevennlige søk",
+    "enforce_save_search_hint": "AdGuard Home kan fremtvinge \"Safe Search\" i de følgende søkemotorene: Google, YouTube, Bing, DuckDuckGo, og Yandex.",
+    "no_servers_specified": "Ingen tjenere er spesifisert",
+    "general_settings": "Generelle innstillinger",
+    "dns_settings": "DNS-innstillinger",
+    "encryption_settings": "Krypteringsinnstillinger",
+    "dhcp_settings": "DHCP-innstillinger",
+    "upstream_dns": "Oppstrøms-DNS-tjenere",
+    "upstream_dns_hint": "Hvis du lar dette feltet stå tomt, vil AdGuard Home will bruke <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> som en oppstrømstjener.",
+    "test_upstream_btn": "Test oppstrømstilkoblinger",
+    "apply_btn": "Benytt",
+    "disabled_filtering_toast": "Skrudde av filtrering",
+    "enabled_filtering_toast": "Skrudde på filtrering",
+    "disabled_safe_browsing_toast": "Skrudde av barnevennlig nettlesing",
+    "enabled_safe_browsing_toast": "Skrudde på barnevennlig nettlesing",
+    "disabled_parental_toast": "Skrudde av foreldrekontroll",
+    "enabled_parental_toast": "Skrudde på foreldrekontroll",
+    "disabled_safe_search_toast": "Skrudde av barnevennlige søk",
+    "enabled_save_search_toast": "Skrudde på barnevennlige søk",
+    "enabled_table_header": "Skrudd på",
+    "name_table_header": "Navn",
+    "filter_url_table_header": "Filterets URL",
+    "rules_count_table_header": "Antall oppføringer",
+    "last_time_updated_table_header": "Senest oppdatert",
+    "actions_table_header": "Handlinger",
+    "edit_table_action": "Rediger",
+    "delete_table_action": "Slett",
+    "filters_and_hosts": "Filtre og «hosts»-lister",
+    "filters_and_hosts_hint": "AdGuard Home forstår grunnleggende adblock-oppføringer, «hosts»-filsyntaks, og domenelister.",
+    "no_filters_added": "Ingen filtre er lagt til",
+    "add_filter_btn": "Legg til et filter",
+    "cancel_btn": "Avbryt",
+    "enter_name_hint": "Skriv inn navn",
+    "enter_url_hint": "Skriv inn nettadresse",
+    "check_updates_btn": "Se etter oppdateringer",
+    "new_filter_btn": "Nytt filterabonnement",
+    "enter_valid_filter_url": "Skriv inn en gyldig URL til et filterlisteabonnement.",
+    "custom_filter_rules": "Selvvalgte filtreringsregler",
+    "custom_filter_rules_hint": "Skriv inn én oppføring per linje. Du kan bruke adblock-oppføringer, «hosts»-filsyntaks, eller rå domener.",
+    "examples_title": "Eksempler",
+    "example_meaning_filter_block": "blokker tilgang til 'example.org'-domenet og alle dens underdomener",
+    "example_meaning_filter_whitelist": "opphev blokkeringen av 'example.org'-domenet og alle dens underdomener",
+    "example_meaning_host_block": "AdGuard Home vil nå videresende 'example.org'-domenet (men ikke dens underdomener) til 127.0.0.1.",
+    "example_comment": "! Her er det en kommentar",
+    "example_comment_meaning": "bare en kommentar",
+    "example_comment_hash": "# Også en kommentar",
+    "example_regex_meaning": "blokker tilgang til domener som samsvarer med den valgte ordinære oppføringen",
+    "example_upstream_regular": "vanlig DNS (over UDP)",
+    "example_upstream_dot": "kryptert <0>DNS-over-TLS</0>",
+    "example_upstream_doh": "kryptert <0>DNS-over-HTTPS</0>",
+    "example_upstream_sdns": "du kan bruke <0>DNS-stempler</0> med <1>DNSCrypt</1> eller <2>DNS-over-HTTPS</2>-behandlere",
+    "example_upstream_tcp": "vanlig DNS (over TCP)",
+    "all_filters_up_to_date_toast": "Alle filterlistene er allerede fullt oppdatert",
+    "updated_upstream_dns_toast": "Oppdaterte oppstrøms-DNS-tjenerne",
+    "dns_test_ok_toast": "De spesifiserte DNS-tjenerne fungerer riktig",
+    "dns_test_not_ok_toast": "Tjeneren «{{key}}» kunne ikke brukes, vennligst dobbeltsjekk at du har skrevet den riktig",
+    "unblock_btn": "Tillat",
+    "block_btn": "Blokker",
+    "time_table_header": "Tidspunkt",
+    "domain_name_table_header": "Domenenavn",
+    "type_table_header": "Type",
+    "response_table_header": "Respons",
+    "client_table_header": "Klient",
+    "empty_response_status": "Tomt innhold",
+    "show_all_filter_type": "Vis alle",
+    "show_filtered_type": "Vis kun filtrerte",
+    "no_logs_found": "Ingen loggføringer ble funnet",
+    "refresh_btn": "Oppfrisk",
+    "previous_btn": "Forrige",
+    "next_btn": "Neste",
+    "loading_table_status": "Laster inn …",
+    "page_table_footer_text": "Side",
+    "of_table_footer_text": "av",
+    "rows_table_footer_text": "rekker",
+    "updated_custom_filtering_toast": "Oppdaterte de selvvalgte filtreringsreglene",
+    "rule_removed_from_custom_filtering_toast": "Oppføringen ble fjernet fra de selvvalgte filtreringsreglene",
+    "rule_added_to_custom_filtering_toast": "Oppføringen ble lagt til i de selvvalgte filtreringsreglene",
+    "query_log_response_status": "Status: {{value}}",
+    "query_log_filtered": "Filtrert av {{filter}}",
+    "query_log_confirm_clear": "Er du sikker på at du vil slette hele forespørselsloggen?",
+    "query_log_cleared": "Forespørselsloggen ble vellykket slettet",
+    "query_log_clear": "Tøm forespørselsloggene",
+    "query_log_retention": "Beholding av forespørselsloggføringene",
+    "query_log_enable": "Skru på loggføring",
+    "query_log_configuration": "Loggføringskonfigurasjon",
+    "query_log_disabled": "Forespørselsloggen er skrudd av og kan bli satt opp i <0>innstillingene</0>",
+    "query_log_strict_search": "Bruk anførselstegn for strenge søk",
+    "query_log_retention_confirm": "Er du sikker på at du vil endre hvor lenge forespørselsloggføringene skal beholdes? Hvis du reduserer den interne verdien, vil noe av dataene gå tapt",
+    "source_label": "Kilde",
+    "found_in_known_domain_db": "Funnet i databasen over kjente domener.",
+    "category_label": "Kategori",
+    "rule_label": "Oppføring",
+    "filter_label": "Filter",
+    "unknown_filter": "Ukjent filter {{filterId}}",
+    "install_welcome_title": "Velkommen til AdGuard Home!",
+    "install_welcome_desc": "AdGuard Home er en nettverksdekkende reklame-og-sporings-blokkerende DNS-tjener. Formålet dens er å la deg styre hele nettverket ditt og alle dine enheter, og den krever ikke at klientene bruker spesifikke programmer.",
+    "install_settings_title": "Admin-nettgrensesnitt",
+    "install_settings_listen": "Lytt til grensesnitt",
+    "install_settings_port": "Port",
+    "install_settings_interface_link": "Ditt AdGuard Home-admin-nettgrensesnitt vil være tilgjengelig på de følgende adressene:",
+    "form_error_port": "Skriv inn en gyldig portverdi",
+    "install_settings_dns": "DNS-tjener",
+    "install_settings_dns_desc": "Du vil måtte sette opp enhetene eller ruteren din(e) til å bruke DNS-tjeneren på disse adressene:",
+    "install_settings_all_interfaces": "Alle grensesnitt",
+    "install_auth_title": "Autentisering",
+    "install_auth_desc": "Det er høyst anbefalt å sette opp passordautentisering på ditt AdGuard Home-adminnettgrensesnitt. Selv om du velger å bare gjøre den tilgjengelig på ditt lokale nettverk, er det fortsatt viktig å beskytte den fra ubegrenset tilgang.",
+    "install_auth_username": "Brukernavn",
+    "install_auth_password": "Passord",
+    "install_auth_confirm": "Bekreft passord",
+    "install_auth_username_enter": "Skriv inn brukernavn",
+    "install_auth_password_enter": "Skriv inn passord",
+    "install_step": "Trinn",
+    "install_devices_title": "Sett opp enhetene dine",
+    "install_devices_desc": "For å begynne å bruke AdGuard Home, må du sette opp enhetene dine til å bruke den.",
+    "install_submit_title": "Gratulerer!",
+    "install_submit_desc": "Oppsettsprosedyren er ferdig, og du er klar til å begynne å bruke AdGuard Home.",
+    "install_devices_router": "Ruter",
+    "install_devices_router_desc": "Dette oppsettet vil automatisk dekke alle enhetene som er koblet til hjemmeruteren din, og du vil ikke måtte sette opp hver av dem manuelt.",
+    "install_devices_address": "AdGuard Home-DNS-tjeneren lytter til de følgende adressene",
+    "install_devices_router_list_1": "Åpne innstillingene til ruteren din. Vanligvis kan du få tilgang til den på nettleseren din gjennom en URL (f.eks. http://192.168.0.1/ eller http://192.168.1.1/). Du kan bli spurt om å skrive inn passordet ditt. Hvis du ikke husker det, kan du som oftest tilbakestille passordet ditt ved å trykke på knapp på selve ruteren. Noen rutere krever et spesifikt program, som i så fall er ment å allerede ha blitt installert på din PC/mobil.",
+    "install_devices_router_list_2": "Finn DHCP-/DNS-innstillingene. Se etter DNS-bokstavene ved siden av et felt som tillater to eller tre sett med sifre, som hver er delt opp i fire grupper på 1-3 sifre.",
+    "install_devices_router_list_3": "Skriv inn din AdGuard Home-tjeners adresser her.",
+    "install_devices_windows_list_1": "Åpne «Kontrollpanel» gjennom Start-menyen eller et Windows-søk.",
+    "install_devices_windows_list_2": "Gå til «Nettverk og internett»-kategorien, og så til «Nettverks- og delingssenter».",
+    "install_devices_windows_list_3": "På den venstre siden av skjermen, finn «Endre innstillinger for nettverkskort» og klikk på den.",
+    "install_devices_windows_list_4": "Velg din aktive tilkobling, høyreklikk på den, og velg «Egenskaper».",
+    "install_devices_windows_list_5": "Finn «Internet Protocol versjon 4 (TCP/IP)» i listen, velg den, og så klikk på «Egenskaper» igjen.",
+    "install_devices_windows_list_6": "Velg «Bruk følgende DNS-serveradresser» og så skriv inn din AdGuard Home-tjeners adresser.",
+    "install_devices_macos_list_1": "Klikk på Apple-ikonet og gå til Systeminnstillinger.",
+    "install_devices_macos_list_2": "Klikk på «Nettverk».",
+    "install_devices_macos_list_3": "Velg den første tilkoblingen i listen din, og klikk på «Avansert».",
+    "install_devices_macos_list_4": "Velg DNS-fanen og skriv inn din AdGuard Home-tjeners adresser der.",
+    "install_devices_android_list_1": "Fra Android-startskjermen, trykk på «Innstillinger».",
+    "install_devices_android_list_2": "Velg «Wi-Fi» i menyen. Skjermen som lister opp alle de tilgjengelige nettverkene vil bli vist (det er umulig å velge selvvalgte DNS-adresser for mobiltilkoblinger uten en DNS-endringsapp).",
+    "install_devices_android_list_3": "Langtrykk på nettverket du er koblet til, og så trykk «Endre nettverket».",
+    "install_devices_android_list_4": "På noen enheter, vil du måtte huke av boksen for Avansert for se flere innstillinger. For å justere dine Android-DNS-innstillinger, vil du måtte endre IP-innstillingene fra DHCP til Statisk.",
+    "install_devices_android_list_5": "Endre de forvalgte 'DNS 1' og 'DNS 2'-verdiene til din AdGuard Home-tjeners adresser.",
+    "install_devices_ios_list_1": "Fra startskjermen, trykk på «Innstillinger».",
+    "install_devices_ios_list_2": "Velg Wi-Fi i den venstre menyen (det er umulig å sette opp DNS for mobildata-nettverk).",
+    "install_devices_ios_list_3": "Trykk på navnet til det nettverket som er aktivt for øyeblikket.",
+    "install_devices_ios_list_4": "I DNS-feltet, skriv inn din AdGuard Home-tjeners adresser.",
+    "get_started": "Kom i gang",
+    "next": "Neste",
+    "open_dashboard": "Åpne kontrollsenteret",
+    "install_saved": "Lagringen var vellykket",
+    "encryption_title": "Kryptering",
+    "encryption_desc": "Krypteringsstøtte (HTTPS/TLS) for både DNS og admin-nettgrensesnittet",
+    "encryption_config_saved": "Krypteringsoppsettet ble lagret",
+    "encryption_server": "Tjenerens navn",
+    "encryption_server_enter": "Skriv inn domenenavnet ditt",
+    "encryption_server_desc": "For å kunne bruke HTTPS, må du skrive inn tjenernavnet som samsvarer med ditt SSL-sertifikat.",
+    "encryption_redirect": "Automatisk omdiriger til HTTPS",
+    "encryption_redirect_desc": "Dersom dette er valgt, vil AdGuard Home automatisk omdirigere deg fra HTTP til HTTPS-adresser.",
+    "encryption_https": "HTTPS-port",
+    "encryption_https_desc": "Dersom HTTPS-porten er satt opp, vil AdGuard Home sitt admin-grensesnitt være tilgjengelig gjennom HTTPS, og vil også sørge for DNS-over-HTTPS på «/dns-query»-plasseringen.",
+    "encryption_dot": "'DNS-over-TLS'-port",
+    "encryption_dot_desc": "Dersom denne porten er satt opp, vil AdGuard Home kjøre en 'DNS-over-TLS'-tjener på denne porten.",
+    "encryption_certificates": "Sertifikater",
+    "encryption_certificates_desc": "For å bruke kryptering, må du skrive inn et gyldig SSL-sertifikatkjede for domenet ditt. Du kan få et gratis sertifikat hos <0>{{link}}</0>, eller kjøpe et fra en av de troverdige sertifikatsautoritetene.",
+    "encryption_certificates_input": "Kopier / lim inn dine PEM-kodede sertifikater her.",
+    "encryption_status": "Status",
+    "encryption_expire": "Utløper",
+    "encryption_key": "Privat nøkkel",
+    "encryption_key_input": "Kopier / lim inn ditt sertifikats PEM-kodede private nøkkel her.",
+    "encryption_enable": "Skru på kryptering (HTTPS, DNS-over-HTTPS, og DNS-over-TLS)",
+    "encryption_enable_desc": "Dersom kryptering er skrudd på, vil AdGuard Home sitt admingrensesnitt virke over HTTPS, og DNS-tjeneren vil lytte etter forespørseler over DNS-over-HTTPS og DNS-over-TLS.",
+    "encryption_chain_valid": "Sertifikatskjeden er gyldig",
+    "encryption_chain_invalid": "Sertifikatskjeden er ugyldig",
+    "encryption_key_valid": "Dette er en gyldig {{type}}-type privat nøkkel",
+    "encryption_key_invalid": "Dette er en ugyldig {{type}}-type privat nøkkel",
+    "encryption_subject": "Tema",
+    "encryption_issuer": "Utsteder",
+    "encryption_hostnames": "Vertsnavn",
+    "encryption_reset": "Er du sikker på at du vil tilbakestille krypteringsinnstillingene?",
+    "topline_expiring_certificate": "Ditt SSL-sertifikat er i ferd med å utløpe. Oppdater <0>Krypteringsinnstillinger</0>.",
+    "topline_expired_certificate": "SSL-sertifikatet har utløpt. Oppdater <0>Krypteringsinnstillinger</0>.",
+    "form_error_port_range": "Skriv inn et portnummer i området 80-65535",
+    "form_error_port_unsafe": "Denne porten er ikke trygg",
+    "form_error_equal": "Burde ikke være de samme",
+    "form_error_password": "Passordet samsvarer ikke",
+    "reset_settings": "Tilbakestill innstillinger",
+    "update_announcement": "AdGuard Home {{version}} er nå tilgjengelig! <0>Klikk her</0> for mere informasjon.",
+    "setup_guide": "Oppsettsveiledning",
+    "dns_addresses": "DNS-adresser",
+    "down": "Nedstrøm",
+    "fix": "Fiks",
+    "dns_providers": "Her er en <0>liste over kjente DNS-leverandører</0> som du kan velge blant.",
+    "update_now": "Oppdater nå",
+    "update_failed": "Auto-oppdatering mislyktes. Vennligst <a href='https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started#update'>følg trinnene</a> for manuelle oppdateringer.",
+    "processing_update": "Vennligst vent, AdGuard Home blir oppdatert",
+    "clients_title": "Klienter",
+    "clients_desc": "Konfigurer enheter som er koblet til AdGuard Home",
+    "settings_global": "Overbestyrt",
+    "settings_custom": "Tilpasset",
+    "table_client": "Klient",
+    "table_name": "Navn",
+    "save_btn": "Lagre",
+    "client_add": "Legg til klient",
+    "client_new": "Ny klient",
+    "client_edit": "Rediger klienten",
+    "client_identifier": "Identifikator",
+    "ip_address": "IP-adresse",
+    "client_identifier_desc": "Klienter kan bli identifisert gjennom IP-adressen eller MAC-adressen. Vennligst bemerk at å bruke MAC som en identifikator, bare er mulig dersom AdGuard Home også er en <0>DHCP-tjener</0>",
+    "form_enter_ip": "Skriv inn IP",
+    "form_enter_mac": "Skriv inn MAC",
+    "form_client_name": "Skriv inn klientnavnet",
+    "client_global_settings": "Bruk de overbestyrte innstillingene",
+    "client_deleted": "Klienten «{{key}}» ble vellykket slettet",
+    "client_added": "Klienten «{{key}}» ble vellykket lagt til",
+    "client_updated": "Klienten «{{key}}» ble vellykket oppdatert",
+    "clients_not_found": "Ingen klienter ble funnet",
+    "client_confirm_delete": "Er du sikker på at du vil slette klienten «{{key}}»?",
+    "filter_confirm_delete": "Er du sikker på at du vil slette filteret?",
+    "auto_clients_title": "Klienter (kjørende)",
+    "auto_clients_desc": "Loggføring over klientene som bruker AdGuard Home, men som ikke har blitt lagret i oppsettet",
+    "access_title": "Tilgangsinnstillinger",
+    "access_desc": "Her kan du sette opp tilgangsregler for AdGuard Home-DNS-tjeneren.",
+    "access_allowed_title": "Tillatte klienter",
+    "access_allowed_desc": "En liste over CIDR- eller IP-adresser. Dersom dette er satt opp, vil AdGuard Home kun akseptere forespørsler fra disse IP-adressene.",
+    "access_disallowed_title": "Klienter som skal avvises",
+    "access_disallowed_desc": "En liste over CIDR- eller IP-adresser. Dersom dette er satt opp, vil AdGuard Home avslå forespørsler fra disse IP-adressene.",
+    "access_blocked_title": "Blokkerte domener",
+    "access_blocked_desc": "Ikke forveksle dette med filtre. AdGuard Home vil nekte å behandle DNS-forespørsler som har disse domenene i forespørselene.",
+    "access_settings_saved": "Tilgangsinnstillingene ble vellykket lagret",
+    "updates_checked": "Oppdateringene ble vellykket sett etter",
+    "updates_version_equal": "AdGuard Home er fullt oppdatert",
+    "check_updates_now": "Se etter oppdateringer nå",
+    "dns_privacy": "DNS-privatliv",
+    "setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Benytt <1>{{address}}</1>-strengen.",
+    "setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Benytt <1>{{address}}</1>-strengen.",
+    "setup_dns_privacy_3": "<0>Vennligst bemerk at krypterte DNS-protokoller bare er støttet på Android 9. Så du må installere ytterligere programvare for andre operativsystemer.</0><0>Her er en liste over programvare som du kan bruke.</0>",
+    "setup_dns_privacy_android_1": "Android 9 har innebygd støtte for DNS-over-TLS. For å sette det opp, gå til Innstillinger → Nettverk og internett → Avansert → Privat DNS, og skriv inn domenenavnet ditt der.",
+    "setup_dns_privacy_android_2": "<0>AdGuard for Android</0> støtter <1>DNS-over-HTTPS</1> og <1>DNS-over-TLS</1>.",
+    "setup_dns_privacy_android_3": "<0>Intra</0> legger til <1>DNS-over-HTTPS</1>-støtte i Android.",
+    "setup_dns_privacy_ios_1": "<0>DNSCloak</0> støtter <1>DNS-over-HTTPS</1>, men for å sette det opp til å bruke din egen tjener, vil du måtte generere et <2>DNS-stempel</2> for det.",
+    "setup_dns_privacy_ios_2": "<0>AdGuard for iOS</0> støtter <1>DNS-over-HTTPS</1>- og <1>DNS-over-TLS</1>-oppsett.",
+    "setup_dns_privacy_other_title": "Andre implementeringer",
+    "setup_dns_privacy_other_1": "AdGuard Home i seg selv kan brukes som en sikker DNS-klient for enhver plattform.",
+    "setup_dns_privacy_other_2": "<0>dnsproxy</0> støtter alle kjente sikre DNS-protokoller.",
+    "setup_dns_privacy_other_3": "<0>dnscrypt-proxy</0> støtter <1>DNS-over-HTTPS</1>.",
+    "setup_dns_privacy_other_4": "<0>Mozilla Firefox</0> støtter <1>DNS-over-HTTPS</1>.",
+    "setup_dns_privacy_other_5": "Du finner flere implementeringer <0>her</0> og <1>her</1>.",
+    "setup_dns_notice": "For å benytte <1>DNS-over-HTTPS</1> eller <1>DNS-over-TLS</1>, må du <0>sette opp Kryptering</0> i AdGuard Home-innstillingene.",
+    "rewrite_added": "DNS-omdirigeringen for «{{key}}» ble vellykket lagt til",
+    "rewrite_deleted": "DNS-omdirigeringen for «{{key}}» ble vellykket slettet",
+    "rewrite_add": "Legg til DNS-omdirigering",
+    "rewrite_not_found": "Ingen DNS-omdirigeringer ble funnet",
+    "rewrite_confirm_delete": "Er du sikker på at du vil slette DNS-omdirigeringen for «{{key}}»?",
+    "rewrite_desc": "Lar deg enkelt konfigurere selvvalgte DNS-tilbakemeldinger for et spesifikt domenenavn.",
+    "rewrite_applied": "Benyttet omdirigeringsregelen",
+    "dns_rewrites": "DNS-omdirigeringer",
+    "form_domain": "Skriv inn domene",
+    "form_answer": "Skriv inn IP-adresse eller domenenavn",
+    "form_error_domain_format": "Ugyldig domeneformat",
+    "form_error_answer_format": "Ugyldig svarformat",
+    "configure": "Sett opp",
+    "main_settings": "Hovedinnstillinger",
+    "block_services": "Blokker spesifikke tjenester",
+    "blocked_services": "Blokkerte tjenester",
+    "blocked_services_desc": "Gjør det mulig å blokkere populære nettsteder og tjenester med letthet.",
+    "blocked_services_saved": "Tjenesteblokkeringene ble vellykket lagret",
+    "blocked_services_global": "Bruk de overbestyrt blokkerte tjenestene",
+    "blocked_service": "Blokkert tjeneste",
+    "block_all": "Blokker alt",
+    "unblock_all": "Tillat alt",
+    "encryption_certificate_path": "Filbanen til sertifikatet",
+    "encryption_private_key_path": "Filbanen til den private nøkkelen",
+    "encryption_certificates_source_path": "Bestem en filbane for sertifikater",
+    "encryption_certificates_source_content": "Lim inn innholdet til sertifikatet",
+    "encryption_key_source_path": "Bestem en privat nøkkelfil",
+    "encryption_key_source_content": "Lim inn innholdet til den private nøkkelen",
+    "stats_params": "Statistikk-oppsett",
+    "config_successfully_saved": "Oppsettet ble vellykket lagret",
+    "interval_24_hour": "24 timer",
+    "interval_days": "{{count}} dag",
+    "interval_days_plural": "{{count}} dager",
+    "domain": "Domene",
+    "answer": "Svar",
+    "filter_added_successfully": "Filteret har blitt vellykket lagt til",
+    "statistics_configuration": "Statistikk-oppsett",
+    "statistics_retention": "Statistikkbeholding",
+    "statistics_retention_desc": "Hvis du reduserer intervallverdien, vil noen av dataene gå tapt",
+    "statistics_clear": " Tøm statistikkene",
+    "statistics_clear_confirm": "Er du sikker på at du vil slette statistikkene?",
+    "statistics_retention_confirm": "Er du sikker på at du vil endre hvor lenge statistikkene skal beholdes? Hvis du reduserer den interne verdien, vil noe av dataene gå tapt",
+    "statistics_cleared": "Statistikkene ble vellykket tømt",
+    "interval_hours": "{{count}} time",
+    "interval_hours_plural": "{{count}} timer",
+    "filters_configuration": "Oppsett av filtre",
+    "filters_enable": "Skru på filtre",
+    "filters_interval": "Filteroppdateringsvanlighet",
+    "disabled": "Skrudd av",
+    "username_label": "Brukernavn",
+    "username_placeholder": "Skriv inn brukernacvn",
+    "password_label": "Passord",
+    "password_placeholder": "Skriv inn passord",
+    "sign_in": "Logg på",
+    "sign_out": "Logg av",
+    "forgot_password": "Har du glemt passordet?",
+    "forgot_password_desc": "Vennligst følg <0>disse trinnene</0> for å lage et nytt passord til brukerkontoen din.",
+    "location": "Posisjon",
+    "orgname": "Firmanavn",
+    "netname": "Nettverksnavn",
+    "descr": "Beskrivelse",
+    "whois": "Whois",
+    "filtering_rules_learn_more": "<0>Lær mer</0> om å lage dine egne filterlister for AdGuard Home."
+}
\ No newline at end of file
diff --git a/client/src/__locales/pt-br.json b/client/src/__locales/pt-br.json
index 6229dd9e..b5d97fcc 100644
--- a/client/src/__locales/pt-br.json
+++ b/client/src/__locales/pt-br.json
@@ -19,6 +19,9 @@
     "dhcp_leases_not_found": "Nenhuma concessão DHCP encontrada",
     "dhcp_config_saved": "Salvar configurações do servidor DHCP",
     "form_error_required": "Campo obrigatório",
+    "form_error_ip4_format": "Formato de endereço IPv4 inválido",
+    "form_error_ip6_format": "Formato de endereço IPv6 inválido",
+    "form_error_ip_format": "Formato de endereço IPv inválido",
     "form_error_mac_format": "Formato do endereço MAC inválido",
     "form_error_positive": "Deve ser maior que 0",
     "dhcp_form_gateway_input": "IP do gateway",
@@ -95,6 +98,7 @@
     "use_adguard_parental": "Usar o serviço de controle parental do AdGuard",
     "use_adguard_parental_hint": "O AdGuard Home irá verificar se o domínio contém conteúdo adulto. Ele usa a mesma API amigável de privacidade que o serviço de segurança da navegação.",
     "enforce_safe_search": "Forçar pesquisa segura",
+    "enforce_save_search_hint": "O AdGuard Home pode forçar a pesquisa segura nos seguintes motores de busca: Google, YouTube, Bing, DuckDuckGo, Yandex, Pixabay.",
     "no_servers_specified": "Nenhum servidor especificado",
     "general_settings": "Configurações gerais",
     "dns_settings": "Configurações de DNS",
diff --git a/client/src/__locales/pt-pt.json b/client/src/__locales/pt-pt.json
index 1fb6c6ab..b2916f31 100644
--- a/client/src/__locales/pt-pt.json
+++ b/client/src/__locales/pt-pt.json
@@ -19,6 +19,9 @@
     "dhcp_leases_not_found": "Nenhuma concessão DHCP encontrada",
     "dhcp_config_saved": "Guardar configurações do servidor DHCP",
     "form_error_required": "Campo obrigatório",
+    "form_error_ip4_format": "Formato de endereço IPv4 inválido",
+    "form_error_ip6_format": "Formato de endereço IPv6 inválido",
+    "form_error_ip_format": "Formato de endereço IPv4 inválido",
     "form_error_mac_format": "Formato do endereço MAC inválido",
     "form_error_positive": "Deve ser maior que 0",
     "dhcp_form_gateway_input": "IP do gateway",
@@ -95,6 +98,7 @@
     "use_adguard_parental": "Usar o serviço de controlo parental do AdGuard",
     "use_adguard_parental_hint": "O AdGuard Home irá verificar se o domínio contém conteúdo adulto. Usa a mesma API amigável de privacidade que o serviço de segurança da navegação.",
     "enforce_safe_search": "Forçar pesquisa segura",
+    "enforce_save_search_hint": "O AdGuard Home pode forçar a pesquisa segura nos seguintes motores de busca: Google, Youtube, Bing, DuckDuckGo, Yandex, Pixabay.",
     "no_servers_specified": "Nenhum servidor especificado",
     "general_settings": "Definições gerais",
     "dns_settings": "Definições de DNS",
diff --git a/client/src/__locales/sk.json b/client/src/__locales/sk.json
index a10c17f8..4423e669 100644
--- a/client/src/__locales/sk.json
+++ b/client/src/__locales/sk.json
@@ -19,6 +19,9 @@
     "dhcp_leases_not_found": "Neboli nájdené žiadne DHCP prenájmy",
     "dhcp_config_saved": "Konfigurácia DHCP servera uložená",
     "form_error_required": "Povinná položka",
+    "form_error_ip4_format": "Nesprávny formát IPv4",
+    "form_error_ip6_format": "Nesprávny formát IPv6",
+    "form_error_ip_format": "Nesprávny formát IPv4",
     "form_error_mac_format": "Nesprávny MAC formát",
     "form_error_positive": "Musí byť väčšie ako 0",
     "dhcp_form_gateway_input": "IP brána",
@@ -95,6 +98,7 @@
     "use_adguard_parental": "Použiť AdGuard službu Rodičovská kontrola",
     "use_adguard_parental_hint": "AdGuard Home skontroluje, či doména obsahuje materiály pre dospelých. Používa rovnaké API priateľské k ochrane osobných údajov ako služba Bezpečného prehliadania.",
     "enforce_safe_search": "Vynútiť bezpečné vyhľadávanie",
+    "enforce_save_search_hint": "AdGuard Home môže vynútiť bezpečné vyhľadávanie v nasledujúcich vyhľadávačoch: Google, Youtube, Bing, DuckDuckGo and Yandex.",
     "no_servers_specified": "Neboli špecifikované žiadne servery",
     "general_settings": "Všeobecné nastavenia",
     "dns_settings": "Nastavenia DNS",
diff --git a/client/src/__locales/sl.json b/client/src/__locales/sl.json
index 3edc7875..f69bd688 100644
--- a/client/src/__locales/sl.json
+++ b/client/src/__locales/sl.json
@@ -19,6 +19,9 @@
     "dhcp_leases_not_found": "Ni najdenih najemov DHCP",
     "dhcp_config_saved": "Shranjena konfiguracija DHCP strežnika",
     "form_error_required": "Zahtevano polje",
+    "form_error_ip4_format": "Neveljaven format IPv4",
+    "form_error_ip6_format": "Neveljaven format IPv6",
+    "form_error_ip_format": "Neveljaven format IP",
     "form_error_mac_format": "Neveljaven MAC format",
     "form_error_positive": "Mora biti večja od 0",
     "dhcp_form_gateway_input": "IP prehoda",
@@ -95,6 +98,7 @@
     "use_adguard_parental": "Uporabi AdGuardovo spletno storitev 'Starševski nadzor'",
     "use_adguard_parental_hint": "AdGuard Home bo preveril, če domena vsebuje  vsebine za odrasle. Uporablja enako, za zasebnost prijazen API, kot spletno storitev za varnost brskanja.",
     "enforce_safe_search": "Vsili varno iskanje",
+    "enforce_save_search_hint": "AdGuard Home lahko uveljavi varno iskanje v naslednjih iskalnikih: Google, Youtube, Bing, DuckDuckGo, Yandex, Pixabay.",
     "no_servers_specified": "Ni določenih strežnikov",
     "general_settings": "Splošne nastavitve",
     "dns_settings": "Nastavitve DNS",
diff --git a/client/src/__locales/zh-tw.json b/client/src/__locales/zh-tw.json
index 465679c4..03e1554d 100644
--- a/client/src/__locales/zh-tw.json
+++ b/client/src/__locales/zh-tw.json
@@ -19,6 +19,9 @@
     "dhcp_leases_not_found": "無已發現之動態主機設定協定(DHCP)租賃",
     "dhcp_config_saved": "已儲存動態主機設定協定(DHCP)伺服器配置",
     "form_error_required": "必填的欄位",
+    "form_error_ip4_format": "無效的 IPv4 格式",
+    "form_error_ip6_format": "無效的 IPv6 格式",
+    "form_error_ip_format": "無效的 IP 格式",
     "form_error_mac_format": "無效的媒體存取控制(MAC)格式",
     "form_error_positive": "必須大於 0",
     "dhcp_form_gateway_input": "閘道 IP",
@@ -95,6 +98,7 @@
     "use_adguard_parental": "使用 AdGuard 家長監控之網路服務",
     "use_adguard_parental_hint": "AdGuard Home 將檢查網域是否包含成人資料。它使用如同瀏覽安全網路服務一樣之友好的隱私應用程式介面(API)。",
     "enforce_safe_search": "強制執行安全搜尋",
+    "enforce_save_search_hint": "AdGuard Home 可在下列的搜尋引擎:Google、YouTube、Bing、DuckDuckGo、Yandex 和 Pixabay 中強制執行安全搜尋。",
     "no_servers_specified": "無已明確指定的伺服器",
     "general_settings": "一般的設定",
     "dns_settings": "DNS 設定",
diff --git a/client/src/i18n.js b/client/src/i18n.js
index 5b144110..ba45e8f6 100644
--- a/client/src/i18n.js
+++ b/client/src/i18n.js
@@ -22,6 +22,7 @@ import de from './__locales/de.json';
 import id from './__locales/id.json';
 import it from './__locales/it.json';
 import ko from './__locales/ko.json';
+import no from './__locales/no.json';
 import nl from './__locales/nl.json';
 import pl from './__locales/pl.json';
 import ptPT from './__locales/pt-pt.json';
@@ -81,6 +82,9 @@ const resources = {
     ko: {
         translation: ko,
     },
+    no: {
+        translation: no,
+    },
     nl: {
         translation: nl,
     },
diff --git a/home/i18n.go b/home/i18n.go
index 4b20f606..69f9fa5f 100644
--- a/home/i18n.go
+++ b/home/i18n.go
@@ -30,6 +30,7 @@ var allowedLanguages = map[string]bool{
 	"id":    true,
 	"it":    true,
 	"ko":    true,
+	"no":    true,
 	"nl":    true,
 	"pl":    true,
 	"pt-pt": true,