diff --git a/assets/assets.json b/assets/assets.json index e170012061b93..44c37f6873c60 100644 --- a/assets/assets.json +++ b/assets/assets.json @@ -1,7 +1,7 @@ { "assets.json": { "content": "internal", - "updateAfter": 7, + "updateAfter": 13, "contentURL": [ "https://raw.githubusercontent.com/dhowe/AdNauseam/master/assets/assets.json", "assets/assets.json" @@ -55,16 +55,18 @@ }, "ublock-badlists": { "content": "internal", - "updateAfter": 13, + "updateAfter": 29, "contentURL": [ - "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/badlists.txt", + "https://ublockorigin.github.io/uAssets/filters/badlists.txt", "assets/ublock/badlists.txt" ], "cdnURLs": [ - "https://gitcdn.xyz/repo/uBlockOrigin/uAssets/master/filters/badlists.txt", - "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssets@master/filters/badlists.txt", - "https://cdn.statically.io/gh/uBlockOrigin/uAssets/master/filters/badlists.txt", - "https://combinatronics.io/uBlockOrigin/uAssets/master/filters/badlists.txt" + "https://ublockorigin.github.io/uAssetsCDN/filters/badlists.txt", + "https://ublockorigin.pages.dev/filters/badlists.txt", + "https://gitcdn.link/cdn/uBlockOrigin/uAssetsCDN/main/filters/badlists.txt", + "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/badlists.txt", + "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/badlists.txt", + "https://combinatronics.io/uBlockOrigin/uAssetsCDN/main/filters/badlists.txt" ] }, "ublock-filters": { @@ -72,15 +74,16 @@ "group": "default", "title": "uBlock filters", "contentURL": [ - "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt", + "https://ublockorigin.github.io/uAssets/filters/filters.txt", "assets/ublock/filters.txt" ], "cdnURLs": [ - "https://gitcdn.xyz/repo/uBlockOrigin/uAssets/master/filters/filters.txt", - "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssets@master/filters/filters.txt", - "https://cdn.statically.io/gh/uBlockOrigin/uAssets/master/filters/filters.txt", - "https://combinatronics.io/uBlockOrigin/uAssets/master/filters/filters.txt", - "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt" + "https://ublockorigin.github.io/uAssetsCDN/filters/filters.txt", + "https://ublockorigin.pages.dev/filters/filters.txt", + "https://gitcdn.link/cdn/uBlockOrigin/uAssetsCDN/main/filters/filters.txt", + "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/filters.txt", + "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/filters.txt", + "https://combinatronics.io/uBlockOrigin/uAssetsCDN/main/filters/filters.txt" ], "supportURL": "https://github.com/uBlockOrigin/uAssets/issues" }, @@ -89,46 +92,54 @@ "group": "default", "title": "uBlock filters – Badware risks", "contentURL": [ - "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/badware.txt", + "https://ublockorigin.github.io/uAssets/filters/badware.txt", "assets/ublock/badware.txt" ], "cdnURLs": [ - "https://gitcdn.xyz/repo/uBlockOrigin/uAssets/master/filters/badware.txt", - "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssets@master/filters/badware.txt", - "https://cdn.statically.io/gh/uBlockOrigin/uAssets/master/filters/badware.txt", - "https://combinatronics.io/uBlockOrigin/uAssets/master/filters/badware.txt" + "https://ublockorigin.github.io/uAssetsCDN/filters/badware.txt", + "https://ublockorigin.pages.dev/filters/badware.txt", + "https://gitcdn.link/cdn/uBlockOrigin/uAssetsCDN/main/filters/badware.txt", + "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/badware.txt", + "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/badware.txt", + "https://combinatronics.io/uBlockOrigin/uAssetsCDN/main/filters/badware.txt" ], "supportURL": "https://github.com/gorhill/uBlock/wiki/Badware-risks", "instructionURL": "https://github.com/gorhill/uBlock/wiki/Badware-risks" }, "ublock-privacy": { "content": "filters", + "updateAfter": 13, "group": "default", "title": "uBlock filters – Privacy", "contentURL": [ - "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/privacy.txt", + "https://ublockorigin.github.io/uAssets/filters/privacy.txt", "assets/ublock/privacy.txt" ], "cdnURLs": [ - "https://gitcdn.xyz/repo/uBlockOrigin/uAssets/master/filters/privacy.txt", - "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssets@master/filters/privacy.txt", - "https://cdn.statically.io/gh/uBlockOrigin/uAssets/master/filters/privacy.txt", - "https://combinatronics.io/uBlockOrigin/uAssets/master/filters/privacy.txt" + "https://ublockorigin.github.io/uAssetsCDN/filters/privacy.txt", + "https://ublockorigin.pages.dev/filters/privacy.txt", + "https://gitcdn.link/cdn/uBlockOrigin/uAssetsCDN/main/filters/privacy.txt", + "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/privacy.txt", + "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/privacy.txt", + "https://combinatronics.io/uBlockOrigin/uAssetsCDN/main/filters/privacy.txt" ] }, "ublock-abuse": { "content": "filters", + "updateAfter": 13, "group": "default", "title": "uBlock filters – Resource abuse", "contentURL": [ - "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/resource-abuse.txt", + "https://ublockorigin.github.io/uAssets/filters/resource-abuse.txt", "assets/ublock/resource-abuse.txt" ], "cdnURLs": [ - "https://gitcdn.xyz/repo/uBlockOrigin/uAssets/master/filters/resource-abuse.txt", - "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssets@master/filters/resource-abuse.txt", - "https://cdn.statically.io/gh/uBlockOrigin/uAssets/master/filters/resource-abuse.txt", - "https://combinatronics.io/uBlockOrigin/uAssets/master/filters/resource-abuse.txt" + "https://ublockorigin.github.io/uAssetsCDN/filters/resource-abuse.txt", + "https://ublockorigin.pages.dev/filters/resource-abuse.txt", + "https://gitcdn.link/cdn/uBlockOrigin/uAssetsCDN/main/filters/resource-abuse.txt", + "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/resource-abuse.txt", + "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/resource-abuse.txt", + "https://combinatronics.io/uBlockOrigin/uAssetsCDN/main/filters/resource-abuse.txt" ] }, "ublock-unbreak": { @@ -136,14 +147,33 @@ "group": "default", "title": "uBlock filters – Unbreak", "contentURL": [ - "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/unbreak.txt", + "https://ublockorigin.github.io/uAssets/filters/unbreak.txt", "assets/ublock/unbreak.txt" ], "cdnURLs": [ - "https://gitcdn.xyz/repo/uBlockOrigin/uAssets/master/filters/unbreak.txt", - "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssets@master/filters/unbreak.txt", - "https://cdn.statically.io/gh/uBlockOrigin/uAssets/master/filters/unbreak.txt", - "https://combinatronics.io/uBlockOrigin/uAssets/master/filters/unbreak.txt" + "https://ublockorigin.github.io/uAssetsCDN/filters/unbreak.txt", + "https://ublockorigin.pages.dev/filters/unbreak.txt", + "https://gitcdn.link/cdn/uBlockOrigin/uAssetsCDN/main/filters/unbreak.txt", + "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/unbreak.txt", + "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/unbreak.txt", + "https://combinatronics.io/uBlockOrigin/uAssetsCDN/main/filters/unbreak.txt" + ] + }, + "ublock-quick-fixes": { + "content": "filters", + "updateAfter": 1, + "group": "default", + "title": "uBlock filters – Quick fixes", + "contentURL": [ + "https://ublockorigin.github.io/uAssets/filters/quick-fixes.txt" + ], + "cdnURLs": [ + "https://ublockorigin.github.io/uAssetsCDN/filters/quick-fixes.txt", + "https://ublockorigin.pages.dev/filters/quick-fixes.txt", + "https://gitcdn.link/cdn/uBlockOrigin/uAssetsCDN/main/filters/quick-fixes.txt", + "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/quick-fixes.txt", + "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/quick-fixes.txt", + "https://combinatronics.io/uBlockOrigin/uAssetsCDN/main/filters/quick-fixes.txt" ] }, "adguard-generic": { @@ -200,12 +230,14 @@ "group": "privacy", "off": true, "title": "Block Outsider Intrusion into LAN", - "contentURL": "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/lan-block.txt", + "contentURL": "https://ublockorigin.github.io/uAssets/filters/lan-block.txt", "cdnURLs": [ - "https://gitcdn.xyz/repo/uBlockOrigin/uAssets/master/filters/lan-block.txt", - "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssets@master/filters/lan-block.txt", - "https://cdn.statically.io/gh/uBlockOrigin/uAssets/master/filters/lan-block.txt", - "https://combinatronics.io/uBlockOrigin/uAssets/master/filters/lan-block.txt" + "https://ublockorigin.github.io/uAssetsCDN/filters/lan-block.txt", + "https://ublockorigin.pages.dev/filters/lan-block.txt", + "https://gitcdn.link/cdn/uBlockOrigin/uAssetsCDN/main/filters/lan-block.txt", + "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/lan-block.txt", + "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/lan-block.txt", + "https://combinatronics.io/uBlockOrigin/uAssetsCDN/main/filters/lan-block.txt" ], "supportURL": "https://github.com/uBlockOrigin/uAssets/issues" }, @@ -232,8 +264,7 @@ "cdnURLs": [ "https://curbengh.github.io/malware-filter/urlhaus-filter-online.txt", "https://curben.gitlab.io/urlhaus-filter/urlhaus-filter-online.txt", - "https://malware-filter.pages.dev/urlhaus-filter-online.txt", - "https://malware-filter.netlify.app/urlhaus-filter-online.txt" + "https://malware-filter.pages.dev/urlhaus-filter-online.txt" ], "supportURL": "https://gitlab.com/curben/urlhaus-filter#malicious-url-blocklist" }, @@ -246,8 +277,7 @@ "cdnURLs": [ "https://curbengh.github.io/phishing-filter/phishing-filter.txt", "https://curben.gitlab.io/phishing-filter/phishing-filter.txt", - "https://phishing-filter.pages.dev/phishing-filter.txt", - "https://phishing-filter.netlify.app/phishing-filter.txt" + "https://phishing-filter.pages.dev/phishing-filter.txt" ], "supportURL": "https://gitlab.com/curben/phishing-filter#phishing-url-blocklist" }, @@ -260,8 +290,7 @@ "cdnURLs": [ "https://curbengh.github.io/pup-filter/pup-filter.txt", "https://curben.gitlab.io/pup-filter/pup-filter.txt", - "https://pup-filter.pages.dev/pup-filter.txt", - "https://pup-filter.netlify.app/pup-filter.txt" + "https://pup-filter.pages.dev/pup-filter.txt" ], "supportURL": "https://gitlab.com/curben/pup-filter#pup-domains-blocklist" }, @@ -331,11 +360,14 @@ "group": "social", "title": "uBlock filters – Annoyances", "off": true, - "contentURL": "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/annoyances.txt", + "contentURL": "https://ublockorigin.github.io/uAssets/filters/annoyances.txt", "cdnURLs": [ - "https://gitcdn.xyz/repo/uBlockOrigin/uAssets/master/filters/annoyances.txt", - "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssets@master/filters/annoyances.txt", - "https://cdn.statically.io/gh/uBlockOrigin/uAssets/master/filters/annoyances.txt" + "https://ublockorigin.github.io/uAssetsCDN/filters/annoyances.txt", + "https://ublockorigin.pages.dev/filters/annoyances.txt", + "https://gitcdn.link/cdn/uBlockOrigin/uAssetsCDN/main/filters/annoyances.txt", + "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/annoyances.txt", + "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/annoyances.txt", + "https://combinatronics.io/uBlockOrigin/uAssetsCDN/main/filters/annoyances.txt" ] }, "dpollock-0": { @@ -347,6 +379,7 @@ "contentURL": "https://someonewhocares.org/hosts/hosts", "supportURL": "https://someonewhocares.org/hosts/" }, +<<<<<<< HEAD "mvps-0": { "content": "filters", "group": "multipurpose", @@ -357,6 +390,8 @@ "contentURL": "http://winhelp2002.mvps.org/hosts.txt", "supportURL": "http://winhelp2002.mvps.org/" }, +======= +>>>>>>> upstream1.42.0 "plowe-0": { "content": "filters", "group": "multipurpose", diff --git a/dist/firefox/updates.json b/dist/firefox/updates.json index 4fa70952ebd31..1a1b9c845c0dd 100644 --- a/dist/firefox/updates.json +++ b/dist/firefox/updates.json @@ -3,9 +3,9 @@ "uBlock0@raymondhill.net": { "updates": [ { - "version": "1.41.1.0", + "version": "1.41.9.103", "browser_specific_settings": { "gecko": { "strict_min_version": "60" } }, - "update_link": "https://github.com/gorhill/uBlock/releases/download/1.41.1b0/uBlock0_1.41.1b0.firefox.signed.xpi" + "update_link": "https://github.com/gorhill/uBlock/releases/download/1.41.9rc3/uBlock0_1.41.9rc3.firefox.signed.xpi" } ] } diff --git a/dist/version b/dist/version index be7dabd8c8cd9..a50908ca3daf9 100644 --- a/dist/version +++ b/dist/version @@ -1 +1 @@ -1.41.8 +1.42.0 diff --git a/docs/tests/static-filtering-parser-checklist.txt b/docs/tests/static-filtering-parser-checklist.txt index e7b5b5496b346..c77baf2ee3ba5 100644 --- a/docs/tests/static-filtering-parser-checklist.txt +++ b/docs/tests/static-filtering-parser-checklist.txt @@ -7,7 +7,7 @@ ! invalid cases, by typically adding the list to uBO, disabling the list, ! and viewing it in uBO's asset viewer. ! -! Feel free to add more entries to more throughly validate the static +! Feel free to add more entries to more thoroughly validate the static ! filtering parser, submit the changes in your fork of uBO by opening an ! issue at https://github.com/uBlockOrigin/uBlock-issues/issues diff --git a/platform/chromium/manifest.json b/platform/chromium/manifest.json index b751b387096a3..b40a2ddf724c0 100644 --- a/platform/chromium/manifest.json +++ b/platform/chromium/manifest.json @@ -27,6 +27,9 @@ }, "relax-blocking-mode": { "description": "__MSG_relaxBlockingMode__" + }, + "toggle-cosmetic-filtering": { + "description": "__MSG_toggleCosmeticFiltering__" } }, "content_scripts": [ @@ -51,7 +54,8 @@ "https://filterlists.com/*", "https://forums.lanik.us/*", "https://github.com/*", - "https://*.github.io/*" + "https://*.github.io/*", + "https://*.letsblock.it/*" ], "js": [ "/js/scriptlets/subscriber.js" diff --git a/platform/common/vapi-background.js b/platform/common/vapi-background.js index e32efb2f074ff..6e7b607293696 100644 --- a/platform/common/vapi-background.js +++ b/platform/common/vapi-background.js @@ -45,13 +45,6 @@ if ( vAPI.canWASM === false ) { vAPI.supportsUserStylesheets = vAPI.webextFlavor.soup.has('user_stylesheet'); -// The real actual webextFlavor value may not be set in stone, so listen -// for possible future changes. -window.addEventListener('webextFlavor', function() { - vAPI.supportsUserStylesheets = - vAPI.webextFlavor.soup.has('user_stylesheet'); -}, { once: true }); - /******************************************************************************/ vAPI.app = { diff --git a/platform/common/vapi-common.js b/platform/common/vapi-common.js index f866c92f271a5..496766c3b5b4b 100644 --- a/platform/common/vapi-common.js +++ b/platform/common/vapi-common.js @@ -83,12 +83,9 @@ vAPI.webextFlavor = { // Synchronous -- order of tests is important const match = /\bChrom(?:e|ium)\/([\d.]+)/.exec(ua); if ( match !== null ) { - soup.add('chromium'); + soup.add('chromium') + .add('user_stylesheet'); flavor.major = parseInt(match[1], 10) || 0; - // https://github.com/gorhill/uBlock/issues/3588 - if ( flavor.major >= 66 ) { - soup.add('user_stylesheet'); - } } // Don't starve potential listeners diff --git a/platform/firefox/manifest.json b/platform/firefox/manifest.json index 79b6973fed269..d5cfcba00a325 100644 --- a/platform/firefox/manifest.json +++ b/platform/firefox/manifest.json @@ -38,6 +38,9 @@ }, "relax-blocking-mode": { "description": "__MSG_relaxBlockingMode__" + }, + "toggle-cosmetic-filtering": { + "description": "__MSG_toggleCosmeticFiltering__" } }, "content_scripts": [ @@ -65,7 +68,8 @@ "https://filterlists.com/*", "https://forums.lanik.us/*", "https://github.com/*", - "https://*.github.io/*" + "https://*.github.io/*", + "https://*.letsblock.it/*" ], "js": [ "/js/scriptlets/subscriber.js" diff --git a/platform/npm/package.json b/platform/npm/package.json index 73caefc2ac2e3..441f6dcadac86 100644 --- a/platform/npm/package.json +++ b/platform/npm/package.json @@ -1,6 +1,6 @@ { "name": "@gorhill/ubo-core", - "version": "0.1.24", + "version": "0.1.25", "description": "To create a working instance of uBlock Origin's static network filtering engine", "type": "module", "main": "index.js", diff --git a/platform/opera/manifest.json b/platform/opera/manifest.json index 3fe90a350eae1..9ee5fd6edb520 100644 --- a/platform/opera/manifest.json +++ b/platform/opera/manifest.json @@ -35,6 +35,9 @@ }, "relax-blocking-mode": { "description": "__MSG_relaxBlockingMode__" + }, + "toggle-cosmetic-filtering": { + "description": "__MSG_toggleCosmeticFiltering__" } }, "content_scripts": [ @@ -61,7 +64,8 @@ "https://filterlists.com/*", "https://forums.lanik.us/*", "https://github.com/*", - "https://*.github.io/*" + "https://*.github.io/*", + "https://*.letsblock.it/*" ], "js": [ "/js/scriptlets/subscriber.js" diff --git a/platform/thunderbird/manifest.json b/platform/thunderbird/manifest.json index 79fb5df5fe664..9d99f380848f0 100644 --- a/platform/thunderbird/manifest.json +++ b/platform/thunderbird/manifest.json @@ -41,7 +41,8 @@ "https://filterlists.com/*", "https://forums.lanik.us/*", "https://github.com/*", - "https://*.github.io/*" + "https://*.github.io/*", + "https://*.letsblock.it/*" ], "js": [ "/js/scriptlets/subscriber.js" diff --git a/src/_locales/ar/messages.json b/src/_locales/ar/messages.json index 61db71ab09499..6885c7f7d14a6 100755 --- a/src/_locales/ar/messages.json +++ b/src/_locales/ar/messages.json @@ -344,7 +344,7 @@ "description": "Label for checkbox to enable a custom dark theme" }, "settingsThemeAccent0Label": { - "message": "Custom accent color", + "message": "لون التمييز المخصص", "description": "Label for checkbox to pick an accent color" }, "settingsCloudStorageEnabledPrompt": { @@ -400,11 +400,11 @@ "description": "background information: https://github.com/uBlockOrigin/uBlock-issues/issues/1513" }, "settingsAdvanced": { - "message": "Advanced", + "message": "متقدم", "description": "Section for controlling advanced-user settings" }, "settingsAdvancedSynopsis": { - "message": "Features suitable only for technical users", + "message": "ميزات مناسبة فقط للمستخدمين التقنيين", "description": "Description of section controlling advanced-user settings" }, "settingsAdvancedUserSettings": { @@ -456,7 +456,7 @@ "description": "Describes the purpose of the 'Ignore generic cosmetic filters' feature." }, "3pSuspendUntilListsAreLoaded": { - "message": "Suspend network activity until all filter lists are loaded", + "message": "تعليق نشاط الشبكة حتى يتم تحميل كافة قوائم عوامل التصفية", "description": "A checkbox in the 'Filter lists' pane" }, "3pListsOfBlockedHostsHeader": { @@ -1219,13 +1219,13 @@ "message": "اختر الكل", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "تبديل صفحة الحظر", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "تبديل تصفية مستحضرات التجميل", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "وضع الحظر المتراخي", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "مساحة التخزين المستخدمة: {{value}} {{unit}}", diff --git a/src/_locales/az/messages.json b/src/_locales/az/messages.json index 35b811755a836..ee9f8ac27bbe6 100755 --- a/src/_locales/az/messages.json +++ b/src/_locales/az/messages.json @@ -1219,13 +1219,13 @@ "message": "Hamısını seç", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Əngəlləmə profilini aç/bağla", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Əngəlləmə rejimini yüngülləşdir", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "İstifadə olunan anbar: {{value}} {{unit}}", diff --git a/src/_locales/bg/messages.json b/src/_locales/bg/messages.json index 9b10e3ecb6c32..bccf645eaced7 100755 --- a/src/_locales/bg/messages.json +++ b/src/_locales/bg/messages.json @@ -276,11 +276,11 @@ "description": "Example of use: Version 1.26.4" }, "popup3pScriptFilterTip": { - "message": "↑: Подчертаване на редовете, които имат скриптове на 3-ти страни", + "message": "↑: Открояване на редовете, в които има скриптове на 3-ти страни", "description": "Tooltip shown when hovering small filtering widget in '3rd-party scripts' cell" }, "popup3pFrameFilterTip": { - "message": "↑: Подчертаване на редовете, които имат рамки на 3-ти страни", + "message": "↑: Открояване на редовете, в които има рамки на 3-ти страни", "description": "Tooltip shown when hovering small filtering widget in '3rd-party frames' cell" }, "pickerCreate": { @@ -332,7 +332,7 @@ "description": "English: Make use of context menu where appropriate" }, "settingsColorBlindPrompt": { - "message": "Достъпност за хора с цветна слепота", + "message": "Достъпност за хора с нарушено цветоусещане", "description": "English: Color-blind friendly" }, "settingsAppearance": { @@ -1219,13 +1219,13 @@ "message": "Избиране на всичко", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Превключване на профила за блокиране", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Превключване на козметичното филтриране", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Отпуснат режим на блокиране", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Използвано пространство: {{value}} {{unit}}", diff --git a/src/_locales/bn/messages.json b/src/_locales/bn/messages.json index 78027bc3ba17f..9cfa0d3f12fb5 100755 --- a/src/_locales/bn/messages.json +++ b/src/_locales/bn/messages.json @@ -1219,13 +1219,13 @@ "message": "সবগুলো নির্বাচন করুন", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "রোধক প্রোফাইল চালু/বন্ধ", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "রোধক মোড শিথিল করুন", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "ব্যবহৃত স্টোরেজ: {{value}}{{unit}}", diff --git a/src/_locales/bs/messages.json b/src/_locales/bs/messages.json index 424c35a28c45a..bd25b331e791e 100755 --- a/src/_locales/bs/messages.json +++ b/src/_locales/bs/messages.json @@ -1219,13 +1219,13 @@ "message": "Označi sve", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "(De)aktivacija blokiranja profila", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Relaksiran mod blokiranja", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Iskorišten prostor: {{value}} {{unit}}", diff --git a/src/_locales/ca/messages.json b/src/_locales/ca/messages.json index fc77cd81caf2c..dfbc4020ae722 100755 --- a/src/_locales/ca/messages.json +++ b/src/_locales/ca/messages.json @@ -1219,13 +1219,13 @@ "message": "Selecciona-ho tot", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Commuta el perfil de bloqueig", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Commuta els filtres cosmètics", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Mode de bloqueig relaxat", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Emmagatzematge utilitzat: {{value}} {{unit}}", diff --git a/src/_locales/cs/messages.json b/src/_locales/cs/messages.json index 843a758f88a9b..abdc6ecd25456 100755 --- a/src/_locales/cs/messages.json +++ b/src/_locales/cs/messages.json @@ -336,15 +336,15 @@ "description": "English: Color-blind friendly" }, "settingsAppearance": { - "message": "Appearance", + "message": "Vzhled", "description": "Section for controlling user interface appearance" }, "settingsThemeLabel": { - "message": "Theme", + "message": "Motiv", "description": "Label for checkbox to enable a custom dark theme" }, "settingsThemeAccent0Label": { - "message": "Custom accent color", + "message": "Vlastní barva motivu", "description": "Label for checkbox to pick an accent color" }, "settingsCloudStorageEnabledPrompt": { @@ -400,11 +400,11 @@ "description": "background information: https://github.com/uBlockOrigin/uBlock-issues/issues/1513" }, "settingsAdvanced": { - "message": "Advanced", + "message": "Pokročilé", "description": "Section for controlling advanced-user settings" }, "settingsAdvancedSynopsis": { - "message": "Features suitable only for technical users", + "message": "Funkce vhodné pouze pro pokročilé uživatele", "description": "Description of section controlling advanced-user settings" }, "settingsAdvancedUserSettings": { @@ -456,7 +456,7 @@ "description": "Describes the purpose of the 'Ignore generic cosmetic filters' feature." }, "3pSuspendUntilListsAreLoaded": { - "message": "Suspend network activity until all filter lists are loaded", + "message": "Pozastavit síťové aktivity, dokud se nenačtou všechny seznamy filtrů.", "description": "A checkbox in the 'Filter lists' pane" }, "3pListsOfBlockedHostsHeader": { @@ -1219,13 +1219,13 @@ "message": "Vybrat vše", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Přepnout blokovací profil", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Zapnout kosmetické filtrování", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Uvolnit režim blokování", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Využití úložiště: {{value}} {{unit}}", diff --git a/src/_locales/cv/messages.json b/src/_locales/cv/messages.json index 98c37632e58f6..146e8b3d0fd20 100755 --- a/src/_locales/cv/messages.json +++ b/src/_locales/cv/messages.json @@ -1219,13 +1219,13 @@ "message": "Select all", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Toggle blocking profile", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Relax blocking mode", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Storage used: {{value}} {{unit}}", diff --git a/src/_locales/da/messages.json b/src/_locales/da/messages.json index c2987fd2ddbed..a024b5468814f 100755 --- a/src/_locales/da/messages.json +++ b/src/_locales/da/messages.json @@ -1219,13 +1219,13 @@ "message": "Vælg alt", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Slå blokeringsprofil til/fra", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Kosmetisk filtrering til/fra", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Lemp blokeringstilstand", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Lagerplads brugt: {{value}} {{unit}}", diff --git a/src/_locales/de/messages.json b/src/_locales/de/messages.json index 2b4ec00004cde..1c98e3a5bc067 100755 --- a/src/_locales/de/messages.json +++ b/src/_locales/de/messages.json @@ -144,7 +144,7 @@ "description": "Tooltip for the no-popups per-site switch" }, "popupTipNoLargeMedia": { - "message": "Große Medienelemente dieser Seite anzeigen/sperren", + "message": "Große Medienelemente auf dieser Website anzeigen/blockieren", "description": "Tooltip for the no-large-media per-site switch" }, "popupTipNoLargeMedia1": { @@ -156,15 +156,15 @@ "description": "Tooltip for the no-large-media per-site switch" }, "popupTipNoCosmeticFiltering": { - "message": "Kosmetische Filter für diese Website an-/ausschalten", + "message": "Kosmetische Filterung für diese Website ein-/ausschalten", "description": "Tooltip for the no-cosmetic-filtering per-site switch" }, "popupTipNoCosmeticFiltering1": { - "message": "Hier klicken, um kosmetische Filter auf dieser Website zu deaktivieren", + "message": "Hier klicken, um die kosmetische Filterung auf dieser Website zu deaktivieren", "description": "Tooltip for the no-cosmetic-filtering per-site switch" }, "popupTipNoCosmeticFiltering2": { - "message": "Hier klicken, um kosmetische Filter auf dieser Website zu aktivieren", + "message": "Hier klicken, um die kosmetische Filterung auf dieser Website zu aktivieren", "description": "Tooltip for the no-cosmetic-filtering per-site switch" }, "popupTipNoRemoteFonts": { @@ -252,7 +252,7 @@ "description": "" }, "popup1pScriptRulePrompt": { - "message": "Skripte von dieser Domain", + "message": "Skripte dieser Domain", "description": "" }, "popup3pScriptRulePrompt": { @@ -376,7 +376,7 @@ "description": "" }, "settingsNoCosmeticFilteringPrompt": { - "message": "Kosmetische Filter deaktivieren", + "message": "Kosmetische Filterung deaktivieren", "description": "" }, "settingsNoLargeMediaPrompt": { @@ -436,7 +436,7 @@ "description": "A button in the in the _3rd-party filters_ pane" }, "3pPurgeAll": { - "message": "Alle Cache-Speicher leeren", + "message": "Alle Caches leeren", "description": "A button in the in the _3rd-party filters_ pane" }, "3pParseAllABPHideFiltersPrompt1": { @@ -664,7 +664,7 @@ "description": "Tooltip for the reload button in the logger page" }, "loggerDomInspectorTip": { - "message": "DOM-Inspektor umschalten", + "message": "DOM-Inspektor ein-/ausschalten", "description": "Tooltip for the DOM inspector button in the logger page" }, "loggerPopupPanelTip": { @@ -1219,13 +1219,13 @@ "message": "Alles auswählen", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Sperrprofil umschalten", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Kosmetische Filterung ein-/ausschalten", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Blockiermodus lockern", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Genutzter Speicherplatz: {{value}} {{unit}}", diff --git a/src/_locales/el/messages.json b/src/_locales/el/messages.json index 9b772fbb6aedd..dc905faacca99 100755 --- a/src/_locales/el/messages.json +++ b/src/_locales/el/messages.json @@ -1219,13 +1219,13 @@ "message": "Επιλογή όλων", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Ενεργοποίηση/απενεργοποίηση προφίλ μπλοκαρίσματος", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Εναλλαγή διακοσμητικού φιλτραρίσματος", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Χαλάρωση κατάστασης φραγής", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Χώρος σε χρήση: {{value}} {{unit}}", diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index 0009aa41a6790..ad03796c9ebad 100755 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -1221,13 +1221,13 @@ "message": "Select all", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Toggle blocking profile", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Relax blocking mode", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Storage used: {{value}} {{unit}}", diff --git a/src/_locales/en_GB/messages.json b/src/_locales/en_GB/messages.json index 2795c105b6c38..c77a4b277b0c6 100755 --- a/src/_locales/en_GB/messages.json +++ b/src/_locales/en_GB/messages.json @@ -404,7 +404,7 @@ "description": "Section for controlling advanced-user settings" }, "settingsAdvancedSynopsis": { - "message": "Features suitable only for technical users.", + "message": "Features suitable only for technical users", "description": "Description of section controlling advanced-user settings" }, "settingsAdvancedUserSettings": { @@ -1219,13 +1219,13 @@ "message": "Select all", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Toggle blocking profile", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Relax blocking mode", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Storage used: {{value}} {{unit}}", diff --git a/src/_locales/eo/messages.json b/src/_locales/eo/messages.json index b49a0776de5b4..b2306bf448d1b 100755 --- a/src/_locales/eo/messages.json +++ b/src/_locales/eo/messages.json @@ -56,7 +56,7 @@ "description": "appears as tab name in dashboard" }, "supportPageName": { - "message": "Support", + "message": "Subteno", "description": "appears as tab name in dashboard" }, "assetViewerPageName": { @@ -128,7 +128,7 @@ "description": "Tooltip used for the logger icon in the panel" }, "popupTipReport": { - "message": "Report an issue on this website", + "message": "Raporti problemon ĉe ĉi tiu retejo", "description": "Tooltip used for the 'chat' icon in the panel" }, "popupTipNoPopups": { @@ -192,7 +192,7 @@ "description": "Caption for the no-popups per-site switch" }, "popupNoLargeMedia_v2": { - "message": "Large media elements", + "message": "Grandaj aŭdvidaj elementoj", "description": "Caption for the no-large-media per-site switch" }, "popupNoCosmeticFiltering_v2": { @@ -276,11 +276,11 @@ "description": "Example of use: Version 1.26.4" }, "popup3pScriptFilterTip": { - "message": "↑: Emphasize rows which have 3rd-party scripts", + "message": "↑: Emfazi tiujn vicojn, kiuj enhavas triapartiajn programetojn", "description": "Tooltip shown when hovering small filtering widget in '3rd-party scripts' cell" }, "popup3pFrameFilterTip": { - "message": "↑: Emphasize rows which have 3rd-party frames", + "message": "↑: Emfazi tiujn vicojn, kiuj enhavas triapartiajn kadrojn", "description": "Tooltip shown when hovering small filtering widget in '3rd-party frames' cell" }, "pickerCreate": { @@ -336,7 +336,7 @@ "description": "English: Color-blind friendly" }, "settingsAppearance": { - "message": "Appearance", + "message": "Aspekto", "description": "Section for controlling user interface appearance" }, "settingsThemeLabel": { @@ -344,7 +344,7 @@ "description": "Label for checkbox to enable a custom dark theme" }, "settingsThemeAccent0Label": { - "message": "Custom accent color", + "message": "Propra akcenta koloro", "description": "Label for checkbox to pick an accent color" }, "settingsCloudStorageEnabledPrompt": { @@ -352,7 +352,7 @@ "description": "" }, "settingsAdvancedUserPrompt": { - "message": "Mi estas sperta uzanto (Nepra legaĵo)", + "message": "Mi estas sperta uzanto", "description": "Checkbox to let user access advanced, technical features" }, "settingsPrefetchingDisabledPrompt": { @@ -396,15 +396,15 @@ "description": "background information: https://github.com/gorhill/uBlock/issues/3150" }, "settingsUncloakCnamePrompt": { - "message": "Uncloak canonical names", + "message": "Malkaŝi ĉefnomojn", "description": "background information: https://github.com/uBlockOrigin/uBlock-issues/issues/1513" }, "settingsAdvanced": { - "message": "Advanced", + "message": "Altnivelaĵoj", "description": "Section for controlling advanced-user settings" }, "settingsAdvancedSynopsis": { - "message": "Features suitable only for technical users", + "message": "Funkcioj taŭgaj nur por spertuloj", "description": "Description of section controlling advanced-user settings" }, "settingsAdvancedUserSettings": { @@ -524,7 +524,7 @@ "description": "used as a tooltip for the spinner icon beside a list" }, "3pNetworkError": { - "message": "A network error prevented the resource from being updated.", + "message": "Reta eraro malhelpis ĝisdatigon de la resurso.", "description": "used as a tooltip for error icon beside a list" }, "1pFormatHint": { @@ -600,7 +600,7 @@ "description": "English: label for sort option." }, "rulesSortByType": { - "message": "Rule type", + "message": "Speco de regulo", "description": "English: a sort option for list of rules." }, "rulesSortBySource": { @@ -668,11 +668,11 @@ "description": "Tooltip for the DOM inspector button in the logger page" }, "loggerPopupPanelTip": { - "message": "Toggle the popup panel", + "message": "Baskuligi la ŝprucpanelon", "description": "Tooltip for the popup panel button in the logger page" }, "loggerInfoTip": { - "message": "uBlock Origin wiki: The logger", + "message": "Dokumentaro de uBlock Origin: la protokolilo", "description": "Tooltip for the top-right info label in the logger page" }, "loggerClearTip": { @@ -680,15 +680,15 @@ "description": "Tooltip for the eraser in the logger page; used to blank the content of the logger" }, "loggerPauseTip": { - "message": "Pause logger (discard all incoming data)", + "message": "Paŭzigi protokolilon (forĵeti ĉiujn envenantajn datenojn)", "description": "Tooltip for the pause button in the logger page" }, "loggerUnpauseTip": { - "message": "Unpause logger", + "message": "Malpaŭzigi protokolilon", "description": "Tooltip for the play button in the logger page" }, "loggerRowFiltererButtonTip": { - "message": "Toggle logger filtering", + "message": "Baskuligi filtradon de protokolilo", "description": "Tooltip for the row filterer button in the logger page" }, "logFilterPrompt": { @@ -696,7 +696,7 @@ "description": "Placeholder string for logger output filtering input field" }, "loggerRowFiltererBuiltinTip": { - "message": "Logger filtering options", + "message": "Opcioj pri filtrado de protokolilo", "description": "Tooltip for the button to bring up logger output filtering options" }, "loggerRowFiltererBuiltinNot": { @@ -716,7 +716,7 @@ "description": "A keyword in the built-in row filtering expression" }, "loggerRowFiltererBuiltinModified": { - "message": "modified", + "message": "modifita", "description": "A keyword in the built-in row filtering expression" }, "loggerRowFiltererBuiltin1p": { @@ -880,27 +880,27 @@ "description": "Label for radio-button to pick export text format" }, "supportOpenButton": { - "message": "Open", + "message": "Malfermi", "description": "Text for button which open an external webpage in Support pane" }, "supportReportSpecificButton": { - "message": "Create new report", + "message": "Krei novan raporton", "description": "Text for button which open an external webpage in Support pane" }, "supportFindSpecificButton": { - "message": "Find similar reports", + "message": "Serĉi similajn raportojn", "description": "A clickable link in the filter issue reporter section" }, "supportS1H": { - "message": "Documentation", + "message": "Dokumentaro", "description": "Header of 'Documentation' section in Support pane" }, "supportS1P1": { - "message": "Read the documentation at uBlock/wiki to learn about all of uBlock Origin's features.", + "message": "Legu la dokumentaron ĉe uBlock/wiki por lerni ĉiujn funkciojn de uBlock Origin.", "description": "First paragraph of 'Documentation' section in Support pane" }, "supportS2H": { - "message": "Questions and support", + "message": "Demandoj kaj subtenado", "description": "Header of 'Questions and support' section in Support pane" }, "supportS2P1": { @@ -908,11 +908,11 @@ "description": "First paragraph of 'Questions and support' section in Support pane" }, "supportS3H": { - "message": "Filter issues/website is broken", + "message": "Problemoj pri filtrilo / la retejo misfunkcias", "description": "Header of 'Filter issues' section in Support pane" }, "supportS3P1": { - "message": "Report filter issues with specific websites to the uBlockOrigin/uAssets issue tracker. Requires a GitHub account.", + "message": "Raportu problemojn pri specifaj retejoj ĉe la cimspurilo uBlockOrigin/uAssets. Tio postulas konton ĉe GitHub.", "description": "First paragraph of 'Filter issues' section in Support pane" }, "supportS3P2": { @@ -924,19 +924,19 @@ "description": "Third paragraph of 'Filter issues' section in Support pane" }, "supportS4H": { - "message": "Bug report", + "message": "Raporto pri cimo", "description": "Header of 'Bug report' section in Support pane" }, "supportS4P1": { - "message": "Report issues with uBlock Origin itself to the uBlockOrigin/uBlock-issue issue tracker. Requires a GitHub account.", + "message": "Raportu problemojn pri uBlock Origin mem ĉe la cimspurilo uBlockOrigin/uBlock-issue. Tio postulas konton ĉe GitHub.", "description": "First paragraph of 'Bug report' section in Support pane" }, "supportS5H": { - "message": "Troubleshooting Information", + "message": "Informoj pri problemsolvado", "description": "Header of 'Troubleshooting Information' section in Support pane" }, "supportS5P1": { - "message": "Below is technical information that might be useful when volunteers are trying to help you solve a problem.", + "message": "Jen teknikaj informoj eble utilaj al tiuj volontuloj, kiuj helpas vin solvi problemon.", "description": "First paragraph of 'Troubleshooting Information' section in Support pane" }, "supportS5P2": { @@ -944,7 +944,7 @@ "description": "Second paragraph of 'Troubleshooting Information' section in Support pane" }, "supportS6H": { - "message": "Report a filter issue", + "message": "Raporti problemon pri filtrado", "description": "Header of 'Report a filter issue' section in Support pane" }, "supportS6P1S1": { @@ -952,43 +952,43 @@ "description": "A paragraph in the filter issue reporter section" }, "supportS6URL": { - "message": "Address of the web page:", + "message": "Adreso de la retpaĝo:", "description": "Label for the URL of the page" }, "supportS6Select1": { - "message": "The web page…", + "message": "La retpaĝo…", "description": "Label for widget to select type of issue" }, "supportS6Select1Option0": { - "message": "-- Pick an entry --", + "message": "-- Elektu ion --", "description": "An entry in the widget used to select the type of issue" }, "supportS6Select1Option1": { - "message": "Shows ads or ad leftovers", + "message": "Montras reklamojn aŭ restaĵojn de reklamoj", "description": "An entry in the widget used to select the type of issue" }, "supportS6Select1Option2": { - "message": "Has overlays or other nuisances", + "message": "Havas plustavolojn aŭ aliajn ĝenaĵojn", "description": "An entry in the widget used to select the type of issue" }, "supportS6Select1Option3": { - "message": "Detects uBlock Origin", + "message": "Detektas uBlock Origin", "description": "An entry in the widget used to select the type of issue" }, "supportS6Select1Option4": { - "message": "Has privacy-related issues", + "message": "Havas problemojn pri privateco", "description": "An entry in the widget used to select the type of issue" }, "supportS6Select1Option5": { - "message": "Malfunctions when uBlock Origin is enabled", + "message": "Misfunkcias, se uBlock Origin estas ŝaltita ", "description": "An entry in the widget used to select the type of issue" }, "supportS6Select1Option6": { - "message": "Opens unwanted tabs or windows", + "message": "Malfermas nedeziratajn langetojn aŭ fenestrojn", "description": "An entry in the widget used to select the type of issue" }, "supportS6Checkbox1": { - "message": "Label the web page as “NSFW” (“Not Safe For Work”)", + "message": "Marki la paĝon kiel «nelabortaŭgan»", "description": "A checkbox to use for NSFW sites" }, "supportRedact": { @@ -1000,7 +1000,7 @@ "description": "Text for 'Unredact' button" }, "aboutPrivacyPolicy": { - "message": "Privacy policy", + "message": "Reguloj pri privateco", "description": "Link to privacy policy on GitHub (English)" }, "aboutChangelog": { @@ -1028,15 +1028,15 @@ "description": "Link text to uBO's own filter lists repo" }, "aboutDependencies": { - "message": "External dependencies (GPLv3-compatible):", + "message": "Eksteraj dependaĵoj (kongruaj kun GPLv3):", "description": "Shown in the About pane" }, "aboutCDNs": { - "message": "uBO's own filter lists are freely hosted on the following CDNs:", + "message": "La proprajn filtrilojn de uBO gastigas la jenaj enhavo-liverantaj retoj:", "description": "Shown in the About pane" }, "aboutCDNsInfo": { - "message": "A randomly picked CDN is used when a filter list needs to be updated", + "message": "Kiam filtrilo postulas ĝisdatigon, hazarde elektita enhavo-liveranta reto estas uzata.", "description": "Shown in the About pane" }, "aboutBackupDataButton": { @@ -1172,7 +1172,7 @@ "description": "used as a prompt for the user to provide a custom device name" }, "advancedSettingsWarning": { - "message": "Warning! Change these advanced settings at your own risk.", + "message": "Averto! Tiuj altnivelaj opcioj esta eble danĝeraj.", "description": "A warning to users at the top of 'Advanced settings' page" }, "genericSubmit": { @@ -1192,11 +1192,11 @@ "description": "" }, "contextMenuBlockElementInFrame": { - "message": "Block element in frame…", + "message": "Bloki elementon en kadro…", "description": "An entry in the browser's contextual menu" }, "contextMenuSubscribeToList": { - "message": "Subscribe to filter list…", + "message": "Aboni filtrilon…", "description": "An entry in the browser's contextual menu" }, "contextMenuTemporarilyAllowLargeMediaElements": { @@ -1204,11 +1204,11 @@ "description": "A context menu entry, present when large media elements have been blocked on the current site" }, "shortcutCapturePlaceholder": { - "message": "Type a shortcut", + "message": "Tajpu alirklavon", "description": "Placeholder string for input field used to capture a keyboard shortcut" }, "genericMergeViewScrollLock": { - "message": "Toggle locked scrolling", + "message": "Baskuligi ŝlositan rulumadon", "description": "Tooltip for the button used to lock scrolling between the views in the 'My rules' pane" }, "genericCopyToClipboard": { @@ -1216,16 +1216,16 @@ "description": "Label for buttons used to copy something to the clipboard" }, "genericSelectAll": { - "message": "Select all", + "message": "Elekti ĉiujn", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Toggle blocking profile", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Baskuligi ornaman filtradon", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { - "message": "Relax blocking mode", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "message": "Malstriktigi blokadan reĝimon", + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Uzata memoro: {{value}} {{unit}}", diff --git a/src/_locales/es/messages.json b/src/_locales/es/messages.json index 0684ea120df86..e7b6dc2eeeeaa 100755 --- a/src/_locales/es/messages.json +++ b/src/_locales/es/messages.json @@ -1219,13 +1219,13 @@ "message": "Seleccionar todo", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Alternar perfil de bloqueo", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Alternar filtrado cosmético", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Modo de bloqueo relajado", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Almacenamiento usado: {{value}} {{unit}}", diff --git a/src/_locales/et/messages.json b/src/_locales/et/messages.json index 339b44d7fc7f0..6e6810a18ff36 100755 --- a/src/_locales/et/messages.json +++ b/src/_locales/et/messages.json @@ -352,7 +352,7 @@ "description": "" }, "settingsAdvancedUserPrompt": { - "message": "Olen kogenud kasutaja (Vajalik lugemus)", + "message": "Olen kogenud kasutaja", "description": "Checkbox to let user access advanced, technical features" }, "settingsPrefetchingDisabledPrompt": { @@ -1219,13 +1219,13 @@ "message": "Vali kõik", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Lülita blokeerimisprofiili", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Lülita kosmeetilist filtreerimist", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Rahulik blokeerimisrežiim", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Mahtu kasutatud: {{value}} {{unit}}", diff --git a/src/_locales/eu/messages.json b/src/_locales/eu/messages.json index d3a1755808296..9168107a18be0 100755 --- a/src/_locales/eu/messages.json +++ b/src/_locales/eu/messages.json @@ -336,15 +336,15 @@ "description": "English: Color-blind friendly" }, "settingsAppearance": { - "message": "Appearance", + "message": "Itxura", "description": "Section for controlling user interface appearance" }, "settingsThemeLabel": { - "message": "Theme", + "message": "Azala", "description": "Label for checkbox to enable a custom dark theme" }, "settingsThemeAccent0Label": { - "message": "Custom accent color", + "message": "Azentu-kolore pertsonalizatua", "description": "Label for checkbox to pick an accent color" }, "settingsCloudStorageEnabledPrompt": { @@ -400,11 +400,11 @@ "description": "background information: https://github.com/uBlockOrigin/uBlock-issues/issues/1513" }, "settingsAdvanced": { - "message": "Advanced", + "message": "Aurreratua", "description": "Section for controlling advanced-user settings" }, "settingsAdvancedSynopsis": { - "message": "Features suitable only for technical users", + "message": "Erabiltzaile teknikoentzat soilik egokiak diren funtzioak", "description": "Description of section controlling advanced-user settings" }, "settingsAdvancedUserSettings": { @@ -1219,13 +1219,13 @@ "message": "Hautatu dena", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Txandakatu blokeatze profila", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Iragazte kosmetikoa txandakatu", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Baretu blokeatze-modua", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Erabilitako biltegiratzea: {{value}} {{unit}}", diff --git a/src/_locales/fa/messages.json b/src/_locales/fa/messages.json index 3ec5bb87b377c..40c17ff684d02 100755 --- a/src/_locales/fa/messages.json +++ b/src/_locales/fa/messages.json @@ -280,7 +280,7 @@ "description": "Tooltip shown when hovering small filtering widget in '3rd-party scripts' cell" }, "popup3pFrameFilterTip": { - "message": "↑: Emphasize rows which have 3rd-party frames", + "message": "↑: تاکید بر ردیف‌هایی که فریم‌های خارجی (3rd-party) دارند", "description": "Tooltip shown when hovering small filtering widget in '3rd-party frames' cell" }, "pickerCreate": { @@ -336,15 +336,15 @@ "description": "English: Color-blind friendly" }, "settingsAppearance": { - "message": "Appearance", + "message": "ظاهر", "description": "Section for controlling user interface appearance" }, "settingsThemeLabel": { - "message": "Theme", + "message": "پوسته", "description": "Label for checkbox to enable a custom dark theme" }, "settingsThemeAccent0Label": { - "message": "Custom accent color", + "message": "رنگ اصلی دلخواه", "description": "Label for checkbox to pick an accent color" }, "settingsCloudStorageEnabledPrompt": { @@ -400,11 +400,11 @@ "description": "background information: https://github.com/uBlockOrigin/uBlock-issues/issues/1513" }, "settingsAdvanced": { - "message": "Advanced", + "message": "پیشرفته", "description": "Section for controlling advanced-user settings" }, "settingsAdvancedSynopsis": { - "message": "Features suitable only for technical users", + "message": "قابلیت‌های مناسب برای کاربران فنی", "description": "Description of section controlling advanced-user settings" }, "settingsAdvancedUserSettings": { @@ -896,7 +896,7 @@ "description": "Header of 'Documentation' section in Support pane" }, "supportS1P1": { - "message": "Read the documentation at uBlock/wiki to learn about all of uBlock Origin's features.", + "message": "مستنداتی که در uBlock/wiki هست را بخوانید تا با تمام امکانات uBlock Origin آشنا شوید.", "description": "First paragraph of 'Documentation' section in Support pane" }, "supportS2H": { @@ -904,11 +904,11 @@ "description": "Header of 'Questions and support' section in Support pane" }, "supportS2P1": { - "message": "Answers to questions and other kinds of help support is provided on the subreddit /r/uBlockOrigin.", + "message": "پاسخ به سوالات و انواع راهنمایی‌ها در ساب‌ردیت /r/uBlockOrigin ارائه می‌شود.", "description": "First paragraph of 'Questions and support' section in Support pane" }, "supportS3H": { - "message": "Filter issues/website is broken", + "message": "مشکل فیلترها/وبسایتی ایراد دارد", "description": "Header of 'Filter issues' section in Support pane" }, "supportS3P1": { @@ -932,7 +932,7 @@ "description": "First paragraph of 'Bug report' section in Support pane" }, "supportS5H": { - "message": "Troubleshooting Information", + "message": "اطلاعات مشکل‌گشایی", "description": "Header of 'Troubleshooting Information' section in Support pane" }, "supportS5P1": { @@ -940,7 +940,7 @@ "description": "First paragraph of 'Troubleshooting Information' section in Support pane" }, "supportS5P2": { - "message": "Important: Potentially private or sensitive information is redacted by default. Redacted information may make it more difficult to solve a problem.", + "message": "مهم: اطلاعات شخصی یا حساس به طور پیشفرض ویرایش و مبهم می‌شوند. اطلاعات مبهم‌شده ممکن است حل مشکل را سخت‌تر کند.", "description": "Second paragraph of 'Troubleshooting Information' section in Support pane" }, "supportS6H": { @@ -988,7 +988,7 @@ "description": "An entry in the widget used to select the type of issue" }, "supportS6Checkbox1": { - "message": "Label the web page as “NSFW” (“Not Safe For Work”)", + "message": "علامت زدن صفحه به عنوان \"NSFW\" (\"نامناسب برای کار\")", "description": "A checkbox to use for NSFW sites" }, "supportRedact": { @@ -1219,13 +1219,13 @@ "message": "انتخاب همه", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "تغییروضعیت نمایه‌ی بلاک‌کردن", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "حالت بلاک‌کردن غیرسخت‌گیر", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "فضای مصرفی: {{value}} {{unit}}", diff --git a/src/_locales/fi/messages.json b/src/_locales/fi/messages.json index c591d2672a707..b230ea9fd51f6 100755 --- a/src/_locales/fi/messages.json +++ b/src/_locales/fi/messages.json @@ -928,7 +928,7 @@ "description": "Header of 'Bug report' section in Support pane" }, "supportS4P1": { - "message": "Ilmoita ongelmista uBlock Origin -laajennuksessa uBlockOrigin/uBlock-ongelmaseurannanssa. Vaatii GitHub-tilin.", + "message": "Ilmoita uBlock Origin -laajennuksen ongelmista uBlockOrigin/uBlock-ongelmaseurannanssa. Vaatii GitHub-tilin.", "description": "First paragraph of 'Bug report' section in Support pane" }, "supportS5H": { @@ -936,7 +936,7 @@ "description": "Header of 'Troubleshooting Information' section in Support pane" }, "supportS5P1": { - "message": "Alla on teknisiä tietoja, jotka saattavat olla hyödyllisiä vapaaehtoisille, jotka yrittävät auttaa ongelmasi ratkaisussa.", + "message": "Alla on teknisiä tietoja, joista voi olla hyötyä vapaaehtoisille, jotka pyrkivät auttamaan ongelmasi ratkaisussa.", "description": "First paragraph of 'Troubleshooting Information' section in Support pane" }, "supportS5P2": { @@ -1012,7 +1012,7 @@ "description": "English: Source code (GPLv3)" }, "aboutContributors": { - "message": "Tukijat", + "message": "Avustajat", "description": "English: Contributors" }, "aboutSourceCode": { @@ -1028,7 +1028,7 @@ "description": "Link text to uBO's own filter lists repo" }, "aboutDependencies": { - "message": "Ulkopuoliset riippuvuudet (GPLv3:n mukaisesti):", + "message": "Ulkopuoliset riippuvuudet (GPLv3-yhteensopiva):", "description": "Shown in the About pane" }, "aboutCDNs": { @@ -1219,13 +1219,13 @@ "message": "Valitse kaikki", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Muuta esto-profiilia", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Kytke kosmeettinen suodatus päälle/pois", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Kevennetty estotila", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Tallennustilan käyttö: {{value}} {{unit}}", diff --git a/src/_locales/fil/messages.json b/src/_locales/fil/messages.json index 17724506408c8..2ba10c7c4dd46 100755 --- a/src/_locales/fil/messages.json +++ b/src/_locales/fil/messages.json @@ -1219,13 +1219,13 @@ "message": "Select all", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Toggle blocking profile", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Relax blocking mode", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Storage used: {{value}} {{unit}}", diff --git a/src/_locales/fr/messages.json b/src/_locales/fr/messages.json index 0ca3e4c9e2909..4d0ec11a9b279 100755 --- a/src/_locales/fr/messages.json +++ b/src/_locales/fr/messages.json @@ -1219,13 +1219,13 @@ "message": "Sélectionner tout", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Changer le mode de blocage", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Commuter le filtrage esthétique", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Détendre le mode de blocage", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Espace de stockage utilisé : {{value}} {{unit}}", diff --git a/src/_locales/fy/messages.json b/src/_locales/fy/messages.json index 7444c46e82c5c..fa9281254adbf 100755 --- a/src/_locales/fy/messages.json +++ b/src/_locales/fy/messages.json @@ -1219,13 +1219,13 @@ "message": "Alles selektearje", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Blokkearringsprofyl omskeakelje", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Kosmetyske filters yn-/útskeakelje", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Blokkearringsmodus beheine", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Brûkte ûnthâldromte {{value}} {{unit}}", diff --git a/src/_locales/gl/messages.json b/src/_locales/gl/messages.json index 01f830133da11..c971ce0ef9f55 100755 --- a/src/_locales/gl/messages.json +++ b/src/_locales/gl/messages.json @@ -1219,13 +1219,13 @@ "message": "Select all", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Toggle blocking profile", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Relax blocking mode", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Storage used: {{value}} {{unit}}", diff --git a/src/_locales/he/messages.json b/src/_locales/he/messages.json index eb0fa508efca2..1adda267c90f3 100755 --- a/src/_locales/he/messages.json +++ b/src/_locales/he/messages.json @@ -1219,13 +1219,13 @@ "message": "בחר הכל", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "שנה את פרופיל החסימה", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "הרפה את מצב החסימה הנוכחי", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "אחסון בשימוש: {{value}} {{unit}}", diff --git a/src/_locales/hi/messages.json b/src/_locales/hi/messages.json index 98b6f7cb27f42..403d943003fc7 100755 --- a/src/_locales/hi/messages.json +++ b/src/_locales/hi/messages.json @@ -1219,13 +1219,13 @@ "message": "सभी चुनें", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "ब्लॉकिंग प्रोफ़ाइल क्को टॉगल करें ", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "कॉस्मेटिक फ़िल्टरिंग टॉगल करें", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "ब्लैकिंग मोड को ढील दें", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "इस्तेमाल हुई स्टोरेज:{{value}} {{unit}}", diff --git a/src/_locales/hr/messages.json b/src/_locales/hr/messages.json index f67bb95c3d143..b50aecb465b74 100755 --- a/src/_locales/hr/messages.json +++ b/src/_locales/hr/messages.json @@ -1219,13 +1219,13 @@ "message": "Odaberi sve", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Uključi/isključi profil za blokiranje", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Prekidač estetskog filtriranja", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Opušteni način blokiranja", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Korišteno prostora: {{value}} {{unit}}", diff --git a/src/_locales/hu/messages.json b/src/_locales/hu/messages.json index 3eb7de1105f2c..e95cfe8d0a233 100755 --- a/src/_locales/hu/messages.json +++ b/src/_locales/hu/messages.json @@ -336,11 +336,11 @@ "description": "English: Color-blind friendly" }, "settingsAppearance": { - "message": "Appearance", + "message": "Kinézet", "description": "Section for controlling user interface appearance" }, "settingsThemeLabel": { - "message": "Theme", + "message": "Téma", "description": "Label for checkbox to enable a custom dark theme" }, "settingsThemeAccent0Label": { @@ -1219,13 +1219,13 @@ "message": "Mindent kijelöl", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Profil blokkolás váltása", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Relaxáló blokkolási mód", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Használt tárolás: {{value}} {{unit}}", diff --git a/src/_locales/hy/messages.json b/src/_locales/hy/messages.json index fce0c9607f6dd..4f8bcec3558c4 100755 --- a/src/_locales/hy/messages.json +++ b/src/_locales/hy/messages.json @@ -1219,13 +1219,13 @@ "message": "Ընտրել բոլորը", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Արգելափակման պրոֆիլի փոխանջատում", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Արգելափակման թուլացված ռեժիմ", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Պահեստի չափը՝ {{value}} {{unit}}", diff --git a/src/_locales/id/messages.json b/src/_locales/id/messages.json index ea2e54fb25632..c474d191eada7 100755 --- a/src/_locales/id/messages.json +++ b/src/_locales/id/messages.json @@ -1219,13 +1219,13 @@ "message": "Pilih semua", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Aktif/Nonaktifkan pemblokiran profil", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Aktif/Nonaktifkan filter tampilan", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Perlonggar mode pemblokiran", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Penyimpanan terpakai: {{value}} {{unit}}", diff --git a/src/_locales/it/messages.json b/src/_locales/it/messages.json index 9fa82e574b444..a24650b77d400 100755 --- a/src/_locales/it/messages.json +++ b/src/_locales/it/messages.json @@ -1052,7 +1052,7 @@ "description": "English: Restore from file..." }, "aboutResetDataButton": { - "message": "Riparti da zero...", + "message": "Ripristina le impostazioni predefinite…", "description": "English: Reset to default settings..." }, "aboutRestoreDataConfirm": { @@ -1219,13 +1219,13 @@ "message": "Seleziona tutto", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Attiva / disattiva il profilo di blocco", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Attiva/Disattiva filtri cosmetici", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Rilassa la modalità di blocco", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Spazio utilizzato: {{value}} {{unit}}", diff --git a/src/_locales/ja/messages.json b/src/_locales/ja/messages.json index 8ddda9a14bfc0..922ad9627dfb8 100755 --- a/src/_locales/ja/messages.json +++ b/src/_locales/ja/messages.json @@ -76,7 +76,7 @@ "description": "Message to be read by screen readers" }, "popupPowerSwitchInfo2": { - "message": "クリックするとこのサイトで uBlock₀ を有効にします。", + "message": "クリックするとこのサイトで uBlock₀ を有効にします。", "description": "Message to be read by screen readers" }, "popupBlockedRequestPrompt": { @@ -92,7 +92,7 @@ "description": "Example: 15 (13%)" }, "popupBlockedSinceInstallPrompt": { - "message": "インストールからの総数", + "message": "インストールしてから", "description": "English: since install" }, "popupOr": { @@ -132,7 +132,7 @@ "description": "Tooltip used for the 'chat' icon in the panel" }, "popupTipNoPopups": { - "message": "このサイトのポップアップのブロックをすべて切り替えます", + "message": "このサイトに対するポップアップブロックの有効/無効をすべて切り替えます", "description": "Tooltip for the no-popups per-site switch" }, "popupTipNoPopups1": { @@ -144,7 +144,7 @@ "description": "Tooltip for the no-popups per-site switch" }, "popupTipNoLargeMedia": { - "message": "このサイトの大きなメディア要素のブロックを切り替えます", + "message": "このサイトに対する大きなメディア要素のブロックの有効/無効を切り替えます", "description": "Tooltip for the no-large-media per-site switch" }, "popupTipNoLargeMedia1": { @@ -156,19 +156,19 @@ "description": "Tooltip for the no-large-media per-site switch" }, "popupTipNoCosmeticFiltering": { - "message": "このサイトへの非表示フィルタリングを切り替えます", + "message": "このサイトに対する整形フィルタリングの有効/無効を切り替えます", "description": "Tooltip for the no-cosmetic-filtering per-site switch" }, "popupTipNoCosmeticFiltering1": { - "message": "クリックするとこのサイトでの非表示フィルタリングを無効にします", + "message": "クリックするとこのサイトでの整形フィルタリングを無効にします", "description": "Tooltip for the no-cosmetic-filtering per-site switch" }, "popupTipNoCosmeticFiltering2": { - "message": "クリックするとこのサイトでの非表示フィルタリングを有効にします", + "message": "クリックするとこのサイトでの整形フィルタリングを有効にします", "description": "Tooltip for the no-cosmetic-filtering per-site switch" }, "popupTipNoRemoteFonts": { - "message": "このサイトのリモートフォントのブロックを切り替えます", + "message": "このサイトに対するリモートフォントのブロックの有効/無効を切り替えます", "description": "Tooltip for the no-remote-fonts per-site switch" }, "popupTipNoRemoteFonts1": { @@ -196,7 +196,7 @@ "description": "Caption for the no-large-media per-site switch" }, "popupNoCosmeticFiltering_v2": { - "message": "非表示フィルタリング", + "message": "整形フィルタリング", "description": "Caption for the no-cosmetic-filtering per-site switch" }, "popupNoRemoteFonts_v2": { @@ -224,7 +224,7 @@ "description": "Tooltip when hovering the top-most cell of the local-rules column." }, "popupTipSaveRules": { - "message": "クリックすると変更を保存します。", + "message": "クリックすると変更を確定します。", "description": "Tooltip when hovering over the padlock in the dynamic filtering pane." }, "popupTipRevertRules": { @@ -304,7 +304,7 @@ "description": "English: header for a type of filter in the element picker dialog" }, "pickerCosmeticFilters": { - "message": "非表示フィルター", + "message": "整形フィルター", "description": "English: Cosmetic filters" }, "pickerCosmeticFiltersHint": { @@ -376,7 +376,7 @@ "description": "" }, "settingsNoCosmeticFilteringPrompt": { - "message": "非表示フィルタリングを無効にする", + "message": "整形フィルタリングを無効にする", "description": "" }, "settingsNoLargeMediaPrompt": { @@ -420,7 +420,7 @@ "description": "English: Last backup:" }, "3pListsOfBlockedHostsPrompt": { - "message": "{{netFilterCount}} 行のネットワークフィルター + {{cosmeticFilterCount}} 行の非表示フィルター:", + "message": "{{netFilterCount}} 行のネットワークフィルター + {{cosmeticFilterCount}} 行の整形フィルター:", "description": "Appears at the top of the _3rd-party filters_ pane" }, "3pListsOfBlockedHostsPerListStats": { @@ -440,19 +440,19 @@ "description": "A button in the in the _3rd-party filters_ pane" }, "3pParseAllABPHideFiltersPrompt1": { - "message": "非表示フィルターを解析して適用する", + "message": "整形フィルターを解析して適用する", "description": "English: Parse and enforce Adblock+ element hiding filters." }, "3pParseAllABPHideFiltersInfo": { - "message": "非表示フィルターは、ネットワークリクエストに基づいたフィルタリングエンジンではブロックできない、邪魔とみなされる視覚的要素をウェブページ上から隠すという機能を果たします。", + "message": "整形フィルターは、ネットワークリクエストに基づいたフィルタリングエンジンではブロックできない、邪魔とみなされる視覚的要素をウェブページ上から隠すという機能を果たします。", "description": "Describes the purpose of the 'Parse and enforce cosmetic filters' feature." }, "3pIgnoreGenericCosmeticFilters": { - "message": "汎用非表示フィルターを無視する", + "message": "汎用整形フィルターを無視する", "description": "This will cause uBO to ignore all generic cosmetic filters." }, "3pIgnoreGenericCosmeticFiltersInfo": { - "message": "汎用非表示フィルターとは、すべてのウェブサイトに適用することを目的とした非表示フィルターです。このオプションを有効にすると、汎用非表示フィルターを処理する結果としてウェブページに加わる、メモリーと CPU のオーバーヘッドが削減されます。\n\n性能の低い端末ではこのオプションを有効にすることをお勧めします。", + "message": "汎用整形フィルターとは、すべてのウェブサイトに適用することを目的とした非表示フィルターです。このオプションを有効にすると、汎用非表示フィルターを処理する結果としてウェブページに加わる、メモリーと CPU のオーバーヘッドが削減されます。\n\n性能の低い端末ではこのオプションを有効にすることをお勧めします。", "description": "Describes the purpose of the 'Ignore generic cosmetic filters' feature." }, "3pSuspendUntilListsAreLoaded": { @@ -528,7 +528,7 @@ "description": "used as a tooltip for error icon beside a list" }, "1pFormatHint": { - "message": "1 行につき 1 つのフィルターです。フィルターは単純なホスト名でも EasyList と同じ形式でも構いません。! から始まる行は無視されます。", + "message": "1 行につき 1 つのフィルターです。フィルターはただのホスト名でも EasyList と同じ形式でも構いません。! を先頭に付けた行は無視されます。", "description": "Short information about how to create custom filters" }, "1pImport": { @@ -664,11 +664,11 @@ "description": "Tooltip for the reload button in the logger page" }, "loggerDomInspectorTip": { - "message": "DOM インスペクターの表示を切り替えます", + "message": "DOM インスペクターの表示/非表示を切り替えます", "description": "Tooltip for the DOM inspector button in the logger page" }, "loggerPopupPanelTip": { - "message": "ポップアップパネルの表示を切り替えます", + "message": "ポップアップパネルの表示/非表示を切り替えます", "description": "Tooltip for the popup panel button in the logger page" }, "loggerInfoTip": { @@ -688,7 +688,7 @@ "description": "Tooltip for the play button in the logger page" }, "loggerRowFiltererButtonTip": { - "message": "ログの絞り込みを切り替えます", + "message": "ログの絞り込みの有効/無効を切り替えます", "description": "Tooltip for the row filterer button in the logger page" }, "logFilterPrompt": { @@ -780,7 +780,7 @@ "description": "Small header to identify the static filtering section" }, "loggerStaticFilteringSentence": { - "message": "一致する例外フィルター {{importance}}{{br}}{{url}} と URL アドレスが一致し{{br}}{{origin}} 発信された{{br}}{{type}} のネットワークリクエストを {{action}} する。", + "message": "一致する例外フィルター {{importance}}{{br}}{{url}} に URL アドレスが一致し{{br}}{{origin}} 発信された{{br}}{{type}} のネットワークリクエストを {{action}} する。", "description": "Used in the static filtering wizard" }, "loggerStaticFilteringSentencePartBlock": { @@ -820,7 +820,7 @@ "description": "Below this sentence, the filter list(s) in which the filter was found" }, "loggerStaticFilteringFinderSentence2": { - "message": "この静的フィルターは現在有効なフィルターリストに含まれていません", + "message": "この静的フィルターは現在有効なフィルターリストのどれにも含まれていません", "description": "Message to show when a filter cannot be found in any filter lists" }, "loggerSettingDiscardPrompt": { @@ -936,7 +936,7 @@ "description": "Header of 'Troubleshooting Information' section in Support pane" }, "supportS5P1": { - "message": "以下の技術情報はボランティアが問題解決に取り組むときに役立つことがあります。", + "message": "以下の技術情報はボランティアが問題解決の手助けをするときに役立つことがあります。", "description": "First paragraph of 'Troubleshooting Information' section in Support pane" }, "supportS5P2": { @@ -1032,7 +1032,7 @@ "description": "Shown in the About pane" }, "aboutCDNs": { - "message": "uBO の内製フィルターリストは以下の CDN にホストしています:", + "message": "uBO の内製フィルターリストは以下の CDN に無料でホストしています:", "description": "Shown in the About pane" }, "aboutCDNsInfo": { @@ -1208,7 +1208,7 @@ "description": "Placeholder string for input field used to capture a keyboard shortcut" }, "genericMergeViewScrollLock": { - "message": "スクロールの同期を切り替えます", + "message": "スクロールの同期/非同期を切り替えます", "description": "Tooltip for the button used to lock scrolling between the views in the 'My rules' pane" }, "genericCopyToClipboard": { @@ -1219,13 +1219,13 @@ "message": "すべて選択", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "ブロッキングプロファイルを切り替える", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "整形フィルタリングの有効/無効を切り替える", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { - "message": "ブロッキングモードのレベルを下げる", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "message": "ブロッキングモードを緩和する", + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "ストレージ使用量: {{value}} {{unit}}", diff --git a/src/_locales/ka/messages.json b/src/_locales/ka/messages.json index f79c6331ba2b2..fab72c2dc50c7 100755 --- a/src/_locales/ka/messages.json +++ b/src/_locales/ka/messages.json @@ -336,15 +336,15 @@ "description": "English: Color-blind friendly" }, "settingsAppearance": { - "message": "Appearance", + "message": "იერსახე", "description": "Section for controlling user interface appearance" }, "settingsThemeLabel": { - "message": "Theme", + "message": "თემა", "description": "Label for checkbox to enable a custom dark theme" }, "settingsThemeAccent0Label": { - "message": "Custom accent color", + "message": "სასურველი შეფერილობა", "description": "Label for checkbox to pick an accent color" }, "settingsCloudStorageEnabledPrompt": { @@ -400,11 +400,11 @@ "description": "background information: https://github.com/uBlockOrigin/uBlock-issues/issues/1513" }, "settingsAdvanced": { - "message": "Advanced", + "message": "გაფართოებული", "description": "Section for controlling advanced-user settings" }, "settingsAdvancedSynopsis": { - "message": "Features suitable only for technical users", + "message": "შესაძლებლობები, მხოლოდ ტექნიკური მომხმარებლებისთვის", "description": "Description of section controlling advanced-user settings" }, "settingsAdvancedUserSettings": { @@ -1219,13 +1219,13 @@ "message": "ყველას მონიშვნა", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "შეზღუდვის პროფილის გადართვა", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "ხილული ელემენტების გაფილტვრის გადამრთველი", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "მსუბუქი შეზღუდვის რეჟიმი", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "გამოყენებული მოცულობა: {{value}} {{unit}}", diff --git a/src/_locales/kk/messages.json b/src/_locales/kk/messages.json index 3c4cb2c502e22..4510efab9c981 100755 --- a/src/_locales/kk/messages.json +++ b/src/_locales/kk/messages.json @@ -1219,13 +1219,13 @@ "message": "Select all", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Профильді бұғаттауды қосу", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Бөгеу режимі", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "{{value}} {{unit}} қолданылды.", diff --git a/src/_locales/kn/messages.json b/src/_locales/kn/messages.json index 8e53ec541d57a..6de50d0bd4e52 100755 --- a/src/_locales/kn/messages.json +++ b/src/_locales/kn/messages.json @@ -1219,13 +1219,13 @@ "message": "Select all", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Toggle blocking profile", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Relax blocking mode", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Storage used: {{value}} {{unit}}", diff --git a/src/_locales/ko/messages.json b/src/_locales/ko/messages.json index 0771a760e11e4..432fb530979a4 100755 --- a/src/_locales/ko/messages.json +++ b/src/_locales/ko/messages.json @@ -1219,13 +1219,13 @@ "message": "모두 선택", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "차단 프로필 전환", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "표면 필터 토글", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "차단 모드 완화", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "스토리지 사용량: {{value}} {{unit}}", diff --git a/src/_locales/lt/messages.json b/src/_locales/lt/messages.json index e7081b502a64a..376f504989704 100755 --- a/src/_locales/lt/messages.json +++ b/src/_locales/lt/messages.json @@ -1219,13 +1219,13 @@ "message": "Select all", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Toggle blocking profile", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Relax blocking mode", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Storage used: {{value}} {{unit}}", diff --git a/src/_locales/lv/messages.json b/src/_locales/lv/messages.json index 8523da39f8f21..40f8b1664eefc 100755 --- a/src/_locales/lv/messages.json +++ b/src/_locales/lv/messages.json @@ -1219,13 +1219,13 @@ "message": "Atlasīt visu", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Pārslēgt aizturēšanas profilu", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Pārslēgt kosmētisko atlasi", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Atslābināt aizturēšanas stāvokli", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Izmantotais krātuves lielums: {{value}} {{unit}}", diff --git a/src/_locales/ml/messages.json b/src/_locales/ml/messages.json index 99132dc995d60..bbb2bbf629d66 100755 --- a/src/_locales/ml/messages.json +++ b/src/_locales/ml/messages.json @@ -1219,13 +1219,13 @@ "message": "Select all", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "തടയൽ പ്രൊഫൈൽ ടോഗിൾ ചെയ്യുക", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "തടയൽ മോഡ് വിശ്രമിക്കുക", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "ഉപയോഗിച്ച സംഭരണം: {{value}} {{unit}}", diff --git a/src/_locales/mr/messages.json b/src/_locales/mr/messages.json index dfe2a2b539ffb..887ab478a1784 100755 --- a/src/_locales/mr/messages.json +++ b/src/_locales/mr/messages.json @@ -1219,13 +1219,13 @@ "message": "Select all", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Toggle blocking profile", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Relax blocking mode", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Storage used: {{value}} {{unit}}", diff --git a/src/_locales/ms/messages.json b/src/_locales/ms/messages.json index d5f003b6a0d30..c6e4634b576cc 100755 --- a/src/_locales/ms/messages.json +++ b/src/_locales/ms/messages.json @@ -1219,13 +1219,13 @@ "message": "Pilih semua", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Togol profil penyekat", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Tenang mod menyekat", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Storan yang digunakan: {{value}} {{unit}}", diff --git a/src/_locales/nb/messages.json b/src/_locales/nb/messages.json index e09b71c3355fc..c73fb698355d5 100755 --- a/src/_locales/nb/messages.json +++ b/src/_locales/nb/messages.json @@ -1219,13 +1219,13 @@ "message": "Merk alt", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Skift blokkeringsprofil", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Slå av/på kosmetisk filtrering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Lemp på blokkeringsmodus", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Brukt lagringsplass: {{value}} {{unit}}", diff --git a/src/_locales/nl/messages.json b/src/_locales/nl/messages.json index 18af3774707ed..40408a493543a 100755 --- a/src/_locales/nl/messages.json +++ b/src/_locales/nl/messages.json @@ -1219,13 +1219,13 @@ "message": "Alles selecteren", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Blokkeringsprofiel omschakelen", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Cosmetische filters in-/uitschakelen", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Blokkeringsmodus beperken", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Gebruikte opslagruimte: {{value}} {{unit}}", diff --git a/src/_locales/oc/messages.json b/src/_locales/oc/messages.json index bf58700e69b6c..01dfad094b4c7 100755 --- a/src/_locales/oc/messages.json +++ b/src/_locales/oc/messages.json @@ -1219,13 +1219,13 @@ "message": "Select all", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Toggle blocking profile", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Relax blocking mode", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Espaci emmagazinatge : {{value}} {{unit}}", diff --git a/src/_locales/pl/messages.json b/src/_locales/pl/messages.json index 3125aeea7e59c..8cb5b310e4afe 100755 --- a/src/_locales/pl/messages.json +++ b/src/_locales/pl/messages.json @@ -1219,13 +1219,13 @@ "message": "Zaznacz wszystko", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Przełącz profil blokowania", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Włącz/wyłącz filtrowanie kosmetyczne", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Rozluźnij tryb blokowania", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Użycie pamięci dyskowej: {{value}} {{unit}}", diff --git a/src/_locales/pt_BR/messages.json b/src/_locales/pt_BR/messages.json index 80834b9feebf4..3e4ca30aaca4e 100755 --- a/src/_locales/pt_BR/messages.json +++ b/src/_locales/pt_BR/messages.json @@ -1219,13 +1219,13 @@ "message": "Selecionar tudo", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Alternar perfil de bloqueio", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Alternar filtragem cosmética", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Relaxar modo de bloqueio", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Armazenamento utilizado: {{value}} {{unit}}", diff --git a/src/_locales/pt_PT/messages.json b/src/_locales/pt_PT/messages.json index 7c153f9a867e2..2d663dd526c10 100755 --- a/src/_locales/pt_PT/messages.json +++ b/src/_locales/pt_PT/messages.json @@ -1219,13 +1219,13 @@ "message": "Selecionar tudo", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Alternar perfil de bloqueio", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Alternar filtragem cosmética", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Relaxar modo de bloqueio", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Armazenamento utilizado: {{value}} {{unit}}", diff --git a/src/_locales/ro/messages.json b/src/_locales/ro/messages.json index bbd8c755b99d0..ee0014d8c75e1 100755 --- a/src/_locales/ro/messages.json +++ b/src/_locales/ro/messages.json @@ -1219,13 +1219,13 @@ "message": "Selectează tot", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Comutați profilul de blocare", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Comută filtrele cosmetice", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Relaxați modul de blocare", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Spațiu de stocare utilizat: {{value}} {{unit}}", diff --git a/src/_locales/ru/messages.json b/src/_locales/ru/messages.json index 39e8fcd44f129..a2280f67f3a3f 100755 --- a/src/_locales/ru/messages.json +++ b/src/_locales/ru/messages.json @@ -1219,13 +1219,13 @@ "message": "Выбрать все", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Переключение профиля блокировки", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Вкл/Выкл косметическую фильтрацию", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Ослабленный режим блокировки", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Размер хранилища: {{value}} {{unit}}", diff --git a/src/_locales/sk/messages.json b/src/_locales/sk/messages.json index 9ad8d3406b6c7..075437d5661cd 100755 --- a/src/_locales/sk/messages.json +++ b/src/_locales/sk/messages.json @@ -1219,13 +1219,13 @@ "message": "Označiť všetko", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Prepnúť profil blokovania", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Prepnúť kozmetické filtrovanie", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Zmierniť režim blokovania", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Využité miesto: {{value}} {{unit}}", diff --git a/src/_locales/sl/messages.json b/src/_locales/sl/messages.json index ce9d39f0a3997..6d6631af39344 100755 --- a/src/_locales/sl/messages.json +++ b/src/_locales/sl/messages.json @@ -1219,13 +1219,13 @@ "message": "Select all", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Toggle blocking profile", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Sprostite način blokiranja.", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Uporabljena shramba: {{value}} {{unit}}", diff --git a/src/_locales/so/messages.json b/src/_locales/so/messages.json index 3f95a8ea99873..94ac9158b42cb 100644 --- a/src/_locales/so/messages.json +++ b/src/_locales/so/messages.json @@ -1219,13 +1219,13 @@ "message": "Ka soo deji kaydinta daruuraha", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Ka soo deji kaydinta daruuraha oo ku biir goobaha hadda jira", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "... ", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "...", diff --git a/src/_locales/sq/messages.json b/src/_locales/sq/messages.json index af98b5bf8c8ec..a50776c061a15 100755 --- a/src/_locales/sq/messages.json +++ b/src/_locales/sq/messages.json @@ -1219,13 +1219,13 @@ "message": "Përzgjedh të gjitha", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Ç/Aktivizoj profilin e bllokimit", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Ç/Aktivizoj filtrat kozmetikë", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Dobësoj mënyrën e bllokimit", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Hapësira e përdorur: {{value}} {{unit}}", diff --git a/src/_locales/sr/messages.json b/src/_locales/sr/messages.json index 21183902726f9..1ea6fa9dfc525 100755 --- a/src/_locales/sr/messages.json +++ b/src/_locales/sr/messages.json @@ -1219,13 +1219,13 @@ "message": "Изабери све", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Укључи/искључи профил за блокирање", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Укључи/искључи естетско филтрирање", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Опуштени режим блокирања", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Искоришћеност складишта: {{value}} {{unit}}", diff --git a/src/_locales/sv/messages.json b/src/_locales/sv/messages.json index 8781ffe819877..920f7a2b8f00c 100755 --- a/src/_locales/sv/messages.json +++ b/src/_locales/sv/messages.json @@ -1219,13 +1219,13 @@ "message": "Markera alla", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Växla blockeringsprofil", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Växla kosmetisk filtrering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Lätta på blockeringsläge", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Använt utrymme: {{value}} {{unit}}", diff --git a/src/_locales/ta/messages.json b/src/_locales/ta/messages.json index 744adbe754db6..cee8dccd63b63 100755 --- a/src/_locales/ta/messages.json +++ b/src/_locales/ta/messages.json @@ -1219,13 +1219,13 @@ "message": "எல்லாம் தேர்ந்தெடு", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "தடுப்பு சுயவிவரத்தை நிலைமாற்று", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "ஒப்பனை வடிகட்டுதலை மறுநிலைமாற்று", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "தடுப்பு பயன்முறையை தளர்த்தவும்", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "பயன்படுத்தப்பட்ட சேமிப்பகத்தின் அளவு: {{value}} பைட்டுகள்", diff --git a/src/_locales/te/messages.json b/src/_locales/te/messages.json index ea053b9f28dd8..78c7f550228ee 100755 --- a/src/_locales/te/messages.json +++ b/src/_locales/te/messages.json @@ -1219,13 +1219,13 @@ "message": "Select all", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "నిరోధించే ప్రొఫైల్‌ను టోగుల్ చేయండి", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "నిరోధించే మోడ్‌ను రిలాక్స్ చేయండి", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "ఉపయోగించిన నిల్వ: {{value}} {{unit}}", diff --git a/src/_locales/th/messages.json b/src/_locales/th/messages.json index 4057477579753..1eed0e5eae8c8 100755 --- a/src/_locales/th/messages.json +++ b/src/_locales/th/messages.json @@ -1219,13 +1219,13 @@ "message": "Select all", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Toggle blocking profile", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Relax blocking mode", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "หน่วยความจำที่ใช้: {{value}} {{unit}}", diff --git a/src/_locales/tr/messages.json b/src/_locales/tr/messages.json index 5efbc03382ccf..8ce5a819df983 100755 --- a/src/_locales/tr/messages.json +++ b/src/_locales/tr/messages.json @@ -132,7 +132,7 @@ "description": "Tooltip used for the 'chat' icon in the panel" }, "popupTipNoPopups": { - "message": "Bu site için açılır pencere engellemeyi aç/kapa", + "message": "Bu site için açılır pencere engellemeyi aç/kapat", "description": "Tooltip for the no-popups per-site switch" }, "popupTipNoPopups1": { @@ -144,7 +144,7 @@ "description": "Tooltip for the no-popups per-site switch" }, "popupTipNoLargeMedia": { - "message": "Bu site için büyük medya ögelerini engellemeyi aç/kapa", + "message": "Bu site için büyük medya ögelerini engellemeyi aç/kapat", "description": "Tooltip for the no-large-media per-site switch" }, "popupTipNoLargeMedia1": { @@ -156,7 +156,7 @@ "description": "Tooltip for the no-large-media per-site switch" }, "popupTipNoCosmeticFiltering": { - "message": "Bu site için kozmetik filtrelemeyi aç/kapa", + "message": "Bu site için kozmetik filtrelemeyi aç/kapat", "description": "Tooltip for the no-cosmetic-filtering per-site switch" }, "popupTipNoCosmeticFiltering1": { @@ -168,7 +168,7 @@ "description": "Tooltip for the no-cosmetic-filtering per-site switch" }, "popupTipNoRemoteFonts": { - "message": "Bu site için uzak yazıtiplerini engellemeyi aç/kapa", + "message": "Bu site için uzak yazıtiplerini engellemeyi aç/kapat", "description": "Tooltip for the no-remote-fonts per-site switch" }, "popupTipNoRemoteFonts1": { @@ -664,11 +664,11 @@ "description": "Tooltip for the reload button in the logger page" }, "loggerDomInspectorTip": { - "message": "DOM araştırıcısını aç/kapa", + "message": "DOM araştırıcısını aç/kapat", "description": "Tooltip for the DOM inspector button in the logger page" }, "loggerPopupPanelTip": { - "message": "Açılır paneli aç/kapa", + "message": "Açılır paneli aç/kapat", "description": "Tooltip for the popup panel button in the logger page" }, "loggerInfoTip": { @@ -688,7 +688,7 @@ "description": "Tooltip for the play button in the logger page" }, "loggerRowFiltererButtonTip": { - "message": "Günlük filtrelemeyi aç/kapa", + "message": "Günlük filtrelemeyi aç/kapat", "description": "Tooltip for the row filterer button in the logger page" }, "logFilterPrompt": { @@ -1208,7 +1208,7 @@ "description": "Placeholder string for input field used to capture a keyboard shortcut" }, "genericMergeViewScrollLock": { - "message": "Kilitli kaydırmayı aç/kapa", + "message": "Kilitli kaydırmayı aç/kapat", "description": "Tooltip for the button used to lock scrolling between the views in the 'My rules' pane" }, "genericCopyToClipboard": { @@ -1219,13 +1219,13 @@ "message": "Tümünü seç", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Engelleme profilini aç/kapa", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Kozmetik filtrelemeyi aç/kapat", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Engelleme modunu gevşet", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Kullanılan depolama: {{value}} {{unit}}", diff --git a/src/_locales/uk/messages.json b/src/_locales/uk/messages.json index b99e1955dd8f4..923e422002fd1 100755 --- a/src/_locales/uk/messages.json +++ b/src/_locales/uk/messages.json @@ -1219,13 +1219,13 @@ "message": "Вибрати все", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Перемкнути профіль блокування", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Увімкнути/вимкнути косметичні фільтри", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Послаблений режим блокування", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Використано: {{value}} {{unit}}", diff --git a/src/_locales/ur/messages.json b/src/_locales/ur/messages.json index a8a2e0faaa9b4..c2dfb6d759a87 100755 --- a/src/_locales/ur/messages.json +++ b/src/_locales/ur/messages.json @@ -1219,13 +1219,13 @@ "message": "Select all", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Toggle blocking profile", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Toggle cosmetic filtering", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Relax blocking mode", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Storage used: {{value}} {{unit}}", diff --git a/src/_locales/vi/messages.json b/src/_locales/vi/messages.json index 56292a6c48fed..e0ae65a8f7a4d 100755 --- a/src/_locales/vi/messages.json +++ b/src/_locales/vi/messages.json @@ -1219,13 +1219,13 @@ "message": "Chọn tất cả", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "Bật tắt hồ sơ chặn", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "Bật/tắt lọc phần tử", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "Nới lỏng chế độ chặn", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "Bộ nhớ đã dùng: {{value}} byte", diff --git a/src/_locales/zh_CN/messages.json b/src/_locales/zh_CN/messages.json index cebad324a0305..10f1739c71c61 100755 --- a/src/_locales/zh_CN/messages.json +++ b/src/_locales/zh_CN/messages.json @@ -352,7 +352,7 @@ "description": "" }, "settingsAdvancedUserPrompt": { - "message": "我是高级用户 (须知)", + "message": "我是高级用户", "description": "Checkbox to let user access advanced, technical features" }, "settingsPrefetchingDisabledPrompt": { @@ -1219,13 +1219,13 @@ "message": "全选", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "切换拦截方案", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "是否应用元素过滤规则", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "放宽拦截限制", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "已用存储:{{value}} {{unit}}", diff --git a/src/_locales/zh_TW/messages.json b/src/_locales/zh_TW/messages.json index b9e931c462799..ba8e94fe43dd7 100755 --- a/src/_locales/zh_TW/messages.json +++ b/src/_locales/zh_TW/messages.json @@ -352,7 +352,7 @@ "description": "" }, "settingsAdvancedUserPrompt": { - "message": "我是進階使用者(必讀資訊)", + "message": "我是進階使用者", "description": "Checkbox to let user access advanced, technical features" }, "settingsPrefetchingDisabledPrompt": { @@ -364,7 +364,7 @@ "description": "English: " }, "settingsWebRTCIPAddressHiddenPrompt": { - "message": "預防 WebRTC 洩漏本地 IP 地址", + "message": "防止 WebRTC 洩漏本地 IP 位址", "description": "English: " }, "settingPerSiteSwitchGroup": { @@ -612,7 +612,7 @@ "description": "English: a sort option for list of rules." }, "whitelistPrompt": { - "message": "列表裡的主機名稱將被 uBlock₀ 停用。每行一個規則。無效的主機名稱將被忽略掉。", + "message": "信任名單中的規則適用的頁面不會被 uBlock Origin 過濾或阻擋。每行一個規則。", "description": "A concise description of the 'Trusted sites' pane." }, "whitelistImport": { @@ -1219,13 +1219,13 @@ "message": "全選", "description": "Label for buttons used to select all text in editor" }, - "toggleBlockingProfile": { - "message": "開閉封鎖設定檔", - "description": "Label for keyboard shortcut used to toggle blocking profile" + "toggleCosmeticFiltering": { + "message": "切換是否啟用元素隱藏過濾規則", + "description": "Label for keyboard shortcut used to toggle cosmetic filtering" }, "relaxBlockingMode": { "message": "放寬封鎖量模式", - "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + "description": "Label for keyboard shortcut used to relax blocking mode" }, "storageUsed": { "message": "儲存空間用量:{{value}} {{unit}}", diff --git a/src/about.html b/src/about.html index 20d8ad5674c5f..e2043c2a3a573 100644 --- a/src/about.html +++ b/src/about.html @@ -39,7 +39,7 @@
-
Combinatronics, GitCDN, GitHub, jsDelivr, Statically +
diff --git a/src/css/codemirror.css b/src/css/codemirror.css index 9a1860893b9b1..9b0d26e8f45c5 100644 --- a/src/css/codemirror.css +++ b/src/css/codemirror.css @@ -226,6 +226,9 @@ border-color: var(--cm-gutter-border); vertical-align: top; } +.CodeMirror-merge-scrolllock { + color: var(--cm-merge-copy-ink); + } .CodeMirror-merge-spacer { background-color: var(--cm-merge-chunk-surface); } diff --git a/src/css/epicker-ui.css b/src/css/epicker-ui.css index 745af98d64c31..7a1e1f1e2a37b 100644 --- a/src/css/epicker-ui.css +++ b/src/css/epicker-ui.css @@ -30,7 +30,6 @@ html#ublock0-epicker, display: block; } #ublock0-epicker #toolbar { - cursor: grab; display: flex; } #ublock0-epicker ul { diff --git a/src/css/fonts/Metropolis/README.md b/src/css/fonts/Metropolis/README.md index 1dc4d53131573..ce01464d34cc5 100644 --- a/src/css/fonts/Metropolis/README.md +++ b/src/css/fonts/Metropolis/README.md @@ -1,6 +1,6 @@ # Metropolis -A modern, geometric typeface. Influenced by other popular geometric, minimalist sans-serif typefaces of the new millenium. Designed for optimal readability at small point sizes while beautiful at large point sizes. +A modern, geometric typeface. Influenced by other popular geometric, minimalist sans-serif typefaces of the new millennium. Designed for optimal readability at small point sizes while beautiful at large point sizes. ![Metropolis](./Specimens/Metro-1.png) diff --git a/src/css/logger-ui.css b/src/css/logger-ui.css index fec42e223a6e0..bb82f687e4ba8 100644 --- a/src/css/logger-ui.css +++ b/src/css/logger-ui.css @@ -345,7 +345,7 @@ body.colorBlind #netFilteringDialog > .panes > .details > div[data-status="2"] { color: #008; } #vwRenderer .logEntry > div.voided { - opacity: 0.3; + opacity: 0.5; } #vwRenderer .logEntry > div.voided:hover { opacity: 0.7; @@ -661,13 +661,16 @@ body[dir="rtl"] #netFilteringDialog > .headers > .tools { left: 0; } #netFilteringDialog > .headers > .tools > span { + color: var(--ink-4); + fill: var(--ink-4); cursor: pointer; font-size: 1.5em; padding: 0 0.25em; text-align: center; } #netFilteringDialog > .headers > .tools > span:hover { - background-color: #eee; + color: var(--ink-1); + fill: var(--ink-1); } #netFilteringDialog.extendedRealm > .headers > .dynamic, #netFilteringDialog.extendedRealm > .panes > .dynamic { diff --git a/src/css/popup-fenix.css b/src/css/popup-fenix.css index 4f7b0f54b66ea..6d1f9ac3bc021 100644 --- a/src/css/popup-fenix.css +++ b/src/css/popup-fenix.css @@ -645,7 +645,6 @@ body:not([data-more~="e"]) [data-more="e"] { } :root.portrait #main { max-width: unset; - min-width: unset; } :root.portrait #firewall { max-height: unset; diff --git a/src/css/themes/default.css b/src/css/themes/default.css index 8f2b62f8311ad..f6219bd8bb56c 100644 --- a/src/css/themes/default.css +++ b/src/css/themes/default.css @@ -323,7 +323,7 @@ --sf-directive-ink: var(--ink-1); --sf-error-ink: #ff8981; /* h15 S:100 Luv:70 */ --sf-error-surface: #ff898133; /* h15 S:100 Luv:70 @ 20% */ - --sf-keyword-ink: #8c00e6; /* h:280 S:100 Luv:40 */ + --sf-keyword-ink: #9b00ca; /* h:290 S:100 Luv:40 */ --sf-notice-ink: var(--ink-4); --sf-readonly-ink: var(--ink-3); --sf-tag-ink: #006e2e /* h:135 S:100 Luv:40 */; @@ -414,7 +414,7 @@ --sf-def-ink: #a2a2ff; /* h:266 S:100 Luv:70 */ --sf-error-ink: #ff8981; /* h15 S:100 Luv:70 */ --sf-error-surface: #ff898166; /* h15 S:100 Luv:70 @ 40% */ - --sf-keyword-ink: #d5bbff; /* h:280 S:100 Luv:80 */ + --sf-keyword-ink: #d78dff; /* h:290 S:100 Luv:70 */ --sf-tag-ink: #00c559 /* h:135 S:100 Luv:70 */; --sf-value-ink: #ff8d48 /* h:30 S:100 Luv:70 */; --sf-variable-ink: var(--ink-1); @@ -429,6 +429,12 @@ --logger-redirected-surface: rgb(var(--yellow-5) / 40%); } +:root.dark input, +:root.dark select, +:root.dark textarea { + color-scheme: dark; +} + /* * Shared declarations * */ diff --git a/src/js/assets.js b/src/js/assets.js index 684468ddb3374..41c978c33a34b 100644 --- a/src/js/assets.js +++ b/src/js/assets.js @@ -348,8 +348,8 @@ assets.fetchFilterList = async function(mainlistURL) { **/ -let assetSourceRegistryPromise, - assetSourceRegistry = Object.create(null); +let assetSourceRegistryPromise; +let assetSourceRegistry = Object.create(null); const getAssetSourceRegistry = function() { if ( assetSourceRegistryPromise === undefined ) { @@ -439,7 +439,7 @@ const saveAssetSourceRegistry = (( ) => { }; })(); -const updateAssetSourceRegistry = function(json, silent) { +const updateAssetSourceRegistry = function(json, silent = false) { let newDict; try { newDict = JSON.parse(json); diff --git a/src/js/cachestorage.js b/src/js/cachestorage.js index 798f7f1af8f3e..78a87e2071315 100644 --- a/src/js/cachestorage.js +++ b/src/js/cachestorage.js @@ -140,7 +140,7 @@ const selectIDB = async function() { // property was already set, so this means uBO can detect here whether // the database can be opened successfully. A try-catch block is // necessary when reading the `error` property because we are not - // allowed to read this propery outside of event handlers in newer + // allowed to read this property outside of event handlers in newer // implementation of IDBRequest (my understanding). const getDb = function() { diff --git a/src/js/commands.js b/src/js/commands.js index 63585df29d7db..1a8986586d494 100644 --- a/src/js/commands.js +++ b/src/js/commands.js @@ -31,7 +31,7 @@ import { hostnameFromURI } from './uri-utils.js'; µb.canUseShortcuts = vAPI.commands instanceof Object; // https://github.com/uBlockOrigin/uBlock-issues/issues/386 -// Firefox 74 and above has complete shotcut assignment user interface. +// Firefox 74 and above has complete shortcut assignment user interface. µb.canUpdateShortcuts = false; if ( @@ -160,11 +160,21 @@ const relaxBlockingMode = (( ) => { })(); vAPI.commands.onCommand.addListener(async command => { + // Generic commands + if ( command === 'open-dashboard' ) { + µb.openNewTab({ + url: 'dashboard.html', + select: true, + index: -1, + }); + return; + } + // Tab-specific commands + const tab = await vAPI.tabs.getCurrent(); + if ( tab instanceof Object === false ) { return; } switch ( command ) { case 'launch-element-picker': case 'launch-element-zapper': { - const tab = await vAPI.tabs.getCurrent(); - if ( tab instanceof Object === false ) { return; } µb.epickerArgs.mouse = false; µb.elementPickerExec( tab.id, @@ -175,8 +185,6 @@ vAPI.commands.onCommand.addListener(async command => { break; } case 'launch-logger': { - const tab = await vAPI.tabs.getCurrent(); - if ( tab instanceof Object === false ) { return; } const hash = tab.url.startsWith(vAPI.getURL('')) ? '' : `#_+${tab.id}`; @@ -187,16 +195,14 @@ vAPI.commands.onCommand.addListener(async command => { }); break; } - case 'open-dashboard': { - µb.openNewTab({ - url: 'dashboard.html', - select: true, - index: -1, - }); - break; - } case 'relax-blocking-mode': - relaxBlockingMode(await vAPI.tabs.getCurrent()); + relaxBlockingMode(tab); + break; + case 'toggle-cosmetic-filtering': + µb.toggleHostnameSwitch({ + name: 'no-cosmetic-filtering', + hostname: hostnameFromURI(µb.normalizeTabURL(tab.id, tab.url)), + }); break; default: break; diff --git a/src/js/contentscript-extra.js b/src/js/contentscript-extra.js index 7f7fa52928139..5c43d721d82c9 100644 --- a/src/js/contentscript-extra.js +++ b/src/js/contentscript-extra.js @@ -29,13 +29,24 @@ if ( /******************************************************************************/ -// TODO: Experiment/evaluate loading procedural operator code using an -// on demand approach. +const nonVisualElements = { + script: true, + style: true, +}; // 'P' stands for 'Procedural' -const PSelectorHasTextTask = class { +class PSelectorTask { + begin() { + } + end() { + } +} + + +class PSelectorHasTextTask extends PSelectorTask { constructor(task) { + super(); let arg0 = task[1], arg1; if ( Array.isArray(task[1]) ) { arg1 = arg0[1]; arg0 = arg0[0]; @@ -47,10 +58,11 @@ const PSelectorHasTextTask = class { output.push(node); } } -}; +} -const PSelectorIfTask = class { +class PSelectorIfTask extends PSelectorTask { constructor(task) { + super(); this.pselector = new PSelector(task[1]); } transpose(node, output) { @@ -58,15 +70,16 @@ const PSelectorIfTask = class { output.push(node); } } -}; +} PSelectorIfTask.prototype.target = true; -const PSelectorIfNotTask = class extends PSelectorIfTask { -}; +class PSelectorIfNotTask extends PSelectorIfTask { +} PSelectorIfNotTask.prototype.target = false; -const PSelectorMatchesCSSTask = class { +class PSelectorMatchesCSSTask extends PSelectorTask { constructor(task) { + super(); this.name = task[1].name; let arg0 = task[1].value, arg1; if ( Array.isArray(arg0) ) { @@ -80,19 +93,20 @@ const PSelectorMatchesCSSTask = class { output.push(node); } } -}; +} PSelectorMatchesCSSTask.prototype.pseudo = null; -const PSelectorMatchesCSSAfterTask = class extends PSelectorMatchesCSSTask { -}; +class PSelectorMatchesCSSAfterTask extends PSelectorMatchesCSSTask { +} PSelectorMatchesCSSAfterTask.prototype.pseudo = ':after'; -const PSelectorMatchesCSSBeforeTask = class extends PSelectorMatchesCSSTask { -}; +class PSelectorMatchesCSSBeforeTask extends PSelectorMatchesCSSTask { +} PSelectorMatchesCSSBeforeTask.prototype.pseudo = ':before'; -const PSelectorMinTextLengthTask = class { +class PSelectorMinTextLengthTask extends PSelectorTask { constructor(task) { + super(); this.min = task[1]; } transpose(node, output) { @@ -100,10 +114,11 @@ const PSelectorMinTextLengthTask = class { output.push(node); } } -}; +} -const PSelectorMatchesPathTask = class { +class PSelectorMatchesPathTask extends PSelectorTask { constructor(task) { + super(); let arg0 = task[1], arg1; if ( Array.isArray(task[1]) ) { arg1 = arg0[1]; arg0 = arg0[0]; @@ -115,12 +130,69 @@ const PSelectorMatchesPathTask = class { output.push(node); } } -}; +} + +class PSelectorOthersTask extends PSelectorTask { + constructor() { + super(); + this.targets = new Set(); + } + begin() { + this.targets.clear(); + } + end(output) { + const toKeep = new Set(this.targets); + const toDiscard = new Set(); + const body = document.body; + let discard = null; + for ( let keep of this.targets ) { + while ( keep !== null && keep !== body ) { + toKeep.add(keep); + toDiscard.delete(keep); + discard = keep.previousElementSibling; + while ( discard !== null ) { + if ( + nonVisualElements[discard.localName] !== true && + toKeep.has(discard) === false + ) { + toDiscard.add(discard); + } + discard = discard.previousElementSibling; + } + discard = keep.nextElementSibling; + while ( discard !== null ) { + if ( + nonVisualElements[discard.localName] !== true && + toKeep.has(discard) === false + ) { + toDiscard.add(discard); + } + discard = discard.nextElementSibling; + } + keep = keep.parentElement; + } + } + for ( discard of toDiscard ) { + output.push(discard); + } + this.targets.clear(); + } + transpose(candidate) { + for ( const target of this.targets ) { + if ( target.contains(candidate) ) { return; } + if ( candidate.contains(target) ) { + this.targets.delete(target); + } + } + this.targets.add(candidate); + } +} // https://github.com/AdguardTeam/ExtendedCss/issues/31#issuecomment-302391277 // Prepend `:scope ` if needed. -const PSelectorSpathTask = class { +class PSelectorSpathTask extends PSelectorTask { constructor(task) { + super(); this.spath = task[1]; this.nth = /^(?:\s*[+~]|:)/.test(this.spath); if ( this.nth ) { return; } @@ -151,10 +223,11 @@ const PSelectorSpathTask = class { output.push(node); } } -}; +} -const PSelectorUpwardTask = class { +class PSelectorUpwardTask extends PSelectorTask { constructor(task) { + super(); const arg = task[1]; if ( typeof arg === 'number' ) { this.i = arg; @@ -179,12 +252,13 @@ const PSelectorUpwardTask = class { } output.push(node); } -}; +} PSelectorUpwardTask.prototype.i = 0; PSelectorUpwardTask.prototype.s = ''; -const PSelectorWatchAttrs = class { +class PSelectorWatchAttrs extends PSelectorTask { constructor(task) { + super(); this.observer = null; this.observed = new WeakSet(); this.observerOptions = { @@ -213,10 +287,11 @@ const PSelectorWatchAttrs = class { this.observer.observe(node, this.observerOptions); this.observed.add(node); } -}; +} -const PSelectorXpathTask = class { +class PSelectorXpathTask extends PSelectorTask { constructor(task) { + super(); this.xpe = document.createExpression(task[1], null); this.xpr = null; } @@ -234,9 +309,9 @@ const PSelectorXpathTask = class { } } } -}; +} -const PSelector = class { +class PSelector { constructor(o) { if ( PSelector.prototype.operatorToTaskMap === undefined ) { PSelector.prototype.operatorToTaskMap = new Map([ @@ -251,6 +326,7 @@ const PSelector = class { [ ':min-text-length', PSelectorMinTextLengthTask ], [ ':not', PSelectorIfNotTask ], [ ':nth-ancestor', PSelectorUpwardTask ], + [ ':others', PSelectorOthersTask ], [ ':spath', PSelectorSpathTask ], [ ':upward', PSelectorUpwardTask ], [ ':watch-attr', PSelectorWatchAttrs ], @@ -260,13 +336,15 @@ const PSelector = class { this.raw = o.raw; this.selector = o.selector; this.tasks = []; - const tasks = o.tasks; - if ( Array.isArray(tasks) === false ) { return; } - for ( const task of tasks ) { - this.tasks.push( - new (this.operatorToTaskMap.get(task[0]))(task) - ); + const tasks = []; + if ( Array.isArray(o.tasks) === false ) { return; } + for ( const task of o.tasks ) { + const ctor = this.operatorToTaskMap.get(task[0]); + if ( ctor === undefined ) { return; } + tasks.push(new ctor(task)); } + // Initialize only after all tasks have been successfully instantiated + this.tasks = tasks; } prime(input) { const root = input || document; @@ -278,9 +356,11 @@ const PSelector = class { for ( const task of this.tasks ) { if ( nodes.length === 0 ) { break; } const transposed = []; + task.begin(); for ( const node of nodes ) { task.transpose(node, transposed); } + task.end(transposed); nodes = transposed; } return nodes; @@ -291,9 +371,11 @@ const PSelector = class { let output = [ node ]; for ( const task of this.tasks ) { const transposed = []; + task.begin(); for ( const node of output ) { task.transpose(node, transposed); } + task.end(transposed); output = transposed; if ( output.length === 0 ) { break; } } @@ -301,10 +383,10 @@ const PSelector = class { } return false; } -}; +} PSelector.prototype.operatorToTaskMap = undefined; -const PSelectorRoot = class extends PSelector { +class PSelectorRoot extends PSelector { constructor(o, styleToken) { super(o); this.budget = 200; // I arbitrary picked a 1/5 second @@ -313,10 +395,10 @@ const PSelectorRoot = class extends PSelector { this.lastAllowanceTime = 0; this.styleToken = styleToken; } -}; +} PSelectorRoot.prototype.hit = false; -const ProceduralFilterer = class { +class ProceduralFilterer { constructor(domFilterer) { this.domFilterer = domFilterer; this.domIsReady = false; @@ -457,7 +539,7 @@ const ProceduralFilterer = class { removedNodes; this.domFilterer.commit(); } -}; +} vAPI.DOMProceduralFilterer = ProceduralFilterer; diff --git a/src/js/contentscript.js b/src/js/contentscript.js index b45cc2f77d04e..b0498099c356a 100644 --- a/src/js/contentscript.js +++ b/src/js/contentscript.js @@ -97,7 +97,7 @@ The domFilterer makes use of platform-dependent user stylesheets[1]. [1] "user stylesheets" refer to local CSS rules which have priority over, - and can't be overriden by a web page's own CSS rules. + and can't be overridden by a web page's own CSS rules. */ diff --git a/src/js/contextmenu.js b/src/js/contextmenu.js index 1c8acf520e5cd..f3d9391de7b7c 100644 --- a/src/js/contextmenu.js +++ b/src/js/contextmenu.js @@ -151,7 +151,7 @@ const menuEntries = { id: 'uBlock0-subscribeToList', title: vAPI.i18n('contextMenuSubscribeToList'), contexts: [ 'link' ], - targetUrlPatterns: [ 'abp:*' ], + targetUrlPatterns: [ 'abp:*', 'https://subscribe.adblockplus.org/*' ], }, temporarilyAllowLargeMediaElements: { id: 'uBlock0-temporarilyAllowLargeMediaElements', diff --git a/src/js/cosmetic-filtering.js b/src/js/cosmetic-filtering.js index ba6ca188118d8..4a532ed972f3c 100644 --- a/src/js/cosmetic-filtering.js +++ b/src/js/cosmetic-filtering.js @@ -202,7 +202,7 @@ SelectorCacheEntry.junkyard = []; // High-medium generic: [href^="..."] // High-high generic: everything else // Specific -// Specfic hostname +// Specific hostname // Specific entity // Generic filters can only be enforced once the main document is loaded. // Specific filers can be enforced before the main document is loaded. diff --git a/src/js/logger-ui.js b/src/js/logger-ui.js index 72601390bb05d..cd38f55dd0bcf 100644 --- a/src/js/logger-ui.js +++ b/src/js/logger-ui.js @@ -352,7 +352,7 @@ const isDNTDomain = function(domain) { // ADN } const parseLogEntry = function(details) { - // Patch realm until changed all over codebase to make this unecessary + // Patch realm until changed all over codebase to make this unnecessary if ( details.realm === 'cosmetic' ) { details.realm = 'extended'; } @@ -508,7 +508,7 @@ const viewPort = (( ) => { vwContent.style.top = `${lastTopPix}px`; }; - // Coallesce scroll events + // Coalesce scroll events const onScroll = function() { if ( scrollTimer !== undefined ) { return; } scrollTimer = setTimeout( @@ -1411,7 +1411,7 @@ const reloadTab = function(ev) { return; } - // Hightlight corresponding element in target web page + // Highlight corresponding element in target web page if ( tcl.contains('picker') ) { ev.stopPropagation(); messaging.send('loggerUI', { diff --git a/src/js/messaging.js b/src/js/messaging.js index 5603eb1ff1ac7..78e5d8da83750 100644 --- a/src/js/messaging.js +++ b/src/js/messaging.js @@ -75,6 +75,9 @@ import dnt from './adn/dnt.js' /******************************************************************************/ /******************************************************************************/ +// Default handler +// privileged + { // >>>>> start of local scope diff --git a/src/js/popup-fenix.js b/src/js/popup-fenix.js index 179b620b33942..ce0728acd1695 100644 --- a/src/js/popup-fenix.js +++ b/src/js/popup-fenix.js @@ -914,8 +914,8 @@ const gotoURL = function(ev) { /******************************************************************************/ -// The popup panel is made of sections. Visiblity of sections can -// be toggle on/off. +// The popup panel is made of sections. Visibility of sections can +// be toggled on/off. const maxNumberOfSections = 6; const sectionFirewallBit = 0b10000; @@ -1366,7 +1366,7 @@ const getPopupData = async function(tabId, first = false) { }; // The purpose of the following code is to reset to a vertical layout - // should the viewport not be enough wide to accomodate the horizontal + // should the viewport not be enough wide to accommodate the horizontal // layout. // To avoid querying a spurious viewport width -- it happens sometimes, // somehow -- we delay layout-changing operations to the next paint diff --git a/src/js/popup.js b/src/js/popup.js index 2a63c1e0cb995..40109a4b74b51 100644 --- a/src/js/popup.js +++ b/src/js/popup.js @@ -703,7 +703,7 @@ let renderOnce = function() { if ( document.body.classList.contains('responsive') ) { return; } // For large displays: we do not want the left pane -- optional and - // hidden by defaut -- to dictate the height of the popup. The right pane + // hidden by default -- to dictate the height of the popup. The right pane // dictates the height of the popup, and the left pane will have a // scrollbar if ever its height is more than what is available. // For small displays: we use the whole viewport. diff --git a/src/js/scriptlets/epicker.js b/src/js/scriptlets/epicker.js index 25afe465a41bd..7587915854fc4 100644 --- a/src/js/scriptlets/epicker.js +++ b/src/js/scriptlets/epicker.js @@ -231,13 +231,12 @@ const resourceURLsFromElement = function(elem) { if ( url !== '' ) { urls.push(url); } return urls; } - { - const s = elem[prop]; - if ( typeof s === 'string' && /^https?:\/\//.test(s) ) { - urls.push(trimFragmentFromURL(s.slice(0, 1024))); - } + const s = elem[prop]; + if ( typeof s === 'string' && /^https?:\/\//.test(s) ) { + urls.push(trimFragmentFromURL(s.slice(0, 1024))); } resourceURLsFromSrcset(elem, urls); + resourceURLsFromPicture(elem, urls); return urls; }; @@ -272,6 +271,20 @@ const resourceURLsFromSrcset = function(elem, out) { } }; +// https://github.com/uBlockOrigin/uBlock-issues/issues/2069#issuecomment-1080600661 +// https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture +const resourceURLsFromPicture = function(elem, out) { + if ( elem.localName === 'source' ) { return; } + const picture = elem.parentElement; + if ( picture === null || picture.localName !== 'picture' ) { return; } + const sources = picture.querySelectorAll(':scope > source'); + for ( const source of sources ) { + const urls = resourceURLsFromElement(source); + if ( urls.length === 0 ) { continue; } + out.push(...urls); + } +}; + /******************************************************************************/ const netFilterFromUnion = function(patternIn, out) { @@ -364,6 +377,7 @@ const netFilter1stSources = { 'iframe': 'src', 'img': 'src', 'object': 'data', + 'source': 'src', 'video': 'src' }; diff --git a/src/js/static-filtering-parser.js b/src/js/static-filtering-parser.js index 4700db4ce52dd..78da0744c725c 100644 --- a/src/js/static-filtering-parser.js +++ b/src/js/static-filtering-parser.js @@ -1575,7 +1575,7 @@ Parser.prototype.SelectorCompiler = class { if ( this.querySelectable(s) ) { return s; } } - compileRemoveSelector(s) { + compileNoArgument(s) { if ( s === '' ) { return s; } } @@ -1683,6 +1683,7 @@ Parser.prototype.SelectorCompiler = class { raw.push(task[1]); break; case ':min-text-length': + case ':others': case ':upward': case ':watch-attr': case ':xpath': @@ -1860,8 +1861,10 @@ Parser.prototype.SelectorCompiler = class { return this.compileInteger(args); case ':not': return this.compileNotSelector(args); + case ':others': + return this.compileNoArgument(args); case ':remove': - return this.compileRemoveSelector(args); + return this.compileNoArgument(args); case ':spath': return this.compileSpathExpression(args); case ':style': @@ -1878,6 +1881,9 @@ Parser.prototype.SelectorCompiler = class { } }; +// bit 0: can be used as auto-completion hint +// bit 1: can not be used in HTML filtering +// Parser.prototype.proceduralOperatorTokens = new Map([ [ '-abp-contains', 0b00 ], [ '-abp-has', 0b00, ], @@ -1893,6 +1899,7 @@ Parser.prototype.proceduralOperatorTokens = new Map([ [ 'min-text-length', 0b01 ], [ 'not', 0b01 ], [ 'nth-ancestor', 0b00 ], + [ 'others', 0b01 ], [ 'remove', 0b11 ], [ 'style', 0b11 ], [ 'upward', 0b01 ], @@ -2493,7 +2500,7 @@ const NetOptionsIterator = class { if ( lval === 0 && hasBits(bits, BITEqual) ) { lval = i; } i += 3; } - // Check for proper assignement + // Check for proper assignment let assigned = false; if ( good && lval !== 0 ) { good = assigned = slices[lval+2] === 1 && lval + 3 !== i; diff --git a/src/js/static-net-filtering.js b/src/js/static-net-filtering.js index ff7ffe50901c3..2a2c0d75dc624 100644 --- a/src/js/static-net-filtering.js +++ b/src/js/static-net-filtering.js @@ -176,6 +176,7 @@ const ANY_TOKEN_HASH = 0x20000000; const ANY_HTTPS_TOKEN_HASH = 0x30000000; const ANY_HTTP_TOKEN_HASH = 0x40000000; const EMPTY_TOKEN_HASH = 0xF0000000; +const INVALID_TOKEN_HASH = 0xFFFFFFFF; /******************************************************************************/ @@ -2581,7 +2582,7 @@ const urlTokenizer = new (class { } this._tokens[i+0] = NO_TOKEN_HASH; this._tokens[i+1] = 0; - this._tokens[i+2] = 0; + this._tokens[i+2] = INVALID_TOKEN_HASH; this._tokenized = true; return this._tokens; } @@ -3981,7 +3982,7 @@ FilterContainer.prototype.matchAndFetchModifiers = function( let th = 0, iunit = 0; for (;;) { th = tokenHashes[i]; - if ( th === 0 ) { break; } + if ( th === INVALID_TOKEN_HASH ) { break; } env.th = th; $tokenBeg = tokenHashes[i+1]; if ( @@ -4173,7 +4174,7 @@ FilterContainer.prototype.realmMatchString = function( let i = 0; for (;;) { tokenHash = tokenHashes[i]; - if ( tokenHash === 0 ) { return false; } + if ( tokenHash === INVALID_TOKEN_HASH ) { return false; } $tokenBeg = tokenHashes[i+1]; if ( (ibucket00 !== 0) && diff --git a/src/js/storage.js b/src/js/storage.js index 0353b06348706..c0220c3e230e8 100644 --- a/src/js/storage.js +++ b/src/js/storage.js @@ -664,7 +664,8 @@ self.addEventListener('hiddenSettingsChanged', ( ) => { io.registerAssetSource(listKey, entry); } - // Convert a no longer existing stock list into an imported list. + // Convert a no longer existing stock list into an imported list, except + // when the removed stock list is deemed a "bad list". const customListFromStockList = assetKey => { const oldEntry = oldAvailableLists[assetKey]; if ( oldEntry === undefined || oldEntry.off === true || oldEntry.contentURL === undefined) { return; } // adn #1930 @@ -672,7 +673,8 @@ self.addEventListener('hiddenSettingsChanged', ( ) => { if ( Array.isArray(listURL) ) { listURL = listURL[0]; } - let newGroup = adnListGroup(listURL); // ADN + let newGroup = adnListGroup(listURL); // ADN + if ( this.badLists.has(listURL) ) { return; } const newEntry = { content: 'filters', contentURL: listURL, @@ -962,7 +964,7 @@ self.addEventListener('hiddenSettingsChanged', ( ) => { if ( matches[2] !== undefined ) { updateAfter = Math.ceil(updateAfter / 24); } - updateAfter = Math.max(updateAfter, 1); + updateAfter = Math.max(updateAfter, 0.5); if ( updateAfter !== listEntry.updateAfter ) { listEntry.updateAfter = updateAfter; io.registerAssetSource(assetKey, { updateAfter }); @@ -1580,7 +1582,7 @@ self.addEventListener('hiddenSettingsChanged', ( ) => { /******************************************************************************/ // https://github.com/gorhill/uBlock/issues/2344 -// Support mutliple locales per filter list. +// Support multiple locales per filter list. // https://github.com/gorhill/uBlock/issues/3210 // Support ability to auto-enable a filter list based on user agent. // https://github.com/gorhill/uBlock/pull/3860 diff --git a/src/js/support.js b/src/js/support.js index e94b342e06f90..7fecb9113f740 100644 --- a/src/js/support.js +++ b/src/js/support.js @@ -29,6 +29,7 @@ let supportData; const uselessKeys = [ 'modifiedHiddenSettings.benchmarkDatasetURL', + 'modifiedHiddenSettings.blockingProfiles', 'modifiedHiddenSettings.consoleLogLevel', 'modifiedHiddenSettings.uiPopupConfig', 'modifiedUserSettings.alwaysDetachLogger', @@ -36,6 +37,9 @@ const uselessKeys = [ 'modifiedUserSettings.externalLists', 'modifiedUserSettings.importedLists', 'modifiedUserSettings.popupPanelSections', + 'modifiedUserSettings.uiAccentCustom', + 'modifiedUserSettings.uiAccentCustom0', + 'modifiedUserSettings.uiTheme', ]; const sensitiveValues = [ diff --git a/src/js/ublock.js b/src/js/ublock.js index 118534fe40ae2..31bcaa3d31c91 100644 --- a/src/js/ublock.js +++ b/src/js/ublock.js @@ -751,11 +751,14 @@ const matchBucket = function(url, hostname, bucket, start) { /******************************************************************************/ µb.toggleHostnameSwitch = function(details) { + const newState = typeof details.state === 'boolean' + ? details.state + : sessionSwitches.evaluateZ(details.name, details.hostname) === false; let changed = sessionSwitches.toggleZ( details.name, details.hostname, !!details.deep, - details.state + newState ); if ( changed === false ) { return; } @@ -765,7 +768,7 @@ const matchBucket = function(url, hostname, bucket, start) { this.updateToolbarIcon(details.tabId, 0b100); break; case 'no-cosmetic-filtering': { - const scriptlet = details.state ? 'cosmetic-off' : 'cosmetic-on'; + const scriptlet = newState ? 'cosmetic-off' : 'cosmetic-on'; vAPI.tabs.executeScript(details.tabId, { file: `/js/scriptlets/${scriptlet}.js`, allFrames: true, @@ -775,7 +778,7 @@ const matchBucket = function(url, hostname, bucket, start) { case 'no-large-media': const pageStore = this.pageStoreFromTabId(details.tabId); if ( pageStore !== null ) { - pageStore.temporarilyAllowLargeMediaElements(!details.state); + pageStore.temporarilyAllowLargeMediaElements(!newState); } break; } @@ -786,7 +789,7 @@ const matchBucket = function(url, hostname, bucket, start) { details.name, details.hostname, !!details.deep, - details.state + newState ); if ( changed ) { this.saveHostnameSwitches(); diff --git a/src/js/whitelist.js b/src/js/whitelist.js index 2057a1124bea9..5e8b150ff2c21 100644 --- a/src/js/whitelist.js +++ b/src/js/whitelist.js @@ -190,9 +190,11 @@ const handleImportFilePicker = function() { const fr = new FileReader(); fr.onload = ev => { if ( ev.type !== 'load' ) { return; } - setEditorText( - [ getEditorText().trim(), fr.result.trim() ].join('\n').trim() + const content = uBlockDashboard.mergeNewLines( + getEditorText().trim(), + fr.result.trim() ); + setEditorText(content); }; fr.readAsText(file); }; diff --git a/src/lib/lz4/README.md b/src/lib/lz4/README.md index 2f6ba74832ceb..8061e80e4b8a2 100644 --- a/src/lib/lz4/README.md +++ b/src/lib/lz4/README.md @@ -16,7 +16,7 @@ https://github.com/gorhill/lz4-wasm The purpose is to instanciate a WebAssembly- or pure javascript-based LZ4 block codec. -If the choosen implementation is not specified, there will be an attempt to +If the chosen implementation is not specified, there will be an attempt to create a WebAssembly-based instance. If for whatever reason this fails, a pure javascript-based instance will be created. diff --git a/src/lib/publicsuffixlist/wasm/publicsuffixlist.wat b/src/lib/publicsuffixlist/wasm/publicsuffixlist.wat index a4662c3dc8d08..ee002a13af612 100644 --- a/src/lib/publicsuffixlist/wasm/publicsuffixlist.wat +++ b/src/lib/publicsuffixlist/wasm/publicsuffixlist.wat @@ -247,7 +247,7 @@ ;; } ;; // 2. If no rules match, the prevailing rule is "*". ;; if ( iFound === 0 ) { - ;; if ( buf8[iCandidates + 1 << 2] !== 0x2A /* '*' */ ) { break; } + ;; if ( buf32[iCandidates + 1] !== 0x2A /* '*' */ ) { break; } ;; buf8[SUFFIX_NOT_FOUND_SLOT] = 1; ;; iFound = iCandidates; ;; } diff --git a/src/logger-ui.html b/src/logger-ui.html index b2951f510afe3..9fd865d095c2b 100644 --- a/src/logger-ui.html +++ b/src/logger-ui.html @@ -149,7 +149,7 @@
- +
@@ -167,7 +167,7 @@
- +