From 0a74f946db2f5b8edf0982004d4b741ecb34e7f2 Mon Sep 17 00:00:00 2001 From: Maciej Bieniek Date: Tue, 4 Apr 2023 06:01:04 +0200 Subject: [PATCH] Add entity name translations to NextDNS (#90743) Add entity name translations --- .../components/nextdns/binary_sensor.py | 4 +- homeassistant/components/nextdns/button.py | 2 +- homeassistant/components/nextdns/sensor.py | 50 +-- homeassistant/components/nextdns/strings.json | 289 ++++++++++++++++++ homeassistant/components/nextdns/switch.py | 128 ++++---- 5 files changed, 381 insertions(+), 92 deletions(-) diff --git a/homeassistant/components/nextdns/binary_sensor.py b/homeassistant/components/nextdns/binary_sensor.py index bf45b9a4871..6f85442b16b 100644 --- a/homeassistant/components/nextdns/binary_sensor.py +++ b/homeassistant/components/nextdns/binary_sensor.py @@ -43,14 +43,14 @@ SENSORS = ( NextDnsBinarySensorEntityDescription[ConnectionStatus]( key="this_device_nextdns_connection_status", entity_category=EntityCategory.DIAGNOSTIC, - name="This device NextDNS connection status", + translation_key="this_device_nextdns_connection_status", device_class=BinarySensorDeviceClass.CONNECTIVITY, state=lambda data, _: data.connected, ), NextDnsBinarySensorEntityDescription[ConnectionStatus]( key="this_device_profile_connection_status", entity_category=EntityCategory.DIAGNOSTIC, - name="This device profile connection status", + translation_key="this_device_profile_connection_status", device_class=BinarySensorDeviceClass.CONNECTIVITY, state=lambda data, profile_id: profile_id == data.profile_id, ), diff --git a/homeassistant/components/nextdns/button.py b/homeassistant/components/nextdns/button.py index e527e03ee8c..2eafe2b477e 100644 --- a/homeassistant/components/nextdns/button.py +++ b/homeassistant/components/nextdns/button.py @@ -15,7 +15,7 @@ PARALLEL_UPDATES = 1 CLEAR_LOGS_BUTTON = ButtonEntityDescription( key="clear_logs", - name="Clear logs", + translation_key="clear_logs", entity_category=EntityCategory.CONFIG, ) diff --git a/homeassistant/components/nextdns/sensor.py b/homeassistant/components/nextdns/sensor.py index 8b0578f386b..ccbbb5e534e 100644 --- a/homeassistant/components/nextdns/sensor.py +++ b/homeassistant/components/nextdns/sensor.py @@ -60,7 +60,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( coordinator_type=ATTR_STATUS, entity_category=EntityCategory.DIAGNOSTIC, icon="mdi:dns", - name="DNS queries", + translation_key="all_queries", native_unit_of_measurement="queries", state_class=SensorStateClass.TOTAL, value=lambda data: data.all_queries, @@ -70,7 +70,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( coordinator_type=ATTR_STATUS, entity_category=EntityCategory.DIAGNOSTIC, icon="mdi:dns", - name="DNS queries blocked", + translation_key="blocked_queries", native_unit_of_measurement="queries", state_class=SensorStateClass.TOTAL, value=lambda data: data.blocked_queries, @@ -80,7 +80,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( coordinator_type=ATTR_STATUS, entity_category=EntityCategory.DIAGNOSTIC, icon="mdi:dns", - name="DNS queries relayed", + translation_key="relayed_queries", native_unit_of_measurement="queries", state_class=SensorStateClass.TOTAL, value=lambda data: data.relayed_queries, @@ -90,7 +90,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( coordinator_type=ATTR_STATUS, entity_category=EntityCategory.DIAGNOSTIC, icon="mdi:dns", - name="DNS queries blocked ratio", + translation_key="blocked_queries_ratio", native_unit_of_measurement=PERCENTAGE, state_class=SensorStateClass.MEASUREMENT, value=lambda data: data.blocked_queries_ratio, @@ -101,7 +101,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:dns", - name="DNS-over-HTTPS queries", + translation_key="doh_queries", native_unit_of_measurement="queries", state_class=SensorStateClass.TOTAL, value=lambda data: data.doh_queries, @@ -112,7 +112,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:dns", - name="DNS-over-HTTP/3 queries", + translation_key="doh3_queries", native_unit_of_measurement="queries", state_class=SensorStateClass.TOTAL, value=lambda data: data.doh3_queries, @@ -123,7 +123,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:dns", - name="DNS-over-TLS queries", + translation_key="dot_queries", native_unit_of_measurement="queries", state_class=SensorStateClass.TOTAL, value=lambda data: data.dot_queries, @@ -134,7 +134,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:dns", - name="DNS-over-QUIC queries", + translation_key="doq_queries", native_unit_of_measurement="queries", state_class=SensorStateClass.TOTAL, value=lambda data: data.doq_queries, @@ -145,7 +145,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:dns", - name="TCP queries", + translation_key="tcp_queries", native_unit_of_measurement="queries", state_class=SensorStateClass.TOTAL, value=lambda data: data.tcp_queries, @@ -156,7 +156,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:dns", - name="UDP queries", + translation_key="udp_queries", native_unit_of_measurement="queries", state_class=SensorStateClass.TOTAL, value=lambda data: data.udp_queries, @@ -167,7 +167,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_registry_enabled_default=False, icon="mdi:dns", entity_category=EntityCategory.DIAGNOSTIC, - name="DNS-over-HTTPS queries ratio", + translation_key="doh_queries_ratio", native_unit_of_measurement=PERCENTAGE, state_class=SensorStateClass.MEASUREMENT, value=lambda data: data.doh_queries_ratio, @@ -178,7 +178,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_registry_enabled_default=False, icon="mdi:dns", entity_category=EntityCategory.DIAGNOSTIC, - name="DNS-over-HTTP/3 queries ratio", + translation_key="doh3_queries_ratio", native_unit_of_measurement=PERCENTAGE, state_class=SensorStateClass.MEASUREMENT, value=lambda data: data.doh3_queries_ratio, @@ -189,7 +189,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:dns", - name="DNS-over-TLS queries ratio", + translation_key="dot_queries_ratio", native_unit_of_measurement=PERCENTAGE, state_class=SensorStateClass.MEASUREMENT, value=lambda data: data.dot_queries_ratio, @@ -200,7 +200,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_registry_enabled_default=False, icon="mdi:dns", entity_category=EntityCategory.DIAGNOSTIC, - name="DNS-over-QUIC queries ratio", + translation_key="doq_queries_ratio", native_unit_of_measurement=PERCENTAGE, state_class=SensorStateClass.MEASUREMENT, value=lambda data: data.doq_queries_ratio, @@ -211,7 +211,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:dns", - name="TCP queries ratio", + translation_key="tcp_queries_ratio", native_unit_of_measurement=PERCENTAGE, state_class=SensorStateClass.MEASUREMENT, value=lambda data: data.tcp_queries_ratio, @@ -222,7 +222,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:dns", - name="UDP queries ratio", + translation_key="udp_queries_ratio", native_unit_of_measurement=PERCENTAGE, state_class=SensorStateClass.MEASUREMENT, value=lambda data: data.udp_queries_ratio, @@ -233,7 +233,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:lock", - name="Encrypted queries", + translation_key="encrypted_queries", native_unit_of_measurement="queries", state_class=SensorStateClass.TOTAL, value=lambda data: data.encrypted_queries, @@ -244,7 +244,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:lock-open", - name="Unencrypted queries", + translation_key="unencrypted_queries", native_unit_of_measurement="queries", state_class=SensorStateClass.TOTAL, value=lambda data: data.unencrypted_queries, @@ -255,7 +255,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:lock", - name="Encrypted queries ratio", + translation_key="encrypted_queries_ratio", native_unit_of_measurement=PERCENTAGE, state_class=SensorStateClass.MEASUREMENT, value=lambda data: data.encrypted_queries_ratio, @@ -266,7 +266,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:ip", - name="IPv4 queries", + translation_key="ipv4_queries", native_unit_of_measurement="queries", state_class=SensorStateClass.TOTAL, value=lambda data: data.ipv4_queries, @@ -277,7 +277,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:ip", - name="IPv6 queries", + translation_key="ipv6_queries", native_unit_of_measurement="queries", state_class=SensorStateClass.TOTAL, value=lambda data: data.ipv6_queries, @@ -288,7 +288,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:ip", - name="IPv6 queries ratio", + translation_key="ipv6_queries_ratio", native_unit_of_measurement=PERCENTAGE, state_class=SensorStateClass.MEASUREMENT, value=lambda data: data.ipv6_queries_ratio, @@ -299,7 +299,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:lock-check", - name="DNSSEC validated queries", + translation_key="validated_queries", native_unit_of_measurement="queries", state_class=SensorStateClass.TOTAL, value=lambda data: data.validated_queries, @@ -310,7 +310,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:lock-alert", - name="DNSSEC not validated queries", + translation_key="not_validated_queries", native_unit_of_measurement="queries", state_class=SensorStateClass.TOTAL, value=lambda data: data.not_validated_queries, @@ -321,7 +321,7 @@ SENSORS: tuple[NextDnsSensorEntityDescription, ...] = ( entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, icon="mdi:lock-check", - name="DNSSEC validated queries ratio", + translation_key="validated_queries_ratio", native_unit_of_measurement=PERCENTAGE, state_class=SensorStateClass.MEASUREMENT, value=lambda data: data.validated_queries_ratio, diff --git a/homeassistant/components/nextdns/strings.json b/homeassistant/components/nextdns/strings.json index 59319881c02..cc4fb6fa8fc 100644 --- a/homeassistant/components/nextdns/strings.json +++ b/homeassistant/components/nextdns/strings.json @@ -25,5 +25,294 @@ "info": { "can_reach_server": "Reach server" } + }, + "entity": { + "binary_sensor": { + "this_device_nextdns_connection_status": { + "name": "This device NextDNS connection status" + }, + "this_device_profile_connection_status": { + "name": "This device profile connection status" + } + }, + "button": { + "clear_logs": { + "name": "Clear logs" + } + }, + "sensor": { + "all_queries": { + "name": "DNS queries" + }, + "blocked_queries": { + "name": "DNS queries blocked" + }, + "blocked_queries_ratio": { + "name": "DNS queries blocked ratio" + }, + "doh3_queries": { + "name": "DNS-over-HTTP/3 queries" + }, + "doh3_queries_ratio": { + "name": "DNS-over-HTTP/3 queries ratio" + }, + "doh_queries": { + "name": "DNS-over-HTTPS queries" + }, + "doh_queries_ratio": { + "name": "DNS-over-HTTPS queries ratio" + }, + "doq_queries": { + "name": "DNS-over-QUIC queries" + }, + "doq_queries_ratio": { + "name": "DNS-over-QUIC queries ratio" + }, + "dot_queries": { + "name": "DNS-over-TLS queries" + }, + "dot_queries_ratio": { + "name": "DNS-over-TLS queries ratio" + }, + "encrypted_queries": { + "name": "Encrypted queries" + }, + "encrypted_queries_ratio": { + "name": "Encrypted queries ratio" + }, + "ipv4_queries": { + "name": "IPv4 queries" + }, + "ipv6_queries": { + "name": "IPv6 queries" + }, + "ipv6_queries_ratio": { + "name": "IPv6 queries ratio" + }, + "not_validated_queries": { + "name": "DNSSEC not validated queries" + }, + "relayed_queries": { + "name": "DNS queries relayed" + }, + "tcp_queries": { + "name": "TCP queries" + }, + "tcp_queries_ratio": { + "name": "TCP queries ratio" + }, + "udp_queries": { + "name": "UDP queries" + }, + "udp_queries_ratio": { + "name": "UDP queries ratio" + }, + "unencrypted_queries": { + "name": "Unencrypted queries" + }, + "validated_queries": { + "name": "DNSSEC validated queries" + }, + "validated_queries_ratio": { + "name": "DNSSEC validated queries ratio" + } + }, + "switch": { + "ai_threat_detection": { + "name": "AI-Driven threat detection" + }, + "allow_affiliate": { + "name": "Allow affiliate & tracking links" + }, + "anonymized_ecs": { + "name": "Anonymized EDNS client subnet" + }, + "block_9gag": { + "name": "Block 9GAG" + }, + "block_amazon": { + "name": "Block Amazon" + }, + "block_blizzard": { + "name": "Block Blizzard" + }, + "block_bypass_methods": { + "name": "Block bypass methods" + }, + "block_csam": { + "name": "Block child sexual abuse material" + }, + "block_dailymotion": { + "name": "Block Dailymotion" + }, + "block_dating": { + "name": "Block dating" + }, + "block_ddns": { + "name": "Block dynamic DNS hostnames" + }, + "block_discord": { + "name": "Block Discord" + }, + "block_disguised_trackers": { + "name": "Block disguised third-party trackers" + }, + "block_disneyplus": { + "name": "Block Disney Plus" + }, + "block_ebay": { + "name": "Block eBay" + }, + "block_facebook": { + "name": "Block Facebook" + }, + "block_fortnite": { + "name": "Block Fortnite" + }, + "block_gambling": { + "name": "Block gambling" + }, + "block_hulu": { + "name": "Block Hulu" + }, + "block_imgur": { + "name": "Block Imgur" + }, + "block_instagram": { + "name": "Block Instagram" + }, + "block_leagueoflegends": { + "name": "Block League of Legends" + }, + "block_messenger": { + "name": "Block Messenger" + }, + "block_minecraft": { + "name": "Block Minecraft" + }, + "block_netflix": { + "name": "Block Netflix" + }, + "block_nrd": { + "name": "Block newly registered domains" + }, + "block_page": { + "name": "Block page" + }, + "block_parked_domains": { + "name": "Block parked domains" + }, + "block_pinterest": { + "name": "Block Pinterest" + }, + "block_piracy": { + "name": "Block piracy" + }, + "block_porn": { + "name": "Block porn" + }, + "block_primevideo": { + "name": "Block Prime Video" + }, + "block_reddit": { + "name": "Block Reddit" + }, + "block_roblox": { + "name": "Block Roblox" + }, + "block_signal": { + "name": "Block Signal" + }, + "block_skype": { + "name": "Block Skype" + }, + "block_snapchat": { + "name": "Block Snapchat" + }, + "block_social_networks": { + "name": "Block social networks" + }, + "block_spotify": { + "name": "Block Spotify" + }, + "block_steam": { + "name": "Block Steam" + }, + "block_telegram": { + "name": "Block Telegram" + }, + "block_tiktok": { + "name": "Block TikTok" + }, + "block_tinder": { + "name": "Block Tinder" + }, + "block_tumblr": { + "name": "Block Tumblr" + }, + "block_twitch": { + "name": "Block Twitch" + }, + "block_twitter": { + "name": "Block Twitter" + }, + "block_vimeo": { + "name": "Block Vimeo" + }, + "block_vk": { + "name": "Block VK" + }, + "block_whatsapp": { + "name": "Block WhatsApp" + }, + "block_xboxlive": { + "name": "Block Xbox Live" + }, + "block_youtube": { + "name": "Block YouTube" + }, + "block_zoom": { + "name": "Block Zoom" + }, + "cache_boost": { + "name": "Cache boost" + }, + "cname_flattening": { + "name": "CNAME flattening" + }, + "cryptojacking_protection": { + "name": "Cryptojacking protection" + }, + "dga_protection": { + "name": "Domain generation algorithms protection" + }, + "dns_rebinding_protection": { + "name": "DNS rebinding protection" + }, + "google_safe_browsing": { + "name": "Google safe browsing" + }, + "idn_homograph_attacks_protection": { + "name": "IDN homograph attacks protection" + }, + "logs": { + "name": "Logs" + }, + "safesearch": { + "name": "Force SafeSearch" + }, + "threat_intelligence_feeds": { + "name": "Threat intelligence feeds" + }, + "typosquatting_protection": { + "name": "Typosquatting protection" + }, + "web3": { + "name": "Web3" + }, + "youtube_restricted_mode": { + "name": "Force YouTube restricted mode" + } + } } } diff --git a/homeassistant/components/nextdns/switch.py b/homeassistant/components/nextdns/switch.py index 703a30ad703..cd584b27713 100644 --- a/homeassistant/components/nextdns/switch.py +++ b/homeassistant/components/nextdns/switch.py @@ -41,156 +41,156 @@ class NextDnsSwitchEntityDescription( SWITCHES = ( NextDnsSwitchEntityDescription[Settings]( key="block_page", - name="Block page", + translation_key="block_page", entity_category=EntityCategory.CONFIG, icon="mdi:web-cancel", state=lambda data: data.block_page, ), NextDnsSwitchEntityDescription[Settings]( key="cache_boost", - name="Cache boost", + translation_key="cache_boost", entity_category=EntityCategory.CONFIG, icon="mdi:memory", state=lambda data: data.cache_boost, ), NextDnsSwitchEntityDescription[Settings]( key="cname_flattening", - name="CNAME flattening", + translation_key="cname_flattening", entity_category=EntityCategory.CONFIG, icon="mdi:tournament", state=lambda data: data.cname_flattening, ), NextDnsSwitchEntityDescription[Settings]( key="anonymized_ecs", - name="Anonymized EDNS client subnet", + translation_key="anonymized_ecs", entity_category=EntityCategory.CONFIG, icon="mdi:incognito", state=lambda data: data.anonymized_ecs, ), NextDnsSwitchEntityDescription[Settings]( key="logs", - name="Logs", + translation_key="logs", entity_category=EntityCategory.CONFIG, icon="mdi:file-document-outline", state=lambda data: data.logs, ), NextDnsSwitchEntityDescription[Settings]( key="web3", - name="Web3", + translation_key="web3", entity_category=EntityCategory.CONFIG, icon="mdi:web", state=lambda data: data.web3, ), NextDnsSwitchEntityDescription[Settings]( key="allow_affiliate", - name="Allow affiliate & tracking links", + translation_key="allow_affiliate", entity_category=EntityCategory.CONFIG, state=lambda data: data.allow_affiliate, ), NextDnsSwitchEntityDescription[Settings]( key="block_disguised_trackers", - name="Block disguised third-party trackers", + translation_key="block_disguised_trackers", entity_category=EntityCategory.CONFIG, state=lambda data: data.block_disguised_trackers, ), NextDnsSwitchEntityDescription[Settings]( key="ai_threat_detection", - name="AI-Driven threat detection", + translation_key="ai_threat_detection", entity_category=EntityCategory.CONFIG, state=lambda data: data.ai_threat_detection, ), NextDnsSwitchEntityDescription[Settings]( key="block_csam", - name="Block child sexual abuse material", + translation_key="block_csam", entity_category=EntityCategory.CONFIG, state=lambda data: data.block_csam, ), NextDnsSwitchEntityDescription[Settings]( key="block_ddns", - name="Block dynamic DNS hostnames", + translation_key="block_ddns", entity_category=EntityCategory.CONFIG, state=lambda data: data.block_ddns, ), NextDnsSwitchEntityDescription[Settings]( key="block_nrd", - name="Block newly registered domains", + translation_key="block_nrd", entity_category=EntityCategory.CONFIG, state=lambda data: data.block_nrd, ), NextDnsSwitchEntityDescription[Settings]( key="block_parked_domains", - name="Block parked domains", + translation_key="block_parked_domains", entity_category=EntityCategory.CONFIG, state=lambda data: data.block_parked_domains, ), NextDnsSwitchEntityDescription[Settings]( key="cryptojacking_protection", - name="Cryptojacking protection", + translation_key="cryptojacking_protection", entity_category=EntityCategory.CONFIG, state=lambda data: data.cryptojacking_protection, ), NextDnsSwitchEntityDescription[Settings]( key="dga_protection", - name="Domain generation algorithms protection", + translation_key="dga_protection", entity_category=EntityCategory.CONFIG, state=lambda data: data.dga_protection, ), NextDnsSwitchEntityDescription[Settings]( key="dns_rebinding_protection", - name="DNS rebinding protection", + translation_key="dns_rebinding_protection", entity_category=EntityCategory.CONFIG, icon="mdi:dns", state=lambda data: data.dns_rebinding_protection, ), NextDnsSwitchEntityDescription[Settings]( key="google_safe_browsing", - name="Google safe browsing", + translation_key="google_safe_browsing", entity_category=EntityCategory.CONFIG, icon="mdi:google", state=lambda data: data.google_safe_browsing, ), NextDnsSwitchEntityDescription[Settings]( key="idn_homograph_attacks_protection", - name="IDN homograph attacks protection", + translation_key="idn_homograph_attacks_protection", entity_category=EntityCategory.CONFIG, state=lambda data: data.idn_homograph_attacks_protection, ), NextDnsSwitchEntityDescription[Settings]( key="threat_intelligence_feeds", - name="Threat intelligence feeds", + translation_key="threat_intelligence_feeds", entity_category=EntityCategory.CONFIG, state=lambda data: data.threat_intelligence_feeds, ), NextDnsSwitchEntityDescription[Settings]( key="typosquatting_protection", - name="Typosquatting protection", + translation_key="typosquatting_protection", entity_category=EntityCategory.CONFIG, icon="mdi:keyboard-outline", state=lambda data: data.typosquatting_protection, ), NextDnsSwitchEntityDescription[Settings]( key="block_bypass_methods", - name="Block bypass methods", + translation_key="block_bypass_methods", entity_category=EntityCategory.CONFIG, state=lambda data: data.block_bypass_methods, ), NextDnsSwitchEntityDescription[Settings]( key="safesearch", - name="Force SafeSearch", + translation_key="safesearch", entity_category=EntityCategory.CONFIG, icon="mdi:search-web", state=lambda data: data.safesearch, ), NextDnsSwitchEntityDescription[Settings]( key="youtube_restricted_mode", - name="Force YouTube restricted mode", + translation_key="youtube_restricted_mode", entity_category=EntityCategory.CONFIG, icon="mdi:youtube", state=lambda data: data.youtube_restricted_mode, ), NextDnsSwitchEntityDescription[Settings]( key="block_9gag", - name="Block 9GAG", + translation_key="block_9gag", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:file-gif-box", @@ -198,7 +198,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_amazon", - name="Block Amazon", + translation_key="block_amazon", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:cart-outline", @@ -206,7 +206,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_blizzard", - name="Block Blizzard", + translation_key="block_blizzard", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:sword-cross", @@ -214,7 +214,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_dailymotion", - name="Block Dailymotion", + translation_key="block_dailymotion", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:movie-search-outline", @@ -222,7 +222,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_discord", - name="Block Discord", + translation_key="block_discord", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:message-text", @@ -230,7 +230,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_disneyplus", - name="Block Disney Plus", + translation_key="block_disneyplus", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:movie-search-outline", @@ -238,7 +238,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_ebay", - name="Block eBay", + translation_key="block_ebay", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:basket-outline", @@ -246,7 +246,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_facebook", - name="Block Facebook", + translation_key="block_facebook", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:facebook", @@ -254,7 +254,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_fortnite", - name="Block Fortnite", + translation_key="block_fortnite", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:tank", @@ -270,7 +270,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_imgur", - name="Block Imgur", + translation_key="block_imgur", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:camera-image", @@ -278,7 +278,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_instagram", - name="Block Instagram", + translation_key="block_instagram", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:instagram", @@ -286,7 +286,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_leagueoflegends", - name="Block League of Legends", + translation_key="block_leagueoflegends", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:sword", @@ -294,7 +294,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_messenger", - name="Block Messenger", + translation_key="block_messenger", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:message-text", @@ -302,7 +302,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_minecraft", - name="Block Minecraft", + translation_key="block_minecraft", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:minecraft", @@ -310,7 +310,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_netflix", - name="Block Netflix", + translation_key="block_netflix", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:netflix", @@ -318,7 +318,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_pinterest", - name="Block Pinterest", + translation_key="block_pinterest", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:pinterest", @@ -326,7 +326,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_primevideo", - name="Block Prime Video", + translation_key="block_primevideo", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:filmstrip", @@ -334,7 +334,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_reddit", - name="Block Reddit", + translation_key="block_reddit", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:reddit", @@ -342,7 +342,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_roblox", - name="Block Roblox", + translation_key="block_roblox", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:robot", @@ -350,7 +350,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_signal", - name="Block Signal", + translation_key="block_signal", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:chat-outline", @@ -358,7 +358,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_skype", - name="Block Skype", + translation_key="block_skype", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:skype", @@ -366,7 +366,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_snapchat", - name="Block Snapchat", + translation_key="block_snapchat", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:snapchat", @@ -374,7 +374,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_spotify", - name="Block Spotify", + translation_key="block_spotify", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:spotify", @@ -382,7 +382,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_steam", - name="Block Steam", + translation_key="block_steam", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:steam", @@ -390,7 +390,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_telegram", - name="Block Telegram", + translation_key="block_telegram", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:send-outline", @@ -398,7 +398,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_tiktok", - name="Block TikTok", + translation_key="block_tiktok", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:music-note", @@ -406,7 +406,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_tinder", - name="Block Tinder", + translation_key="block_tinder", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:fire", @@ -414,7 +414,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_tumblr", - name="Block Tumblr", + translation_key="block_tumblr", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:image-outline", @@ -422,7 +422,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_twitch", - name="Block Twitch", + translation_key="block_twitch", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:twitch", @@ -430,7 +430,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_twitter", - name="Block Twitter", + translation_key="block_twitter", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:twitter", @@ -438,7 +438,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_vimeo", - name="Block Vimeo", + translation_key="block_vimeo", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:vimeo", @@ -446,7 +446,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_vk", - name="Block VK", + translation_key="block_vk", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:power-socket-eu", @@ -454,7 +454,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_whatsapp", - name="Block WhatsApp", + translation_key="block_whatsapp", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:whatsapp", @@ -462,7 +462,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_xboxlive", - name="Block Xbox Live", + translation_key="block_xboxlive", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:microsoft-xbox", @@ -470,7 +470,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_youtube", - name="Block YouTube", + translation_key="block_youtube", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:youtube", @@ -478,7 +478,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_zoom", - name="Block Zoom", + translation_key="block_zoom", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:video", @@ -486,7 +486,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_dating", - name="Block dating", + translation_key="block_dating", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:candelabra", @@ -494,7 +494,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_gambling", - name="Block gambling", + translation_key="block_gambling", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:slot-machine", @@ -502,7 +502,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_piracy", - name="Block piracy", + translation_key="block_piracy", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:pirate", @@ -510,7 +510,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_porn", - name="Block porn", + translation_key="block_porn", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:movie-off", @@ -518,7 +518,7 @@ SWITCHES = ( ), NextDnsSwitchEntityDescription[Settings]( key="block_social_networks", - name="Block social networks", + translation_key="block_social_networks", entity_category=EntityCategory.CONFIG, entity_registry_enabled_default=False, icon="mdi:facebook",