diff --git a/.twosky.json b/.twosky.json
index db2e0265..244df6a9 100644
--- a/.twosky.json
+++ b/.twosky.json
@@ -12,6 +12,7 @@
"en": "English",
"es": "Español",
"fa": "فارسی",
+ "fi": "Suomi",
"fr": "Français",
"hr": "Hrvatski",
"hu": "Magyar",
@@ -33,6 +34,7 @@
"sv": "Svenska",
"th": "ภาษาไทย",
"tr": "Türkçe",
+ "uk": "Українська",
"vi": "Tiếng Việt",
"zh-cn": "简体中文",
"zh-hk": "繁體中文(香港)",
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b090aad5..eed5f0f1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,6 +15,7 @@ and this project adheres to
### Added
+- Finnish and Ukrainian translations.
- Setting the timeout for IP address pinging in the "Fastest IP address" mode
through the new `fastest_timeout` field in the configuration file ([#1992]).
- Static IP address detection on FreeBSD ([#3289]).
diff --git a/client/src/__locales/fi.json b/client/src/__locales/fi.json
new file mode 100644
index 00000000..d6f9ce5b
--- /dev/null
+++ b/client/src/__locales/fi.json
@@ -0,0 +1,628 @@
+{
+ "client_settings": "Päätelaiteasetukset",
+ "example_upstream_reserved": "voit määrittää DNS-ylävirran <0>tietyille verkkotunnuksille0>",
+ "example_upstream_comment": "voit määrittää kommentin",
+ "upstream_parallel": "Käytä rinnakkaisia pyyntöjä ja nopeuta selvitystä käyttämällä kaikkia ylävirran palvelimia samanaikaisesti.",
+ "parallel_requests": "Rinnakkaiset pyynnöt",
+ "load_balancing": "Kuormantasaus",
+ "load_balancing_desc": "Lähetä pyyntö yhdelle ylävirran palvelimelle kerrallaan. AdGuard Home pyrkii valitsemaan nopeimman palvelimen painotetun satunnaisalgoritminsa avulla.",
+ "bootstrap_dns": "Bootstrap DNS-palvelimet",
+ "bootstrap_dns_desc": "Bootstrap DNS-palvelimia käytetään ylävirroiksi määritettyjen DoH/DoT-resolvereiden IP-osoitteiden selvitykseen.",
+ "local_ptr_title": "Yksityiset käänteiset DNS-palvelimet",
+ "local_ptr_desc": "DNS-palvelimet, joita AdGuard Home käyttää paikallisille PTR-pyynnöille. Näitä palvelimia käytetään yksityistä IP-osoitetta käyttävien päätelaitteiden osoitteiden, kuten \"192.168.12.34\", selvitykseen käänteisen DNS:n avulla. Jos ei käytössä, käyttää AdGuard Home käyttöjärjestelmän oletusarvoisia DNS-resolvereita, poislukien AdGuard Homen omat osoitteet.",
+ "local_ptr_default_resolver": "Oletusarvoisesti AdGuard Home käyttää seuraavia käänteisiä DNS-resolvereita: {{ip}}.",
+ "local_ptr_no_default_resolver": "AdGuard Home ei voinut määrittää tälle järjestelmälle sopivaa yksityistä käänteistä DNS-resolveria.",
+ "local_ptr_placeholder": "Syötä yksi palvelimen osoite per rivi",
+ "resolve_clients_title": "Käytä päätelaitteiden IP-osoitteille käänteistä selvitystä",
+ "resolve_clients_desc": "Selvitä päätelaitteiden IP-osoitteiden isäntänimet käänteisesti lähettämällä PTR-kyselyt sopiville resolvereille (yksityiset DNS-palvelimet paikallisille päätelaitteille, lähtevät palvelimet päätelaitteille, joilla on julkiset IP-osoitteet).",
+ "use_private_ptr_resolvers_title": "Käytä yksityisiä käänteisiä DNS-resolvereita",
+ "use_private_ptr_resolvers_desc": "Suorita käänteiset DNS-selvitykset paikallisesti tarjotuille osoitteille käyttäen näitä ylävirran palvelimia. Jos ei käytössä, vastaa AdGuard Home kaikkiin sen tyyppisiin PTR-pyyntöihin NXDOMAIN-arvolla, pois lukien DHCP, /etc/hosts, yms. -tiedoista tunnistettut päätelaitteet.",
+ "check_dhcp_servers": "Etsi DHCP-palvelimia",
+ "save_config": "Tallenna asetukset",
+ "enabled_dhcp": "DHCP-palvelin otettiin käyttöön",
+ "disabled_dhcp": "DHCP-palvelin poistettiin käytöstä",
+ "unavailable_dhcp": "DHCP ei ole käytettävissä",
+ "unavailable_dhcp_desc": "AdGuard Home ei voi suorittaa DHCP-palvelinta käyttöjärjestelmässäsi",
+ "dhcp_title": "DHCP-palvelin (kokeellinen!)",
+ "dhcp_description": "Jos reitittimessäsi ei ole DHCP-asetuksia, voit käyttää AdGuard Homen omaa sisäänrakennettua DHCP-palvelinta.",
+ "dhcp_enable": "Ota DHCP-palvelin käyttöön",
+ "dhcp_disable": "Poista DHCP-palvelin käytöstä",
+ "dhcp_not_found": "On turvallista ottaa sisäänrakennettu DHCP-palvelin käyttöön, koska AdGuard Home ei havainnut verkossa muita aktiivisia DHCP-palvelimia. Suosittelemme, että varmistat tämän vielä itse, koska automaattinen tunnistus ei ole 100% varma.",
+ "dhcp_found": "Verkossa havaittiin aktiivinen DHCP-palvelin. Sisäänrakennetun DHCP-palvelimen käyttöönotto ei ole turvallista.",
+ "dhcp_leases": "DHCP-lainat",
+ "dhcp_static_leases": "Kiinteät DHCP-lainat",
+ "dhcp_leases_not_found": "DHCP-lainoja ei löytynyt",
+ "dhcp_config_saved": "DHCP-asetukset tallennettiin",
+ "dhcp_ipv4_settings": "DHCP:n IPv4-asetukset",
+ "dhcp_ipv6_settings": "DHCP:n IPv6-asetukset",
+ "form_error_required": "Vaaditaan",
+ "form_error_ip4_format": "Virheellinen IPv4-osoite",
+ "form_error_ip4_range_start_format": "Virheellinen IPv4-osoitealueen aloitusosoite",
+ "form_error_ip4_range_end_format": "Virheellinen IPv4-osoitealueen päätösosoite",
+ "form_error_ip4_gateway_format": "Virheellinen yhdyskäytävän IPv4-osoite",
+ "form_error_ip6_format": "Virheellinen IPv6-osoite",
+ "form_error_ip_format": "Virheellinen IP-osoite",
+ "form_error_mac_format": "Virheellinen MAC-osoite",
+ "form_error_client_id_format": "Virheellinen päätelaitteen ID",
+ "form_error_server_name": "Virheellinen palvelimen nimi",
+ "form_error_subnet": "Aliverkko \"{{cidr}}\" ei sisällä IP-osoitetta \"{{ip}}\"",
+ "form_error_positive": "Oltava suurempi kuin 0",
+ "form_error_negative": "Oltava yhtä suuri tai suurempi kuin 0",
+ "out_of_range_error": "Oltava alueen \"{{start}}\"-\"{{end}}\" ulkopuolella",
+ "lower_range_start_error": "Oltava alueen aloitusarvoa pienempi",
+ "greater_range_start_error": "Oltava alueen aloitusarvoa suurempi",
+ "greater_range_end_error": "Oltava alueen päätösarvoa pienempi",
+ "subnet_error": "Osoitteiden tulee olla yhdessä aliverkossa",
+ "gateway_or_subnet_invalid": "Virheellinen aliverkon peite",
+ "dhcp_form_gateway_input": "Yhdyskäytävän IP-osoite",
+ "dhcp_form_subnet_input": "Aliverkon peite",
+ "dhcp_form_range_title": "IP-osoitealue",
+ "dhcp_form_range_start": "Alueen aloitus",
+ "dhcp_form_range_end": "Alueen päätös",
+ "dhcp_form_lease_title": "DHCP-lainan kesto (sekunteina)",
+ "dhcp_form_lease_input": "Lainan kesto",
+ "dhcp_interface_select": "Valitse DHCP:lle käytettävä verkkosovitin",
+ "dhcp_hardware_address": "Laiteosoite (MAC)",
+ "dhcp_ip_addresses": "IP-osoitteet",
+ "ip": "IP",
+ "dhcp_table_hostname": "Isäntänimi",
+ "dhcp_table_expires": "Erääntyy",
+ "dhcp_warning": "Jos tahdot kuitenkin ottaa DHCP-palvelimen käyttöön, varmista, ettei verkossasi ole muita aktiivisia DHCP-palvelimia, koska tämä voi rikkoa Internet-yhteyden muilta verkon laitteilta!",
+ "dhcp_error": "AdGuard Home ei voinut tunnistaa, onko verkossa toista aktiivista DHCP-palvelinta.",
+ "dhcp_static_ip_error": "Jotta DHCP-palvelinta voidaan käyttää, on määritettävä kiinteä IP-osoite. AdGuard Home ei voinut tunnistaa, onko tälle verkkosovittimelle määritetty IP-osoite kiinteä. Määritä kiinteä IP-osoite itse.",
+ "dhcp_dynamic_ip_found": "Järjestelmäsi käyttää verkkosovittimelle <0>{{interfaceName}}0> dynaamista IP-osoitetta. Jotta voit käyttää DHCP-palvelinta, on sovittimelle määritettävä kiinteä IP-osoite. Nykyinen IP-osoitteesi on <0>{{ipAddress}}0>. Tämä osoite määritetään automaattisesti kiinteäksi, jos painat \"Ota DHCP-palvelin käyttöön\" -painiketta.",
+ "dhcp_lease_added": "Kiinteä laina \"{{key}}\" on lisätty",
+ "dhcp_lease_deleted": "Kiinteä laina \"{{key}}\" poistettiin",
+ "dhcp_new_static_lease": "Uusi kiinteä laina",
+ "dhcp_static_leases_not_found": "Kiinteitä DHCP-lainoja ei löytynyt",
+ "dhcp_add_static_lease": "Lisää kiinteä laina",
+ "dhcp_reset_leases": "Tyhjennä kaikki lainat",
+ "dhcp_reset_leases_confirm": "Haluatko varmasti tyhjentää kaikki lainat?",
+ "dhcp_reset_leases_success": "DHCP-lainat tyhjennettiin",
+ "dhcp_reset": "Haluatko varmasti palauttaa DHCP-asetukset?",
+ "country": "Maa",
+ "city": "Kaupunki",
+ "delete_confirm": "Haluatko varmasti poistaa kohteen \"{{key}}\"?",
+ "form_enter_hostname": "Syötä isäntänimi",
+ "error_details": "Virheen tiedot",
+ "response_details": "Vastauksen tiedot",
+ "request_details": "Pyynnön tiedot",
+ "client_details": "Päätelaitteen tiedot",
+ "details": "Tiedot",
+ "back": "Takaisin",
+ "dashboard": "Tila",
+ "settings": "Asetukset",
+ "filters": "Suodattimet",
+ "filter": "Suodatin",
+ "query_log": "Pyyntöhistoria",
+ "compact": "Tiivis",
+ "nothing_found": "Ei tuloksia",
+ "faq": "UKK",
+ "version": "Versio",
+ "address": "Osoite",
+ "protocol": "Protokolla",
+ "on": "Käytössä",
+ "off": "Ei käytössä",
+ "copyright": "Tekijänoikeus",
+ "homepage": "Kotisivu",
+ "report_an_issue": "Ilmoita ongelmasta",
+ "privacy_policy": "Tietosuojakäytäntö",
+ "enable_protection": "Ota suojaus käyttöön",
+ "enabled_protection": "Suojaus otettiin käyttöön",
+ "disable_protection": "Poista suojaus käytöstä",
+ "disabled_protection": "Suojaus poistettiin käytöstä",
+ "refresh_statics": "Päivitä tilastot",
+ "dns_query": "DNS-pyyntöä",
+ "blocked_by": "<0>Suodatinten estämää0>",
+ "stats_malware_phishing": "Estetyt haittaohjelmat/tietojenkalastelut",
+ "stats_adult": "Estetyt aikuisille tarkoitetut sivustot",
+ "stats_query_domain": "Kysytyimmät verkkotunnukset",
+ "for_last_24_hours": "viimeisten 24 tunnin ajalta",
+ "for_last_days": "viimeisen {{count}} päivän ajalta",
+ "for_last_days_plural": "viimeisten {{count}} päivän ajalta",
+ "stats_disabled": "Tilastointi ei ole käytössä. Voit ottaa sen käyttöön <0>asetuksista0>.",
+ "stats_disabled_short": "Tilastointi ei ole käytössä",
+ "no_domains_found": "Verkkotunnuksia ei löytynyt",
+ "requests_count": "Pyyntöjen määrä",
+ "top_blocked_domains": "Estetyimmät verkkotunnukset",
+ "top_clients": "Käytetyimmät päätelaitteet",
+ "no_clients_found": "Päätelaitteita ei löytynyt",
+ "general_statistics": "Yleiset tilastot",
+ "number_of_dns_query_days": "Käsiteltyjen DNS-pyyntöjen määrä viimeisen {{count}} päivän ajalta",
+ "number_of_dns_query_days_plural": "Käsiteltyjen DNS-pyyntöjen määrä viimeisten {{count}} päivän ajalta",
+ "number_of_dns_query_24_hours": "Käsiteltyjen DNS-pyyntöjen määrä viimeisten 24 tunnin ajalta",
+ "number_of_dns_query_blocked_24_hours": "Mainoseston suodattimien ja hosts-estolistojen estämien DNS-pyyntöjen määrä",
+ "number_of_dns_query_blocked_24_hours_by_sec": "AdGuardin Turvallinen selaus -moduulin estämien DNS-pyyntöjen määrä",
+ "number_of_dns_query_blocked_24_hours_adult": "Estettyjen aikuisille tarkoitettujen sivustojen määrä",
+ "enforced_save_search": "Turvallinen haku pakotettiin",
+ "number_of_dns_query_to_safe_search": "DNS-pyyntöjen määrä, joille turvallinen haku pakotettiin käyttöön",
+ "average_processing_time": "Keskimääräinen käsittelyaika",
+ "average_processing_time_hint": "Keskimääräinen DNS-pyynnön käsittelyyn kulutettu aika millisekunteina",
+ "block_domain_use_filters_and_hosts": "Estä verkkotunnuksia suodattimilla ja hosts-tiedostoilla",
+ "filters_block_toggle_hint": "Voit määrittää estosääntöjä suodatinasetuksissa.",
+ "use_adguard_browsing_sec": "Käytä AdGuardin turvallisen selauksen palvelua",
+ "use_adguard_browsing_sec_hint": "AdGuard Home tarkistaa onko verkkotunnus turvallisen selauksen verkkopalvelun estämä. Se käyttää tarkastukseen yksityisyyspainotteista rajapintaa: palvelimelle lähetetään vain pieni osa verkkotunnuksen SHA256-hajautusarvosta.",
+ "use_adguard_parental": "Käytä AdGuardin lapsilukko-palvelua",
+ "use_adguard_parental_hint": "AdGuard Home tarkistaa, sisältääkö verkkotunnus aikuisille tarkoitettua sisältöä. Se käyttää samaa yksityisyyspainotteista rajapintaa, kuin turvallisen selauksen palvelu.",
+ "enforce_safe_search": "Pakota turvallinen haku",
+ "enforce_save_search_hint": "AdGuard Home voi pakottaa turvallisen haun käyttöön seuraavissa hakukoneissa: Google, YouTube, Bing, DuckDuckGo, Yandex, Pixabay.",
+ "no_servers_specified": "Palvelimia ei ole määritetty",
+ "general_settings": "Yleiset asetukset",
+ "dns_settings": "DNS-asetukset",
+ "dns_blocklists": "DNS-estolistat",
+ "dns_allowlists": "DNS-sallittujen listat",
+ "dns_blocklists_desc": "AdGuard Home estää estolistalla olevat verkkotunnukset.",
+ "dns_allowlists_desc": "DNS-sallittujen listalla olevat verkkotunnukset sallitaan myös silloin, jos ne ovat jollain muulla estolistalla.",
+ "custom_filtering_rules": "Omat suodatussäännöt",
+ "encryption_settings": "Salausasetukset",
+ "dhcp_settings": "DHCP-asetukset",
+ "upstream_dns": "Ylävirran DNS-palvelimet",
+ "upstream_dns_help": "Syötä yksi palvelinosoite per rivi. Lue lisää ylävirran DNS-palvelinten määrityksestä.",
+ "upstream_dns_configured_in_file": "Määritetty tiedostossa {{path}}",
+ "test_upstream_btn": "Testaa ylävirtoja",
+ "upstreams": "Ylävirrat",
+ "apply_btn": "Käytä",
+ "disabled_filtering_toast": "Suodatus poistettiin käytöstä",
+ "enabled_filtering_toast": "Suodatus otettiin käyttöön",
+ "disabled_safe_browsing_toast": "Turvallinen selaus poistettiin käytöstä",
+ "enabled_safe_browsing_toast": "Turvallinen selaus otettiin käyttöön",
+ "disabled_parental_toast": "Lapsilukko poistettiin käytöstä",
+ "enabled_parental_toast": "Lapsilukko otettiin käyttöön",
+ "disabled_safe_search_toast": "Turvallinen haku poistettiin käytöstä",
+ "enabled_save_search_toast": "Turvallinen haku otettiin käyttöön",
+ "enabled_table_header": "Käytössä",
+ "name_table_header": "Nimi",
+ "list_url_table_header": "Listan URL",
+ "rules_count_table_header": "Sääntöjä",
+ "last_time_updated_table_header": "Viimeisin päivitys",
+ "actions_table_header": "Toiminnot",
+ "request_table_header": "Pyyntö",
+ "edit_table_action": "Muokkaa",
+ "delete_table_action": "Poista",
+ "elapsed": "Kesto",
+ "filters_and_hosts_hint": "AdGuard Home ymmärtää mainoseston perussääntöjen sekä hosts-tiedostojen syntakseja.",
+ "no_blocklist_added": "Estolistoja ei ole lisätty",
+ "no_whitelist_added": "Sallittujen listoja ei ole lisätty",
+ "add_blocklist": "Lisää estolista",
+ "add_allowlist": "Lisää sallittujen lista",
+ "cancel_btn": "Peruuta",
+ "enter_name_hint": "Syötä nimi",
+ "enter_url_or_path_hint": "Syötä listan URL-osoite tai tarkka tiedostosijainti",
+ "check_updates_btn": "Tarkista päivitykset",
+ "new_blocklist": "Uusi estolista",
+ "new_allowlist": "Uusi sallittujen lista",
+ "edit_blocklist": "Muokkaa estolistaa",
+ "edit_allowlist": "Muokkaa sallittujen listaa",
+ "choose_blocklist": "Valitse estolistat",
+ "choose_allowlist": "Valitse sallittujen listat",
+ "enter_valid_blocklist": "Syötä estolistan URL-osoite.",
+ "enter_valid_allowlist": "Syötä sallittujen listan URL-osoite.",
+ "form_error_url_format": "Virheellinen URL-osoitteen muoto",
+ "form_error_url_or_path_format": "Syötä listan URL-osoite tai tarkka tiedostosijainti",
+ "custom_filter_rules": "Omat suodatussäännöt",
+ "custom_filter_rules_hint": "Syötä yksi sääntö per rivi. Voit käyttää mainoseston sääntöjen tai hosts-tiedostojen syntakseja.",
+ "examples_title": "Esimerkkejä",
+ "example_meaning_filter_block": "estä pääsy verkkotunnukseen example.org ja sen aliverkkotunnuksiin",
+ "example_meaning_filter_whitelist": "salli pääsy verkkotunnukseen example.org ja sen aliverkkotunnuksiin",
+ "example_meaning_host_block": "AdGuard Home palauttaa verkkotunnukselle example.org osoitteen 127.0.0.1 (muttei sen aliverkkotunnuksille)",
+ "example_comment": "! Tähän tulee kommentti",
+ "example_comment_meaning": "voit määrittää kommentin",
+ "example_comment_hash": "# Myös tämä on kommentti",
+ "example_regex_meaning": "estä pääsy säännöllistä lauseketta vastaaviin verkkotunnuksiin",
+ "example_upstream_regular": "tavallinen DNS (UDP)",
+ "example_upstream_dot": "salattu <0>DNS-over-TLS0>",
+ "example_upstream_doh": "salattu <0>DNS-over-HTTPS0>",
+ "example_upstream_doq": "salattu <0>DNS-over-QUIC0>",
+ "example_upstream_sdns": "voit käyttää <0>DNS Stamp0> -merkintöjä <1>DNSCrypt1> tai <2>DNS-over-HTTPS2> -resolvereille",
+ "example_upstream_tcp": "tavallinen DNS (TCP)",
+ "all_lists_up_to_date_toast": "Kaikki listat ovat ajan tasalla",
+ "updated_upstream_dns_toast": "Ylävirtojen palvelimet tallennettiin",
+ "dns_test_ok_toast": "Määritetyt DNS-palvelimet toimivat oikein",
+ "dns_test_not_ok_toast": "Palvelin \"{{key}}\": ei voitu käyttää, tarkista sen oikeinkirjoitus",
+ "unblock": "Salli",
+ "block": "Estä",
+ "disallow_this_client": "Estä tämä päätelaite",
+ "allow_this_client": "Salli tämä päätelaite",
+ "block_for_this_client_only": "Estä vain tältä päätelaitteelta",
+ "unblock_for_this_client_only": "Salli vain tälle päätelaitteelle",
+ "time_table_header": "Aika",
+ "date": "Päiväys",
+ "domain_name_table_header": "Verkkotunnus",
+ "domain_or_client": "Verkkotunnus tai päätelaite",
+ "type_table_header": "Tyyppi",
+ "response_table_header": "Vastaus",
+ "response_code": "Vastauksen koodi",
+ "client_table_header": "Asiakas",
+ "empty_response_status": "Tyhjä",
+ "show_all_filter_type": "Näytä kaikki",
+ "show_filtered_type": "Näytä suodatetut",
+ "no_logs_found": "Historiatietoja ei ole",
+ "refresh_btn": "Päivitä",
+ "previous_btn": "Edellinen",
+ "next_btn": "Seuraava",
+ "loading_table_status": "Ladataan...",
+ "page_table_footer_text": "Sivu",
+ "rows_table_footer_text": "riviä",
+ "updated_custom_filtering_toast": "Omat suodatussäännöt päivitettiin",
+ "rule_removed_from_custom_filtering_toast": "Sääntö poistettiin omista suodatussäännöistä: {{rule}}",
+ "rule_added_to_custom_filtering_toast": "Sääntö lisättiin omiin suodatussääntöihin: {{rule}}",
+ "query_log_response_status": "Tila: {{value}}",
+ "query_log_filtered": "Suodattanut {{filter}}",
+ "query_log_confirm_clear": "Haluatko varmasti tyhjentää pyyntöhistorian?",
+ "query_log_cleared": "Pyyntöhistoria tyhjennettiin",
+ "query_log_updated": "Pyyntöhistoria päivitettiin",
+ "query_log_clear": "Tyhjennä pyyntöhistoria",
+ "query_log_retention": "Pyyntöhistorian säilytys",
+ "query_log_enable": "Käytä historiaa",
+ "query_log_configuration": "Historian määritys",
+ "query_log_disabled": "Pyyntöhistoria ei ole käytössä. Voit ottaa sen käyttöön <0>asetuksissa0>",
+ "query_log_strict_search": "Käytä tarkalle haulle lainausmerkkejä",
+ "query_log_retention_confirm": "Haluatko varmasti muuttaa pyyntöhistoriasi säilytysaikaa? Jos lyhennät aikaa, joitakin tietoja menetetään",
+ "anonymize_client_ip": "Piilota päätelaitteen IP-osoite",
+ "anonymize_client_ip_desc": "Älä tallenna päätelaitteen täydellistä IP-osoitetta historiaan ja tilastoihin",
+ "dns_config": "DNS-palvelimen määritys",
+ "dns_cache_config": "DNS-välimuistin määritys",
+ "dns_cache_config_desc": "Täällä voit määrittää DNS-välimuistin asetukset",
+ "blocking_mode": "Estotila",
+ "default": "Oletus",
+ "nxdomain": "NXDOMAIN",
+ "refused": "REFUSED",
+ "null_ip": "Tyhjä IP",
+ "custom_ip": "Oma IP",
+ "blocking_ipv4": "IPv4-esto",
+ "blocking_ipv6": "IPv6-esto",
+ "dnscrypt": "DNSCrypt",
+ "dns_over_https": "DNS-over-HTTPS",
+ "dns_over_tls": "DNS-over-TLS",
+ "dns_over_quic": "DNS-over-QUIC",
+ "client_id": "Päätelaitteen ID",
+ "client_id_placeholder": "Syötä päätelaitteen ID",
+ "client_id_desc": "Eri päätelaitteet voidaan tunnistaa erityisillä tunnisteilla. Täältä löydät lisätietoja päätelaitteiden tunnistuksesta.",
+ "download_mobileconfig_doh": "Lataa .mobileconfig-tiedosto DNS-over-HTTPS -käytölle",
+ "download_mobileconfig_dot": "Lataa .mobileconfig-tiedosto DNS-over-TLS -käytölle",
+ "download_mobileconfig": "Lataa asetustiedosto",
+ "plain_dns": "Tavallinen DNS",
+ "form_enter_rate_limit": "Syötä rajoitus",
+ "rate_limit": "Pyyntöjen ajoitus",
+ "edns_enable": "Käytä EDNS-päätelaitealivekkoa",
+ "edns_cs_desc": "Lähetä päätelaitteiden aliverkot DNS-palvelimille.",
+ "rate_limit_desc": "Päätelaitteelle sallittu pyyntöjen enimmäismäärä sekunnissa. Arvo 0 tarkoittaa rajatonta.",
+ "blocking_ipv4_desc": "Estettyyn A-pyyntöön palautettava IP-osoite",
+ "blocking_ipv6_desc": "Estettyyn AAAA-pyyntöön palautettava IP-osoite",
+ "blocking_mode_default": "Oletus: Vastaa IP-nollaosoitteella (0.0.0.0 korvaa A; :: korvaa AAAA) kun estetään mainoseston säännöllä; vastaa säännön määrittämällä IP-osoitteella kun estetään /etc/hosts-tyyppisellä säännöllä",
+ "blocking_mode_refused": "REFUSED: Vastaa REFUSED-koodilla",
+ "blocking_mode_nxdomain": "NXDOMAIN: Vastaa NXDOMAIN-koodilla",
+ "blocking_mode_null_ip": "Tyhjä IP: Vastaa IP-nollaosoitteella (0.0.0.0 korvaa A; :: korvaa AAAA)",
+ "blocking_mode_custom_ip": "Oma IP: Vastaa itse määritetyllä IP-osoitteella",
+ "upstream_dns_client_desc": "Jos tämä on tyhjä, käyttää AdGuard Home <0>DNS-asetuksissa0> määritettyjä palvelimia.",
+ "tracker_source": "Seurannan lähde",
+ "source_label": "Lähde",
+ "found_in_known_domain_db": "Löytyi tunnettujen verkkotunnusten tietokannasta.",
+ "category_label": "Luokitus",
+ "rule_label": "Säännöt",
+ "list_label": "Lista",
+ "unknown_filter": "Tuntematon suodatin {{filterId}}",
+ "known_tracker": "Tunnettu seuranta",
+ "install_welcome_title": "Tervetuloa AdGuard Homeen!",
+ "install_welcome_desc": "AdGuard Home on verkonlaajuinen mainoksia ja seurantoja estävä DNS-palvelin. Sen tarkoitus on mahdollistaa verkon sekä siihen liitettyjen laitteiden hallinta ja valvonta, eikä se vaadi asiakasohjelmistojen asennusta päätelaitteille.",
+ "install_settings_title": "Hallintapaneeli",
+ "install_settings_listen": "Käytettävä verkkosovitin",
+ "install_settings_port": "Portti",
+ "install_settings_interface_link": "AdGuard Home -asennuksesi hallintapaneeli on käytettävissä seuraavilla osoitteilla:",
+ "form_error_port": "Syötä oikea portin numero",
+ "install_settings_dns": "DNS-palvelin",
+ "install_settings_dns_desc": "Sinun on määritettävä laitteesi tai reitittimesi käyttämään DNS-palvelinta seuraavissa osoitteissa:",
+ "install_settings_all_interfaces": "Kaikki verkkosovittimet",
+ "install_auth_title": "Tunnistautuminen",
+ "install_auth_desc": "AdGuard Homen hallinnalle on määritettävä salasanasuojaus. Vaikka se olisikin tavoitettavissa vain lähiverkon välityksellä, on silti tärkeää suojata se luvattomalta käytöltä.",
+ "install_auth_username": "Käyttäjätunnus",
+ "install_auth_password": "Salasana",
+ "install_auth_confirm": "Vahvista salasana",
+ "install_auth_username_enter": "Syötä käyttäjätunnus",
+ "install_auth_password_enter": "Syötä salasana",
+ "install_step": "Vaihe",
+ "install_devices_title": "Määritä laitteet",
+ "install_devices_desc": "AdGuard Homen käytön aloittamiseksi, on laitteet määritettävä käyttämään sitä.",
+ "install_submit_title": "Onnittelut!",
+ "install_submit_desc": "Asennus on valmis ja AdGuard Home on valmis käyttöön.",
+ "install_devices_router": "Reititin",
+ "install_devices_router_desc": "Asennus kattaa kaikki reitittimeen liitetyt laitteet, eikä niitä tarvitse määrittää erikseen yksitellen.",
+ "install_devices_address": "AdGuard Homen DNS-palvelin kuuntelee seuraavissa osoitteissa",
+ "install_devices_router_list_1": "Avaa reitittimesi hallinta. Yleensä se avautuu selaimen kautta, URL-osoitteella, kuten http://192.168.0.1 tai http://192.168.1.1. Saatat joutua syöttämään käyttäjätunnuksen ja salasanan. Jos et muista tai tiedä sitä, voit yleensä palauttaa salasanan (ja kaikki muut!) reitittimen asetukset oletusarvoihin painamalla laitteessa olevaa reset-painiketta muutaman sekunnin ajan. Jos reitittimen määritys vaatii erillisen sovelluksen käyttöä, asenna se mobiililaitteelle tai tietokoneelle ja käytä reitittimen hallintaa sen kautta. Tutustu reitittimen käyttöoppaaseen.",
+ "install_devices_router_list_2": "Etsi DHCP/DNS-asetukset. Etsi kirjainyhdistelmää DNS sellaisen kenttien vierestä, joihin voidaan syöttää kaksi tai kolme numerosarjaa, joista jokainen on eroteltu neljään ryhmään, joista jokainen sisältää yhdestä kolmeen numeroa.",
+ "install_devices_router_list_3": "Syötä sinne AdGuard Home -palvelimesi osoitteet.",
+ "install_devices_router_list_4": "Joissakin reitittimissä ei ole mahdollista määrittää omaa DNS-palvelinta. Tällöin AdGuard Homen määritys <0>DHCP-palvelimeksi0> voi auttaa. Muutoin on selvitettävä reitittimen käyttöohjeesta, miten sen DNS-palvelinasetukset muutetaan.",
+ "install_devices_windows_list_1": "Avaa \"Ohjauspaneeli\" Käynnistä-valikon tai Windowsin haun kautta.",
+ "install_devices_windows_list_2": "Avaa \"Verkko ja Internet\" -ryhmä ja sitten \"Verkko ja jakamiskeskus\".",
+ "install_devices_windows_list_3": "Etsi ikkunan vasemmasta laidasta \"Muuta sovittimen asetuksia\" ja klikkaa sitä.",
+ "install_devices_windows_list_4": "Valitse aktiivinen yhteytesi, klikkaa sitä hiiren kakkospainikkeella ja valitse valikosta \"Ominaisuudet\".",
+ "install_devices_windows_list_5": "Etsi listasta \"Internet protokolla versio 4 (TCP/IP)\", valitse se ja klikkaa jälleen \"Ominaisuudet\".",
+ "install_devices_windows_list_6": "Valitse \"Käytä seuraavia DNS-palvelinten osoitteita\" ja syötä AdGuard Home -palvelimesi osoitteet.",
+ "install_devices_macos_list_1": "Avaa Omenavalikko ja valitse \"Järjestelmäasetukset \".",
+ "install_devices_macos_list_2": "Klikkaa \"Verkko\".",
+ "install_devices_macos_list_3": "Valitse listan ensimmäinen yhteys ja klikkaa \"Lisävalinnat\".",
+ "install_devices_macos_list_4": "Valitse DNS-välilehti ja syötä AdGuard Home -palvelimesi osoitteet.",
+ "install_devices_android_list_1": "Napauta \"Asetukset\" -kuvaketta Android-laitteesi aloitusnäytöstä tai sovellusvalikosta.",
+ "install_devices_android_list_2": "Napauta \"Yhteydet\" ja sitten \"Wi-Fi\". Näytetään kaikki käytettävissä olevat langattomat verkot (mobiiliverkolle ei ole mahdollista määrittää omaa DNS-palvelinta).",
+ "install_devices_android_list_3": "Napauta yhdistetyn verkon vieressä olevaa asetuskuvaketta tai paina verkkoa pitkään ja valitse \"Muokkaa verkkoa\".",
+ "install_devices_android_list_4": "Saatat joutua napauttamaan \"Lisäasetukset\" nähdäksesi lisää valintoja. Muuttaaksesi DNS-asetuksia, on \"IP-asetukset\" -kohdan \"DHCP\" -valinta vaihdettava \"Staattinen\" -valintaan.",
+ "install_devices_android_list_5": "Syötä \"DNS 1\" ja \"DNS 2\" -kenttiin AdGuard Home -palvelimesi osoitteet.",
+ "install_devices_ios_list_1": "Valitse aloitusnäytöstä \"Asetukset\".",
+ "install_devices_ios_list_2": "Valitse vasemmalta \"Wi-Fi\" (mobiiliverkolle ei ole mahdollista määrittää omaa DNS-palvelinta).",
+ "install_devices_ios_list_3": "Valitse yhdistetty verkko.",
+ "install_devices_ios_list_4": "Syötä \"DNS\" -kenttään AdGuard Home -palvelimesi osoitteet.",
+ "get_started": "Aloita",
+ "next": "Seuraava",
+ "open_dashboard": "Avaa hallintapaneeli",
+ "install_saved": "Tallennettiin",
+ "encryption_title": "Salaus",
+ "encryption_desc": "Salaus (HTTPS/TLS) DNS-palvelimelle ja selaimen hallintasivulle",
+ "encryption_config_saved": "Salausasetukset tallennettiin",
+ "encryption_server": "Palvelimen nimi",
+ "encryption_server_enter": "Syötä verkkotunnuksesi",
+ "encryption_server_desc": "HTTPS-yhteyden käyttöä varten, on syötettävä SSL- tai jokerivarmennetta vastaava palvelimen nimi. Jos kenttä on tyhjä, sallitaan kaikkien verkkotunnusten TLS-yhteydet.",
+ "encryption_redirect": "Automaattinen HTTPS-ohjaus",
+ "encryption_redirect_desc": "Jos käytössä, AdGuard Home ohjaa HTTP-osoitteet automaattisesti HTTPS-osoitteisiin.",
+ "encryption_https": "HTTPS-portti",
+ "encryption_https_desc": "Jos HTTPS-portti on määritetty, on AdGuard Homen hallintapaneeli käytettävissä HTTPS-yhteydellä ja lisäksi tämä mahdollistaa myös DNS-over-HTTPS -yhteyden '/dns-query' -kohteessa.",
+ "encryption_dot": "DNS-over-TLS -portti",
+ "encryption_dot_desc": "Jos portti on määritetty, AdGuard Home suorittaa DNS-over-TLS -palvelimen tässä portissa.",
+ "encryption_doq": "DNS-over-QUIC -portti",
+ "encryption_doq_desc": "Jos portti on määritetty, AdGuard Home suorittaa DNS-over-QUIC -palvelimen tässä portissa. Ominaisuus on kokeellinen, eikä välttämättä luotettava. Lisäksi tätä tukevia päätelaitteita ei vielä ole kovin paljon.",
+ "encryption_certificates": "Varmenteet",
+ "encryption_certificates_desc": "Salauksen käyttämiseksi, on syötettävä verkkotunnuksellesi myönnetty, aito SSL-varmenneketju. Voit hankkia ilmaisen varmenteen osoitteesta <0>{{link}}0> tai ostaa sellaisen joltakin luotetulta varmentajalta.",
+ "encryption_certificates_input": "Kopioi/liitä PEM-koodatut varmenteesi tähän.",
+ "encryption_status": "Tila",
+ "encryption_expire": "Erääntyy",
+ "encryption_key": "Yksityinen avain",
+ "encryption_key_input": "Kopioi/liitä tähän varmenteesi PEM-koodattu yksityinen avain.",
+ "encryption_enable": "Käytä salausta (HTTPS, DNS-over-HTTPS ja DNS-over-TLS)",
+ "encryption_enable_desc": "Jos salaus on käytössä, AdGuard Homen hallinta on käytettävissä HTTPS-yhteydellä ja DNS-palvelin kuuntelee pyyntöjä DNS-over-HTTPS ja DNS-over-TLS -yhteyksillä.",
+ "encryption_chain_valid": "Varmenneketju on pätevä",
+ "encryption_chain_invalid": "Varmenneketju ei kelpaa",
+ "encryption_key_valid": "Yksityinen {{type}}-avain on pätevä",
+ "encryption_key_invalid": "Yksityinen {{type}}-avain ei kelpaa",
+ "encryption_subject": "Aihe",
+ "encryption_issuer": "Toimittaja",
+ "encryption_hostnames": "Isäntänimet",
+ "encryption_reset": "Haluatko varmasti palauttaa salausasetukset?",
+ "topline_expiring_certificate": "SSL-varmenteesi on erääntymässä. Päivitä <0>Salausasetukset0>.",
+ "topline_expired_certificate": "SSL-varmenteesi on erääntynyt. Päivitä <0>Salausasetukset0>.",
+ "form_error_port_range": "Syötä portti väliltä 80-65535",
+ "form_error_port_unsafe": "Tämä portti ei ole turvallinen",
+ "form_error_equal": "Ei voi olla sama",
+ "form_error_password": "Salasanat eivät täsmää",
+ "reset_settings": "Tyhjennä asetukset",
+ "update_announcement": "AdGuard Home {{version}} on nyt saatavilla! <0>Klikkaa tästä0> saadaksesi lisätietoja.",
+ "setup_guide": "Asennusopas",
+ "dns_addresses": "DNS-osoitteet",
+ "dns_start": "DNS-palvelin käynnistyy",
+ "dns_status_error": "Virhe tarkistettaessa DNS-palvelimen tilaa",
+ "down": "yhteydetön",
+ "fix": "Korjaa",
+ "dns_providers": "Katso <0>luettelo tunnetuista DNS-palveluista0>, joista valita.",
+ "update_now": "Päivitä nyt",
+ "update_failed": "Automaattinen päivitys epäonnistui. Seuraa näitä ohjeita päivittääksesi manuaalisesti.",
+ "processing_update": "Odota kun AdGuard Home päivittyy",
+ "clients_title": "Päätelaitteet",
+ "clients_desc": "Määritä AdGuard Homeen yhdistetyt päätelaitteet",
+ "settings_global": "Yleinen",
+ "settings_custom": "Oma",
+ "table_client": "Päätelaite",
+ "table_name": "Nimi",
+ "save_btn": "Tallenna",
+ "client_add": "Lisää päätelaite",
+ "client_new": "Uusi päätelaite",
+ "client_edit": "Muokkaa päätelaitetta",
+ "client_identifier": "Tunniste",
+ "ip_address": "IP-osoite",
+ "client_identifier_desc": "Päätelaitteet voidaan tunnistaa IP-osoitteista, CIDR-merkinnöistä, MAC-osoitteista tai erityisistä päätelaitteen ID-tunnisteista (voidaan käyttää DoT/DoH/DoQ kanssa). <0>Täältä0> voit lukea lisää päätelaitteiden tunnistuksesta.",
+ "form_enter_ip": "Syötä IP-osoite",
+ "form_enter_subnet_ip": "Syötä IP-osoite aliverkkoon \"{{cidr}}\"",
+ "form_enter_mac": "Syötä MAC-osoite",
+ "form_enter_id": "Muokkaa tunnistetta",
+ "form_add_id": "Lisää tunniste",
+ "form_client_name": "Syötä päätelaitteen nimi",
+ "name": "Nimi",
+ "client_global_settings": "Käytä yleisiä asetuksia",
+ "client_deleted": "Päätelaite \"{{key}}\" poistettiin",
+ "client_added": "Päätelaite \"{{key}}\" lisättiin",
+ "client_updated": "Päätelaite \"{{key}}\" päivitettiin",
+ "clients_not_found": "Päätelaitteita ei löytynyt",
+ "client_confirm_delete": "Haluatko varmasti poistaa päätelaitteen \"{{key}}\"?",
+ "list_confirm_delete": "Haluatko varmasti poistaa tämän listan?",
+ "auto_clients_title": "Päätelaitteet (määrittämättömät)",
+ "auto_clients_desc": "Tiedot niistä AdGuard Homea käyttävistä päätelaitteista, joita ei ole määritetty asetuksissa",
+ "access_title": "Käytön asetukset",
+ "access_desc": "Tässä voidaan määrittää AdGuard Homen DNS-palvelimen käyttöoikeussääntöjä.",
+ "access_allowed_title": "Sallitut päätelaitteet",
+ "access_allowed_desc": "Lista CIDR-merkinnöistä, IP-osoitteista tai päätelaitteiden ID-tunnisteista. Jos määritetty, hyväksyy AdGuard Home pyyntöjä vain näiltä päätelaitteilta.",
+ "access_disallowed_title": "Kielletyt päätelaitteet",
+ "access_disallowed_desc": "Lista CIDR-merkinnöistä, IP-osoitteista tai päätelaitteiden ID-tunnisteista. Jos määritetty, hylkää AdGuard Home näiden päätelaitteiden pyynnöt. Tätä kenttää ei huomioida, jos sallittuja päätelaitteita on määritetty.",
+ "access_blocked_title": "Kielletyt verkkotunnukset",
+ "access_blocked_desc": "Ei pidä sekoittaa suodattimiin. AdGuard Home hylkää näiden verkkotunnusten DNS-pyynnöt, eivätkä nämä pyynnöt näy edes pyyntöhistoriassa. Tähän voidaan syöttää tarkkoja verkkotunnuksia, jokerimerkkejä tai URL-suodatussääntöjä, kuten \"example.org\", \"*.example.org\" tai \"||example.org^\".",
+ "access_settings_saved": "Käytön asetukset tallennettiin",
+ "updates_checked": "Päivitykset tarkastettiin",
+ "updates_version_equal": "AdGuard Home on ajan tasalla",
+ "check_updates_now": "Tarkista päivitykset nyt",
+ "dns_privacy": "DNS-yksityisyys",
+ "setup_dns_privacy_1": "<0>DNS-over-TLS:0> Käytä merkkijonoa <1>{{address}}1>.",
+ "setup_dns_privacy_2": "<0>DNS-over-HTTPS:0> Käytä merkkijonoa <1>{{address}}1>.",
+ "setup_dns_privacy_3": "<0>Tässä on lista ohjelmistoista, joita voit käyttää.0>",
+ "setup_dns_privacy_4": "iOS 14 ja macOS Big Sur -laitteille voidaan ladata erityinen '.mobileconfig' -tiedosto, joka lisää DNS-asetuksiin DNS-over-HTTPS tai DNS-over-TLS -palvelimet.",
+ "setup_dns_privacy_android_1": "Android 9 tukee DNS-over-TLS -toteutusta natiivisti. Se määritetään syöttämällä oma verkkotunnus kohtaan \"Asetukset\" → \"Yhteydet\" → \"Lisää yhteysasetuksia\" → \"Yksityinen DNS\".",
+ "setup_dns_privacy_android_2": "<0>AdGuard Androidille0> tukee <1>DNS-over-HTTPS1> ja <1>DNS-over-TLS1> -toteutuksia.",
+ "setup_dns_privacy_android_3": "<0>Intra0> lisää <1>DNS-over-HTTPS1> tuen Androidiin.",
+ "setup_dns_privacy_ios_1": "<0>DNSCloak0> tukee <1>DNS-over-HTTPS1>, mutta oman palvelimen käyttö' varten sille on luotava <2>DNS Stamp2> -merkintä.",
+ "setup_dns_privacy_ios_2": "<0>AdGuard iOS:lle0> tukee <1>DNS-over-HTTPS1> ja <1>DNS-over-TLS1> -toteutuksia.",
+ "setup_dns_privacy_other_title": "Muita toteutuksia",
+ "setup_dns_privacy_other_1": "AdGuard Home voi itse olla turvallinen DNS-päätelaite millä tahansa alustalla.",
+ "setup_dns_privacy_other_2": "<0>dnsproxy0> tukee kaikkia tunnettuja turvallisia DNS-protokollia.",
+ "setup_dns_privacy_other_3": "<0>dnscrypt-proxy0> tukee <1>DNS-over-HTTPS1> -protokollaa.",
+ "setup_dns_privacy_other_4": "<0>Mozilla Firefox0> tukee <1>DNS-over-HTTPS1> -toteutusta.",
+ "setup_dns_privacy_other_5": "Löydät lisää toteutuksia <0>täältä0> ja <1>täältä1>.",
+ "setup_dns_privacy_ioc_mac": "iOS ja macOS -asetukset",
+ "setup_dns_notice": "<1>DNS-over-HTTPS1> tai <1>DNS-over-TLS1> -toteutuksia varten, on AdGuard Homen <0>Salausasetukset0> määritettävä.",
+ "rewrite_added": "Kohteen \"{{key}}\" DNS-uudelleenohjaus lisättiin",
+ "rewrite_deleted": "Kohteen \"{{key}}\" DNS-uudelleenohjaus poistettiin",
+ "rewrite_add": "Lisää DNS-uudelleenohjaus",
+ "rewrite_not_found": "DNS-uudelleenohjauksia ei löytynyt",
+ "rewrite_confirm_delete": "Haluatko varmasti poistaa DNS-uudelleenohjauksen kohteelle \"{{key}}\"?",
+ "rewrite_desc": "Mahdollistaa oman DNS-vastauksen helpon määrityksen tietylle verkkotunnukselle.",
+ "rewrite_applied": "Uudelleenohjattu säännöllä",
+ "rewrite_hosts_applied": "Hosts-tiedoston säännön korvaama",
+ "dns_rewrites": "DNS-uudelleenohjaukset",
+ "form_domain": "Syötä verkkotunnus tai jokerimerkki",
+ "form_answer": "Syötä IP-osoite tai verkkotunnus",
+ "form_error_domain_format": "Virheellinen verkkotunnuksen muoto",
+ "form_error_answer_format": "Virheellinen vastauksen muoto",
+ "configure": "Määritä",
+ "main_settings": "Pääasetukset",
+ "block_services": "Estä tietyt palvelut",
+ "blocked_services": "Estetyt palvelut",
+ "blocked_services_desc": "Mahdollistaa suosittujen sivustojen ja palveluiden nopean eston.",
+ "blocked_services_saved": "Estetyt palvelut tallennettiin",
+ "blocked_services_global": "Käytä yleisiä estettyjä palveluita",
+ "blocked_service": "Estetty palvelu",
+ "block_all": "Estä kaikki",
+ "unblock_all": "Salli kaikki",
+ "encryption_certificate_path": "Varmenteen sijainti",
+ "encryption_private_key_path": "Yksityisen avaimen sijainti",
+ "encryption_certificates_source_path": "Määritä varmennetiedoston sijainti",
+ "encryption_certificates_source_content": "Liitä varmenteen sisältö",
+ "encryption_key_source_path": "Määritä yksityisen avaimen tiedosto",
+ "encryption_key_source_content": "Liitä yksityisen avaimen sisältö",
+ "stats_params": "Tilastoinnin määritys",
+ "config_successfully_saved": "Asetukset tallennettiin",
+ "interval_6_hour": "6 tuntia",
+ "interval_24_hour": "24 tuntia",
+ "interval_days": "{{count}} päivä",
+ "interval_days_plural": "{{count}} päivää",
+ "domain": "Verkkotunnus",
+ "punycode": "Punycode",
+ "answer": "Vastaus",
+ "filter_added_successfully": "Lista lisättiin",
+ "filter_removed_successfully": "Lista poistettiin",
+ "filter_updated": "Listan päivitettiin",
+ "statistics_configuration": "Tilastoinnin määritys",
+ "statistics_retention": "Tilastojen säilytys",
+ "statistics_retention_desc": "Jos aikaa lyhennetään, joitakin tietoja menetetään.",
+ "statistics_clear": "Tyhjennä tilastot",
+ "statistics_clear_confirm": "Haluatko varmasti tyhjentää tilastot?",
+ "statistics_retention_confirm": "Haluatko varmasti muuttaa tilastojen säilytysaikaa? Jos aikaa lyhennetään, joitakin tietoja menetetään.",
+ "statistics_cleared": "Tilastot tyhjennettiin",
+ "statistics_enable": "Ota tilastointi käyttöön",
+ "interval_hours": "{{count}} tunti",
+ "interval_hours_plural": "{{count}} tuntia",
+ "filters_configuration": "Suodatinten määritys",
+ "filters_enable": "Ota suodattimet käyttöön",
+ "filters_interval": "Suodatinpäivitysten tiheys",
+ "disabled": "Ei käytössä",
+ "username_label": "Käyttäjätunnus",
+ "username_placeholder": "Syötä käyttäjätunnus",
+ "password_label": "Salasana",
+ "password_placeholder": "Syötä salasana",
+ "sign_in": "Kirjaudu",
+ "sign_out": "Kirjaudu ulos",
+ "forgot_password": "Salasana unohtunut?",
+ "forgot_password_desc": "Luo käyttäjätilillesi uusi salasana seuraamalla <0>näitä ohjeita0>.",
+ "location": "Sijainti",
+ "orgname": "Organisaation nimi",
+ "netname": "Verkon nimi",
+ "network": "Verkko",
+ "descr": "Kuvaus",
+ "whois": "Whois",
+ "filtering_rules_learn_more": "<0>Lue lisää0> omien hosts-listojesi luonnista.",
+ "blocked_by_response": "Vastauksen sisältämän CNAME:n tai IP:n estämä",
+ "blocked_by_cname_or_ip": "CNAME:n tai IP:n estämä",
+ "try_again": "Yritä uudelleen",
+ "domain_desc": "Syötä korvattava verkkotunnus tai jokerimerkki.",
+ "example_rewrite_domain": "korvaa vain tämän verkkotunnuksen vastaukset",
+ "example_rewrite_wildcard": "korvaa verkkotunnuksen <0>example.org0> kaikkien aliverkkotunnusten vastaukset",
+ "rewrite_ip_address": "IP-osoite: käytä tätä IP-osoitetta A tai AAAA -vastauksessa.",
+ "rewrite_domain_name": "Verkkotunnus: lisää CNAME-tietue.",
+ "rewrite_A": "<0>A0>: erityinen arvo, säilytä ylävirran <0>A0>-tiedot",
+ "rewrite_AAAA": "<0>AAAA0>: erityinen arvo, säilytä ylävirran <0>AAAA0>-tiedot",
+ "disable_ipv6": "Älä selvitä IPv6-osoitteita",
+ "disable_ipv6_desc": "Hylkää kaikki IPv6-osoitteiden DNS-pyynnöt (tyyppi AAAA).",
+ "fastest_addr": "Nopein IP-osoite",
+ "fastest_addr_desc": "Lähetä pyynnöt kaikille DNS-palvelimille ja valitse vastauksista nopein IP-osoite. Tämä parantaa yleistä liitettävyyttä, joskin hidastaa DNS-pyyntöjä, koska AdGuard Homen on odotettava kaikkien DNS-palvelinten vastauksia.",
+ "autofix_warning_text": "Jos valitset \"Korjaa\", AdGuard Home määrittää järjestelmäsi käyttämään AdGuard Homen DNS-palvelinta.",
+ "autofix_warning_list": "Suorittaa toiminnot: <0>Poistaa käytöstä järjestelmän DNSStubListener-palvelun0> <0>Määrittää DNS-palvelimen osoitteeksi 127.0.0.10> <0>Muuttaa sijainnnin /etc/resolv.conf symbolisen linkin kohteeksi /run/systemd/resolve/resolv.conf0> <0>Pysäyttää DNSStubListener-palvelun (uudelleenlataa systemd-resolved -palvelu)0>",
+ "autofix_warning_result": "Tämän jälkeen järjestelmäsi kaikki DNS-pyynnöt käsittelee oletusarvoisesti AdGuard Home.",
+ "tags_title": "Tunnisteet",
+ "tags_desc": "Voit valita päätelaitteeseen viittaavia tunnisteita. Tunnisteet voidaan sisällyttää suodatussääntöihin ja näin voit kohdistaa niitä tarkemmin. <0>Lue lisää0>",
+ "form_select_tags": "Valitse päätelaitteen tunnisteet",
+ "check_title": "Tarkasta suodatus",
+ "check_desc": "Tarkasta suodatetaanko isäntänimeä",
+ "check": "Tarkasta",
+ "form_enter_host": "Syötä isäntänimi",
+ "filtered_custom_rules": "Suodatettu omilla suodatussäännöillä",
+ "choose_from_list": "Valitse listalta",
+ "add_custom_list": "Lisää oma lista",
+ "host_whitelisted": "Isäntä on sallittu",
+ "check_ip": "IP-osoitteet: {{ip}}",
+ "check_cname": "CNAME: {{cname}}",
+ "check_reason": "Syy: {{reason}}",
+ "check_service": "Palvelun nimi: {{service}}",
+ "service_name": "Palvelun nimi",
+ "check_not_found": "Ei löytynyt suodatinlistoilta",
+ "client_confirm_block": "Haluatko varmasti estää päätelaitteen \"{{ip}}\"?",
+ "client_confirm_unblock": "Haluatko varmasti sallia päätelaitteen \"{{ip}}\"?",
+ "client_blocked": "Päätelaite \"{{ip}}\" estettiin",
+ "client_unblocked": "Päätelaite \"{{ip}}\" sallittiin",
+ "static_ip": "Kiiteä IP-osoite",
+ "static_ip_desc": "AdGuard Home on palvelin, joten se tarvitsee kiinteän IP-osoitteen toimiakseen oikein. Muutoin reitittimesi saattaa määrittää sille jossakin vaiheessa uuden, dynaamisen IP-osoitteen.",
+ "set_static_ip": "Määritä kiinteä IP-osoite",
+ "install_static_ok": "Hyviä uutisia! Kiinteä IP-osoite on jo määritetty.",
+ "install_static_error": "AdGuard Home ei voi määrittää sitä tälle verkkosovittimelle automaattisesti. Etsi ohjeita tämän suorittamiseksi itse.",
+ "install_static_configure": "AdGuard Home havaitsi, että käytössä on dynaaminen IP-osoitteen <0>{{ip}}0>. Haluatko määrittää sen kiinteäksi osoitteeksi?",
+ "confirm_static_ip": "AdGuard Home määrittää IP-osoitteen {{ip}} kiinteäksi. Haluatko jatkaa?",
+ "list_updated": "{{count}} lista päivitettiin",
+ "list_updated_plural": "{{count}} listaa päivitettiin",
+ "dnssec_enable": "Ota DNSSEC käyttöön",
+ "dnssec_enable_desc": "Määritä DNSSEC-lippu ulos lähteville DNS-pyynnöille ja tarkasta tulos (vaatii DNSSEC-yhteensopivan resolverin).",
+ "validated_with_dnssec": "DNSSEC-vahvistettu",
+ "all_queries": "Kaikki pyynnöt",
+ "show_blocked_responses": "Estetty",
+ "show_whitelisted_responses": "Sallittu",
+ "show_processed_responses": "Käsitelty",
+ "blocked_safebrowsing": "Turvallisen selauksen estämät",
+ "blocked_adult_websites": "Estetyt aikuisille tarkoitetut sivustot",
+ "blocked_threats": "Estetyt uhat",
+ "allowed": "Sallitut",
+ "filtered": "Suodatetut",
+ "rewritten": "Uudelleenohjatut",
+ "safe_search": "Turvallinen haku",
+ "blocklist": "Estolista",
+ "milliseconds_abbreviation": "ms",
+ "cache_size": "Välimuistin koko",
+ "cache_size_desc": "DNS-välimuistin koko (tavuina)",
+ "cache_ttl_min_override": "Korvaa vähimmäis-TTL",
+ "cache_ttl_max_override": "Korvaa enimmäis-TTL",
+ "enter_cache_size": "Syötä välimuistin koko (tavuina)",
+ "enter_cache_ttl_min_override": "Syötä vähimmäis-TTL (sekunteina)",
+ "enter_cache_ttl_max_override": "Syötä enimmäis-TTL (sekunteina)",
+ "cache_ttl_min_override_desc": "Pidennä ylävirran palvelimelta vastaanotettuja, lyhyitä time-to-live -arvoja (sekunteina) tallennettaessa DNS-vastauksia välimuistiin.",
+ "cache_ttl_max_override_desc": "Määritä DNS-välimuistin kohteiden suurin time-to-live -arvo (sekunteina)",
+ "ttl_cache_validation": "Välimuistin TTL-vähimmäisarvon tulee olla pienempi tai sama kuin enimmäisarvon",
+ "cache_optimistic": "Optimistinen välimuisti",
+ "cache_optimistic_desc": "Pakota AdGuard Home vastaamaan välimuistista vaikka sen tiedot olisivat vanhentuneet. Pyri samalla myös päivittämään tiedot.",
+ "filter_category_general": "Yleiset",
+ "filter_category_security": "Turvallisuus",
+ "filter_category_regional": "Alueelliset",
+ "filter_category_other": "Muut",
+ "filter_category_general_desc": "Listat, jotka estävät seurannan ja mainokset useimmilla laitteilla",
+ "filter_category_security_desc": "Tietojenkalastelu-, huijaus- ja muiden haitallisten verkkotunnusten estoon erikoistuneet listat",
+ "filter_category_regional_desc": "Listat, jotka painottavat alueellisia mainoksia ja seurantapalvelimia",
+ "filter_category_other_desc": "Muut estolistat",
+ "setup_config_to_enable_dhcp_server": "Määritä asetukset DHCP-palvelimen käyttöönottoa varten",
+ "original_response": "Alkuperäinen vastaus",
+ "click_to_view_queries": "Näytä pyynnöt",
+ "port_53_faq_link": "Portti 53 on usein \"DNSStubListener\" tai \"systemd-resolved\" -palveluiden varaama. Lue <0>nämä ohjeet0> tämän ratkaisemiseksi.",
+ "adg_will_drop_dns_queries": "AdGuard Home hylkää tämän päätelaitteen DNS-pyynnöt.",
+ "filter_allowlist": "VAROITUS: Toiminto ohittaa \"{{disallowed_rule}}\" -säännön sallittujen päätelaitteiden listalta.",
+ "last_rule_in_allowlist": "Et voi estää tätä päätelaitetta, koska säännön \"{{disallowed_rule}}\" ohitus POISTAA KÄYTÖSTÄ \"Sallitut päätelaitteet\" -listan.",
+ "experimental": "Kokeellinen",
+ "use_saved_key": "Käytä aiemmin tallennettua avainta"
+}
diff --git a/client/src/__locales/uk.json b/client/src/__locales/uk.json
new file mode 100644
index 00000000..256ee9b3
--- /dev/null
+++ b/client/src/__locales/uk.json
@@ -0,0 +1,628 @@
+{
+ "client_settings": "Налаштування клієнта",
+ "example_upstream_reserved": "Ви можете вказати DNS-сервер <0>для певних доменів0>",
+ "example_upstream_comment": "Ви можете вказати коментар",
+ "upstream_parallel": "Використовувати паралельні запити, щоб пришвидшити вирішення одночасною чергою всіх оригінальних серверів.",
+ "parallel_requests": "Паралельні запити",
+ "load_balancing": "Балансування навантаження",
+ "load_balancing_desc": "Запитувати один сервер за раз. AdGuard Home використовуватиме зважений випадковий алгоритм для вибору сервера, щоб найшвидший сервер використовувався частіше.",
+ "bootstrap_dns": "Bootstrap DNS-сервери",
+ "bootstrap_dns_desc": "Bootstrap DNS-сервери використовуються для пошуку IP-адреси DoH/DoT серверів, які ви встановили.",
+ "local_ptr_title": "Приватні сервери для зворотного DNS",
+ "local_ptr_desc": "DNS-сервери, які AdGuard Home використовує для локальних PTR-запитів. Ці сервери, використовуючи rDNS, використовуються для отримання доменних імен клієнтів у приватних мережах, наприклад, «192.168.12.34». Якщо список порожній, буде використовуватись системний DNS-сервер.",
+ "local_ptr_default_resolver": "AdGuard Home усталено використовує такі зворотні DNS-резолвери: {{ip}}.",
+ "local_ptr_no_default_resolver": "AdGuard Home не зміг визначити приватні реверсивні DNS-резолвери, що були б придатними для цієї системи.",
+ "local_ptr_placeholder": "Вводьте одну адресу на рядок",
+ "resolve_clients_title": "Увімкнути запитування доменних імен для IP-адрес клієнтів",
+ "resolve_clients_desc": "Визначати доменні імена клієнтів за допомогою PTR-запитів до відповідних серверів — приватних DNS-серверів для локальних клієнтів та upstream-серверів для клієнтів з публічними IP-адресами.",
+ "use_private_ptr_resolvers_title": "Використовувати приватні зворотні DNS-резолвери",
+ "use_private_ptr_resolvers_desc": "Надсилати зворотні DNS-запити до вказаних серверів для клієнтів, що обслуговуються локально. Якщо вимкнено, AdGuard Home буде відповідати NXDOMAIN на всі такі PTR-запити, окрім запитів про клієнтів, що уже відомі по DHCP, /etc/hosts тощо.",
+ "check_dhcp_servers": "Перевірити DHCP-сервери",
+ "save_config": "Зберегти конфігурацію",
+ "enabled_dhcp": "DHCP-сервер увімкнено",
+ "disabled_dhcp": "DHCP-сервер вимкнено",
+ "unavailable_dhcp": "DHCP недоступний",
+ "unavailable_dhcp_desc": "AdGuard Home не може запустити DHCP-сервер у вашій ОС",
+ "dhcp_title": "DHCP-сервер (експериментальний!)",
+ "dhcp_description": "Якщо ваш роутер не пропонує налаштування DHCP, ви можете використати власний вбудований DHCP-сервер AdGuard.",
+ "dhcp_enable": "Увімкнути DHCP-сервер",
+ "dhcp_disable": "Вимкнути DHCP-сервер",
+ "dhcp_not_found": "Можна безпечно увімкнути вбудований DHCP-сервер — ми не знайшли жодного активного DHCP-сервера в мережі. Однак, ми радимо вам ще раз перевірити вручну, тому що наш автоматичний тест наразі не дає 100% гарантії.",
+ "dhcp_found": "Не знайдено DHCP-сервера в мережі. Вмикати вбудований DHCP-сервер небезпечно.",
+ "dhcp_leases": "Оренда DHCP",
+ "dhcp_static_leases": "Статичні оренди DHCP",
+ "dhcp_leases_not_found": "Оренду DHCP не знайдено",
+ "dhcp_config_saved": "Конфігурацію DHCP-сервера успішно збережено",
+ "dhcp_ipv4_settings": "Налаштування DHCP IPv4",
+ "dhcp_ipv6_settings": "Налаштування DHCP IPv6",
+ "form_error_required": "Обов'язкове поле",
+ "form_error_ip4_format": "Неправильна IPv4-адреса",
+ "form_error_ip4_range_start_format": "Неправильна IPv4-адреса для початку діапазону",
+ "form_error_ip4_range_end_format": "Неправильна IPv4-адреса для кінця діапазону",
+ "form_error_ip4_gateway_format": "Неправильна IPv4-адреса для шлюзу",
+ "form_error_ip6_format": "Неправильна IPv6-адреса",
+ "form_error_ip_format": "Неправильна IP-адреса",
+ "form_error_mac_format": "Неправильна MAC-адреса",
+ "form_error_client_id_format": "Неправильний ID клієнта",
+ "form_error_server_name": "Неправильна назва сервера",
+ "form_error_subnet": "Підмережа «{{cidr}}» не містить IP-адресу «{{ip}}»",
+ "form_error_positive": "Повинно бути більше 0",
+ "form_error_negative": "Повинно дорівнювати 0 або більше",
+ "out_of_range_error": "Не повинна бути в діапазоні «{{start}}»−«{{end}}»",
+ "lower_range_start_error": "Має бути меншим за початкову адресу",
+ "greater_range_start_error": "Має бути більшим за початкову адресу",
+ "greater_range_end_error": "Має бути більшим за кінцеву адресу",
+ "subnet_error": "Адреси повинні бути в одній підмережі",
+ "gateway_or_subnet_invalid": "Неправильна маска підмережі",
+ "dhcp_form_gateway_input": "IP-адреса шлюзу",
+ "dhcp_form_subnet_input": "Маска підмережі",
+ "dhcp_form_range_title": "Діапазон IP-адрес",
+ "dhcp_form_range_start": "Початок діапазону",
+ "dhcp_form_range_end": "Кінець діапазону",
+ "dhcp_form_lease_title": "Час оренди DHCP (в секундах)",
+ "dhcp_form_lease_input": "Тривалість оренди",
+ "dhcp_interface_select": "Оберіть інтерфейс DHCP",
+ "dhcp_hardware_address": "Апаратна адреса",
+ "dhcp_ip_addresses": "IP-адреси",
+ "ip": "IP",
+ "dhcp_table_hostname": "Назва вузла",
+ "dhcp_table_expires": "Термін дії",
+ "dhcp_warning": "Якщо ви однаково хочете увімкнути DHCP-сервер, переконайтеся, що у вашій мережі немає інших активних DHCP-серверів. Інакше, це може порушити роботу інтернету на під'єднаних пристроях!",
+ "dhcp_error": "Не вдалося визначити, чи є в мережі інший DHCP-сервер.",
+ "dhcp_static_ip_error": "Для використання DHCP-сервера необхідно встановити статичну IP-адресу. Нам не вдалося визначити, чи цей мережевий інтерфейс налаштовано для використання статичної IP-адреси. Встановіть статичну IP-адресу вручну.",
+ "dhcp_dynamic_ip_found": "Ваша система використовує конфігурацію з динамічною IP-адресою для інтерфейсу <0>{{interfaceName}}0>. Для використання DHCP-сервера необхідно встановити статичну IP-адресу. Ваша поточна IP-адреса <0>{{ipAddress}}0>. Ми автоматично встановимо цю IP-адресу як статичну, якщо ви натиснете кнопку «Увімкнути DHCP-сервер».",
+ "dhcp_lease_added": "Статичну оренду «{{key}}» успішно додано",
+ "dhcp_lease_deleted": "Статичну оренду «{{key}}» успішно видалено",
+ "dhcp_new_static_lease": "Нова статична оренда",
+ "dhcp_static_leases_not_found": "Не знайдено статичних оренд DHCP",
+ "dhcp_add_static_lease": "Додати статичну оренду",
+ "dhcp_reset_leases": "Скинути всі аренди",
+ "dhcp_reset_leases_confirm": "Ви дійсно хочете скинути усі аренди?",
+ "dhcp_reset_leases_success": "Аренди DHCP успішно скинуто",
+ "dhcp_reset": "Ви дійсно хочете скинути DHCP-конфігурацію?",
+ "country": "Країна",
+ "city": "Місто",
+ "delete_confirm": "Ви дійсно хочете видалити «{{key}}»?",
+ "form_enter_hostname": "Введіть назву вузла",
+ "error_details": "Подробиці помилки",
+ "response_details": "Деталі відповіді",
+ "request_details": "Деталі запиту",
+ "client_details": "Подробиці про клієнта",
+ "details": "Подробиці",
+ "back": "Назад",
+ "dashboard": "Панель керування",
+ "settings": "Налаштування",
+ "filters": "Фільтри",
+ "filter": "Фільтр",
+ "query_log": "Журнал запитів",
+ "compact": "Стисло",
+ "nothing_found": "Нічого не знайдено...",
+ "faq": "Часті питання",
+ "version": "Версія",
+ "address": "Адреса",
+ "protocol": "Протокол",
+ "on": "УВІМК",
+ "off": "ВИМК",
+ "copyright": "Авторське право",
+ "homepage": "Домівка",
+ "report_an_issue": "Повідомити про проблему",
+ "privacy_policy": "Політика приватності",
+ "enable_protection": "Увімкнути захист",
+ "enabled_protection": "Захист увімкнено",
+ "disable_protection": "Вимкнути захист",
+ "disabled_protection": "Захист вимкнено",
+ "refresh_statics": "Оновити статистику",
+ "dns_query": "DNS-запити",
+ "blocked_by": "<0>Заблоковано фільтрами0>",
+ "stats_malware_phishing": "Заблоковано зловмисних/шахрайських програм",
+ "stats_adult": "Заблоковано вебсайтів для дорослих",
+ "stats_query_domain": "Найчастіші запити доменів",
+ "for_last_24_hours": "за останні 24 години",
+ "for_last_days": "за останній день",
+ "for_last_days_plural": "за останні {{count}} днів",
+ "stats_disabled": "Статистику вимкнено. Ви можете увімкнути її на <0>сторінці налаштувань0>.",
+ "stats_disabled_short": "Статистику вимкнено",
+ "no_domains_found": "Доменів не знайдено",
+ "requests_count": "Кількість запитів",
+ "top_blocked_domains": "Найчастіше блоковані домени",
+ "top_clients": "Найактивніші клієнти",
+ "no_clients_found": "Клієнтів не знайдено",
+ "general_statistics": "Загальна статистика",
+ "number_of_dns_query_days": "Кількість DNS-запитів, оброблених за останні {{count}} дні",
+ "number_of_dns_query_days_plural": "Кількість DNS-запитів, оброблених за останні {{count}} днів",
+ "number_of_dns_query_24_hours": "Кількість DNS-запитів, оброблених за останні 24 години",
+ "number_of_dns_query_blocked_24_hours": "Кількість DNS-запитів, заблокованих фільтрами і списками блокування hosts",
+ "number_of_dns_query_blocked_24_hours_by_sec": "Кількість DNS-запитів, заблокованих модулем безпеки перегляду AdGuard",
+ "number_of_dns_query_blocked_24_hours_adult": "Кількість заблокованих вебсайтів для дорослих",
+ "enforced_save_search": "Примусовий безпечний пошук",
+ "number_of_dns_query_to_safe_search": "Кількість DNS-запитів до пошукових систем, для яких примусово застосований безпечний пошук",
+ "average_processing_time": "Середній час обробки",
+ "average_processing_time_hint": "Середній час обробки DNS запиту в мілісекундах",
+ "block_domain_use_filters_and_hosts": "Блокувати домени з використанням фільтрів та hosts-файлів",
+ "filters_block_toggle_hint": "Ви можете налаштувати правила блокування в розділі Фільтри.",
+ "use_adguard_browsing_sec": "Використовувати веб-службу безпечного перегляду AdGuard",
+ "use_adguard_browsing_sec_hint": "AdGuard Home перевірятиме, чи додано домен до списку веб-служби безпечного перегляду браузера. Він використовуватиме API для перевірки — на сервер надсилається лише короткий префікс хешу SHA256 доменного імені.",
+ "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",
+ "dns_blocklists": "Список блокування DNS",
+ "dns_allowlists": "Списки дозволів DNS",
+ "dns_blocklists_desc": "AdGuard Home блокуватиме домени зі списків блокування.",
+ "dns_allowlists_desc": "Домени зі списків дозволів DNS будуть дозволятися, навіть якщо вони знаходяться в будь-якому зі списків блокування.",
+ "custom_filtering_rules": "Власні правила фільтрування",
+ "encryption_settings": "Налаштування шифрування",
+ "dhcp_settings": "Налаштування DHCP",
+ "upstream_dns": "Upstream DNS-сервери",
+ "upstream_dns_help": "Введіть адреси серверів по одній на рядок. Докладніше про налаштування DNS-серверів.",
+ "upstream_dns_configured_in_file": "Налаштовано в {{path}}",
+ "test_upstream_btn": "Тест upstream серверів",
+ "upstreams": "Upstreams",
+ "apply_btn": "Застосувати",
+ "disabled_filtering_toast": "Фільтрування вимкнено",
+ "enabled_filtering_toast": "Фільтрування увімкнено",
+ "disabled_safe_browsing_toast": "Безпечний перегляд вимкнено",
+ "enabled_safe_browsing_toast": "Безпечний перегляд увімкнено",
+ "disabled_parental_toast": "Батьківський контроль вимкнено",
+ "enabled_parental_toast": "Батьківський контроль увімкнено",
+ "disabled_safe_search_toast": "Безпечний пошук вимкнено",
+ "enabled_save_search_toast": "Безпечний пошук увімкнено",
+ "enabled_table_header": "Увімкнено",
+ "name_table_header": "Назва",
+ "list_url_table_header": "URL списку",
+ "rules_count_table_header": "Кількість правил",
+ "last_time_updated_table_header": "Востаннє оновлено",
+ "actions_table_header": "Дії",
+ "request_table_header": "Запит",
+ "edit_table_action": "Редагувати",
+ "delete_table_action": "Видалити",
+ "elapsed": "Витрачений час",
+ "filters_and_hosts_hint": "AdGuard Home розуміє основні правила блокування і синтаксис файлів hosts.",
+ "no_blocklist_added": "Списків блокування не додано",
+ "no_whitelist_added": "Списків дозволів не додано",
+ "add_blocklist": "Додати список блокування",
+ "add_allowlist": "Додати список дозволів",
+ "cancel_btn": "Скасувати",
+ "enter_name_hint": "Введіть назву",
+ "enter_url_or_path_hint": "Уведіть URL-адресу чи абсолютний шлях до списку",
+ "check_updates_btn": "Перевірити оновлення",
+ "new_blocklist": "Новий список блокування",
+ "new_allowlist": "Новий список дозволів",
+ "edit_blocklist": "Змінити список блокування",
+ "edit_allowlist": "Змінити список дозволів",
+ "choose_blocklist": "Виберіть списки блокування",
+ "choose_allowlist": "Обрати списки дозволених сайтів",
+ "enter_valid_blocklist": "Введіть дійсну URL-адресу в список блокування.",
+ "enter_valid_allowlist": "Введіть дійсну URL-адресу в список дозволів.",
+ "form_error_url_format": "Неправильний формат URL",
+ "form_error_url_or_path_format": "Помилкова URL-адреса чи абсолютний шлях до списку",
+ "custom_filter_rules": "Власні правила фільтрування",
+ "custom_filter_rules_hint": "Вводьте одне правило на рядок. Ви можете використовувати правила блокування чи синтаксис файлів hosts.",
+ "examples_title": "Зразки",
+ "example_meaning_filter_block": "блокує доступ до домену example.org та всіх його піддоменів",
+ "example_meaning_filter_whitelist": "розблоковує доступ до домену example.org та всіх його піддоменів",
+ "example_meaning_host_block": "AdGuard Home повертатиме адресу 127.0.0.1 для домену example.org (але не його піддоменів).",
+ "example_comment": "! Так можна додавати коментар",
+ "example_comment_meaning": "просто коментар",
+ "example_comment_hash": "# Це також коментар",
+ "example_regex_meaning": "блокує доступ до доменів, що відповідають вказаному звичайному виразу",
+ "example_upstream_regular": "звичайний DNS (через UDP)",
+ "example_upstream_dot": "зашифрований <0>DNS-over-TLS0>",
+ "example_upstream_doh": "зашифрований <0>DNS-over-HTTPS0>",
+ "example_upstream_doq": "зашифрований <0>DNS-over-QUIC0>",
+ "example_upstream_sdns": "ви можете використовувати <0>DNS Stamps0> для вирішення <1>DNSCrypt1> або <2>DNS-over-HTTPS2>",
+ "example_upstream_tcp": "звичайний DNS (через TCP)",
+ "all_lists_up_to_date_toast": "Всі списки вже оновлені",
+ "updated_upstream_dns_toast": "DNS-сервери оновлено",
+ "dns_test_ok_toast": "Вказані DNS сервери працюють правильно",
+ "dns_test_not_ok_toast": "Сервер «{{key}}»: неможливо використати. Перевірте правильність введення",
+ "unblock": "Дозволити",
+ "block": "Заборонити",
+ "disallow_this_client": "Заборонити цього клієнта",
+ "allow_this_client": "Дозволити цей клієнт",
+ "block_for_this_client_only": "Заборонити тільки цей клієнт",
+ "unblock_for_this_client_only": "Дозволити тільки цей клієнт",
+ "time_table_header": "Час",
+ "date": "Дата",
+ "domain_name_table_header": "Назва домену",
+ "domain_or_client": "Домен чи клієнт",
+ "type_table_header": "Тип",
+ "response_table_header": "Відповідь",
+ "response_code": "Код відповіді",
+ "client_table_header": "Клієнт",
+ "empty_response_status": "Порожньо",
+ "show_all_filter_type": "Показати все",
+ "show_filtered_type": "Показати фільтровані",
+ "no_logs_found": "Немає записів",
+ "refresh_btn": "Оновити",
+ "previous_btn": "Назад",
+ "next_btn": "Далі",
+ "loading_table_status": "Завантаження...",
+ "page_table_footer_text": "Сторінка",
+ "rows_table_footer_text": "рядків",
+ "updated_custom_filtering_toast": "Власні правила фільтрування збережено",
+ "rule_removed_from_custom_filtering_toast": "Правило вилучено з власних правил фільтрування: {{rule}}",
+ "rule_added_to_custom_filtering_toast": "Правило додано до власних правил фільтрування: {{rule}}",
+ "query_log_response_status": "Стан: {{value}}",
+ "query_log_filtered": "Фільтровано з {{filter}}",
+ "query_log_confirm_clear": "Ви впевнені, що хочете цілком очистити журнал запитів?",
+ "query_log_cleared": "Журнал запитів успішно очищено",
+ "query_log_updated": "Журнал запитів успішно оновлено",
+ "query_log_clear": "Очистити журнал запитів",
+ "query_log_retention": "Час зберігання журналу",
+ "query_log_enable": "Увімкнути журнал",
+ "query_log_configuration": "Конфігурація журналу",
+ "query_log_disabled": "Журнал запитів вимкнений. Конфігурацію можна змінити в <0>налаштуваннях0>",
+ "query_log_strict_search": "Використовуйте подвійні лапки для точного пошуку",
+ "query_log_retention_confirm": "Ви дійсно хочете змінити час зберігання журналу? Якщо ви зменшите значення, деякі дані будуть втрачені",
+ "anonymize_client_ip": "Анонімізація IP-адреси клієнта",
+ "anonymize_client_ip_desc": "Не зберігайте повну IP-адресу клієнта в журналах і статистиці",
+ "dns_config": "Конфігурація DNS-сервера",
+ "dns_cache_config": "Конфігурація кешу DNS",
+ "dns_cache_config_desc": "Тут ви можете налаштувати кеш DNS",
+ "blocking_mode": "Режим блокування",
+ "default": "Типовий",
+ "nxdomain": "NXDOMAIN",
+ "refused": "REFUSED",
+ "null_ip": "Нульовий IP",
+ "custom_ip": "Власний IP",
+ "blocking_ipv4": "Блокування IPv4",
+ "blocking_ipv6": "Блокування IPv6",
+ "dnscrypt": "DNSCrypt",
+ "dns_over_https": "DNS-over-HTTPS",
+ "dns_over_tls": "DNS-over-TLS",
+ "dns_over_quic": "DNS-over-QUIC",
+ "client_id": "Ідентифікатор клієнта",
+ "client_id_placeholder": "Введіть ідентифікатор клієнта",
+ "client_id_desc": "Різні клієнти можуть бути розпізнані завдяки спеціальному ідентифікатору. Докладніше про ідентифікацію клієнтів.",
+ "download_mobileconfig_doh": "Завантажити .mobileconfig для DNS-over-HTTPS",
+ "download_mobileconfig_dot": "Завантажити .mobileconfig для DNS-over-TLS",
+ "download_mobileconfig": "Завантажити файл конфігурації",
+ "plain_dns": "Звичайний DNS",
+ "form_enter_rate_limit": "Уведіть обмеження швидкості",
+ "rate_limit": "Обмеження швидкості",
+ "edns_enable": "Увімкнути відправку EDNS Client Subnet",
+ "edns_cs_desc": "Надсилати підмережі клієнтів на DNS-сервери.",
+ "rate_limit_desc": "Кількість запитів в секунду, які може робити один клієнт. Встановлене значення «0» означатиме необмежену кількість.",
+ "blocking_ipv4_desc": "IP-адреса, яку потрібно видати для заблокованого A запиту",
+ "blocking_ipv6_desc": "IP-адреса, яку потрібно видати для заблокованого АААА запиту",
+ "blocking_mode_default": "Усталено: відповідь із нульовою IP-адресою (0.0.0.0 для A; :: для AAAA), якщо заблоковано правилом у Adblock-стилі; відповідь зазначеною у правилі IP-адресою, якщо заблокувано правилом у hosts-стилі",
+ "blocking_mode_refused": "ВІДМОВЛЕНО: Відповісти з кодом ВІДМОВЛЕНО",
+ "blocking_mode_nxdomain": "NXDOMAIN: Відповісти з кодом NXDOMAIN",
+ "blocking_mode_null_ip": "Нульовий IP: Відповісти з нульовою IP-адресою (0.0.0.0 для A; :: для AAAA)",
+ "blocking_mode_custom_ip": "Спеціальна IP-адреса: Відповісти із вручну встановленою IP-адресою",
+ "upstream_dns_client_desc": "Якщо це поле залишатиметься порожнім, AdGuard Home використовуватиме сервери, вказані в <0>налаштуваннях DNS0>.",
+ "tracker_source": "Джерело відстежувача",
+ "source_label": "Джерело",
+ "found_in_known_domain_db": "Знайдений у базі даних відомих доменів.",
+ "category_label": "Категорія",
+ "rule_label": "Правило(-а)",
+ "list_label": "Список",
+ "unknown_filter": "Невідомий фільтр {{filterId}}",
+ "known_tracker": "Відомі трекери",
+ "install_welcome_title": "Вітаємо в AdGuard Home!",
+ "install_welcome_desc": "AdGuard Home — це мережевий DNS-сервер, що блокує рекламу та відстеження. Його мета — надати вам контроль над усією мережею та всіма пристроями в ній без потреби використання програми на стороні клієнта.",
+ "install_settings_title": "Веб-інтерфейс адміністратора",
+ "install_settings_listen": "Мережевий інтерфейс",
+ "install_settings_port": "Порт",
+ "install_settings_interface_link": "Веб-інтерфейс адміністратора AdGuard Home буде доступний за такими адресами:",
+ "form_error_port": "Уведіть правильне значення порту",
+ "install_settings_dns": "DNS-сервер",
+ "install_settings_dns_desc": "Вам потрібно буде налаштувати свої пристрої або маршрутизатор для використання DNS-сервера за такими адресами:",
+ "install_settings_all_interfaces": "Усі інтерфейси",
+ "install_auth_title": "Авторизація",
+ "install_auth_desc": "Необходно налаштувати автентифікацію паролем для вебінтерфейсу AdGuard Home. Навіть якщо він доступний лише у вашій локальній мережі, важливо захистити його від необмеженого доступу.\n\nДолжна быть настроена аутентификация паролем для веб-интерфейса AdGuard Home. Даже если он доступен только в вашей локальной сети, важно защитить его от неограниченного доступа.",
+ "install_auth_username": "Ім'я користувача",
+ "install_auth_password": "Пароль",
+ "install_auth_confirm": "Підтвердьте пароль",
+ "install_auth_username_enter": "Уведіть ім'я користувача",
+ "install_auth_password_enter": "Введіть пароль",
+ "install_step": "Крок",
+ "install_devices_title": "Налаштуйте ваші пристрої",
+ "install_devices_desc": "Щоби розпочати використовувати AdGuard Home, вам потрібно налаштувати ваші пристої для його використання.",
+ "install_submit_title": "Вітаємо!",
+ "install_submit_desc": "Процедура налаштування завершена і тепер все готово, аби почати користуватися AdGuard Home.",
+ "install_devices_router": "Роутер",
+ "install_devices_router_desc": "Це налаштування буде автоматично охоплювати всі пристрої, що під'єднано до домашнього маршрутизатора. Вам не потрібно буде налаштовувати кожен з них вручну.",
+ "install_devices_address": "DNS-сервер AdGuard Home прослуховує наступні адреси",
+ "install_devices_router_list_1": "Відкрийте налаштування маршрутизатора. Зазвичай ви можете отримати до нього доступ із браузера за допомогою URL-адреси, наприклад, http://192.168.0.1/ або http://192.168.1.1/. Можливо, треба буде ввести пароль. Якщо ви його не знаєте, часто можна скинути пароль, натиснувши кнопку на самому маршрутизаторі. Для деяких маршрутизаторів потрібна спеціальна програма, яка в такому випадку повинна бути вже встановлена на вашому комп’ютері чи телефоні.",
+ "install_devices_router_list_2": "Знайдіть налаштування DHCP/DNS. Шукайте літери DNS поруч із полем, в яке можна ввести два або три набори чисел, кожен з яких розбитий на чотири групи від однієї до трьох цифр.",
+ "install_devices_router_list_3": "Введіть туди адреси вашого домашнього сервера AdGuard.",
+ "install_devices_router_list_4": "Ви не можете встановити власний DNS-сервер на деяких типах маршрутизаторів. У цьому разі вам може допомогти налаштування AdGuard Home в якості <0>DHCP-сервера0>. В іншому разі вам потрібно знайти інструкцію щодо налаштування DNS-сервера для вашої конкретної моделі маршрутизатора.",
+ "install_devices_windows_list_1": "Відкрийте Панель керування через меню «Пуск» або пошук Windows.",
+ "install_devices_windows_list_2": "Перейдіть до категорії Мережа й Інтернет, а потім до Центру мереж і спільного доступу.",
+ "install_devices_windows_list_3": "У лівій частині екрана знайдіть текст «Змінити настройки адаптера» та натисніть на нього.",
+ "install_devices_windows_list_4": "Виберіть своє активне з'єднання, клацніть на ньому правою кнопкою миші та виберіть Властивості.",
+ "install_devices_windows_list_5": "Знайдіть у списку пункт «Internet Protocol Version 4 (TCP/IPv4)» або «Internet Protocol Version 6 (TCP/IPv6)», виберіть його та натисніть кнопку Властивості ще раз.",
+ "install_devices_windows_list_6": "Виберіть «Використовувати наступні адреси DNS-серверів» та введіть адреси вашого сервера AdGuard Home.",
+ "install_devices_macos_list_1": "Клацніть на піктограму Apple і перейдіть до Системних налаштувань.",
+ "install_devices_macos_list_2": "Клацніть на Мережа.",
+ "install_devices_macos_list_3": "Виберіть перше з'єднання зі списку та натисніть кнопку Додатково.",
+ "install_devices_macos_list_4": "Виберіть вкладку DNS і введіть адреси сервера AdGuard Home.",
+ "install_devices_android_list_1": "На головному екрані меню Android торкніться Налаштування.",
+ "install_devices_android_list_2": "У меню торкніться Wi-Fi. З'явиться екран із переліком усіх доступних мереж (неможливо встановити власний DNS для мобільного з'єднання).",
+ "install_devices_android_list_3": "Довго натисніть на мережу, до якої ви приєднані, та торкніться «Змінити мережу».",
+ "install_devices_android_list_4": "На деяких пристроях вам може знадобитися встановити прапорець Додатково, щоб побачити подальші налаштування. Щоб відредагувати налаштування DNS для Android, вам потрібно буде переключити налаштування IP з DHCP на статичні.",
+ "install_devices_android_list_5": "Змініть встановлені значення DNS 1 і DNS 2 на адреси вашого домашнього сервера AdGuard.",
+ "install_devices_ios_list_1": "На головному екрані торкніться Налаштування.",
+ "install_devices_ios_list_2": "Виберіть Wi-Fi у меню ліворуч (неможливо налаштувати DNS для мобільних мереж).",
+ "install_devices_ios_list_3": "Натисніть на назву поточно активної мережі.",
+ "install_devices_ios_list_4": "У полі DNS введіть адреси вашого сервера AdGuard Home.",
+ "get_started": "Розпочати",
+ "next": "Наступні",
+ "open_dashboard": "Відкрити інформаційну панель",
+ "install_saved": "Збережено успішно",
+ "encryption_title": "Шифрування",
+ "encryption_desc": "Підтримка шифрування (HTTPS/TLS) як для DNS так і для веб-інтерфейсу адміністратора",
+ "encryption_config_saved": "Конфігурацію шифрування збережено",
+ "encryption_server": "Назва сервера",
+ "encryption_server_enter": "Введіть ваше доменне ім'я",
+ "encryption_server_desc": "Для використання HTTPS вам потрібно ввести назву сервера, який відповідає вашому SSL-сертифікату або сертифікату з підтримкою піддоменів. Якщо значення не вказано, то сервер буде приймати TLS-з'єднання для будь-якого домену.",
+ "encryption_redirect": "Автоматично перенаправляти на HTTPS",
+ "encryption_redirect_desc": "Якщо встановлено, AdGuard Home автоматично перенаправить вас з HTTP на адреси HTTPS.",
+ "encryption_https": "Порт HTTPS",
+ "encryption_https_desc": "Якщо HTTPS-порт налаштовано, інтерфейс адміністратора AdGuard Home буде доступний через HTTPS, а також DNS-over-HTTPS-сервер буде доступний за адресою /dns-query.",
+ "encryption_dot": "Порт DNS-over-TLS",
+ "encryption_dot_desc": "Якщо цей порт налаштовано, AdGuard Home запустить на цьому порту сервер DNS-over-TLS.",
+ "encryption_doq": "Порт DNS-over-QUIC",
+ "encryption_doq_desc": "Якщо цей порт налаштовано, AdGuard Home запустить на цьому порту сервер DNS-over-QUIC. Це експериментально і може бути ненадійним. Крім того, зараз не так багато клієнтів, які це підтримують.",
+ "encryption_certificates": "Сертифікати",
+ "encryption_certificates_desc": "Для використання шифрування потрібно надати дійсний ланцюжок сертифікатів SSL для вашого домену. Ви можете отримати безкоштовний сертифікат на <0>{{link}}0> або придбати його в одному з надійних Центрів Сертифікації.",
+ "encryption_certificates_input": "Скопіюйте/вставте сюди свої кодовані PEM сертифікати.",
+ "encryption_status": "Статус",
+ "encryption_expire": "Закічнується",
+ "encryption_key": "Приватний ключ",
+ "encryption_key_input": "Скопіюйте/вставте сюди свій приватний ключ кодований PEM для вашого сертифіката.",
+ "encryption_enable": "Увімкнути шифрування (HTTPS, DNS-over-HTTPS і DNS-over-TLS)",
+ "encryption_enable_desc": "Якщо ввімкнено шифрування, інтерфейс адміністратора AdGuard Home буде працювати через HTTPS, а DNS-сервер буде прослуховувати запити через DNS-over-HTTPS і DNS-over-TLS.",
+ "encryption_chain_valid": "Ланцюжок сертифікатів дійсний",
+ "encryption_chain_invalid": "Ланцюжок сертифікатів не дійсний",
+ "encryption_key_valid": "Це дійсний приватний ключ {{type}}",
+ "encryption_key_invalid": "Це недійсний приватний ключ {{type}}",
+ "encryption_subject": "Обє'кт",
+ "encryption_issuer": "Видавець",
+ "encryption_hostnames": "Назви вузлів",
+ "encryption_reset": "Ви впевнені, що хочете скинути налаштування шифрування?",
+ "topline_expiring_certificate": "Ваш сертифікат SSL скоро закінчиться. Оновіть <0>Налаштування шифрування0>.",
+ "topline_expired_certificate": "Термін дії вашого сертифіката SSL закінчився. Оновіть <0>Налаштування шифрування0>.",
+ "form_error_port_range": "Введіть значення порту в діапазоні 80−65535",
+ "form_error_port_unsafe": "Це небезпечний порт",
+ "form_error_equal": "Мають бути різні значення",
+ "form_error_password": "Пароль не співпадає",
+ "reset_settings": "Скинути налаштування",
+ "update_announcement": "AdGuard Home {{version}} тепер доступний! <0>Докладніше0>.",
+ "setup_guide": "Посібник з налаштування",
+ "dns_addresses": "DNS-адреси",
+ "dns_start": "DNS-сервер запускається",
+ "dns_status_error": "Помилка перевірки стану сервера DNS",
+ "down": "Недоступний",
+ "fix": "Виправити",
+ "dns_providers": "<0>Список відомих DNS-провайдерів0> на вибір.",
+ "update_now": "Оновити зараз",
+ "update_failed": "Помилка автоматичного оновлення. Будь ласка, виконайте ці кроки аби оновити вручну.",
+ "processing_update": "Зачекайте будь ласка, AdGuard Home оновлюється",
+ "clients_title": "Клієнти",
+ "clients_desc": "Налаштуйте пристрої, під'єднані до AdGuard Home",
+ "settings_global": "Загальні",
+ "settings_custom": "Власні",
+ "table_client": "Клієнт",
+ "table_name": "Назва",
+ "save_btn": "Зберегти",
+ "client_add": "Додати Клієнта",
+ "client_new": "Новий Клієнт",
+ "client_edit": "Редагувати Клієнта",
+ "client_identifier": "Ідентифікатор",
+ "ip_address": "IP-адреса",
+ "client_identifier_desc": "Клієнтів можна ідентифікувати за IP-, CIDR-, MAC-адресами або ж за спеціальним клієнтським ідентифікатором (можливий для DoT, DoH та DoQ). <0>Докладніше про ідентифікацію клієнтів0>.",
+ "form_enter_ip": "Введіть IP",
+ "form_enter_subnet_ip": "Введіть IP-адресу в підмережі «{{cidr}}»",
+ "form_enter_mac": "Введіть MAC",
+ "form_enter_id": "Введіть ідентифікатор",
+ "form_add_id": "Додати ідентифікатор",
+ "form_client_name": "Введіть ім'я клієнта",
+ "name": "Ім'я",
+ "client_global_settings": "Використати загальні налаштування",
+ "client_deleted": "Клієнта «{{key}}» успішно видалено",
+ "client_added": "Клієнта «{{key}}» успішно додано",
+ "client_updated": "Клієнта «{{key}}» успішно оновлено",
+ "clients_not_found": "Клієнтів не знайдено",
+ "client_confirm_delete": "Ви впевнені, що хочете видалити клієнта «{{key}}»?",
+ "list_confirm_delete": "Ви впевнені, що хочете видалити цей список?",
+ "auto_clients_title": "Клієнти (поза налаштуванням)",
+ "auto_clients_desc": "Дані про клієнтів, які використовують AdGuard Home, але не зберігаються в конфігурації",
+ "access_title": "Налаштування доступу",
+ "access_desc": "Тут ви можете налаштувати правила доступу для DNS-сервера AdGuard Home.",
+ "access_allowed_title": "Дозволені клієнти",
+ "access_allowed_desc": "Перелік CIDR-, IP-адрес та клієнтських ідентифікаторів. Якщо налаштовано, AdGuard Home прийматиме запити лише від цих клієнтів.",
+ "access_disallowed_title": "Заборонені клієнти",
+ "access_disallowed_desc": "Перелік CIDR-, IP-адрес та клієнтських ідентифікаторів. Якщо налаштовано, AdGuard Home буде скасовувати запити від цих клієнтів. Проте якщо налаштовано список дозволених клієнтів, то це поле проігнорується.",
+ "access_blocked_title": "Заборонені домени",
+ "access_blocked_desc": "Не плутайте з фільтрами. AdGuard Home буде ігнорувати DNS-запити з цими доменами, такі запити навіть не будуть записані до журналу. Ви можете вказати точні доменні імена, замінні знаки та правила фільтрування URL-адрес, наприклад, 'example.org', '*.example.org' або '||example.org^' відповідно.",
+ "access_settings_saved": "Налаштування доступу успішно збережено",
+ "updates_checked": "Оновлення успішно перевірені",
+ "updates_version_equal": "AdGuard Home останньої версії",
+ "check_updates_now": "Перевірити наявність оновлень",
+ "dns_privacy": "Конфіденційність DNS",
+ "setup_dns_privacy_1": "<0>DNS-over-TLS: 0>Використайте рядок <1>{{address}}1>.",
+ "setup_dns_privacy_2": "<0>DNS-over-HTTPS:0> Використайте рядок <1>{{address}}1>.",
+ "setup_dns_privacy_3": "<0>Ось перелік програмного забезпечення, яке можете використати.0>",
+ "setup_dns_privacy_4": "На пристрої iOS 14 або macOS Big Sur ви можете завантажити спеціальний файл .mobileconfig, який додасть до налаштувань DNS сервери DNS-over-HTTPS або DNS-over-TLS.",
+ "setup_dns_privacy_android_1": "Android 9 підтримує DNS-over-TLS. Щоб його налаштувати, перейдіть у Налаштування → Мережа та Інтернет → Додатково → Приватний DNS і введіть там свій домен.",
+ "setup_dns_privacy_android_2": "<0>AdGuard для Android0> підтримує <1>DNS-over-HTTPS1> і <1>DNS-over-TLS1>.",
+ "setup_dns_privacy_android_3": "<0>Intra0> додає підтримку <1>DNS-over-HTTPS1> для Android.",
+ "setup_dns_privacy_ios_1": "<0>DNSCloak0> підтримує <1>DNS-over-HTTPS1>, але для того, щоб налаштувати його на використання власного сервера, вам потрібно буде створити для нього <2>штамп DNS2>.",
+ "setup_dns_privacy_ios_2": "<0>AdGuard для iOS0> підтримує налаштування <1>DNS over-HTTPS1> і <1>DNS over over TLS1>.",
+ "setup_dns_privacy_other_title": "Інші реалізації",
+ "setup_dns_privacy_other_1": "Сам AdGuard Home може слугувати захищеним клієнтом DNS на будь-якій платформі.",
+ "setup_dns_privacy_other_2": "<0>dnsproxy0> підтримує всі відомі захищені протоколи DNS.",
+ "setup_dns_privacy_other_3": "<0>dnscrypt-proxy0> підтримує <1>DNS-over-HTTPS1>.",
+ "setup_dns_privacy_other_4": "<0>Mozilla Firefox0> підтримує <1>DNS-over-HTTPS1>.",
+ "setup_dns_privacy_other_5": "Ви знайдете більше реалізацій <0>тут0> та <1>тут1>.",
+ "setup_dns_privacy_ioc_mac": "Конфігурація для iOS та macOS",
+ "setup_dns_notice": "Для використання <1>DNS-over-HTTPS1> або <1>DNS-over-TLS1>, вам потрібно <0>налаштувати Шифрування0> в налаштуваннях AdGuard Home.",
+ "rewrite_added": "Перезапис DNS для «{{key}}» успішно додано",
+ "rewrite_deleted": "Перезапис DNS для «{{key}}» успішно видалено",
+ "rewrite_add": "Додати перезапис DNS",
+ "rewrite_not_found": "Перезаписів DNS не знайдено",
+ "rewrite_confirm_delete": "Ви впевнені, що хочете видалити перезапис DNS для «{{key}}»?",
+ "rewrite_desc": "Дозволяє легко налаштувати власну відповідь DNS для певного доменного імені.",
+ "rewrite_applied": "Застосовано правило перезапису",
+ "rewrite_hosts_applied": "Перезаписано правилом hosts-файлу",
+ "dns_rewrites": "DNS перезаписи",
+ "form_domain": "Введіть доменне ім’я або підстановний знак",
+ "form_answer": "Введіть IP-адресу або доменне ім'я",
+ "form_error_domain_format": "Неправильний формат домену",
+ "form_error_answer_format": "Неправильний формат відопвіді",
+ "configure": "Налаштувати",
+ "main_settings": "Головні налаштування",
+ "block_services": "Блокувати конкретні сервіси",
+ "blocked_services": "Заблоковані сервіси",
+ "blocked_services_desc": "Дозволяє швидко блокувати популярні сайти та сервіси.",
+ "blocked_services_saved": "Заблоковані сервіси успішно збережено",
+ "blocked_services_global": "Використовувати глобально заблоковані сервіси",
+ "blocked_service": "Заблокований сервіс",
+ "block_all": "Блокувати все",
+ "unblock_all": "Розблокувати все",
+ "encryption_certificate_path": "Шлях до сертифіката",
+ "encryption_private_key_path": "Шлях до приватного ключа",
+ "encryption_certificates_source_path": "Вказати шлях до сертифікату",
+ "encryption_certificates_source_content": "Вставити вміст сертифікату",
+ "encryption_key_source_path": "Вказати приватний ключ",
+ "encryption_key_source_content": "Вставити вміст приватного ключа",
+ "stats_params": "Налаштування статистики",
+ "config_successfully_saved": "Конфігурацію успішно збережено",
+ "interval_6_hour": "6 годин",
+ "interval_24_hour": "24 години",
+ "interval_days": "{{count}} день",
+ "interval_days_plural": "{{count}} днів",
+ "domain": "Домен",
+ "punycode": "Punycode",
+ "answer": "Відповідь",
+ "filter_added_successfully": "Фільтр успішно додано",
+ "filter_removed_successfully": "Фільтр успішно видалено",
+ "filter_updated": "Фільтр успішно оновлено",
+ "statistics_configuration": "Налаштування статистики",
+ "statistics_retention": "Збереження статистики",
+ "statistics_retention_desc": "Якщо зменшити значення інтервалу, деякі дані будуть втрачені",
+ "statistics_clear": "Очистити статистику",
+ "statistics_clear_confirm": "Ви впевнені, що хочете очистити статистику?",
+ "statistics_retention_confirm": "Ви впевнені, що хочете змінити тривалість статистики? Якщо зменшити значення інтервалу, деякі дані будуть втрачені",
+ "statistics_cleared": "Статистика успішно очищена",
+ "statistics_enable": "Увімкнути статистику",
+ "interval_hours": "{{count}} година",
+ "interval_hours_plural": "{{count}} годин(и)",
+ "filters_configuration": "Конфігурація фільтрів",
+ "filters_enable": "Увімкнути фільтри",
+ "filters_interval": "Інтервал оновлення фільтрів",
+ "disabled": "Вимкнено",
+ "username_label": "Ім'я користувача",
+ "username_placeholder": "Уведіть ім'я користувача",
+ "password_label": "Пароль",
+ "password_placeholder": "Введіть пароль",
+ "sign_in": "Увійти",
+ "sign_out": "Вийти",
+ "forgot_password": "Забули пароль?",
+ "forgot_password_desc": "Виконайте <0>ці кроки0>, щоб створити новий пароль для свого імені користувача.",
+ "location": "Місцезнаходження",
+ "orgname": "Назва організації",
+ "netname": "Назва мережі",
+ "network": "Мережа",
+ "descr": "Опис",
+ "whois": "Whois",
+ "filtering_rules_learn_more": "<0>Як створити власні списки блокування0>.",
+ "blocked_by_response": "У відповідь заблоковано по CNAME або IP",
+ "blocked_by_cname_or_ip": "Заблоковано по CNAME або IP",
+ "try_again": "Спробувати знову",
+ "domain_desc": "Введіть доменне ім’я або підстановний знак, який потрібно переписати.",
+ "example_rewrite_domain": "перепишіть відповіді лише для цього доменного імені.",
+ "example_rewrite_wildcard": "перепишіть відповіді для всіх субдоменів <0>example.org0>.",
+ "rewrite_ip_address": "IP-адреса: використайте цю IP-адресу у відповіді A або AAAA",
+ "rewrite_domain_name": "Доменне ім’я: додайте запис CNAME",
+ "rewrite_A": "<0>A0>: спеціальне значення, зберігайте <0>A0> записи із вищого сервера",
+ "rewrite_AAAA": "<0>AAAA0>: спеціальне значення, зберігайте <0>AAAA0> записи із вищого сервера",
+ "disable_ipv6": "Вимкнути вирішення IPv6-адрес",
+ "disable_ipv6_desc": "Ігнорувати DNS-запити для IPv6-адрес (тип AAAA).",
+ "fastest_addr": "Найшвидша IP-адреса",
+ "fastest_addr_desc": "Опитати всі DNS-сервери й повернути найшвидшу IP-адресу серед усіх наданих. Це сповільнить швидкість DNS-запитів, оскільки AdGuard Home повинен буде чекати відповіді усіх DNS-серверів, але водночас може покращити якість з'єднання.",
+ "autofix_warning_text": "Якщо ви натиснете «Виправити», AdGuard Home налаштує вашу систему на використання DNS-сервера AdGuard Home.",
+ "autofix_warning_list": "Це виконає наступні завдання: <0>Деактивує систему DNSStubListener0> <0>Змінить адресу DNS сервера на 127.0.0.10> <0>Замінить символічне посилання /etc/resolv.conf на /run/systemd/resolve/resolv.conf0> <0>Зупинить DNSStubListener (перезапустить сервіс systemd-resolved)0>",
+ "autofix_warning_result": "В результаті буде усталено, що усі DNS-запити вашої системи будуть опрацьовані AdGuard Home.",
+ "tags_title": "Теги",
+ "tags_desc": "Ви можете вибрати теги, які відповідають клієнту. Теги можна використати в правилах фільтрування, щоб точніше застосовувати їх. <0>Докладніше0>",
+ "form_select_tags": "Виберіть теги клієнта",
+ "check_title": "Перевірте фільтрування",
+ "check_desc": "Перевірте чи фільтрується назва вузла",
+ "check": "Перевірити",
+ "form_enter_host": "Введіть назву вузла",
+ "filtered_custom_rules": "Відфільтровано за власними правилами фільтрування",
+ "choose_from_list": "Виберіть зі списку",
+ "add_custom_list": "Додати власний список",
+ "host_whitelisted": "Вузол додано до списку дозволів",
+ "check_ip": "IP адреси: {{ip}}",
+ "check_cname": "CNAME: {{cname}}",
+ "check_reason": "Причина: {{reason}}",
+ "check_service": "Назва сервісу: {{service}}",
+ "service_name": "Назва сервісу",
+ "check_not_found": "Не знайдено у ваших списках фільтрів",
+ "client_confirm_block": "Ви впевнені, що хочете заблокувати клієнта «{{ip}}»?",
+ "client_confirm_unblock": "Ви впевнені, що хочете розблокувати клієнт «{{ip}}»?",
+ "client_blocked": "Клієнта «{{ip}}» успішно заблоковано",
+ "client_unblocked": "Клієнта «{{ip}}» успішно розблоковано",
+ "static_ip": "Статична IP-адреса",
+ "static_ip_desc": "AdGuard Home - це сервер, тому йому потрібна статична IP-адреса для нормальної роботи. В іншому випадку, в певний момент, ваш маршрутизатор може призначити іншу IP-адресу цьому пристрою.",
+ "set_static_ip": "Встановити статичну IP-адресу",
+ "install_static_ok": "Гарні новини! Статична IP-адреса вже налаштована",
+ "install_static_error": "AdGuard Home не може налаштувати його автоматично для цього мережевого інтерфейсу. Будь ласка, шукайте інструкції як це зробити вручну.",
+ "install_static_configure": "AdGuard Home виявив, що використовується динамічна IP-адреса — <0>{{ip}}0>. Ви хочете встановити її як свою статичну адресу?",
+ "confirm_static_ip": "AdGuard Home налаштує {{ip}} як вашу статичну IP-адресу. Ви хочете продовжити?",
+ "list_updated": "{{count}} список оновлено",
+ "list_updated_plural": "{{count}} списки оновлено",
+ "dnssec_enable": "Увімкнути DNSSEC",
+ "dnssec_enable_desc": "Встановити прапорець DNSSEC для вихідних DNS запитів та перевірити результат (потрібен розпізнавач з підтримкою DNSSEC).",
+ "validated_with_dnssec": "Засвідчено DNSSEC",
+ "all_queries": "Усі запити",
+ "show_blocked_responses": "Заблоковані",
+ "show_whitelisted_responses": "Дозволені",
+ "show_processed_responses": "Оброблені",
+ "blocked_safebrowsing": "Безпечний перегляд заблоковано",
+ "blocked_adult_websites": "Заблоковані вебсайти для дорослих",
+ "blocked_threats": "Заблоковано загроз",
+ "allowed": "Дозволено",
+ "filtered": "Відфільтровано",
+ "rewritten": "Перезаписано",
+ "safe_search": "Безпечний пошук",
+ "blocklist": "Список блокування",
+ "milliseconds_abbreviation": "мс",
+ "cache_size": "Розмір кешу",
+ "cache_size_desc": "Розмір кешу DNS (у байтах)",
+ "cache_ttl_min_override": "Замінити мінімальний TTL",
+ "cache_ttl_max_override": "Замінити максимальний TTL",
+ "enter_cache_size": "Введіть розмір кешу (байт)",
+ "enter_cache_ttl_min_override": "Введіть мінімальний TTL (секунди)",
+ "enter_cache_ttl_max_override": "Введіть максимальний TTL (секунди)",
+ "cache_ttl_min_override_desc": "Розширити короткі значення time-to-live (секунди) отримані від основного сервера під час кешування відповідей DNS",
+ "cache_ttl_max_override_desc": "Встановіть максимальне значення time-to-live (секунди) для записів у кеші DNS",
+ "ttl_cache_validation": "Мінімальне значення TTL кеш-пам'яті має бути меншим або рівним максимальному значенню",
+ "cache_optimistic": "Оптимістичне кешування",
+ "cache_optimistic_desc": "AdGuard Home буде відповідати з кешу, навіть якщо відповіді в ньому застарілі, а також спробує оновити їх.",
+ "filter_category_general": "Загальні",
+ "filter_category_security": "Безпека",
+ "filter_category_regional": "Регіональні",
+ "filter_category_other": "Інші",
+ "filter_category_general_desc": "Списки, які блокують відстеження та рекламу на більшості пристроїв",
+ "filter_category_security_desc": "Фільтри, які спеціалізуються на блокуванні зловмисних програм, фішингу та шахрайських доменів",
+ "filter_category_regional_desc": "Списки, орієнтовані на регіональні оголошення та сервери відстеження",
+ "filter_category_other_desc": "Інші списки блокувань",
+ "setup_config_to_enable_dhcp_server": "Налаштуйте конфігурацію для увімкнення DHCP-сервера",
+ "original_response": "Оригінальна відповідь",
+ "click_to_view_queries": "Клацніть, щоб переглянути запити",
+ "port_53_faq_link": "Порт 53 часто зайнятий службами «DNSStubListener» або «systemd-resolved». <0>Як це вирішити0>.",
+ "adg_will_drop_dns_queries": "AdGuard Home буде видаляти всі запити DNS із цього клієнта.",
+ "filter_allowlist": "ПОПЕРЕДЖЕННЯ: Таким чином ви також виключите правило «{{disallowed_rule}}» зі списку дозволених клієнтів.",
+ "last_rule_in_allowlist": "Неможливо заблокувати цього клієнта, тому що правило «{{disallowed_rule}}» ВИМКНЕ режим списку дозволів.",
+ "experimental": "Експериментальний",
+ "use_saved_key": "Використати раніше збережений ключ"
+}
diff --git a/client/src/i18n.js b/client/src/i18n.js
index 7e3ffc19..8f0e46ea 100644
--- a/client/src/i18n.js
+++ b/client/src/i18n.js
@@ -12,6 +12,7 @@ import de from './__locales/de.json';
import en from './__locales/en.json';
import es from './__locales/es.json';
import fa from './__locales/fa.json';
+import fi from './__locales/fi.json';
import fr from './__locales/fr.json';
import hr from './__locales/hr.json';
import hu from './__locales/hu.json';
@@ -33,6 +34,7 @@ import srCS from './__locales/sr-cs.json';
import sv from './__locales/sv.json';
import th from './__locales/th.json';
import tr from './__locales/tr.json';
+import uk from './__locales/uk.json';
import vi from './__locales/vi.json';
import zhCN from './__locales/zh-cn.json';
import zhHK from './__locales/zh-hk.json';
@@ -40,108 +42,42 @@ import zhTW from './__locales/zh-tw.json';
import { setHtmlLangAttr } from './helpers/helpers';
const resources = {
- en: {
- translation: en,
- },
- enUS: {
- translation: en,
- },
- vi: {
- translation: vi,
- },
- ru: {
- translation: ru,
- },
- es: {
- translation: es,
- },
- fr: {
- translation: fr,
- },
- ja: {
- translation: ja,
- },
- sv: {
- translation: sv,
- },
- 'pt-br': {
- translation: ptBR,
- },
- 'zh-hk': {
- translation: zhHK,
- },
- 'zh-tw': {
- translation: zhTW,
- },
- bg: {
- translation: bg,
- },
- be: {
- translation: be,
- },
- 'zh-cn': {
- translation: zhCN,
- },
- cs: {
- translation: cs,
- },
- da: {
- translation: da,
- },
- de: {
- translation: de,
- },
- id: {
- translation: id,
- },
- it: {
- translation: it,
- },
- ko: {
- translation: ko,
- },
- no: {
- translation: no,
- },
- nl: {
- translation: nl,
- },
- pl: {
- translation: pl,
- },
- 'pt-pt': {
- translation: ptPT,
- },
- sk: {
- translation: sk,
- },
- sl: {
- translation: sl,
- },
- tr: {
- translation: tr,
- },
- 'sr-cs': {
- translation: srCS,
- },
- hr: {
- translation: hr,
- },
- hu: {
- translation: hu,
- },
- fa: {
- translation: fa,
- },
- th: {
- translation: th,
- },
- ro: {
- translation: ro,
- },
- 'si-lk': {
- translation: siLk,
- },
+ be: { translation: be },
+ bg: { translation: bg },
+ cs: { translation: cs },
+ da: { translation: da },
+ de: { translation: de },
+ en: { translation: en },
+ 'en-us': { translation: en },
+ es: { translation: es },
+ fa: { translation: fa },
+ fi: { translation: fi },
+ fr: { translation: fr },
+ hr: { translation: hr },
+ hu: { translation: hu },
+ id: { translation: id },
+ it: { translation: it },
+ ja: { translation: ja },
+ ko: { translation: ko },
+ nl: { translation: nl },
+ no: { translation: no },
+ pl: { translation: pl },
+ 'pt-br': { translation: ptBR },
+ 'pt-pt': { translation: ptPT },
+ ro: { translation: ro },
+ ru: { translation: ru },
+ 'si-lk': { translation: siLk },
+ sk: { translation: sk },
+ sl: { translation: sl },
+ 'sr-cs': { translation: srCS },
+ sv: { translation: sv },
+ th: { translation: th },
+ tr: { translation: tr },
+ uk: { translation: uk },
+ vi: { translation: vi },
+ 'zh-cn': { translation: zhCN },
+ 'zh-hk': { translation: zhHK },
+ 'zh-tw': { translation: zhTW },
};
const availableLanguages = Object.keys(LANGUAGES);
diff --git a/internal/home/i18n.go b/internal/home/i18n.go
index 26b8a3ac..d46bd6c6 100644
--- a/internal/home/i18n.go
+++ b/internal/home/i18n.go
@@ -10,7 +10,7 @@ import (
"github.com/AdguardTeam/golibs/stringutil"
)
-// TODO(a.garipov): Get rid of a global variable?
+// TODO(a.garipov): Get rid of a global or generate from .twosky.json.
var allowedLanguages = stringutil.NewSet(
"be",
"bg",
@@ -20,6 +20,7 @@ var allowedLanguages = stringutil.NewSet(
"en",
"es",
"fa",
+ "fi",
"fr",
"hr",
"hu",
@@ -41,6 +42,7 @@ var allowedLanguages = stringutil.NewSet(
"sv",
"th",
"tr",
+ "uk",
"vi",
"zh-cn",
"zh-hk",