From 924ecf0290bcd211fa620948be05f0888cba1b0c Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:23 +0700 Subject: [PATCH 01/29] New translations messages.json (Romanian) [ci skip] chore: sync translations from Crowdin --- addon/_locales/ro_RO/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/ro_RO/messages.json b/addon/_locales/ro_RO/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/ro_RO/messages.json +++ b/addon/_locales/ro_RO/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From c3a316fc2d54c4698dcf2991c1b7d024bcf24706 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:24 +0700 Subject: [PATCH 02/29] New translations messages.json (French) [ci skip] chore: sync translations from Crowdin --- addon/_locales/fr_FR/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/fr_FR/messages.json b/addon/_locales/fr_FR/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/fr_FR/messages.json +++ b/addon/_locales/fr_FR/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 8a6f58b7dd02e1183712d7c138d5c3da7ef0bce7 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:25 +0700 Subject: [PATCH 03/29] New translations messages.json (Spanish) [ci skip] chore: sync translations from Crowdin --- addon/_locales/es_ES/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/es_ES/messages.json b/addon/_locales/es_ES/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/es_ES/messages.json +++ b/addon/_locales/es_ES/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 450f0637d4633009e1a5feb7ef454a0897aa7c59 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:27 +0700 Subject: [PATCH 04/29] New translations messages.json (Afrikaans) [ci skip] chore: sync translations from Crowdin --- addon/_locales/af_ZA/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/af_ZA/messages.json b/addon/_locales/af_ZA/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/af_ZA/messages.json +++ b/addon/_locales/af_ZA/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 2a6b0cbf3021d414b70bd2dc8542ef5d80c6fc70 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:28 +0700 Subject: [PATCH 05/29] New translations messages.json (Arabic) [ci skip] chore: sync translations from Crowdin --- addon/_locales/ar_SA/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/ar_SA/messages.json b/addon/_locales/ar_SA/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/ar_SA/messages.json +++ b/addon/_locales/ar_SA/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 37278f5d6c8779aa51badd9262977d34981e21d2 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:30 +0700 Subject: [PATCH 06/29] New translations messages.json (Catalan) [ci skip] chore: sync translations from Crowdin --- addon/_locales/ca_ES/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/ca_ES/messages.json b/addon/_locales/ca_ES/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/ca_ES/messages.json +++ b/addon/_locales/ca_ES/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 85dc8b75b4920e30d040d5e6a68f7e875b0af675 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:31 +0700 Subject: [PATCH 07/29] New translations messages.json (Czech) [ci skip] chore: sync translations from Crowdin --- addon/_locales/cs_CZ/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/cs_CZ/messages.json b/addon/_locales/cs_CZ/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/cs_CZ/messages.json +++ b/addon/_locales/cs_CZ/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 8214525f0ac58e9a0f7c2bd81ed6e95628a2033d Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:32 +0700 Subject: [PATCH 08/29] New translations messages.json (Danish) [ci skip] chore: sync translations from Crowdin --- addon/_locales/da_DK/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/da_DK/messages.json b/addon/_locales/da_DK/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/da_DK/messages.json +++ b/addon/_locales/da_DK/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 68526e8911376ac6f9af44abb6cae7cc3b081ca2 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:33 +0700 Subject: [PATCH 09/29] New translations messages.json (German) [ci skip] chore: sync translations from Crowdin --- addon/_locales/de_DE/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/de_DE/messages.json b/addon/_locales/de_DE/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/de_DE/messages.json +++ b/addon/_locales/de_DE/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 4408eae2eef1a3a4a804c20578e232bb912c5f2f Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:35 +0700 Subject: [PATCH 10/29] New translations messages.json (Greek) [ci skip] chore: sync translations from Crowdin --- addon/_locales/el_GR/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/el_GR/messages.json b/addon/_locales/el_GR/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/el_GR/messages.json +++ b/addon/_locales/el_GR/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 266675d6626121c79a51eaa87e7625fad1e122cd Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:36 +0700 Subject: [PATCH 11/29] New translations messages.json (Finnish) [ci skip] chore: sync translations from Crowdin --- addon/_locales/fi_FI/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/fi_FI/messages.json b/addon/_locales/fi_FI/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/fi_FI/messages.json +++ b/addon/_locales/fi_FI/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From dbb04af28df55f63700b4b35ce517f946cd44c07 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:37 +0700 Subject: [PATCH 12/29] New translations messages.json (Hebrew) [ci skip] chore: sync translations from Crowdin --- addon/_locales/he_IL/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/he_IL/messages.json b/addon/_locales/he_IL/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/he_IL/messages.json +++ b/addon/_locales/he_IL/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 21b61a7341c1052a4874e18c5872239308501fb6 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:38 +0700 Subject: [PATCH 13/29] New translations messages.json (Hungarian) [ci skip] chore: sync translations from Crowdin --- addon/_locales/hu_HU/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/hu_HU/messages.json b/addon/_locales/hu_HU/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/hu_HU/messages.json +++ b/addon/_locales/hu_HU/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From d01d9a8d4c51847a321dc21944f82409f319928d Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:40 +0700 Subject: [PATCH 14/29] New translations messages.json (Italian) [ci skip] chore: sync translations from Crowdin --- addon/_locales/it_IT/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/it_IT/messages.json b/addon/_locales/it_IT/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/it_IT/messages.json +++ b/addon/_locales/it_IT/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 9a1963fabdc47d5fb168577324903971df57b47a Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:41 +0700 Subject: [PATCH 15/29] New translations messages.json (Japanese) [ci skip] chore: sync translations from Crowdin --- addon/_locales/ja_JP/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/ja_JP/messages.json b/addon/_locales/ja_JP/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/ja_JP/messages.json +++ b/addon/_locales/ja_JP/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From ae15980970c8142cff3e3f2df36dab7a9dec277b Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:42 +0700 Subject: [PATCH 16/29] New translations messages.json (Korean) [ci skip] chore: sync translations from Crowdin --- addon/_locales/ko_KR/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/ko_KR/messages.json b/addon/_locales/ko_KR/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/ko_KR/messages.json +++ b/addon/_locales/ko_KR/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From d0c91a59821d93a19f4a0015d7128be983207a60 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:43 +0700 Subject: [PATCH 17/29] New translations messages.json (Dutch) [ci skip] chore: sync translations from Crowdin --- addon/_locales/nl_NL/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/nl_NL/messages.json b/addon/_locales/nl_NL/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/nl_NL/messages.json +++ b/addon/_locales/nl_NL/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 36a395df9da05ab2a75779bf4cb9ed5bf7d72550 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:45 +0700 Subject: [PATCH 18/29] New translations messages.json (Norwegian) [ci skip] chore: sync translations from Crowdin --- addon/_locales/no_NO/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/no_NO/messages.json b/addon/_locales/no_NO/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/no_NO/messages.json +++ b/addon/_locales/no_NO/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 800580b196b9a03efcca001b57ddeea30a86ca31 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:46 +0700 Subject: [PATCH 19/29] New translations messages.json (Polish) [ci skip] chore: sync translations from Crowdin --- addon/_locales/pl_PL/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/pl_PL/messages.json b/addon/_locales/pl_PL/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/pl_PL/messages.json +++ b/addon/_locales/pl_PL/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 9dba68ac091204fd49d09a51d321fd1c561d7e1f Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:48 +0700 Subject: [PATCH 20/29] New translations messages.json (Portuguese) [ci skip] chore: sync translations from Crowdin --- addon/_locales/pt_PT/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/pt_PT/messages.json b/addon/_locales/pt_PT/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/pt_PT/messages.json +++ b/addon/_locales/pt_PT/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From c099a9ff4c145de5fa96408658315e6d87e7a837 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:49 +0700 Subject: [PATCH 21/29] New translations messages.json (Russian) [ci skip] chore: sync translations from Crowdin --- addon/_locales/ru_RU/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/ru_RU/messages.json b/addon/_locales/ru_RU/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/ru_RU/messages.json +++ b/addon/_locales/ru_RU/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 82070bf729aa76db4ddb0681ac0eaa82f97e1d00 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:51 +0700 Subject: [PATCH 22/29] New translations messages.json (Serbian (Cyrillic)) [ci skip] chore: sync translations from Crowdin --- addon/_locales/sr_SP/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/sr_SP/messages.json b/addon/_locales/sr_SP/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/sr_SP/messages.json +++ b/addon/_locales/sr_SP/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 07bbc41fd907521568a6e9c1a2ae687381a290ae Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:52 +0700 Subject: [PATCH 23/29] New translations messages.json (Swedish) [ci skip] chore: sync translations from Crowdin --- addon/_locales/sv_SE/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/sv_SE/messages.json b/addon/_locales/sv_SE/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/sv_SE/messages.json +++ b/addon/_locales/sv_SE/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 007573fd6bd2bfea0415a3cd3e0cac1e41f09520 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:53 +0700 Subject: [PATCH 24/29] New translations messages.json (Turkish) [ci skip] chore: sync translations from Crowdin --- addon/_locales/tr_TR/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/tr_TR/messages.json b/addon/_locales/tr_TR/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/tr_TR/messages.json +++ b/addon/_locales/tr_TR/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From c4087af8653aba934dd436efc4f0426ad0fe2f4f Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:54 +0700 Subject: [PATCH 25/29] New translations messages.json (Ukrainian) [ci skip] chore: sync translations from Crowdin --- addon/_locales/uk_UA/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/uk_UA/messages.json b/addon/_locales/uk_UA/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/uk_UA/messages.json +++ b/addon/_locales/uk_UA/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From a06a081e8039d1fde2f7e7cc95f7ac9ca20b3370 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:56 +0700 Subject: [PATCH 26/29] New translations messages.json (Chinese Simplified) [ci skip] chore: sync translations from Crowdin --- addon/_locales/zh_CN/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/zh_CN/messages.json b/addon/_locales/zh_CN/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/zh_CN/messages.json +++ b/addon/_locales/zh_CN/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 2912252c3d5dfcb3d886e431a4266cc97f5f443d Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:57 +0700 Subject: [PATCH 27/29] New translations messages.json (Chinese Traditional) [ci skip] chore: sync translations from Crowdin --- addon/_locales/zh_TW/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/zh_TW/messages.json b/addon/_locales/zh_TW/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/zh_TW/messages.json +++ b/addon/_locales/zh_TW/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters" From 6fcd32244361b42ae1b56d7483597329fdc04947 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:58 +0700 Subject: [PATCH 28/29] New translations messages.json (Vietnamese) [ci skip] chore: sync translations from Crowdin --- addon/_locales/vi_VN/messages.json | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/addon/_locales/vi_VN/messages.json b/addon/_locales/vi_VN/messages.json index eb1730d8..e8f88e8c 100644 --- a/addon/_locales/vi_VN/messages.json +++ b/addon/_locales/vi_VN/messages.json @@ -8,9 +8,6 @@ "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Quay lại" - }, "popupPairedDevices": { "message": "Thiết bị đã cho phép" }, @@ -26,15 +23,6 @@ "popupDataPlaneDesc": { "message": "WebTransport (trong worker), WebTransport (trong trang), WebSocket, hoặc Native Messaging" }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" - }, "popupDevicePickerMode": { "message": "Chế độ chọn thiết bị" }, @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "WebTransport trong trang có thể hiện cảnh báo quyền mạng cục bộ của Firefox (\"wants to access other apps and services on this device\"). Hãy tick \"Remember my choice for this site\" trước khi bấm Allow, nếu không sẽ bị hỏi lại mỗi lần tải trang." - }, "statusReady": { "message": "Sẵn sàng" }, @@ -152,6 +137,12 @@ "settingsDaemonAsNmHostDesc": { "message": "Nói chuyện trực tiếp với daemon qua native messaging, bỏ qua forwarder và Unix socket. Yêu cầu manifest daemon_nm_host và daemon chạy dưới user của bạn (kèm udev rule). Độ trễ thấp hơn, không có fallback daemon root. Tự kết nối lại." }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." + }, "settingsDataPlane": { "message": "Kênh dữ liệu" }, @@ -159,13 +150,13 @@ "message": "**WebTransport** (mặc định): tùy chọn nhanh nhất; chạy trong background worker nên trang mượt hơn.\n**WebTransport (in-page)**: kết nối trực tiếp trong trang; ổn ở tốc độ report thường, dùng nhiều CPU trang hơn. Dùng khi site chặn background worker (CSP) nhưng vẫn cho phép kết nối; các tùy chọn dùng worker sẽ fallback sang Native Messaging. Firefox hỏi quyền local-network (\"Allow\") một lần trước kết nối in-page đầu tiên; tick \"Remember my choice for this site\". Reload trang sau khi thay đổi.\n**WebSocket**: fallback khi không có WebTransport (Firefox cũ).\n**Native Messaging**: tùy chọn chậm nhất nhưng tương thích nhất; dùng khi chính sách bảo mật của site chặn các tùy chọn khác." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" From 7be283c94625341ada1742cef361d0fbf6d7fce8 Mon Sep 17 00:00:00 2001 From: Kazoku Date: Fri, 4 Sep 2026 16:12:59 +0700 Subject: [PATCH 29/29] New translations messages.json (Portuguese, Brazilian) [ci skip] chore: sync translations from Crowdin --- addon/_locales/pt_BR/messages.json | 39 ++++++++++++------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/addon/_locales/pt_BR/messages.json b/addon/_locales/pt_BR/messages.json index d602377d..673c09b9 100644 --- a/addon/_locales/pt_BR/messages.json +++ b/addon/_locales/pt_BR/messages.json @@ -3,14 +3,11 @@ "message": "WebHID" }, "extensionDescription": { - "message": "WebHID API implementation for Firefox" + "message": "WebHID API implementation" }, "popupTitle": { "message": "WebHID" }, - "popupBack": { - "message": "Back" - }, "popupPairedDevices": { "message": "Paired Devices" }, @@ -24,16 +21,7 @@ "message": "Data Plane" }, "popupDataPlaneDesc": { - "message": "WebTransport (in a worker), WebTransport (in the page), WebSocket, or Native Messaging" - }, - "popupDataPlaneWs": { - "message": "WebSocket" - }, - "popupDataPlaneWt": { - "message": "WebTransport" - }, - "popupDataPlaneNm": { - "message": "Native Messaging" + "message": "WebTransport worker, WebSocket worker, or Native Messaging" }, "popupDevicePickerMode": { "message": "Device Picker Mode" @@ -107,9 +95,6 @@ "popupDeviceCount": { "message": "($1/$2)" }, - "popupInPageWtWarning": { - "message": "In-page WebTransport may trigger a Firefox local-network permission prompt (\"wants to access other apps and services on this device\"). Tick \"Remember my choice for this site\" before clicking Allow, otherwise you will be asked again on every page load." - }, "statusReady": { "message": "Ready" }, @@ -120,7 +105,7 @@ "message": "Daemon offline" }, "statusOfflineGuidance": { - "message": "Check that the daemon is running (systemctl status webhid-daemon), that your user is in the webhid group, and that the udev rules are installed." + "message": "Check that the daemon is installed and running, and that it has permission to access your HID devices. See the installation guide for platform-specific setup." }, "planeNameWS": { "message": "WebSocket" @@ -150,22 +135,28 @@ "message": "Daemon as NM host" }, "settingsDaemonAsNmHostDesc": { - "message": "Talk to the daemon directly over native messaging, skipping the forwarder and Unix socket. Requires the daemon_nm_host manifest and the daemon running as your user (with the udev rule). Lower latency, no root-daemon fallback. Reconnects automatically." + "message": "Connect directly to the daemon through Native Messaging, bypassing the forwarder. Requires the webhid.daemon_nm_host native-messaging manifest and a daemon process that can access your devices. It may reduce latency but does not fall back to a persistent system daemon. Reconnects automatically." + }, + "settingsHidePageAction": { + "message": "Hide Page Action" + }, + "settingsHidePageActionDesc": { + "message": "Keep the page action hidden when a site uses the WebHID API. The browser action still opens the device view by default." }, "settingsDataPlane": { "message": "Data Plane" }, "settingsDataPlaneDesc": { - "message": "**WebTransport** (default): the fastest option; runs in a background worker so pages stay smooth.\n**WebTransport (in-page)**: connects directly in the page; fine at normal report rates, uses more page CPU. Use it when the site blocks background workers (CSP) but still allows the connection; the worker-based options would fall back to Native Messaging there. Firefox asks a one-time local-network permission (\"Allow\") before the first in-page connection; tick \"Remember my choice for this site\". Reload pages after changing.\n**WebSocket**: fallback when WebTransport is not available (older Firefox).\n**Native Messaging**: the slowest but most compatible option; use when a site's security policy blocks the others." + "message": "**WebTransport worker** (default): keeps transport work and parsing off the page main thread.\n**WebSocket worker**: use when WebTransport is unavailable, such as on older Firefox.\n**Native Messaging**: most compatible; use when a site's security policy prevents a worker transport." }, "settingsDataPlaneWs": { - "message": "WebSocket" + "message": "WebSocket worker" }, "settingsDataPlaneWt": { - "message": "WebTransport" + "message": "WebTransport worker" }, "settingsDataPlaneWtInpage": { - "message": "WebTransport (in-page)" + "message": "WebTransport in-page (internal benchmark mode)" }, "settingsDataPlaneNm": { "message": "Native Messaging" @@ -219,7 +210,7 @@ "message": "Cannot reach the WebHID daemon. Check that it is installed and running, then try again." }, "pickerParseFailed": { - "message": "This device's report descriptor could not be parsed. Connecting and sending reports still works." + "message": "This device's report descriptor could not be parsed, so it cannot be opened." }, "pickerNoMatch": { "message": "No devices match the specified filters"