diff --git a/CHANGELOG.md b/CHANGELOG.md
index b2054a3064709..6e81e561e90c8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,21 @@
+- [Improve `generateContentFn` helper scriptlet](https://github.com/gorhill/uBlock/commit/7d95c58408)
+- [Improve `prevent-xhr` scriptlet](https://github.com/gorhill/uBlock/commit/168394440c)
+- [Improve `proxyApplyFn` helper scriptlet](https://github.com/gorhill/uBlock/commit/18a8fc7675)
+
+----------
+
+# 1.69.0
+
+- [Add `adthrive` shim](https://github.com/gorhill/uBlock/commit/b8bf0bbab4)
+- [Add `elem.shadowRoot` fallback in `getShadowRoot`](https://github.com/gorhill/uBlock/commit/c8b42ea819) (by @antonok-edm)
+- [Fix merging of uncommitted filters](https://github.com/gorhill/uBlock/commit/c8004c4b02)
+- [Improve `urlskip` implementation](https://github.com/gorhill/uBlock/commit/41ced43f03)
+- [Improve `set-attr`/`trusted-set-attr` scriptlets](https://github.com/gorhill/uBlock/commit/3f3d4768b6)
+- [Improve `trusted-create-html` scriptlet](https://github.com/gorhill/uBlock/commit/3c7eb3497d)
+- [Add Anti-AI Suggestions list](https://github.com/gorhill/uBlock/commit/a0a7a99675) (by @ryanbr)
+- [Unescape unduly escaped `|` in regex-based domain options](https://github.com/gorhill/uBlock/commit/bb34a4b83b)
+- [Mind id/class changes in generic cosmetic filtering surveyor](https://github.com/gorhill/uBlock/commit/c053361d30)
+- [Fix `specifichide` option](https://github.com/gorhill/uBlock/commit/024019094f)
- [Improve `prevent-addEventListener` scriptlet](https://github.com/gorhill/uBlock/commit/1977196abe)
- [Add `nitropay_ads.js` shim](https://github.com/gorhill/uBlock/commit/6af8a457ed)
- [Improve scriptlets proxying `fetch`](https://github.com/gorhill/uBlock/commit/13612d1d29)
diff --git a/Makefile b/Makefile
index ae772675d1409..932ecf5613fa8 100644
--- a/Makefile
+++ b/Makefile
@@ -147,8 +147,7 @@ publish-dev-firefox:
ghtag=$(version) \
ghasset=firefox \
storeid=uBlock0@raymondhill.net \
- channel=unlisted \
- updatepath=./dist/firefox/updates.json
+ channel=unlisted
# Usage: make upload-firefox version=?
upload-firefox:
diff --git a/assets/assets.dev.json b/assets/assets.dev.json
index e7d924ea8368b..c76a9d3d64b8d 100644
--- a/assets/assets.dev.json
+++ b/assets/assets.dev.json
@@ -471,6 +471,23 @@
],
"supportURL": "https://github.com/easylist/easylist#fanboy-lists"
},
+ "fanboy-ai-suggestions": {
+ "content": "filters",
+ "group": "annoyances",
+ "parent": "EasyList – Annoyances",
+ "off": true,
+ "title": "EasyList – AI Widgets",
+ "tags": "annoyances",
+ "preferred": true,
+ "contentURL": "https://ublockorigin.github.io/uAssets/thirdparties/easylist-ai.txt",
+ "cdnURLs": [
+ "https://ublockorigin.github.io/uAssetsCDN/thirdparties/easylist-ai.txt",
+ "https://ublockorigin.pages.dev/thirdparties/easylist-ai.txt",
+ "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/thirdparties/easylist-ai.txt",
+ "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easylist-ai.txt"
+ ],
+ "supportURL": "https://github.com/easylist/easylist#fanboy-lists"
+ },
"easylist-newsletters": {
"content": "filters",
"group": "annoyances",
diff --git a/assets/assets.json b/assets/assets.json
index 2f644425d27a7..109604af0b5ea 100644
--- a/assets/assets.json
+++ b/assets/assets.json
@@ -471,6 +471,23 @@
],
"supportURL": "https://github.com/easylist/easylist#fanboy-lists"
},
+ "fanboy-ai-suggestions": {
+ "content": "filters",
+ "group": "annoyances",
+ "parent": "EasyList – Annoyances",
+ "off": true,
+ "title": "EasyList – AI Widgets",
+ "tags": "annoyances",
+ "preferred": true,
+ "contentURL": "https://ublockorigin.github.io/uAssets/thirdparties/easylist-ai.txt",
+ "cdnURLs": [
+ "https://ublockorigin.github.io/uAssetsCDN/thirdparties/easylist-ai.txt",
+ "https://ublockorigin.pages.dev/thirdparties/easylist-ai.txt",
+ "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/thirdparties/easylist-ai.txt",
+ "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easylist-ai.txt"
+ ],
+ "supportURL": "https://github.com/easylist/easylist#fanboy-lists"
+ },
"easylist-newsletters": {
"content": "filters",
"group": "annoyances",
diff --git a/dist/firefox/updates.json b/dist/firefox/updates.json
index bb43f9e78d21a..ad1251c88a70a 100644
--- a/dist/firefox/updates.json
+++ b/dist/firefox/updates.json
@@ -3,13 +3,13 @@
"uBlock0@raymondhill.net": {
"updates": [
{
- "version": "1.68.1.7",
+ "version": "1.68.1.102",
"browser_specific_settings": {
"gecko": {
"strict_min_version": "115.0"
}
},
- "update_link": "https://github.com/gorhill/uBlock/releases/download/1.68.1b7/uBlock0_1.68.1b7.firefox.signed.xpi"
+ "update_link": "https://github.com/gorhill/uBlock/releases/download/1.68.1rc2/uBlock0_1.68.1rc2.firefox.signed.xpi"
}
]
}
diff --git a/dist/version b/dist/version
index 56cf934a6aa8e..a42e174111af9 100644
--- a/dist/version
+++ b/dist/version
@@ -1 +1 @@
-1.68.1.7
\ No newline at end of file
+1.69.1.2
\ No newline at end of file
diff --git a/platform/mv3/description/webstore.cs.txt b/platform/mv3/description/webstore.cs.txt
index 97d87722c20dc..76e9971e6bb42 100644
--- a/platform/mv3/description/webstore.cs.txt
+++ b/platform/mv3/description/webstore.cs.txt
@@ -1,12 +1,12 @@
uBO Lite (uBOL) je blokovač obsahu založený na MV3.
-Výchozí sada pravidel koresponduje k výchozím sadám filtrů uBlock Origin:
+Výchozí sada pravidel odpovídá výchozím sadám filtrů uBlock Origin:
- Vestavěný seznam filtrů uBlock Origin
- EasyList
- EasyPrivacy
-- Peter Lowe’s Ad and tracking server list
+- Seznam reklamních a sledovacích serverů Petera Lowea
-Další sady pravidel můžete povolit na stránce nastavení - klikněte na ikonu _Ozubeného kolečka_ ve vyskakovacím panelu.
+Další sady pravidel můžete povolit na stránce nastavení - klepněte na ikonu _Ozubeného kolečka_ ve vyskakovacím panelu.
-uBOL je zcela deklarativní, což znamená, že pro filtrování není potřeba permanentní proces uBOL a filtrování obsahu založené na vstřikování CSS/JS je spolehlivě prováděno samotným prohlížečem, nikoli rozšířením. To znamená, že samotný uBOL nespotřebovává zdroje CPU/paměti, zatímco probíhá blokování obsahu – proces servisního pracovníka uBOL je vyžadován _pouze_ při interakci s vyskakovacím panelem nebo stránkami nastavení.
+uBOL je zcela deklarativní, což znamená, že pro filtrování není potřeba permanentní proces uBOL a filtrování obsahu založené na vstřikování CSS/JS je spolehlivě prováděno samotným prohlížečem, nikoli rozšířením. To znamená, že samotný uBOL nespotřebovává zdroje CPU/paměti, zatímco probíhá blokování obsahu - proces servisního pracovníka uBOL je vyžadován _jen_ při interakci s vyskakovacím panelem nebo stránkami nastavení.
diff --git a/platform/mv3/description/webstore.ko.txt b/platform/mv3/description/webstore.ko.txt
index 98c8a3f801056..cf38909f3f33c 100644
--- a/platform/mv3/description/webstore.ko.txt
+++ b/platform/mv3/description/webstore.ko.txt
@@ -9,4 +9,4 @@ uBO Lite (uBOL)는 MV3 기반 콘텐츠 차단기입니다.
설정 페이지에서 규칙 목록을 더 활성화할 수 있습니다. 팝업 창의 _Cogs_ 아이콘을 누르세요.
-uBOL은 완전히 선언적이라 필터링 중 영구적으로 실행되는 uBOL 프로세스를 필요로 하지 않으며, CSS/JS 주입 기반 콘텐츠 필터링이 확장 프로그램이 아닌 브라우저 자체에서 더욱 안정적으로 동작합니다. 즉 uBOL 자체는 콘텐츠 차단을 하는 동안 CPU/메모리 리소스를 소비하지 않습니다. uBOL 서비스워커 프로세스는 사용자가 팝업 창이나 설정을 열었을 _때에만_ 동작합니다.
+uBOL은 완전히 선언적이라 필터링 중 영구적으로 실행되는 uBOL 프로세스를 필요로 하지 않으며, CSS/JS 주입 기반 콘텐츠 필터링이 확장 프로그램이 아닌 브라우저 자체에서 더욱 안정적으로 동작합니다. 이는 콘텐츠 차단이 진행되는 동안 uBOL 자체는 CPU나 메모리 자원을 소모하지 않음을 의미합니다. uBOL의 서비스 워커 프로세스는 팝업 창이나 설정을 사용할 때만 실행됩니다.
diff --git a/platform/mv3/extension/_locales/ar/messages.json b/platform/mv3/extension/_locales/ar/messages.json
index 2eeb39622f6c0..e443df18090b9 100644
--- a/platform/mv3/extension/_locales/ar/messages.json
+++ b/platform/mv3/extension/_locales/ar/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "إنشاء تقرير جديد علي GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "وضع التصفية الافتراضي",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "الصفحة محجوبة",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "لقد منع uBO Lite تحميل الصفحة التالية:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "رجوع",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "إغلاق هذه النافذة",
diff --git a/platform/mv3/extension/_locales/az/messages.json b/platform/mv3/extension/_locales/az/messages.json
index 3c4db300538ba..51f3587a88c3d 100644
--- a/platform/mv3/extension/_locales/az/messages.json
+++ b/platform/mv3/extension/_locales/az/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -224,7 +224,7 @@
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
- "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher webpage resources usage.",
+ "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher web page resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/be/messages.json b/platform/mv3/extension/_locales/be/messages.json
index b5beb29f9d466..4c7f47743c7d7 100644
--- a/platform/mv3/extension/_locales/be/messages.json
+++ b/platform/mv3/extension/_locales/be/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Стварыць новую справаздачу",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Прадвызначаны рэжым фільтравання",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Старонка заблакаваная",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite папярэдзіў чытанне наступнай старонкі:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Вярнуцца",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Закрыць гэтае акно",
diff --git a/platform/mv3/extension/_locales/bg/messages.json b/platform/mv3/extension/_locales/bg/messages.json
index 935136afab3a7..3a216e0a30ec2 100644
--- a/platform/mv3/extension/_locales/bg/messages.json
+++ b/platform/mv3/extension/_locales/bg/messages.json
@@ -72,7 +72,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
- "message": "Вредоносни домейни",
+ "message": "Защита от зловреден софтуер, сигурност",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Създаване на нов доклад",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Режим на филтриране по подразбиране",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Страницата е блокирана",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite попречи на зареждането на следната страница:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Назад",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Затворяне на прозореца",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Възстановяване на първоначалните настройки…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Всички ваши персонализирани настройки ще бъдат премахнати. Наистина ли искате да възстановите фабричните настройки?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/bn/messages.json b/platform/mv3/extension/_locales/bn/messages.json
index e229fcbfe20a4..f6f2777f0184f 100644
--- a/platform/mv3/extension/_locales/bn/messages.json
+++ b/platform/mv3/extension/_locales/bn/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "নতুন অভিযোগ",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "ডিফল্ট ফিল্টারিং মোড",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "পাতা অবরুদ্ধ",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "ইউবিও লাইট এই পাতা লোড হওয়া আটকিয়েছে:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "ফিরে যাও",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "জানালা বন্ধ করো",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/br_FR/messages.json b/platform/mv3/extension/_locales/br_FR/messages.json
index 15642e3818758..19e8805164c5a 100644
--- a/platform/mv3/extension/_locales/br_FR/messages.json
+++ b/platform/mv3/extension/_locales/br_FR/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Sevel ur rentañ-kont nevez",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Mod silañ dre ziouer",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Pajenn stanket",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite en deus miret ar bajenn-mañ da gargañ:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Distreiñ",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Serriñ ar prenestr-mañ",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Adlakaat an arventennoù dre ziouer…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Hoc'h holl arventennoù personelaet a vo dilamet. Daoust hag a fell deoc'h adlakaat an arventennoù dre ziouer?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/bs/messages.json b/platform/mv3/extension/_locales/bs/messages.json
index 40f6d31faa226..aded553891b52 100644
--- a/platform/mv3/extension/_locales/bs/messages.json
+++ b/platform/mv3/extension/_locales/bs/messages.json
@@ -4,7 +4,7 @@
"description": "extension name."
},
"extShortDesc": {
- "message": "Eksperimentalni blokator sadržaja bez dopuštenja. Blokira oglase, trakere za praćenje, \"rudare\" kovanica kripto valute i još [...]",
+ "message": "Efikasno blokator sadržaja. Blokira oglase, trackere, rudare i još mnogo toga odmah nakon instalacije.",
"description": "this will be in the Chrome web store: must be 132 characters or less"
},
"perRulesetStats": {
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Kreiraj novi izvještaj na GitHubu",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Zadani način filtriranja",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Stranica je blokirana",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite je spriječio učitavanje sljedeće stranice:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Nazad",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Zatvori ovaj prozor",
diff --git a/platform/mv3/extension/_locales/ca/messages.json b/platform/mv3/extension/_locales/ca/messages.json
index d3cfd54544797..4e22d26d8937f 100644
--- a/platform/mv3/extension/_locales/ca/messages.json
+++ b/platform/mv3/extension/_locales/ca/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Crea un informe nou",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Mode de filtratge per defecte",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Pàgina blocada",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "L'uBO Lite ha evitat la càrrega d'aquesta pàgina:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Enrere",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Tanca aquesta finestra",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Restaura a la configuració per defecte…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "S'eliminaran tots els paràmetres personalitzats. Voleu restablir els paràmetres per defecte?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/cs/messages.json b/platform/mv3/extension/_locales/cs/messages.json
index 8817de42d1321..ebf8afd67a44b 100644
--- a/platform/mv3/extension/_locales/cs/messages.json
+++ b/platform/mv3/extension/_locales/cs/messages.json
@@ -12,7 +12,7 @@
"description": "Appears aside each filter list in the _3rd-party filters_ pane"
},
"dashboardName": {
- "message": "uBO Lite — Ovládací panel",
+ "message": "uBO Lite - Ovládací panel",
"description": "English: uBO Lite — Dashboard"
},
"settingsPageName": {
@@ -32,19 +32,19 @@
"description": "appears as tab name in dashboard"
},
"aboutPrivacyPolicy": {
- "message": "Ochrana soukromí",
+ "message": "Zásady ochrany osobních údajů",
"description": "Link to privacy policy on GitHub (English)"
},
"popupFilteringModeLabel": {
- "message": "Filtrovací režim",
+ "message": "režim filtrování",
"description": "Label in the popup panel for the current filtering mode"
},
"popupLocalToolsLabel": {
- "message": "Na této webové stránce",
+ "message": "Na tomto webu",
"description": "Label in the popup panel for the local tools section"
},
"popupTipReport": {
- "message": "Nahlásit problém na této webové stránce",
+ "message": "Nahlásit problém",
"description": "Tooltip used for the 'chat' icon in the panel"
},
"popupTipDashboard": {
@@ -136,11 +136,11 @@
"description": "Label of 'Troubleshooting information' section in 'Report a filter issue' page"
},
"supportS6P1S1": {
- "message": "Abyste dobrovolníky nezatěžovali duplicitními hlášeními, ověřte si, zda již problém nebyl nahlášen.",
+ "message": "Abyste dobrovolníky nezatěžovali duplicitními hlášeními, ověřte si, zda již problém nebyl nahlášen. Poznámka: Klepnutím na tlačítko bude originální stránka odeslána na GitHub.",
"description": "A paragraph in the filter issue reporter section"
},
"supportFindSpecificButton": {
- "message": "Vyhledat podobná hlášení",
+ "message": "Vyhledat podobná hlášení na GitHubu",
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
@@ -148,7 +148,7 @@
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "Webová stránka…",
+ "message": "Webová stránka...",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -188,11 +188,11 @@
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
- "message": "Vytvořit nové hlášení",
- "description": "Text for button which open an external webpage in Support pane"
+ "message": "Vytvořit nové hlášení na GitHubu",
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
- "message": "Výchozí filtrovací režim",
+ "message": "Výchozí režim filtrování",
"description": "The header text for the default filtering mode section"
},
"defaultFilteringModeDescription": {
@@ -228,11 +228,11 @@
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
- "message": "Seznam názvů hostitelů, pro které nebude probíhat žádné filtrování",
+ "message": "Seznam názvů hostitelů, pro které nebude probíhat žádné filtrování.",
"description": "A short description for the editable field which lists trusted sites"
},
"noFilteringModePlaceholder": {
- "message": "[pouze názvy hostitelů]\nexample.com\ngames.example\n...",
+ "message": "[jen názvy hostitelů]\nexample.com\ngames.example\n...",
"description": "Default text for in edit field"
},
"behaviorSectionLabel": {
@@ -252,7 +252,7 @@
"description": "Label for a checkbox in the options page"
},
"enableStrictBlockLegend": {
- "message": "Navigace na potenciálně nežádoucí stránky bude zablokována a bude vám nabídnuta možnost pokračovat.",
+ "message": "Bude zablokována navigace na potenciálně nežádoucí stránky a bude Vám nabídnuta volba pro pokračování.",
"description": "Short description for a checkbox in the options page"
},
"developerModeLabel": {
@@ -272,7 +272,7 @@
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
- "message": "Obnovení přepíše všechna vaše aktuální vlastní nastavení.",
+ "message": "Obnovení přepíše všechna Vaše aktuální vlastní nastavení.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
@@ -280,8 +280,8 @@
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
- "message": "Stránka zablokována",
- "description": "Webpage title for the strict-blocked page"
+ "message": "Stránka byla zablokována",
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite zabránil načtení následující stránky:",
@@ -292,7 +292,7 @@
"description": "Text informing about what is causing the page to be blocked"
},
"strictblockRedirectSentence1": {
- "message": "Zablokovaná stránka vás chce přesměrovat na jiný web. Pokud se rozhodnete pokračovat, přejdete přímo na: {{url}}",
+ "message": "Zablokovaná stránka Vás chce přesměrovat na jiný web. Pokud se rozhodnete pokračovat, přejdete přímo na: {{url}}",
"description": "Text warning about an incoming redirect"
},
"strictblockNoParamsPrompt": {
@@ -301,14 +301,14 @@
},
"strictblockBack": {
"message": "Zpět",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
- "message": "Zavřít okno",
+ "message": "Zavřít toto okno",
"description": "A button to close the current tab"
},
"strictblockDontWarn": {
- "message": "Nevarujte mě znovu o této stránce",
+ "message": "Příště na tuto stránku neupozorňovat",
"description": "Label for checkbox in document-blocked page"
},
"strictblockProceed": {
@@ -316,11 +316,11 @@
"description": "A button to navigate to the blocked page"
},
"zapperTipEnter": {
- "message": "Přejít do režimu dočasného skrytí prvků",
+ "message": "Odebrat prvek",
"description": "Tooltip for the button used to enter zapper mode"
},
"zapperTipQuit": {
- "message": "Opustit režim dočasného skrytí prvků",
+ "message": "Ukončit režim dočasného skrytí prvků",
"description": "Tooltip for the button used to exit zapper mode"
},
"pickerTipEnter": {
@@ -336,7 +336,7 @@
"description": "A label of a dropdown list"
},
"developOptionFilteringModeDetails": {
- "message": "Detaily filtovacího módu",
+ "message": "Detaily režimu filtrování",
"description": "An option in a dropdown list"
},
"developOptionCustomDnrRules": {
@@ -344,7 +344,7 @@
"description": "An option in a dropdown list"
},
"developOptionDnrRulesOf": {
- "message": "DNR pravidla …",
+ "message": "Pravidla DNR pro...",
"description": "A section header in a dropdown list"
},
"developOptionDynamicRuleset": {
@@ -352,7 +352,7 @@
"description": "An option in a dropdown list"
},
"developOptionSessionRuleset": {
- "message": "",
+ "message": "Seznam pravidel relace",
"description": "An option in a dropdown list"
},
"saveButton": {
@@ -368,27 +368,27 @@
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
- "message": "Importovat a připojit…",
+ "message": "Importovat a připojit...",
"description": "Text for buttons used to import and append content"
},
"exportButton": {
- "message": "Exportovat…",
+ "message": "Exportovat...",
"description": "Text for buttons used to export content"
},
"backupButton": {
- "message": "Zálohovat…",
+ "message": "Zálohovat...",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
- "message": "Obnovit…",
+ "message": "Obnovit...",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Resetovat do výchozího nastavení...",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Všechna Vaše vlastní nastavení budou odebrána. Opravdu chcete resetovat do výchozího nastavení?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Výběrem níže uvedeného filtru zvýrazníte odpovídající prvky na webové stránce. Kliknutím na koš filtr odstraníte.",
+ "message": "Výběrem níže uvedeného filtru zvýrazníte odpovídající prvky na webové stránce. Klepnutím na koš filtr odeberete.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/cv/messages.json b/platform/mv3/extension/_locales/cv/messages.json
index f4ab788a6317c..486ab7a1cda95 100644
--- a/platform/mv3/extension/_locales/cv/messages.json
+++ b/platform/mv3/extension/_locales/cv/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -224,7 +224,7 @@
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
- "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher webpage resources usage.",
+ "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher web page resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/cy/messages.json b/platform/mv3/extension/_locales/cy/messages.json
index a0f044f1a3656..ff657f2c57cdf 100644
--- a/platform/mv3/extension/_locales/cy/messages.json
+++ b/platform/mv3/extension/_locales/cy/messages.json
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -224,7 +224,7 @@
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
- "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher webpage resources usage.",
+ "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher web page resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Yn ôl",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Cau'r ffenestr hon",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/da/messages.json b/platform/mv3/extension/_locales/da/messages.json
index 17e52d43b4d70..8f0ba1e451155 100644
--- a/platform/mv3/extension/_locales/da/messages.json
+++ b/platform/mv3/extension/_locales/da/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Opret ny anmeldelse på GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Standardfiltreringstilstand",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Side blokeret",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite har forhindret flg. side i at blive indlæst:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Gå tilbage",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Luk dette vindue",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Nulstil til standardstillinger…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Alle tilpassede indstillinger fjernes. Fortsæt nulstilling til standardindstillinger?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/de/messages.json b/platform/mv3/extension/_locales/de/messages.json
index 493be05128fd4..9c4b893dc69b9 100644
--- a/platform/mv3/extension/_locales/de/messages.json
+++ b/platform/mv3/extension/_locales/de/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Neue Meldung auf GitHub erstellen",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Standardfiltermodus",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Seite blockiert",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite hat das Laden der folgenden Seite verhindert:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Zurück",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Dieses Fenster schließen",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Auf Werkseinstellungen zurücksetzen …",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Alle angepassten Einstellungen werden entfernt. Mit dem Zurücksetzen auf Werkseinstellungen fortfahren?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/el/messages.json b/platform/mv3/extension/_locales/el/messages.json
index 680cd0f52b2b5..79f0151df4f38 100644
--- a/platform/mv3/extension/_locales/el/messages.json
+++ b/platform/mv3/extension/_locales/el/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Δημιουργία νέας αναφοράς",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Προεπιλεγμένη λειτουργία φιλτραρίσματος",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Αποκλεισμένη σελίδα",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "Το uBO Lite εμπόδισε τη φόρτωση της παρακάτω σελίδας:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Επιστροφή",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Κλείσιμο του παραθύρου",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Επαναφορά στις προεπιλεγμένες ρυθμίσεις…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Όλες οι προσαρμοσμένες ρυθμίσεις σας θα διαγραφούν. Σίγουρα θέλετε να επαναφέρετε τις προεπιλεγμένες ρυθμίσεις;",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/en/messages.json b/platform/mv3/extension/_locales/en/messages.json
index c0aaafd8e8c7c..7c932d3c522b6 100644
--- a/platform/mv3/extension/_locales/en/messages.json
+++ b/platform/mv3/extension/_locales/en/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -224,7 +224,7 @@
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
- "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher webpage resources usage.",
+ "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher web page resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/en_GB/messages.json b/platform/mv3/extension/_locales/en_GB/messages.json
index f8bc50c13a107..82722b33987d0 100644
--- a/platform/mv3/extension/_locales/en_GB/messages.json
+++ b/platform/mv3/extension/_locales/en_GB/messages.json
@@ -72,7 +72,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
- "message": "Malware domains",
+ "message": "Malware protection, security",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Create new report",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
diff --git a/platform/mv3/extension/_locales/eo/messages.json b/platform/mv3/extension/_locales/eo/messages.json
index a6a81336dfca3..7f85373606978 100644
--- a/platform/mv3/extension/_locales/eo/messages.json
+++ b/platform/mv3/extension/_locales/eo/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -224,7 +224,7 @@
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
- "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher webpage resources usage.",
+ "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher web page resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/es/messages.json b/platform/mv3/extension/_locales/es/messages.json
index 55dd1ae3eba4b..6b927cf29a76a 100644
--- a/platform/mv3/extension/_locales/es/messages.json
+++ b/platform/mv3/extension/_locales/es/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Crear nuevo reporte en GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Modo de filtrado predeterminado",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Página bloqueada",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite impidió la carga de la página:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Regresar",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Cerrar esta ventana",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Restablecer ajustes predeterminados…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Se borrará todas tus configuraciones personalizadas. ¿Seguro que quieres restablecer a la configuración predeterminada?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/et/messages.json b/platform/mv3/extension/_locales/et/messages.json
index 7e21da9e0e4b1..5d6eaa33886ca 100644
--- a/platform/mv3/extension/_locales/et/messages.json
+++ b/platform/mv3/extension/_locales/et/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Loo GitHubis uus aruanne",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Tavaline filtreerimisrežiim",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Lehe sirvimine piiratud",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite ennetas järgmise veebilehe laadimist:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Tagasi",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Sulge see aken",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Lähtesta tavaseadetele…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Kõik enda loodud seaded eemaldatakse. Tahad tõesti lähtestada tavaseadetele?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/eu/messages.json b/platform/mv3/extension/_locales/eu/messages.json
index 3cd3abc2d9eeb..22eef3624600b 100644
--- a/platform/mv3/extension/_locales/eu/messages.json
+++ b/platform/mv3/extension/_locales/eu/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Lehenetsitako iragazteko modua",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Blokeatutako orrialdea",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Joan atzera",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Itxi leiho hau",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/fa/messages.json b/platform/mv3/extension/_locales/fa/messages.json
index 21290ad5412c0..995f635e9327e 100644
--- a/platform/mv3/extension/_locales/fa/messages.json
+++ b/platform/mv3/extension/_locales/fa/messages.json
@@ -148,7 +148,7 @@
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -224,7 +224,7 @@
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
- "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher webpage resources usage.",
+ "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher web page resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/fi/messages.json b/platform/mv3/extension/_locales/fi/messages.json
index d70ac808998ba..b73a25994e58b 100644
--- a/platform/mv3/extension/_locales/fi/messages.json
+++ b/platform/mv3/extension/_locales/fi/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Luo GitHubiin uusi ilmoitus",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Oletusarvoinen suodatustila",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Sivu estettiin",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite on estänyt seuraavan sivun latauksen:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Palaa takaisin",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Sulje tämä ikkuna",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Palauta oletusasetukset…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Kaikki tehndyt asetusmuutokset perutaan. Haluatko varmasti palauttaa oletusasetukset?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/fil/messages.json b/platform/mv3/extension/_locales/fil/messages.json
index 1a5929b667201..96b452872341f 100644
--- a/platform/mv3/extension/_locales/fil/messages.json
+++ b/platform/mv3/extension/_locales/fil/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Gumawa ng bagong ulat sa Github",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default na mode sa pagfi-filter",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Nakaharang na page",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "Hindi pinayagan ng uBO Lite ang pagpunta sa page dahil:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Bumalik",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Isara ang window na ito",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/fr/messages.json b/platform/mv3/extension/_locales/fr/messages.json
index 01104119faf99..f68a7b1e8f0e5 100644
--- a/platform/mv3/extension/_locales/fr/messages.json
+++ b/platform/mv3/extension/_locales/fr/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Créer un nouveau rapport sur GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Mode de filtrage par défaut",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page bloquée",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite a empêché le chargement de cette page :",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Précédent",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Fermer cette fenêtre",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Revenir aux paramètres par défaut",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Tous vos paramètres personnalisés seront supprimés. Voulez-vous vraiment revenir aux paramètres par défaut ?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/fy/messages.json b/platform/mv3/extension/_locales/fy/messages.json
index 679e0f56f3dcb..a39aef1a6f4a8 100644
--- a/platform/mv3/extension/_locales/fy/messages.json
+++ b/platform/mv3/extension/_locales/fy/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Nije melding meitsje",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Standert filtermodus",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Side blokkearre",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite hat it laden fan de folgjende side opkeard:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Tebek",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Dit finster slute",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Standertynstellingen weromsette…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Al jo oanpaste ynstellingen sille fuortsmiten wurde. Wolle jo de standertynstellingen echt weromsette?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/gl/messages.json b/platform/mv3/extension/_locales/gl/messages.json
index 9737c2e4c35f9..0d6a94964a697 100644
--- a/platform/mv3/extension/_locales/gl/messages.json
+++ b/platform/mv3/extension/_locales/gl/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Crear nova denuncia",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Modo de filtrado por defecto",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Páxina bloqueada",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite evitou que a seguinte páxina se cargase:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Volver",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Pechar esta xanela",
diff --git a/platform/mv3/extension/_locales/gu/messages.json b/platform/mv3/extension/_locales/gu/messages.json
index f4ab788a6317c..486ab7a1cda95 100644
--- a/platform/mv3/extension/_locales/gu/messages.json
+++ b/platform/mv3/extension/_locales/gu/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -224,7 +224,7 @@
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
- "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher webpage resources usage.",
+ "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher web page resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/he/messages.json b/platform/mv3/extension/_locales/he/messages.json
index 926fce5a813fc..bfe1ae3b38f15 100644
--- a/platform/mv3/extension/_locales/he/messages.json
+++ b/platform/mv3/extension/_locales/he/messages.json
@@ -72,7 +72,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
- "message": "תחומי תוכנות זדוניות",
+ "message": "הגנה מפני נוזקות, אבטחה",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "צור דיווח חדש",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "מצב סינון ברירת מחדל",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "הדף נחסם",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite מנע טעינה של הדפים הבאים:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "חזור",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "סגור חלון זה",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "אפס להגדרות ברירת מחדל…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "כל ההגדרות האישיות שלך ימחקו. האם באמת לאפס להגדרות ברירת מחדל?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/hi/messages.json b/platform/mv3/extension/_locales/hi/messages.json
index c328798735456..e924ac7820e92 100644
--- a/platform/mv3/extension/_locales/hi/messages.json
+++ b/platform/mv3/extension/_locales/hi/messages.json
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "डिफ़ॉल्ट फ़िल्टरिंग मोड",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/hr/messages.json b/platform/mv3/extension/_locales/hr/messages.json
index e856f5e9dd4fa..1408ecea3ae7d 100644
--- a/platform/mv3/extension/_locales/hr/messages.json
+++ b/platform/mv3/extension/_locales/hr/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Napravi novu prijavu na GitHub-u",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Zadani način filtriranja",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Stranica blokirana",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite je spriječio učitavanje sljedeće stranice:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Idi natrag",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Zatvori ovaj prozor",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Resetiraj na zadane postavke…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Sve Vaše prilagođene postavke će biti uklonjene. Želite li zaista resetirati na zadane postavke?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/hu/messages.json b/platform/mv3/extension/_locales/hu/messages.json
index e787489227f71..823bdcd857679 100644
--- a/platform/mv3/extension/_locales/hu/messages.json
+++ b/platform/mv3/extension/_locales/hu/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Új jelentés létrehozása GitHub-ra",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Alapértelmezett szűrési mód",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Oldal blokkolva",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "A uBO Lite megakadályozta a következő oldal betöltését:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Vissza",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Ablak bezárása",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Alapértelmezett beállításokra visszaállítás…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Az összes egyéni beállításod törlődik. Tényleg az alapbeállításokra akarsz viszzaállítani?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/hy/messages.json b/platform/mv3/extension/_locales/hy/messages.json
index 6c9ad38a6581f..a61d7b8890113 100644
--- a/platform/mv3/extension/_locales/hy/messages.json
+++ b/platform/mv3/extension/_locales/hy/messages.json
@@ -144,7 +144,7 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Զտման լռելյայն ռեժիմ",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Հետ գնալ",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Փակել այս պատուհանը",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/id/messages.json b/platform/mv3/extension/_locales/id/messages.json
index 24e06874f38d3..9a4935a0f1e29 100644
--- a/platform/mv3/extension/_locales/id/messages.json
+++ b/platform/mv3/extension/_locales/id/messages.json
@@ -72,7 +72,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
- "message": "Domain malware",
+ "message": "Perlindungan malware, keamanan",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Buat laporan baru",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Mode filter bawaan",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Halaman diblokir",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite telah mencegah pemuatan halaman berikut:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Kembali",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Tutup jendela ini",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Kembalikan ke pengaturan bawaan…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Semua pengaturan kustom kamu akan dihapus. Apakah kamu benar ingin kembali ke pengaturan bawaan?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/it/messages.json b/platform/mv3/extension/_locales/it/messages.json
index 33a52e9934e9c..0390bcb8766a1 100644
--- a/platform/mv3/extension/_locales/it/messages.json
+++ b/platform/mv3/extension/_locales/it/messages.json
@@ -72,7 +72,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
- "message": "Domini che diffondono virus",
+ "message": "Protezione dai malware, sicurezza",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Crea nuova segnalazione in GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Modalità di filtraggio predefinita",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Pagina bloccata",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite ha impedito alla seguente pagina di caricarsi:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Torna indietro",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Chiudi questa finestra",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Reimposta configurazione predefinita…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Le impostazioni personali saranno rimosse. Vuoi veramente reimpostare i valori predefiniti?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/ja/messages.json b/platform/mv3/extension/_locales/ja/messages.json
index 7cba2f5ffb8b4..279638fc745ca 100644
--- a/platform/mv3/extension/_locales/ja/messages.json
+++ b/platform/mv3/extension/_locales/ja/messages.json
@@ -72,7 +72,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
- "message": "マルウェアドメイン",
+ "message": "マルウェアからの保護、セキュリティ",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "新しい報告を作成",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "デフォルトのフィルタリングモード",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "ブロックしたページ",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite はこのページの読み込みをブロックしています:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "戻る",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "このウィンドウを閉じる",
diff --git a/platform/mv3/extension/_locales/ka/messages.json b/platform/mv3/extension/_locales/ka/messages.json
index fff002ff3fdad..804e6ff6dab3f 100644
--- a/platform/mv3/extension/_locales/ka/messages.json
+++ b/platform/mv3/extension/_locales/ka/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "შექმენით ახალი მოსხენება",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "გაფილტვრის ნაგულისხმევი რეჟიმი",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "შეზღუდული გვერდი",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite ზღუდავს მოცემული გვერდის ჩატვირთვას:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "უკან დაბრუნება",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "ამ ფანჯრის დახურვა",
diff --git a/platform/mv3/extension/_locales/kk/messages.json b/platform/mv3/extension/_locales/kk/messages.json
index f4ab788a6317c..486ab7a1cda95 100644
--- a/platform/mv3/extension/_locales/kk/messages.json
+++ b/platform/mv3/extension/_locales/kk/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -224,7 +224,7 @@
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
- "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher webpage resources usage.",
+ "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher web page resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/kn/messages.json b/platform/mv3/extension/_locales/kn/messages.json
index 08c8db5c634a4..bb2316d8279bb 100644
--- a/platform/mv3/extension/_locales/kn/messages.json
+++ b/platform/mv3/extension/_locales/kn/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -224,7 +224,7 @@
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
- "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher webpage resources usage.",
+ "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher web page resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/ko/messages.json b/platform/mv3/extension/_locales/ko/messages.json
index 09e61f3753671..91bb8a46e7e9c 100644
--- a/platform/mv3/extension/_locales/ko/messages.json
+++ b/platform/mv3/extension/_locales/ko/messages.json
@@ -4,7 +4,7 @@
"description": "extension name."
},
"extShortDesc": {
- "message": "효율적인 콘텐츠 차단기입니다. 설치 직후 광고, 추적기, 채굴기 등을 즉시 차단합니다.",
+ "message": "효율적인 콘텐츠 차단기입니다. 설치 즉시 광고, 추적기, 암호화폐 채굴기 등을 차단합니다.",
"description": "this will be in the Chrome web store: must be 132 characters or less"
},
"perRulesetStats": {
@@ -32,7 +32,7 @@
"description": "appears as tab name in dashboard"
},
"aboutPrivacyPolicy": {
- "message": "개인정보취급방침",
+ "message": "개인정보 처리방침",
"description": "Link to privacy policy on GitHub (English)"
},
"popupFilteringModeLabel": {
@@ -68,7 +68,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupPrivacy": {
- "message": "개인 정보 보호",
+ "message": "개인정보 보호",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
@@ -92,7 +92,7 @@
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
- "message": "여기에 추가하려는 표면 필터 붙여넣기",
+ "message": "여기에 추가하려는 요소 숨김 필터 붙여넣기",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
@@ -136,7 +136,7 @@
"description": "Label of 'Troubleshooting information' section in 'Report a filter issue' page"
},
"supportS6P1S1": {
- "message": "자원봉사자들이 중복 신고로 인해 부담을 겪지 않도록, 해당 이슈가 이미 신고되지는 않았는지 확인해 주시기 바랍니다.",
+ "message": "자원봉사자들의 중복 업무를 방지하기 위해, 이미 보고된 문제인지 먼저 확인해 주세요. 주의: 아래 버튼을 클릭하면 현재 페이지 주소가 GitHub로 전송됩니다.",
"description": "A paragraph in the filter issue reporter section"
},
"supportFindSpecificButton": {
@@ -188,8 +188,8 @@
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
- "message": "새 신고 생성",
- "description": "Text for button which open an external webpage in Support pane"
+ "message": "GitHub에서 새 신고 생성",
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "기본 필터링 모드",
@@ -224,7 +224,7 @@
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
- "message": "고급 네트워크 필터링과 선택한 필터 목록을 바탕으로 특정한 확장 필터링 및 보편적인 확장 필터링을 수행합니다.\n\n모든 웹사이트에서 데이터를 읽고 쓸 수 있도록 하는 광범위한 권한이 필요합니다.\n\n보편적인 확장 필터링 기능을 이용하는 경우 웹페이지의 리소스 사용량이 증가할 수 있습니다.",
+ "message": "고급 네트워크 필터링과 선택한 필터 목록을 기반의 맞춤형 및 보편적인 확장 필터링을 제공합니다.\n\n모든 웹사이트에서 데이터를 읽고 변경할 수 있도록 하는 광범위한 권한이 필요합니다.\n\n보편적인 확장 필터링을 사용하면 웹페이지의 리소스 사용량이 증가할 수 있습니다.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "페이지 차단됨",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite가 다음 페이지를 불러오지 못하게 했습니다.",
@@ -301,14 +301,14 @@
},
"strictblockBack": {
"message": "뒤로",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "창 닫기",
"description": "A button to close the current tab"
},
"strictblockDontWarn": {
- "message": "다시는 이 사이트에 대해 경고하지 않기",
+ "message": "이 사이트에 대해 다시 경고하지 않기",
"description": "Label for checkbox in document-blocked page"
},
"strictblockProceed": {
@@ -316,11 +316,11 @@
"description": "A button to navigate to the blocked page"
},
"zapperTipEnter": {
- "message": "구성 요소 제거 모드로 진입",
+ "message": "숨길 요소 선택하기",
"description": "Tooltip for the button used to enter zapper mode"
},
"zapperTipQuit": {
- "message": "구성 요소 제거 모드 종료",
+ "message": "숨길 요소 선택 종료하기",
"description": "Tooltip for the button used to exit zapper mode"
},
"pickerTipEnter": {
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "기본 설정으로 초기화하기…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "모든 커스텀 설정이 삭제됩니다. 정말 진행하시겠습니까?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/lt/messages.json b/platform/mv3/extension/_locales/lt/messages.json
index 57b24d4f6ab4a..d2597c03fff20 100644
--- a/platform/mv3/extension/_locales/lt/messages.json
+++ b/platform/mv3/extension/_locales/lt/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -224,7 +224,7 @@
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
- "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher webpage resources usage.",
+ "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher web page resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/lv/messages.json b/platform/mv3/extension/_locales/lv/messages.json
index 24885587af46b..6d858f1dc500e 100644
--- a/platform/mv3/extension/_locales/lv/messages.json
+++ b/platform/mv3/extension/_locales/lv/messages.json
@@ -72,7 +72,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
- "message": "Ļaunatūras domēni",
+ "message": "Aizsardzība pret ļaunprātīgām (inficētas vai satur vīrusus) vietnēm, drošība",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Izveidot jaunu ziņojumu",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Noklusējuma aizturēšanas veids",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Lapa aizturēta",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite novērsa šīs lapas ielādēšanu:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Doties atpakaļ",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Aizvērt šo logu",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Atiestatīt uz noklusējuma iestatījumiem…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Visi pielāgotie iestatījumi tiks noņemti. Vai tiešām atiestatīt uz noklusējuma iestatījumiem?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/mk/messages.json b/platform/mv3/extension/_locales/mk/messages.json
index 4f40969547511..8af10cef6a0b3 100644
--- a/platform/mv3/extension/_locales/mk/messages.json
+++ b/platform/mv3/extension/_locales/mk/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Создај нова пријава",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Режим на филтрирање по подразбирање",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Блокирана страница",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Оди назад",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Затвори го прозорецот",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/ml/messages.json b/platform/mv3/extension/_locales/ml/messages.json
index 1dfd83d3cdbb5..b941e63f63a28 100644
--- a/platform/mv3/extension/_locales/ml/messages.json
+++ b/platform/mv3/extension/_locales/ml/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "ഡിഫോൾട്ട് ഫിൽട്ടറിംഗ് മോഡ്",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/mr/messages.json b/platform/mv3/extension/_locales/mr/messages.json
index f4ab788a6317c..486ab7a1cda95 100644
--- a/platform/mv3/extension/_locales/mr/messages.json
+++ b/platform/mv3/extension/_locales/mr/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -224,7 +224,7 @@
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
- "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher webpage resources usage.",
+ "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher web page resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/ms/messages.json b/platform/mv3/extension/_locales/ms/messages.json
index 46d5796369b36..eb273584147a8 100644
--- a/platform/mv3/extension/_locales/ms/messages.json
+++ b/platform/mv3/extension/_locales/ms/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Mod penapisan lalai",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/nb/messages.json b/platform/mv3/extension/_locales/nb/messages.json
index 8d2786da3115b..f412787c39e56 100644
--- a/platform/mv3/extension/_locales/nb/messages.json
+++ b/platform/mv3/extension/_locales/nb/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Opprett ny rapport på GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Standard filtreringsmodus",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Side blokkert",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite har forhindret innlasting av følgende side:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Gå tilbake",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Lukk dette vinduet",
@@ -384,7 +384,7 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Tilbakestill til standardinnstillinger…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
diff --git a/platform/mv3/extension/_locales/nl/messages.json b/platform/mv3/extension/_locales/nl/messages.json
index 6cb4216bf12d8..c36acb465f5d8 100644
--- a/platform/mv3/extension/_locales/nl/messages.json
+++ b/platform/mv3/extension/_locales/nl/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Nieuwe melding op GitHub maken",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Standaard filtermodus",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Pagina geblokkeerd",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite heeft het laden van de volgende pagina voorkomen:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Teruggaan",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Dit venster sluiten",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Standaardinstellingen terugzetten…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Al uw aangepaste instellingen zullen worden verwijderd. Wilt u de standaardinstellingen echt terugzetten?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/oc/messages.json b/platform/mv3/extension/_locales/oc/messages.json
index f4ab788a6317c..486ab7a1cda95 100644
--- a/platform/mv3/extension/_locales/oc/messages.json
+++ b/platform/mv3/extension/_locales/oc/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -224,7 +224,7 @@
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
- "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher webpage resources usage.",
+ "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher web page resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/pa/messages.json b/platform/mv3/extension/_locales/pa/messages.json
index d31d9d143ea68..6cb1ade840eea 100644
--- a/platform/mv3/extension/_locales/pa/messages.json
+++ b/platform/mv3/extension/_locales/pa/messages.json
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "ਨਵੀਂ ਰਿਪੋਰਟ ਬਣਾਓ",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "ਮੂਲ ਫਿਲਟਰ ਕਰਨ ਦਾ ਢੰਗ",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "ਸਫ਼ੇ ਉੱਤੇ ਪਾਬੰਦੀ ਹੈ",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite ਨੇ ਅੱਗੇ ਦਿੱਤੇ ਸਫ਼ੇ ਨੂੰ ਲੋਡ ਹੋਣ ਤੋਂ ਰੋਕਿਆ ਹੈ:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "ਪਿੱਛੇ ਜਾਓ",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "ਇਹ ਵਿੰਡੋ ਨੂੰ ਬੰਦ ਕਰੋ",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/pl/messages.json b/platform/mv3/extension/_locales/pl/messages.json
index b94336e3b8d1f..6e01dc23c7aa3 100644
--- a/platform/mv3/extension/_locales/pl/messages.json
+++ b/platform/mv3/extension/_locales/pl/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Utwórz nowy raport",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Domyślny tryb filtrowania",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Strona zablokowana",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite nie pozwolił załadować się następującej stronie:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Wstecz",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Zamknij to okno",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Przywróć ustawienia domyślne…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Wszystkie ustawienia niestandardowe zostaną usunięte. Czy na pewno chcesz przywrócić ustawienia domyślne?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/pt_BR/messages.json b/platform/mv3/extension/_locales/pt_BR/messages.json
index cfe4d57237ded..570e7120d4973 100644
--- a/platform/mv3/extension/_locales/pt_BR/messages.json
+++ b/platform/mv3/extension/_locales/pt_BR/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Criar um novo relatório no GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Modo de filtragem padrão",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Página bloqueada",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "O uBO Lite impediu o carregamento da seguinte página:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Voltar",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Fechar esta janela",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Reconfigurar tudo para o padrão…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Todas as suas configurações personalizadas serão removidas. Você realmente quer resetar para as configurações padrão?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/pt_PT/messages.json b/platform/mv3/extension/_locales/pt_PT/messages.json
index f37ac13a47639..881a97938178e 100644
--- a/platform/mv3/extension/_locales/pt_PT/messages.json
+++ b/platform/mv3/extension/_locales/pt_PT/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Criar novo relatório no GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Modo de filtragem predefinido",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Página bloqueada",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "O uBO Lite impediu a seguinte página de ser carregada:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Voltar",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Fechar esta janela",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Repor as definições predefinidas…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Todas as suas definições personalizadas serão removidas. Pretende mesmo repor as definições predefinidas?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/ro/messages.json b/platform/mv3/extension/_locales/ro/messages.json
index a5acae36ee850..dde28eb985f69 100644
--- a/platform/mv3/extension/_locales/ro/messages.json
+++ b/platform/mv3/extension/_locales/ro/messages.json
@@ -4,7 +4,7 @@
"description": "extension name."
},
"extShortDesc": {
- "message": "Un blocant experimental, fără permisiuni. Blochează reclamele, urmăritorii, minerii de monede virtuale și multe altele imediat [...]",
+ "message": "Un blocant de conținut eficient. Blochează reclamele, urmăritorii, minerii și multe altele imediat după instalare.",
"description": "this will be in the Chrome web store: must be 132 characters or less"
},
"perRulesetStats": {
@@ -72,7 +72,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
- "message": "Domenii malițioase",
+ "message": "Domenii malițioase, securitate",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Creează o nouă sesizare",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Mod de filtrare implicit",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Pagină blocată",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite a împiedicat încărcarea următoarei pagini:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Înapoi",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Închide fereastra",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Restabilește setările implicite…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Toate setările personalizate vor fi eliminate. Doriți cu siguranță să resetați la setările implicite?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/ru/messages.json b/platform/mv3/extension/_locales/ru/messages.json
index 2a853326c00ea..7678dd71c269f 100644
--- a/platform/mv3/extension/_locales/ru/messages.json
+++ b/platform/mv3/extension/_locales/ru/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Создать новый отчёт в GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Режим фильтрации по умолчанию",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Страница заблокирована",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite предотвратил загрузку следующей страницы:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Назад",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Закрыть это окно",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Сброс до настроек по умолчанию…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Все ваши пользовательские настройки будут удалены. Уверены, что хотите восстановить настройки по умолчанию?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/si/messages.json b/platform/mv3/extension/_locales/si/messages.json
index f73cdc049277c..12396c138638b 100644
--- a/platform/mv3/extension/_locales/si/messages.json
+++ b/platform/mv3/extension/_locales/si/messages.json
@@ -72,7 +72,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
- "message": "ද්වේශාංග වසම්",
+ "message": "අනිෂ්ට මෘදුකාංග ආරක්ෂාව, ආරක්ෂාව",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "නව වාර්තාවක් සාදන්න",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "පෙරනිමි පෙරීමේ ප්රකාරය",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "පිටුව අවහිරයි",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite විසින් පහත පිටුව පූරණය වීම වළක්වා ඇත:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "ආපසු යන්න",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "මෙම කවුළුව වසන්න",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/sk/messages.json b/platform/mv3/extension/_locales/sk/messages.json
index f3ce06a9309c9..fc76770e1682b 100644
--- a/platform/mv3/extension/_locales/sk/messages.json
+++ b/platform/mv3/extension/_locales/sk/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Vytvoriť nové hlásenie na Githube",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Predvolený režim filtrovania",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Zablokovaná stránka",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite zabránil načítaniu nasledujúcej stránky:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Naspäť",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Zatvoriť toto okno",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Obnoviť predvolené nastavenia…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Všetky vlastné nastavenia sa odstránia. Naozaj chcete obnoviť predvolené nastavenia?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/sl/messages.json b/platform/mv3/extension/_locales/sl/messages.json
index f4ab788a6317c..486ab7a1cda95 100644
--- a/platform/mv3/extension/_locales/sl/messages.json
+++ b/platform/mv3/extension/_locales/sl/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -224,7 +224,7 @@
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
- "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher webpage resources usage.",
+ "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher web page resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/so/messages.json b/platform/mv3/extension/_locales/so/messages.json
index f4ab788a6317c..486ab7a1cda95 100644
--- a/platform/mv3/extension/_locales/so/messages.json
+++ b/platform/mv3/extension/_locales/so/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -224,7 +224,7 @@
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
- "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher webpage resources usage.",
+ "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher web page resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/sq/messages.json b/platform/mv3/extension/_locales/sq/messages.json
index d3732ecd5086a..66b5ca4eef6a6 100644
--- a/platform/mv3/extension/_locales/sq/messages.json
+++ b/platform/mv3/extension/_locales/sq/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Krijoj raport të ri në GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Mënyra standarde e filtrimit",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Faqe e bllokuar",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite pengoi hapjen e faqes vijuese:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Kthehem",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Mbyll dritaren",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Rikthej parametrat standardë…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Do të hiqen gjithë parameterat e personalizuar. Vërtet doni të riktheni parametrat standardë?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/sr/messages.json b/platform/mv3/extension/_locales/sr/messages.json
index 8531324da5ce6..3948ee4d86a59 100644
--- a/platform/mv3/extension/_locales/sr/messages.json
+++ b/platform/mv3/extension/_locales/sr/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Креирај нови извештај",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Подразумевани режим филтрирања",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Страница је блокирана",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite је спречио учитавање следеће странице:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Иди назад",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Затвори овај прозор",
diff --git a/platform/mv3/extension/_locales/sv/messages.json b/platform/mv3/extension/_locales/sv/messages.json
index bdee8f0d749a9..56e7d92265842 100644
--- a/platform/mv3/extension/_locales/sv/messages.json
+++ b/platform/mv3/extension/_locales/sv/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Skapa ny rapport på GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Standardfiltreringsläge",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Sidan blockerad",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite har förhindrat följande sida från att läsas in:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Gå tillbaka",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Stäng det här fönstret",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Återställ till standardinställningarna…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Alla dina anpassade inställningar kommer att tas bort. Vill du verkligen återställa till standardinställningarna?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/sw/messages.json b/platform/mv3/extension/_locales/sw/messages.json
index f4ab788a6317c..486ab7a1cda95 100644
--- a/platform/mv3/extension/_locales/sw/messages.json
+++ b/platform/mv3/extension/_locales/sw/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -224,7 +224,7 @@
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
- "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher webpage resources usage.",
+ "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher web page resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/ta/messages.json b/platform/mv3/extension/_locales/ta/messages.json
index f4ab788a6317c..38ef047e551af 100644
--- a/platform/mv3/extension/_locales/ta/messages.json
+++ b/platform/mv3/extension/_locales/ta/messages.json
@@ -16,11 +16,11 @@
"description": "English: uBO Lite — Dashboard"
},
"settingsPageName": {
- "message": "Settings",
+ "message": "அமைப்புகள்",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
- "message": "Custom filters",
+ "message": "விருப்ப வடிகட்டிகள்",
"description": "appears as tab name in dashboard"
},
"developPageName": {
@@ -28,11 +28,11 @@
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
},
"aboutPageName": {
- "message": "About",
+ "message": "பற்றி",
"description": "appears as tab name in dashboard"
},
"aboutPrivacyPolicy": {
- "message": "Privacy policy",
+ "message": "தனியுரிமை கொள்கை",
"description": "Link to privacy policy on GitHub (English)"
},
"popupFilteringModeLabel": {
@@ -52,7 +52,7 @@
"description": "English: Click to open the dashboard"
},
"popupMoreButton": {
- "message": "More",
+ "message": "மேலும்",
"description": "Label to be used to show popup panel sections"
},
"popupLessButton": {
@@ -64,11 +64,11 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAds": {
- "message": "Ads",
+ "message": "விளம்பரங்கள்",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupPrivacy": {
- "message": "Privacy",
+ "message": "தனியுரிமை",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
@@ -76,11 +76,11 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
- "message": "Annoyances",
+ "message": "எரிச்சல்கள்",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMisc": {
- "message": "Miscellaneous",
+ "message": "இதர",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupRegions": {
@@ -88,7 +88,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
- "message": "Import / Export",
+ "message": "இறக்குமதி / ஏற்றுமதி",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
@@ -96,7 +96,7 @@
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
- "message": "Changelog",
+ "message": "மாற்றப்பதிவேடு",
"description": ""
},
"aboutCode": {
@@ -104,23 +104,23 @@
"description": "English: Source code (GPLv3)"
},
"aboutContributors": {
- "message": "Contributors",
+ "message": "பங்களிப்பாளர்கள்",
"description": "English: Contributors"
},
"aboutSourceCode": {
- "message": "Source code",
+ "message": "நிரல்மூலம்",
"description": "Link text to source code repo"
},
"aboutTranslations": {
- "message": "Translations",
+ "message": "மொழிபெயர்ப்புகள்",
"description": "Link text to translations repo"
},
"aboutFilterLists": {
- "message": "Filter lists",
+ "message": "வடிகட்டி பட்டியல்கள்",
"description": "Link text to uBO's own filter lists repo"
},
"aboutDependencies": {
- "message": "External dependencies (GPLv3-compatible):",
+ "message": "வெளிப்புற சார்புகள் (GPLv3- இணக்கமானது):",
"description": "Shown in the About pane"
},
"supportS6H": {
@@ -132,7 +132,7 @@
"description": "First paragraph of 'Filter issues' section in Support pane"
},
"supportS5H": {
- "message": "Troubleshooting information",
+ "message": "பிழைதீர்க்கும் தகவல்",
"description": "Label of 'Troubleshooting information' section in 'Report a filter issue' page"
},
"supportS6P1S1": {
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "வலைப்பக்கத்தின் முகவரி:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "வலைப்பக்கம்…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -156,11 +156,11 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option1": {
- "message": "Shows ads or ad leftovers",
+ "message": "விளம்பரங்களையோ அல்லது விளம்பரக் குறிப்புகளையோ காண்பிக்கிறது",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option2": {
- "message": "Has overlays or other nuisances",
+ "message": "மேலோட்டங்கள் அல்லது பிற சிரமங்களைக் கொண்டுள்ளது",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option3": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -200,19 +200,19 @@
"description": "This describes the default filtering mode setting"
},
"filteringMode0Name": {
- "message": "no filtering",
+ "message": "வடிகட்டு இல்லை",
"description": "Name of blocking mode 0"
},
"filteringMode1Name": {
- "message": "basic",
+ "message": "அடிப்படை",
"description": "Name of blocking mode 1"
},
"filteringMode2Name": {
- "message": "optimal",
+ "message": "சிறந்தது",
"description": "Name of blocking mode 2"
},
"filteringMode3Name": {
- "message": "complete",
+ "message": "முழுமையான",
"description": "Name of blocking mode 3"
},
"basicFilteringModeDescription": {
@@ -224,7 +224,7 @@
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
- "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher webpage resources usage.",
+ "message": "Advanced network filtering plus specific and generic extended filtering from selected filter lists.\n\nRequires broad permission to read and modify data on all websites.\n\nGeneric extended filtering may cause higher web page resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/te/messages.json b/platform/mv3/extension/_locales/te/messages.json
index 7b9808d3aff6c..a6912b6505bbf 100644
--- a/platform/mv3/extension/_locales/te/messages.json
+++ b/platform/mv3/extension/_locales/te/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/th/messages.json b/platform/mv3/extension/_locales/th/messages.json
index c69cda0791bbe..89e328acd20ad 100644
--- a/platform/mv3/extension/_locales/th/messages.json
+++ b/platform/mv3/extension/_locales/th/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "สร้างรายงานใหม่",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "โหมดการกรองเริ่มต้น",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "บล๊อกเพจ",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite ได้ป้องกันเพจเหล่านี้จากการโหลด:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "ย้อนกลับ",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "ปิดหน้าต่างนี้",
diff --git a/platform/mv3/extension/_locales/tr/messages.json b/platform/mv3/extension/_locales/tr/messages.json
index ddd6b374c1b99..f80e64bcab16d 100644
--- a/platform/mv3/extension/_locales/tr/messages.json
+++ b/platform/mv3/extension/_locales/tr/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "GitHub'da yeni rapor oluştur",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Varsayılan filtreleme modu",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Sayfa engellendi",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBo Lite aşağıdaki sayfaların yüklenmesini engelledi:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Geri git",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Bu pencereyi kapat",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Varsayılan ayarlara sıfırla... ",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Tüm özel ayarlarınız silinecektir. Gerçekten varsayılan ayarlara sıfırlamak istiyor musunuz?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/uk/messages.json b/platform/mv3/extension/_locales/uk/messages.json
index 42751c051a0a6..f1dcd40ea6e63 100644
--- a/platform/mv3/extension/_locales/uk/messages.json
+++ b/platform/mv3/extension/_locales/uk/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Створити новий звіт",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Типовий режим фільтрування",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Сторінку заблоковано",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite заблокував завантаження таких сторінок:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Повернутися",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Закрити це вікно",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "Скинути до усталених налаштувань…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "Усі користувацькі налаштування буде вилучено. Хочете скинути налаштування до типових?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/ur/messages.json b/platform/mv3/extension/_locales/ur/messages.json
index a4e4df44ddea2..fee739f926b05 100644
--- a/platform/mv3/extension/_locales/ur/messages.json
+++ b/platform/mv3/extension/_locales/ur/messages.json
@@ -144,11 +144,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
- "message": "Address of the webpage:",
+ "message": "Address of the web page:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "The webpage…",
+ "message": "The web page…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -184,12 +184,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Label the webpage as “NSFW” (“Not Safe For Work”)",
+ "message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "ڈیفالٹ فلٹرنگ موڈ",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Page blocked",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Go back",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Close this window",
@@ -416,7 +416,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
- "message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
+ "message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}
diff --git a/platform/mv3/extension/_locales/vi/messages.json b/platform/mv3/extension/_locales/vi/messages.json
index 70f6b8cecbe0e..b6c876793d17b 100644
--- a/platform/mv3/extension/_locales/vi/messages.json
+++ b/platform/mv3/extension/_locales/vi/messages.json
@@ -72,7 +72,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
- "message": "Các tên miền nguy hiểm",
+ "message": "Bảo vệ phần mềm độc hại, bảo mật",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "Tạo báo cáo mới",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Chế độ bộ lọc mặc định",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "Trang bị chặn",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite đã ngăn tải trang sau:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "Quay lại",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "Đóng cửa sổ này",
diff --git a/platform/mv3/extension/_locales/zh_CN/messages.json b/platform/mv3/extension/_locales/zh_CN/messages.json
index 6933643317795..7754478f911b0 100644
--- a/platform/mv3/extension/_locales/zh_CN/messages.json
+++ b/platform/mv3/extension/_locales/zh_CN/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "创建新报告",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "默认过滤模式",
@@ -281,14 +281,14 @@
},
"strictblockTitle": {
"message": "页面已被拦截",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite 已阻止加载以下页面:",
"description": "Sentence used in the strict-blocked page"
},
"strictblockReasonSentence1": {
- "message": "该页面由于 {{listName}} 中的匹配过滤器而被阻止。",
+ "message": "该页面由于 {{listname}} 中的匹配过滤器而被阻止。",
"description": "Text informing about what is causing the page to be blocked"
},
"strictblockRedirectSentence1": {
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "返回",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "关闭此窗口",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "重置为默认设置…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "您的自定义设置将被清除。是否确定要重置为默认设置?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/_locales/zh_TW/messages.json b/platform/mv3/extension/_locales/zh_TW/messages.json
index 9f236bc176edc..f8cc378afbe0a 100644
--- a/platform/mv3/extension/_locales/zh_TW/messages.json
+++ b/platform/mv3/extension/_locales/zh_TW/messages.json
@@ -189,7 +189,7 @@
},
"supportReportSpecificButton": {
"message": "建立新報告",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which opens an external web page in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "預設過濾模式",
@@ -281,7 +281,7 @@
},
"strictblockTitle": {
"message": "已封鎖頁面",
- "description": "Webpage title for the strict-blocked page"
+ "description": "Web page title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite 已防止下列頁面載入:",
@@ -301,7 +301,7 @@
},
"strictblockBack": {
"message": "返回",
- "description": "A button to go back to the previous webpage"
+ "description": "A button to go back to the previous web page"
},
"strictblockClose": {
"message": "關閉此視窗",
@@ -384,11 +384,11 @@
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
- "message": "Reset to default settings…",
+ "message": "重設為預設設定……",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
- "message": "All your custom settings will be removed. Do you really want to reset to default settings?",
+ "message": "所有自訂設定都將被移除。您確定要重設為預設值嗎?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
diff --git a/platform/mv3/extension/css/dashboard.css b/platform/mv3/extension/css/dashboard.css
index dc3a69e4478ee..45a4d98dce78c 100644
--- a/platform/mv3/extension/css/dashboard.css
+++ b/platform/mv3/extension/css/dashboard.css
@@ -61,11 +61,12 @@ body [data-pane-related] {
padding: 0 var(--default-gap-xxsmall);
}
-body[data-pane="settings"] > section[data-pane="settings"],
-body[data-pane="rulesets"] > section[data-pane="rulesets"],
-body[data-pane="filters"] > section[data-pane="filters"],
-body[data-pane="develop"] > section[data-pane="develop"],
-body[data-pane="about"] > section[data-pane="about"] {
+body[data-pane="settings"]:not(.busy) > section[data-pane="settings"],
+body[data-pane="rulesets"]:not(.busy) > section[data-pane="rulesets"],
+body[data-pane="filters"]:not(.busy) > section[data-pane="filters"],
+body[data-pane="develop"]:not(.busy) > section[data-pane="develop"],
+body[data-pane="about"]:not(.busy) > section[data-pane="about"],
+body.busy[data-pane] > section[data-pane="busy"] {
display: block;
}
diff --git a/platform/mv3/extension/css/popup.css b/platform/mv3/extension/css/popup.css
index b2f208a7ea754..b3eea177e72ec 100644
--- a/platform/mv3/extension/css/popup.css
+++ b/platform/mv3/extension/css/popup.css
@@ -1,4 +1,12 @@
- /* External CSS values override */
+@keyframes spin {
+ 0% { transform: rotate(0deg); }
+ 100% { transform: rotate(360deg); }
+ }
+@keyframes busy {
+ to { opacity: 90%; }
+}
+
+/* External CSS values override */
.fa-icon.fa-icon-badged > .fa-icon-badge {
bottom: auto;
top: -20%;
@@ -30,14 +38,40 @@ a {
outline: 0;
}
-#main {
+main {
align-self: flex-start;
display: flex;
flex-direction: column;
}
-:root.portrait #main {
+body.busy main {
+ pointer-events: none;
+}
+:root.portrait main {
align-self: inherit;
}
+aside {
+ background-color: var(--surface-1);
+ bottom: 0;
+ display: none;
+ left: 0;
+ opacity: 0;
+ overflow: hidden;
+ position: absolute;
+ right: 0;
+ top: 0;
+ z-index: 1000;
+}
+aside .fa-icon {
+ animation: spin 1s steps(8) infinite;
+ fill: var(--surface-3);
+ font-size: 4em;
+ margin: 2em;
+}
+body.busy aside {
+ animation: busy 0s step-start 1s;
+ animation-fill-mode: forwards;
+ display: block;
+}
hr {
margin: 0.5em 0;
}
@@ -185,7 +219,7 @@ body.needReload #refresh {
overflow-y: auto;
width: 100%;
}
-:root.portrait #main {
+:root.portrait main {
max-width: unset;
}
/* mouse-driven devices */
diff --git a/platform/mv3/extension/css/settings.css b/platform/mv3/extension/css/settings.css
index d0efeb1b675f8..5c9a2462fe9c7 100644
--- a/platform/mv3/extension/css/settings.css
+++ b/platform/mv3/extension/css/settings.css
@@ -249,7 +249,7 @@ body section[data-pane="filters"] .hostnames {
body section[data-pane="filters"] .hostnames:empty {
display: none;
}
-body.busy section[data-pane="filters"] .hostnames {
+body.readonly section[data-pane="filters"] .hostnames {
pointer-events: none;
}
section[data-pane="filters"] ul {
@@ -347,3 +347,15 @@ section[data-pane="filters"] aside p {
justify-content: flex-start;
}
}
+
+body.busy section[data-pane="busy"] > div {
+ justify-content: center;
+ display: flex;
+ align-items: stretch;
+}
+body.busy section[data-pane="busy"] .fa-icon {
+ animation: spin 1s steps(8) infinite;
+ fill: var(--surface-3);
+ font-size: 4em;
+ margin: 2em;
+}
\ No newline at end of file
diff --git a/platform/mv3/extension/dashboard.html b/platform/mv3/extension/dashboard.html
index 7bbcec103a171..4f96966935ca9 100644
--- a/platform/mv3/extension/dashboard.html
+++ b/platform/mv3/extension/dashboard.html
@@ -173,6 +173,12 @@
_
+
+
diff --git a/platform/mv3/extension/js/action.js b/platform/mv3/extension/js/action.js
index 811fe101c0b1b..7e194dd084df1 100644
--- a/platform/mv3/extension/js/action.js
+++ b/platform/mv3/extension/js/action.js
@@ -19,8 +19,8 @@
Home: https://github.com/gorhill/uBlock
*/
-import { matchesFromHostnames, strArrayEq } from './utils.js';
import { browser } from './ext.js';
+import { matchesFromHostnames } from './utils.js';
/******************************************************************************/
@@ -91,9 +91,6 @@ export async function registerToolbarIconToggler(context) {
if ( toToggle.size === 0 ) { return; }
- const registered = context.before.get('toolbar-icon');
- context.before.delete('toolbar-icon'); // Important!
-
const directive = {
id: 'toolbar-icon',
js: [ '/js/scripting/toolbar-icon.js' ],
@@ -101,10 +98,5 @@ export async function registerToolbarIconToggler(context) {
runAt: 'document_start',
};
- if ( registered === undefined ) {
- context.toAdd.push(directive);
- } else if ( strArrayEq(registered.matches, directive.matches) === false ) {
- context.toRemove.push('toolbar-icon');
- context.toAdd.push(directive);
- }
+ context.toAdd.push(directive);
}
diff --git a/platform/mv3/extension/js/background.js b/platform/mv3/extension/js/background.js
index 6b8a815c30449..d266cccdd51cc 100644
--- a/platform/mv3/extension/js/background.js
+++ b/platform/mv3/extension/js/background.js
@@ -55,8 +55,6 @@ import {
import {
broadcastMessage,
- gotoURL,
- hasBroadHostPermissions,
hostnameFromMatch,
hostnamesFromMatches,
} from './utils.js';
@@ -101,6 +99,11 @@ import {
ubolLog,
} from './debug.js';
+import {
+ gotoURL,
+ hasBroadHostPermissions,
+} from './ext-utils.js';
+
import { dnr } from './ext-compat.js';
import { toggleToolbarIcon } from './action.js';
@@ -399,6 +402,10 @@ function onMessage(request, sender, callback) {
});
return true;
+ case 'getShowBlockedCount':
+ callback(rulesetConfig.showBlockedCount);
+ break;
+
case 'setShowBlockedCount':
rulesetConfig.showBlockedCount = request.state && true || false;
if ( canShowBlockedCount ) {
@@ -592,6 +599,12 @@ function onMessage(request, sender, callback) {
});
return true;
+ case 'getRegisteredContentScripts':
+ scrmgr.getRegisteredContentScripts().then(ids => {
+ callback(ids);
+ });
+ return true;
+
case 'getConsoleOutput':
callback(getConsoleOutput());
break;
@@ -662,12 +675,13 @@ async function startSession() {
}
// Permissions may have been removed while the extension was disabled
- await syncWithBrowserPermissions();
+ const permissionsUpdated = await syncWithBrowserPermissions();
- // Unsure whether the browser remembers correctly registered css/scripts
- // after we quit the browser. For now uBOL will check unconditionally at
- // launch time whether content css/scripts are properly registered.
- registerInjectables();
+ const shouldInject = isNewVersion || permissionsUpdated ||
+ isSideloaded && rulesetConfig.developerMode;
+ if ( shouldInject ) {
+ registerInjectables();
+ }
// Cosmetic filtering-related content scripts cache fitlering data in
// session storage.
diff --git a/platform/mv3/extension/js/ext-compat.js b/platform/mv3/extension/js/ext-compat.js
index e5f66f0423a5e..5391c8962366b 100644
--- a/platform/mv3/extension/js/ext-compat.js
+++ b/platform/mv3/extension/js/ext-compat.js
@@ -19,21 +19,13 @@
Home: https://github.com/gorhill/uBlock
*/
+import { deepEquals } from './utils.js';
+
export const webext = self.browser || self.chrome;
export const dnr = webext.declarativeNetRequest || {};
/******************************************************************************/
-const ruleCompare = (a, b) => a.id - b.id;
-
-const isSameRules = (a, b) => {
- a.sort(ruleCompare);
- b.sort(ruleCompare);
- return JSON.stringify(a) === JSON.stringify(b);
-};
-
-/******************************************************************************/
-
export function normalizeDNRRules(rules, ruleIds) {
if ( Array.isArray(rules) === false ) { return rules; }
return Array.isArray(ruleIds)
@@ -85,19 +77,23 @@ dnr.setAllowAllRules = async function(id, allowed, notAllowed, reverse, priority
}
addSessionRules.push(rule1);
}
- if ( isSameRules(addDynamicRules, beforeDynamicRules) ) { return false; }
- return Promise.all([
- dnr.updateDynamicRules({
- addRules: addDynamicRules,
- removeRuleIds: beforeDynamicRules.map(r => r.id),
- }),
- dnr.updateSessionRules({
- addRules: addSessionRules,
- removeRuleIds: beforeSessionRules.map(r => r.id),
- }),
- ]).then(( ) =>
- true
- ).catch(( ) =>
- false
- );
+ const promises = [];
+ const modified = deepEquals(addDynamicRules, beforeDynamicRules) === false;
+ if ( modified ) {
+ promises.push(
+ dnr.updateDynamicRules({
+ addRules: addDynamicRules,
+ removeRuleIds: beforeDynamicRules.map(r => r.id),
+ })
+ );
+ }
+ if ( deepEquals(addSessionRules, beforeSessionRules) === false ) {
+ promises.push(
+ dnr.updateSessionRules({
+ addRules: addSessionRules,
+ removeRuleIds: beforeSessionRules.map(r => r.id),
+ })
+ );
+ }
+ return Promise.all(promises).then(( ) => modified).catch(( ) => false);
};
diff --git a/platform/mv3/extension/js/ext-utils.js b/platform/mv3/extension/js/ext-utils.js
new file mode 100644
index 0000000000000..4ac7142e44eee
--- /dev/null
+++ b/platform/mv3/extension/js/ext-utils.js
@@ -0,0 +1,68 @@
+/*******************************************************************************
+
+ uBlock Origin Lite - a comprehensive, MV3-compliant content blocker
+ Copyright (C) 2022-present Raymond Hill
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see {http://www.gnu.org/licenses/}.
+
+ Home: https://github.com/gorhill/uBlock
+*/
+
+import {
+ browser,
+ runtime,
+} from './ext.js';
+
+/******************************************************************************/
+
+// https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/manifest.json/host_permissions#requested_permissions_and_user_prompts
+// "Users can grant or revoke host permissions on an ad hoc basis. Therefore,
+// most browsers treat host_permissions as optional."
+
+export async function hasBroadHostPermissions() {
+ return browser.permissions.getAll().then(permissions =>
+ permissions.origins.includes('') ||
+ permissions.origins.includes('*://*/*')
+ ).catch(( ) => false);
+}
+
+/******************************************************************************/
+
+export async function gotoURL(url, type) {
+ const pageURL = new URL(url, runtime.getURL('/'));
+ const tabs = await browser.tabs.query({
+ url: pageURL.href,
+ windowType: type !== 'popup' ? 'normal' : 'popup'
+ });
+
+ if ( Array.isArray(tabs) && tabs.length !== 0 ) {
+ const { windowId, id } = tabs[0];
+ return Promise.all([
+ browser.windows.update(windowId, { focused: true }),
+ browser.tabs.update(id, { active: true }),
+ ]);
+ }
+
+ if ( type === 'popup' ) {
+ return browser.windows.create({
+ type: 'popup',
+ url: pageURL.href,
+ });
+ }
+
+ return browser.tabs.create({
+ active: true,
+ url: pageURL.href,
+ });
+}
diff --git a/platform/mv3/extension/js/ext.js b/platform/mv3/extension/js/ext.js
index 2b21646560ea1..2c3f871e53e15 100644
--- a/platform/mv3/extension/js/ext.js
+++ b/platform/mv3/extension/js/ext.js
@@ -63,9 +63,9 @@ export async function localWrite(key, value) {
return browser.storage.local.set({ [key]: value });
}
-export async function localRemove(key) {
+export async function localRemove(keys) {
if ( notAnObject(browser?.storage?.local) ) { return; }
- return browser.storage.local.remove(key);
+ return browser.storage.local.remove(keys);
}
export async function localKeys() {
@@ -95,9 +95,9 @@ export async function sessionWrite(key, value) {
return browser.storage.session.set({ [key]: value });
}
-export async function sessionRemove(key) {
+export async function sessionRemove(keys) {
if ( notAnObject(browser?.storage?.session) ) { return; }
- return browser.storage.session.remove(key);
+ return browser.storage.session.remove(keys);
}
export async function sessionKeys() {
diff --git a/platform/mv3/extension/js/filter-manager-ui.js b/platform/mv3/extension/js/filter-manager-ui.js
index 4303acc73d42f..b8c7dacb9c5ec 100644
--- a/platform/mv3/extension/js/filter-manager-ui.js
+++ b/platform/mv3/extension/js/filter-manager-ui.js
@@ -88,11 +88,11 @@ async function removeSelectorsFromHostname(node) {
qsa$(hostnameNode, 'li.selector.removed [contenteditable]')
).map(a => a.dataset.ugly);
if ( selectors.length === 0 ) { return; }
- dom.cl.add(dom.body, 'busy');
+ dom.cl.add(dom.body, 'readonly');
updateContentEditability();
await sendMessage({ what: 'removeCustomFilters', hostname, selectors });
await debounceRenderCustomFilters();
- dom.cl.remove(dom.body, 'busy');
+ dom.cl.remove(dom.body, 'readonly');
updateContentEditability();
}
@@ -105,11 +105,11 @@ async function unremoveSelectorsFromHostname(node) {
qsa$(hostnameNode, 'li.selector:not(.removed) [contenteditable]')
).map(a => a.dataset.ugly);
if ( selectors.length === 0 ) { return; }
- dom.cl.add(dom.body, 'busy');
+ dom.cl.add(dom.body, 'readonly');
updateContentEditability();
await sendMessage({ what: 'addCustomFilters', hostname, selectors });
await debounceRenderCustomFilters();
- dom.cl.remove(dom.body, 'busy');
+ dom.cl.remove(dom.body, 'readonly');
updateContentEditability();
}
@@ -199,7 +199,7 @@ debounceRenderCustomFilters.debouncer = undefined;
/******************************************************************************/
function updateContentEditability() {
- if ( dom.cl.has(dom.body, 'busy') ) {
+ if ( dom.cl.has(dom.body, 'readonly') ) {
dom.attr('[contenteditable]', 'contenteditable', 'false');
return;
}
@@ -228,7 +228,7 @@ async function onHostnameChanged(target, before, after) {
return;
}
- dom.cl.add(dom.body, 'busy');
+ dom.cl.add(dom.body, 'readonly');
updateContentEditability();
// Remove old hostname from storage
@@ -245,7 +245,7 @@ async function onHostnameChanged(target, before, after) {
});
await debounceRenderCustomFilters();
- dom.cl.remove(dom.body, 'busy');
+ dom.cl.remove(dom.body, 'readonly');
updateContentEditability();
}
@@ -261,7 +261,7 @@ async function onSelectorChanged(target, before, after) {
const hostname = hostnameFromNode(target);
- dom.cl.add(dom.body, 'busy');
+ dom.cl.add(dom.body, 'readonly');
updateContentEditability();
// Remove old selector from storage
@@ -279,7 +279,7 @@ async function onSelectorChanged(target, before, after) {
});
await debounceRenderCustomFilters();
- dom.cl.remove(dom.body, 'busy');
+ dom.cl.remove(dom.body, 'readonly');
updateContentEditability();
}
@@ -385,7 +385,7 @@ async function importFromText(text) {
if ( hostnameToSelectorsMap.size === 0 ) { return; }
- dom.cl.add(dom.body, 'busy');
+ dom.cl.add(dom.body, 'readonly');
updateContentEditability();
const promises = [];
@@ -400,7 +400,7 @@ async function importFromText(text) {
await Promise.all(promises);
await debounceRenderCustomFilters();
- dom.cl.remove(dom.body, 'busy');
+ dom.cl.remove(dom.body, 'readonly');
updateContentEditability();
}
diff --git a/platform/mv3/extension/js/filter-manager.js b/platform/mv3/extension/js/filter-manager.js
index c7deaab930e45..b1ec9464d7e31 100644
--- a/platform/mv3/extension/js/filter-manager.js
+++ b/platform/mv3/extension/js/filter-manager.js
@@ -30,7 +30,6 @@ import {
import {
intersectHostnameIters,
matchesFromHostnames,
- strArrayEq,
subtractHostnameIters,
} from './utils.js';
@@ -189,9 +188,6 @@ export async function registerCustomFilters(context) {
}
if ( hostnames.length === 0 ) { return; }
- const registered = context.before.get('css-user');
- context.before.delete('css-user'); // Important!
-
const directive = {
id: 'css-user',
js: [ '/js/scripting/css-user.js' ],
@@ -199,12 +195,7 @@ export async function registerCustomFilters(context) {
runAt: 'document_start',
};
- if ( registered === undefined ) {
- context.toAdd.push(directive);
- } else if ( strArrayEq(registered.matches, directive.matches) === false ) {
- context.toRemove.push('css-user');
- context.toAdd.push(directive);
- }
+ context.toAdd.push(directive);
}
/******************************************************************************/
diff --git a/platform/mv3/extension/js/mode-manager.js b/platform/mv3/extension/js/mode-manager.js
index f30649c427b6d..8a7831a0dba81 100644
--- a/platform/mv3/extension/js/mode-manager.js
+++ b/platform/mv3/extension/js/mode-manager.js
@@ -21,7 +21,6 @@
import {
broadcastMessage,
- hasBroadHostPermissions,
hostnamesFromMatches,
isDescendantHostnameOfIter,
toBroaderHostname,
@@ -40,6 +39,8 @@ import {
import { adminReadEx } from './admin.js';
import { filteringModesToDNR } from './ruleset-manager.js';
+import { hasBroadHostPermissions } from './ext-utils.js';
+
/******************************************************************************/
diff --git a/platform/mv3/extension/js/popup.js b/platform/mv3/extension/js/popup.js
index b2a39500fe5e5..f7a68a0f02bd8 100644
--- a/platform/mv3/extension/js/popup.js
+++ b/platform/mv3/extension/js/popup.js
@@ -42,7 +42,7 @@ function renderAdminRules() {
const BLOCKING_MODE_MAX = 3;
-function setFilteringMode(level, commit = false) {
+async function setFilteringMode(level, commit = false) {
const modeSlider = qs$('.filteringModeSlider');
modeSlider.dataset.level = level;
if ( qs$('.filteringModeSlider.moving') === null ) {
@@ -52,7 +52,9 @@ function setFilteringMode(level, commit = false) {
);
}
if ( commit !== true ) { return; }
- commitFilteringMode();
+ dom.cl.add(dom.body, 'busy');
+ await commitFilteringMode();
+ dom.cl.remove(dom.body, 'busy');
}
async function commitFilteringMode() {
@@ -233,6 +235,7 @@ dom.on('#gotoReport', 'click', ev => {
}
if ( url === undefined ) { return; }
const reportURL = new URL(runtime.getURL('/report.html'));
+ reportURL.searchParams.set('tabid', currentTab.id);
reportURL.searchParams.set('url', tabURL.href);
reportURL.searchParams.set('mode', popupPanelData.level);
sendMessage({
@@ -349,7 +352,7 @@ async function tryInit() {
} catch {
setTimeout(tryInit, 100);
} finally {
- dom.cl.remove(dom.body, 'loading');
+ dom.cl.remove(dom.body, 'loading', 'busy');
}
}
diff --git a/platform/mv3/extension/js/report.js b/platform/mv3/extension/js/report.js
index 3f5f50e07a2f4..66fa73f32f3e4 100644
--- a/platform/mv3/extension/js/report.js
+++ b/platform/mv3/extension/js/report.js
@@ -50,7 +50,8 @@ const reportedPage = (( ) => {
}
return {
hostname: parsedURL.hostname.replace(/^(m|mobile|www)\./, ''),
- mode: url.searchParams.get('mode'),
+ siteMode: parseInt(url.searchParams.get('mode'), 10),
+ tabId: parseInt(url.searchParams.get('tabid'), 10) || 0,
};
} catch {
}
@@ -93,7 +94,7 @@ async function reportSpecificFilterIssue() {
/******************************************************************************/
-getTroubleshootingInfo(reportedPage.mode).then(config => {
+getTroubleshootingInfo(reportedPage).then(config => {
qs$('[data-i18n="supportS5H"] + pre').textContent = config;
dom.on('[data-url]', 'click', ev => {
diff --git a/platform/mv3/extension/js/ruleset-manager.js b/platform/mv3/extension/js/ruleset-manager.js
index 3bbdca991e657..89b71fd0894cd 100644
--- a/platform/mv3/extension/js/ruleset-manager.js
+++ b/platform/mv3/extension/js/ruleset-manager.js
@@ -36,7 +36,7 @@ import { ubolErr, ubolLog } from './debug.js';
import { dnr } from './ext-compat.js';
import { fetchJSON } from './fetch.js';
import { getAdminRulesets } from './admin.js';
-import { hasBroadHostPermissions } from './utils.js';
+import { hasBroadHostPermissions } from './ext-utils.js';
import { rulesFromText } from './dnr-parser.js';
/******************************************************************************/
@@ -48,9 +48,6 @@ const TRUSTED_DIRECTIVE_BASE_RULE_ID = 8000000;
const TRUSTED_DIRECTIVE_PRIORITY = USER_RULES_PRIORITY + 1000000;
const STRICTBLOCK_PRIORITY = 29;
-let dynamicRegexCount = 0;
-let sessionRegexCount = 0;
-
/******************************************************************************/
const isStrictBlockRule = rule => {
@@ -128,6 +125,14 @@ pruneInvalidRegexRules.validated = new Map();
/******************************************************************************/
+async function getDynamicRegexRuleCount() {
+ const rules = await dnr.getDynamicRules();
+ const regexRules = rules.filter(a => Boolean(a.condition?.regexFilter));
+ return regexRules.length;
+}
+
+/******************************************************************************/
+
async function updateRegexRules(currentRules, addRules, removeRuleIds) {
// Remove existing regex-related block rules
for ( const rule of currentRules ) {
@@ -181,19 +186,19 @@ async function updateDynamicRules() {
await updateRegexRules(currentRules, addRules, removeRuleIds);
if ( addRules.length === 0 && removeRuleIds.length === 0 ) { return; }
- const dynamicRegexCountBefore = dynamicRegexCount;
- dynamicRegexCount = 0;
+ const dynamicRegexCountBefore = await getDynamicRegexRuleCount();
+ let dynamicRegexCountAfter = 0;
let ruleId = 1;
for ( const rule of addRules ) {
- if ( rule?.condition.regexFilter ) { dynamicRegexCount += 1; }
+ if ( rule?.condition.regexFilter ) { dynamicRegexCountAfter += 1; }
rule.id = ruleId++;
}
- if ( dynamicRegexCount !== 0 ) {
- ubolLog(`Using ${dynamicRegexCount}/${dnr.MAX_NUMBER_OF_REGEX_RULES} dynamic regex-based DNR rules`);
+ if ( dynamicRegexCountAfter !== 0 ) {
+ ubolLog(`Using ${dynamicRegexCountAfter}/${dnr.MAX_NUMBER_OF_REGEX_RULES} dynamic regex-based DNR rules`);
}
// If we increase the number of dynamic regex rules, reset session rules to
// reduce risk of hitting maximum regex count
- if ( dynamicRegexCount > dynamicRegexCountBefore ) {
+ if ( dynamicRegexCountAfter > dynamicRegexCountBefore ) {
await clearSessionRules();
}
@@ -341,17 +346,18 @@ async function updateSessionRules() {
const currentRules = await dnr.getSessionRules();
await updateStrictBlockRules(currentRules, addRulesUnfiltered, removeRuleIds);
if ( addRulesUnfiltered.length === 0 && removeRuleIds.length === 0 ) { return; }
- const maxRegexCount = dnr.MAX_NUMBER_OF_REGEX_RULES * 0.80;
+ const maxRegexCount = dnr.MAX_NUMBER_OF_REGEX_RULES * 0.95;
+ const dynamicRegexCount = await getDynamicRegexRuleCount();
let regexCount = dynamicRegexCount;
let ruleId = 1;
for ( const rule of addRulesUnfiltered ) {
rule.id = ruleId++;
- if ( Boolean(rule?.condition.regexFilter) === false ) { continue; }
+ if ( Boolean(rule.condition.regexFilter) === false ) { continue; }
regexCount += 1;
if ( regexCount < maxRegexCount ) { continue; }
rule.id = 0;
}
- sessionRegexCount = regexCount - dynamicRegexCount;
+ const sessionRegexCount = regexCount - dynamicRegexCount;
const addRules = addRulesUnfiltered.filter(a => a.id !== 0);
const rejectedRuleCount = addRulesUnfiltered.length - addRules.length;
if ( rejectedRuleCount !== 0 ) {
diff --git a/platform/mv3/extension/js/scripting-manager.js b/platform/mv3/extension/js/scripting-manager.js
index 338c0cdfc13b6..7439e16bdf74c 100644
--- a/platform/mv3/extension/js/scripting-manager.js
+++ b/platform/mv3/extension/js/scripting-manager.js
@@ -71,40 +71,15 @@ const normalizeMatches = matches => {
/******************************************************************************/
-// The extensions API does not always return exactly what we fed it, so we
-// need to normalize some entries to be sure we properly detect changes when
-// comparing registered entries vs. entries to register.
-
-const normalizeRegisteredContentScripts = registered => {
- for ( const entry of registered ) {
- const { css = [], js = [] } = entry;
- for ( let i = 0; i < css.length; i++ ) {
- const path = css[i];
- if ( path.startsWith('/') ) { continue; }
- css[i] = `/${path}`;
- }
- for ( let i = 0; i < js.length; i++ ) {
- const path = js[i];
- if ( path.startsWith('/') ) { continue; }
- js[i] = `/${path}`;
- }
- }
- return registered;
-};
-
-/******************************************************************************/
-
async function resetCSSCache() {
const keys = await sessionKeys();
- return Promise.all(
- keys.filter(a => a.startsWith('cache.css.')).map(a => sessionRemove(a))
- );
+ return sessionRemove(keys.filter(a => a.startsWith('cache.css.')));
}
/******************************************************************************/
function registerHighGeneric(context, genericDetails) {
- const { before, filteringModeDetails, rulesetsDetails } = context;
+ const { filteringModeDetails, rulesetsDetails } = context;
const excludeHostnames = [];
const includeHostnames = [];
@@ -145,12 +120,8 @@ function registerHighGeneric(context, genericDetails) {
)
);
}
-
if ( matches.length === 0 ) { return; }
- const registered = before.get('css-generichigh');
- before.delete('css-generichigh'); // Important!
-
// https://github.com/w3c/webextensions/issues/414#issuecomment-1623992885
// Once supported, add:
// cssOrigin: 'USER',
@@ -166,26 +137,13 @@ function registerHighGeneric(context, genericDetails) {
}
// register
- if ( registered === undefined ) {
- context.toAdd.push(directive);
- return;
- }
-
- // update
- if (
- ut.strArrayEq(registered.css, css, false) === false ||
- ut.strArrayEq(registered.matches, matches) === false ||
- ut.strArrayEq(registered.excludeMatches, excludeMatches) === false
- ) {
- context.toRemove.push('css-generichigh');
- context.toAdd.push(directive);
- }
+ context.toAdd.push(directive);
}
/******************************************************************************/
function registerGeneric(context, genericDetails) {
- const { before, filteringModeDetails, rulesetsDetails } = context;
+ const { filteringModeDetails, rulesetsDetails } = context;
const excludedByFilter = [];
const includedByFilter = [];
@@ -224,8 +182,6 @@ function registerGeneric(context, genericDetails) {
),
];
if ( matches.length === 0 ) { return; }
- const registered = before.get('css-generic-some');
- before.delete('css-generic-some'); // Important!
const directive = {
id: 'css-generic-some',
js,
@@ -233,15 +189,7 @@ function registerGeneric(context, genericDetails) {
matches,
runAt: 'document_idle',
};
- if ( registered === undefined ) { // register
- context.toAdd.push(directive);
- } else if ( // update
- ut.strArrayEq(registered.js, js, false) === false ||
- ut.strArrayEq(registered.matches, directive.matches) === false
- ) {
- context.toRemove.push('css-generic-some');
- context.toAdd.push(directive);
- }
+ context.toAdd.push(directive);
return;
}
@@ -249,8 +197,6 @@ function registerGeneric(context, genericDetails) {
...ut.matchesFromHostnames(excludedByMode),
...ut.matchesFromHostnames(excludedByFilter),
];
- const registeredAll = before.get('css-generic-all');
- before.delete('css-generic-all'); // Important!
const directiveAll = {
id: 'css-generic-all',
js,
@@ -261,24 +207,14 @@ function registerGeneric(context, genericDetails) {
if ( excludeMatches.length !== 0 ) {
directiveAll.excludeMatches = excludeMatches;
}
+ context.toAdd.push(directiveAll);
- if ( registeredAll === undefined ) { // register
- context.toAdd.push(directiveAll);
- } else if ( // update
- ut.strArrayEq(registeredAll.js, js, false) === false ||
- ut.strArrayEq(registeredAll.excludeMatches, directiveAll.excludeMatches) === false
- ) {
- context.toRemove.push('css-generic-all');
- context.toAdd.push(directiveAll);
- }
const matches = [
...ut.matchesFromHostnames(
ut.subtractHostnameIters(includedByFilter, excludedByMode)
),
];
if ( matches.length === 0 ) { return; }
- const registeredSome = before.get('css-generic-some');
- before.delete('css-generic-some'); // Important!
const directiveSome = {
id: 'css-generic-some',
js,
@@ -286,28 +222,17 @@ function registerGeneric(context, genericDetails) {
matches,
runAt: 'document_idle',
};
- if ( registeredSome === undefined ) { // register
- context.toAdd.push(directiveSome);
- } else if ( // update
- ut.strArrayEq(registeredSome.js, js, false) === false ||
- ut.strArrayEq(registeredSome.matches, directiveSome.matches) === false
- ) {
- context.toRemove.push('css-generic-some');
- context.toAdd.push(directiveSome);
- }
+ context.toAdd.push(directiveSome);
}
/******************************************************************************/
async function registerCosmetic(realm, context) {
- const { before, filteringModeDetails, rulesetsDetails } = context;
+ const { filteringModeDetails, rulesetsDetails } = context;
{
const keys = await localKeys();
- for ( const key of keys ) {
- if ( key.startsWith(`css.${realm}.`) === false ) { continue; }
- localRemove(key);
- }
+ localRemove(keys.filter(a => a.startsWith(`css.${realm}.`)));
}
const rulesetIds = [];
@@ -355,9 +280,6 @@ async function registerCosmetic(realm, context) {
}
}
- const registered = before.get(realmid);
- before.delete(realmid); // Important!
-
const directive = {
id: realmid,
js,
@@ -370,26 +292,13 @@ async function registerCosmetic(realm, context) {
}
// register
- if ( registered === undefined ) {
- context.toAdd.push(directive);
- return;
- }
-
- // update
- if (
- ut.strArrayEq(registered.js, js, false) === false ||
- ut.strArrayEq(registered.matches, matches) === false ||
- ut.strArrayEq(registered.excludeMatches, excludeMatches) === false
- ) {
- context.toRemove.push(realmid);
- context.toAdd.push(directive);
- }
+ context.toAdd.push(directive);
}
/******************************************************************************/
function registerScriptlet(context, scriptletDetails) {
- const { before, filteringModeDetails, rulesetsDetails } = context;
+ const { filteringModeDetails, rulesetsDetails } = context;
const hasBroadHostPermission =
filteringModeDetails.optimal.has('all-urls') ||
@@ -431,9 +340,6 @@ function registerScriptlet(context, scriptletDetails) {
matches.push(...ut.matchesFromHostnames(targetHostnames));
normalizeMatches(matches);
- const registered = before.get(id);
- before.delete(id); // Important!
-
const directive = {
id,
js: [ `/rulesets/scripting/scriptlet/${world.toLowerCase()}/${rulesetId}.js` ],
@@ -448,19 +354,7 @@ function registerScriptlet(context, scriptletDetails) {
}
// register
- if ( registered === undefined ) {
- context.toAdd.push(directive);
- continue;
- }
-
- // update
- if (
- ut.strArrayEq(registered.matches, matches) === false ||
- ut.strArrayEq(registered.excludeMatches, excludeMatches) === false
- ) {
- context.toRemove.push(id);
- context.toAdd.push(directive);
- }
+ context.toAdd.push(directive);
}
}
}
@@ -481,26 +375,17 @@ export async function registerInjectables() {
rulesetsDetails,
scriptletDetails,
genericDetails,
- registered,
] = await Promise.all([
getFilteringModeDetails(),
getEnabledRulesetsDetails(),
getScriptletDetails(),
getGenericDetails(),
- browser.scripting.getRegisteredContentScripts(),
]);
- const before = new Map(
- normalizeRegisteredContentScripts(registered).map(
- entry => [ entry.id, entry ]
- )
- );
- const toAdd = [], toRemove = [];
+ const toAdd = [];
const context = {
filteringModeDetails,
rulesetsDetails,
- before,
toAdd,
- toRemove,
};
await Promise.all([
@@ -513,23 +398,17 @@ export async function registerInjectables() {
registerToolbarIconToggler(context),
]);
- toRemove.push(...Array.from(before.keys()));
-
- if ( toRemove.length !== 0 ) {
- ubolLog(`Unregistered ${toRemove} content (css/js)`);
- try {
- await browser.scripting.unregisterContentScripts({ ids: toRemove });
- localRemove('$scripting.unregisterContentScripts');
- } catch(reason) {
- ubolErr(`unregisterContentScripts/${reason}`);
- }
+ ubolLog(`Unregistered all content (css/js)`);
+ try {
+ await browser.scripting.unregisterContentScripts();
+ } catch(reason) {
+ ubolErr(`unregisterContentScripts/${reason}`);
}
if ( toAdd.length !== 0 ) {
ubolLog(`Registered ${toAdd.map(v => v.id)} content (css/js)`);
try {
await browser.scripting.registerContentScripts(toAdd);
- localRemove('$scripting.registerContentScripts');
} catch(reason) {
ubolErr(`registerContentScripts/${reason}`);
}
@@ -544,6 +423,14 @@ export async function registerInjectables() {
/******************************************************************************/
+export async function getRegisteredContentScripts() {
+ const scripts = await browser.scripting.getRegisteredContentScripts()
+ .catch(( ) => []);
+ return scripts.map(a => a.id);
+}
+
+/******************************************************************************/
+
export async function onWakeupRun() {
const cleanupTime = await sessionRead('scripting.manager.cleanup.time') || 0;
const now = Date.now();
@@ -561,7 +448,7 @@ export async function onWakeupRun() {
return entry;
}));
entries.sort((a, b) => b.t - a.t);
- entries.slice(MAX_CACHE_ENTRY_LOW).map(a => sessionRemove(a.key));
+ sessionRemove(entries.slice(MAX_CACHE_ENTRY_LOW).map(a => a.key));
sessionWrite('scripting.manager.cleanup.time', now)
}
diff --git a/platform/mv3/extension/js/scripting/isolated-api.js b/platform/mv3/extension/js/scripting/isolated-api.js
index 837b161317fd3..774517268ca78 100644
--- a/platform/mv3/extension/js/scripting/isolated-api.js
+++ b/platform/mv3/extension/js/scripting/isolated-api.js
@@ -149,12 +149,13 @@
selectorsFromListIndex(data, data.selectorListRefs[listref]);
}
const { fromRegexes } = data;
- for ( let i = 0, n = fromRegexes.length; i < n; i += 2 ) {
- if ( typeof fromRegexes[i+0] === 'string' ) {
- fromRegexes[i+0] = new RegExp(fromRegexes[i+0]);
+ for ( let i = 0, n = fromRegexes.length; i < n; i += 3 ) {
+ if ( hostname.includes(fromRegexes[i+0]) === false ) { continue; }
+ if ( typeof fromRegexes[i+1] === 'string' ) {
+ fromRegexes[i+1] = new RegExp(fromRegexes[i+1]);
}
- if ( fromRegexes[i+0].test(hostname) === false ) { continue; }
- selectorsFromListIndex(data, fromRegexes[i+1]);
+ if ( fromRegexes[i+1].test(hostname) === false ) { continue; }
+ selectorsFromListIndex(data, fromRegexes[i+2]);
}
};
diff --git a/platform/mv3/extension/js/settings.js b/platform/mv3/extension/js/settings.js
index 18dcc9ca41744..51d9de498c8ca 100644
--- a/platform/mv3/extension/js/settings.js
+++ b/platform/mv3/extension/js/settings.js
@@ -145,39 +145,49 @@ async function backupSettings() {
}
async function restoreSettings() {
- const input = qs$('section[data-pane="settings"] input[type="file"]');
- input.onchange = ev => {
- input.onchange = null;
- const file = ev.target.files[0];
- if ( file === undefined || file.name === '' ) { return; }
- const fr = new FileReader();
- fr.onload = ( ) => {
- fr.onload = null;
- if ( typeof fr.result !== 'string' ) { return; }
- let data;
- try {
- data = JSON.parse(fr.result);
- } catch {
- }
- if ( data instanceof Object === false ) { return; }
- import('./backup-restore.js').then(api => {
- api.restoreFromObject(data);
- });
+ const promise = new Promise(resolve => {
+ const input = qs$('section[data-pane="settings"] input[type="file"]');
+ input.onchange = ev => {
+ dom.cl.add(dom.body, 'busy');
+ input.onchange = null;
+ const file = ev.target.files[0];
+ if ( file === undefined || file.name === '' ) { return resolve(); }
+ const fr = new FileReader();
+ fr.onload = ( ) => {
+ fr.onload = null;
+ if ( typeof fr.result !== 'string' ) { return resolve(); }
+ let data;
+ try {
+ data = JSON.parse(fr.result);
+ } catch {
+ }
+ if ( data instanceof Object === false ) { return resolve(); }
+ import('./backup-restore.js').then(api => {
+ resolve(api.restoreFromObject(data));
+ });
+ };
+ fr.readAsText(file);
+ };
+ input.oncancel = ( ) => {
+ resolve();
};
- fr.readAsText(file);
- };
- // Reset to empty string, this will ensure a change event is properly
- // triggered if the user pick a file, even if it's the same as the last
- // one picked.
- input.value = '';
- input.click();
+ // Reset to empty string, this will ensure a change event is properly
+ // triggered if the user pick a file, even if it's the same as the last
+ // one picked.
+ input.value = '';
+ input.click();
+ });
+ await promise;
+ dom.cl.remove(dom.body, 'busy');
}
async function resetSettings() {
const response = self.confirm(i18n.getMessage('resetToDefaultConfirm'));
if ( response !== true ) { return; }
+ dom.cl.add(dom.body, 'busy');
const api = await import('./backup-restore.js');
await api.restoreFromObject({});
+ dom.cl.remove(dom.body, 'busy');
}
/******************************************************************************/
diff --git a/platform/mv3/extension/js/troubleshooting.js b/platform/mv3/extension/js/troubleshooting.js
index 1ce9494909da8..9f6bb2976705b 100644
--- a/platform/mv3/extension/js/troubleshooting.js
+++ b/platform/mv3/extension/js/troubleshooting.js
@@ -19,7 +19,7 @@
Home: https://github.com/gorhill/uBlock
*/
-import { runtime, sendMessage } from './ext.js';
+import { browser, runtime, sendMessage } from './ext.js';
/******************************************************************************/
@@ -49,7 +49,7 @@ function renderData(data, depth = 0) {
/******************************************************************************/
-export async function getTroubleshootingInfo(siteMode) {
+export async function getTroubleshootingInfo(details) {
const manifest = runtime.getManifest();
const [
platformInfo,
@@ -58,6 +58,8 @@ export async function getTroubleshootingInfo(siteMode) {
defaultMode,
userRules,
consoleOutput,
+ showBlockedCount,
+ registeredScripts,
hasOmnipotence,
] = await Promise.all([
runtime.getPlatformInfo(),
@@ -66,9 +68,11 @@ export async function getTroubleshootingInfo(siteMode) {
sendMessage({ what: 'getDefaultFilteringMode' }),
sendMessage({ what: 'getEffectiveUserRules' }),
sendMessage({ what: 'getConsoleOutput' }),
+ sendMessage({ what: 'getShowBlockedCount' }),
+ sendMessage({ what: 'getRegisteredContentScripts' }),
sendMessage({ what: 'hasBroadHostPermissions' }),
]);
- const browser = (( ) => {
+ const vendor = (( ) => {
const extURL = runtime.getURL('');
let agent = '', version = '?';
if ( extURL.startsWith('moz-extension:') ) {
@@ -96,17 +100,26 @@ export async function getTroubleshootingInfo(siteMode) {
})();
const modes = [ 'no filtering', 'basic', 'optimal', 'complete' ];
const filtering = {};
- if ( siteMode ) {
- filtering.site = `${modes[siteMode]}`
+ if ( details?.siteMode ) {
+ filtering.site = `${modes[details.siteMode]}`
}
filtering.default = `${modes[defaultMode]}`;
const config = {
name: manifest.name,
version: manifest.version,
- browser,
+ browser: vendor,
filtering,
permission: hasOmnipotence ? 'all' : 'ask',
};
+ if ( details?.tabId ) {
+ let badge = '?';
+ if ( showBlockedCount ) {
+ badge = await browser.action.getBadgeText({ tabId: details.tabId });
+ }
+ if ( badge ) {
+ config.badge = badge;
+ }
+ }
if ( userRules.length !== 0 ) {
config['user rules'] = userRules.length;
}
@@ -121,8 +134,11 @@ export async function getTroubleshootingInfo(siteMode) {
enabledRulesets.push(`-${id}`);
}
config.rulesets = enabledRulesets.sort();
+ if ( registeredScripts.length !== 0 ) {
+ config.scripting = registeredScripts;
+ }
if ( consoleOutput.length !== 0 ) {
- config.console = siteMode
+ config.console = details?.siteMode
? consoleOutput.slice(-8)
: consoleOutput;
}
diff --git a/platform/mv3/extension/js/utils.js b/platform/mv3/extension/js/utils.js
index e9ebee6016fd8..2fdd02eead032 100644
--- a/platform/mv3/extension/js/utils.js
+++ b/platform/mv3/extension/js/utils.js
@@ -19,11 +19,6 @@
Home: https://github.com/gorhill/uBlock
*/
-import {
- browser,
- runtime,
-} from './ext.js';
-
/******************************************************************************/
function parsedURLromOrigin(origin) {
@@ -135,53 +130,40 @@ export const hostnamesFromMatches = origins => {
/******************************************************************************/
-const broadcastMessage = message => {
- const bc = new self.BroadcastChannel('uBOL');
- bc.postMessage(message);
+export const deepEquals = (a, b) => {
+ switch ( typeof a ) {
+ case 'undefined':
+ case 'boolean':
+ case 'number':
+ case 'string':
+ return a === b;
+ }
+ // case 'object':
+ if ( typeof b !== 'object' ) { return false; }
+ if ( a === null || b === null ) { return a === b; }
+ if ( Array.isArray(a) || Array.isArray(b) ) {
+ if ( Array.isArray(a) === false || Array.isArray(b) === false ) { return false; }
+ if ( a.length !== b.length ) { return false; }
+ for ( let i = 0; i < a.length; i++ ) {
+ if ( deepEquals(a[i], b[i]) === false ) { return false; }
+ }
+ return true;
+ }
+ const akeys = Object.keys(a);
+ const bkeys = Object.keys(b);
+ if ( akeys.length !== bkeys.length ) { return false; }
+ for ( const k of akeys ) {
+ if ( deepEquals(a[k], b[k]) === false ) { return false; }
+ }
+ return true;
};
/******************************************************************************/
-// https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/manifest.json/host_permissions#requested_permissions_and_user_prompts
-// "Users can grant or revoke host permissions on an ad hoc basis. Therefore,
-// most browsers treat host_permissions as optional."
-
-async function hasBroadHostPermissions() {
- return browser.permissions.getAll().then(permissions =>
- permissions.origins.includes('') ||
- permissions.origins.includes('*://*/*')
- ).catch(( ) => false);
-}
-
-/******************************************************************************/
-
-async function gotoURL(url, type) {
- const pageURL = new URL(url, runtime.getURL('/'));
- const tabs = await browser.tabs.query({
- url: pageURL.href,
- windowType: type !== 'popup' ? 'normal' : 'popup'
- });
-
- if ( Array.isArray(tabs) && tabs.length !== 0 ) {
- const { windowId, id } = tabs[0];
- return Promise.all([
- browser.windows.update(windowId, { focused: true }),
- browser.tabs.update(id, { active: true }),
- ]);
- }
-
- if ( type === 'popup' ) {
- return browser.windows.create({
- type: 'popup',
- url: pageURL.href,
- });
- }
-
- return browser.tabs.create({
- active: true,
- url: pageURL.href,
- });
-}
+const broadcastMessage = message => {
+ const bc = new self.BroadcastChannel('uBOL');
+ bc.postMessage(message);
+};
/******************************************************************************/
@@ -220,7 +202,5 @@ export {
isDescendantHostnameOfIter,
intersectHostnameIters,
subtractHostnameIters,
- hasBroadHostPermissions,
- gotoURL,
strArrayEq,
};
diff --git a/platform/mv3/extension/popup.html b/platform/mv3/extension/popup.html
index eb54d528a9aca..e60da7d28d466 100644
--- a/platform/mv3/extension/popup.html
+++ b/platform/mv3/extension/popup.html
@@ -13,9 +13,9 @@
-
+
-
+
@@ -52,7 +52,10 @@
list-altShow matched rules
cogs
-
+
+
diff --git a/platform/mv3/make-rulesets.js b/platform/mv3/make-rulesets.js
index 969747f21e3a9..4ae57bc6b9767 100644
--- a/platform/mv3/make-rulesets.js
+++ b/platform/mv3/make-rulesets.js
@@ -33,6 +33,7 @@ import {
import { execSync } from 'node:child_process';
import fs from 'fs/promises';
+import { literalStrFromRegex } from './js/regex-analyzer.js';
import path from 'path';
import process from 'process';
import redirectResourcesMap from './js/redirect-resources.js';
@@ -213,7 +214,7 @@ const rePatternFromUrlFilter = s => {
let reStr = s.replace(rePatternFromUrlFilter.rePlainChars, '\\$&')
.replace(rePatternFromUrlFilter.reSeparators, restrSeparator)
.replace(rePatternFromUrlFilter.reDanglingAsterisks, '')
- .replace(rePatternFromUrlFilter.reAsterisks, '\\S*?');
+ .replace(rePatternFromUrlFilter.reAsterisks, '.*?');
if ( anchor & 0b100 ) {
reStr = (
reStr.startsWith('\\.') ?
@@ -888,7 +889,7 @@ async function processCosmeticFilters(assetDetails, realm, mapin) {
return a < b ? -1 : 1;
});
- const data = JSON.stringify({
+ const data = {
selectors: Array.from(allSelectors.keys()),
selectorLists: Array.from(allSelectorLists.keys()),
selectorListRefs: sortedHostnames.map(a => allHostnames.get(a)),
@@ -896,10 +897,12 @@ async function processCosmeticFilters(assetDetails, realm, mapin) {
hasEntities,
fromRegexes: Array.from(allRegexesOrPaths)
.filter(a => a[0].startsWith('/') && a[0].endsWith('/'))
- .map(a => [ a[0].slice(1, -1), a[1] ])
- .flat(),
- });
- writeFile(`${scriptletDir}/${realm}/${assetDetails.id}.json`, data);
+ .map(a => {
+ const restr = a[0].slice(1,-1);
+ return [ literalStrFromRegex(restr).slice(0,8), restr, a[1] ]
+ }).flat(),
+ };
+ writeFile(`${scriptletDir}/${realm}/${assetDetails.id}.json`, JSON.stringify(data));
// The cosmetic filters will be injected programmatically as content
// script and the decisions to activate the cosmetic filters will be
@@ -922,8 +925,6 @@ async function processScriptletFilters(assetDetails, mapin) {
if ( mapin === undefined ) { return 0; }
if ( mapin.size === 0 ) { return 0; }
- makeScriptlet.init();
-
for ( const details of mapin.values() ) {
makeScriptlet.compile(assetDetails, details);
}
diff --git a/platform/mv3/make-scriptlets.js b/platform/mv3/make-scriptlets.js
index a64a853a46079..9dd53b36d3fad 100644
--- a/platform/mv3/make-scriptlets.js
+++ b/platform/mv3/make-scriptlets.js
@@ -21,6 +21,7 @@
import { builtinScriptlets } from './js/resources/scriptlets.js';
import fs from 'fs/promises';
+import { literalStrFromRegex } from './js/regex-analyzer.js';
import { safeReplace } from './safe-replace.js';
/******************************************************************************/
@@ -63,26 +64,6 @@ function createScriptletCoreCode(worldDetails, resourceEntry) {
/******************************************************************************/
-export function init() {
- for ( const scriptlet of builtinScriptlets ) {
- const { name, aliases, fn } = scriptlet;
- const entry = {
- name: fn.name,
- code: fn.toString(),
- world: scriptlet.world || 'MAIN',
- dependencies: scriptlet.dependencies,
- requiresTrust: scriptlet.requiresTrust === true,
- };
- resourceDetails.set(name, entry);
- if ( Array.isArray(aliases) === false ) { continue; }
- for ( const alias of aliases ) {
- resourceAliases.set(alias, name);
- }
- }
-}
-
-/******************************************************************************/
-
export function reset() {
worlds.ISOLATED = structuredClone(worldTemplate);
worlds.MAIN = structuredClone(worldTemplate);
@@ -191,8 +172,14 @@ export async function commit(rulesetId, path, writeFn) {
}).map(a => ([ a[0], JSON.stringify(Array.from(a[1]).map(a => JSON.parse(a))).slice(1,-1)]));
const scriptletFromRegexes = Array.from(worldDetails.regexesOrPaths)
.filter(a => a[0].startsWith('/') && a[0].endsWith('/'))
- .map(a => [ a[0].slice(1, -1), JSON.stringify(Array.from(a[1])).slice(1,-1) ])
- .flat();
+ .map(a => {
+ const restr = a[0].slice(1,-1);
+ return [
+ literalStrFromRegex(restr).slice(0,8),
+ restr,
+ JSON.stringify(Array.from(a[1])).slice(1,-1),
+ ];
+ }).flat();
let content = safeReplace(scriptletTemplate, 'self.$hasEntities$', JSON.stringify(worldDetails.hasEntities));
content = safeReplace(content, 'self.$hasAncestors$', JSON.stringify(worldDetails.hasAncestors));
content = safeReplace(content, 'self.$hasRegexes$', JSON.stringify(scriptletFromRegexes.length !== 0));
@@ -232,3 +219,25 @@ export async function commit(rulesetId, path, writeFn) {
}
/******************************************************************************/
+
+function init() {
+ for ( const scriptlet of builtinScriptlets ) {
+ const { name, aliases, fn } = scriptlet;
+ const entry = {
+ name: fn.name,
+ code: fn.toString(),
+ world: scriptlet.world || 'MAIN',
+ dependencies: scriptlet.dependencies,
+ requiresTrust: scriptlet.requiresTrust === true,
+ };
+ resourceDetails.set(name, entry);
+ if ( Array.isArray(aliases) === false ) { continue; }
+ for ( const alias of aliases ) {
+ resourceAliases.set(alias, name);
+ }
+ }
+}
+
+init();
+
+/******************************************************************************/
diff --git a/platform/mv3/rulesets.json b/platform/mv3/rulesets.json
index c2bde57b60d72..a206a8b0bf493 100644
--- a/platform/mv3/rulesets.json
+++ b/platform/mv3/rulesets.json
@@ -109,6 +109,16 @@
],
"homeURL": "https://github.com/uBlockOrigin/uAssets"
},
+ {
+ "id": "annoyances-ai",
+ "name": "EasyList – AI Widgets",
+ "group": "annoyances",
+ "enabled": false,
+ "urls": [
+ "https://ublockorigin.github.io/uAssets/thirdparties/easylist-ai.txt"
+ ],
+ "homeURL": "https://github.com/easylist/easylist#fanboy-lists"
+ },
{
"id": "annoyances-cookies",
"name": "EasyList/uBO – Cookie Notices",
@@ -213,6 +223,18 @@
],
"homeURL": "https://github.com/AnXh3L0/blocklist"
},
+ {
+ "id": "ara-0",
+ "group": "regions",
+ "lang": "ar kab",
+ "name": "🇪🇬eg 🇸🇦sa 🇲🇦ma 🇩🇿dz: Liste AR",
+ "tags": "ads arabic اَلْعَرَبِيَّةُ",
+ "enabled": false,
+ "urls": [
+ "https://raw.githubusercontent.com/easylist/listear/master/Liste_AR.txt"
+ ],
+ "homeURL": "https://forums.lanik.us/viewforum.php?f=98"
+ },
{
"id": "bgr-0",
"group": "regions",
diff --git a/platform/mv3/safari/ext-compat.js b/platform/mv3/safari/ext-compat.js
index be095c48b06bd..47ce82c8abd6e 100644
--- a/platform/mv3/safari/ext-compat.js
+++ b/platform/mv3/safari/ext-compat.js
@@ -19,11 +19,52 @@
Home: https://github.com/gorhill/uBlock
*/
+import { deepEquals } from './utils.js';
export const webext = self.browser;
/******************************************************************************/
+// Workaround for:
+// https://github.com/uBlockOrigin/uBOL-home/issues/515
+// https://bugs.webkit.org/show_bug.cgi?id=300236
+//
+// For each realm, we will force-reload registered rulesets once.
+
+const { windows } = webext;
+const NORMAL_REALM = 0b01;
+const PRIVATE_REALM = 0b10;
+const ALL_REALMS = NORMAL_REALM | PRIVATE_REALM;
+
+let seenRealms = 0b00;
+let seenRealmsReady = webext.storage.session.get('safari.seenRealms').then(bin => {
+ seenRealms |= bin?.['safari.seenRealms'] ?? 0;
+}).catch(( ) => {
+});
+
+async function forceEnableRulesets(windowId) {
+ await seenRealmsReady;
+ if ( seenRealms === ALL_REALMS ) { return; }
+ if ( windowId === windows.WINDOW_ID_NONE ) { return; }
+ const details = await windows.get(windowId, { windowTypes: [ 'normal' ] });
+ const incognito = details?.incognito;
+ if ( typeof incognito !== 'boolean' ) { return; }
+ const currentRealm = incognito ? PRIVATE_REALM : NORMAL_REALM;
+ if ( (seenRealms & currentRealm) !== 0 ) { return; }
+ seenRealms |= currentRealm;
+ webext.storage.session.set({ 'safari.seenRealms': seenRealms });
+ const ids = await nativeDNR.getEnabledRulesets();
+ if ( ids.length === 0 ) { return; }
+ nativeDNR.updateEnabledRulesets({
+ disableRulesetIds: ids.slice(),
+ enableRulesetIds: ids.slice(),
+ });
+}
+
+windows.onFocusChanged.addListener(forceEnableRulesets);
+
+/******************************************************************************/
+
// https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/
const nativeDNR = webext.declarativeNetRequest;
@@ -74,14 +115,6 @@ const prepareUpdateRules = optionsBefore => {
return optionsAfter;
};
-const ruleCompare = (a, b) => a.id - b.id;
-
-const isSameRules = (a, b) => {
- a.sort(ruleCompare);
- b.sort(ruleCompare);
- return JSON.stringify(a) === JSON.stringify(b);
-};
-
/******************************************************************************/
export function normalizeDNRRules(rules, ruleIds) {
@@ -142,8 +175,10 @@ export const dnr = {
if ( optionsAfter === undefined ) { return; }
return nativeDNR.updateDynamicRules(optionsAfter);
},
- updateEnabledRulesets(...args) {
- return nativeDNR.updateEnabledRulesets(...args);
+ async updateEnabledRulesets(...args) {
+ await nativeDNR.updateEnabledRulesets(...args);
+ seenRealms = 0b00;
+ await webext.storage.session.remove('safari.seenRealms');
},
async updateSessionRules(optionsBefore) {
const optionsAfter = prepareUpdateRules(optionsBefore);
@@ -167,7 +202,7 @@ export const dnr = {
}
addRules.push(rule0);
}
- if ( isSameRules(addRules, beforeRules) ) { return false; }
+ if ( deepEquals(addRules, beforeRules) ) { return false; }
return this.updateDynamicRules({
addRules,
removeRuleIds: beforeRules.map(r => r.id),
@@ -181,44 +216,3 @@ export const dnr = {
return nativeDNR.setExtensionActionOptions(...args);
},
};
-
-/******************************************************************************/
-
-// Workaround for:
-// https://github.com/uBlockOrigin/uBOL-home/issues/515
-// https://bugs.webkit.org/show_bug.cgi?id=300236
-//
-// For each realm, we will force-reload registered rulesets once.
-
-const { windows } = webext;
-const NORMAL_REALM = 0b01;
-const PRIVATE_REALM = 0b10;
-const ALL_REALMS = NORMAL_REALM | PRIVATE_REALM;
-let seenRealms = 0b00;
-
-async function forceEnableRulesets(windowId) {
- await seenRealmsReady;
- if ( seenRealms === ALL_REALMS ) { return; }
- if ( windowId === windows.WINDOW_ID_NONE ) { return; }
- const details = await windows.get(windowId, { windowTypes: [ 'normal' ] });
- const incognito = details?.incognito;
- if ( typeof incognito !== 'boolean' ) { return; }
- const currentRealm = incognito ? PRIVATE_REALM : NORMAL_REALM;
- if ( (seenRealms & currentRealm) !== 0 ) { return; }
- seenRealms |= currentRealm;
- webext.storage.session.set({ 'safari.seenRealms': seenRealms });
- const ids = await nativeDNR.getEnabledRulesets();
- if ( ids.length === 0 ) { return; }
- nativeDNR.updateEnabledRulesets({
- disableRulesetIds: ids.slice(),
- enableRulesetIds: ids.slice(),
- });
-}
-
-windows.onFocusChanged.addListener(forceEnableRulesets);
-
-const seenRealmsReady = webext.storage.session.get('safari.seenRealms').then(bin => {
- seenRealms |= bin?.['safari.seenRealms'] ?? 0;
-}).catch(( ) => {
-});
-
diff --git a/platform/mv3/safari/manifest.json b/platform/mv3/safari/manifest.json
index 9514178594667..ce029cdc1be44 100644
--- a/platform/mv3/safari/manifest.json
+++ b/platform/mv3/safari/manifest.json
@@ -48,7 +48,8 @@
"declarativeNetRequest",
"declarativeNetRequestWithHostAccess",
"scripting",
- "storage"
+ "storage",
+ "unlimitedStorage"
],
"short_name": "uBO Lite",
"version": "1.0",
diff --git a/platform/mv3/scriptlets/scriptlet.template.js b/platform/mv3/scriptlets/scriptlet.template.js
index fa6f65ddb337d..6655d3ca9b211 100644
--- a/platform/mv3/scriptlets/scriptlet.template.js
+++ b/platform/mv3/scriptlets/scriptlet.template.js
@@ -149,11 +149,16 @@ if ( todoIndices.size !== 0 ) {
}
if ( $hasRegexes$ ) {
const { hns } = entries[0];
- for ( let i = 0, n = $scriptletFromRegexes$.length; i < n; i += 2 ) {
- const regex = new RegExp($scriptletFromRegexes$[i+0]);
+ for ( let i = 0, n = $scriptletFromRegexes$.length; i < n; i += 3 ) {
+ const needle = $scriptletFromRegexes$[i+0];
+ let regex;
for ( const hn of hns ) {
+ if ( hn.includes(needle) === false ) { continue; }
+ if ( regex === undefined ) {
+ regex = new RegExp($scriptletFromRegexes$[i+1]);
+ }
if ( regex.test(hn) === false ) { continue; }
- for ( const ref of JSON.parse(`[${$scriptletFromRegexes$[i+1]}]`) ) {
+ for ( const ref of JSON.parse(`[${$scriptletFromRegexes$[i+2]}]`) ) {
todo.add(ref);
}
}
diff --git a/src/_locales/ar/messages.json b/src/_locales/ar/messages.json
index dcbd50fee0ab8..3c93a332def5f 100644
--- a/src/_locales/ar/messages.json
+++ b/src/_locales/ar/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "افتح",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "إنشاء تقرير جديد",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "العثور على تقارير مماثلة",
@@ -955,10 +955,6 @@
"message": "فيما يلي معلومات فنية قد تكون مفيدة عندما يحاول المتطوعون مساعدتك في حل مشكلة ما.فيما يلي معلومات فنية قد تكون مفيدة عندما يحاول المتطوعون مساعدتك في حل مشكلة ما. ",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "هام: يتم تنقيح المعلومات التي يُحتمل أن تكون خاصة أو حساسة بشكل افتراضي. المعلومات المنقحة قد تجعل حل مشكلة ما أكثر صعوبة.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "الإبلاغ عن مشكلة في عوامل التصفية",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "ضع علامة على صفحة الويب بـ ”NSFW“ (”غير آمن للعمل“)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "تنقيح",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "غير منقح",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "سياسة الخصوصية",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "خطأ في الشبكة: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "µBlock : أضف الرابط التالي لقائمة الفلترة الخاصة بك؟\n\nعنوان : \"{{title}}\"\nرابط : {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "اشترك",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/az/messages.json b/src/_locales/az/messages.json
index d94ab38a6d46a..f09897ff5a744 100644
--- a/src/_locales/az/messages.json
+++ b/src/_locales/az/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Aç",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Yeni hesabat yaradın",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Oxşar hesabat tap",
@@ -955,10 +955,6 @@
"message": "Aşağıdaki könüllülər sizə probleminizi aradan qaldırmağa çalışırkən faydalı ola biləcək texniki məlumatdır.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Vacib: Gizli və həssas ola biləcək məlumatlar defolt olaraq qısaldılır. Qısaldılmış məlumatlar, bir problemi aradan qaldırmağı çətinləşdirə bilər.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Filter problemini bildir",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Veb-səhifəni uyğun olmayan (“NSFW”) olaraq işarələ (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Məxfilik siyasəti",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Şəbəkə xətası: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: Aşağıdakı URL ünvanı fərdi filtr siyahılarınıza əlavə edilsin?\n\nAdı: \"{{title}}\"\nURL ünvanı: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Abunə ol",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/be/messages.json b/src/_locales/be/messages.json
index b76f0339a3a5d..11a9c39b62bd4 100644
--- a/src/_locales/be/messages.json
+++ b/src/_locales/be/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Адкрыць",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Стварыць новую справаздачу",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Знайсці падобныя справаздачы",
@@ -955,10 +955,6 @@
"message": "Ніжэй - тэхнічная інфармацыя, што можа быць карысная добраахвотнікам, якія паспрабуюць дапамагчы вам вырашыць праблему.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Важна: Патэнцыйна прыватная або канфідэнцыяльныя зветскі прадвызначана рэдагуюцца. Адрэдагаваныя звесткі могуць ускладніць вырашэнне праблемы.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Паведаміць аб праблеме з фільтрам",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Пазначыць вэб-старонку як “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Палітыка прыватнасці",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Памылка сеткі: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Дадаць наступны URL-адрас да вашага спіса фільтраў?\n\nНазва: \"{{title}}\"\nURL-адрас: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Падпісацца",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/bg/messages.json b/src/_locales/bg/messages.json
index b0d4ddaa22744..2ebcd88826236 100644
--- a/src/_locales/bg/messages.json
+++ b/src/_locales/bg/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Отваряне",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Нов доклад",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Намиране на подобни доклади",
@@ -955,10 +955,6 @@
"message": "По-долу е представена техническа информация, която може да е полезна, когато доброволците се опитват да ви помогнат да разрешите даден проблем.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Важно: Потенциално лична или чувствителна информация се редактира по подразбиране. Редактираната информация може да затрудни решаването на даден проблем.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Докладване на проблем с филтъра",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Маркиране на уеб страницата като “NSFW” (“не е безопасна за работа”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Редактиран вид",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Нередактиран вид",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Политика за поверителност",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Грешка в мрежата: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Добавяне на следния адрес към списъците с потребителски филтри?\n\nИме: \"{{title}}\"\nURL адрес: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Абониране",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/bn/messages.json b/src/_locales/bn/messages.json
index ea9b8f66667b4..1e9c995815196 100644
--- a/src/_locales/bn/messages.json
+++ b/src/_locales/bn/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "খুলুন",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "নতুন অভিযোগ",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "একই রকম অভিযোগ দেখুন",
@@ -955,10 +955,6 @@
"message": "স্বেচ্ছাসেবকরা যখন কোনো সমস্যা সমাধানের জন্য আপনাকে সাহায্য করার চেষ্টা করছেন তখন প্রযুক্তিগত তথ্য নিচে দেওয়া হল যা কার্যকর হতে পারে।",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "গুরুত্বপূর্ণ: সম্ভাব্য ব্যক্তিগত বা সংবেদনশীল তথ্য ডিফল্টরূপে সংশোধন করা হয়। সংশোধিত তথ্য সমস্যা সমাধান করা আরও কঠিন করে তুলতে পারে।",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "একটি ফিল্টার সমস্যা রিপোর্ট করুন",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "ওয়েব পৃষ্ঠাটিকে “NSFW” হিসাবে লেবেল করুন (“কাজের জন্য নিরাপদ নয়”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "গোপনীয়তার নীতি",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "{{url}} -এ সংযোগ করতে অক্ষম",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: আপনার নিজস্ব ফিল্টার তালিকায় নিম্নলিখিত URL যোগ করবেন?\n\nশিরোনাম: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "সদস্যতা নাও",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/br_FR/messages.json b/src/_locales/br_FR/messages.json
index 04e3bc91715df..a08dbb0a5c5f2 100644
--- a/src/_locales/br_FR/messages.json
+++ b/src/_locales/br_FR/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Digeriñ",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Sevel ur rentañ-kont nevez",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Klask danevelloù koulz ha homañ",
@@ -955,10 +955,6 @@
"message": "Amañ dindan ez eus titouroù teknikel a c'hallfe sikour an dud a-youl vat a zo o klask diskoulmañ ur gudenn.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Talvoudus: An titouroù a c'hallfe bezañ prevez pe kizidik a zo skarzhet ent-emgefreek. Pa vez skarzhet an titouroù mod-se e c'hall bezañ diaesoc'h da ziskoulmañ ur gudenn.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Danevelliñ ur gudenn gant ur sil",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Merkañ ar bejenn evel \"NSFW\" (“Not Safe For Work”) hag a dalv ez eus danvez noazus pe kizidik enni",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Politikerezh ar vuhez prevez",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Fazi rouedad: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Fellout a ra deoc'h ouzhpennañ an URL-mañ d'ho rolloù siloù?\n\nTitl: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Koumanantiñ",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/bs/messages.json b/src/_locales/bs/messages.json
index 6f117a238c90e..d4303e9071fe7 100644
--- a/src/_locales/bs/messages.json
+++ b/src/_locales/bs/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Otvori",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Napravite novu prijavu",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Pronađite slične prijave",
@@ -955,10 +955,6 @@
"message": "Ispod se nalaze tehničke informacije koje bi vam mogle biti korisne kada vam dobrovoljci pokušavaju pomoći s rješenjem problema.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Važno: Moguće privatna ili osjetljiva informacija je prema zadanim postavkama automatski zaklonjena. Zaklonjene informacije mogu otežati rješavanju problema.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Prijavite problem sa filterom",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Označite web stranicu kao “NSZP” (“Ne-Sigurna-Za-Posao”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Zakloni",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Odzakloni",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Pravila privatnosti",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Greška sa mrežom: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Dodajte slijedeću URL adresu u vašu listu prilagođenih filtera?\n\nNaziv: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Pretplatite se",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/ca/messages.json b/src/_locales/ca/messages.json
index 4265a155da9b7..f342572b35c96 100644
--- a/src/_locales/ca/messages.json
+++ b/src/_locales/ca/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Obre",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Crea un informe nou al GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Cerca informes similars al GitHub",
@@ -955,10 +955,6 @@
"message": "A continuació es mostra informació tècnica que pot ser útil quan els voluntaris intenten ajudar-vos a resoldre un problema.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Important: Per defecte es redacta informació potencialment privada o confidencial. La informació redactada pot dificultar la resolució d'un problema.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Informeu d'un problema de filtre",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Marca aquesta pàgina com a “NSFW” (“No segur per al treball”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redacta",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "No redactis",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Política de privadesa",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Error de xarxa: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: Voleu afegir aquest URL a la llista de filtres personalitzats?\n\nTítol: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Subscriu-me",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/cs/messages.json b/src/_locales/cs/messages.json
index 2a895a3bfb813..536800bcc14c6 100644
--- a/src/_locales/cs/messages.json
+++ b/src/_locales/cs/messages.json
@@ -8,15 +8,15 @@
"description": "this will be in the Chrome web store: must be 132 characters or less"
},
"dashboardName": {
- "message": "uBlock₀ — Ovládací panel",
+ "message": "uBlock₀ - Ovládací panel",
"description": "English: uBlock₀ — Dashboard"
},
"dashboardUnsavedWarning": {
- "message": "Varování! Máte neuložené změny",
+ "message": "Varování: Máte neuložené změny!",
"description": "A warning in the dashboard when navigating away from unsaved changes"
},
"dashboardUnsavedWarningStay": {
- "message": "Zůstat",
+ "message": "Zůstat zde",
"description": "Label for button to prevent navigating away from unsaved changes"
},
"dashboardUnsavedWarningIgnore": {
@@ -28,19 +28,19 @@
"description": "appears as tab name in dashboard"
},
"3pPageName": {
- "message": "Filtry třetích stran",
+ "message": "Seznamy filtrů",
"description": "appears as tab name in dashboard"
},
"1pPageName": {
- "message": "Vaše filtry",
+ "message": "Moje filtry",
"description": "appears as tab name in dashboard"
},
"rulesPageName": {
- "message": "Vaše pravidla",
+ "message": "Moje pravidla",
"description": "appears as tab name in dashboard"
},
"whitelistPageName": {
- "message": "Povolené domény",
+ "message": "Povolené stránky",
"description": "appears as tab name in dashboard"
},
"shortcutsPageName": {
@@ -48,7 +48,7 @@
"description": "appears as tab name in dashboard"
},
"statsPageName": {
- "message": "uBlock₀ — Protokol požadavků",
+ "message": "uBlock₀ - Logger",
"description": "Title for the logger window"
},
"aboutPageName": {
@@ -60,7 +60,7 @@
"description": "appears as tab name in dashboard"
},
"assetViewerPageName": {
- "message": "uBlock₀ — Prohlížeč zdrojů",
+ "message": "uBlock₀ - Prohlížeč zdrojů",
"description": "Title for the asset viewer page"
},
"advancedSettingsPageName": {
@@ -68,15 +68,15 @@
"description": "Title for the advanced settings page"
},
"popupPowerSwitchInfo": {
- "message": "Kliknutí: trvale zakázat uBlock₀ pro celý tento web.\n\nCtrl+kliknutí: zakázat uBlock₀ pouze pro tuto stránku.",
+ "message": "Klepnutí: zakáže/povolí uBlock₀ pro tento web.\n\nCtrl+klepnutí: zakáže uBlock₀ jen pro tuto stránku.",
"description": "English: Click: disable/enable uBlock₀ for this site.\n\nCtrl+click: disable uBlock₀ only on this page."
},
"popupPowerSwitchInfo1": {
- "message": "Kliknutí: trvale zakázat uBlock₀ pro celý tento web.\n\nCtrl+kliknutí: zakázat uBlock₀ pouze pro tuto stránku.",
+ "message": "Klepněte pro zakázání uBlock₀ pro tento web.\n\nCtrl+klepněte pro zakázání uBlock₀ jen pro tuto stránku.",
"description": "Message to be read by screen readers"
},
"popupPowerSwitchInfo2": {
- "message": "Kliknutím povolíte uBlock₀ pro tento web.",
+ "message": "Klepněre pro povolení uBlock₀ pro tento web.",
"description": "Message to be read by screen readers"
},
"popupBlockedRequestPrompt": {
@@ -88,7 +88,7 @@
"description": "English: on this page"
},
"popupBlockedStats": {
- "message": "{{count}} neboli {{percent}} %",
+ "message": "{{count}}, což je {{percent}} %",
"description": "Example: 15 (13%)"
},
"popupBlockedSinceInstallPrompt": {
@@ -96,7 +96,7 @@
"description": "English: since install"
},
"popupOr": {
- "message": "neboli",
+ "message": "což je",
"description": "English: or"
},
"popupBlockedOnThisPage_v2": {
@@ -124,11 +124,11 @@
"description": "English: Enter element picker mode"
},
"popupTipLog": {
- "message": "Otevřít protokol požadavků",
+ "message": "Otevřít Logger",
"description": "Tooltip used for the logger icon in the panel"
},
"popupTipReport": {
- "message": "Nahlásit problém na této webové stránce",
+ "message": "Nahlásit problém na tomto webu",
"description": "Tooltip used for the 'chat' icon in the panel"
},
"popupTipNoPopups": {
@@ -136,11 +136,11 @@
"description": "Tooltip for the no-popups per-site switch"
},
"popupTipNoPopups1": {
- "message": "Kliknutím zablokujete všechny popupy pro tento web",
+ "message": "Klepnutím zablokujete všechna vyskakovací okna na tomto webu",
"description": "Tooltip for the no-popups per-site switch"
},
"popupTipNoPopups2": {
- "message": "Kliknutím vypnete blokování všech popupů pro tento web",
+ "message": "Klepnutím vypnete blokování všech vyskakovacích oken na tomto webu",
"description": "Tooltip for the no-popups per-site switch"
},
"popupTipNoLargeMedia": {
@@ -148,11 +148,11 @@
"description": "Tooltip for the no-large-media per-site switch"
},
"popupTipNoLargeMedia1": {
- "message": "Kliknutím zablokujete velké multimediální prvky na tomto webu",
+ "message": "Klepnutím zablokujete velké multimediální prvky na tomto webu",
"description": "Tooltip for the no-large-media per-site switch"
},
"popupTipNoLargeMedia2": {
- "message": "Kliknutím vypnete blokování velkých multimediálních prvků na tomto webu",
+ "message": "Klepnutím vypnete blokování velkých multimediálních prvků na tomto webu",
"description": "Tooltip for the no-large-media per-site switch"
},
"popupTipNoCosmeticFiltering": {
@@ -160,31 +160,31 @@
"description": "Tooltip for the no-cosmetic-filtering per-site switch"
},
"popupTipNoCosmeticFiltering1": {
- "message": "Kliknutím zakážete kosmetické filtrování na tomto webu",
+ "message": "Klepnutím zakážete kosmetické filtrování na tomto webu",
"description": "Tooltip for the no-cosmetic-filtering per-site switch"
},
"popupTipNoCosmeticFiltering2": {
- "message": "Kliknutím povolíte kosmetické filtrování na tomto webu",
+ "message": "Klepnutím povolíte kosmetické filtrování na tomto webu",
"description": "Tooltip for the no-cosmetic-filtering per-site switch"
},
"popupTipNoRemoteFonts": {
- "message": "Přepnout blokování vzdálených fontů pro tento web",
+ "message": "Přepnout blokování vzdálených písem na tomto webu",
"description": "Tooltip for the no-remote-fonts per-site switch"
},
"popupTipNoRemoteFonts1": {
- "message": "Kliknutím zablokujete externí/vzdálené fonty na tomto webu",
+ "message": "Klepnutím zablokujete vzdálená písma na tomto webu",
"description": "Tooltip for the no-remote-fonts per-site switch"
},
"popupTipNoRemoteFonts2": {
- "message": "Kliknutím vypnete blokování externích/vzdálených fontů na tomto webu",
+ "message": "Klepnutím vypnete blokování vzdálených písem na tomto webu",
"description": "Tooltip for the no-remote-fonts per-site switch"
},
"popupTipNoScripting1": {
- "message": "Kliknutím zakážete JavaScript na této stránce",
+ "message": "Klepnutím zakážete JavaScript na tomto webu",
"description": "Tooltip for the no-scripting per-site switch"
},
"popupTipNoScripting2": {
- "message": "Kliknutím znovu povolíte JavaScript na této stránce",
+ "message": "Klepnutím znovu povolíte JavaScript na tomto webu",
"description": "Tooltip for the no-scripting per-site switch"
},
"popupNoPopups_v2": {
@@ -220,15 +220,15 @@
"description": "Tooltip when hovering the top-most cell of the global-rules column."
},
"popupTipLocalRules": {
- "message": "Lokální pravidla: tento sloupec slouží pro pravidla, která platí pouze pro aktuální web.\nLokální pravidla přepisují globální pravidla.",
+ "message": "Lokální pravidla: tento sloupec slouží pro pravidla, která platí jen pro aktuální web.\nLokální pravidla přepisují globální pravidla.",
"description": "Tooltip when hovering the top-most cell of the local-rules column."
},
"popupTipSaveRules": {
- "message": "Kliknutím natrvalo uložíte provedené změny.",
+ "message": "Klepnutím natrvalo uložíte provedené změny.",
"description": "Tooltip when hovering over the padlock in the dynamic filtering pane."
},
"popupTipRevertRules": {
- "message": "Kliknutím zrušíte provedené změny.",
+ "message": "Klepnutím zrušíte provedené změny.",
"description": "Tooltip when hovering over the eraser in the dynamic filtering pane."
},
"popupAnyRulePrompt": {
@@ -248,7 +248,7 @@
"description": ""
},
"popupInlineScriptRulePrompt": {
- "message": "řádkové skripty",
+ "message": "vložené skripty",
"description": ""
},
"popup1pScriptRulePrompt": {
@@ -264,7 +264,7 @@
"description": ""
},
"popupHitDomainCountPrompt": {
- "message": "domén připojeno",
+ "message": "připojené domény",
"description": "appears in popup"
},
"popupHitDomainCount": {
@@ -308,11 +308,11 @@
"description": "English: Cosmetic filters"
},
"pickerCosmeticFiltersHint": {
- "message": "Kliknutí, Ctrl+Kliknutí",
+ "message": "Klepnutí, Ctrl+klepnutí",
"description": "English: Click, Ctrl-click"
},
"pickerContextMenuEntry": {
- "message": "Zablokovat prvek",
+ "message": "Zablokovat prvek...",
"description": "An entry in the browser's contextual menu"
},
"settingsCollapseBlockedPrompt": {
@@ -324,11 +324,11 @@
"description": "English: Show the number of blocked requests on the icon"
},
"settingsTooltipsPrompt": {
- "message": "Skrýt nápovědu při najetí",
+ "message": "Zakázat nápovědu při najetí",
"description": "A checkbox in the Settings pane"
},
"settingsContextMenuPrompt": {
- "message": "Využít kontextovou nabídku kde je to možné",
+ "message": "Využít kontextovou nabídku, kde je to možné",
"description": "English: Make use of context menu where appropriate"
},
"settingsColorBlindPrompt": {
@@ -356,7 +356,7 @@
"description": "Checkbox to let user access advanced, technical features"
},
"settingsPrefetchingDisabledPrompt": {
- "message": "Zakázat přednačítání (zakáže jakékoliv spojení pro zablokované síťové požadavky)",
+ "message": "Zakázat přednačítání (zakáže jakékoli spojení pro zablokované síťové požadavky)",
"description": "English: "
},
"settingsHyperlinkAuditingDisabledPrompt": {
@@ -384,7 +384,7 @@
"description": ""
},
"settingsNoRemoteFontsPrompt": {
- "message": "Blokovat externí fonty",
+ "message": "Blokovat externí písma",
"description": ""
},
"settingsNoScriptingPrompt": {
@@ -396,7 +396,7 @@
"description": "background information: https://github.com/gorhill/uBlock/issues/3150"
},
"settingsUncloakCnamePrompt": {
- "message": "Odkrýt kanonická jména",
+ "message": "Odkrýt kanonické názvy",
"description": "background information: https://github.com/uBlockOrigin/uBlock-issues/issues/1513"
},
"settingsAdvanced": {
@@ -404,7 +404,7 @@
"description": "Section for controlling advanced-user settings"
},
"settingsAdvancedSynopsis": {
- "message": "Funkce vhodné pouze pro pokročilé uživatele",
+ "message": "Funkce vhodné jen pro pokročilé uživatele",
"description": "Description of section controlling advanced-user settings"
},
"settingsAdvancedUserSettings": {
@@ -428,7 +428,7 @@
"description": "Appears aside each filter list in the _3rd-party filters_ pane"
},
"3pAutoUpdatePrompt1": {
- "message": "Automaticky aktualizovat seznamy filtrů.",
+ "message": "Automaticky aktualizovat seznamy filtrů",
"description": "A checkbox in the _3rd-party filters_ pane"
},
"3pUpdateNow": {
@@ -440,7 +440,7 @@
"description": "A button in the in the _3rd-party filters_ pane"
},
"3pParseAllABPHideFiltersPrompt1": {
- "message": "Zpracovat a použít kosmetické filtry.",
+ "message": "Analyzovat a vynucovat kosmetické filtry",
"description": "English: Parse and enforce Adblock+ element hiding filters."
},
"3pParseAllABPHideFiltersInfo": {
@@ -452,11 +452,11 @@
"description": "This will cause uBO to ignore all generic cosmetic filters."
},
"3pIgnoreGenericCosmeticFiltersInfo": {
- "message": "Obecné kosmetické filtry jsou takové kosmetické filtry, které jsou určeny k použití na všech webových stránkách. Povolení této možnosti odstraní nadbytečnou režii paměti a procesoru, přidanou na webové stránky v důsledku manipulace s obecnými kosmetickými filtry.\n\nTuto možnost doporučujeme povolit na méně výkonných zařízeních.",
+ "message": "Obecné kosmetické filtry jsou takové kosmetické filtry, které jsou určeny k použití na všech webových stránkách. Povolení této volby eliminuje nadbytečnou režii paměti a procesoru, přidanou na webové stránky v důsledku manipulace s obecnými kosmetickými filtry.\n\nTuto volbu doporučujeme povolit na méně výkonných zařízeních.",
"description": "Describes the purpose of the 'Ignore generic cosmetic filters' feature."
},
"3pSuspendUntilListsAreLoaded": {
- "message": "Pozastavit síťové aktivity, dokud se nenačtou všechny seznamy filtrů.",
+ "message": "Pozastavit síťové aktivity, dokud se nenačtou všechny seznamy filtrů",
"description": "A checkbox in the 'Filter lists' pane"
},
"3pListsOfBlockedHostsHeader": {
@@ -508,7 +508,7 @@
"description": "Filter lists section name"
},
"3pImport": {
- "message": "Importovat…",
+ "message": "Importovat...",
"description": "The label for the checkbox used to import external filter lists"
},
"3pExternalListsHint": {
@@ -524,11 +524,11 @@
"description": "used as a tooltip for eye icon beside a list"
},
"3pLastUpdate": {
- "message": "Poslední aktualizace: {{ago}}.\nKliknutím vynutíte aktualizaci.",
+ "message": "Poslední aktualizace: {{ago}}.\nKlepnutím vynutíte aktualizaci.",
"description": "used as a tooltip for the clock icon beside a list"
},
"3pUpdating": {
- "message": "Aktualizuji…",
+ "message": "Aktualizování...",
"description": "used as a tooltip for the spinner icon beside a list"
},
"3pNetworkError": {
@@ -548,15 +548,15 @@
"description": "Label for the checkbox use to trust the content of 'My filters' list"
},
"1pImport": {
- "message": "Importovat a připojit…",
+ "message": "Importovat a připojit...",
"description": "Button in the 'My filters' pane"
},
"1pExport": {
- "message": "Exportovat…",
+ "message": "Exportovat...",
"description": "Button in the 'My filters' pane"
},
"1pExportFilename": {
- "message": "ublock-me-vlastni-filtry_{{datetime}}.txt",
+ "message": "moje-vlastni-filtry-ublock_{{datetime}}.txt",
"description": "English: my-ublock-static-filters_{{datetime}}.txt"
},
"1pApplyChanges": {
@@ -564,7 +564,7 @@
"description": "English: Apply changes"
},
"rulesPermanentHeader": {
- "message": "Permanentní pravidla",
+ "message": "Trvalá pravidla",
"description": "header"
},
"rulesTemporaryHeader": {
@@ -592,23 +592,23 @@
"description": "Will discard manually-edited content and exit manual-edit mode"
},
"rulesImport": {
- "message": "Načíst ze souboru…",
+ "message": "Importovat ze souboru...",
"description": ""
},
"rulesExport": {
- "message": "Exportovat do souboru…",
+ "message": "Exportovat do souboru...",
"description": "Button in the 'My rules' pane"
},
"rulesDefaultFileName": {
- "message": "ublock-ma-dynamicka-pravidla_{{datetime}}.txt",
+ "message": "moje-dynamicka-pravidla-ublock_{{datetime}}.txt",
"description": "default file name to use"
},
"rulesHint": {
- "message": "Seznam vašich pravidel pro dynamické filtrování.",
+ "message": "Seznam Vašich pravidel pro dynamické filtrování.",
"description": "English: List of your dynamic filtering rules."
},
"rulesFormatHint": {
- "message": "Syntaxe pravidel: zdroj destinace typ akce (kompletní dokumentace).",
+ "message": "Syntaxe pravidla: zdroj cíl typ akce (kompletní dokumentace).",
"description": "English: dynamic rule syntax and full documentation."
},
"rulesSort": {
@@ -628,19 +628,19 @@
"description": "English: a sort option for list of rules."
},
"whitelistPrompt": {
- "message": "Pravidla v seznamu povolených domén určují, pro které webové stránky bude uBlock Origin vypnutý. Jedna položka na řádek.",
+ "message": "Pravidla v seznamu povolených webů určují, pro které webové stránky bude uBlock Origin vypnutý. Jedna položka na řádek.",
"description": "A concise description of the 'Trusted sites' pane."
},
"whitelistImport": {
- "message": "Importovat a připojit",
+ "message": "Importovat a připojit...",
"description": "Button in the 'Trusted sites' pane"
},
"whitelistExport": {
- "message": "Exportovat",
+ "message": "Exportovat...",
"description": "Button in the 'Trusted sites' pane"
},
"whitelistExportFilename": {
- "message": "ublock-muj-whitelist_{{datetime}}.txt",
+ "message": "muj-whitelist-ublock_{{datetime}}.txt",
"description": "The default filename to use for import/export purpose"
},
"whitelistApply": {
@@ -664,7 +664,7 @@
"description": "English: Filter"
},
"logAll": {
- "message": "Všechny stránky",
+ "message": "Vše",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
@@ -692,7 +692,7 @@
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
- "message": "Vyčistit logger",
+ "message": "Vyčistit Logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
@@ -704,7 +704,7 @@
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererButtonTip": {
- "message": "Přepnout filtrování loggeru",
+ "message": "Přepnout filtrování Loggeru",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
@@ -712,7 +712,7 @@
"description": "Placeholder string for logger output filtering input field"
},
"loggerRowFiltererBuiltinTip": {
- "message": "Možnosti filtrování loggeru",
+ "message": "Volby filtrování Loggeru",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
@@ -720,7 +720,7 @@
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinEventful": {
- "message": "eventful",
+ "message": "cokoli",
"description": "A keyword in the built-in row filtering expression: all items corresponding to uBO doing something (blocked, allowed, redirected, etc.)"
},
"loggerRowFiltererBuiltinBlocked": {
@@ -780,7 +780,7 @@
"description": "Label to identify the URL of an entry"
},
"loggerURLFilteringHeader": {
- "message": "Dynamické filtrování URL adres",
+ "message": "Pravidlo URL",
"description": "Small header to identify the dynamic URL filtering section"
},
"loggerURLFilteringContextLabel": {
@@ -796,7 +796,7 @@
"description": "Small header to identify the static filtering section"
},
"loggerStaticFilteringSentence": {
- "message": "{{action}} síťové požadavky {{type}} {{br}}jejichž URL adresa se shoduje s {{url}} {{br}}a pochází {{origin}},{{br}}{{importance}} shodný výjimkový filtr.",
+ "message": "{{action}} síťové požadavky {{type}} {{br}}, jejichž URL adresa se shoduje s {{url}} {{br}}a pochází {{origin}},{{br}}{{importance}} shodný výjimkový filtr.",
"description": "Used in the static filtering wizard"
},
"loggerStaticFilteringSentencePartBlock": {
@@ -808,19 +808,19 @@
"description": "Used in the static filtering wizard"
},
"loggerStaticFilteringSentencePartType": {
- "message": "typu “{{type}}”",
+ "message": "typu \"{{type}}\"",
"description": "Used in the static filtering wizard"
},
"loggerStaticFilteringSentencePartAnyType": {
- "message": "jakéhokoliv typu",
+ "message": "jakéhokoli typu",
"description": "Used in the static filtering wizard"
},
"loggerStaticFilteringSentencePartOrigin": {
- "message": "z “{{origin}}”",
+ "message": "z \"{{origin}}\"",
"description": "Used in the static filtering wizard"
},
"loggerStaticFilteringSentencePartAnyOrigin": {
- "message": "odkudkoliv",
+ "message": "odkudkoli",
"description": "Used in the static filtering wizard"
},
"loggerStaticFilteringSentencePartNotImportant": {
@@ -832,11 +832,11 @@
"description": "Used in the static filtering wizard"
},
"loggerStaticFilteringFinderSentence1": {
- "message": "Statický filtr {{filter}} nalezen v seznamech:",
+ "message": "Statický filtr {{filter}} byl nalezen v seznamech:",
"description": "Below this sentence, the filter list(s) in which the filter was found"
},
"loggerStaticFilteringFinderSentence2": {
- "message": "Statický filtr {{filter}} nebyl nalezen v žádném aktuálně povoleném seznamu filtrů",
+ "message": "Statický filtr nebyl nalezen v žádném aktuálně povoleném seznamu filtrů",
"description": "Message to show when a filter cannot be found in any filter lists"
},
"loggerSettingDiscardPrompt": {
@@ -897,14 +897,14 @@
},
"supportOpenButton": {
"message": "Otevřít",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
- "message": "Vytvořit nové hlášení",
- "description": "Text for button which open an external webpage in Support pane"
+ "message": "Vytvořit nové hlášení na GitHubu",
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
- "message": "Vyhledat podobná hlášení",
+ "message": "Vyhledat podobná hlášení na GitHubu",
"description": "A clickable link in the filter issue reporter section"
},
"supportS1H": {
@@ -924,7 +924,7 @@
"description": "First paragraph of 'Questions and support' section in Support pane"
},
"supportS3H": {
- "message": "Problémy s filtrem/web. stránka je nefunkční",
+ "message": "Problémy s filtrem/web je nefunkční",
"description": "Header of 'Filter issues' section in Support pane"
},
"supportS3P1": {
@@ -936,7 +936,7 @@
"description": "Second paragraph of 'Filter issues' section in Support pane"
},
"supportS3P3": {
- "message": "Tipy: Ověřte, že jsou seznamy filtrů aktuální. Protokol je hlavní nástroj pro diagnósu problémů s filtry.",
+ "message": "Tipy: Ověřte, že jsou seznamy filtrů aktuální. Logger je hlavní nástroj pro diagnózu problémů s filtry.",
"description": "Third paragraph of 'Filter issues' section in Support pane"
},
"supportS4H": {
@@ -944,7 +944,7 @@
"description": "Header of 'Bug report' section in Support pane"
},
"supportS4P1": {
- "message": "Hlášení problémů se samotným uBlock Origin na uBlockOrigin/uBlock-issue issue tracker. Požaduje účet GitHub.",
+ "message": "Nahlaste problémy se samotným uBlock Origin do uBlockOrigin/uBlock-issue sledovače problémů. Vyžaduje účet GitHub.",
"description": "First paragraph of 'Bug report' section in Support pane"
},
"supportS5H": {
@@ -952,23 +952,19 @@
"description": "Header of 'Troubleshooting Information' section in Support pane"
},
"supportS5P1": {
- "message": "Níže jsou technické informace, které mohou být užitečné, když vám dobrovolníci pomáhají vyřešit nějaký problém.",
+ "message": "Níže jsou technické informace, které mohou být užitečné, když Vám dobrovolníci pomáhají vyřešit nějaký problém.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Důležité: Potenciálně soukromé nebo citlivé informace jsou ve výchozím nastavení redigovány. Redigované informace mohou ztížit řešení problému.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Nahlásit problém s filtrem",
"description": "Header of 'Report a filter issue' section in Support pane"
},
"supportS6P1S1": {
- "message": "Abyste dobrovolníky nezatěžovali duplicitními hlášeními, ověřte si, zda již problém nebyl nahlášen.",
+ "message": "Abyste dobrovolníky nezatěžovali duplicitními hlášeními, ověřte si, zda již problém nebyl nahlášen. Poznámka: Klepnutím na tlačítko bude originální stránka odeslána na GitHub.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S1": {
- "message": "Seznamy filtrů jsou aktualizovány denně. Ujistěte se, že váš problém již nebyl vyřešen v nejnovějších seznamech filtrů.",
+ "message": "Seznamy filtrů jsou aktualizovány denně. Ujistěte se, že Váš problém již nebyl vyřešen v nejnovějších seznamech filtrů.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
@@ -980,7 +976,7 @@
"description": "Label for the URL of the page"
},
"supportS6Select1": {
- "message": "Webová stránka…",
+ "message": "Webová stránka...",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@@ -1016,19 +1012,11 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "Označit webovou stránku jako “NSFW” (“Není bezpečné pro práci”)",
+ "message": "Označit webovou stránku jako \"NSFW\" (“Není bezpečné pro práci”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Upravit",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Odstranit",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
- "message": "Ochrana soukromí",
+ "message": "Zásady ochrany osobních údajů",
"description": "Link to privacy policy on GitHub (English)"
},
"aboutChangelog": {
@@ -1068,23 +1056,23 @@
"description": "Shown in the About pane"
},
"aboutBackupDataButton": {
- "message": "Zálohovat do souboru…",
+ "message": "Zálohovat do souboru...",
"description": "Text for button to create a backup of all settings"
},
"aboutBackupFilename": {
- "message": "ublock-moje-zaloha_{{datetime}}.txt",
+ "message": "moje-zaloha-ublock_{{datetime}}.txt",
"description": "English: my-ublock-backup_{{datetime}}.txt"
},
"aboutRestoreDataButton": {
- "message": "Obnovit ze souboru…",
+ "message": "Obnovit ze souboru...",
"description": "English: Restore from file..."
},
"aboutResetDataButton": {
- "message": "Obnovit výchozí nastavení…",
+ "message": "Obnovit výchozí nastavení...",
"description": "English: Reset to default settings..."
},
"aboutRestoreDataConfirm": {
- "message": "Všechna nastavení budou přepsána těmi zálohovanými {{time}} a uBlock₀ se restartuje.\n\nPřepsat všechna existující nastavení zálohovanými daty?",
+ "message": "Všechna nastavení budou přepsána daty, zálohovanými {{time}} a uBlock₀ se restartuje.\n\nPřepsat všechna existující nastavení zálohovanými daty?",
"description": "Message asking user to confirm restore"
},
"aboutRestoreDataError": {
@@ -1092,17 +1080,13 @@
"description": "Message to display when an error occurred during restore"
},
"aboutResetDataConfirm": {
- "message": "Všechna nastavení budou smazána a uBlock₀ se restaruje.\n\nObnovit uBlock₀ do továrního nastavení?",
+ "message": "Všechna nastavení budou smazána a uBlock₀ se restartuje.\n\nObnovit uBlock₀ do továrního nastavení?",
"description": "Message asking user to confirm reset"
},
"errorCantConnectTo": {
"message": "Chyba sítě: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: Přidat následující URL adresu do seznamů vlastních filtrů?\n\nNázev: „{{title}}“\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Odebírat",
"description": "For the button used to subscribe to a filter list"
@@ -1132,19 +1116,19 @@
"description": "English: {{value}} days ago"
},
"showDashboardButton": {
- "message": "Zobrazit řídící panel",
+ "message": "Zobrazit ovládací panel",
"description": "Firefox/Fennec-specific: Show Dashboard"
},
"showNetworkLogButton": {
- "message": "Zobrazit Zaznamenávač",
+ "message": "Zobrazit Logger",
"description": "Firefox/Fennec-specific: Show Logger"
},
"fennecMenuItemBlockingOff": {
- "message": "vypnutý",
+ "message": "vypnuto",
"description": "Firefox-specific: appears as 'uBlock₀ (off)'"
},
"docblockedTitle": {
- "message": "Zablokována stránka",
+ "message": "Stránka byla zablokována",
"description": "Used as a title for the document-blocked page"
},
"docblockedPrompt1": {
@@ -1152,7 +1136,7 @@
"description": "Used in the strict-blocking page"
},
"docblockedPrompt2": {
- "message": "Kvůli následujícímu filtru",
+ "message": "Kvůli následujícímu filtru:",
"description": "Used in the strict-blocking page"
},
"docblockedNoParamsPrompt": {
@@ -1160,7 +1144,7 @@
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"docblockedFoundIn": {
- "message": "Nalezeno v:",
+ "message": "Filtr byl nalezen v:",
"description": "English: List of filter list names follows"
},
"docblockedBack": {
@@ -1172,7 +1156,7 @@
"description": "English: Close this window"
},
"docblockedDontWarn": {
- "message": "Nevarujte mě znovu o této stránce",
+ "message": "Příště na tuto stránku neupozorňovat",
"description": "Label for checkbox in document-blocked page"
},
"docblockedProceed": {
@@ -1192,7 +1176,7 @@
"description": "Button text to navigate to the blocked page"
},
"docblockedRedirectPrompt": {
- "message": "Zablokovaná stránka vás chce přesměrovat na jiný web. Pokud se rozhodnete pokračovat, přejdete přímo na: {{url}}",
+ "message": "Zablokovaná stránka Vás chce přesměrovat na jiný web. Pokud se rozhodnete pokračovat, přejdete přímo na: {{url}}",
"description": "Text warning about an incoming redirect"
},
"docblockedReasonLabel": {
@@ -1200,7 +1184,7 @@
"description": "The label which prepend the actual reason why a page was blocked"
},
"docblockedReasonMalicious": {
- "message": "Zlomyslný",
+ "message": "Škodlivá",
"description": "An actual reason why a page was blocked"
},
"docblockedReasonTracker": {
@@ -1208,7 +1192,7 @@
"description": "An actual reason why a page was blocked"
},
"docblockedReasonDisreputable": {
- "message": "Nereputabilní",
+ "message": "Pochybná",
"description": "An actual reason why a page was blocked"
},
"cloudPush": {
@@ -1232,7 +1216,7 @@
"description": "used as a prompt for the user to provide a custom device name"
},
"advancedSettingsWarning": {
- "message": "Pozor! Tato pokročilá nastavení měníte na vlastní nebezpečí.",
+ "message": "Pozor! Tato pokročilá nastavení měňte jen na vlastní nebezpečí.",
"description": "A warning to users at the top of 'Advanced settings' page"
},
"genericSubmit": {
@@ -1252,11 +1236,11 @@
"description": ""
},
"contextMenuBlockElementInFrame": {
- "message": "Zablokovat prvek v rámečku…",
+ "message": "Zablokovat prvek v rámci...",
"description": "An entry in the browser's contextual menu"
},
"contextMenuSubscribeToList": {
- "message": "Přihlásit se k odběru seznamu filtrů ...",
+ "message": "Přihlásit se k odběru seznamu filtrů...",
"description": "An entry in the browser's contextual menu"
},
"contextMenuTemporarilyAllowLargeMediaElements": {
@@ -1264,15 +1248,15 @@
"description": "A context menu entry, present when large media elements have been blocked on the current site"
},
"contextMenuViewSource": {
- "message": "Zobrazit zdrojový kód…",
+ "message": "Zobrazit zdrojový kód...",
"description": "A context menu entry, to view the source code of the target resource"
},
"shortcutCapturePlaceholder": {
- "message": "Stiskněte zkratku",
+ "message": "Zapište zkratku",
"description": "Placeholder string for input field used to capture a keyboard shortcut"
},
"genericMergeViewScrollLock": {
- "message": "Přepnout uzamčení posuvu",
+ "message": "Přepnout uzamčení posunu",
"description": "Tooltip for the button used to lock scrolling between the views in the 'My rules' pane"
},
"genericCopyToClipboard": {
@@ -1280,7 +1264,7 @@
"description": "Label for buttons used to copy something to the clipboard"
},
"genericSelectAll": {
- "message": "Vybrat vše",
+ "message": "Označit vše",
"description": "Label for buttons used to select all text in editor"
},
"toggleCosmeticFiltering": {
@@ -1312,7 +1296,7 @@
"description": "short for 'gigabytes'"
},
"clickToLoad": {
- "message": "Klikněte pro načtení",
+ "message": "Klepněte pro načtení",
"description": "Message used in frame placeholders"
},
"linterMainReport": {
@@ -1320,11 +1304,11 @@
"description": "Summary of number of errors as reported by the linter "
},
"unprocessedRequestTooltip": {
- "message": "Nebylo možné správně filtrovat při spuštění prohlížeče.\nNačtěte stránku znovu, abyste zajistili správné filtrování.",
+ "message": "Nebylo možné správně filtrovat při spuštění prohlížeče. Načtěte stránku znovu, abyste zajistili správné filtrování.",
"description": "A warning which will appear in the popup panel if needed"
},
"dummy": {
- "message": "This entry must be the last one",
+ "message": "Tento záznam musí být poslední",
"description": "so we dont need to deal with comma for last entry"
}
}
diff --git a/src/_locales/cv/messages.json b/src/_locales/cv/messages.json
index c5b11cea5f9c0..4c4783e4299c1 100644
--- a/src/_locales/cv/messages.json
+++ b/src/_locales/cv/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Open",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Find similar reports on GitHub",
@@ -955,10 +955,6 @@
"message": "Below is technical information that might be useful when volunteers are trying to help you solve a problem.",
"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.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Report a filter issue",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -972,7 +968,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
- "message": "Verify that the issue still exists after reloading the problematic webpage.",
+ "message": "Verify that the issue still exists after reloading the problematic web page.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6URL": {
@@ -1019,14 +1015,6 @@
"message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Privacy policy",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Network error: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Add the following URL to your custom filter lists?\n\nTitle: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Subscribe",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/cy/messages.json b/src/_locales/cy/messages.json
index 3e3b778437bea..3467aa6bbc8ec 100644
--- a/src/_locales/cy/messages.json
+++ b/src/_locales/cy/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Agor",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Creu adroddiad newydd",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Canfod adroddiadau tebyg",
@@ -955,10 +955,6 @@
"message": "Below is technical information that might be useful when volunteers are trying to help you solve a problem.",
"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.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Adrodd nam ar hidlydd",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -972,7 +968,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
- "message": "Verify that the issue still exists after reloading the problematic webpage.",
+ "message": "Verify that the issue still exists after reloading the problematic web page.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6URL": {
@@ -1019,14 +1015,6 @@
"message": "Rhoi label “NSFW” (“Not Safe For Work”) ar y dudalen we",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Polisi preifatrwydd",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Gwall rhwydwaith: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Add the following URL to your custom filter lists?\n\nTitle: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Tanysgrifio",
"description": "For the button used to subscribe to a filter list"
@@ -1152,7 +1136,7 @@
"description": "Used in the strict-blocking page"
},
"docblockedPrompt2": {
- "message": "Because of the following filter:",
+ "message": "This happened because of the following filter:",
"description": "Used in the strict-blocking page"
},
"docblockedNoParamsPrompt": {
@@ -1160,7 +1144,7 @@
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"docblockedFoundIn": {
- "message": "Found in:",
+ "message": "The filter has been found in:",
"description": "English: List of filter list names follows"
},
"docblockedBack": {
diff --git a/src/_locales/da/messages.json b/src/_locales/da/messages.json
index b21025b52078a..6700418160a7b 100644
--- a/src/_locales/da/messages.json
+++ b/src/_locales/da/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Åbn",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Opret ny anmeldelse på GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Find lign. anmeldelser på GitHub",
@@ -955,10 +955,6 @@
"message": "Nedenfor findes tekniske oplysninger, som kan være nyttige, når frivillige forsøger at hjælpe dig med at løse et problem.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Vigtigt: Potentielt fortrolige eller sensitive oplysninger bortredigeres som standard, hvilket kan gøre problemløsningen vanskeligere.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Anmeld et filterproblem",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Markér websiden som “NSFW” (“Ikke sikker til arbejdsbrug”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Bortredigér",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Bortredigér ikke",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Fortrolighedspolitik",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Netværksfejl: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Føj følgende URL til dine tilpassede filterlister?\n\nTitel: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Abonnér",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/de/messages.json b/src/_locales/de/messages.json
index 97c851687575c..788104dc8e7d0 100644
--- a/src/_locales/de/messages.json
+++ b/src/_locales/de/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Öffnen",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Neue Meldung auf GitHub erstellen",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Ähnliche Meldungen auf GitHub finden",
@@ -955,10 +955,6 @@
"message": "Im Folgenden sind einige technische Informationen aufgeführt, die nützlich sein können, wenn Freiwillige versuchen, bei der Lösung eines Problems zu helfen.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Wichtig: Potenziell private oder sensible Informationen werden standardmäßig unkenntlich gemacht. Unkenntlich gemachte Informationen können das Lösen eines Problems erschweren.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Ein Filterproblem melden",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Webseite als »NSFW« kennzeichnen (»Unpassend für den Arbeitsplatz«)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Unkenntlich machen",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Kenntlich machen",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Datenschutzhinweise",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Netzwerkfehler: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Folgende URL zu den eigenen Filterlisten hinzufügen?\n\nTitel: »{{title}}«\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Abonnieren",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/el/messages.json b/src/_locales/el/messages.json
index 48bb567f0fb60..b4623718730b4 100644
--- a/src/_locales/el/messages.json
+++ b/src/_locales/el/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Άνοιγμα",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Δημιουργία νέας αναφοράς στο Github",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Εύρεση παρόμοιων αναφορών στο GitHub",
@@ -955,10 +955,6 @@
"message": "Παρακάτω υπάρχουν τεχνικές πληροφορίες που μπορεί να είναι χρήσιμες όταν εθελοντές προσπαθούν να σας βοηθήσουν να λύσετε ένα πρόβλημα.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Σημαντικό: Πιθανώς ιδιωτικές ή ευαίσθητες πληροφορίες αναπροσαρμόζονται από προεπιλογή. Οι αναδιατυπωμένες πληροφορίες ενδέχεται να δυσκολέψουν την επίλυση ενός προβλήματος.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Αναφέρετε πρόβλημα φίλτρου",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Επισημάνετε την ιστοσελίδα ως “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Πολιτική απορρήτου",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Σφάλμα δικτύου: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Προσθήκη της ακόλουθης διεύθυνσης URL στις λίστες προσαρμοσμένων φίλτρων σας;\n\nΤίτλος: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Εγγραφή",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json
index 0c062100aca1a..724fddbe469c7 100644
--- a/src/_locales/en/messages.json
+++ b/src/_locales/en/messages.json
@@ -12,7 +12,7 @@
"description": "English: uBlock₀ — Dashboard"
},
"dashboardUnsavedWarning": {
- "message": "Warning! You have unsaved changes",
+ "message": "Warning: you have unsaved changes!",
"description": "A warning in the dashboard when navigating away from unsaved changes"
},
"dashboardUnsavedWarningStay": {
@@ -898,11 +898,11 @@
"supportOpenButton": {
"message": "Open",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Find similar reports on GitHub",
@@ -956,10 +956,6 @@
"message": "Below is technical information that might be useful when volunteers are trying to help you solve a problem.",
"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.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Report a filter issue",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -973,7 +969,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
- "message": "Verify that the issue still exists after reloading the problematic webpage.",
+ "message": "Verify that the issue still exists after reloading the problematic web page.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6URL": {
@@ -1020,15 +1016,6 @@
"message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
-
"aboutPrivacyPolicy": {
"message": "Privacy policy",
"description": "Link to privacy policy on GitHub (English)"
@@ -1101,10 +1088,6 @@
"message": "Network error: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Add the following URL to your custom filter lists?\n\nTitle: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Subscribe",
"description": "For the button used to subscribe to a filter list"
@@ -1154,7 +1137,7 @@
"description": "Used in the strict-blocking page"
},
"docblockedPrompt2": {
- "message": "Because of the following filter:",
+ "message": "This happened because of the following filter:",
"description": "Used in the strict-blocking page"
},
"docblockedNoParamsPrompt": {
@@ -1162,7 +1145,7 @@
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"docblockedFoundIn": {
- "message": "Found in:",
+ "message": "The filter has been found in:",
"description": "English: List of filter list names follows"
},
"docblockedBack": {
diff --git a/src/_locales/en_GB/messages.json b/src/_locales/en_GB/messages.json
index 69968e16765fb..a211abc6b50e9 100644
--- a/src/_locales/en_GB/messages.json
+++ b/src/_locales/en_GB/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Open",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Create new report",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Find similar reports",
@@ -955,10 +955,6 @@
"message": "Below is technical information that might be useful when volunteers are trying to help you solve a problem.",
"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.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Report a filter issue",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Privacy policy",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Network error: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Add the following URL to your custom filter lists?\n\nTitle: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Subscribe",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/eo/messages.json b/src/_locales/eo/messages.json
index 8bc3bc7d825f2..7e0f5538bf336 100644
--- a/src/_locales/eo/messages.json
+++ b/src/_locales/eo/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Malfermi",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Krei novan raporton",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Serĉi similajn raportojn",
@@ -955,10 +955,6 @@
"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": {
- "message": "Important: Potentially private or sensitive information is redacted by default. Redacted information may make it more difficult to solve a problem.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Raporti problemon pri filtrado",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -972,7 +968,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
- "message": "Verify that the issue still exists after reloading the problematic webpage.",
+ "message": "Verify that the issue still exists after reloading the problematic web page.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6URL": {
@@ -1019,14 +1015,6 @@
"message": "Marki la paĝon kiel «nelabortaŭgan»",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Reguloj pri privateco",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "{{url}} ne konekteblas",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: Ĉu vi volas aldoni la sekvan ligilon al viaj tajloritaj listoj de filtriloj?\n\nTitolo: \"{{title}}\"\nLigilo: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Sekvi",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/es/messages.json b/src/_locales/es/messages.json
index 206a0fd22222a..56f4d164cb3c7 100644
--- a/src/_locales/es/messages.json
+++ b/src/_locales/es/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Abrir",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Crear nuevo reporte en GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Encontrar reportes similares en GitHub",
@@ -955,10 +955,6 @@
"message": "A continuación encontrarás información técnica que puede ser útil cuando los voluntarios intenten ayudarte a resolver un problema.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Importante: la información potencialmente privada o sensible se redacta de forma predeterminada. La información redactada puede dificultar la resolución de un problema.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Reportar un problema de filtro",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Etiquetar la página web como “NSFW” (“no es seguro/apropiado para el trabajo”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redactar",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Sin redactar",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Política de privacidad",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Error de red: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "¿Deseas añadir la siguiente URL a tus listas de filtros personalizados?\n\nTítulo: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Suscribirse",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/et/messages.json b/src/_locales/et/messages.json
index 2186026cfbc55..74a4a61d32d83 100644
--- a/src/_locales/et/messages.json
+++ b/src/_locales/et/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Ava",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Loo GitHubis uus aruanne",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Leia GitHubist sarnaseid aruandeid",
@@ -955,10 +955,6 @@
"message": "Allpool on tehniline info, mis võib olla kasulik, kui vabatahtlikud aitavad sul probleemi lahendada.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Oluline: potentsiaalselt privaatne või tundlik info on vaikimisi kaetud. Kaetud info võib probleemi lahendamist raskendada.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Teavita filtri veast",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Sildista veebileht kui „NSFW“ (“tööks sobimatu”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Kata info",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Ära kata infot",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Privaatsusteatis",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Võrgu viga: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Kas lisada järgnev URL sinu kohandatud filtrite nimekirja?\n\nPealkiri: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Telli",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/eu/messages.json b/src/_locales/eu/messages.json
index f016d13ed9c07..1a097a0f133bb 100644
--- a/src/_locales/eu/messages.json
+++ b/src/_locales/eu/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Ireki",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Txosten berri bat sortu",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Antzeko txostenak aurkitu",
@@ -955,10 +955,6 @@
"message": "Jarraian, boluntarioek arazo bat konpontzen laguntzen saiatzen direnean baliagarria izan daitekeen informazio teknikoa aurkituko duzu.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Garrantzitsua: Pribatua edo sentikorra izan daitekeen informazioa modu lehenetsian idazten da. Idatzitako informazioak arazo bat konpontzea zaildu dezake.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Iragazkiko arazo baten berri eman",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Web orria «NSFW» moduan jarri (“Not Safe For Work” )",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Erredaktatu",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Desegin erredakzioa",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Pribatutasun politika",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Sare-errorea: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: Gehitu honako URL hauek zure iragazki pertsonalizatuen zerrendara?\n\nIzenburua: \"{{title}}\"\nURLa: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Harpidetu",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/fa/messages.json b/src/_locales/fa/messages.json
index c462afe308a07..fc5ea6583aff3 100644
--- a/src/_locales/fa/messages.json
+++ b/src/_locales/fa/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "باز کردن",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "ایجاد گزارش جدید",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "یافتن گزارشهای مشابه",
@@ -955,10 +955,6 @@
"message": "در زیر اطلاعات فنی آمده که ممکن است برای داوطلبانی که میخواهند در حل یک مشکل کمک کنند مفید باشد.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "مهم: اطلاعات شخصی یا حساس به طور پیشفرض ویرایش و مبهم میشوند. اطلاعات مبهمشده ممکن است حل مشکل را سختتر کند.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "گزارش یک اشکال در فیلتر",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "علامت زدن صفحه به عنوان \"NSFW\" (\"نامناسب برای کار\")",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "قوانین حریم خصوصی",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "خطای شبکه: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: آدرس اینترنتی زیر به فهرست فیلتر های سفارشی شما اضافه شود؟\n\nعنوان: \"{{title}}\"\nآدرس: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "آبونه شدن",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/fi/messages.json b/src/_locales/fi/messages.json
index fd6f6b5cd5fc3..bd411bc97e685 100644
--- a/src/_locales/fi/messages.json
+++ b/src/_locales/fi/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Avaa",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Luo GitHubiin uusi ilmoitus",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Etsi GitHubista vastaavia ilmoituksia",
@@ -955,10 +955,6 @@
"message": "Alla on teknisiä tietoja, jotka saattavat auttaa ongelmasi ratkonnassa auttavia vapaaehtoisia.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Tärkeää: Mahdolliset yksityiset ja arkaluonteiset tiedot poistetaan oletusarvoisesti. Tietojen puuttuminen saattaa vaikeuttaa ongelman ratkaisemista.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Ilmoita suodatinongelmasta",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Luokittele verkkosivu ns. työpaikalle sopimattomaksi, \"NSFW\" (\"Not Safe For Work\")",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Älä sisällytä",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Sisällytä",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Tietosuojakäytäntö",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Verkkovirhe: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Lisätäänkö seuraava URL-osoite omiin suodatinlistoihisi?\n\nOtsikko: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Tilaa",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/fil/messages.json b/src/_locales/fil/messages.json
index 6619ba7587160..3ec47e10ffc92 100644
--- a/src/_locales/fil/messages.json
+++ b/src/_locales/fil/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Buksan",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Gumawa ng bagong ulat",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Maghanap ng mga magkahawig na ulat",
@@ -955,10 +955,6 @@
"message": "Nasa ibaba ang mga teknikal na impormasyon na maaaring makatulong sa mga volunteer na tumutulong masolusyonan ang problema mo.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Mahalaga: Sa default, nakatago ang mga pribado o sensitibong impormasyon. Maaaring mas mahirap masolusyonan ang mga problema dahil sa pagtatago ng pribadong impormasyon.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Mag-ulat ng problema ng filter",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Markahan bilang hindi dapat tinitignan sa pook-trabahuan (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Itago",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Huwag itago",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Patakaran sa pagkapribado",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Error sa network: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Idagdag ang sumusunod na mga URL sa iyong listahan ng mga pinasadyang filter?\n\nPangalan: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Subaybayan",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/fr/messages.json b/src/_locales/fr/messages.json
index a67c9f2e4fd38..5dc47404e65ab 100644
--- a/src/_locales/fr/messages.json
+++ b/src/_locales/fr/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Ouvrir",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Créer un nouveau rapport sur GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Trouver des rapports similaires sur GitHub",
@@ -955,10 +955,6 @@
"message": "Veuillez trouver ci-dessous les informations techniques pouvant aider les bénévoles à vous assister dans la résolution de problème.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Important : Les informations potentiellement privées ou sensibles sont retirées par défaut. Ainsi éditées, elles peuvent compliquer la résolution de problème.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Rapporter un problème de filtre",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Marquer le site Web en tant que \"NSFW\" (\"Not Safe For Work\", c'est-à-dire pour public averti/inapproprié au travail)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Retirer les informations potentiellement privées ou sensibles",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Restaurer les informations potentiellement privées ou sensibles",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Politique de confidentialité",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Erreur réseau : {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Ajouter le lien suivant à votre sélection de listes de filtrage ?\n\nTitre : \"{{title}}\"\nLien : {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Souscrire",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/fy/messages.json b/src/_locales/fy/messages.json
index 61e5bfdae13df..6030a4d7bbce8 100644
--- a/src/_locales/fy/messages.json
+++ b/src/_locales/fy/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Iepenje",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Nije melding meitsje",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Soartgelikense meldingen sykje",
@@ -955,10 +955,6 @@
"message": "Hjirûnder stiet technyske ynformaasje dy't handich wêze kin wannear't frijwilligers jo probearje te helpen by it oplossen fan in probleem.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Wichtich: mooglik gefoelige of priveegegevens wurde standert redigearre. Redigearre gegevens kinne it oplossen fan in probleem swierder meitsje.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "In filterprobleem melde",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "De webside labelje as ‘NSFW’ (‘Not Safe For Work’)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redigearje",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Redigearje ûngedien meitsje",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Privacybelied",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Netwurkflater: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: De folgjende URL oan jo oanpaste filterlisten tafoegje?\n\nTitel: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Abonnearje",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/gl/messages.json b/src/_locales/gl/messages.json
index 314aba10856b3..4d3b6279087fa 100644
--- a/src/_locales/gl/messages.json
+++ b/src/_locales/gl/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Abrir",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Crear nova denuncia",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Atopar denuncias parecidas",
@@ -955,10 +955,6 @@
"message": "A información técnica seguinte podería ser útil para que as persoas que intentan axudar poidan resolver o problema.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Importante: A potencial información privada ou sensible está editada por defecto. Ao editar a información poderías dificultar a resolución do problema.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Informar dun problema co filtrado",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Etiqueta a páxina como \"NSFW\" (\"Non é Segura No Traballo\")",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Política de privacidade",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Erro da rede: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: Engadir o seguinte enderezo á túa lista de filtros personalizados?\n\nTitle: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Subscribir",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/gu/messages.json b/src/_locales/gu/messages.json
index 1f109b80476de..fd131d5088953 100644
--- a/src/_locales/gu/messages.json
+++ b/src/_locales/gu/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Open",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Find similar reports on GitHub",
@@ -955,10 +955,6 @@
"message": "Below is technical information that might be useful when volunteers are trying to help you solve a problem.",
"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.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Report a filter issue",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -972,7 +968,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
- "message": "Verify that the issue still exists after reloading the problematic webpage.",
+ "message": "Verify that the issue still exists after reloading the problematic web page.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6URL": {
@@ -1019,14 +1015,6 @@
"message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Privacy policy",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Network error: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Add the following URL to your custom filter lists?\n\nTitle: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Subscribe",
"description": "For the button used to subscribe to a filter list"
@@ -1152,7 +1136,7 @@
"description": "Used in the strict-blocking page"
},
"docblockedPrompt2": {
- "message": "Because of the following filter:",
+ "message": "This happened because of the following filter:",
"description": "Used in the strict-blocking page"
},
"docblockedNoParamsPrompt": {
@@ -1160,7 +1144,7 @@
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"docblockedFoundIn": {
- "message": "Found in:",
+ "message": "The filter has been found in:",
"description": "English: List of filter list names follows"
},
"docblockedBack": {
diff --git a/src/_locales/he/messages.json b/src/_locales/he/messages.json
index 274d15c83be2c..9839eff1b66fe 100644
--- a/src/_locales/he/messages.json
+++ b/src/_locales/he/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "לפתוח",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "צור דוח חדש",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "חיפוש דוחות דומים",
@@ -955,10 +955,6 @@
"message": "ראה מטה מידע טכני שיכול להיות מועיל למתנדב, כאשר הוא מנסה לעזור לך לפתור בעיה.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "חשוב: מידע שהוא פוטנציאלי רגיש או פרטי מוסר בברירת מחדל. המידע שמוסר יכול לגרום לעיכוב בפתרון בעיות.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "דיווח על בעיית מסנן",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "תיוג דף האינטרנט כ- לב\"ל ('לא בטוח לעבודה')",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "הסר מידע פרטי או רגיש",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "שחזר מידע פרטי או רגיש",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "מדיניות פרטיות",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "בעיית רשת: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "הוסף את הכתובת הבאה לרשימת הפילטרים המותאמים אישית שלך?\n\nכותרת: \"{{title}}\"\nכתובת URL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "הירשם כמנוי",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/hi/messages.json b/src/_locales/hi/messages.json
index 3b064814f7585..afa3ae626029f 100644
--- a/src/_locales/hi/messages.json
+++ b/src/_locales/hi/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "खोलें",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "नई रिपोर्ट बनाएं",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "ऐसी ही रिपोर्ट खोजें",
@@ -955,10 +955,6 @@
"message": "नीचे तकनीकी जानकारी दी गई है जो तब उपयोगी हो सकती है जब स्वयंसेवक किसी समस्या का समाधान करने में आपकी सहायता करने का प्रयास कर रहे हों।",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": " महत्वपूर्ण: संभावित रूप से निजी या संवेदनशील जानकारी को डिफ़ॉल्ट रूप से संशोधित किया जाता है। संशोधित जानकारी किसी समस्या को हल करना अधिक कठिन बना सकती है।",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "फ़िल्टर समस्या की रिपोर्ट करें",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "वेब पेज को इस रूप में लेबल करें “NSFW” (“काम करने के लिए सुरक्षित नहीं”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "संपादन",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "असंशोधित",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "गोपनीयता नीति",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "नेटवर्क त्रुटि: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: इस यूआरएल को अपने कस्टम लिस्ट में डालें?\n\nTitle: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "फ़िल्टर सूची का उपयोग करें",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/hr/messages.json b/src/_locales/hr/messages.json
index 4af22495b574b..d5101bf82b0c3 100644
--- a/src/_locales/hr/messages.json
+++ b/src/_locales/hr/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Otvori",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Napravi novu prijavu na GitHub-u",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Nađi slične prijave na GitHub-u",
@@ -955,10 +955,6 @@
"message": "U nastavku se nalaze tehničke informacije koje bi mogle biti korisne kada vam volonteri pokušavaju pomoći u rješavanju problema.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Važno: Potencijalno privatni ili osjetljivi podaci redigirani su prema zadanim postavkama. Redaktirane informacije mogu otežati rješavanje problema.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Prijavi problem sa filterom",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Označite web stranicu kao “NSFW” (“nije sigurno za pregledavanje na poslu“)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redigiraj",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Vratiti na prijašnje",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Pravila privatnosti",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Mrežna greška {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Dodajte slijedeći izvor u vaš izbor filter lista?\n\nNaslov: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Prijava",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/hu/messages.json b/src/_locales/hu/messages.json
index c464637dc0f8c..26301de6d8fd5 100644
--- a/src/_locales/hu/messages.json
+++ b/src/_locales/hu/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Megnyitás",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Hiba bejelentése",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Hasonló hibák keresése",
@@ -955,10 +955,6 @@
"message": "Az alábbi műszaki információk segíthetnek önkénteseinknek megoldani a problémáját.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Fontos: Az esetleges személyes vagy érzékeny adatok alapértelmezés szerint eltávolításra kerülnek. A hiányzó információk megnehezíthetik a probléma megoldását.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Szűrőhibák bejelentése",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "A weboldal megjelölése felnőtt tartalomként",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Elrejtés",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Megjelenítés",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Adatvédelmi irányelvek",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Hálózati hiba: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Hozzáadja a következő webcímet a saját szűrőlistáihoz?\n\nNév: „{{title}}”\nWebcím: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Feliratkozás",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/hy/messages.json b/src/_locales/hy/messages.json
index 8fb8c53306bae..9e1c212d75d0a 100644
--- a/src/_locales/hy/messages.json
+++ b/src/_locales/hy/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Բացել",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Նոր զեկույց ստեղծել",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Գտնել նման զեկույցներ",
@@ -955,10 +955,6 @@
"message": "Ցածում տեխնիկական տեղեկություն է, որը կարող է օգտակար լինել, երբ կամավորները փորձում են օգնել Ձեզ լուծել խնդիրը։",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Կարևոր է. Հնարավոր անձնական կամ զգայուն տեղեկությունները խմբագրվում է լռելյայնորեն։ Վերամշակված տեղեկություները կարող է ավելի բարդացնել խնդրի լուծումը:",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Հաղորդել զտիչի խնդրի մասին",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Նշել վեբ էջը որպես «NSFW» («Աշխատանքի համար անվտանգ չէ»)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Խմբագրել",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Չեղարկել խմբագրումը",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Գաղտնիության քաղաքականություն",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Ցանցի սխալ՝ {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Ավելացնե՞լ հետևյալ հասցեն զտիչների օգտվողային ցանկին։\n\nՎերնագիր՝ «{{title}}»\nURL՝ {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Բաժանորդագրվել",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/id/messages.json b/src/_locales/id/messages.json
index 0268d73230abd..ef6d9659b3474 100644
--- a/src/_locales/id/messages.json
+++ b/src/_locales/id/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Buka",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Buat laporan baru di Github",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Temukan laporan serupa di Github",
@@ -955,10 +955,6 @@
"message": "Di bawah ini adalah informasi teknis yang mungkin berguna saat sukarelawan berusaha membantu memecahkan masalah Anda.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Penting: Informasi yang sifatnya privat dan sensitif disensor secara bawaan. Informasi yang disensor mungkin akan membuat proses memecahkan masalah semakin sulit.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Laporkan masalah filter",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Beri label halaman web sebagai “TAUSB” (“Tidak Aman Untuk Saat Bekerja”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Sensor",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Batal sensor",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Kebijakan privasi",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Galat jaringan: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Tambah URL berikut ke ke daftar filter khusus Anda?\n\nJudul: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Berlangganan",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/it/messages.json b/src/_locales/it/messages.json
index 6cce7a94ffc6c..e5c14c07155f2 100644
--- a/src/_locales/it/messages.json
+++ b/src/_locales/it/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Apri",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Crea una nuova segnalazione",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Trova segnalazioni simili",
@@ -955,10 +955,6 @@
"message": "Di seguito sono riportate informazioni tecniche che potrebbero essere utili quando i volontari cercheranno di aiutarti a risolvere un problema.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Importante: Le informazioni potenzialmente private o sensibili vengono oscurate automaticamente. Le informazioni oscurate possono rendere più difficile risolvere un problema.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Segnala un problema con un filtro",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Etichetta la pagina web come “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Oscura",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Non oscurare",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Informativa sulla privacy",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Errore di rete: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: Aggiungere il seguente URL alla tua lista dei filtri personalizzata?\n\nTitolo: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Sottoscrivi",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/ja/messages.json b/src/_locales/ja/messages.json
index 3aa8efe3c32d2..3feaa8a0e9d7c 100644
--- a/src/_locales/ja/messages.json
+++ b/src/_locales/ja/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "開く",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "新しい報告を作成",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "似た報告を探す",
@@ -955,10 +955,6 @@
"message": "以下の技術情報はボランティアが問題解決の手助けをするときに役立つことがあります。",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "重要: 個人情報や機密情報の可能性のある情報は既定で削除されます。情報が削除されたことによって問題解決が困難になることがあります。",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "フィルターの問題を報告する",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "ウェブページに“NSFW” (閲覧注意、“Not Safe For Work”) とラベルをつける",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "編集済にする",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "無編集にする",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "プライバシーポリシー",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "ネットワークエラー: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "以下の URL をカスタムフィルターリストに追加しますか?\n\nフィルター名: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "購読",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/ka/messages.json b/src/_locales/ka/messages.json
index 10c0c72200055..f5ad8bfc1219f 100644
--- a/src/_locales/ka/messages.json
+++ b/src/_locales/ka/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "გახსნა",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "შექმენით ახალი მოსხენება",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "იპოვეთ მსგავსი მოხსენებები",
@@ -955,10 +955,6 @@
"message": "ქვემოთ მოცემულია ტექნიკური ინფორმაცია, რომელიც გამოადგებათ მოხალისეებს, უკეთ დაგეხმარონ ხარვეზის აღმოფხვრაში.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "გაითვალისწინეთ: მონაცემები, რომლებიც შესაძლოა პირადი და მნიშვნელოვანი იყოს, ნაგულისხმევად იკვეცება. ამასთანავე, შეკვეცილი ინფორმაციით სავარაუდოდ გართულდება ხარვეზის გამოსწორება.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "ფილტრის ხარვეზის მოხსენება",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "გვერდი მოინიშნოს, როგორც „NSFW“ („შეუსაბამო“)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "შეკვეცილი",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "შეუკვეცელი",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "პირადულობის დებულება",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "ქსელის შეცდომა: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: გსურთ შემდეგი URL ბმულის საკუთარ ფილტრის წესებში ჩამატება?\n\nდასახელება: „{{title}}“\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "გამოწერა",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/kk/messages.json b/src/_locales/kk/messages.json
index 3205a862c7c33..64a4c385ee700 100644
--- a/src/_locales/kk/messages.json
+++ b/src/_locales/kk/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Open",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Find similar reports on GitHub",
@@ -955,10 +955,6 @@
"message": "Below is technical information that might be useful when volunteers are trying to help you solve a problem.",
"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.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Report a filter issue",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -972,7 +968,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
- "message": "Verify that the issue still exists after reloading the problematic webpage.",
+ "message": "Verify that the issue still exists after reloading the problematic web page.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6URL": {
@@ -1019,14 +1015,6 @@
"message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Privacy policy",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Желілік қате: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Келесі URL-ді өзіңіздің теңшелетін сүзгілер тізіміне қосыңыз?\n\nТақырып: «{{title}}»\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Жазылу",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/kn/messages.json b/src/_locales/kn/messages.json
index 22279279ee7b4..89367f29bc854 100644
--- a/src/_locales/kn/messages.json
+++ b/src/_locales/kn/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "ತೆರೆ",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Find similar reports on GitHub",
@@ -955,10 +955,6 @@
"message": "Below is technical information that might be useful when volunteers are trying to help you solve a problem.",
"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.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Report a filter issue",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -972,7 +968,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
- "message": "Verify that the issue still exists after reloading the problematic webpage.",
+ "message": "Verify that the issue still exists after reloading the problematic web page.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6URL": {
@@ -1019,14 +1015,6 @@
"message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "ಗೌಪ್ಯತಾ ನೀತಿ\n",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Network error: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Add the following URL to your custom filter lists?\n\nTitle: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "ಫಿಲ್ಟರ್ ಪಟ್ಟಿಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ",
"description": "For the button used to subscribe to a filter list"
@@ -1152,7 +1136,7 @@
"description": "Used in the strict-blocking page"
},
"docblockedPrompt2": {
- "message": "Because of the following filter:",
+ "message": "This happened because of the following filter:",
"description": "Used in the strict-blocking page"
},
"docblockedNoParamsPrompt": {
@@ -1160,7 +1144,7 @@
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"docblockedFoundIn": {
- "message": "Found in:",
+ "message": "The filter has been found in:",
"description": "English: List of filter list names follows"
},
"docblockedBack": {
diff --git a/src/_locales/ko/messages.json b/src/_locales/ko/messages.json
index 31132589b0814..1123900060f45 100644
--- a/src/_locales/ko/messages.json
+++ b/src/_locales/ko/messages.json
@@ -160,11 +160,11 @@
"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": {
@@ -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": {
@@ -352,7 +352,7 @@
"description": ""
},
"settingsAdvancedUserPrompt": {
- "message": "고급 사용자 모드 (필수로 읽어보세요.)",
+ "message": "저는 고급 사용자입니다",
"description": "Checkbox to let user access advanced, technical features"
},
"settingsPrefetchingDisabledPrompt": {
@@ -444,7 +444,7 @@
"description": "English: Parse and enforce Adblock+ element hiding filters."
},
"3pParseAllABPHideFiltersInfo": {
- "message": "이 옵션은 애드블록 플러스-호환 “구성 요소 감추기” 필터를 분석하고 적용하는 것을 활성화합니다. 이 필터는 기본적으로 웹 페이지에서 시각적 방해 요소들을 숨기는 역할을 하며, 네트워크 요청에 기반한 필터링 엔진에서 차단될 수 없습니다.
이 기능을 활성화하면 uBlock₀의 메모리 사용량이 증가합니다.
",
+ "message": "요소 숨김 필터링은 네트워크 요청 차단 방식으로는 막을 수 없는, 웹 페이지 내의 시각적으로 거슬리는 요소들을 숨기는 역할을 합니다.",
"description": "Describes the purpose of the 'Parse and enforce cosmetic filters' feature."
},
"3pIgnoreGenericCosmeticFilters": {
@@ -452,7 +452,7 @@
"description": "This will cause uBO to ignore all generic cosmetic filters."
},
"3pIgnoreGenericCosmeticFiltersInfo": {
- "message": "전체적 표면 필터들은 방문하는 모든 사이트에 적용하는 표면 필터입니다.
uBlock₀는 이를 효율적으로 적용하지만, 전체적 표면 필터들은 사이트의 크기와 유지시간에 따라 확연할 정도의 메모리 및 CPU 오버헤드를 줄 수 있습니다.
이 옵션을 활성화하면 전체적 표면 필터 적용으로 메모리 및 CPU 오버헤드를 제거하고, uBlock₀ 자체의 메모리 사용량도 줄입니다.
저전력 기기에 사용하는 것을 권장합니다.",
+ "message": "범용 요소 숨김 필터는 모든 웹사이트에 공통적으로 적용되는 필터입니다. 이 옵션을 활성화하면 범용 요소 숨김 필터링을 처리하는 과정에서 발생하는 웹 페이지의 메모리 및 CPU 부하를 제거할 수 있습니다.\n\n사양이 낮은 기기에서는 이 옵션을 활성화하는 것을 권장합니다.",
"description": "Describes the purpose of the 'Ignore generic cosmetic filters' feature."
},
"3pSuspendUntilListsAreLoaded": {
@@ -512,7 +512,7 @@
"description": "The label for the checkbox used to import external filter lists"
},
"3pExternalListsHint": {
- "message": "한 줄에 한 개의 URL을 입력하세요. 시작 부분이 ‘!’ 로 시작되면 무시됩니다. 존재하지 않는 URL은 자동으로 무시됩니다.",
+ "message": "한 줄에 한 개의 URL을 입력하세요. 존재하지 않는 URL은 자동으로 무시됩니다.",
"description": "Short information about how to use the textarea to import external filter lists by URL"
},
"3pExternalListObsolete": {
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "열기",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "새 신고 생성",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "유사한 신고 탐색",
@@ -955,10 +955,6 @@
"message": "다음은 자원 봉사자들이 문제를 해결하는 데에 도움을 줄 때 유용할 수 있는 기술적인 정보입니다.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "중요: 잠재적으로 개인 정보이거나 민감한 정보는 기본적으로 지워집니다. 정보가 지워지면 문제 해결이 더 어려워질 수도 있습니다.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "필터 이슈 신고",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "웹페이지를 \"NSFW\" (“Not Safe For Work”)로 분류",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "지우기",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "지우지 않기",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "개인정보취급방침",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "네트워크 오류: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: 선택한 URL을 사용자 지정 필터 목록에 추가하시겠습니까?\n\n제목: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "구독",
"description": "For the button used to subscribe to a filter list"
@@ -1284,7 +1268,7 @@
"description": "Label for buttons used to select all text in editor"
},
"toggleCosmeticFiltering": {
- "message": "시각 요소 필터 토글",
+ "message": "요소 숨김 필터링 토글",
"description": "Label for keyboard shortcut used to toggle cosmetic filtering"
},
"toggleJavascript": {
diff --git a/src/_locales/lt/messages.json b/src/_locales/lt/messages.json
index 4a8e8d9dc8ddb..15f3a90ba263a 100644
--- a/src/_locales/lt/messages.json
+++ b/src/_locales/lt/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Atidaryti",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Sukurti naują ataskaitą",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Rasti panašias ataskaitas",
@@ -955,10 +955,6 @@
"message": "Below is technical information that might be useful when volunteers are trying to help you solve a problem.",
"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.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Report a filter issue",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -972,7 +968,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
- "message": "Verify that the issue still exists after reloading the problematic webpage.",
+ "message": "Verify that the issue still exists after reloading the problematic web page.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6URL": {
@@ -1019,14 +1015,6 @@
"message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Privatumo politika",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Tinklo klaida: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: Pridėti šį URL į jūsų adaptuotų filtrų sąrašą?\n\nPavadinimas: „{{title}}“\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Prenumeruoti",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/lv/messages.json b/src/_locales/lv/messages.json
index 2a1aad790a584..c884504ae9d68 100644
--- a/src/_locales/lv/messages.json
+++ b/src/_locales/lv/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Atvērt",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Izveidot jaunu ziņojumu",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Meklēt līdzīgus ziņojumus",
@@ -955,10 +955,6 @@
"message": "Zemāk ir tehniskā informācija, kas var būt noderīga, kad brīvprātīgie mēģinās palīdzēt atrisināt sarežģījumus.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Svarīgi: iespējami privāta vai jūtīga informācija pēc noklusējuma tiek izņemta. Aizvākta informācija var apgrūtināt sarežģījuma atrisināšanu.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Ziņot par aizturētāja nepilnībām",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Iezīmēt tīmekļa lapu kā \"NSFW\" (\"Not Safe for Work (nav droša darbam))",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Izņemt",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Atdarīt izņemšanu",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Privātuma nosacījumi",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Tīkla kļūda: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: Pievienot sekojošo URL Jūsu lietotāja filtru sarakstiem?\n\nNosaukums: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Abonēt",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/mk/messages.json b/src/_locales/mk/messages.json
index f350101f6a485..d6981beae583c 100644
--- a/src/_locales/mk/messages.json
+++ b/src/_locales/mk/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Отвори",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Создај нова пријава",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Најди слични пријави",
@@ -955,10 +955,6 @@
"message": "Подолу е техничка информација која може да биде корисна кога волонтерите се обидуваат да ви помогнат да решите проблем.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Важно: Потенцијално приватни или осетливи информации се цензурирани по подразбирање. Цензурираните информации можат да го отежнат решавањето на проблемот.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Пријави проблем со филтерот",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Означи ја веб-страницата како “NSFW” (“Не е безбедно за работа”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Политика на приватност",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Мрежна грешка: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Дали да ја додадете следната URL адреса на вашите прилагодени листи со филтри?\n\nНаслов: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Пријави се",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/ml/messages.json b/src/_locales/ml/messages.json
index 9d6b0cb6dab1f..29db607005447 100644
--- a/src/_locales/ml/messages.json
+++ b/src/_locales/ml/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "തുറക്കുക",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "പുതിയ റിപ്പോർട്ട് നിർമ്മിക്കുക",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "സമാനമായ റിപോർട്ടുകൾ കാണുക",
@@ -955,10 +955,6 @@
"message": "Below is technical information that might be useful when volunteers are trying to help you solve a problem.",
"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.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Report a filter issue",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -972,7 +968,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
- "message": "Verify that the issue still exists after reloading the problematic webpage.",
+ "message": "Verify that the issue still exists after reloading the problematic web page.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6URL": {
@@ -1019,14 +1015,6 @@
"message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "സ്വകാര്യതാ നയം",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "{{url}} എന്നതിലേക്ക് കണക്റ്റ് ചെയ്യാനാകുന്നില്ല",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "യുബ്ലോക്ക്ഒ: താഴെ പറയുന്ന യുആര്എല് താങ്കളുടെ കസ്റ്റം ഫില്റ്ററില് ചേര്ക്കട്ടേയോ?\n\nടൈറ്റില്: \"{{title}}\"\nയുആര്എല്: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "സബ്സ്ക്രൈബുചെയ്യുക",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/mr/messages.json b/src/_locales/mr/messages.json
index b0f355ade34de..2fd810f11a2b2 100644
--- a/src/_locales/mr/messages.json
+++ b/src/_locales/mr/messages.json
@@ -12,7 +12,7 @@
"description": "English: uBlock₀ — Dashboard"
},
"dashboardUnsavedWarning": {
- "message": "Warning! You have unsaved changes",
+ "message": "Warning: you have unsaved changes!",
"description": "A warning in the dashboard when navigating away from unsaved changes"
},
"dashboardUnsavedWarningStay": {
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Open",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Find similar reports on GitHub",
@@ -955,10 +955,6 @@
"message": "Below is technical information that might be useful when volunteers are trying to help you solve a problem.",
"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.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Report a filter issue",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -972,7 +968,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
- "message": "Verify that the issue still exists after reloading the problematic webpage.",
+ "message": "Verify that the issue still exists after reloading the problematic web page.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6URL": {
@@ -1019,14 +1015,6 @@
"message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Privacy policy",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "{{url}} ला कनेक्ट करण्यात अक्षम",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Add the following URL to your custom filter lists?\n\nTitle: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Subscribe",
"description": "For the button used to subscribe to a filter list"
@@ -1152,7 +1136,7 @@
"description": "Used in the strict-blocking page"
},
"docblockedPrompt2": {
- "message": "Because of the following filter:",
+ "message": "This happened because of the following filter:",
"description": "Used in the strict-blocking page"
},
"docblockedNoParamsPrompt": {
@@ -1160,7 +1144,7 @@
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"docblockedFoundIn": {
- "message": "Found in:",
+ "message": "The filter has been found in:",
"description": "English: List of filter list names follows"
},
"docblockedBack": {
diff --git a/src/_locales/ms/messages.json b/src/_locales/ms/messages.json
index 1dfa943d00d9e..9243a351261da 100644
--- a/src/_locales/ms/messages.json
+++ b/src/_locales/ms/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Buka",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Cipta laporan baru",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Cari laporan yang serupa",
@@ -955,10 +955,6 @@
"message": "Berikut adalah maklumat teknikal yang mungkin berguna ketika sukarelawan berusaha membantu anda menyelesaikan masalah.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Penting:Maklumat yang bersifat sensitif dan peribadi dihitamkan secara lalai. Maklumat yang dihitamkan berkemungkinan sukar untuk menyelesaikan masalah. ",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Laporkan masalah berkaitan penapis",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Labelkan laman web itu sebagai \"NSFW\" (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Hitamkan",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Nyahhitamkan",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Dasar privasi",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Ralat rangkaian: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Tambahkan URL berikut ke senarai penapis tersuai anda?\n\nTajuk: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Langgan",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/nb/messages.json b/src/_locales/nb/messages.json
index d16ba40b17134..da64d301aacdc 100644
--- a/src/_locales/nb/messages.json
+++ b/src/_locales/nb/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Åpne",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Opprett ny rapport på GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Finn lignende rapporter på GitHub",
@@ -955,10 +955,6 @@
"message": "Nedenfor er teknisk informasjon som kan være nyttig når frivillige prøver å hjelpe deg med å løse et problem.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Viktig: Potensielt privat eller sensitiv informasjon blir redigert som standard. Redigert informasjon kan gjøre det vanskeligere å løse et problem.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Rapporter om filterproblem",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Merk nettsiden som “NSFW” (“Not Safe For Work”) (advarsel mot sider med upassende innhold)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Rediger",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Ikke rediger",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Personvernpraksis",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Nettverksfeil: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Legge til følgende nettadresse i din egendefinerte filterliste?\n\nTittel: \"{{title}}\"\nNettadresse: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Abonner",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/nl/messages.json b/src/_locales/nl/messages.json
index 72caabbdea683..2ce2428a1f261 100644
--- a/src/_locales/nl/messages.json
+++ b/src/_locales/nl/messages.json
@@ -12,7 +12,7 @@
"description": "English: uBlock₀ — Dashboard"
},
"dashboardUnsavedWarning": {
- "message": "Waarschuwing! Niet-opgeslagen wijzigingen",
+ "message": "Waarschuwing: niet-opgeslagen wijzigingen!",
"description": "A warning in the dashboard when navigating away from unsaved changes"
},
"dashboardUnsavedWarningStay": {
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Openen",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Nieuwe melding op GitHub maken",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Soortgelijke meldingen op GitHub zoeken",
@@ -955,10 +955,6 @@
"message": "Hieronder bevindt zich technische informatie die handig kan zijn wanneer vrijwilligers u proberen te helpen bij het oplossen van een probleem.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Belangrijk: mogelijk gevoelige of privégegevens worden standaard geredigeerd. Geredigeerde gegevens kunnen het oplossen van een probleem bemoeilijken.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Een filterprobleem melden",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1016,17 +1012,9 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
- "message": "De webpagina labelen als ‘NSFW’ (‘Not Safe For Work’)",
+ "message": "De webpagina labelen als ‘NSFW’ (‘Not Safe For Work’)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redigeren",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Redigeren ongedaan maken",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Privacybeleid",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Netwerkfout: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "De volgende URL aan uw lijsten met aangepaste filters toevoegen?\n\nTitel: ‘{{title}}’\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Abonneren",
"description": "For the button used to subscribe to a filter list"
@@ -1152,7 +1136,7 @@
"description": "Used in the strict-blocking page"
},
"docblockedPrompt2": {
- "message": "vanwege het volgende filter:",
+ "message": "Dit is gebeurd vanwege het volgende filter:",
"description": "Used in the strict-blocking page"
},
"docblockedNoParamsPrompt": {
diff --git a/src/_locales/oc/messages.json b/src/_locales/oc/messages.json
index 483ecfeda771d..2fc95ed07a8e6 100644
--- a/src/_locales/oc/messages.json
+++ b/src/_locales/oc/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Dobrir",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Find similar reports on GitHub",
@@ -955,10 +955,6 @@
"message": "Below is technical information that might be useful when volunteers are trying to help you solve a problem.",
"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.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Report a filter issue",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -972,7 +968,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
- "message": "Verify that the issue still exists after reloading the problematic webpage.",
+ "message": "Verify that the issue still exists after reloading the problematic web page.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6URL": {
@@ -1019,14 +1015,6 @@
"message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Politica de confidencialitat",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Network error: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Add the following URL to your custom filter lists?\n\nTitle: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "S'abonar",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/pa/messages.json b/src/_locales/pa/messages.json
index 5caa7221cfd3b..3f3abba147e9c 100644
--- a/src/_locales/pa/messages.json
+++ b/src/_locales/pa/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "ਖੋਲ੍ਹੋ",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "ਨਵੀਂ ਰਿਪੋਰਟ ਬਣਾਓ",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "ਰਲਦੀਆਂ ਰਿਪੋਰਟਾਂ ਲੱਭੋ",
@@ -955,10 +955,6 @@
"message": "ਹੇਠਾਂ ਤਕਨੀਕੀ ਜਾਣਕਾਰੀ ਦਿੱਤੀ ਹੈ, ਜੋ ਕਿ ਵਲੰਟੀਅਰਾਂ ਲਈ ਮਦਦਗਾਰ ਹੋ ਸਕਦੀ ਹੈ, ਜੋ ਤੁਹਾਡੀ ਸਮੱਸਿਆ ਹੱਲ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ ਕਰਦੇ ਹਨ।",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "ਖਾਸ: ਸੰਭਾਵਿਤ ਤੌਰ ਉੱਤੇ ਪ੍ਰਾਈਵੇਟ ਜਾਂ ਸੰਵੇਦਨਸ਼ੀਲ ਜਾਣਕਾਰੀ ਨੂੰ ਮੂਲ ਰੂਪ ਵਿੱਚ ਛਾਂਟ ਦਿੱਤਾ ਗਿਆ ਹੈ। ਛਾਂਂਟੀ ਕੀਤੀ ਜਾਣਕਾਰੀ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰਨਾ ਵੱਧ ਔਖਾ ਬਣਾ ਸਕਦੀ ਹੈ।",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "ਫਿਲਟਰ ਮਸਲੇ ਬਾਰੇ ਰਿਪੋਰਟ ਕਰੋ",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "ਪਰਦੇਦਾਰੀ ਨੀਤੀ",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "ਨੈੱਟਵਰਕ ਗਲਤੀ: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "ਕੀ ਅੱਗੇ ਦਿੱਤੇ URL ਨੂੰ ਤੁਹਾਡੀਆਂ ਕਸਟਮ ਫਿਲਟਰ ਸੂਚੀਆਂ ਵਿੱਚ ਜੋੜਨਾ ਹੈ?\n\nਨਾਂ: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "ਮੈਂਬਰ ਬਣੋ",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/pl/messages.json b/src/_locales/pl/messages.json
index 430ff3ee45d58..4802a3a0669c4 100644
--- a/src/_locales/pl/messages.json
+++ b/src/_locales/pl/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Otwórz",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Utwórz nowy raport",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Znajdź podobne raporty",
@@ -955,10 +955,6 @@
"message": "Poniżej znajdują się informacje techniczne które mogą być użyteczne gdy wolontariusze próbują pomóc ci w rozwiązaniu problemu.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Ważne: Potencjalnie prywatne lub wrażliwe informacje są domyślnie ocenzurowane. Ocenzurowanie może utrudnić rozwiązanie problemu.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Zgłoś problem z filtrem",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Oznacz stronę internetową jako „NSFW” („Not Safe For Work (nieodpowiednią w pracy)”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Ocenzuruj",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Nie cenzuruj",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Polityka prywatności",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Błąd sieci: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Dodać następujący URL do twoich list filtrów?\n\nTytuł: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Subskrybuj",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/pt_BR/messages.json b/src/_locales/pt_BR/messages.json
index 59a7772f2d6cc..a8c575b011a80 100644
--- a/src/_locales/pt_BR/messages.json
+++ b/src/_locales/pt_BR/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Abrir",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Criar um novo relatório no GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Achar relatórios similares no GitHub",
@@ -955,10 +955,6 @@
"message": "Abaixo estão informações técnicas que poderiam ser úteis quando voluntários estão tentando ajudar você a resolver um problema.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Importante: Informações potencialmente privadas ou sensíveis são eliminadas por padrão. As informações eliminadas podem dificultar a resolução de um problema.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Reportar um problema com o filtro",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Rotular a página da web como \"NSFW\" (\"Não é Seguro no Trabalho\")",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redigir",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Não redigir",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Política de privacidade",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Erro da rede: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Adicionar a seguinte URL a sua lista de filtros personalizados?\n\nTítulo: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Subscrever",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/pt_PT/messages.json b/src/_locales/pt_PT/messages.json
index 0c3028d70918f..a599052c871e9 100644
--- a/src/_locales/pt_PT/messages.json
+++ b/src/_locales/pt_PT/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Abrir",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Criar novo relatório no GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Encontrar relatórios semelhantes no GitHub",
@@ -955,10 +955,6 @@
"message": "Abaixo encontra-se informação técnica que pode ser útil quando voluntários estão a tentar ajudar-lhe a resolver um problema.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Importante: a informação potencialmente privada ou sensível é redigida por predefinição. A informação redigida pode tornar mais difícil a resolução de um problema.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Relatar um problema de filtro",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Rotular a página web como “NSFW” (“Não seguro para o trabalho”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redigir",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Não redigir",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Política de privacidade",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Erro de rede: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Adicionar o seguinte URL à sua lista de filtros personalizados?\n\nTítulo: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Subscrever",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/ro/messages.json b/src/_locales/ro/messages.json
index 16c05adfd5eb2..3c5347a6b2660 100644
--- a/src/_locales/ro/messages.json
+++ b/src/_locales/ro/messages.json
@@ -480,7 +480,7 @@
"description": "Filter lists section name"
},
"3pGroupMalware": {
- "message": "Domenii malițioase",
+ "message": "Domenii malițioase, securitate",
"description": "Filter lists section name"
},
"3pGroupSocial": {
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Deschide",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Crează o nouă sesizare",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Găsește sesizări similare",
@@ -955,10 +955,6 @@
"message": "Mai jos sunt informații care îi pot ajuta pe voluntarii care încearcă să vă ajute în rezolvarea problemelor.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Important: Informațiile potențial private sau sensibile sunt redactate implicit. Aceasta poate face mai dificilă rezolvarea problemelor.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Raportează o problemăcu filtrele",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Etichetează pagina ca fiind „NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redactează",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Anulează redactarea",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Politică de confidențialitate",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Eroare de rețea: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock: Adaugă următorul URL în lista ta de filtre personalizate?\n\nTitlu: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Abonează-te",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/ru/messages.json b/src/_locales/ru/messages.json
index 16561e3393a46..bcde2df487b6d 100644
--- a/src/_locales/ru/messages.json
+++ b/src/_locales/ru/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Открыть",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Создать новый отчёт в GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Найти похожие отчёты в GitHub",
@@ -955,10 +955,6 @@
"message": "Ниже представлена техническая информация, которая может быть полезна волонтерам, помогающим вам решить проблему.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Важно: Предположительно конфиденциальная информация редактируется по умолчанию. Отредактированная информация может усложнить диагностику проблемы.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Сообщить о проблемном фильтре",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Пометить веб-страницу как “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Редактировать",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Отменить редактирование",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Политика конфиденциальности",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Ошибка сети: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Добавить следующий адрес к пользовательским спискам фильтров?\n\nЗаголовок: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Подписаться",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/si/messages.json b/src/_locales/si/messages.json
index 0b9219d1da867..fc4255dd27cb6 100644
--- a/src/_locales/si/messages.json
+++ b/src/_locales/si/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "අරින්න",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "නව වාර්තාවක් සාදන්න",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "සමාන වාර්තා සොයන්න",
@@ -955,10 +955,6 @@
"message": "ස්වේච්ඡා සේවකයන් ගැටලුවක් විසඳීමට ඔබට උදව් කිරීමට උත්සාහ කරන විට ප්රයෝජනවත් විය හැකි තාක්ෂණික තොරතුරු පහත දැක්වේ.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "වැදගත්: පුද්ගලික හෝ සංවේදී තොරතුරු පෙරනිමියෙන් සංස්කරණය කරනු ලැබේ. සංස්කරණය කරන ලද තොරතුරු ගැටළුවක් විසඳීම වඩාත් අපහසු කළ හැකිය.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "පෙරහන් ගැටළුවක් වාර්තා කරන්න",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "වෙබ් පිටුව “NSFW” ලෙස ලේබල් කරන්න (“වැඩ සඳහා ආරක්ෂිත නොවේ”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "රහස්යතා ප්රතිපත්තිය",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "ජාලයේ දෝෂය: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "ඔබගේ අභිරුචි පෙරහන් ලැයිස්තුවලට පහත URL එක එක් කරන්නද?\n\nමාතෘකාව: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "දායක වන්න",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/sk/messages.json b/src/_locales/sk/messages.json
index 997b1c7bec35e..fd590d2460a2b 100644
--- a/src/_locales/sk/messages.json
+++ b/src/_locales/sk/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Otvoriť",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Vytvoriť nové hlásenie",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Vyhľadať podobné hlásenia",
@@ -955,10 +955,6 @@
"message": "Nasledujú technické informácie, ktoré môžu byť užitočné, keď sa vám dobrovoľníci pokúšajú pomôcť vyriešiť problém.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Dôležité: Potenciálne súkromné alebo citlivé informácie sú štandardne upravované. Upravené informácie môžu sťažiť riešenie problému.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Nahlásiť problém s filtrom",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Označiť webstránku ako “NSFW” (Nie je bezpečné pre prácu”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Upraviť",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Neupravovať",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Zásady ochrany osobných údajov",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Chyba siete: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: Pridať nasledujúcu URL do zoznamu vlastných filtrov?\n\nNázov: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Pridať",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/sl/messages.json b/src/_locales/sl/messages.json
index f804810067d4f..eb21a35223156 100644
--- a/src/_locales/sl/messages.json
+++ b/src/_locales/sl/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Odpri",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Ustvari novo poročilo",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Najdi podobna poročila",
@@ -955,10 +955,6 @@
"message": "Below is technical information that might be useful when volunteers are trying to help you solve a problem.",
"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.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Prijavi napako filtra",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -972,7 +968,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
- "message": "Verify that the issue still exists after reloading the problematic webpage.",
+ "message": "Verify that the issue still exists after reloading the problematic web page.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6URL": {
@@ -1019,14 +1015,6 @@
"message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Pravilnik o zasebnosti",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Ne morem se povezati do {{url}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: Dodam sledeči URL na listo lastnih filtrov?\n\nNaslov: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Naročite se",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/so/messages.json b/src/_locales/so/messages.json
index 86636dd3e9f03..7ec1742bd9fcf 100644
--- a/src/_locales/so/messages.json
+++ b/src/_locales/so/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "{{Input}} Waqtiga",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Find similar reports on GitHub",
@@ -955,10 +955,6 @@
"message": "Jawaabaha su'aalaha iyo noocyada kale ee taageerada caawimada waxaa lagu bixiyaa subreddit /r/uBlockOrigin.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Arrimaha shaandhaynta/mareegaha ayaa jabay",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Report a filter issue",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -972,7 +968,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
- "message": "Verify that the issue still exists after reloading the problematic webpage.",
+ "message": "Verify that the issue still exists after reloading the problematic web page.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6URL": {
@@ -1019,14 +1015,6 @@
"message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Ka warbixi arrimaha shaandhaynta shabakadaha gaarka ah uBlockOrigin/uAssets soo saara raadraacayaasha. Wuxuu u baahan yahay akoon GitHub",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Muhiim: Iska ilaali isticmaalka xannibaadaha kale ee la midka ah oo ay la socdaan uBlock Origin, sababtoo ah tani waxay sababi kartaa arrimo shaandhaynta shabakadaha gaarka ah.",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Talooyin: Hubi in liisaska shaandhayntaadu ay cusub yihiin. Logger waa aaladda koowaad ee lagu baadho arrimaha shaandhada la xiriira.",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "CDN si aan kala sooc lahayn loo soo doortay ayaa la isticmaalaa marka liiska shaandhada loo baahan yahay in la cusboonaysiiyo",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Ku soo celi faylka",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "my-ublock-backup_{{datetime}}.txt",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/sq/messages.json b/src/_locales/sq/messages.json
index bb5441314eabd..0075698dd4f98 100644
--- a/src/_locales/sq/messages.json
+++ b/src/_locales/sq/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Hap",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Krijoj raport të ri në GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Gjej raporte të ngjashme në GitHub",
@@ -955,10 +955,6 @@
"message": "Informacioni teknik i mëposhtëm u shërben personave të cilët përpiqen të zgjidhin problemin që keni.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Kujdes: Informacionet me sfond privat dhe delikat censurohen automatikisht. Informacioni i censuruar mund ta vështirësojë zgjidhjen e problemit.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Raportoni problemet me filtrat",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Etiketoj faqen si “NSFW” (“E papërshtatshme për punë”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Censuroj",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Nuk censuroj",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Politika e privatësisë",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Problem me rrjetin kompjuterik: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Do e shtoni adresën në listën e personalizuar të filtrave?\n\nTitulli: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Abonohem",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/sr/messages.json b/src/_locales/sr/messages.json
index b1fd74e38ef50..02dd6d947bc2e 100644
--- a/src/_locales/sr/messages.json
+++ b/src/_locales/sr/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Отвори",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Креирај нови извештај на ГитХабу",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Пронађи сличне извештаје на ГитХабу",
@@ -955,10 +955,6 @@
"message": "Испод су техничке информације које могу бити корисне када волонтери покушавају да вам помогну да решите проблем.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Важно: Потенцијално приватне или осетљиве информације се подразумевано редигују. Редиговане информације могу отежати решавање проблема.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Пријављивање проблема са филтером",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Изначите веб страницу као „NSFW“ (“Није безбедна за рад”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Редигуј",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Поништи редиговање",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Политика приватности",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Грешка на мрежи: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Додати следећу URL адресу у вашу прилагођену листу филтера?\n\nНазив: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Претплати се",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/sv/messages.json b/src/_locales/sv/messages.json
index 18242867a9372..4762b83dce83d 100644
--- a/src/_locales/sv/messages.json
+++ b/src/_locales/sv/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Öppna",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Skapa ny rapport på GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Hitta liknande rapporter på GitHub",
@@ -955,10 +955,6 @@
"message": "Nedan finns teknisk information som kan vara användbar när volontärer försöker hjälpa dig att lösa ett problem.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Viktigt: Potentiellt privat eller känslig information redigeras bort som standard. Bortredigerad information kan göra det svårare att lösa ett problem.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Rapportera ett filterproblem",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Märk webbsidan som \"NSFW\" (“Inte lämplig på jobbet”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Bortredigerad",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Oredigerad",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Integritetspolicy",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Nätverksfel: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Lägg till följande webbadress till dina anpassade filterlistor?\n\nTitel: \"{{title}}\"\nWebbadress: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Prenumerera",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/sw/messages.json b/src/_locales/sw/messages.json
index 29c1508598031..97e8e784aafb8 100644
--- a/src/_locales/sw/messages.json
+++ b/src/_locales/sw/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Fungua",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Unda ripoti mpya",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Pata ripoti sawia",
@@ -955,10 +955,6 @@
"message": "Ifuatayo ni taarifa ya kiteknolojia inayoweza kuwa ya manufaa wakati waliojitolea wakijaribu kukusaidia.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Muhimu: Taarifa inayoweza kuwa nyeti hutolewa, kama chaguo-msingi. Taarifa iliyotolewa huenda ikanya utatuzi wa shide iwe ngumu zaidi.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Ripoti shida ya kichujio",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -972,7 +968,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
- "message": "Verify that the issue still exists after reloading the problematic webpage.",
+ "message": "Verify that the issue still exists after reloading the problematic web page.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6URL": {
@@ -1019,14 +1015,6 @@
"message": "Ipe tovuti lebo ya \"NSFW\" (\"Haifai Kazini\")",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Sera ya faragha",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Tatizo la mtandao: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: Ongeza URL ifuatayo kwenye orodha za uchujaji zinazokufaa?\n\nKicha: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Jisajili",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/ta/messages.json b/src/_locales/ta/messages.json
index 4efbf7c209204..277764a25bf48 100644
--- a/src/_locales/ta/messages.json
+++ b/src/_locales/ta/messages.json
@@ -12,7 +12,7 @@
"description": "English: uBlock₀ — Dashboard"
},
"dashboardUnsavedWarning": {
- "message": "எச்சரிக்கை! உங்களிடம் சேமிக்கப்படாத மாற்றங்கள் உள்ளன",
+ "message": "எச்சரிக்கை: உங்களிடம் சேமிக்கப்படாத மாற்றங்கள் உள்ளன!",
"description": "A warning in the dashboard when navigating away from unsaved changes"
},
"dashboardUnsavedWarningStay": {
@@ -136,7 +136,7 @@
"description": "Tooltip for the no-popups per-site switch"
},
"popupTipNoPopups1": {
- "message": "இந்த தளத்தில் உள்ள அனைத்து பாப்அப்களையும் தடுக்க கிளிக் செய்க",
+ "message": "இந்தத் தளத்தில் உள்ள அனைத்து பாப்அப்களையும் தடுக்க கிளிக் செய்க",
"description": "Tooltip for the no-popups per-site switch"
},
"popupTipNoPopups2": {
@@ -276,11 +276,11 @@
"description": "Example of use: Version 1.26.4"
},
"popup3pScriptFilter": {
- "message": "script",
+ "message": "நிரல்",
"description": "Appears as an option to filter out firewall rows"
},
"popup3pFrameFilter": {
- "message": "frame",
+ "message": "சட்டம்",
"description": "Appears as an option to filter out firewall rows"
},
"pickerCreate": {
@@ -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": {
@@ -484,11 +484,11 @@
"description": "Filter lists section name"
},
"3pGroupSocial": {
- "message": "Social widgets",
+ "message": "சமூக விட்ஜெட்கள்",
"description": "Filter lists section name"
},
"3pGroupCookies": {
- "message": "Cookie notices",
+ "message": "குக்கீ அறிவிப்புகள்",
"description": "Filter lists section name"
},
"3pGroupAnnoyances": {
@@ -536,11 +536,11 @@
"description": "used as a tooltip for error icon beside a list"
},
"1pTrustWarning": {
- "message": "Do not add filters from untrusted sources.",
+ "message": "நம்பகமில்லாத மூலத்தில் இருக்கும் வடிகட்டிகளை சேர்க்காதே.",
"description": "Warning against copy-pasting filters from random sources"
},
"1pEnableMyFiltersLabel": {
- "message": "Enable my custom filters",
+ "message": "என் தனிப்பட்ட வடிகட்டிகளை செயல்படுத்து",
"description": "Label for the checkbox use to enable/disable 'My filters' list"
},
"1pTrustMyFiltersLabel": {
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "திற",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "புதிய புகாரை உருவாக்கு",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "ஒரேமாதிரியான புகார்களைக் கண்டறி",
@@ -912,7 +912,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 Originன் அனைத்து அம்சங்களையும்ப் பற்றி அறிய uBlock/wiki இல் உள்ள ஆவணத்தைப் படிக்கவும்.",
"description": "First paragraph of 'Documentation' section in Support pane"
},
"supportS2H": {
@@ -948,17 +948,13 @@
"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": {
"message": "Below is technical information that might be useful when volunteers are trying to help you solve a problem.",
"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.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "வடிகட்டி சிக்கலைப் புகாரளி",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -972,7 +968,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
- "message": "Verify that the issue still exists after reloading the problematic webpage.",
+ "message": "Verify that the issue still exists after reloading the problematic web page.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6URL": {
@@ -1019,14 +1015,6 @@
"message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "தனியுரிமை கொள்கை",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "பிணையத்தில் பிழை: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: பின்வரும் உரலியை உங்களுடைய தனிபயன் வடிகட்டியில் சேர்க்கலாமா?\n\nதலைப்பு: \"{{title}}\"\nஉரலி: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "சந்தாதராகு",
"description": "For the button used to subscribe to a filter list"
@@ -1144,7 +1128,7 @@
"description": "Firefox-specific: appears as 'uBlock₀ (off)'"
},
"docblockedTitle": {
- "message": "Page blocked",
+ "message": "பக்கம் தடுக்கப்பட்டது",
"description": "Used as a title for the document-blocked page"
},
"docblockedPrompt1": {
@@ -1188,7 +1172,7 @@
"description": "English: Permanently"
},
"docblockedDisable": {
- "message": "Proceed",
+ "message": "தொடரவும்",
"description": "Button text to navigate to the blocked page"
},
"docblockedRedirectPrompt": {
@@ -1196,7 +1180,7 @@
"description": "Text warning about an incoming redirect"
},
"docblockedReasonLabel": {
- "message": "Reason:",
+ "message": "காரணம்:",
"description": "The label which prepend the actual reason why a page was blocked"
},
"docblockedReasonMalicious": {
@@ -1204,11 +1188,11 @@
"description": "An actual reason why a page was blocked"
},
"docblockedReasonTracker": {
- "message": "Tracker",
+ "message": "பின்தொடர்பான்",
"description": "An actual reason why a page was blocked"
},
"docblockedReasonDisreputable": {
- "message": "Disreputable",
+ "message": "மதிப்பற்றது",
"description": "An actual reason why a page was blocked"
},
"cloudPush": {
@@ -1316,7 +1300,7 @@
"description": "Message used in frame placeholders"
},
"linterMainReport": {
- "message": "Errors: {{count}}",
+ "message": "தவறுகள்: {{count}}",
"description": "Summary of number of errors as reported by the linter "
},
"unprocessedRequestTooltip": {
diff --git a/src/_locales/te/messages.json b/src/_locales/te/messages.json
index 68c48afe08438..5b4414c3708a2 100644
--- a/src/_locales/te/messages.json
+++ b/src/_locales/te/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "తెరవండి",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "కొత్త నివేదికను సృష్టించండి",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "సారూప్య నివేదికలను కనుగొనండి",
@@ -955,10 +955,6 @@
"message": "Below is technical information that might be useful when volunteers are trying to help you solve a problem.",
"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.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Report a filter issue",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -972,7 +968,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
- "message": "Verify that the issue still exists after reloading the problematic webpage.",
+ "message": "Verify that the issue still exists after reloading the problematic web page.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6URL": {
@@ -1019,14 +1015,6 @@
"message": "వెబ్ పేజీని “NSFW”గా లేబుల్ చేయండి (“పని కోసం సురక్షితం కాదు”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "గోప్యతా విధానం",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "అనుసంధాన వైఫల్యం: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: ఈ URLని మీ నిర్దేశిత ఫిల్టర్ పట్టికకు జతపరచాలా?\n\nశీర్షిక: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "సభ్యత్వాన్ని పొందండి",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/th/messages.json b/src/_locales/th/messages.json
index 2fdbb4c469d3e..20c4bb1d09c0d 100644
--- a/src/_locales/th/messages.json
+++ b/src/_locales/th/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "เปิด",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "สร้างรายงานใหม่",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "ค้นหารายงานคล้ายกันบน GitHub",
@@ -955,10 +955,6 @@
"message": "ด้านล่างนี้เป็นข้อมูลทางเทคนิคซึ่งอาจเป็นประโยชน์ในกรณีที่อาสาสมัครพยายามให้การช่วยเหลือในการแก้ไขปัญหาให้คุณ",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "สำคัญ: ข้อมูลที่อาจเป็นความลับหรือละเอียดอ่อนจะถูกแก้ไขตามค่าเริ่มต้น ข้อมูลที่แก้ไขอาจะทำให้การแก้ไขปัญหายากขึ้น",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "รายงานปัญหาตัวกรอง",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "ติดป้ายเว็บเพจว่าเป็น “NSFW” (“ไม่ปลอดภัยกับงาน (Not Safe For Work)”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "นโยบายความเป็นส่วนตัว",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "เครือข่ายผิดพลาด: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "uBlock₀: เพิ่ม URL ต่อไปนี้ในรายการตัวกรองแบบกำหนดเองของคุณหรือไม่ ?\n\nชื่อ: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "สมัครสมาชิก",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/tr/messages.json b/src/_locales/tr/messages.json
index 17d2a5ba27153..b74076ba48d69 100644
--- a/src/_locales/tr/messages.json
+++ b/src/_locales/tr/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Aç",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
- "message": "GitHub üzerinde yeni rapor oluştur",
- "description": "Text for button which open an external webpage in Support pane"
+ "message": "GitHub'da yeni rapor oluştur",
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "GitHub'da benzer raporları bul",
@@ -955,10 +955,6 @@
"message": "Aşağıdaki, gönüllüler size bir sorunu çözmede yardım etmeye çalışırken, faydalı olabilecek teknik bilgidir.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Önemli: Olası gizli ve hassas bilgiler öntanımlı olarak kısaltılır. Kısaltılmış bilgiler bir sorunu çözmeyi zorlaştırabilir.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Bir filtre sorunu bildirin",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Web sayfasını uygunsuz (“NSFW”) olarak etiketle (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Kısalt",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Kısaltma",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Gizlilik ilkesi",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Ağ hatası: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Bu URL, özel filtre listenize eklensin mi?\n\nBaşlık: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Abone ol",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/uk/messages.json b/src/_locales/uk/messages.json
index f985433fc4ee7..1643fc1adcf9e 100644
--- a/src/_locales/uk/messages.json
+++ b/src/_locales/uk/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Відкрити",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Створити новий звіт",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Знайти подібні звіти",
@@ -955,10 +955,6 @@
"message": "Внизу наведено технічні дані, які можуть бути корисними, коли волонтери намагатимуться допомогти вам розв'язати проблему.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Важливо: Потенційно приватні або конфіденційні дані типово редаговані. Редаговані дані можуть ускладнити розв'язання проблеми.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Повідомити про ваду фільтра",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Позначити цю сторінку «NSFW» («Небезпечно для роботи»)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Редагувати",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Скасувати редагування",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Політика конфіденційності",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Помилка мережі: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "µBlock: Додати це посилання до списку ваших фільтрів?\n\nНазва: \"{{title}}\"\nПосилання: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Підписатись",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/ur/messages.json b/src/_locales/ur/messages.json
index 367155757aedc..4c4bc4e48a109 100644
--- a/src/_locales/ur/messages.json
+++ b/src/_locales/ur/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Open",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Find similar reports on GitHub",
@@ -955,10 +955,6 @@
"message": "Below is technical information that might be useful when volunteers are trying to help you solve a problem.",
"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.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Report a filter issue",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -972,7 +968,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportS6P2S2": {
- "message": "Verify that the issue still exists after reloading the problematic webpage.",
+ "message": "Verify that the issue still exists after reloading the problematic web page.",
"description": "A paragraph in the filter issue reporter section"
},
"supportS6URL": {
@@ -1019,14 +1015,6 @@
"message": "Label the web page as “NSFW” (“Not Safe For Work”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Redact",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Unredact",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Privacy policy",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "نیٹورک مسئلہ: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Add the following URL to your custom filter lists?\n\nTitle: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Subscribe",
"description": "For the button used to subscribe to a filter list"
@@ -1152,7 +1136,7 @@
"description": "Used in the strict-blocking page"
},
"docblockedPrompt2": {
- "message": "Because of the following filter:",
+ "message": "This happened because of the following filter:",
"description": "Used in the strict-blocking page"
},
"docblockedNoParamsPrompt": {
@@ -1160,7 +1144,7 @@
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"docblockedFoundIn": {
- "message": "Found in:",
+ "message": "The filter has been found in:",
"description": "English: List of filter list names follows"
},
"docblockedBack": {
diff --git a/src/_locales/vi/messages.json b/src/_locales/vi/messages.json
index 7f5300ee5d240..fae9d5ce4dafd 100644
--- a/src/_locales/vi/messages.json
+++ b/src/_locales/vi/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "Mở",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "Tạo báo cáo mới",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "Tìm các báo cáo tương tự",
@@ -955,10 +955,6 @@
"message": "Đây là các thông tin kỹ thuật có thể giúp ích khi khắc phục lỗi.",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "Lưu ý: Mặc định, các luật và bộ lọc cá nhân được ẩn. Điều này có thể khiến việc khắc phục lỗi khó khăn hơn.",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "Báo cáo lỗi bộ lọc cụ thể",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "Đánh dấu \"NFSW\" - Not Safe For Work cho trang web.( Tìm hiểu về \"Not Safe For Work\")",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "Ẩn bớt",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "Hiện thêm",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "Chính sách bảo mật",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "Lỗi kết nối: {{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "Thêm URL dưới đây vào bộ lọc tuỳ biến của bạn?\n\nTên: \"{{title}}\"\nURL: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "Đăng ký",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/zh_CN/messages.json b/src/_locales/zh_CN/messages.json
index 79e9e692463c6..a06a37e051974 100644
--- a/src/_locales/zh_CN/messages.json
+++ b/src/_locales/zh_CN/messages.json
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "打开",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "创建新报告",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "查找类似报告",
@@ -955,10 +955,6 @@
"message": "以下生成的技术报告或有助于他人帮你解决问题。",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "注意:可能涉及隐私的内容已经过删改,需手动取消。删改部分有可能包括解决问题的关键信息。",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "报告过滤规则的问题",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "将该网页标记为 “NSFW”(“工作场所不宜”)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "自动删改",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "取消删改",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "隐私政策",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "网络错误:{{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "添加下列网址到您的自定义规则列表吗?\n\n标题: “{{title}}”\n网址: {{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "订阅",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/_locales/zh_TW/messages.json b/src/_locales/zh_TW/messages.json
index 165bd97c7aa25..f7dea64a97283 100644
--- a/src/_locales/zh_TW/messages.json
+++ b/src/_locales/zh_TW/messages.json
@@ -356,7 +356,7 @@
"description": "Checkbox to let user access advanced, technical features"
},
"settingsPrefetchingDisabledPrompt": {
- "message": "停用預先取回連結(避免連接至已阻擋的網路請求)",
+ "message": "停用「預先取回連結」(避免連接至已阻擋的網路請求)",
"description": "English: "
},
"settingsHyperlinkAuditingDisabledPrompt": {
@@ -364,7 +364,7 @@
"description": "English: "
},
"settingsWebRTCIPAddressHiddenPrompt": {
- "message": "防止 WebRTC 洩漏本地 IP 位址",
+ "message": "防止 WebRTC 洩漏本機 IP 位址",
"description": "English: "
},
"settingPerSiteSwitchGroup": {
@@ -404,7 +404,7 @@
"description": "Section for controlling advanced-user settings"
},
"settingsAdvancedSynopsis": {
- "message": "僅合適技術使用者的功能",
+ "message": "僅適合技術使用者的功能",
"description": "Description of section controlling advanced-user settings"
},
"settingsAdvancedUserSettings": {
@@ -480,7 +480,7 @@
"description": "Filter lists section name"
},
"3pGroupMalware": {
- "message": "惡意軟體保護及保安",
+ "message": "惡意軟體防護與安全性",
"description": "Filter lists section name"
},
"3pGroupSocial": {
@@ -524,7 +524,7 @@
"description": "used as a tooltip for eye icon beside a list"
},
"3pLastUpdate": {
- "message": "上次更新:{{ago}}。\n點擊此處以強制更新。",
+ "message": "上次更新時間:{{ago}}。\n按這裡以強制更新。",
"description": "used as a tooltip for the clock icon beside a list"
},
"3pUpdating": {
@@ -848,7 +848,7 @@
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
- "message": "每個分頁最多保留 {{input}} 次內容加載產生的記錄",
+ "message": "每個分頁最多保留 {{input}} 次內容載入產生的記錄",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
@@ -897,11 +897,11 @@
},
"supportOpenButton": {
"message": "開啟",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportReportSpecificButton": {
"message": "建立新報告",
- "description": "Text for button which open an external webpage in Support pane"
+ "description": "Text for button which open an external web page in Support pane"
},
"supportFindSpecificButton": {
"message": "尋找類似報告",
@@ -955,10 +955,6 @@
"message": "以下是志願者嘗試幫您解決問題時,可能會用到的技術資訊:",
"description": "First paragraph of 'Troubleshooting Information' section in Support pane"
},
- "supportS5P2": {
- "message": "特別注意:預設情況下,潛在私人或敏感的資料會被略去。略去的資訊可能會讓問題更難獲解決。",
- "description": "Second paragraph of 'Troubleshooting Information' section in Support pane"
- },
"supportS6H": {
"message": "回報過濾規則的問題",
"description": "Header of 'Report a filter issue' section in Support pane"
@@ -1019,14 +1015,6 @@
"message": "將網頁標記為「NSFW」(工作場所不宜)",
"description": "A checkbox to use for NSFW sites"
},
- "supportRedact": {
- "message": "替換",
- "description": "Text for 'Redact' button"
- },
- "supportUnredact": {
- "message": "不要替換",
- "description": "Text for 'Unredact' button"
- },
"aboutPrivacyPolicy": {
"message": "隱私權條款",
"description": "Link to privacy policy on GitHub (English)"
@@ -1099,10 +1087,6 @@
"message": "網路錯誤:{{msg}}",
"description": "English: Network error: {{msg}}"
},
- "subscriberConfirm": {
- "message": "確定要新增下列網址至自訂過濾規則清單?\n\n標題:「{{title}}」\n網址:{{url}}",
- "description": "No longer used"
- },
"subscribeButton": {
"message": "訂閱",
"description": "For the button used to subscribe to a filter list"
diff --git a/src/document-blocked.html b/src/document-blocked.html
index 1fb3876729c1d..84412f9e20002 100644
--- a/src/document-blocked.html
+++ b/src/document-blocked.html
@@ -46,7 +46,7 @@
-
+
_
diff --git a/src/js/1p-filters.js b/src/js/1p-filters.js
index 7e20a30c29fd3..934acd466d17b 100644
--- a/src/js/1p-filters.js
+++ b/src/js/1p-filters.js
@@ -197,7 +197,7 @@ function threeWayMerge(newContent) {
/******************************************************************************/
-async function renderUserFilters(merge = false) {
+async function renderUserFilters() {
const details = await vAPI.messaging.send('dashboard', {
what: 'readUserFilters',
});
@@ -208,15 +208,8 @@ async function renderUserFilters(merge = false) {
qs$('#enableMyFilters input').checked = details.enabled;
qs$('#trustMyFilters input').checked = details.trusted;
- const newContent = details.content.trim();
-
- if ( merge && self.hasUnsavedData() ) {
- setEditorText(threeWayMerge(newContent));
- userFiltersChanged({ changed: true });
- } else {
- setEditorText(newContent);
- userFiltersChanged({ changed: false });
- }
+ setEditorText(details.content.trim());
+ userFiltersChanged({ changed: false });
rememberCurrentState();
}
@@ -365,7 +358,13 @@ dom.on('#trustMyFilters input', 'change', userFiltersChanged);
cmEditor.startOperation();
const scroll = cmEditor.getScrollInfo();
const selections = cmEditor.listSelections();
- renderUserFilters(true).then(( ) => {
+ const shouldMerge = self.hasUnsavedData();
+ const beforeContent = getEditorText();
+ renderUserFilters().then(( ) => {
+ if ( shouldMerge ) {
+ setEditorText(threeWayMerge(beforeContent));
+ userFiltersChanged({ changed: true });
+ }
cmEditor.clearHistory();
cmEditor.setSelection(selections[0].anchor, selections[0].head);
cmEditor.scrollTo(scroll.left, scroll.top);
diff --git a/src/js/contentscript.js b/src/js/contentscript.js
index 0874918e74663..5d0bd66ee4eed 100644
--- a/src/js/contentscript.js
+++ b/src/js/contentscript.js
@@ -373,13 +373,11 @@ vAPI.SafeAnimationFrame = class {
let i = mutations.length;
while ( i-- ) {
const mutation = mutations[i];
- let nodeList = mutation.addedNodes;
- if ( nodeList.length !== 0 ) {
- addedNodeLists.push(nodeList);
- }
- nodeList = mutation.removedNodes;
- if ( nodeList.length !== 0 ) {
- removedNodeLists.push(nodeList);
+ if ( mutation.addedNodes.length !== 0 ) {
+ addedNodeLists.push(mutation.addedNodes);
+ }
+ if ( mutation.removedNodes.length !== 0 ) {
+ removedNodeLists.push(mutation.removedNodes);
}
}
if ( addedNodeLists.length !== 0 || removedNodeLists.length !== 0 ) {
@@ -393,8 +391,6 @@ vAPI.SafeAnimationFrame = class {
if ( domLayoutObserver !== undefined ) { return; }
domLayoutObserver = new MutationObserver(observerHandler);
domLayoutObserver.observe(document, {
- //attributeFilter: [ 'class', 'id' ],
- //attributes: true,
childList: true,
subtree: true
});
@@ -928,6 +924,22 @@ vAPI.DOMFilterer = class {
// vAPI.domSurveyor
{
+ const queriedHashes = new Set();
+ const newHashes = new Set();
+ const maxSurveyNodes = 65536;
+ const pendingLists = [];
+ const pendingNodes = [];
+ const processedSet = new Set();
+ const ignoreTags = Object.assign(Object.create(null), {
+ br: 1, head: 1, link: 1, meta: 1, script: 1, style: 1
+ });
+ let domObserver;
+ let domFilterer;
+ let hostname = '';
+ let domChanged = false;
+ let scannedCount = 0;
+ let stopped = false;
+
// http://www.cse.yorku.ca/~oz/hash.html#djb2
// Must mirror cosmetic filtering compiler's version
const hashFromStr = (type, s) => {
@@ -946,20 +958,12 @@ vAPI.DOMFilterer = class {
}
};
- const queriedHashes = new Set();
- const maxSurveyNodes = 65536;
- const pendingLists = [];
- const pendingNodes = [];
- const processedSet = new Set();
- let domFilterer;
- let hostname = '';
- let domChanged = false;
- let scannedCount = 0;
- let stopped = false;
+ const qsa = (context, selector) =>
+ Array.from(context.querySelectorAll(selector));
const addPendingList = list => {
if ( list.length === 0 ) { return; }
- pendingLists.push(Array.from(list));
+ pendingLists.push(list);
};
const nextPendingNodes = ( ) => {
@@ -986,7 +990,7 @@ vAPI.DOMFilterer = class {
};
const hasPendingNodes = ( ) => {
- return pendingLists.length !== 0;
+ return pendingLists.length !== 0 || newHashes.size !== 0 ;
};
// Extract all classes/ids: these will be passed to the cosmetic
@@ -997,18 +1001,18 @@ vAPI.DOMFilterer = class {
// http://www.w3.org/TR/2014/REC-html5-20141028/infrastructure.html#space-separated-tokens
// http://jsperf.com/enumerate-classes/6
- const idFromNode = (node, out) => {
+ const idFromNode = node => {
const raw = node.id;
if ( typeof raw !== 'string' || raw.length === 0 ) { return; }
const hash = hashFromStr(0x23 /* '#' */, raw.trim());
if ( queriedHashes.has(hash) ) { return; }
queriedHashes.add(hash);
- out.push(hash);
+ newHashes.add(hash);
};
// https://github.com/uBlockOrigin/uBlock-issues/discussions/2076
// Performance: avoid using Element.classList
- const classesFromNode = (node, out) => {
+ const classesFromNode = node => {
const s = node.getAttribute('class');
if ( typeof s !== 'string' ) { return; }
const len = s.length;
@@ -1022,32 +1026,29 @@ vAPI.DOMFilterer = class {
const hash = hashFromStr(0x2E /* '.' */, token);
if ( queriedHashes.has(hash) ) { continue; }
queriedHashes.add(hash);
- out.push(hash);
+ newHashes.add(hash);
}
};
- const getSurveyResults = (hashes, safeOnly) => {
- if ( self.vAPI.messaging instanceof Object === false ) {
- stop(); return;
- }
- const promise = hashes.length === 0
+ const getSurveyResults = safeOnly => {
+ if ( Boolean(self.vAPI?.messaging) === false ) { return stop(); }
+ const promise = newHashes.size === 0
? Promise.resolve(null)
: self.vAPI.messaging.send('contentscript', {
what: 'retrieveGenericCosmeticSelectors',
hostname,
- hashes,
+ hashes: Array.from(newHashes),
exceptions: domFilterer.exceptions,
safeOnly,
});
promise.then(response => {
processSurveyResults(response);
});
+ newHashes.clear();
};
const doSurvey = ( ) => {
- if ( self.vAPI instanceof Object === false ) { return; }
const t0 = performance.now();
- const hashes = [];
const nodes = pendingNodes;
const deadline = t0 + 4;
let scanned = 0;
@@ -1060,8 +1061,8 @@ vAPI.DOMFilterer = class {
if ( processedSet.has(node) ) { continue; }
processedSet.add(node);
}
- idFromNode(node, hashes);
- classesFromNode(node, hashes);
+ idFromNode(node);
+ classesFromNode(node);
scanned += 1;
}
if ( performance.now() >= deadline ) { break; }
@@ -1071,7 +1072,7 @@ vAPI.DOMFilterer = class {
stop();
}
processedSet.clear();
- getSurveyResults(hashes);
+ getSurveyResults();
};
const surveyTimer = new vAPI.SafeAnimationFrame(doSurvey);
@@ -1121,66 +1122,73 @@ vAPI.DOMFilterer = class {
});
};
- const domWatcherInterface = {
- onDOMCreated: function() {
- domFilterer = vAPI.domFilterer;
- // https://github.com/uBlockOrigin/uBlock-issues/issues/1692
- // Look-up safe-only selectors to mitigate probability of
- // html/body elements of erroneously being targeted.
- const hashes = [];
- if ( document.documentElement !== null ) {
- idFromNode(document.documentElement, hashes);
- classesFromNode(document.documentElement, hashes);
- }
- if ( document.body !== null ) {
- idFromNode(document.body, hashes);
- classesFromNode(document.body, hashes);
- }
- if ( hashes.length !== 0 ) {
- getSurveyResults(hashes, true);
- }
- addPendingList(document.querySelectorAll(
- '[id]:not(html):not(body),[class]:not(html):not(body)'
- ));
- if ( hasPendingNodes() ) {
- surveyTimer.start();
- }
- },
- onDOMChanged: function(addedNodes) {
- if ( addedNodes.length === 0 ) { return; }
- domChanged = true;
- for ( const node of addedNodes ) {
- addPendingList([ node ]);
- if ( node.firstElementChild === null ) { continue; }
- addPendingList(
- node.querySelectorAll(
- '[id]:not(html):not(body),[class]:not(html):not(body)'
- )
- );
- }
- if ( hasPendingNodes() ) {
- surveyTimer.start(1);
+ const onDomChanged = mutations => {
+ domChanged = true;
+ for ( const mutation of mutations ) {
+ if ( mutation.type === 'childList' ) {
+ const { addedNodes } = mutation;
+ if ( addedNodes.length === 0 ) { continue; }
+ for ( const node of addedNodes ) {
+ if ( node.nodeType !== 1 ) { continue; }
+ if ( ignoreTags[node.localName] ) { continue; }
+ if ( node.parentElement === null ) { continue; }
+ addPendingList([ node ]);
+ if ( node.firstElementChild === null ) { continue; }
+ addPendingList(qsa(node, '[id],[class]'));
+ }
+ } else if ( mutation.attributeName === 'class' ) {
+ classesFromNode(mutation.target);
+ } else {
+ idFromNode(mutation.target);
}
}
+ if ( hasPendingNodes() ) {
+ surveyTimer.start();
+ }
};
const start = details => {
- if ( self.vAPI instanceof Object === false ) { return; }
- if ( self.vAPI.domFilterer instanceof Object === false ) { return; }
- if ( self.vAPI.domWatcher instanceof Object === false ) { return; }
+ if ( Boolean(self.vAPI?.domFilterer) === false ) { return stop(); }
hostname = details.hostname;
- self.vAPI.domWatcher.addListener(domWatcherInterface);
+ domFilterer = vAPI.domFilterer;
+ // https://github.com/uBlockOrigin/uBlock-issues/issues/1692
+ // Look-up safe-only selectors to mitigate probability of
+ // html/body elements of erroneously being targeted.
+ if ( document.documentElement !== null ) {
+ idFromNode(document.documentElement);
+ classesFromNode(document.documentElement);
+ }
+ if ( document.body !== null ) {
+ idFromNode(document.body);
+ classesFromNode(document.body);
+ }
+ if ( newHashes.size !== 0 ) {
+ getSurveyResults(newHashes, true);
+ }
+ addPendingList(qsa(document, '[id],[class]'));
+ if ( hasPendingNodes() ) {
+ surveyTimer.start();
+ }
+ domObserver = new MutationObserver(onDomChanged);
+ domObserver.observe(document, {
+ attributeFilter: [ 'class', 'id' ],
+ attributes: true,
+ childList: true,
+ subtree: true
+ });
};
const stop = ( ) => {
stopped = true;
pendingLists.length = 0;
surveyTimer.clear();
- if ( self.vAPI instanceof Object === false ) { return; }
- if ( self.vAPI.domWatcher instanceof Object ) {
- self.vAPI.domWatcher.removeListener(domWatcherInterface);
+ if ( domObserver ) {
+ domObserver.disconnect();
+ domObserver = undefined;
+ }
+ if ( self.vAPI?.domSurveyor ) {
+ self.vAPI.domSurveyor = null;
}
- self.vAPI.domSurveyor = null;
};
self.vAPI.domSurveyor = { start, addHashes };
diff --git a/src/js/cosmetic-filtering.js b/src/js/cosmetic-filtering.js
index 7cb520a988063..4b4e561d5612c 100644
--- a/src/js/cosmetic-filtering.js
+++ b/src/js/cosmetic-filtering.js
@@ -758,11 +758,9 @@ CosmeticFilteringEngine.prototype.retrieveSpecificSelectors = function(
disableSurveyor: this.lowlyGeneric.size === 0,
};
const injectedCSS = [];
+ const exceptionSet = new Set();
- if (
- options.noSpecificCosmeticFiltering !== true ||
- options.noGenericCosmeticFiltering !== true
- ) {
+ if ( options.noSpecificCosmeticFiltering !== true ) {
// Cached cosmetic filters: these are always declarative.
const specificSet = new Set();
if ( cacheEntry !== undefined ) {
@@ -785,7 +783,6 @@ CosmeticFilteringEngine.prototype.retrieveSpecificSelectors = function(
// Split filters in different groups
const proceduralSet = new Set();
- const exceptionSet = new Set();
for ( const s of allSet ) {
const selector = s.slice(1);
if ( s.charCodeAt(0) === 0x2D /* - */ ) {
@@ -837,44 +834,44 @@ CosmeticFilteringEngine.prototype.retrieveSpecificSelectors = function(
}
out.proceduralFilters.push(...proceduralSet);
}
+ }
- // Highly generic cosmetic filters: sent once along with specific ones.
- // A most-recent-used cache is used to skip computing the resulting set
- // of high generics for a given set of exceptions.
- // The resulting set of high generics is stored as a string, ready to
- // be used as-is by the content script. The string is stored
- // indirectly in the mru cache: this is to prevent duplication of the
- // string in memory, which I have observed occurs when the string is
- // stored directly as a value in a Map.
- if ( options.noGenericCosmeticFiltering !== true ) {
- const exceptionSetHash = out.exceptionFilters.join();
- for ( const key in this.highlyGeneric ) {
- const entry = this.highlyGeneric[key];
- let str = entry.mru.lookup(exceptionSetHash);
- if ( str === undefined ) {
- str = { s: entry.str, excepted: [] };
- let genericSet = entry.dict;
- let hit = false;
+ // Highly generic cosmetic filters: sent once along with specific ones.
+ // A most-recent-used cache is used to skip computing the resulting set
+ // of high generics for a given set of exceptions.
+ // The resulting set of high generics is stored as a string, ready to
+ // be used as-is by the content script. The string is stored
+ // indirectly in the mru cache: this is to prevent duplication of the
+ // string in memory, which I have observed occurs when the string is
+ // stored directly as a value in a Map.
+ if ( options.noGenericCosmeticFiltering !== true ) {
+ const exceptionSetHash = out.exceptionFilters.join();
+ for ( const key in this.highlyGeneric ) {
+ const entry = this.highlyGeneric[key];
+ let str = entry.mru.lookup(exceptionSetHash);
+ if ( str === undefined ) {
+ str = { s: entry.str, excepted: [] };
+ let genericSet = entry.dict;
+ let hit = false;
+ for ( const exception of exceptionSet ) {
+ if ( (hit = genericSet.has(exception)) ) { break; }
+ }
+ if ( hit ) {
+ genericSet = new Set(entry.dict);
for ( const exception of exceptionSet ) {
- if ( (hit = genericSet.has(exception)) ) { break; }
- }
- if ( hit ) {
- genericSet = new Set(entry.dict);
- for ( const exception of exceptionSet ) {
- if ( genericSet.delete(exception) ) {
- str.excepted.push(exception);
- }
+ if ( genericSet.delete(exception) ) {
+ str.excepted.push(exception);
}
- str.s = Array.from(genericSet).join(',\n');
}
- entry.mru.add(exceptionSetHash, str);
- }
- if ( str.excepted.length !== 0 ) {
- out.exceptedFilters.push(...str.excepted);
- }
- if ( str.s.length !== 0 ) {
- injectedCSS.push(`${str.s}\n{display:none!important;}`);
+ str.s = Array.from(genericSet).join(',\n');
}
+ entry.mru.add(exceptionSetHash, str);
+ }
+ if ( str.excepted.length !== 0 ) {
+ out.exceptedFilters.push(...str.excepted);
+ }
+ if ( str.s.length !== 0 ) {
+ injectedCSS.push(`${str.s}\n{display:none!important;}`);
}
}
}
diff --git a/src/js/document-blocked.js b/src/js/document-blocked.js
index 561c224377e35..a062c334c1e7e 100644
--- a/src/js/document-blocked.js
+++ b/src/js/document-blocked.js
@@ -255,7 +255,7 @@ lookupFilterLists().then((lists = []) => {
i18n.render(why);
dom.text(qs$(why, '.why'), details.fs);
if ( reason ) {
- dom.text(qs$(why, 'summary'), `Reason: ${reason}`);
+ dom.text(qs$(why, 'summary'), `${i18n$('docblockedReasonLabel')} ${reason}`);
}
qs$('#why').append(why);
dom.cl.remove(dom.body, 'loading');
diff --git a/src/js/redirect-resources.js b/src/js/redirect-resources.js
index 35272c44fa824..f94383390b59d 100644
--- a/src/js/redirect-resources.js
+++ b/src/js/redirect-resources.js
@@ -55,6 +55,9 @@ export default new Map([
[ 'ampproject_v0.js', {
alias: 'ampproject.org/v0.js',
} ],
+ [ 'adthrive_abd.js', {
+ data: 'text',
+ } ],
[ 'chartbeat.js', {
alias: 'static.chartbeat.com/chartbeat.js',
} ],
diff --git a/src/js/regex-analyzer.js b/src/js/regex-analyzer.js
index 0a885047f934d..a46ac60277b78 100644
--- a/src/js/regex-analyzer.js
+++ b/src/js/regex-analyzer.js
@@ -40,6 +40,16 @@ export function tokenizableStrFromRegex(reStr) {
return _literalStrFromRegex(reStr);
}
+export function literalStrFromRegex(reStr) {
+ let literals = tokenizableStrFromRegex(reStr)
+ .split(/[\x00\x01]+/)
+ .sort((a, b) => b.length - a.length);
+ if ( literals.length > 1 ) {
+ literals = literals.filter(a => (/^(\.?com|\.?net|www\.?)$/).test(a) === false);
+ }
+ return literals[0] || '';
+}
+
/******************************************************************************/
function _isRE2(node) {
diff --git a/src/js/resources/attribute.js b/src/js/resources/attribute.js
index 3b33a5061a07e..6063097620be3 100644
--- a/src/js/resources/attribute.js
+++ b/src/js/resources/attribute.js
@@ -31,7 +31,8 @@ export function setAttrFn(
logPrefix,
selector = '',
attr = '',
- value = ''
+ value = '',
+ options = {}
) {
if ( selector === '' ) { return; }
if ( attr === '' ) { return; }
@@ -93,7 +94,7 @@ export function setAttrFn(
childList: true,
});
};
- runAt(( ) => { start(); }, 'idle');
+ runAt(( ) => { start(); }, options.runAt || 'idle');
}
registerScriptlet(setAttrFn, {
name: 'set-attr.fn',
@@ -136,7 +137,6 @@ export function setAttr(
const safe = safeSelf();
const logPrefix = safe.makeLogPrefix('set-attr', selector, attr, value);
const validValues = [ '', 'false', 'true' ];
-
if ( validValues.includes(value.toLowerCase()) === false ) {
if ( /^\d+$/.test(value) ) {
const n = parseInt(value, 10);
@@ -146,8 +146,8 @@ export function setAttr(
return;
}
}
-
- setAttrFn(false, logPrefix, selector, attr, value);
+ const options = safe.getExtraArgs(Array.from(arguments), 3);
+ setAttrFn(false, logPrefix, selector, attr, value, options);
}
registerScriptlet(setAttr, {
name: 'set-attr.js',
@@ -186,7 +186,8 @@ export function trustedSetAttr(
) {
const safe = safeSelf();
const logPrefix = safe.makeLogPrefix('trusted-set-attr', selector, attr, value);
- setAttrFn(true, logPrefix, selector, attr, value);
+ const options = safe.getExtraArgs(Array.from(arguments), 3);
+ setAttrFn(true, logPrefix, selector, attr, value, options);
}
registerScriptlet(trustedSetAttr, {
name: 'trusted-set-attr.js',
diff --git a/src/js/resources/create-html.js b/src/js/resources/create-html.js
index c5732d3359dcc..9b22976d113b1 100644
--- a/src/js/resources/create-html.js
+++ b/src/js/resources/create-html.js
@@ -21,6 +21,7 @@
*/
import { registerScriptlet } from './base.js';
+import { runAt } from './run-at.js';
import { safeSelf } from './safe-self.js';
/******************************************************************************/
@@ -55,6 +56,7 @@ function trustedCreateHTML(
if ( htmlStr === '' ) { return; }
const safe = safeSelf();
const logPrefix = safe.makeLogPrefix('trusted-create-html', parentSelector, htmlStr, durationStr);
+ const extraArgs = safe.getExtraArgs(Array.from(arguments), 3);
// We do not want to recursively create elements
self.trustedCreateHTML = true;
let ancestor = self.frameElement;
@@ -94,17 +96,37 @@ function trustedCreateHTML(
setTimeout(remove, duration);
return true;
};
- if ( append() ) { return; }
- const observer = new MutationObserver(( ) => {
- if ( append() === false ) { return; }
- observer.disconnect();
- });
- observer.observe(document, { childList: true, subtree: true });
+ const start = ( ) => {
+ if ( append() ) { return; }
+ const observer = new MutationObserver(( ) => {
+ if ( append() === false ) { return; }
+ observer.disconnect();
+ });
+ const observerOptions = {
+ childList: true,
+ subtree: true,
+ };
+ if ( /[#.[]/.test(parentSelector) ) {
+ observerOptions.attributes = true;
+ if ( parentSelector.includes('[') === false ) {
+ observerOptions.attributeFilter = [];
+ if ( parentSelector.includes('#') ) {
+ observerOptions.attributeFilter.push('id');
+ }
+ if ( parentSelector.includes('.') ) {
+ observerOptions.attributeFilter.push('class');
+ }
+ }
+ }
+ observer.observe(document, observerOptions);
+ };
+ runAt(start, extraArgs.runAt || 'loading');
}
registerScriptlet(trustedCreateHTML, {
name: 'trusted-create-html.js',
requiresTrust: true,
dependencies: [
+ runAt,
safeSelf,
],
world: 'ISOLATED',
diff --git a/src/js/resources/json-prune.js b/src/js/resources/json-prune.js
index ec4207a2b6eff..aa787841835ff 100644
--- a/src/js/resources/json-prune.js
+++ b/src/js/resources/json-prune.js
@@ -42,32 +42,31 @@ function jsonPrune(
const logPrefix = safe.makeLogPrefix('json-prune', rawPrunePaths, rawNeedlePaths, stackNeedle);
const stackNeedleDetails = safe.initPattern(stackNeedle, { canNegate: true });
const extraArgs = safe.getExtraArgs(Array.from(arguments), 3);
- JSON.parse = new Proxy(JSON.parse, {
- apply: function(target, thisArg, args) {
- const objBefore = Reflect.apply(target, thisArg, args);
- if ( rawPrunePaths === '' ) {
- safe.uboLog(logPrefix, safe.JSON_stringify(objBefore, null, 2));
- }
- const objAfter = objectPruneFn(
- objBefore,
- rawPrunePaths,
- rawNeedlePaths,
- stackNeedleDetails,
- extraArgs
- );
- if ( objAfter === undefined ) { return objBefore; }
- safe.uboLog(logPrefix, 'Pruned');
- if ( safe.logLevel > 1 ) {
- safe.uboLog(logPrefix, `After pruning:\n${safe.JSON_stringify(objAfter, null, 2)}`);
- }
- return objAfter;
- },
+ proxyApplyFn('JSON.parse', function(context) {
+ const objBefore = context.reflect();
+ if ( rawPrunePaths === '' ) {
+ safe.uboLog(logPrefix, safe.JSON_stringify(objBefore, null, 2));
+ }
+ const objAfter = objectPruneFn(
+ objBefore,
+ rawPrunePaths,
+ rawNeedlePaths,
+ stackNeedleDetails,
+ extraArgs
+ );
+ if ( objAfter === undefined ) { return objBefore; }
+ safe.uboLog(logPrefix, 'Pruned');
+ if ( safe.logLevel > 1 ) {
+ safe.uboLog(logPrefix, `After pruning:\n${safe.JSON_stringify(objAfter, null, 2)}`);
+ }
+ return objAfter;
});
}
registerScriptlet(jsonPrune, {
name: 'json-prune.js',
dependencies: [
objectPruneFn,
+ proxyApplyFn,
safeSelf,
],
});
diff --git a/src/js/resources/prevent-xhr.js b/src/js/resources/prevent-xhr.js
new file mode 100644
index 0000000000000..e25a7e895439d
--- /dev/null
+++ b/src/js/resources/prevent-xhr.js
@@ -0,0 +1,270 @@
+/*******************************************************************************
+
+ uBlock Origin - a comprehensive, efficient content blocker
+ Copyright (C) 2019-present Raymond Hill
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see {http://www.gnu.org/licenses/}.
+
+ Home: https://github.com/gorhill/uBlock
+
+*/
+
+import {
+ generateContentFn,
+ matchObjectPropertiesFn,
+ parsePropertiesToMatchFn,
+} from './utils.js';
+import { proxyApplyFn } from './proxy-apply.js';
+import { registerScriptlet } from './base.js';
+import { safeSelf } from './safe-self.js';
+
+// Externally added to the private namespace in which scriptlets execute.
+/* global scriptletGlobals */
+
+/******************************************************************************/
+
+function preventXhrFn(
+ trusted = false,
+ propsToMatch = '',
+ directive = ''
+) {
+ if ( typeof propsToMatch !== 'string' ) { return; }
+ const safe = safeSelf();
+ const scriptletName = trusted ? 'trusted-prevent-xhr' : 'prevent-xhr';
+ const logPrefix = safe.makeLogPrefix(scriptletName, propsToMatch, directive);
+ const xhrInstances = new WeakMap();
+ const propNeedles = parsePropertiesToMatchFn(propsToMatch, 'url');
+ const warOrigin = scriptletGlobals.warOrigin;
+ const safeDispatchEvent = (xhr, type) => {
+ try {
+ xhr.dispatchEvent(new Event(type));
+ } catch {
+ }
+ };
+ proxyApplyFn('XMLHttpRequest.prototype.open', function(context) {
+ const { thisArg, callArgs } = context;
+ xhrInstances.delete(thisArg);
+ const [ method, url, ...args ] = callArgs;
+ if ( warOrigin !== undefined && url.startsWith(warOrigin) ) {
+ return context.reflect();
+ }
+ const haystack = { method, url };
+ if ( propsToMatch === '' && directive === '' ) {
+ safe.uboLog(logPrefix, `Called: ${safe.JSON_stringify(haystack, null, 2)}`);
+ return context.reflect();
+ }
+ if ( matchObjectPropertiesFn(propNeedles, haystack) ) {
+ const xhrDetails = Object.assign(haystack, {
+ xhr: thisArg,
+ defer: args.length === 0 || !!args[0],
+ directive,
+ headers: {
+ 'date': '',
+ 'content-type': '',
+ 'content-length': '',
+ },
+ url: haystack.url,
+ props: {
+ response: { value: '' },
+ responseText: { value: '' },
+ responseXML: { value: null },
+ },
+ });
+ xhrInstances.set(thisArg, xhrDetails);
+ }
+ return context.reflect();
+ });
+ proxyApplyFn('XMLHttpRequest.prototype.send', function(context) {
+ const { thisArg } = context;
+ const xhrDetails = xhrInstances.get(thisArg);
+ if ( xhrDetails === undefined ) {
+ return context.reflect();
+ }
+ xhrDetails.headers['date'] = (new Date()).toUTCString();
+ let xhrText = '';
+ switch ( thisArg.responseType ) {
+ case 'arraybuffer':
+ xhrDetails.props.response.value = new ArrayBuffer(0);
+ xhrDetails.headers['content-type'] = 'application/octet-stream';
+ break;
+ case 'blob':
+ xhrDetails.props.response.value = new Blob([]);
+ xhrDetails.headers['content-type'] = 'application/octet-stream';
+ break;
+ case 'document': {
+ const parser = new DOMParser();
+ const doc = parser.parseFromString('', 'text/html');
+ xhrDetails.props.response.value = doc;
+ xhrDetails.props.responseXML.value = doc;
+ xhrDetails.headers['content-type'] = 'text/html';
+ break;
+ }
+ case 'json':
+ xhrDetails.props.response.value = {};
+ xhrDetails.props.responseText.value = '{}';
+ xhrDetails.headers['content-type'] = 'application/json';
+ break;
+ default: {
+ if ( directive === '' ) { break; }
+ xhrText = generateContentFn(trusted, xhrDetails.directive);
+ if ( xhrText instanceof Promise ) {
+ xhrText = xhrText.then(text => {
+ xhrDetails.props.response.value = text;
+ xhrDetails.props.responseText.value = text;
+ });
+ } else {
+ xhrDetails.props.response.value = xhrText;
+ xhrDetails.props.responseText.value = xhrText;
+ }
+ xhrDetails.headers['content-type'] = 'text/plain';
+ break;
+ }
+ }
+ if ( xhrDetails.defer === false ) {
+ xhrDetails.headers['content-length'] = `${xhrDetails.props.response.value}`.length;
+ Object.defineProperties(xhrDetails.xhr, {
+ readyState: { value: 4 },
+ responseURL: { value: xhrDetails.url },
+ status: { value: 200 },
+ statusText: { value: 'OK' },
+ });
+ Object.defineProperties(xhrDetails.xhr, xhrDetails.props);
+ return;
+ }
+ Promise.resolve(xhrText).then(( ) => xhrDetails).then(details => {
+ Object.defineProperties(details.xhr, {
+ readyState: { value: 1, configurable: true },
+ responseURL: { value: xhrDetails.url },
+ });
+ safeDispatchEvent(details.xhr, 'readystatechange');
+ return details;
+ }).then(details => {
+ xhrDetails.headers['content-length'] = `${details.props.response.value}`.length;
+ Object.defineProperties(details.xhr, {
+ readyState: { value: 2, configurable: true },
+ status: { value: 200 },
+ statusText: { value: 'OK' },
+ });
+ safeDispatchEvent(details.xhr, 'readystatechange');
+ return details;
+ }).then(details => {
+ Object.defineProperties(details.xhr, {
+ readyState: { value: 3, configurable: true },
+ });
+ Object.defineProperties(details.xhr, details.props);
+ safeDispatchEvent(details.xhr, 'readystatechange');
+ return details;
+ }).then(details => {
+ Object.defineProperties(details.xhr, {
+ readyState: { value: 4 },
+ });
+ safeDispatchEvent(details.xhr, 'readystatechange');
+ safeDispatchEvent(details.xhr, 'load');
+ safeDispatchEvent(details.xhr, 'loadend');
+ safe.uboLog(logPrefix, `Prevented with response:\n${details.xhr.response}`);
+ });
+ });
+ proxyApplyFn('XMLHttpRequest.prototype.getResponseHeader', function(context) {
+ const { thisArg } = context;
+ const xhrDetails = xhrInstances.get(thisArg);
+ if ( xhrDetails === undefined || thisArg.readyState < thisArg.HEADERS_RECEIVED ) {
+ return context.reflect();
+ }
+ const headerName = `${context.callArgs[0]}`;
+ const value = xhrDetails.headers[headerName.toLowerCase()];
+ if ( value !== undefined && value !== '' ) { return value; }
+ return null;
+ });
+ proxyApplyFn('XMLHttpRequest.prototype.getAllResponseHeaders', function(context) {
+ const { thisArg } = context;
+ const xhrDetails = xhrInstances.get(thisArg);
+ if ( xhrDetails === undefined || thisArg.readyState < thisArg.HEADERS_RECEIVED ) {
+ return context.reflect();
+ }
+ const out = [];
+ for ( const [ name, value ] of Object.entries(xhrDetails.headers) ) {
+ if ( !value ) { continue; }
+ out.push(`${name}: ${value}`);
+ }
+ if ( out.length !== 0 ) { out.push(''); }
+ return out.join('\r\n');
+ });
+}
+registerScriptlet(preventXhrFn, {
+ name: 'prevent-xhr.fn',
+ dependencies: [
+ generateContentFn,
+ matchObjectPropertiesFn,
+ parsePropertiesToMatchFn,
+ proxyApplyFn,
+ safeSelf,
+ ],
+});
+
+/******************************************************************************/
+/**
+ * @scriptlet prevent-xhr
+ *
+ * @description
+ * Prevent a XMLHttpRequest-baesed request from being sent to a remote server.
+ *
+ * @param propsToMatch
+ * The fetch arguments to match for the prevention to be triggered. The
+ * untrusted flavor limits the realm of response to return to safe values.
+ *
+ * @param [responseBody]
+ * Optional. The reponse to return when the prevention occurs. The response
+ * must be a safe constant value.
+ *
+ * */
+
+function preventXhr(...args) {
+ return preventXhrFn(false, ...args);
+}
+registerScriptlet(preventXhr, {
+ name: 'prevent-xhr.js',
+ aliases: [
+ 'no-xhr-if.js',
+ ],
+ dependencies: [
+ preventXhrFn,
+ ],
+});
+
+/******************************************************************************/
+/**
+ * @scriptlet trusted-prevent-xhr
+ *
+ * @description
+ * Prevent a XMLHttpRequest-based request from being sent to a remote server.
+ *
+ * @param propsToMatch
+ * The fetch arguments to match for the prevention to be triggered. The
+ * untrusted flavor limits the realm of response to return to safe values.
+ *
+ * @param [responseBody]
+ * Optional. The reponse to return when the prevention occurs. The trusted
+ * version allows arbitrary response.
+ *
+ * */
+
+function trustedPreventXhr(...args) {
+ return preventXhrFn(true, ...args);
+}
+registerScriptlet(trustedPreventXhr, {
+ name: 'trusted-prevent-xhr.js',
+ dependencies: [
+ preventXhrFn,
+ ],
+});
diff --git a/src/js/resources/proxy-apply.js b/src/js/resources/proxy-apply.js
index 5fc6d7e55cb03..125e4300a5770 100644
--- a/src/js/resources/proxy-apply.js
+++ b/src/js/resources/proxy-apply.js
@@ -86,27 +86,38 @@ export function proxyApplyFn(
}
};
proxyApplyFn.isCtor = new Map();
+ proxyApplyFn.proxies = new WeakMap();
+ proxyApplyFn.nativeToString = Function.prototype.toString;
+ const proxiedToString = new Proxy(Function.prototype.toString, {
+ apply(target, thisArg) {
+ let proxied = thisArg;
+ for(;;) {
+ const fn = proxyApplyFn.proxies.get(proxied);
+ if ( fn === undefined ) { break; }
+ proxied = fn;
+ }
+ return proxyApplyFn.nativeToString.call(proxied);
+ }
+ });
+ proxyApplyFn.proxies.set(proxiedToString, proxyApplyFn.nativeToString);
+ Function.prototype.toString = proxiedToString;
}
if ( proxyApplyFn.isCtor.has(target) === false ) {
proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
}
- const fnStr = fn.toString();
- const toString = (function toString() { return fnStr; }).bind(null);
const proxyDetails = {
apply(target, thisArg, args) {
return handler(proxyApplyFn.ApplyContext.factory(target, thisArg, args));
- },
- get(target, prop) {
- if ( prop === 'toString' ) { return toString; }
- return Reflect.get(target, prop);
- },
+ }
};
if ( proxyApplyFn.isCtor.get(target) ) {
proxyDetails.construct = function(target, args) {
return handler(proxyApplyFn.CtorContext.factory(target, args));
};
}
- context[prop] = new Proxy(fn, proxyDetails);
+ const proxiedTarget = new Proxy(fn, proxyDetails);
+ proxyApplyFn.proxies.set(proxiedTarget, fn);
+ context[prop] = proxiedTarget;
}
registerScriptlet(proxyApplyFn, {
name: 'proxy-apply.fn',
diff --git a/src/js/resources/scriptlets.js b/src/js/resources/scriptlets.js
index fc812f71808f8..687aa69c1785c 100755
--- a/src/js/resources/scriptlets.js
+++ b/src/js/resources/scriptlets.js
@@ -32,12 +32,12 @@ import './prevent-dialog.js';
import './prevent-fetch.js';
import './prevent-innerHTML.js';
import './prevent-settimeout.js';
+import './prevent-xhr.js';
import './replace-argument.js';
import './spoof-css.js';
import {
collateFetchArgumentsFn,
- generateContentFn,
getExceptionTokenFn,
getRandomTokenFn,
matchObjectPropertiesFn,
@@ -381,196 +381,6 @@ function replaceFetchResponseFn(
});
}
-/******************************************************************************/
-
-builtinScriptlets.push({
- name: 'prevent-xhr.fn',
- fn: preventXhrFn,
- dependencies: [
- 'generate-content.fn',
- 'match-object-properties.fn',
- 'parse-properties-to-match.fn',
- 'safe-self.fn',
- ],
-});
-function preventXhrFn(
- trusted = false,
- propsToMatch = '',
- directive = ''
-) {
- if ( typeof propsToMatch !== 'string' ) { return; }
- const safe = safeSelf();
- const scriptletName = trusted ? 'trusted-prevent-xhr' : 'prevent-xhr';
- const logPrefix = safe.makeLogPrefix(scriptletName, propsToMatch, directive);
- const xhrInstances = new WeakMap();
- const propNeedles = parsePropertiesToMatchFn(propsToMatch, 'url');
- const warOrigin = scriptletGlobals.warOrigin;
- const safeDispatchEvent = (xhr, type) => {
- try {
- xhr.dispatchEvent(new Event(type));
- } catch {
- }
- };
- const XHRBefore = XMLHttpRequest.prototype;
- self.XMLHttpRequest = class extends self.XMLHttpRequest {
- open(method, url, ...args) {
- xhrInstances.delete(this);
- if ( warOrigin !== undefined && url.startsWith(warOrigin) ) {
- return super.open(method, url, ...args);
- }
- const haystack = { method, url };
- if ( propsToMatch === '' && directive === '' ) {
- safe.uboLog(logPrefix, `Called: ${safe.JSON_stringify(haystack, null, 2)}`);
- return super.open(method, url, ...args);
- }
- if ( matchObjectPropertiesFn(propNeedles, haystack) ) {
- const xhrDetails = Object.assign(haystack, {
- xhr: this,
- defer: args.length === 0 || !!args[0],
- directive,
- headers: {
- 'date': '',
- 'content-type': '',
- 'content-length': '',
- },
- url: haystack.url,
- props: {
- response: { value: '' },
- responseText: { value: '' },
- responseXML: { value: null },
- },
- });
- xhrInstances.set(this, xhrDetails);
- }
- return super.open(method, url, ...args);
- }
- send(...args) {
- const xhrDetails = xhrInstances.get(this);
- if ( xhrDetails === undefined ) {
- return super.send(...args);
- }
- xhrDetails.headers['date'] = (new Date()).toUTCString();
- let xhrText = '';
- switch ( this.responseType ) {
- case 'arraybuffer':
- xhrDetails.props.response.value = new ArrayBuffer(0);
- xhrDetails.headers['content-type'] = 'application/octet-stream';
- break;
- case 'blob':
- xhrDetails.props.response.value = new Blob([]);
- xhrDetails.headers['content-type'] = 'application/octet-stream';
- break;
- case 'document': {
- const parser = new DOMParser();
- const doc = parser.parseFromString('', 'text/html');
- xhrDetails.props.response.value = doc;
- xhrDetails.props.responseXML.value = doc;
- xhrDetails.headers['content-type'] = 'text/html';
- break;
- }
- case 'json':
- xhrDetails.props.response.value = {};
- xhrDetails.props.responseText.value = '{}';
- xhrDetails.headers['content-type'] = 'application/json';
- break;
- default: {
- if ( directive === '' ) { break; }
- xhrText = generateContentFn(trusted, xhrDetails.directive);
- if ( xhrText instanceof Promise ) {
- xhrText = xhrText.then(text => {
- xhrDetails.props.response.value = text;
- xhrDetails.props.responseText.value = text;
- });
- } else {
- xhrDetails.props.response.value = xhrText;
- xhrDetails.props.responseText.value = xhrText;
- }
- xhrDetails.headers['content-type'] = 'text/plain';
- break;
- }
- }
- if ( xhrDetails.defer === false ) {
- xhrDetails.headers['content-length'] = `${xhrDetails.props.response.value}`.length;
- Object.defineProperties(xhrDetails.xhr, {
- readyState: { value: 4 },
- responseURL: { value: xhrDetails.url },
- status: { value: 200 },
- statusText: { value: 'OK' },
- });
- Object.defineProperties(xhrDetails.xhr, xhrDetails.props);
- return;
- }
- Promise.resolve(xhrText).then(( ) => xhrDetails).then(details => {
- Object.defineProperties(details.xhr, {
- readyState: { value: 1, configurable: true },
- responseURL: { value: xhrDetails.url },
- });
- safeDispatchEvent(details.xhr, 'readystatechange');
- return details;
- }).then(details => {
- xhrDetails.headers['content-length'] = `${details.props.response.value}`.length;
- Object.defineProperties(details.xhr, {
- readyState: { value: 2, configurable: true },
- status: { value: 200 },
- statusText: { value: 'OK' },
- });
- safeDispatchEvent(details.xhr, 'readystatechange');
- return details;
- }).then(details => {
- Object.defineProperties(details.xhr, {
- readyState: { value: 3, configurable: true },
- });
- Object.defineProperties(details.xhr, details.props);
- safeDispatchEvent(details.xhr, 'readystatechange');
- return details;
- }).then(details => {
- Object.defineProperties(details.xhr, {
- readyState: { value: 4 },
- });
- safeDispatchEvent(details.xhr, 'readystatechange');
- safeDispatchEvent(details.xhr, 'load');
- safeDispatchEvent(details.xhr, 'loadend');
- safe.uboLog(logPrefix, `Prevented with response:\n${details.xhr.response}`);
- });
- }
- getResponseHeader(headerName) {
- const xhrDetails = xhrInstances.get(this);
- if ( xhrDetails === undefined || this.readyState < this.HEADERS_RECEIVED ) {
- return super.getResponseHeader(headerName);
- }
- const value = xhrDetails.headers[headerName.toLowerCase()];
- if ( value !== undefined && value !== '' ) { return value; }
- return null;
- }
- getAllResponseHeaders() {
- const xhrDetails = xhrInstances.get(this);
- if ( xhrDetails === undefined || this.readyState < this.HEADERS_RECEIVED ) {
- return super.getAllResponseHeaders();
- }
- const out = [];
- for ( const [ name, value ] of Object.entries(xhrDetails.headers) ) {
- if ( !value ) { continue; }
- out.push(`${name}: ${value}`);
- }
- if ( out.length !== 0 ) { out.push(''); }
- return out.join('\r\n');
- }
- };
- self.XMLHttpRequest.prototype.open.toString = function() {
- return XHRBefore.open.toString();
- };
- self.XMLHttpRequest.prototype.send.toString = function() {
- return XHRBefore.send.toString();
- };
- self.XMLHttpRequest.prototype.getResponseHeader.toString = function() {
- return XHRBefore.getResponseHeader.toString();
- };
- self.XMLHttpRequest.prototype.getAllResponseHeaders.toString = function() {
- return XHRBefore.getAllResponseHeaders.toString();
- };
-}
-
-
/*******************************************************************************
@@ -992,22 +802,6 @@ function webrtcIf(
});
}
-/******************************************************************************/
-
-builtinScriptlets.push({
- name: 'prevent-xhr.js',
- aliases: [
- 'no-xhr-if.js',
- ],
- fn: preventXhr,
- dependencies: [
- 'prevent-xhr.fn',
- ],
-});
-function preventXhr(...args) {
- return preventXhrFn(false, ...args);
-}
-
/**
* @scriptlet prevent-window-open
*
@@ -2072,7 +1866,7 @@ function trustedClickElement(
return chrome.dom.openOrClosedShadowRoot(elem);
}
}
- return null;
+ return elem.shadowRoot;
};
const querySelectorEx = (selector, context = document) => {
@@ -2337,25 +2131,6 @@ function trustedSuppressNativeMethod(
});
}
-/*******************************************************************************
- *
- * Trusted version of prevent-xhr(), which allows the use of an arbitrary
- * string as response text.
- *
- * */
-
-builtinScriptlets.push({
- name: 'trusted-prevent-xhr.js',
- requiresTrust: true,
- fn: trustedPreventXhr,
- dependencies: [
- 'prevent-xhr.fn',
- ],
-});
-function trustedPreventXhr(...args) {
- return preventXhrFn(true, ...args);
-}
-
/**
* @trustedScriptlet trusted-prevent-dom-bypass
*
diff --git a/src/js/resources/utils.js b/src/js/resources/utils.js
index 45c96ca32522a..52e7a9b450b24 100644
--- a/src/js/resources/utils.js
+++ b/src/js/resources/utils.js
@@ -220,6 +220,14 @@ export function generateContentFn(trusted, directive) {
warXHR.send();
}).catch(( ) => '');
}
+ if ( directive.startsWith('join:') ) {
+ const parts = directive.slice(7)
+ .split(directive.slice(5, 7))
+ .map(a => generateContentFn(trusted, a));
+ return parts.some(a => a instanceof Promise)
+ ? Promise.all(parts).then(parts => parts.join(''))
+ : parts.join('');
+ }
if ( trusted ) {
return directive;
}
diff --git a/src/js/static-filtering-parser.js b/src/js/static-filtering-parser.js
index 9993acb6b4a27..761dbf6b7f812 100644
--- a/src/js/static-filtering-parser.js
+++ b/src/js/static-filtering-parser.js
@@ -2239,7 +2239,10 @@ export class AstFilterParser {
const regex = before.startsWith('[$domain=/')
? `${before.slice(9, -1)}`
: before;
- const source = this.normalizeRegexPattern(regex);
+ // TODO: Remove unescaping of `|` once AdGuard filters no longer unduly
+ // escape. In the mean time, if a literal `|` is needed in a path-based
+ // regex, the solution is to use `\x7C` instead of `\|`.
+ const source = this.normalizeRegexPattern(regex.replace(/\\\|/g, '|'));
if ( source === '' ) { return ''; }
const after = `/${source}/`;
if ( after === before ) { return; }
diff --git a/src/js/static-net-filtering.js b/src/js/static-net-filtering.js
index efc393978d380..37c7c4828741a 100644
--- a/src/js/static-net-filtering.js
+++ b/src/js/static-net-filtering.js
@@ -4528,14 +4528,14 @@ StaticNetFilteringEngine.prototype.dnrFromCompiled = function(op, context, ...ar
[ ALLOW_REALM, { type: 'allow', priority: 30 } ],
[ BLOCK_REALM | IMPORTANT_REALM, { type: 'block', priority: 10 } ],
[ REDIRECT_REALM, { type: 'redirect', priority: 11 } ],
- [ REMOVEPARAM_REALM, { type: 'removeparam', priority: 0 } ],
- [ CSP_REALM, { type: 'csp', priority: 0 } ],
- [ PERMISSIONS_REALM, { type: 'permissions', priority: 0 } ],
- [ URLTRANSFORM_REALM, { type: 'uritransform', priority: 0 } ],
+ [ REMOVEPARAM_REALM, { type: 'removeparam', priority: 1 } ],
+ [ CSP_REALM, { type: 'csp', priority: 1 } ],
+ [ PERMISSIONS_REALM, { type: 'permissions', priority: 1 } ],
+ [ URLTRANSFORM_REALM, { type: 'uritransform', priority: 1 } ],
[ HEADERS_REALM, { type: 'block', priority: 10 } ],
[ HEADERS_REALM | ALLOW_REALM, { type: 'allow', priority: 30 } ],
[ HEADERS_REALM | IMPORTANT_REALM, { type: 'allow', priority: 10 } ],
- [ URLSKIP_REALM, { type: 'urlskip', priority: 0 } ],
+ [ URLSKIP_REALM, { type: 'urlskip', priority: 1 } ],
]);
const partyness = new Map([
[ ANYPARTY_REALM, '' ],
@@ -4598,10 +4598,7 @@ StaticNetFilteringEngine.prototype.dnrFromCompiled = function(op, context, ...ar
// - https://github.com/uBlockOrigin/uAssets/issues/29451#issuecomment-3150181993
for ( const rule of ruleset ) {
if ( rule.__important !== true ) { continue; }
- if ( rule.priority === undefined ) {
- if ( rule.__modifierType !== 'removeparam' ) { continue; }
- rule.priority ||= 0;
- }
+ rule.priority ??= 0;
rule.priority += 30;
}
@@ -4732,19 +4729,20 @@ StaticNetFilteringEngine.prototype.dnrFromCompiled = function(op, context, ...ar
}
case 'removeparam': {
rule.action.type = 'redirect';
- if ( rule.__modifierValue === '|' ) {
- rule.__modifierValue = '';
+ let paramName = rule.__modifierValue;
+ if ( paramName === '|' ) {
+ paramName = '';
}
- if ( rule.__modifierValue !== '' ) {
+ if ( paramName !== '' ) {
rule.action.redirect = {
transform: {
queryTransform: {
- removeParams: [ rule.__modifierValue ]
+ removeParams: [ paramName ]
}
}
};
- if ( /^~?\/.+\/$/.test(rule.__modifierValue) ) {
- dnrAddRuleError(rule, `Unsupported regex-based removeParam: ${rule.__modifierValue}`);
+ if ( /^~?\/.+\/$/.test(paramName) ) {
+ dnrAddRuleError(rule, `Unsupported regex-based removeParam: ${paramName}`);
}
} else {
rule.action.redirect = {
@@ -4760,21 +4758,25 @@ StaticNetFilteringEngine.prototype.dnrFromCompiled = function(op, context, ...ar
if ( rule.condition.resourceTypes === undefined ) {
if ( rule.condition.excludedResourceTypes === undefined ) {
rule.condition.resourceTypes = [
+ 'image',
'main_frame',
'sub_frame',
'xmlhttprequest',
];
}
}
- // https://github.com/uBlockOrigin/uBOL-home/issues/140
- // Mitigate until DNR API flaw is addressed by browser vendors
- let priority = rule.priority || 1;
- if ( rule.condition.urlFilter !== undefined ) { priority += 1; }
- if ( rule.condition.regexFilter !== undefined ) { priority += 1; }
- if ( rule.condition.initiatorDomains !== undefined ) { priority += 1; }
- if ( rule.condition.requestDomains !== undefined ) { priority += 1; }
- if ( priority !== 1 ) {
- rule.priority = priority;
+ // https://github.com/uBlockOrigin/uBOL-home/discussions/575
+ const { urlFilter } = rule.condition;
+ if ( urlFilter === undefined ) {
+ if ( rule.condition.regexFilter === undefined ) {
+ if ( paramName !== '' ) {
+ rule.condition.urlFilter = `^${paramName}=`;
+ }
+ }
+ } else if ( urlFilter.startsWith('||') ) {
+ if ( urlFilter.includes(paramName) === false ) {
+ rule.condition.urlFilter = `${rule.condition.urlFilter}*^${paramName}=`;
+ }
}
if ( rule.__modifierAction === ALLOW_REALM ) {
dnrAddRuleError(rule, `Unsupported removeparam exception: ${rule.__modifierValue}`);
@@ -4837,6 +4839,12 @@ StaticNetFilteringEngine.prototype.dnrFromCompiled = function(op, context, ...ar
}
}
+ // Default priority is 1, remove priority if 1 or less.
+ for ( const rule of ruleset ) {
+ if ( rule.priority > 1 ) { continue; }
+ rule.priority = undefined;
+ }
+
return {
ruleset,
filterCount: context.filterCount,
diff --git a/src/js/urlskip.js b/src/js/urlskip.js
index 360a3dd7b3a9f..7ca8644ac06aa 100644
--- a/src/js/urlskip.js
+++ b/src/js/urlskip.js
@@ -72,7 +72,7 @@
*
* */
-export function urlSkip(url, blocked, steps, directive = {}) {
+export function urlSkip(url, blocked, steps) {
try {
let redirectBlocked = false;
let urlout = url;
@@ -132,10 +132,7 @@ export function urlSkip(url, blocked, steps, directive = {}) {
}
// Regex extraction from first capture group
if ( c0 === 0x2F ) { // /
- const re = directive.cache ?? new RegExp(step.slice(1, -1));
- if ( directive.cache === null ) {
- directive.cache = re;
- }
+ const re = new RegExp(step.slice(1, -1));
const match = re.exec(urlin);
if ( match === null ) { return; }
if ( match.length <= 1 ) { return; }
diff --git a/src/web_accessible_resources/adthrive_abd.js b/src/web_accessible_resources/adthrive_abd.js
new file mode 100644
index 0000000000000..765030be9b51e
--- /dev/null
+++ b/src/web_accessible_resources/adthrive_abd.js
@@ -0,0 +1,4 @@
+(( ) => {
+ const d = new Date(Date.now() + 30000);
+ document.cookie = `__adblocker=false; expires=${d.toUTCString()}; path=/`;
+})();
diff --git a/src/web_accessible_resources/google-ima.js b/src/web_accessible_resources/google-ima.js
index 1e7fb56c208c6..a3f6126628524 100644
--- a/src/web_accessible_resources/google-ima.js
+++ b/src/web_accessible_resources/google-ima.js
@@ -659,3 +659,11 @@ if (!window.google || !window.google.ima || !window.google.ima.VERSION) {
window.google.ima = ima;
}
+
+/*
+ad.doubleclick.net bid.g.doubleclick.net ggpht.com google.co.uk google.com
+googleads.g.doubleclick.net googleads4.g.doubleclick.net googleadservices.com
+googlesyndication.com googleusercontent.com gstatic.com gvt1.com prod.google.com
+pubads.g.doubleclick.net s0.2mdn.net static.doubleclick.net
+surveys.g.doubleclick.net youtube.com ytimg.com
+*/
diff --git a/tools/make-mv3.sh b/tools/make-mv3.sh
index 403ad7e6636b6..77a5a6414e7eb 100755
--- a/tools/make-mv3.sh
+++ b/tools/make-mv3.sh
@@ -129,6 +129,8 @@ cp platform/mv3/*.json "$UBOL_BUILD_DIR"/
cp platform/mv3/*.js "$UBOL_BUILD_DIR"/
cp platform/mv3/*.mjs "$UBOL_BUILD_DIR"/
cp platform/mv3/extension/js/utils.js "$UBOL_BUILD_DIR"/js/
+cp "$UBO_DIR"/src/js/regex-analyzer.js "$UBOL_BUILD_DIR"/js/
+cp -R "$UBO_DIR"/src/lib/regexanalyzer "$UBOL_BUILD_DIR"/
cp -R "$UBO_DIR"/src/js/resources "$UBOL_BUILD_DIR"/js/
cp -R platform/mv3/scriptlets "$UBOL_BUILD_DIR"/
mkdir -p "$UBOL_BUILD_DIR"/web_accessible_resources