Compare commits

..

No commits in common. "master" and "1.65.1b5" have entirely different histories.

279 changed files with 7452 additions and 9046 deletions

View file

@ -2,6 +2,8 @@
#### How to Install the Developer Build:
- **Firefox**: Signing pending <!-- Download the build from [uBlock0_%version%.firefox.signed.xpi](https://github.com/gorhill/uBlock/releases/download/%version%/uBlock0_%version%.firefox.signed.xpi). -->
- **Firefox**: Download the build from [uBlock0_%version%.firefox.signed.xpi](https://github.com/gorhill/uBlock/releases/download/%version%/uBlock0_%version%.firefox.signed.xpi).
uBO works best on Gecko-based browsers, check out [why](https://github.com/gorhill/uBlock/wiki/uBlock-Origin-works-best-on-Firefox).
- **Chromium**: Install directly from the [Chrome Web Store](https://chromewebstore.google.com/detail/ublock-origin-development/cgbcahbpdhpcegmbfconppldiemgcoii).
- **Thunderbird**: Download [uBlock0_%version%.thunderbird.xpi](https://github.com/gorhill/uBlock/releases/download/%version%/uBlock0_%version%.thunderbird.xpi) and drag it into Thunderbird's _Add-ons Manager_ (requires Thunderbird 91+).
- **Node.js**: You can import from [npm](https://www.npmjs.com/package/@gorhill/ubo-core) or download and unzip [uBlock0_%version%.npm.tgz](https://github.com/gorhill/uBlock/releases/download/%version%/uBlock0_%version%.npm.tgz).

View file

@ -12,7 +12,7 @@ jobs:
permissions:
contents: write # for creating release
name: Build packages
runs-on: ubuntu-slim
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Clone repository
@ -29,6 +29,7 @@ jobs:
run: |
tools/make-chromium.sh ${{ env.VERSION }}
tools/make-firefox.sh ${{ env.VERSION }}
tools/make-thunderbird.sh ${{ env.VERSION }}
- name: Assemble release notes
run: |
> release.body.txt
@ -48,3 +49,4 @@ jobs:
files: |
dist/build/uBlock0_${{ env.VERSION }}.chromium.zip
dist/build/uBlock0_${{ env.VERSION }}.firefox.xpi
dist/build/uBlock0_${{ env.VERSION }}.thunderbird.xpi

3
.gitmodules vendored
View file

@ -1,6 +1,3 @@
[submodule "platform/mv3/extension/lib/codemirror/codemirror-ubol"]
path = platform/mv3/extension/lib/codemirror/codemirror-ubol
url = https://github.com/gorhill/codemirror-ubol.git
[submodule "publish-extension"]
path = publish-extension
url = https://github.com/gorhill/publish-extension.git

View file

@ -1,84 +1,6 @@
- [Improve `json-edit`-related scriptlets](https://github.com/gorhill/uBlock/commit/98d3e9500a)
- [Improve `trusted-create-html` scriptlet](https://github.com/gorhill/uBlock/commit/baffd32dab)
- [Improve `prevent-fetch` scriptlet](https://github.com/gorhill/uBlock/commit/2ce376cf1d)
- [Fix handling of `extraMatch` parameter in `trusted-click-element` scriptlet](https://github.com/gorhill/uBlock/commit/a8ad95394d)
- [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)
- [Improve google-ima shim](https://github.com/gorhill/uBlock/commit/3fc281adf1)
- [[firefox] Change minimum required version to 115](https://github.com/gorhill/uBlock/commit/d5793b83f2)
- [Fix regression in `prevent-fetch` scriptlet](https://github.com/gorhill/uBlock/commit/be78200c2f)
- [Add `prevent-dialog` scriptlet](https://github.com/gorhill/uBlock/commit/fd12d01928)
----------
# 1.68.0
- [Improve `prevent-fetch` scriptlet](https://github.com/gorhill/uBlock/commit/b46572e938)
- [Fix regression in `trusted-replace-argument` scriptlet](https://github.com/gorhill/uBlock/commit/2e509d42fc)
- [Add web-accessible resource for sensors analytics](https://github.com/gorhill/uBlock/commit/cd0f5be12c)
- [Fix custom prefixes unduly assigning trust to external lists](https://github.com/gorhill/uBlock/commit/b5f74456a4)
- [Improve `m3u-prune` scriptlet](https://github.com/gorhill/uBlock/commit/53d60ac36c)
- [Improve `prevent-fetch` scriptlet](https://github.com/gorhill/uBlock/commit/60e15cb6e1)
- [Fix regex-matching in `JSONPath`](https://github.com/gorhill/uBlock/commit/8491e9c476)
- [Ignore negated request types when validating `redirect` option](https://github.com/gorhill/uBlock/commit/50e898b847)
----------
# 1.67.0
- [Improve `href-sanitizer` scriptlet](https://github.com/gorhill/uBlock/commit/a43d1d8c42)
- [Fix `editInboundObjectFn` utility scriptlet](https://github.com/gorhill/uBlock/commit/d376adaae8)
- [Improve `trusted-replace-argument` scriptlet](https://github.com/gorhill/uBlock/commit/52bc354bce)
- [Add ability to test against regex in JSONPath expressions](https://github.com/gorhill/uBlock/commit/f36d2b8496)
- [Improve `proxy-apply` utility scriptlet](https://github.com/gorhill/uBlock/commit/dd4f764920)
- [Fix `removeparam` for multiple query parameters with same name](https://github.com/gorhill/uBlock/commit/3e5ea3b03f)
- [Improve `trusted-click-element` scriptlet](https://github.com/gorhill/uBlock/commit/9aa91ba111)
- [Improve `google-ima` shim](https://github.com/gorhill/uBlock/commit/8de47f250d)
- [Add back a uBO-specific version of "CERT.PL's Warning List"](https://github.com/gorhill/uBlock/commit/87dddb7d78)
----------
# 1.66.4
- [Fix potential infinite loop when scanning for `$` anchor](https://github.com/gorhill/uBlock/commit/889c0eb208)
- [Allow generic exception for `replace=` option](https://github.com/gorhill/uBlock/commit/52dba4116e)
----------
# 1.66.2
- [Fix version snafu](https://github.com/gorhill/uBlock/commit/50cb780107)
----------
# 1.66.0
- [Improve `prevent-fetch` scriptlet](https://github.com/gorhill/uBlock/commit/d2bce26e7d)
- [Add support to strict-block from `ipaddress=` option](https://github.com/gorhill/uBlock/commit/6327aae56c)
- [Improve rendering with high-contrast theme](https://github.com/gorhill/uBlock/commit/5d7e5ee3a0) (fix suggested by @emv33)
- [Fix undue fetch from remote server at first install](https://github.com/gorhill/uBlock/commit/9327e19233)
- [Improve compatibility of `uritransform=` with DNR syntax](https://github.com/gorhill/uBlock/commit/aaf35d9d71)
- [Allow usage of `csp=`/`permissions=` with resource type object](https://github.com/gorhill/uBlock/commit/07e9f805bb)
- [Improve compatibility of `uritransform=` with DNR syntax](https://github.com/gorhill/uBlock/commit/aaf35d9d71
- [JSONPath: Add ability to select root node for appending/modifying](https://github.com/gorhill/uBlock/commit/faff035203)
- [Allow usage of `csp=`/`permissions=` with resource type object](https://github.com/gorhill/uBlock/commit/07e9f805bb)
- [JSONPath: Add ability to substitute a pattern within a string value](https://github.com/gorhill/uBlock/commit/38ca6d41ff)
- [Remove "CERT.PL's Warning List" from stock lists](https://github.com/gorhill/uBlock/commit/e713e133eb)
- [Fix incorrect CNAME-related test in advanced settings](https://github.com/gorhill/uBlock/commit/171ddd3e06)

View file

@ -3,10 +3,7 @@ run_options := $(filter-out $@,$(MAKECMDGOALS))
.PHONY: all clean cleanassets test lint chromium opera firefox npm dig \
mv3-chromium mv3-firefox mv3-edge mv3-safari ubol-codemirror \
compare maxcost medcost mincost modifiers record wasm \
publish-chromium publish-edge publish-firefox \
publish-dev-chromium publish-dev-firefox \
upload-firefox upload-dev-firefox
compare maxcost medcost mincost modifiers record wasm
sources := ./dist/version $(shell find ./assets -type f) $(shell find ./src -type f)
platform := $(wildcard platform/*/*)
@ -55,6 +52,15 @@ init: node_modules
lint: init
npm run lint
test: npm
cd dist/build/uBlock0.npm && npm run test
test-full-battery: npm
cd dist/build/uBlock0.npm && npm run test-full-battery
check-leaks: npm
cd dist/build/uBlock0.npm && npm run check-leaks
dist/build/uBlock0.dig: tools/make-nodejs.sh $(sources) $(platform) $(assets)
tools/make-dig.sh
@ -99,77 +105,6 @@ clean:
cleanassets:
rm -rf dist/build/mv3-data dist/build/uAssets
# Usage: make publish-publish version=?
publish-chromium:
node publish-extension/publish-chromium.js \
ghowner=gorhill \
ghrepo=uBlock \
ghtag=$(version) \
ghasset=chromium \
storeid=cjpalhdlnbpafiamejdnhcphjbkeiagm
# Usage: make publish-edge version=?
publish-edge:
node publish-extension/publish-edge.js \
ghowner=gorhill \
ghrepo=uBlock \
ghtag=$(version) \
ghasset=chromium \
datebasedmajor=1 \
storeid=odfafepnkmbhccpbejgmiehpchacaeak \
productid=$(shell secret-tool lookup token ubo_edge_id) \
notes="See release notes at https://github.com/gorhill/uBlock/releases"
# Usage: make publish-firefox version=?
publish-firefox:
node publish-extension/publish-firefox.js \
ghowner=gorhill \
ghrepo=uBlock \
ghtag=$(version) \
ghasset=firefox \
storeid=uBlock0@raymondhill.net \
channel=listed
# Usage: make publish-dev-chromium version=?
publish-dev-chromium:
node publish-extension/publish-chromium.js \
ghowner=gorhill \
ghrepo=uBlock \
ghtag=$(version) \
ghasset=chromium \
storeid=cgbcahbpdhpcegmbfconppldiemgcoii
# Usage: make publish-dev-firefox version=?
publish-dev-firefox:
node publish-extension/publish-firefox.js \
ghowner=gorhill \
ghrepo=uBlock \
ghtag=$(version) \
ghasset=firefox \
storeid=uBlock0@raymondhill.net \
channel=unlisted
# Usage: make upload-firefox version=?
upload-firefox:
node publish-extension/upload-firefox.js \
ghowner=gorhill \
ghrepo=uBlock \
ghtag=$(version) \
ghasset=firefox \
storeid=uBlock0@raymondhill.net \
channel=listed
# Usage: make upload-dev-firefox version=?
upload-dev-firefox:
node publish-extension/upload-firefox.js \
ghowner=gorhill \
ghrepo=uBlock \
ghtag=$(version) \
ghasset=firefox \
storeid=uBlock0@raymondhill.net \
channel=unlisted \
updatepath=./dist/firefox/updates.json
# Not real targets, just convenient for auto-completion at shell prompt
compare:
@echo

View file

@ -21,7 +21,7 @@ uBlock Origin (uBO)
| <img src="https://github.com/user-attachments/assets/b0136512-56a5-4856-8c50-4971c957a24f" alt="Get uBlock Origin for Firefox"> | <a href="https://addons.mozilla.org/addon/ublock-origin/">Firefox Add-ons</a> | [uBO works best on Firefox](https://github.com/gorhill/uBlock/wiki/uBlock-Origin-works-best-on-Firefox) |
| <img src="https://github.com/user-attachments/assets/3a7569f8-688b-4eb1-a643-8d0fe173aefe" alt="Get uBlock Origin for Microsoft Edge"> | <a href="https://microsoftedge.microsoft.com/addons/detail/ublock-origin/odfafepnkmbhccpbejgmiehpchacaeak">Edge Add-ons</a> |
| <img src="https://github.com/user-attachments/assets/938f080c-fe64-4e48-8b89-4bfceabb56e6" alt="Get uBlock Origin for Opera"> | <a href="https://addons.opera.com/extensions/details/ublock/">Opera Add-ons</a> |
| <img src="https://github.com/user-attachments/assets/5463ef88-873b-4516-8514-5277664cfde7" alt="Get uBlock Origin for Chromium"> | <a href="https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm">Chrome Web Store</a> | <a href="https://github.com/uBlockOrigin/uBlock-issues/wiki/About-Google-Chrome's-%22This-extension-may-soon-no-longer-be-supported%22">About Google Chrome's "This extension may soon no longer be supported"</a><br>End of support on Chrome 139 |
| <img src="https://github.com/user-attachments/assets/5463ef88-873b-4516-8514-5277664cfde7" alt="Get uBlock Origin for Chromium"> | <a href="https://chromewebstore.google.com/detail/ublock-origin-lite/ddkjiahejlhfcafbddmgiahcphecmpfh">Chrome Web Store</a> | <a href="https://github.com/uBlockOrigin/uBlock-issues/wiki/About-Google-Chrome's-%22This-extension-may-soon-no-longer-be-supported%22">About Google Chrome's "This extension may soon no longer be supported"</a><br>End of support on Chrome 139 |
| <img src="https://github.com/user-attachments/assets/2e9037c4-836d-44c1-a716-ba96e89daaff" alt="Get uBlock Origin for Thunderbird"> | <a href="https://addons.thunderbird.net/thunderbird/addon/ublock-origin/">Thunderbird Add-ons</a> | [No longer updated and stuck at 1.49.2.](https://github.com/uBlockOrigin/uBlock-issues/issues/2928) Later versions require "GitHub - Releases". |
| <img src="https://upload.wikimedia.org/wikipedia/commons/c/c2/GitHub_Invertocat_Logo.svg" height="50" alt="Get uBlock Origin through GitHub"> | <a href="https://github.com/gorhill/uBlock/releases">GitHub - Releases</a> | Stable and development versions on Firefox, Chromium MV2, and Thunderbird. Must be placed manually into web browsers; the Chromium and Thunderbird versions usually won't auto-update.

View file

@ -211,16 +211,10 @@
"content": "filters",
"group": "privacy",
"off": true,
"title": "AdGuard/uBO URL Tracking Protection",
"title": "AdGuard URL Tracking Protection",
"tags": "privacy",
"contentURL": "https://ublockorigin.github.io/uAssets/filters/privacy-removeparam.txt",
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/privacy-removeparam.txt",
"https://ublockorigin.pages.dev/filters/privacy-removeparam.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/privacy-removeparam.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/privacy-removeparam.txt"
],
"supportURL": "https://github.com/uBlockOrigin/uAssets"
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/17.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"block-lan": {
"content": "filters",
@ -471,23 +465,6 @@
],
"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",
@ -639,8 +616,8 @@
"title": "🇪🇪ee: Eesti saitidele kohandatud filter",
"tags": "ads estonian",
"lang": "et",
"contentURL": "https://ubo-et.lepik.io/list.txt",
"supportURL": "https://github.com/sander85/uBO-et"
"contentURL": "https://adblock.ee/list.txt",
"supportURL": "https://adblock.ee"
},
"FIN-0": {
"content": "filters",
@ -845,7 +822,7 @@
"POL-0": {
"content": "filters",
"group": "regions",
"parent": "🇵🇱pl: Oficjalne Polskie Filtry",
"parent": null,
"off": true,
"title": "🇵🇱pl: Oficjalne Polskie Filtry do uBlocka Origin",
"tags": "ads polish polski",
@ -853,17 +830,6 @@
"contentURL": "https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-adblock-filters/adblock.txt",
"supportURL": "https://github.com/MajkiIT/polish-ads-filter"
},
"POL-3": {
"content": "filters",
"group": "regions",
"parent": "🇵🇱pl: Oficjalne Polskie Filtry",
"off": true,
"title": "🇵🇱pl: CERT.PL's Warning List",
"tags": "malware polish polski",
"lang": "szl pl",
"contentURL": "https://hole.cert.pl/domains/v2/domains_ublock.txt",
"supportURL": "https://cert.pl/lista-ostrzezen/"
},
"ROU-1": {
"content": "filters",
"group": "regions",

View file

@ -211,16 +211,10 @@
"content": "filters",
"group": "privacy",
"off": true,
"title": "AdGuard/uBO URL Tracking Protection",
"title": "AdGuard URL Tracking Protection",
"tags": "privacy",
"contentURL": "https://ublockorigin.github.io/uAssets/filters/privacy-removeparam.txt",
"cdnURLs": [
"https://ublockorigin.github.io/uAssetsCDN/filters/privacy-removeparam.txt",
"https://ublockorigin.pages.dev/filters/privacy-removeparam.txt",
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/privacy-removeparam.txt",
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/privacy-removeparam.txt"
],
"supportURL": "https://github.com/uBlockOrigin/uAssets"
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/17.txt",
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
},
"block-lan": {
"content": "filters",
@ -471,23 +465,6 @@
],
"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",
@ -639,8 +616,8 @@
"title": "🇪🇪ee: Eesti saitidele kohandatud filter",
"tags": "ads estonian",
"lang": "et",
"contentURL": "https://ubo-et.lepik.io/list.txt",
"supportURL": "https://github.com/sander85/uBO-et"
"contentURL": "https://adblock.ee/list.txt",
"supportURL": "https://adblock.ee"
},
"FIN-0": {
"content": "filters",
@ -845,7 +822,7 @@
"POL-0": {
"content": "filters",
"group": "regions",
"parent": "🇵🇱pl: Oficjalne Polskie Filtry",
"parent": null,
"off": true,
"title": "🇵🇱pl: Oficjalne Polskie Filtry do uBlocka Origin",
"tags": "ads polish polski",
@ -853,17 +830,6 @@
"contentURL": "https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-adblock-filters/adblock.txt",
"supportURL": "https://github.com/MajkiIT/polish-ads-filter"
},
"POL-3": {
"content": "filters",
"group": "regions",
"parent": "🇵🇱pl: Oficjalne Polskie Filtry",
"off": true,
"title": "🇵🇱pl: CERT.PL's Warning List",
"tags": "malware polish polski",
"lang": "szl pl",
"contentURL": "https://hole.cert.pl/domains/v2/domains_ublock.txt",
"supportURL": "https://cert.pl/lista-ostrzezen/"
},
"ROU-1": {
"content": "filters",
"group": "regions",

190
dist/chromium/publish-beta.py vendored Executable file
View file

@ -0,0 +1,190 @@
#!/usr/bin/env python3
import datetime
import json
import os
import re
import requests
import shutil
import subprocess
import sys
import tempfile
import time
import zipfile
from string import Template
# - Download target (raw) uBlock0.chromium.zip from GitHub
# - This is referred to as "raw" package
# - This will fail if not a dev build
# - Upload uBlock0.chromium.zip to Chrome store
# - Publish uBlock0.chromium.zip to Chrome store
# Find path to project root
projdir = os.path.split(os.path.abspath(__file__))[0]
while not os.path.isdir(os.path.join(projdir, '.git')):
projdir = os.path.normpath(os.path.join(projdir, '..'))
# We need a version string to work with
if len(sys.argv) >= 2 and sys.argv[1]:
version = sys.argv[1]
else:
version = input('Github release version: ')
version.strip()
if not re.search('^\d+\.\d+\.\d+(b|rc)\d+$', version):
print('Error: Invalid version string.')
exit(1)
cs_extension_id = 'cgbcahbpdhpcegmbfconppldiemgcoii'
tmpdir = tempfile.TemporaryDirectory()
raw_zip_filename = 'uBlock0_' + version + '.chromium.zip'
raw_zip_filepath = os.path.join(tmpdir.name, raw_zip_filename)
github_owner = 'gorhill'
github_repo = 'uBlock'
# Load/save auth secrets
# The tmp directory is excluded from git
ubo_secrets = dict()
ubo_secrets_filename = os.path.join(projdir, 'tmp', 'ubo_secrets')
if os.path.isfile(ubo_secrets_filename):
with open(ubo_secrets_filename) as f:
ubo_secrets = json.load(f)
def input_secret(prompt, token):
if token in ubo_secrets:
prompt += ''
prompt += ': '
value = input(prompt).strip()
if len(value) == 0:
if token not in ubo_secrets:
print('Token error:', token)
exit(1)
value = ubo_secrets[token]
elif token not in ubo_secrets or value != ubo_secrets[token]:
ubo_secrets[token] = value
exists = os.path.isfile(ubo_secrets_filename)
with open(ubo_secrets_filename, 'w') as f:
json.dump(ubo_secrets, f, indent=2)
if not exists:
os.chmod(ubo_secrets_filename, 0o600)
return value
# GitHub API token
github_token = input_secret('Github token', 'github_token')
github_auth = 'token ' + github_token
#
# Get metadata from GitHub about the release
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release
print('Downloading release info from GitHub...')
release_info_url = 'https://api.github.com/repos/{0}/{1}/releases/tags/{2}'.format(github_owner, github_repo, version)
headers = { 'Authorization': github_auth, }
response = requests.get(release_info_url, headers=headers)
if response.status_code != 200:
print('Error: Release not found: {0}'.format(response.status_code))
exit(1)
release_info = response.json()
#
# Extract URL to raw package from metadata
#
# Find url for uBlock0.chromium.zip
raw_zip_url = ''
for asset in release_info['assets']:
if asset['name'] == raw_zip_filename:
raw_zip_url = asset['url']
if len(raw_zip_url) == 0:
print('Error: Release asset URL not found')
exit(1)
#
# Download raw package from GitHub
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release-asset
print('Downloading raw zip package from GitHub...')
headers = {
'Authorization': github_auth,
'Accept': 'application/octet-stream',
}
response = requests.get(raw_zip_url, headers=headers)
# Redirections are transparently handled:
# http://docs.python-requests.org/en/master/user/quickstart/#redirection-and-history
if response.status_code != 200:
print('Error: Downloading raw package failed -- server error {0}'.format(response.status_code))
exit(1)
with open(raw_zip_filepath, 'wb') as f:
f.write(response.content)
print('Downloaded raw package saved as {0}'.format(raw_zip_filepath))
#
# Upload to Chrome store
#
# Auth tokens
cs_id = input_secret('Chrome store id', 'cs_id')
cs_secret = input_secret('Chrome store secret', 'cs_secret')
cs_refresh = input_secret('Chrome store refresh token', 'cs_refresh')
print('Uploading to Chrome store...')
with open(raw_zip_filepath, 'rb') as f:
print('Generating access token...')
auth_url = 'https://accounts.google.com/o/oauth2/token'
auth_payload = {
'client_id': cs_id,
'client_secret': cs_secret,
'grant_type': 'refresh_token',
'refresh_token': cs_refresh,
}
auth_response = requests.post(auth_url, data=auth_payload)
if auth_response.status_code != 200:
print('Error: Auth failed -- server error {0}'.format(auth_response.status_code))
print(auth_response.text)
exit(1)
response_dict = auth_response.json()
if 'access_token' not in response_dict:
print('Error: Auth failed -- no access token')
exit(1)
# Prepare access token
cs_auth = 'Bearer ' + response_dict['access_token']
headers = {
'Authorization': cs_auth,
'x-goog-api-version': '2',
}
# Upload
print('Uploading package...')
upload_url = 'https://www.googleapis.com/upload/chromewebstore/v1.1/items/{0}'.format(cs_extension_id)
upload_response = requests.put(upload_url, headers=headers, data=f)
f.close()
if upload_response.status_code != 200:
print('Upload failed -- server error {0}'.format(upload_response.status_code))
print(upload_response.text)
exit(1)
response_dict = upload_response.json();
if 'uploadState' not in response_dict or response_dict['uploadState'] != 'SUCCESS':
print('Upload failed -- server error {0}'.format(response_dict['uploadState']))
exit(1)
print('Upload succeeded.')
# Publish
print('Publishing package...')
publish_url = 'https://www.googleapis.com/chromewebstore/v1.1/items/{0}/publish'.format(cs_extension_id)
headers = {
'Authorization': cs_auth,
'x-goog-api-version': '2',
'Content-Length': '0',
}
publish_response = requests.post(publish_url, headers=headers)
if publish_response.status_code != 200:
print('Error: Chrome store publishing failed -- server error {0}'.format(publish_response.status_code))
exit(1)
response_dict = publish_response.json();
if 'status' not in response_dict or response_dict['status'][0] != 'OK':
print('Publishing failed -- server error {0}'.format(response_dict['status']))
exit(1)
print('Publishing succeeded.')
print('All done.')

160
dist/chromium/publish-stable.js vendored Normal file
View file

@ -0,0 +1,160 @@
/*******************************************************************************
uBlock Origin - a comprehensive, efficient content blocker
Copyright (C) 2025-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 * as fs from 'node:fs/promises';
import * as ghapi from '../github-api.js';
import path from 'node:path';
import process from 'node:process';
/******************************************************************************/
const secrets = await ghapi.getSecrets();
const githubAuth = `Bearer ${secrets.github_token}`;
const commandLineArgs = ghapi.commandLineArgs;
const githubOwner = commandLineArgs.ghowner;
const githubRepo = commandLineArgs.ghrepo;
const githubTag = commandLineArgs.ghtag;
const cwsId = commandLineArgs.cwsid;
/******************************************************************************/
async function publishToCWS(filePath) {
// Prepare access token
console.log('Generating access token...');
const authURL = 'https://accounts.google.com/o/oauth2/token';
const authRequest = new Request(authURL, {
body: JSON.stringify({
client_id: secrets.cs_id,
client_secret: secrets.cs_secret,
grant_type: 'refresh_token',
refresh_token: secrets.cs_refresh,
}),
method: 'POST',
});
const authResponse = await fetch(authRequest);
if ( authResponse.ok === false ) {
console.error(`Error: Auth failed -- server error ${authResponse.statusText}`);
process.exit(1);
}
const responseDict = await authResponse.json()
if ( responseDict.access_token === undefined ) {
console.error('Error: Auth failed -- no access token');
console.error('Error: Auth failed --', JSON.stringify(responseDict, null, 2));
process.exit(1);
}
const cwsAuth = `Bearer ${responseDict.access_token}`;
if ( responseDict.refresh_token ) {
secrets.cs_refresh = responseDict.refresh_token
}
// Read package
const data = await fs.readFile(filePath);
// Upload
console.log('Uploading package...')
const uploadURL = `https://www.googleapis.com/upload/chromewebstore/v1.1/items/${cwsId}`;
const uploadRequest = new Request(uploadURL, {
body: data,
headers: {
'Authorization': cwsAuth,
'x-goog-api-version': '2',
},
method: 'PUT',
});
const uploadResponse = await fetch(uploadRequest);
if ( uploadResponse.ok === false ) {
console.error(`Upload failed -- server error ${uploadResponse.statusText}`);
process.exit(1)
}
const uploadDict = await uploadResponse.json();
if ( uploadDict.uploadState !== 'SUCCESS' ) {
console.error(`Upload failed -- server error ${uploadDict['uploadState']}`);
process.exit(1);
}
console.log('Upload succeeded.')
// Publish
console.log('Publishing package...')
const publishURL = `https://www.googleapis.com/chromewebstore/v1.1/items/${cwsId}/publish`;
const publishRequest = new Request(publishURL, {
headers: {
'Authorization': cwsAuth,
'x-goog-api-version': '2',
'Content-Length': '0',
},
method: 'POST',
});
const publishResponse = await fetch(publishRequest);
if ( publishResponse.ok === false ) {
console.error(`Error: Chrome store publishing failed -- server error ${publishResponse.statusText}`);
process.exit(1);
}
const publishDict = await publishResponse.json();
if (
Array.isArray(publishDict.status) === false ||
publishDict.status.includes('OK') === false
) {
console.error(`Publishing failed -- server error ${publishDict.status}`);
process.exit(1);
}
console.log('Publishing succeeded.')
}
/******************************************************************************/
async function main() {
if ( secrets === undefined ) { return 'Need secrets'; }
if ( githubOwner === '' ) { return 'Need GitHub owner'; }
if ( githubRepo === '' ) { return 'Need GitHub repo'; }
ghapi.setGithubContext(githubOwner, githubRepo, githubTag, githubAuth);
const assetInfo = await ghapi.getAssetInfo('chromium');
console.log(`GitHub owner: "${githubOwner}"`);
console.log(`GitHub repo: "${githubRepo}"`);
console.log(`Release tag: "${githubTag}"`);
console.log(`Release asset: "${assetInfo.name}"`);
// Fetch asset from GitHub repo
const filePath = await ghapi.downloadAssetFromRelease(assetInfo);
console.log('Asset saved at', filePath);
// Upload to Chrome Web Store
await publishToCWS(filePath);
// Clean up
if ( commandLineArgs.keep !== true ) {
const tmpdir = path.dirname(filePath);
console.log(`Removing ${tmpdir}`);
ghapi.shellExec(`rm -rf "${tmpdir}"`);
}
console.log('Done');
}
main().then(result => {
if ( result !== undefined ) {
console.log(result);
process.exit(1);
}
process.exit(0);
});

190
dist/chromium/publish-stable.py vendored Executable file
View file

@ -0,0 +1,190 @@
#!/usr/bin/env python3
import datetime
import json
import os
import re
import requests
import shutil
import subprocess
import sys
import tempfile
import time
import zipfile
from string import Template
# - Download target (raw) uBlock0.chromium.zip from GitHub
# - This is referred to as "raw" package
# - This will fail if not a dev build
# - Upload uBlock0.chromium.zip to Chrome store
# - Publish uBlock0.chromium.zip to Chrome store
# Find path to project root
projdir = os.path.split(os.path.abspath(__file__))[0]
while not os.path.isdir(os.path.join(projdir, '.git')):
projdir = os.path.normpath(os.path.join(projdir, '..'))
# We need a version string to work with
if len(sys.argv) >= 2 and sys.argv[1]:
version = sys.argv[1]
else:
version = input('Github release version: ')
version.strip()
if not re.search('^\d+\.\d+\.\d+$', version):
print('Error: Invalid version string.')
exit(1)
cs_extension_id = 'cjpalhdlnbpafiamejdnhcphjbkeiagm'
tmpdir = tempfile.TemporaryDirectory()
raw_zip_filename = 'uBlock0_' + version + '.chromium.zip'
raw_zip_filepath = os.path.join(tmpdir.name, raw_zip_filename)
github_owner = 'gorhill'
github_repo = 'uBlock'
# Load/save auth secrets
# The tmp directory is excluded from git
ubo_secrets = dict()
ubo_secrets_filename = os.path.join(projdir, 'tmp', 'ubo_secrets')
if os.path.isfile(ubo_secrets_filename):
with open(ubo_secrets_filename) as f:
ubo_secrets = json.load(f)
def input_secret(prompt, token):
if token in ubo_secrets:
prompt += ''
prompt += ': '
value = input(prompt).strip()
if len(value) == 0:
if token not in ubo_secrets:
print('Token error:', token)
exit(1)
value = ubo_secrets[token]
elif token not in ubo_secrets or value != ubo_secrets[token]:
ubo_secrets[token] = value
exists = os.path.isfile(ubo_secrets_filename)
with open(ubo_secrets_filename, 'w') as f:
json.dump(ubo_secrets, f, indent=2)
if not exists:
os.chmod(ubo_secrets_filename, 0o600)
return value
# GitHub API token
github_token = input_secret('Github token', 'github_token')
github_auth = 'token ' + github_token
#
# Get metadata from GitHub about the release
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release
print('Downloading release info from GitHub...')
release_info_url = 'https://api.github.com/repos/{0}/{1}/releases/tags/{2}'.format(github_owner, github_repo, version)
headers = { 'Authorization': github_auth, }
response = requests.get(release_info_url, headers=headers)
if response.status_code != 200:
print('Error: Release not found: {0}'.format(response.status_code))
exit(1)
release_info = response.json()
#
# Extract URL to raw package from metadata
#
# Find url for uBlock0.chromium.zip
raw_zip_url = ''
for asset in release_info['assets']:
if asset['name'] == raw_zip_filename:
raw_zip_url = asset['url']
if len(raw_zip_url) == 0:
print('Error: Release asset URL not found')
exit(1)
#
# Download raw package from GitHub
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release-asset
print('Downloading raw zip package from GitHub...')
headers = {
'Authorization': github_auth,
'Accept': 'application/octet-stream',
}
response = requests.get(raw_zip_url, headers=headers)
# Redirections are transparently handled:
# http://docs.python-requests.org/en/master/user/quickstart/#redirection-and-history
if response.status_code != 200:
print('Error: Downloading raw package failed -- server error {0}'.format(response.status_code))
exit(1)
with open(raw_zip_filepath, 'wb') as f:
f.write(response.content)
print('Downloaded raw package saved as {0}'.format(raw_zip_filepath))
#
# Upload to Chrome store
#
# Auth tokens
cs_id = input_secret('Chrome store id', 'cs_id')
cs_secret = input_secret('Chrome store secret', 'cs_secret')
cs_refresh = input_secret('Chrome store refresh token', 'cs_refresh')
print('Uploading to Chrome store...')
with open(raw_zip_filepath, 'rb') as f:
print('Generating access token...')
auth_url = 'https://accounts.google.com/o/oauth2/token'
auth_payload = {
'client_id': cs_id,
'client_secret': cs_secret,
'grant_type': 'refresh_token',
'refresh_token': cs_refresh,
}
auth_response = requests.post(auth_url, data=auth_payload)
if auth_response.status_code != 200:
print('Error: Auth failed -- server error {0}'.format(auth_response.status_code))
print(auth_response.text)
exit(1)
response_dict = auth_response.json()
if 'access_token' not in response_dict:
print('Error: Auth failed -- no access token')
exit(1)
# Prepare access token
cs_auth = 'Bearer ' + response_dict['access_token']
headers = {
'Authorization': cs_auth,
'x-goog-api-version': '2',
}
# Upload
print('Uploading package...')
upload_url = 'https://www.googleapis.com/upload/chromewebstore/v1.1/items/{0}'.format(cs_extension_id)
upload_response = requests.put(upload_url, headers=headers, data=f)
f.close()
if upload_response.status_code != 200:
print('Upload failed -- server error {0}'.format(upload_response.status_code))
print(upload_response.text)
exit(1)
response_dict = upload_response.json();
if 'uploadState' not in response_dict or response_dict['uploadState'] != 'SUCCESS':
print('Upload failed -- server error {0}'.format(response_dict['uploadState']))
exit(1)
print('Upload succeeded.')
# Publish
print('Publishing package...')
publish_url = 'https://www.googleapis.com/chromewebstore/v1.1/items/{0}/publish'.format(cs_extension_id)
headers = {
'Authorization': cs_auth,
'x-goog-api-version': '2',
'Content-Length': '0',
}
publish_response = requests.post(publish_url, headers=headers)
if publish_response.status_code != 200:
print('Error: Chrome store publishing failed -- server error {0}'.format(publish_response.status_code))
exit(1)
response_dict = publish_response.json();
if 'status' not in response_dict or response_dict['status'][0] != 'OK':
print('Publishing failed -- server error {0}'.format(response_dict['status']))
exit(1)
print('Publishing succeeded.')
print('All done.')

331
dist/firefox/publish-signed-beta.py vendored Executable file
View file

@ -0,0 +1,331 @@
#!/usr/bin/env python3
import datetime
import json
import jwt
import os
import re
import requests
import shutil
import subprocess
import sys
import tempfile
import time
import zipfile
from string import Template
# - Download target (raw) uBlock0.firefox.xpi from GitHub
# - This is referred to as "raw" package
# - This will fail if not a dev build
# - Modify raw package to make it self-hosted
# - This is referred to as "unsigned" package
# - Ask AMO to sign uBlock0.firefox.xpi
# - Generate JWT to be used for communication with server
# - Upload unsigned package to AMO
# - Wait for a valid download URL for signed package
# - Download signed package as uBlock0.firefox.signed.xpi
# - This is referred to as "signed" package
# - Upload uBlock0.firefox.signed.xpi to GitHub
# - Remove uBlock0.firefox.xpi from GitHub
# - Modify updates.json to point to new version
# - Commit changes to repo
# Find path to project root
projdir = os.path.split(os.path.abspath(__file__))[0]
while not os.path.isdir(os.path.join(projdir, '.git')):
projdir = os.path.normpath(os.path.join(projdir, '..'))
# Check that found project root is valid
version_filepath = os.path.join(projdir, 'dist', 'version')
if not os.path.isfile(version_filepath):
print('Version file not found.')
exit(1)
# We need a version string to work with
if len(sys.argv) >= 2 and sys.argv[1]:
tag_version = sys.argv[1]
else:
tag_version = input('Github release version: ')
tag_version.strip()
match = re.search('^(\d+\.\d+\.\d+)(?:(b|rc)(\d+))?$', tag_version)
if not match:
print('Error: Invalid version string.')
exit(1)
ext_version = match.group(1);
if match.group(2):
revision = int(match.group(3))
if match.group(2) == 'rc':
revision += 100;
ext_version += '.' + str(revision)
extension_id = 'uBlock0@raymondhill.net'
tmpdir = tempfile.TemporaryDirectory()
raw_xpi_filename = 'uBlock0_' + tag_version + '.firefox.xpi'
raw_xpi_filepath = os.path.join(tmpdir.name, raw_xpi_filename)
unsigned_xpi_filepath = os.path.join(tmpdir.name, 'uBlock0.firefox.unsigned.xpi')
signed_xpi_filename = 'uBlock0_' + tag_version + '.firefox.signed.xpi'
signed_xpi_filepath = os.path.join(tmpdir.name, signed_xpi_filename)
github_owner = 'gorhill'
github_repo = 'uBlock'
# Load/save auth secrets
# The tmp directory is excluded from git
ubo_secrets = dict()
ubo_secrets_filename = os.path.join(projdir, 'tmp', 'ubo_secrets')
if os.path.isfile(ubo_secrets_filename):
with open(ubo_secrets_filename) as f:
ubo_secrets = json.load(f)
def input_secret(prompt, token):
if token in ubo_secrets:
prompt += ''
prompt += ': '
value = input(prompt).strip()
if len(value) == 0:
if token not in ubo_secrets:
print('Token error:', token)
exit(1)
value = ubo_secrets[token]
elif token not in ubo_secrets or value != ubo_secrets[token]:
ubo_secrets[token] = value
exists = os.path.isfile(ubo_secrets_filename)
with open(ubo_secrets_filename, 'w') as f:
json.dump(ubo_secrets, f, indent=2)
if not exists:
os.chmod(ubo_secrets_filename, 0o600)
return value
# GitHub API token
github_token = input_secret('Github token', 'github_token')
github_auth = 'token ' + github_token
#
# Get metadata from GitHub about the release
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release
print('Downloading release info from GitHub...')
release_info_url = 'https://api.github.com/repos/{0}/{1}/releases/tags/{2}'.format(github_owner, github_repo, tag_version)
headers = { 'Authorization': github_auth, }
response = requests.get(release_info_url, headers=headers)
if response.status_code != 200:
print('Error: Release not found: {0}'.format(response.status_code))
exit(1)
release_info = response.json()
#
# Extract URL to raw package from metadata
#
# Find url for uBlock0.firefox.xpi
raw_xpi_url = ''
for asset in release_info['assets']:
if asset['name'] == signed_xpi_filename:
print('Error: Found existing signed self-hosted package.')
exit(1)
if asset['name'] == raw_xpi_filename:
raw_xpi_url = asset['url']
if len(raw_xpi_url) == 0:
print('Error: Release asset URL not found')
exit(1)
#
# Download raw package from GitHub
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release-asset
print('Downloading raw xpi package from GitHub...')
headers = {
'Authorization': github_auth,
'Accept': 'application/octet-stream',
}
response = requests.get(raw_xpi_url, headers=headers)
# Redirections are transparently handled:
# http://docs.python-requests.org/en/master/user/quickstart/#redirection-and-history
if response.status_code != 200:
print('Error: Downloading raw package failed -- server error {0}'.format(response.status_code))
exit(1)
with open(raw_xpi_filepath, 'wb') as f:
f.write(response.content)
print('Downloaded raw package saved as {0}'.format(raw_xpi_filepath))
#
# Convert the package to a self-hosted one: add `update_url` to the manifest
#
min_browser_version = '68';
print('Converting raw xpi package into self-hosted xpi package...')
with zipfile.ZipFile(raw_xpi_filepath, 'r') as zipin:
with zipfile.ZipFile(unsigned_xpi_filepath, 'w') as zipout:
for item in zipin.infolist():
data = zipin.read(item.filename)
if item.filename == 'manifest.json':
manifest = json.loads(bytes.decode(data))
min_browser_version = manifest['browser_specific_settings']['gecko']['strict_min_version']
manifest['browser_specific_settings']['gecko']['update_url'] = 'https://raw.githubusercontent.com/{0}/{1}/master/dist/firefox/updates.json'.format(github_owner, github_repo)
data = json.dumps(manifest, indent=2, separators=(',', ': '), sort_keys=True).encode()
zipout.writestr(item, data)
#
# Ask AMO to sign the self-hosted package
# - https://developer.mozilla.org/en-US/Add-ons/Distribution#Distributing_your_add-on
# - https://pyjwt.readthedocs.io/en/latest/usage.html
# - https://addons-server.readthedocs.io/en/latest/topics/api/auth.html
# - https://addons-server.readthedocs.io/en/latest/topics/api/signing.html
#
amo_api_key = ''
amo_secret = ''
def get_jwt_auth():
global amo_api_key
if amo_api_key == '':
amo_api_key = input_secret('AMO API key', 'amo_api_key')
global amo_secret
if amo_secret == '':
amo_secret = input_secret('AMO API secret', 'amo_secret')
amo_nonce = os.urandom(8).hex()
jwt_payload = {
'iss': amo_api_key,
'jti': amo_nonce,
'iat': datetime.datetime.utcnow(),
'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=15),
}
return 'JWT ' + jwt.encode(jwt_payload, amo_secret)
print('Ask AMO to sign self-hosted xpi package...')
with open(unsigned_xpi_filepath, 'rb') as f:
# https://blog.mozilla.org/addons/2019/11/11/security-improvements-in-amo-upload-tools/
# "We recommend allowing up to 15 minutes."
interval = 60 # check every 60 seconds
countdown = 60 * 60 / interval # for at most 60 minutes
headers = { 'Authorization': get_jwt_auth(), }
data = { 'channel': 'unlisted' }
files = { 'upload': f, }
signing_url = 'https://addons.mozilla.org/api/v4/addons/{0}/versions/{1}/'.format(extension_id, ext_version)
print('Submitting package to be signed...')
response = requests.put(signing_url, headers=headers, data=data, files=files)
if response.status_code != 202:
print('Error: Creating new version failed -- server error {0}'.format(response.status_code))
print(response.text)
exit(1)
print('Request for signing self-hosted xpi package succeeded.')
signing_request_response = response.json();
f.close()
print('Waiting for AMO to process the request to sign the self-hosted xpi package...')
# Wait for signed package to be ready
signing_check_url = signing_request_response['url']
while True:
time.sleep(interval)
sys.stdout.write('.')
sys.stdout.flush()
countdown -= 1
if countdown <= 0:
print('Error: AMO signing timed out')
exit(1)
headers = { 'Authorization': get_jwt_auth(), }
response = requests.get(signing_check_url, headers=headers)
if response.status_code != 200:
print('Error: AMO signing failed -- server error {0}'.format(response.status_code))
print(response.text)
exit(1)
signing_check_response = response.json()
if not signing_check_response['processed']:
continue
if not signing_check_response['valid']:
print('Error: AMO validation failed')
print(response.text)
exit(1)
if not signing_check_response['files'] or len(signing_check_response['files']) == 0:
continue
if not signing_check_response['files'][0]['signed']:
continue
if not signing_check_response['files'][0]['download_url']:
print('Error: AMO signing failed')
print(response.text)
exit(1)
print('\r')
print('Self-hosted xpi package successfully signed.')
download_url = signing_check_response['files'][0]['download_url']
print('Downloading signed self-hosted xpi package from {0}...'.format(download_url))
response = requests.get(download_url, headers=headers)
if response.status_code != 200:
print('Error: Download signed package failed -- server error {0}'.format(response.status_code))
print(response.text)
exit(1)
with open(signed_xpi_filepath, 'wb') as f:
f.write(response.content)
f.close()
print('Signed self-hosted xpi package downloaded.')
break
#
# Upload signed package to GitHub
#
# https://developer.github.com/v3/repos/releases/#upload-a-release-asset
print('Uploading signed self-hosted xpi package to GitHub...')
with open(signed_xpi_filepath, 'rb') as f:
url = release_info['upload_url'].replace('{?name,label}', '?name=' + signed_xpi_filename)
headers = {
'Authorization': github_auth,
'Content-Type': 'application/zip',
}
response = requests.post(url, headers=headers, data=f.read())
if response.status_code != 201:
print('Error: Upload signed package failed -- server error: {0}'.format(response.status_code))
exit(1)
#
# Remove raw package from GitHub
#
# https://developer.github.com/v3/repos/releases/#delete-a-release-asset
print('Remove raw xpi package from GitHub...')
headers = { 'Authorization': github_auth, }
response = requests.delete(raw_xpi_url, headers=headers)
if response.status_code != 204:
print('Error: Deletion of raw package failed -- server error: {0}'.format(response.status_code))
#
# Update updates.json to point to new package -- but only if just-signed
# package is higher version than current one.
#
# Be sure we are in sync with potentially modified files on remote
r = subprocess.run(['git', 'pull', 'origin', 'master'], stdout=subprocess.PIPE)
rout = bytes.decode(r.stdout).strip()
def int_from_version(version):
parts = version.split('.')
if len(parts) == 3:
parts.append('0')
return int(parts[0])*10e9 + int(parts[1])*10e6 + int(parts[2])*10e3 + int(parts[3])
print('Update GitHub to point to newly signed self-hosted xpi package...')
updates_json_filepath = os.path.join(projdir, 'dist', 'firefox', 'updates.json')
with open(updates_json_filepath) as f:
updates_json = json.load(f)
f.close()
previous_version = updates_json['addons'][extension_id]['updates'][0]['version']
if int_from_version(ext_version) > int_from_version(previous_version):
with open(os.path.join(projdir, 'dist', 'firefox', 'updates.template.json')) as f:
template_json = Template(f.read())
f.close()
updates_json = template_json.substitute(ext_version=ext_version, tag_version=tag_version, min_browser_version=min_browser_version)
with open(updates_json_filepath, 'w') as f:
f.write(updates_json)
f.close()
# - Stage the changed file
r = subprocess.run(['git', 'status', '-s', updates_json_filepath], stdout=subprocess.PIPE)
rout = bytes.decode(r.stdout).strip()
if len(rout) >= 2 and rout[1] == 'M':
subprocess.run(['git', 'add', updates_json_filepath])
# - Commit the staged file
r = subprocess.run(['git', 'status', '-s', updates_json_filepath], stdout=subprocess.PIPE)
rout = bytes.decode(r.stdout).strip()
if len(rout) >= 2 and rout[0] == 'M':
subprocess.run(['git', 'commit', '-m', 'Make Firefox dev build auto-update', updates_json_filepath])
subprocess.run(['git', 'push', 'origin', 'HEAD'])
print('All done.')

View file

@ -1,17 +1,13 @@
{
"addons": {
"uBlock0@raymondhill.net": {
"updates": [
{
"version": "1.69.1.4",
"browser_specific_settings": {
"gecko": {
"strict_min_version": "115.0"
}
},
"update_link": "https://github.com/gorhill/uBlock/releases/download/1.69.1b4/uBlock0_1.69.1b4.firefox.signed.xpi"
}
]
"addons": {
"uBlock0@raymondhill.net": {
"updates": [
{
"version": "1.65.1.4",
"browser_specific_settings": { "gecko": { "strict_min_version": "92.0" } },
"update_link": "https://github.com/gorhill/uBlock/releases/download/1.65.1b4/uBlock0_1.65.1b4.firefox.signed.xpi"
}
]
}
}
}

13
dist/firefox/updates.template.json vendored Normal file
View file

@ -0,0 +1,13 @@
{
"addons": {
"uBlock0@raymondhill.net": {
"updates": [
{
"version": "$ext_version",
"browser_specific_settings": { "gecko": { "strict_min_version": "$min_browser_version" } },
"update_link": "https://github.com/gorhill/uBlock/releases/download/$tag_version/uBlock0_$tag_version.firefox.signed.xpi"
}
]
}
}
}

257
dist/firefox/upload-signed-beta.py vendored Executable file
View file

@ -0,0 +1,257 @@
#!/usr/bin/env python3
import datetime
import json
import jwt
import os
import re
import requests
import subprocess
import sys
import tempfile
from string import Template
# - Download target (raw) uBlock0.firefox.xpi from GitHub
# - This is referred to as "raw" package
# - This will fail if not a dev build
# - Modify raw package to make it self-hosted
# - This is referred to as "unsigned" package
# - Ask AMO to sign uBlock0.firefox.xpi
# - Generate JWT to be used for communication with server
# - Upload unsigned package to AMO
# - Wait for a valid download URL for signed package
# - Download signed package as uBlock0.firefox.signed.xpi
# - This is referred to as "signed" package
# - Upload uBlock0.firefox.signed.xpi to GitHub
# - Remove uBlock0.firefox.xpi from GitHub
# - Modify updates.json to point to new version
# - Commit changes to repo
# Find path to project root
projdir = os.path.split(os.path.abspath(__file__))[0]
while not os.path.isdir(os.path.join(projdir, '.git')):
projdir = os.path.normpath(os.path.join(projdir, '..'))
# Check that found project root is valid
version_filepath = os.path.join(projdir, 'dist', 'version')
if not os.path.isfile(version_filepath):
print('Version file not found.')
exit(1)
# We need a version string to work with
if len(sys.argv) >= 2 and sys.argv[1]:
tag_version = sys.argv[1]
else:
tag_version = input('Github release version: ')
tag_version.strip()
match = re.search('^(\d+\.\d+\.\d+)(?:(b|rc)(\d+))?$', tag_version)
if not match:
print('Error: Invalid version string.')
exit(1)
ext_version = match.group(1);
if match.group(2):
revision = int(match.group(3))
if match.group(2) == 'rc':
revision += 100;
ext_version += '.' + str(revision)
extension_id = 'uBlock0@raymondhill.net'
tmpdir = tempfile.TemporaryDirectory()
raw_xpi_filename = 'uBlock0_' + tag_version + '.firefox.xpi'
raw_xpi_filepath = os.path.join(tmpdir.name, raw_xpi_filename)
unsigned_xpi_filepath = os.path.join(tmpdir.name, 'uBlock0.firefox.unsigned.xpi')
signed_xpi_filename = 'uBlock0_' + tag_version + '.firefox.signed.xpi'
signed_xpi_filepath = os.path.join(tmpdir.name, signed_xpi_filename)
github_owner = 'gorhill'
github_repo = 'uBlock'
# Load/save auth secrets
# The tmp directory is excluded from git
ubo_secrets = dict()
ubo_secrets_filename = os.path.join(projdir, 'tmp', 'ubo_secrets')
if os.path.isfile(ubo_secrets_filename):
with open(ubo_secrets_filename) as f:
ubo_secrets = json.load(f)
def input_secret(prompt, token):
if token in ubo_secrets:
prompt += ''
prompt += ': '
value = input(prompt).strip()
if len(value) == 0:
if token not in ubo_secrets:
print('Token error:', token)
exit(1)
value = ubo_secrets[token]
elif token not in ubo_secrets or value != ubo_secrets[token]:
ubo_secrets[token] = value
exists = os.path.isfile(ubo_secrets_filename)
with open(ubo_secrets_filename, 'w') as f:
json.dump(ubo_secrets, f, indent=2)
if not exists:
os.chmod(ubo_secrets_filename, 0o600)
return value
# GitHub API token
github_token = input_secret('Github token', 'github_token')
github_auth = 'token ' + github_token
#
# Get metadata from GitHub about the release
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release
print('Downloading release info from GitHub...')
release_info_url = 'https://api.github.com/repos/{0}/{1}/releases/tags/{2}'.format(github_owner, github_repo, tag_version)
headers = { 'Authorization': github_auth, }
response = requests.get(release_info_url, headers=headers)
if response.status_code != 200:
print('Error: Release not found: {0}'.format(response.status_code))
exit(1)
release_info = response.json()
#
# Extract URL to raw package from metadata
#
# Find url for uBlock0.firefox.xpi
raw_xpi_url = ''
for asset in release_info['assets']:
if asset['name'] == signed_xpi_filename:
print('Error: Found existing signed self-hosted package.')
exit(1)
if asset['name'] == raw_xpi_filename:
raw_xpi_url = asset['url']
if len(raw_xpi_url) == 0:
print('Error: Release asset URL not found')
exit(1)
#
# Ask AMO to sign the self-hosted package
# - https://developer.mozilla.org/en-US/Add-ons/Distribution#Distributing_your_add-on
# - https://pyjwt.readthedocs.io/en/latest/usage.html
# - https://addons-server.readthedocs.io/en/latest/topics/api/auth.html
# - https://addons-server.readthedocs.io/en/latest/topics/api/signing.html
#
amo_api_key = ''
amo_secret = ''
def get_jwt_auth():
global amo_api_key
if amo_api_key == '':
amo_api_key = input_secret('AMO API key', 'amo_api_key')
global amo_secret
if amo_secret == '':
amo_secret = input_secret('AMO API secret', 'amo_secret')
amo_nonce = os.urandom(8).hex()
jwt_payload = {
'iss': amo_api_key,
'jti': amo_nonce,
'iat': datetime.datetime.utcnow(),
'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=15),
}
return 'JWT ' + jwt.encode(jwt_payload, amo_secret)
# https://blog.mozilla.org/addons/2019/11/11/security-improvements-in-amo-upload-tools/
# "We recommend allowing up to 15 minutes."
headers = { 'Authorization': get_jwt_auth(), }
version_details_url = 'https://addons.mozilla.org/api/v5/addons/addon/{0}/versions/{1}/'.format(extension_id, ext_version)
print('Fetching package details...')
version_details_response = requests.get(version_details_url, headers=headers)
if version_details_response.status_code > 400:
print('Error: Fetching derails failed -- server error {0}'.format(version_details_response.status_code))
print(version_details_response.text)
exit(1)
print('Fetching version details succeeded.')
version_details = version_details_response.json();
if version_details['file']['status'] != 'public':
print('Error: Version is not approved -- server error {0}'.format(version_details_response.status_code))
print(version_details_response.text)
exit(1)
if not version_details['file']['url']:
print('Error: No file URL')
print(version_details_response.text)
exit(1)
download_url = version_details['file']['url']
print('Downloading signed self-hosted xpi package from {0}...'.format(download_url))
response = requests.get(download_url, headers=headers)
if response.status_code != 200:
print('Error: Download signed package failed -- server error {0}'.format(response.status_code))
print(response.text)
exit(1)
with open(signed_xpi_filepath, 'wb') as f:
f.write(response.content)
f.close()
print('Signed self-hosted xpi package downloaded.')
#
# Upload signed package to GitHub
#
# https://developer.github.com/v3/repos/releases/#upload-a-release-asset
print('Uploading signed self-hosted xpi package to GitHub...')
with open(signed_xpi_filepath, 'rb') as f:
url = release_info['upload_url'].replace('{?name,label}', '?name=' + signed_xpi_filename)
headers = {
'Authorization': github_auth,
'Content-Type': 'application/zip',
}
response = requests.post(url, headers=headers, data=f.read())
if response.status_code != 201:
print('Error: Upload signed package failed -- server error: {0}'.format(response.status_code))
exit(1)
#
# Remove raw package from GitHub
#
# https://developer.github.com/v3/repos/releases/#delete-a-release-asset
print('Remove raw xpi package from GitHub...')
headers = { 'Authorization': github_auth, }
response = requests.delete(raw_xpi_url, headers=headers)
if response.status_code != 204:
print('Error: Deletion of raw package failed -- server error: {0}'.format(response.status_code))
#
# Update updates.json to point to new package -- but only if just-signed
# package is higher version than current one.
#
# Be sure we are in sync with potentially modified files on remote
r = subprocess.run(['git', 'pull', 'origin', 'master'], stdout=subprocess.PIPE)
rout = bytes.decode(r.stdout).strip()
def int_from_version(version):
parts = version.split('.')
if len(parts) == 3:
parts.append('0')
return int(parts[0])*10e9 + int(parts[1])*10e6 + int(parts[2])*10e3 + int(parts[3])
print('Update GitHub to point to newly signed self-hosted xpi package...')
updates_json_filepath = os.path.join(projdir, 'dist', 'firefox', 'updates.json')
with open(updates_json_filepath) as f:
updates_json = json.load(f)
f.close()
previous_version = updates_json['addons'][extension_id]['updates'][0]['version']
if int_from_version(ext_version) > int_from_version(previous_version):
with open(os.path.join(projdir, 'dist', 'firefox', 'updates.template.json')) as f:
template_json = Template(f.read())
f.close()
updates_json = template_json.substitute(ext_version=ext_version, tag_version=tag_version, min_browser_version=version_details['compatibility']['firefox']['min'])
with open(updates_json_filepath, 'w') as f:
f.write(updates_json)
f.close()
# - Stage the changed file
r = subprocess.run(['git', 'status', '-s', updates_json_filepath], stdout=subprocess.PIPE)
rout = bytes.decode(r.stdout).strip()
if len(rout) >= 2 and rout[1] == 'M':
subprocess.run(['git', 'add', updates_json_filepath])
# - Commit the staged file
r = subprocess.run(['git', 'status', '-s', updates_json_filepath], stdout=subprocess.PIPE)
rout = bytes.decode(r.stdout).strip()
if len(rout) >= 2 and rout[0] == 'M':
subprocess.run(['git', 'commit', '-m', 'Make Firefox dev build auto-update', updates_json_filepath])
subprocess.run(['git', 'push', 'origin', 'HEAD'])
print('All done.')

223
dist/github-api.js vendored Normal file
View file

@ -0,0 +1,223 @@
/*******************************************************************************
uBlock Origin - a comprehensive, efficient content blocker
Copyright (C) 2025-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 * as fs from 'node:fs/promises';
import { execSync } from 'node:child_process';
import os from 'node:os';
import path from 'node:path';
import process from 'node:process';
/******************************************************************************/
function voidFunc() {
}
/******************************************************************************/
let githubOwner = '';
let githubRepo = '';
let githubTag = '';
let githubAuth = '';
export function setGithubContext(owner, repo, tag, auth) {
githubOwner = owner;
githubRepo = repo;
githubTag = tag;
githubAuth = auth;
}
/******************************************************************************/
let pathToSecrets = '';
export async function getSecrets() {
const homeDir = os.homedir();
let currentDir = process.cwd();
let fileName = '';
for (;;) {
fileName = `${currentDir}/ubo_secrets`;
const stat = await fs.stat(fileName).catch(voidFunc);
if ( stat !== undefined ) { break; }
currentDir = path.resolve(currentDir, '..');
if ( currentDir.startsWith(homeDir) === false ) {
pathToSecrets = homeDir;
return;
}
}
console.log(`Found secrets in ${fileName}`);
const text = await fs.readFile(fileName, { encoding: 'utf8' }).catch(voidFunc);
if ( text === undefined ) { return {}; }
const secrets = JSON.parse(text);
pathToSecrets = fileName;
return secrets;
}
export async function saveSecrets(secrets) {
if ( pathToSecrets === '' ) { return; }
return fs.writeFile(pathToSecrets, JSON.stringify(secrets, null, 2));
}
/******************************************************************************/
export async function getRepoRoot() {
const homeDir = os.homedir();
let currentDir = process.cwd();
for (;;) {
const fileName = `${currentDir}/.git`;
const stat = await fs.stat(fileName).catch(voidFunc);
if ( stat !== undefined ) { return currentDir; }
currentDir = path.resolve(currentDir, '..');
if ( currentDir.startsWith(homeDir) === false ) { return; }
}
}
/******************************************************************************/
export async function getReleaseInfo() {
console.log(`Fetching release info for ${githubOwner}/${githubRepo}/${githubTag} from GitHub`);
const releaseInfoUrl = `https://api.github.com/repos/${githubOwner}/${githubRepo}/releases/tags/${githubTag}`;
const request = new Request(releaseInfoUrl, {
headers: {
Authorization: githubAuth,
},
});
const response = await fetch(request).catch(voidFunc);
if ( response === undefined ) { return; }
if ( response.ok !== true ) { return; }
const releaseInfo = await response.json().catch(voidFunc);
if ( releaseInfo === undefined ) { return; }
return releaseInfo;
}
/******************************************************************************/
export async function getAssetInfo(assetName) {
const releaseInfo = await getReleaseInfo();
if ( releaseInfo === undefined ) { return; }
if ( releaseInfo.assets === undefined ) { return; }
for ( const asset of releaseInfo.assets ) {
if ( asset.name.includes(assetName) ) { return asset; }
}
}
/******************************************************************************/
export async function downloadAssetFromRelease(assetInfo) {
const assetURL = assetInfo.url;
console.log(`Fetching ${assetURL}`);
const request = new Request(assetURL, {
headers: {
Authorization: githubAuth,
Accept: 'application/octet-stream',
},
});
const response = await fetch(request).catch(voidFunc);
if ( response.ok !== true ) { return; }
const data = await response.bytes().catch(voidFunc);
if ( data === undefined ) { return; }
const tempDir = await fs.mkdtemp('/tmp/github-asset-');
const fileName = `${tempDir}/${assetInfo.name}`;
await fs.writeFile(fileName, data);
return fileName;
}
/******************************************************************************/
export async function uploadAssetToRelease(assetPath, mimeType) {
console.log(`Uploading "${assetPath}" to GitHub...`);
const data = await fs.readFile(assetPath).catch(( ) => { });
if ( data === undefined ) { return; }
const releaseInfo = await getReleaseInfo();
if ( releaseInfo.upload_url === undefined ) { return; }
const assetName = path.basename(assetPath);
const uploadURL = releaseInfo.upload_url.replace('{?name,label}', `?name=${assetName}`);
console.log('Upload URL:', uploadURL);
const request = new Request(uploadURL, {
body: new Int8Array(data.buffer, data.byteOffset, data.length),
headers: {
Authorization: githubAuth,
'Content-Type': mimeType,
},
method: 'POST',
});
const response = await fetch(request).catch(( ) => { });
if ( response === undefined ) { return; }
const json = await response.json();
console.log(json);
return json;
}
/******************************************************************************/
export async function deleteAssetFromRelease(assetURL) {
print(`Remove ${assetURL} from GitHub release ${githubTag}...`);
const request = new Request(assetURL, {
headers: {
Authorization: githubAuth,
},
method: 'DELETE',
});
const response = await fetch(request);
return response.ok;
}
/******************************************************************************/
export async function getManifest(path) {
const text = await fs.readFile(path, { encoding: 'utf8' });
return JSON.parse(text);
}
/******************************************************************************/
export async function shellExec(text) {
let command = '';
for ( const line of text.split(/[\n\r]+/) ) {
command += line.trimEnd();
if ( command.endsWith('\\') ) {
command = command.slice(0, -1);
continue;
}
command = command.trim();
if ( command === '' ) { continue; }
execSync(command);
command = '';
}
}
/******************************************************************************/
export const commandLineArgs = (( ) => {
const args = Object.create(null);
let name, value;
for ( const arg of process.argv.slice(2) ) {
const pos = arg.indexOf('=');
if ( pos === -1 ) {
name = arg;
value = true;
} else {
name = arg.slice(0, pos);
value = arg.slice(pos+1);
}
args[name] = value;
}
return args;
})();

195
dist/mv3/chromium/publish-beta.py vendored Executable file
View file

@ -0,0 +1,195 @@
#!/usr/bin/env python3
import datetime
import json
import os
import re
import requests
import shutil
import subprocess
import sys
import tempfile
import time
import zipfile
from string import Template
# - Download target (raw) uBOLite_*.chromium.mv3.zip from GitHub
# - This is referred to as "raw" package
# - This will fail if not a dev build
# - Upload uBOLite_*.chromium.mv3.zip to Chrome store
# - Publish uBOLite_*.chromium.mv3.zip to Chrome store
# Find path to project root
projdir = os.path.split(os.path.abspath(__file__))[0]
while not os.path.isdir(os.path.join(projdir, '.git')):
projdir = os.path.normpath(os.path.join(projdir, '..'))
# We need a version string to work with
if len(sys.argv) >= 2 and sys.argv[1]:
version = sys.argv[1]
else:
version = input('Github release version: ')
version.strip()
if not re.search('^uBOLite_\d+\.\d+\.\d+\.\d+$', version):
print('Error: Invalid version string.')
exit(1)
cs_extension_id = 'ddkjiahejlhfcafbddmgiahcphecmpfh'
tmpdir = tempfile.TemporaryDirectory()
raw_zip_filename = ''
raw_zip_filepath = ''
github_owner = 'gorhill'
github_repo = 'uBlock'
# Load/save auth secrets
# The build directory is excluded from git
ubo_secrets = dict()
ubo_secrets_filename = os.path.join(projdir, 'dist', 'build', 'ubo_secrets')
if os.path.isfile(ubo_secrets_filename):
with open(ubo_secrets_filename) as f:
ubo_secrets = json.load(f)
def input_secret(prompt, token):
if token in ubo_secrets:
prompt += ''
prompt += ': '
value = input(prompt).strip()
if len(value) == 0:
if token not in ubo_secrets:
print('Token error:', token)
exit(1)
value = ubo_secrets[token]
elif token not in ubo_secrets or value != ubo_secrets[token]:
ubo_secrets[token] = value
exists = os.path.isfile(ubo_secrets_filename)
with open(ubo_secrets_filename, 'w') as f:
json.dump(ubo_secrets, f, indent=2)
if not exists:
os.chmod(ubo_secrets_filename, 0o600)
return value
# GitHub API token
github_token = input_secret('Github token', 'github_token')
github_auth = 'token ' + github_token
#
# Get metadata from GitHub about the release
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release
print('Downloading release info from GitHub...')
release_info_url = 'https://api.github.com/repos/{0}/{1}/releases/tags/{2}'.format(github_owner, github_repo, version)
headers = { 'Authorization': github_auth, }
response = requests.get(release_info_url, headers=headers)
if response.status_code != 200:
print('Error: Release not found: {0}'.format(response.status_code))
exit(1)
release_info = response.json()
#
# Extract URL to raw package from metadata
#
# Find url for uBOLite_*.chromium.mv3.zip
raw_zip_url = ''
for asset in release_info['assets']:
if re.search('uBOLite_\d+.\d+.\d+.\d+.chromium.mv3.zip', asset['name']):
raw_zip_url = asset['url']
raw_zip_filename = asset['name']
raw_zip_filepath = os.path.join(tmpdir.name, raw_zip_filename)
if len(raw_zip_url) == 0:
print('Error: Release asset URL not found')
exit(1)
if len(raw_zip_filepath) == 0:
print('Error: Invalid release asset file not set')
exit(1)
#
# Download raw package from GitHub
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release-asset
print('Downloading raw zip package from GitHub...')
headers = {
'Authorization': github_auth,
'Accept': 'application/octet-stream',
}
response = requests.get(raw_zip_url, headers=headers)
# Redirections are transparently handled:
# http://docs.python-requests.org/en/master/user/quickstart/#redirection-and-history
if response.status_code != 200:
print('Error: Downloading raw package failed -- server error {0}'.format(response.status_code))
exit(1)
with open(raw_zip_filepath, 'wb') as f:
f.write(response.content)
print('Downloaded raw package saved as {0}'.format(raw_zip_filepath))
#
# Upload to Chrome store
#
# Auth tokens
cs_id = input_secret('Chrome store id', 'cs_id')
cs_secret = input_secret('Chrome store secret', 'cs_secret')
cs_refresh = input_secret('Chrome store refresh token', 'cs_refresh')
print('Uploading to Chrome store...')
with open(raw_zip_filepath, 'rb') as f:
print('Generating access token...')
auth_url = 'https://accounts.google.com/o/oauth2/token'
auth_payload = {
'client_id': cs_id,
'client_secret': cs_secret,
'grant_type': 'refresh_token',
'refresh_token': cs_refresh,
}
auth_response = requests.post(auth_url, data=auth_payload)
if auth_response.status_code != 200:
print('Error: Auth failed -- server error {0}'.format(auth_response.status_code))
print(auth_response.text)
exit(1)
response_dict = auth_response.json()
if 'access_token' not in response_dict:
print('Error: Auth failed -- no access token')
exit(1)
# Prepare access token
cs_auth = 'Bearer ' + response_dict['access_token']
headers = {
'Authorization': cs_auth,
'x-goog-api-version': '2',
}
# Upload
print('Uploading package...')
upload_url = 'https://www.googleapis.com/upload/chromewebstore/v1.1/items/{0}'.format(cs_extension_id)
upload_response = requests.put(upload_url, headers=headers, data=f)
f.close()
if upload_response.status_code != 200:
print('Upload failed -- server error {0}'.format(upload_response.status_code))
print(upload_response.text)
exit(1)
response_dict = upload_response.json();
if 'uploadState' not in response_dict or response_dict['uploadState'] != 'SUCCESS':
print('Upload failed -- server error {0}'.format(response_dict['uploadState']))
exit(1)
print('Upload succeeded.')
# Publish
print('Publishing package...')
publish_url = 'https://www.googleapis.com/chromewebstore/v1.1/items/{0}/publish'.format(cs_extension_id)
headers = {
'Authorization': cs_auth,
'x-goog-api-version': '2',
'Content-Length': '0',
}
publish_response = requests.post(publish_url, headers=headers)
if publish_response.status_code != 200:
print('Error: Chrome store publishing failed -- server error {0}'.format(publish_response.status_code))
exit(1)
response_dict = publish_response.json();
if 'status' not in response_dict or response_dict['status'][0] != 'OK':
print('Publishing failed -- server error {0}'.format(response_dict['status']))
exit(1)
print('Publishing succeeded.')
print('All done.')

326
dist/mv3/firefox/publish-signed-beta.py vendored Executable file
View file

@ -0,0 +1,326 @@
#!/usr/bin/env python3
import datetime
import json
import jwt
import os
import re
import requests
import shutil
import subprocess
import sys
import tempfile
import time
import zipfile
from string import Template
# - Download target (raw) uBlock0.firefox.xpi from GitHub
# - This is referred to as "raw" package
# - This will fail if not a dev build
# - Modify raw package to make it self-hosted
# - This is referred to as "unsigned" package
# - Ask AMO to sign uBlock0.firefox.xpi
# - Generate JWT to be used for communication with server
# - Upload unsigned package to AMO
# - Wait for a valid download URL for signed package
# - Download signed package as uBlock0.firefox.signed.xpi
# - This is referred to as "signed" package
# - Upload uBlock0.firefox.signed.xpi to GitHub
# - Remove uBlock0.firefox.xpi from GitHub
# - Modify updates.json to point to new version
# - Commit changes to repo
# Find path to project root
projdir = os.path.split(os.path.abspath(__file__))[0]
while not os.path.isdir(os.path.join(projdir, '.git')):
projdir = os.path.normpath(os.path.join(projdir, '..'))
# Check that found project root is valid
version_filepath = os.path.join(projdir, 'dist', 'version')
if not os.path.isfile(version_filepath):
print('Version file not found.')
exit(1)
# We need a version string to work with
if len(sys.argv) >= 2 and sys.argv[1]:
tag_version = sys.argv[1]
else:
tag_version = input('Github release version: ')
tag_version.strip()
match = re.search('^uBOLite_(\d+\.\d+\.\d+.\d+)$', tag_version)
if not match:
print('Error: Invalid version string.')
exit(1)
ext_version = match.group(1);
extension_id = 'uBOLite@raymondhill.net'
tmpdir = tempfile.TemporaryDirectory()
raw_xpi_filename = tag_version + '.firefox.mv3.xpi'
raw_xpi_filepath = os.path.join(tmpdir.name, raw_xpi_filename)
unsigned_xpi_filepath = os.path.join(tmpdir.name, 'uBOLite.firefox.unsigned.xpi')
signed_xpi_filename = tag_version + '.firefox.signed.mv3.xpi'
signed_xpi_filepath = os.path.join(tmpdir.name, signed_xpi_filename)
github_owner = 'gorhill'
github_repo = 'uBlock'
# Load/save auth secrets
# The tmp directory is excluded from git
ubo_secrets = dict()
ubo_secrets_filename = os.path.join(projdir, 'tmp', 'ubo_secrets')
if os.path.isfile(ubo_secrets_filename):
with open(ubo_secrets_filename) as f:
ubo_secrets = json.load(f)
def input_secret(prompt, token):
if token in ubo_secrets:
prompt += ''
prompt += ': '
value = input(prompt).strip()
if len(value) == 0:
if token not in ubo_secrets:
print('Token error:', token)
exit(1)
value = ubo_secrets[token]
elif token not in ubo_secrets or value != ubo_secrets[token]:
ubo_secrets[token] = value
exists = os.path.isfile(ubo_secrets_filename)
with open(ubo_secrets_filename, 'w') as f:
json.dump(ubo_secrets, f, indent=2)
if not exists:
os.chmod(ubo_secrets_filename, 0o600)
return value
# GitHub API token
github_token = input_secret('Github token', 'github_token')
github_auth = 'token ' + github_token
#
# Get metadata from GitHub about the release
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release
print('Downloading release info from GitHub...')
release_info_url = 'https://api.github.com/repos/{0}/{1}/releases/tags/{2}'.format(github_owner, github_repo, tag_version)
headers = { 'Authorization': github_auth, }
response = requests.get(release_info_url, headers=headers)
if response.status_code != 200:
print('Error: Release not found: {0}'.format(response.status_code))
exit(1)
release_info = response.json()
#
# Extract URL to raw package from metadata
#
# Find url for uBlock0.firefox.xpi
raw_xpi_url = ''
for asset in release_info['assets']:
if asset['name'] == signed_xpi_filename:
print('Error: Found existing signed self-hosted package.')
exit(1)
if asset['name'] == raw_xpi_filename:
raw_xpi_url = asset['url']
if len(raw_xpi_url) == 0:
print('Error: Release asset URL not found')
exit(1)
#
# Download raw package from GitHub
#
# https://developer.github.com/v3/repos/releases/#get-a-single-release-asset
print('Downloading raw xpi package from GitHub...')
headers = {
'Authorization': github_auth,
'Accept': 'application/octet-stream',
}
response = requests.get(raw_xpi_url, headers=headers)
# Redirections are transparently handled:
# http://docs.python-requests.org/en/master/user/quickstart/#redirection-and-history
if response.status_code != 200:
print('Error: Downloading raw package failed -- server error {0}'.format(response.status_code))
exit(1)
with open(raw_xpi_filepath, 'wb') as f:
f.write(response.content)
print('Downloaded raw package saved as {0}'.format(raw_xpi_filepath))
#
# Convert the package to a self-hosted one: add `update_url` to the manifest
#
min_browser_version = '114.0';
print('Converting raw xpi package into self-hosted xpi package...')
with zipfile.ZipFile(raw_xpi_filepath, 'r') as zipin:
with zipfile.ZipFile(unsigned_xpi_filepath, 'w') as zipout:
for item in zipin.infolist():
data = zipin.read(item.filename)
if item.filename == 'manifest.json':
manifest = json.loads(bytes.decode(data))
min_browser_version = manifest['browser_specific_settings']['gecko']['strict_min_version']
manifest['browser_specific_settings']['gecko']['update_url'] = 'https://raw.githubusercontent.com/{0}/{1}/master/dist/mv3/firefox/updates.json'.format(github_owner, github_repo)
data = json.dumps(manifest, indent=2, separators=(',', ': '), sort_keys=True).encode()
zipout.writestr(item, data)
#
# Ask AMO to sign the self-hosted package
# - https://developer.mozilla.org/en-US/Add-ons/Distribution#Distributing_your_add-on
# - https://pyjwt.readthedocs.io/en/latest/usage.html
# - https://addons-server.readthedocs.io/en/latest/topics/api/auth.html
# - https://addons-server.readthedocs.io/en/latest/topics/api/signing.html
#
amo_api_key = ''
amo_secret = ''
def get_jwt_auth():
global amo_api_key
if amo_api_key == '':
amo_api_key = input_secret('AMO API key', 'amo_api_key')
global amo_secret
if amo_secret == '':
amo_secret = input_secret('AMO API secret', 'amo_secret')
amo_nonce = os.urandom(8).hex()
jwt_payload = {
'iss': amo_api_key,
'jti': amo_nonce,
'iat': datetime.datetime.utcnow(),
'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=15),
}
return 'JWT ' + jwt.encode(jwt_payload, amo_secret)
print('Ask AMO to sign self-hosted xpi package...')
with open(unsigned_xpi_filepath, 'rb') as f:
# https://blog.mozilla.org/addons/2019/11/11/security-improvements-in-amo-upload-tools/
# "We recommend allowing up to 15 minutes."
interval = 60 # check every 60 seconds
countdown = 60 * 60 / interval # for at most 60 minutes
headers = { 'Authorization': get_jwt_auth(), }
data = { 'channel': 'unlisted' }
files = { 'upload': f, }
signing_url = 'https://addons.mozilla.org/api/v4/addons/{0}/versions/{1}/'.format(extension_id, ext_version)
print('Submitting package to be signed...')
response = requests.put(signing_url, headers=headers, data=data, files=files)
if response.status_code != 202:
print('Error: Creating new version failed -- server error {0}'.format(response.status_code))
print(response.text)
exit(1)
print('Request for signing self-hosted xpi package succeeded.')
signing_request_response = response.json();
f.close()
print('Waiting for AMO to process the request to sign the self-hosted xpi package...')
# Wait for signed package to be ready
signing_check_url = signing_request_response['url']
while True:
time.sleep(interval)
sys.stdout.write('.')
sys.stdout.flush()
countdown -= 1
if countdown <= 0:
print('Error: AMO signing timed out')
exit(1)
headers = { 'Authorization': get_jwt_auth(), }
response = requests.get(signing_check_url, headers=headers)
if response.status_code != 200:
print('Error: AMO signing failed -- server error {0}'.format(response.status_code))
print(response.text)
exit(1)
signing_check_response = response.json()
if not signing_check_response['processed']:
continue
if not signing_check_response['valid']:
print('Error: AMO validation failed')
print(response.text)
exit(1)
if not signing_check_response['files'] or len(signing_check_response['files']) == 0:
continue
if not signing_check_response['files'][0]['signed']:
continue
if not signing_check_response['files'][0]['download_url']:
print('Error: AMO signing failed')
print(response.text)
exit(1)
print('\r')
print('Self-hosted xpi package successfully signed.')
download_url = signing_check_response['files'][0]['download_url']
print('Downloading signed self-hosted xpi package from {0}...'.format(download_url))
response = requests.get(download_url, headers=headers)
if response.status_code != 200:
print('Error: Download signed package failed -- server error {0}'.format(response.status_code))
print(response.text)
exit(1)
with open(signed_xpi_filepath, 'wb') as f:
f.write(response.content)
f.close()
print('Signed self-hosted xpi package downloaded.')
break
#
# Upload signed package to GitHub
#
# https://developer.github.com/v3/repos/releases/#upload-a-release-asset
print('Uploading signed self-hosted xpi package to GitHub...')
with open(signed_xpi_filepath, 'rb') as f:
url = release_info['upload_url'].replace('{?name,label}', '?name=' + signed_xpi_filename)
headers = {
'Authorization': github_auth,
'Content-Type': 'application/zip',
}
response = requests.post(url, headers=headers, data=f.read())
if response.status_code != 201:
print('Error: Upload signed package failed -- server error: {0}'.format(response.status_code))
exit(1)
#
# Remove raw package from GitHub
#
# https://developer.github.com/v3/repos/releases/#delete-a-release-asset
print('Remove raw xpi package from GitHub...')
headers = { 'Authorization': github_auth, }
response = requests.delete(raw_xpi_url, headers=headers)
if response.status_code != 204:
print('Error: Deletion of raw package failed -- server error: {0}'.format(response.status_code))
#
# Update updates.json to point to new package -- but only if just-signed
# package is higher version than current one.
#
# Be sure we are in sync with potentially modified files on remote
r = subprocess.run(['git', 'pull', 'origin', 'master'], stdout=subprocess.PIPE)
rout = bytes.decode(r.stdout).strip()
def int_from_version(version):
parts = version.split('.')
if len(parts) == 3:
parts.append('0')
return int(parts[0])*10e9 + int(parts[1])*10e6 + int(parts[2])*10e3 + int(parts[3])
print('Update GitHub to point to newly signed self-hosted xpi package...')
updates_json_filepath = os.path.join(projdir, 'dist', 'mv3', 'firefox', 'updates.json')
with open(updates_json_filepath) as f:
updates_json = json.load(f)
f.close()
previous_version = updates_json['addons'][extension_id]['updates'][0]['version']
if int_from_version(ext_version) > int_from_version(previous_version):
with open(os.path.join(projdir, 'dist', 'mv3', 'firefox', 'updates.template.json')) as f:
template_json = Template(f.read())
f.close()
updates_json = template_json.substitute(ext_version=ext_version, tag_version=tag_version, min_browser_version=min_browser_version)
with open(updates_json_filepath, 'w') as f:
f.write(updates_json)
f.close()
# - Stage the changed file
r = subprocess.run(['git', 'status', '-s', updates_json_filepath], stdout=subprocess.PIPE)
rout = bytes.decode(r.stdout).strip()
if len(rout) >= 2 and rout[1] == 'M':
subprocess.run(['git', 'add', updates_json_filepath])
# - Commit the staged file
r = subprocess.run(['git', 'status', '-s', updates_json_filepath], stdout=subprocess.PIPE)
rout = bytes.decode(r.stdout).strip()
if len(rout) >= 2 and rout[0] == 'M':
subprocess.run(['git', 'commit', '-m', 'Make Firefox dev build auto-update', updates_json_filepath])
subprocess.run(['git', 'push', 'origin', 'HEAD'])
print('All done.')

13
dist/mv3/firefox/updates.json vendored Normal file
View file

@ -0,0 +1,13 @@
{
"addons": {
"uBOLite@raymondhill.net": {
"updates": [
{
"version": "1.0.23.8125",
"browser_specific_settings": { "gecko": { "strict_min_version": "114.0" } },
"update_link": "https://github.com/gorhill/uBlock/releases/download/uBOLite_1.0.23.8125/uBOLite_1.0.23.8125.firefox.signed.mv3.xpi"
}
]
}
}
}

13
dist/mv3/firefox/updates.template.json vendored Normal file
View file

@ -0,0 +1,13 @@
{
"addons": {
"uBOLite@raymondhill.net": {
"updates": [
{
"version": "$ext_version",
"browser_specific_settings": { "gecko": { "strict_min_version": "$min_browser_version" } },
"update_link": "https://github.com/gorhill/uBlock/releases/download/$tag_version/$tag_version.firefox.signed.mv3.xpi"
}
]
}
}
}

2
dist/version vendored
View file

@ -1 +1 @@
1.70.0
1.65.1.5

177
package-lock.json generated
View file

@ -11,8 +11,8 @@
"devDependencies": {
"@eslint/compat": "^1.2.4",
"@eslint/js": "^9.17.0",
"@eslint/json": "^0.13.1",
"eslint": "^9.34.0",
"@eslint/json": "^0.9.0",
"eslint": "^9.17.0",
"eslint-formatter-compact": "^8.40.0",
"globals": "^15.14.0"
},
@ -22,9 +22,9 @@
}
},
"node_modules/@eslint-community/eslint-utils": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
"integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz",
"integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -64,16 +64,16 @@
}
},
"node_modules/@eslint/compat": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.3.2.tgz",
"integrity": "sha512-jRNwzTbd6p2Rw4sZ1CgWRS8YMtqG15YyZf7zvb6gY2rB2u6n+2Z+ELW0GtL0fQgyl0pr4Y/BzBfng/BdsereRA==",
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.2.4.tgz",
"integrity": "sha512-S8ZdQj/N69YAtuqFt7653jwcvuUj131+6qGLUyDqfDg1OIoBQ66OCuXC473YQfO2AaxITTutiRQiDwoo7ZLYyg==",
"dev": true,
"license": "Apache-2.0",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"peerDependencies": {
"eslint": "^8.40 || 9"
"eslint": "^9.10.0"
},
"peerDependenciesMeta": {
"eslint": {
@ -82,13 +82,13 @@
}
},
"node_modules/@eslint/config-array": {
"version": "0.21.0",
"resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz",
"integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==",
"version": "0.19.1",
"resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz",
"integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@eslint/object-schema": "^2.1.6",
"@eslint/object-schema": "^2.1.5",
"debug": "^4.3.1",
"minimatch": "^3.1.2"
},
@ -96,20 +96,10 @@
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
"node_modules/@eslint/config-helpers": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz",
"integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==",
"dev": true,
"license": "Apache-2.0",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
"node_modules/@eslint/core": {
"version": "0.15.2",
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz",
"integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==",
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.1.tgz",
"integrity": "sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@ -120,9 +110,9 @@
}
},
"node_modules/@eslint/eslintrc": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
"integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz",
"integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -157,38 +147,33 @@
}
},
"node_modules/@eslint/js": {
"version": "9.34.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.34.0.tgz",
"integrity": "sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==",
"version": "9.17.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz",
"integrity": "sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==",
"dev": true,
"license": "MIT",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://eslint.org/donate"
}
},
"node_modules/@eslint/json": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/@eslint/json/-/json-0.13.2.tgz",
"integrity": "sha512-yWLyRE18rHgHXhWigRpiyv1LDPkvWtC6oa7QHXW7YdP6gosJoq7BiLZW2yCs9U7zN7X4U3ZeOJjepA10XAOIMw==",
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/@eslint/json/-/json-0.9.0.tgz",
"integrity": "sha512-PTLD0Kp7+BKhTthodns+hFbuZZ+hjb3lc/iVAg7mtBAnW5hLJhkST9O4m21oMkxG94GR2+GGZQNNurG9KP8pNA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@eslint/core": "^0.15.2",
"@eslint/plugin-kit": "^0.3.5",
"@humanwhocodes/momoa": "^3.3.9",
"natural-compare": "^1.4.0"
"@eslint/plugin-kit": "^0.2.3",
"@humanwhocodes/momoa": "^3.3.4"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
"node_modules/@eslint/object-schema": {
"version": "2.1.6",
"resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
"integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz",
"integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@ -196,13 +181,12 @@
}
},
"node_modules/@eslint/plugin-kit": {
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz",
"integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==",
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz",
"integrity": "sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@eslint/core": "^0.15.2",
"levn": "^0.4.1"
},
"engines": {
@ -262,9 +246,9 @@
}
},
"node_modules/@humanwhocodes/momoa": {
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-3.3.9.tgz",
"integrity": "sha512-LHw6Op4bJb3/3KZgOgwflJx5zY9XOy0NU1NuyUFKGdTwHYmP+PbnQGCYQJ8NVNlulLfQish34b0VuUlLYP3AXA==",
"version": "3.3.6",
"resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-3.3.6.tgz",
"integrity": "sha512-7/sAGm3YsT6xG1bDkTSHvOpQB+cR4I2InfMVw110nuOCrxZvOQHgRqBMxSoTeUQrk9RS4OU9Aw2MBMZVJgLZMg==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@ -272,9 +256,9 @@
}
},
"node_modules/@humanwhocodes/retry": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
"integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz",
"integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@ -286,9 +270,9 @@
}
},
"node_modules/@types/estree": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
"integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
"dev": true,
"license": "MIT"
},
@ -300,9 +284,9 @@
"license": "MIT"
},
"node_modules/acorn": {
"version": "8.15.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"version": "8.14.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
"integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
"dev": true,
"license": "MIT",
"bin": {
@ -450,9 +434,9 @@
}
},
"node_modules/debug": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
"integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
"integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -488,23 +472,22 @@
}
},
"node_modules/eslint": {
"version": "9.34.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.34.0.tgz",
"integrity": "sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==",
"version": "9.17.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.17.0.tgz",
"integrity": "sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.12.1",
"@eslint/config-array": "^0.21.0",
"@eslint/config-helpers": "^0.3.1",
"@eslint/core": "^0.15.2",
"@eslint/eslintrc": "^3.3.1",
"@eslint/js": "9.34.0",
"@eslint/plugin-kit": "^0.3.5",
"@eslint/config-array": "^0.19.0",
"@eslint/core": "^0.9.0",
"@eslint/eslintrc": "^3.2.0",
"@eslint/js": "9.17.0",
"@eslint/plugin-kit": "^0.2.3",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.4.2",
"@humanwhocodes/retry": "^0.4.1",
"@types/estree": "^1.0.6",
"@types/json-schema": "^7.0.15",
"ajv": "^6.12.4",
@ -512,9 +495,9 @@
"cross-spawn": "^7.0.6",
"debug": "^4.3.2",
"escape-string-regexp": "^4.0.0",
"eslint-scope": "^8.4.0",
"eslint-visitor-keys": "^4.2.1",
"espree": "^10.4.0",
"eslint-scope": "^8.2.0",
"eslint-visitor-keys": "^4.2.0",
"espree": "^10.3.0",
"esquery": "^1.5.0",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
@ -559,9 +542,9 @@
}
},
"node_modules/eslint-scope": {
"version": "8.4.0",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
"integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==",
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz",
"integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
@ -576,9 +559,9 @@
}
},
"node_modules/eslint-visitor-keys": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
"integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
"integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@ -589,15 +572,15 @@
}
},
"node_modules/espree": {
"version": "10.4.0",
"resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
"integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
"version": "10.3.0",
"resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz",
"integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"acorn": "^8.15.0",
"acorn": "^8.14.0",
"acorn-jsx": "^5.3.2",
"eslint-visitor-keys": "^4.2.1"
"eslint-visitor-keys": "^4.2.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@ -718,9 +701,9 @@
}
},
"node_modules/flatted": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
"integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz",
"integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==",
"dev": true,
"license": "ISC"
},
@ -738,9 +721,9 @@
}
},
"node_modules/globals": {
"version": "15.15.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
"version": "15.14.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz",
"integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==",
"dev": true,
"license": "MIT",
"engines": {
@ -771,9 +754,9 @@
}
},
"node_modules/import-fresh": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
"integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
"integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
"license": "MIT",
"dependencies": {

View file

@ -2,7 +2,6 @@
"name": "uBlock",
"version": "1.0.0",
"description": "npm dev tools",
"type": "module",
"scripts": {
"lint": "eslint --no-warn-ignored --ignore-pattern \"**/lib/\" --ignore-pattern \"**/npm/\" -- \"./src/js/*.js\" \"./src/js/**/*.js\" \"./**/*.json\" \"./platform/**/*.js\"",
"test": "echo \"Error: no test specified\" && exit 1"
@ -22,10 +21,10 @@
"npm": ">=11"
},
"devDependencies": {
"eslint": "^9.17.0",
"@eslint/compat": "^1.2.4",
"@eslint/js": "^9.17.0",
"@eslint/json": "^0.13.1",
"eslint": "^9.34.0",
"@eslint/json": "^0.9.0",
"eslint-formatter-compact": "^8.40.0",
"globals": "^15.14.0"
}

View file

@ -48,7 +48,7 @@ vAPI.supportsUserStylesheets = vAPI.webextFlavor.soup.has('user_stylesheet');
vAPI.app = {
name: manifest.name.replace(/ dev\w+ build/, ''),
version: (( ) => {
let version = manifest.version_name || manifest.version;
let version = manifest.version;
const match = /(\d+\.\d+\.\d+)(?:\.(\d+))?/.exec(version);
if ( match && match[2] ) {
const v = parseInt(match[2], 10);

View file

@ -166,9 +166,7 @@ vAPI.webextFlavor = {
soup.add('ipaddress');
// Whether this is a dev build.
const manifest = browser.runtime.getManifest();
const version = manifest.version_name || manifest.version;
if ( /^\d+\.\d+\.\d+\D/.test(version) ) {
if ( /^\d+\.\d+\.\d+\D/.test(browser.runtime.getManifest().version) ) {
soup.add('devbuild');
}
@ -180,11 +178,8 @@ vAPI.webextFlavor = {
soup.add('native_css_has');
}
const extensionOrigin = browser.runtime.getURL('');
// Order of tests is important
flavor.isGecko = extensionOrigin.startsWith('moz-extension://');
if ( flavor.isGecko ) {
if ( browser.runtime.getURL('').startsWith('moz-extension://') ) {
soup.add('firefox')
.add('user_stylesheet')
.add('html_filtering');

View file

@ -17,13 +17,10 @@
"browser_specific_settings": {
"gecko": {
"id": "uBlock0@raymondhill.net",
"strict_min_version": "115.0",
"data_collection_permissions": {
"required": [ "none" ]
}
"strict_min_version": "92.0"
},
"gecko_android": {
"strict_min_version": "115.0"
"strict_min_version": "92.0"
}
},
"commands": {

View file

@ -21,7 +21,7 @@ Upon completion of the script, the resulting extension package will become prese
The folder `dist/build/mv3-data` will cache data fetched from remote servers, so as to avoid fetching repeatedly from remote servers with repeated build commands. Use `make cleanassets` to remove all locally cached filter lists if you want to build with latest versions of filter lists.
The file `dist/build/uBOLite.[platform]/log.txt` will contain information about what happened during the build process.
The file `dist/build/mv3-data/log.txt` will contain information about what happened during the build process.
The entry in the `Makefile` which implement the build process is `tools/make-mv3.sh [platform]`.[1] This Bash script copy various files from uBlock Origin branch and MV3-specific branch into a single folder which will be the final extension package.

View file

@ -29,7 +29,6 @@
"host_permissions": [
"<all_urls>"
],
"incognito": "split",
"icons": {
"16": "img/icon_16.png",
"32": "img/icon_32.png",

View file

@ -1,12 +1,12 @@
uBO Lite (uBOL) je blokator sadržaja baziran na MV3.
uBO Lite (uBOL) is an MV3-based content blocker.
Zadani skup pravila odgovara zadanom skupu filtera uBlock Origin:
- UBlock Origin ugrađene liste filtera
- EasyList
- EasyPrivacy
- Peter Lowe-ova lista servera za oglase i praćenje
- Oglas Peter Lowe i lista servera za praćenje
Možete omogućiti više skupova pravila posjetom stranice s opcijama -- kliknite na ikonu _Cogs_ u skočnom panelu.
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
uBOL je potpuno deklarativno, što znači da nema potrebe za trajnim uBOL procesom da bi se filtriranje dogodilo, a filtriranje sadržaja zasnovano na CSS/JS injekcijama se pouzdano izvodi od strane samog pretraživača, a ne ekstenzije. To znači da sam uBOL ne troši CPU/memorijske resurse dok je blokiranje sadržaja u toku -- proces uBOL-a servisnog radnika je potreban _samo_ kada stupite u interakciju sa iskačućim panelom ili stranicama sa opcijama.

View file

@ -1,12 +1,12 @@
uBO Lite (uBOL) je blokovač obsahu založený na MV3.
Výchozí sada pravidel odpovídá výchozím sadám filtrů uBlock Origin:
Výchozí sada pravidel koresponduje k výchozím sadám filtrů uBlock Origin:
- Vestavěný seznam filtrů uBlock Origin
- EasyList
- EasyPrivacy
- Seznam reklamních a sledovacích serverů Petera Lowea
- Peter Lowes Ad and tracking server list
Další sady pravidel můžete povolit na stránce nastavení - klepněte na ikonu _Ozubeného kolečka_ ve vyskakovacím panelu.
Další sady pravidel můžete povolit na stránce nastavení - klikně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 _jen_ 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 _pouze_ při interakci s vyskakovacím panelem nebo stránkami nastavení.

View file

@ -1,12 +1,12 @@
Το uBO Lite (uBOL) είναι εργαλείο φραγής περιεχομένου βασισμένο στο MV3.
Το uBO Lite (uBOL) είναι εργαλείο φραγής περιεχομένου, που βασίζεται στο MV3.
Το προεπιλεγμένο σύνολο κανόνων αντιστοιχεί στο προεπιλεγμένο σύνολο φίλτρων του uBlock Origin:
- Οι ενσωματωμένες λίστες φίλτρων του uBlock Origin
- EasyList
- EasyPrivacy
- Η λίστα server διαφημίσεων και παρακολούθησης του Peter Lowe
- Peter Lowes Ad and tracking server list
Μπορείτε να προσθέσετε περισσότερα σύνολα κανόνων από τη σελίδα επιλογών -- κάντε κλικ στο εικονίδιο _γρανάζι_ στον αναδυόμενο πίνακα.
Το uBOL είναι εξ'ολοκλήρου δηλωτικό, πράγμα που σημαίνει ότι δεν υπάρχει ανάγκη για μόνιμη διεργασία uBOL για να πραγματοποιηθεί το φιλτράρισμα, και το φιλτράρισμα περιεχομένου που βασίζεται σε έγχυση CSS/JS εκτελείται αξιόπιστα από το ίδιο το πρόγραμμα περιήγησης αντί για την επέκταση. Αυτό σημαίνει ότι το ίδιο το uBOL δεν καταναλώνει πόρους CPU/μνήμης όσο ο αποκλεισμός περιεχομένου είναι σε εξέλιξη -- η διεργασία του service worker του uBOL απαιτείται _μόνο_ όταν αλληλεπιδράτε με τον αναδυόμενο πίνακα ή τις σελίδες επιλογών.
Το uBOL είναι εξ'ολοκλήρου δηλωτικό, πράγμα που σημαίνει ότι δεν υπάρχει ανάγκη για μόνιμη διαδικασία uBOL για να πραγματοποιηθεί το φιλτράρισμα, και το φιλτράρισμα περιεχομένου που βασίζεται σε έγχυση CSS/JS εκτελείται αξιόπιστα από το ίδιο το πρόγραμμα περιήγησης και όχι από την επέκταση. Αυτό σημαίνει ότι το ίδιο το uBOL δεν καταναλώνει πόρους CPU/μνήμης ενώ ο αποκλεισμός περιεχομένου είναι σε εξέλιξη -- η διαδικασία του service worker του uBOL απαιτείται _μόνο_ όταν αλληλεπιδράτε με τον αναδυόμενο πίνακα ή τις σελίδες επιλογών.

View file

@ -1,4 +1,4 @@
uBO Lite (uBOL) הוא חוסם תוכן מבוסס MV3.
uBO Lite (uBOL) is an MV3-based content blocker.
ערכת הכללים ברירת מחדל שמתכתבת עם ערכת המסננים של uBlock Origin:

View file

@ -1,4 +1,4 @@
A uBO Lite (uBOL) egy MV3-alapú tartalomblokkoló.
A uBO Lite (uBOL) egy *engedélyt nem igénylő* MV3-alapú tartalomblokkoló.
Az alapértelmezett szabálykészlet megfelel a uBlock Origin alapértelmezett szűrőkészletének:

View file

@ -9,4 +9,4 @@ uBO Lite (uBOL)는 MV3 기반 콘텐츠 차단기입니다.
설정 페이지에서 규칙 목록을 더 활성화할 수 있습니다. 팝업 창의 _Cogs_ 아이콘을 누르세요.
uBOL은 완전히 선언적이라 필터링 중 영구적으로 실행되는 uBOL 프로세스를 필요로 하지 않으며, CSS/JS 주입 기반 콘텐츠 필터링이 확장 프로그램이 아닌 브라우저 자체에서 더욱 안정적으로 동작합니다. 이는 콘텐츠 차단이 진행되는 동안 uBOL 자체는 CPU나 메모리 자원을 소모하지 않음을 의미합니다. uBOL의 서비스 워커 프로세스는 팝업 창이나 설정을 사용할 때만 실행됩니다.
uBOL은 완전히 선언적이라 필터링 중 영구적으로 실행되는 uBOL 프로세스를 필요로 하지 않으며, CSS/JS 주입 기반 콘텐츠 필터링이 확장 프로그램이 아닌 브라우저 자체에서 더욱 안정적으로 동작합니다. 즉 uBOL 자체는 콘텐츠 차단을 하는 동안 CPU/메모리 리소스를 소비하지 않습니다. uBOL 서비스워커 프로세스는 사용자가 팝업 창이나 설정을 열었을 _때에만_ 동작합니다.

View file

@ -1,4 +1,4 @@
uBO Lite (uBOL) is een op MV3 gebaseerde inhoudsblokker.
uBO Lite (uBOL) is een op MV3 gebaseerde inhoudsblokkeerder.
De standaard regelset komt overeen met de standaard filterset van uBlock Origin:

View file

@ -1,4 +1,4 @@
uBO Lite (uBOL) ਇੱਕ MV3-ਅਧਾਰਿਤ ਸਮੱਗਰੀ ਬਲਾਕਰ ਹੈ।
uBO Lite (uBOL) is an MV3-based content blocker.
ਮੂਲ ਨਿਯਮ-ਸਮੂਹ uBlock Origin ਦੇ ਮੂਲ ਫਿਲਟਰ-ਸਮੂਹ ਨਾਲ ਸੰਬੰਧਿਤ ਹੈ:

View file

@ -9,4 +9,4 @@ uBO Lite (uBOL) 是一個基於 MV3 的內容封鎖器。
您可以前往選項頁面(按下彈出面板的 **齒輪** 按鈕)啟用更多規則集。
uBOL 是完全宣告式的,意即過濾過程中不需要持續性的 uBOL 處理程序參與,且以 CSS/JS 注入為基礎的內容過濾由可靠的瀏覽器,而非擴充功能執行。 這就代表 uBOL 在內容阻擋過程不會佔用 CPU 和記憶體資源——除了和彈出面板或選項頁面互動的場景外,都不需要 uBOL 的 Service Worker 程序。
uBOL 是完全宣告式的,意即過濾過程中不需要持續性的 uBOL 處理程序參與,且以 CSS/JS 注入為基礎的內容過濾由可靠的瀏覽器執行,而非擴充功能。 這就代表 uBOL 在內容阻擋過程不會佔用 CPU 和記憶體資源——除了和彈出面板或選項頁面互動的場景外,都不需要 uBOL 的 Service Worker 程序。

View file

@ -1,38 +0,0 @@
/*******************************************************************************
uBlock Origin - a comprehensive, efficient content blocker
Copyright (C) 2025-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
*/
function patchRule(rule, out) {
const { condition } = rule;
if ( Array.isArray(condition.responseHeaders) ) {
if ( condition.regexFilter === undefined ) { return; }
}
out.push(rule);
return rule;
}
export function patchRuleset(ruleset) {
const out = [];
for ( const rule of ruleset ) {
if ( patchRule(rule, out) ) { continue; }
console.log(`\tReject ${JSON.stringify(rule)}`);
}
return out;
}

View file

@ -4,11 +4,11 @@
"description": "extension name."
},
"extShortDesc": {
"message": "أداة فعالة لحجب المحتوى. تحجب الإعلانات والمتتبعين والمعدنين وغير ذلك فور تثبيتها.",
"message": "أداة لحظر المحتوى دون إذن. يحظر الإعلانات وأدوات التتبع وأدوات التعدين وغيرها فور التثبيت.",
"description": "this will be in the Chrome web store: must be 132 characters or less"
},
"perRulesetStats": {
"message": "{{ruleCount}} قواعد، محولة من {{filterCount}} فلاتر الشبكة",
"message": "{{ruleCount}} قواعد، محولة من {{filterCount}} مرشحات الشبكة",
"description": "Appears aside each filter list in the _3rd-party filters_ pane"
},
"dashboardName": {
@ -19,10 +19,6 @@
"message": "الإعدادات",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "فلاتر مخصصة",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "تطوير",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -72,7 +68,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": {
@ -87,20 +83,12 @@
"message": "المناطق واللغات",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "استيراد / تصدير",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "الصق هنا فلاتر تجميلية محددة لإضافتها",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "سجل التغييرات",
"description": ""
},
"aboutCode": {
"message": "كود المصدر (GPLv3)",
"message": "شفرة المصدر (GPLv3)",
"description": "English: Source code (GPLv3)"
},
"aboutContributors": {
@ -108,7 +96,7 @@
"description": "English: Contributors"
},
"aboutSourceCode": {
"message": "كود المصدر",
"message": "شيفرة المصدر",
"description": "Link text to source code repo"
},
"aboutTranslations": {
@ -116,7 +104,7 @@
"description": "Link text to translations repo"
},
"aboutFilterLists": {
"message": "قوائم الفلاتر",
"message": "قوائم التصفية",
"description": "Link text to uBO's own filter lists repo"
},
"aboutDependencies": {
@ -124,11 +112,11 @@
"description": "Shown in the About pane"
},
"supportS6H": {
"message": "الإبلاغ عن مشكلة في الفلاتر",
"message": "الإبلاغ عن مشكلة في عوامل التصفية",
"description": "Header of 'Report a filter issue' section in Support pane"
},
"supportS3P1": {
"message": "الإبلاغ عن مشكلات التصفية الخاصة بمواقع الويب المحددة إلى<span data-url=\"https://github.com/uBlockOrigin/uAssets/issues?q=is%3Aissue\">uBlockOrigin/uAssets</code></span>متتبع المشكلة</span>يتطلب حساب GitHub</u>",
"message": "الإبلاغ عن مشكلات الفلترة الخاصة بمواقع الويب المحددة إلى<span data-url=\"https://github.com/uBlockOrigin/uAssets/issues?q=is%3Aissue\">uBlockOrigin/uAssets</code></span>متتبع المشكلة</span>يتطلب حساب GitHub</u>",
"description": "First paragraph of 'Filter issues' section in Support pane"
},
"supportS5H": {
@ -136,7 +124,7 @@
"description": "Label of 'Troubleshooting information' section in 'Report a filter issue' page"
},
"supportS6P1S1": {
"message": "لتجنب تحميل المتطوعين بتقارير مكررة، يرجى التأكد من أن المشكلة لم يتم الإبلاغ عنها بالفعل. ملحوظة: النقر على الزر سيؤدي إلى إرسال أصل الصفحة إلى موقع GitHub.",
"message": "لتجنب تحميل المتطوعين بتقارير مكررة، يرجى التأكد من أن المشكلة لم يتم الإبلاغ عنها بالفعل.",
"description": "A paragraph in the filter issue reporter section"
},
"supportFindSpecificButton": {
@ -144,11 +132,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "عنوان صفحة الويب:",
"message": "عنوان صفحة الويب",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "صفحة الويب",
"message": "صفحة الويب...",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@ -160,7 +148,7 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option2": {
"message": "يحتوي على تراكبات أو إزعاجات أخرى",
"message": "يحتوي على تراكبات أو إزعاجات أخرى.",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option3": {
@ -172,15 +160,15 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option5": {
"message": "تعطل عند تفعيل uBO Lite",
"message": "تعطل عند تفعيل uBO Lite.",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option6": {
"message": "يفتح علامات تبويب أو نوافذ غير مرغوب فيها",
"message": "يفتح علامات تبويب أو نوافذ غير مرغوب فيها.",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option7": {
"message": "يؤدي إلى برامج ضارة وتصيد احتيالي",
"message": "يؤدي إلى البرامج الضارة والإحتيال",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
@ -188,15 +176,15 @@
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "إنشاء تقرير جديد علي GitHub",
"description": "Text for button which opens an external web page in Support pane"
"message": "إنشاء تقرير جديد",
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "وضع التصفية الافتراضي",
"description": "The header text for the default filtering mode section"
},
"defaultFilteringModeDescription": {
"message": "سيتم تجاوز وضع التصفية الافتراضي بواسطة أوضاع التصفية الخاصة بكل موقع ويب. يمكنك ضبط وضع التصفية على أي موقع ويب وفقًا للوضع الذي يعمل بشكل أفضل على ذلك الموقع. لكل وضع مزاياه وعيوبه.",
"message": "سيتم تجاوز وضع التصفية الافتراضي بواسطة أوضاع التصفية لكل موقع ويب. يمكنك ضبط وضع التصفية على أي موقع ويب معين وفقًا للوضع الذي يعمل بشكل أفضل على موقع الويب هذا. كل وضع له مزاياه وعيوبه.",
"description": "This describes the default filtering mode setting"
},
"filteringMode0Name": {
@ -228,11 +216,11 @@
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
"message": "قائمة المواقع الإلكترونية التي لن يتم تصفية محتواها.",
"message": "قائمة بأسماء المضيفين التي لن تتم أي تصفية لها",
"description": "A short description for the editable field which lists trusted sites"
},
"noFilteringModePlaceholder": {
"message": "[أسماء النطاقات الرئيسية فقط]\nexample.com\ngames.example\n...",
"message": "[أسماء النطاقات الرئيسية فقط]\nexample.com\ngames.example",
"description": "Default text for in edit field"
},
"behaviorSectionLabel": {
@ -252,7 +240,7 @@
"description": "Label for a checkbox in the options page"
},
"enableStrictBlockLegend": {
"message": "سيتم حظر الانتقال إلى المواقع غير المرغوب فيها، وسيُعرض عليك خيار المتابعة.",
"message": "سيتم حظر التنقل إلى المواقع غير المرغوب فيها، وسيتم تقديم خيار لك للمتابعة.",
"description": "Short description for a checkbox in the options page"
},
"developerModeLabel": {
@ -260,28 +248,16 @@
"description": "Label for a checkbox in the options page"
},
"developerModeLegend": {
"message": تيح الوصول إلى الميزات المناسبة للمستخدمين التقنيين.",
"message": مكن الوصول إلى الميزات المناسبة للمستخدمين التقنيين.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "النسخ الاحتياطي",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "قم بنسخ الإعدادات المخصصة احتياطيًا إلى ملف، أو استعادة الإعدادات المخصصة من ملف.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "ستؤدي عملية الاستعادة إلى استبدال جميع إعداداتك المخصصة الحالية.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "البحث عن القوائم",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "الصفحة محجوبة",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "لقد منع uBO Lite تحميل الصفحة التالية:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "رجوع",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "إغلاق هذه النافذة",
@ -316,11 +292,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": {
@ -363,34 +339,14 @@
"message": "إرجاع",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "أضِف",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "استيراد وإلحاق…",
"message": "استيراد واضافة…",
"description": "Text for buttons used to import and append content"
},
"exportButton": {
"message": "تصدير",
"message": "تصدير...",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "نسخ احتياطي…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "استعادة…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "إعادة تعيين إلى الإعدادات الافتراضية…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"message": "سيتم حذف جميع إعداداتك المخصصة. هل تريد حقاً إعادة ضبط الإعدادات إلى الوضع الافتراضي؟",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "لا تضف محتوى من مصادر غير موثوقة",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Tənzimləmələr",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Bölgələr, dillər",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Dəyişikliklər siyahısı",
"description": ""
@ -144,11 +132,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Address of the web page:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "The web page…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@ -224,7 +212,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 web page 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 webpage resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Налады",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Уласныя фільтры",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Распрацоўка",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Рэгіёны, мовы",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Імпартаваць/экспартаваць",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Журнал змяненняў",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Стварыць новую справаздачу",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Прадвызначаны рэжым фільтравання",
@ -263,25 +251,13 @@
"message": "Забяспечвае доступ да функцый, прыдатным для тэхнічных карыстальнікаў.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Рэзервовая копія",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Стварыць рэзервовую копію ўласных налад у файл або аднавіць уласныя налады з файла.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Аднаўленне перазапіша ўсе вашыя бягучыя ўласныя налады.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Знайсці спісы",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Старонка заблакаваная",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite папярэдзіў чытанне наступнай старонкі:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Вярнуцца",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Закрыць гэтае акно",
@ -363,10 +339,6 @@
"message": "Вярнуць",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Дадаць",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Імпартаваць ды дадаць…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Экспартаваць…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Стварыць копію…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Аднавіць…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Не дадавайце кантэнт з ненадзейных крыніц",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Настройки",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Персонализирани филтри",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Разработка",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -72,7 +68,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": {
@ -87,14 +83,6 @@
"message": "Региони, езици",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Импортиране / експортиране",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Поставете тук конкретни козметични филтри, които искате да добавите",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Списък с промени",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Създаване на нов доклад",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Режим на филтриране по подразбиране",
@ -263,25 +251,13 @@
"message": "Активиране на достъпа до функции, подходящи за технически потребители.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Архивиране",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Архивирайте персонализираните си настройки във файл или ги възстановете от файл.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Възстановяването ще презапише всичките ви текущи персонализирани настройки.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Намиране на списъци",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Страницата е блокирана",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite попречи на зареждането на следната страница:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Назад",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Затворяне на прозореца",
@ -363,10 +339,6 @@
"message": "Връщане",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Добавяне",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Импортиране и добавяне…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Експортиране…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Архивиране…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Възстановяване…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Възстановяване на първоначалните настройки…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"message": "Всички ваши персонализирани настройки ще бъдат премахнати. Наистина ли искате да възстановите фабричните настройки?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Не добавяйте съдържание от ненадеждни източници",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "সেটিংস",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "অঞ্চল, ভাষা",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "পরিবর্তনসূচি",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "নতুন অভিযোগ",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "ডিফল্ট ফিল্টারিং মোড",
@ -263,25 +251,13 @@
"message": "প্রযুক্তিগত ব্যবহারকারীদের জন্য উপযুক্ত বৈশিষ্ট্যগুলিতে অ্যাক্সেস সক্ষম করুন",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "তালিকা খুঁজো",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "পাতা অবরুদ্ধ",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "ইউবিও লাইট এই পাতা লোড হওয়া আটকিয়েছে:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "ফিরে যাও",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "জানালা বন্ধ করো",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Arventennoù",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Siloù personelaet",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Diorren",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -72,7 +68,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
"message": "Gwarez a-enep ar malware ha surentez",
"message": "Malware protection, security",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@ -87,14 +83,6 @@
"message": "Rannvroioù, broioù",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Enporzhiañ / Ezporzhiañ",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Eilañ amañ ar siloù kenedel resis da ouzhpennañ",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Deizlevr ar cheñchamantoù",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Sevel ur rentañ-kont nevez",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Mod silañ dre ziouer",
@ -263,25 +251,13 @@
"message": "Gweredekaat a ra ar fonksionelezhioù azasaet d'an implijerien deknikel.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Gwared",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Ar gwared a erlec'hio an holl arventennoù personelaet a-vremañ.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Kavout rolloù",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Pajenn stanket",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite en deus miret ar bajenn-mañ da gargañ:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Distreiñ",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Serriñ ar prenestr-mañ",
@ -363,10 +339,6 @@
"message": "Nullañ",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Ouzhpennañ",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Enporzhiañ hag ouzhpennañ",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Ezporzhiañ",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Gwarediñ…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Adsevel…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Adlakaat an arventennoù dre ziouer…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"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": {
"message": "Arabat ouzhpennañ danvez a zeu diouzh mammennoù douetus.",
"description": "Short description of the DNR rules editor pane"

View file

@ -4,7 +4,7 @@
"description": "extension name."
},
"extShortDesc": {
"message": "Efikasno blokator sadržaja. Blokira oglase, trackere, rudare i još mnogo toga odmah nakon instalacije.",
"message": "Eksperimentalni blokator sadržaja bez dopuštenja. Blokira oglase, trakere za praćenje, \"rudare\" kovanica kripto valute i još [...]",
"description": "this will be in the Chrome web store: must be 132 characters or less"
},
"perRulesetStats": {
@ -19,12 +19,8 @@
"message": "Postavke",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Prilagođeni filteri",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Razvoj",
"message": "Develop",
"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": {
@ -40,11 +36,11 @@
"description": "Label in the popup panel for the current filtering mode"
},
"popupLocalToolsLabel": {
"message": "Na ovoj web stranici",
"message": "On this website",
"description": "Label in the popup panel for the local tools section"
},
"popupTipReport": {
"message": "Prijavi problem",
"message": "Report an issue",
"description": "Tooltip used for the 'chat' icon in the panel"
},
"popupTipDashboard": {
@ -87,14 +83,6 @@
"message": "Regije, jezici",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Uvezi / Izvezi",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Ovdje zalijepite određene kozmetičke filtere koje želite dodati",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Dnevnik izmjena",
"description": ""
@ -124,72 +112,72 @@
"description": "Shown in the About pane"
},
"supportS6H": {
"message": "Prijavi problem s filterom",
"message": "Report a filter issue",
"description": "Header of 'Report a filter issue' section in Support pane"
},
"supportS3P1": {
"message": "Prijavite probleme s filterima na određenim web stranicama <span data-url=\"https://github.com/uBlockOrigin/uAssets/issues?q=is%3Aissue\"><code>uBlockOrigin/uAssets</code> sistemu za praćenje problema</span> . <u>Potreban je GitHub račun.</u>",
"message": "Report filter issues with specific websites to the <span data-url=\"https://github.com/uBlockOrigin/uAssets/issues?q=is%3Aissue\"><code>uBlockOrigin/uAssets</code> issue tracker</span>. <u>Requires a GitHub account.</u>",
"description": "First paragraph of 'Filter issues' section in Support pane"
},
"supportS5H": {
"message": "Informacije o rješavanju problema",
"message": "Troubleshooting information",
"description": "Label of 'Troubleshooting information' section in 'Report a filter issue' page"
},
"supportS6P1S1": {
"message": "Kako biste izbjegli opterećivanje volontera duplim prijavama, molimo vas da provjerite da problem već nije prijavljen. <b>Napomena:</b> klikom na dugme, porijeklo stranice će biti poslano GitHubu.",
"message": "To avoid burdening volunteers with duplicate reports, please verify that the issue has not already been reported. <b>Note:</b> clicking the button will cause the page's origin to be sent to GitHub.",
"description": "A paragraph in the filter issue reporter section"
},
"supportFindSpecificButton": {
"message": "Pronađite slične izvještaje na GitHubu",
"message": "Find similar reports on GitHub",
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Adresa web stranice:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "Web stranica…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
"message": "-- Odaberite unos --",
"message": "-- Pick an entry --",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option1": {
"message": "Prikazuje oglase ili ostatke oglasa",
"message": "Shows ads or ad leftovers",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option2": {
"message": "Ima prekrivajuće slojeve ili druge smetnje",
"message": "Has overlays or other nuisances",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option3": {
"message": "Detektira uBO Lite",
"message": "Detects uBO Lite",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option4": {
"message": "Ima problema s privatnošću",
"message": "Has privacy-related issues",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option5": {
"message": "Kvarovi kada je uBO Lite omogućen",
"message": "Malfunctions when uBO Lite is enabled",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option6": {
"message": "Otvara neželjene kartice ili prozore",
"message": "Opens unwanted tabs or windows",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option7": {
"message": "Vodi do zlonamjernog softvera i phishinga",
"message": "Leads to badware, phishing",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Označite web stranicu kao \"NSFW\" ( <a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">\"Nije sigurno za rad\"</a> )",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Kreiraj novi izvještaj na GitHubu",
"description": "Text for button which opens an external web page in Support pane"
"message": "Create new report on GitHub",
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Zadani način filtriranja",
@ -216,7 +204,7 @@
"description": "Name of blocking mode 3"
},
"basicFilteringModeDescription": {
"message": "Osnovno filtriranje mreže iz odabranih lista filtera.\n\nNe zahtijeva dozvolu za čitanje i izmjenu podataka na web stranicama.",
"message": " Osnovno mrežno filtriranje sa odabranih lista filtera.\n\nNe zahtijeva dozvolu za čitanje i modificiranje podataka na web stranicama.",
"description": "This describes the 'basic' filtering mode"
},
"optimalFilteringModeDescription": {
@ -228,11 +216,11 @@
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
"message": "Lista web stranica za koje se neće vršiti filtriranje.",
"message": "Lista imena hostova za koja se neće vršiti filtriranje",
"description": "A short description for the editable field which lists trusted sites"
},
"noFilteringModePlaceholder": {
"message": "[samo imena hostova]\nexample.com\ngames.example\n...",
"message": "[hostnames only]\nexample.com\ngames.example\n...",
"description": "Default text for in edit field"
},
"behaviorSectionLabel": {
@ -248,175 +236,143 @@
"description": "Label for a checkbox in the options page"
},
"enableStrictBlockLabel": {
"message": "Omogući strogo blokiranje",
"message": "Enable strict blocking",
"description": "Label for a checkbox in the options page"
},
"enableStrictBlockLegend": {
"message": "Navigacija do potencijalno neželjenih stranica bit će blokirana i bit će vam ponuđena mogućnost da nastavite.",
"message": "Navigation to potentially undesirable sites will be blocked, and you will be offered the option to proceed.",
"description": "Short description for a checkbox in the options page"
},
"developerModeLabel": {
"message": "Režim za razvojne programere",
"message": "Developer mode",
"description": "Label for a checkbox in the options page"
},
"developerModeLegend": {
"message": "Omogućava pristup funkcijama pogodnim za tehničke korisnike.",
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Napravite rezervnu kopiju",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Napravite sigurnosnu kopiju prilagođenih postavki u datoteku ili ih vratite iz datoteke.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Vraćanje će prepisati sve vaše trenutne prilagođene postavke.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Pronađi liste",
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Stranica je blokirana",
"description": "Web page title for the strict-blocked page"
"message": "Page blocked",
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite je spriječio učitavanje sljedeće stranice:",
"message": "uBO Lite has prevented the following page from loading:",
"description": "Sentence used in the strict-blocked page"
},
"strictblockReasonSentence1": {
"message": "Stranica je blokirana zbog odgovarajućeg filtera u {{listname}}.",
"message": "The page was blocked because of a matching filter in {{listname}}.",
"description": "Text informing about what is causing the page to be blocked"
},
"strictblockRedirectSentence1": {
"message": "Blokirana stranica želi preusmjeriti na drugu stranicu. Ako odlučite nastaviti, bit ćete direktno na: {{url}}",
"message": "The blocked page wants to redirect to another site. If you choose to proceed, you will navigate directly to: {{url}}",
"description": "Text warning about an incoming redirect"
},
"strictblockNoParamsPrompt": {
"message": "bez parametara",
"message": "without parameters",
"description": "Label to be used for the parameter-less URL"
},
"strictblockBack": {
"message": "Nazad",
"description": "A button to go back to the previous web page"
"message": "Go back",
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Zatvori ovaj prozor",
"message": "Close this window",
"description": "A button to close the current tab"
},
"strictblockDontWarn": {
"message": "Ne upozoravaj me više o ovoj stranici",
"message": "Don't warn me again about this site",
"description": "Label for checkbox in document-blocked page"
},
"strictblockProceed": {
"message": "Nastavite",
"message": "Proceed",
"description": "A button to navigate to the blocked page"
},
"zapperTipEnter": {
"message": "Ukloni element",
"message": "Remove an element",
"description": "Tooltip for the button used to enter zapper mode"
},
"zapperTipQuit": {
"message": "Izlaz iz načina rada za zatvaranje elemenata",
"message": "Exit element zapper mode",
"description": "Tooltip for the button used to exit zapper mode"
},
"pickerTipEnter": {
"message": "Kreirajte prilagođeni filter",
"message": "Create a custom filter",
"description": "Label for the menu entry to create cosmetic filters"
},
"unpickerTipEnter": {
"message": "Uklonite prilagođeni filter",
"message": "Remove a custom filter",
"description": "Label for the menu entry to delete cosmetic filters"
},
"developDropdownLabel": {
"message": "Prikaz:",
"message": "View:",
"description": "A label of a dropdown list"
},
"developOptionFilteringModeDetails": {
"message": "Detalji načina filtriranja",
"message": "Filtering mode details",
"description": "An option in a dropdown list"
},
"developOptionCustomDnrRules": {
"message": "Prilagođena pravila DNR-a",
"message": "Custom DNR rules",
"description": "An option in a dropdown list"
},
"developOptionDnrRulesOf": {
"message": "DNR pravila …",
"message": "DNR rules of …",
"description": "A section header in a dropdown list"
},
"developOptionDynamicRuleset": {
"message": "Dinamički skup pravila",
"message": "Dynamic ruleset",
"description": "An option in a dropdown list"
},
"developOptionSessionRuleset": {
"message": "Skup pravila sesije",
"message": "Session ruleset",
"description": "An option in a dropdown list"
},
"saveButton": {
"message": "Sačuvaj",
"message": "Save",
"description": "Text for buttons used to save changes"
},
"revertButton": {
"message": "Vrati",
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Dodajte",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Uvezi i dodaj…",
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
},
"exportButton": {
"message": "Izvoz…",
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Napravite rezervnu kopiju…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Vratite rezervnu kopiju…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Ne dodavajte sadržaj iz nepouzdanih izvora",
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
},
"dnrRulesCountInfo": {
"message": "Broj registrovanih pravila: {count}",
"message": "Number of registered rules: {count}",
"description": "Short sentence to report the number of currently registered DNR rules"
},
"pickerSliderLabel": {
"message": "Pomaknite klizač da biste odabrali najbolje podudaranje",
"message": "Move the slider to select the best match",
"description": "Label to describe the purpose of the slider"
},
"pickerPick": {
"message": "Odaberite",
"message": "Pick",
"description": "Text for the button to re-enter element-picking mode"
},
"pickerPreview": {
"message": "Pregled",
"message": "Preview",
"description": "Text for the button to activate preview mode"
},
"pickerCreate": {
"message": "Napravi",
"message": "Create",
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Odaberite filter ispod da biste istaknuli odgovarajuće elemente na web stranici. Kliknite na kantu za smeće da biste uklonili filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Configuració",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Filtres personalitzats",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Desenvolupament",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regions, llengües",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Importa/Exporta",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Enganxeu aquí els filtres cosmètics que voleu afegir",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Registre de canvis",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Crea un informe nou",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Mode de filtratge per defecte",
@ -263,25 +251,13 @@
"message": "Habilita l'accés a funcions adequades per a usuaris tècnics.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Còpia de seguretat / Restaura",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Feu una còpia de seguretat de la vostra configuració personalitzada a un fitxer o restaureu la vostra configuració personalitzada des d'un fitxer.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "La restauració sobreescriurà tots els paràmetres personalitzats actuals.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Cerca llistes",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Pàgina blocada",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "L'uBO Lite ha evitat la càrrega d'aquesta pàgina:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Enrere",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Tanca aquesta finestra",
@ -363,10 +339,6 @@
"message": "Restaura",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Afegeix",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Importa i annexa…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Exporta…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Còpia de seguretat…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restaura…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Restaura a la configuració per defecte…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"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": {
"message": "No afegiu contingut de fonts no fiables",
"description": "Short description of the DNR rules editor pane"

View file

@ -12,17 +12,13 @@
"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": {
"message": "Nastavení",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Vlastní filtry",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Vývoj",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -32,19 +28,19 @@
"description": "appears as tab name in dashboard"
},
"aboutPrivacyPolicy": {
"message": "Zásady ochrany osobních údajů",
"message": "Ochrana soukromí",
"description": "Link to privacy policy on GitHub (English)"
},
"popupFilteringModeLabel": {
"message": "režim filtrování",
"message": "Filtrovací režim",
"description": "Label in the popup panel for the current filtering mode"
},
"popupLocalToolsLabel": {
"message": "Na tomto webu",
"message": "Na této webové stránce",
"description": "Label in the popup panel for the local tools section"
},
"popupTipReport": {
"message": "Nahlásit problém",
"message": "Nahlásit problém na této webové stránce",
"description": "Tooltip used for the 'chat' icon in the panel"
},
"popupTipDashboard": {
@ -87,14 +83,6 @@
"message": "Regionální, jazykové",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Vložte sem konkrétní kosmetické filtry, které chcete přidat",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Přehled změn",
"description": ""
@ -136,11 +124,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. <b>Poznámka:</b> Klepnutím na tlačítko bude originální stránka odeslána na GitHub.",
"message": "Abyste dobrovolníky nezatěžovali duplicitními hlášeními, ověřte si, zda již problém nebyl nahlášen.",
"description": "A paragraph in the filter issue reporter section"
},
"supportFindSpecificButton": {
"message": "Vyhledat podobná hlášení na GitHubu",
"message": "Vyhledat podobná hlášení",
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
@ -148,7 +136,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 +176,11 @@
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Vytvořit nové hlášení na GitHubu",
"description": "Text for button which opens an external web page in Support pane"
"message": "Vytvořit nové hlášení",
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Výchozí režim filtrování",
"message": "Výchozí filtrovací režim",
"description": "The header text for the default filtering mode section"
},
"defaultFilteringModeDescription": {
@ -228,11 +216,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": "[jen názvy hostitelů]\nexample.com\ngames.example\n...",
"message": "[pouze názvy hostitelů]\nexample.com\ngames.example\n...",
"description": "Default text for in edit field"
},
"behaviorSectionLabel": {
@ -252,7 +240,7 @@
"description": "Label for a checkbox in the options page"
},
"enableStrictBlockLegend": {
"message": "Bude zablokována navigace na potenciálně nežádoucí stránky a bude Vám nabídnuta volba pro pokračování.",
"message": "Navigace na potenciálně nežádoucí stránky bude zablokována a bude vám nabídnuta možnost pokračovat.",
"description": "Short description for a checkbox in the options page"
},
"developerModeLabel": {
@ -263,25 +251,13 @@
"message": "Umožňuje přístup k funkcím vhodným pro technicky zdatné uživatele.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Záloha",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Zálohování vlastních nastavení do souboru nebo obnovení vlastních nastavení ze souboru.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Obnovení přepíše všechna Vaše aktuální vlastní nastavení.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Najít seznamy",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Stránka byla zablokována",
"description": "Web page title for the strict-blocked page"
"message": "Stránka zablokována",
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite zabránil načtení následující stránky:",
@ -292,7 +268,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 +277,14 @@
},
"strictblockBack": {
"message": "Zpět",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Zavřít toto okno",
"message": "Zavřít okno",
"description": "A button to close the current tab"
},
"strictblockDontWarn": {
"message": "Příště na tuto stránku neupozorňovat",
"message": "Nevarujte mě znovu o této stránce",
"description": "Label for checkbox in document-blocked page"
},
"strictblockProceed": {
@ -316,11 +292,11 @@
"description": "A button to navigate to the blocked page"
},
"zapperTipEnter": {
"message": "Odebrat prvek",
"message": "Přejít do režimu dočasného skrytí prvků",
"description": "Tooltip for the button used to enter zapper mode"
},
"zapperTipQuit": {
"message": "Ukončit režim dočasného skrytí prvků",
"message": "Opustit režim dočasného skrytí prvků",
"description": "Tooltip for the button used to exit zapper mode"
},
"pickerTipEnter": {
@ -336,7 +312,7 @@
"description": "A label of a dropdown list"
},
"developOptionFilteringModeDetails": {
"message": "Detaily režimu filtrování",
"message": "Detaily filtovacího módu",
"description": "An option in a dropdown list"
},
"developOptionCustomDnrRules": {
@ -344,7 +320,7 @@
"description": "An option in a dropdown list"
},
"developOptionDnrRulesOf": {
"message": "Pravidla DNR pro...",
"message": "DNR pravidla …",
"description": "A section header in a dropdown list"
},
"developOptionDynamicRuleset": {
@ -352,7 +328,7 @@
"description": "An option in a dropdown list"
},
"developOptionSessionRuleset": {
"message": "Seznam pravidel relace",
"message": "",
"description": "An option in a dropdown list"
},
"saveButton": {
@ -363,34 +339,14 @@
"message": "Vrátit",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Přidat",
"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...",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Obnovit...",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Resetovat do výchozího nastavení...",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"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": {
"message": "Nepřidávat filtry z nedůvěryhodných zdrojů",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,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. Klepnutím na koš filtr odeberete.",
"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.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Settings",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regions, languages",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Changelog",
"description": ""
@ -144,11 +132,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Address of the web page:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "The web page…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@ -224,7 +212,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 web page 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 webpage resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Gosodiadau",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Datblygu",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -40,7 +36,7 @@
"description": "Label in the popup panel for the current filtering mode"
},
"popupLocalToolsLabel": {
"message": "Ar y wefan hon",
"message": "On this website",
"description": "Label in the popup panel for the local tools section"
},
"popupTipReport": {
@ -87,14 +83,6 @@
"message": "Rhanbarthau, ieithoedd",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Cofnod newidiadau",
"description": ""
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@ -224,7 +212,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 web page 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 webpage resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@ -256,32 +244,20 @@
"description": "Short description for a checkbox in the options page"
},
"developerModeLabel": {
"message": "Modd datblygwr",
"message": "Developer mode",
"description": "Label for a checkbox in the options page"
},
"developerModeLegend": {
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Yn ôl",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Cau'r ffenestr hon",
@ -360,37 +336,17 @@
"description": "Text for buttons used to save changes"
},
"revertButton": {
"message": "Dychwelwch",
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Ychwanegwch",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
},
"exportButton": {
"message": "Allforio",
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Indstillinger",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Tilpassede filtre",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Udvikl",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -44,7 +40,7 @@
"description": "Label in the popup panel for the local tools section"
},
"popupTipReport": {
"message": "Anmeld et problem",
"message": "Anmeld et problem på dette websted",
"description": "Tooltip used for the 'chat' icon in the panel"
},
"popupTipDashboard": {
@ -72,7 +68,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
"message": "Malware-beskyttelse, sikkerhed",
"message": "Malware-domæner",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@ -87,14 +83,6 @@
"message": "Regioner, sprog",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import/ Eksport",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Indsæt bestemte kosmetiske filtre hér for at tilføje",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Ændringslog",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Opret ny anmeldelse på GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Standardfiltreringstilstand",
@ -263,25 +251,13 @@
"message": "Aktiverer adgang til funktioner egnede for tekniske brugere.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Sikkerhedskopiér",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Sikkerhedskopiér tilpassede indstillinger til en fil, eller gendan tilpassede indstillinger fra en fil.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Gendannelse overskriver alle nuværende tilpassede indstillinger.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lister",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Side blokeret",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite har forhindret flg. side i at blive indlæst:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Gå tilbage",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Luk dette vindue",
@ -316,7 +292,7 @@
"description": "A button to navigate to the blocked page"
},
"zapperTipEnter": {
"message": "Fjern et element",
"message": "Gå til elementdræber­tilstand",
"description": "Tooltip for the button used to enter zapper mode"
},
"zapperTipQuit": {
@ -363,10 +339,6 @@
"message": "Tilbagefør",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Tilføj",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Importér og tilføj…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Eksportér…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Sikkerhedskopiér…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Gendan…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Nulstil til standardstillinger…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"message": "Alle tilpassede indstillinger fjernes. Fortsæt nulstilling til standardindstillinger?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Tilføj ikke indhold fra ikke-betroede kilder.",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Einstellungen",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Eigene Filter",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Entwickeln",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regionen, Sprachen",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Importieren und exportieren",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Kosmetische Filter zum Hinzufügen einfügen",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Änderungsprotokoll",
"description": ""
@ -136,7 +124,7 @@
"description": "Label of 'Troubleshooting information' section in 'Report a filter issue' page"
},
"supportS6P1S1": {
"message": "Um die Freiwilligen nicht mit doppelten Meldungen zu überlasten, vergewissern Sie sich bitte, dass das Problem noch nicht gemeldet wurde. <b>Hinweis:</b> Das Anklicken der Schaltfläche übermittelt die Internetadresse an GitHub.",
"message": "Um die Freiwilligen nicht mit doppelten Meldungen zu überlasten, vergewissern Sie sich bitte, dass das Problem noch nicht gemeldet wurde. <b>Hinweis:</b> Das Anklicken der Schaltfläche übermittelt den Ursprung der Seite an GitHub.",
"description": "A paragraph in the filter issue reporter section"
},
"supportFindSpecificButton": {
@ -156,11 +144,11 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option1": {
"message": "Zeigt Werbung oder deren Überreste",
"message": "Zeigt Werbung oder Werbereste",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option2": {
"message": "Enthält überdeckende oder belästigende Elemente",
"message": "Hat Überdeckungen oder andere Belästigungen",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option3": {
@ -168,7 +156,7 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option4": {
"message": "Weist Datenschutzprobleme auf",
"message": "Hat Datenschutzprobleme",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option5": {
@ -189,14 +177,14 @@
},
"supportReportSpecificButton": {
"message": "Neue Meldung auf GitHub erstellen",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Standardfiltermodus",
"description": "The header text for the default filtering mode section"
},
"defaultFilteringModeDescription": {
"message": "Der Standardfiltermodus wird durch den eingestellten Filtermodus der jeweiligen Website überschrieben. Er kann auf jeder beliebigen Website individuell angepasst werden. Jeder Modus hat seine Vor- und Nachteile.",
"message": "Der Standardfiltermodus wird durch individuelle Filtermodi für die jeweiligen Websites überschrieben. Sie können den Filtermodus auf jeder beliebigen Website entsprechend dem Modus anpassen, der auf dieser Website am besten funktioniert. Jeder Modus hat seine Vor- und Nachteile.",
"description": "This describes the default filtering mode setting"
},
"filteringMode0Name": {
@ -216,15 +204,15 @@
"description": "Name of blocking mode 3"
},
"basicFilteringModeDescription": {
"message": "Einfaches Netzwerkfiltern durch ausgewählte Filterlisten.\n\nErfordert keine Berechtigung zum Lesen und Ändern von Daten auf Websites.",
"message": "Einfaches Netzwerkfiltern aus gewählten Filterlisten.\n\nErfordert keine Berechtigung zum Lesen und Ändern von Daten auf Websites.",
"description": "This describes the 'basic' filtering mode"
},
"optimalFilteringModeDescription": {
"message": "Erweitertes Netzwerkfiltern plus umfassendes Filtern durch ausgewählte Filterlisten.\n\nErfordert eine weitreichende Berechtigung zum Lesen und Ändern von Daten auf allen Websites.",
"message": "Erweitertes Netzwerkfiltern plus spezifisches erweitertes Filtern aus ausgewählten Filterlisten.\n\nErfordert eine weitreichende Berechtigung zum Lesen und Ändern von Daten auf allen Websites.",
"description": "This describes the 'optimal' filtering mode"
},
"completeFilteringModeDescription": {
"message": "Erweitertes Netzwerkfiltern plus umfassendes und allgemeines Filtern durch ausgewählte Filterlisten.\n\nErfordert eine weitreichende Berechtigung zum Lesen und Ändern von Daten auf allen Websites.\n\nDas allgemeine Filtern kann zu einem höheren Ressourcenverbrauch der Webseite führen.",
"message": "Erweitertes Netzwerkfiltern plus spezifisches und allgemeines erweitertes Filtern aus gewählten Filterlisten.\n\nErfordert eine weitreichende Berechtigung zum Lesen und Ändern von Daten auf allen Websites.\n\nDas allgemeine erweiterte Filtern kann zu einem höheren Ressourcenverbrauch der Webseite führen.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@ -263,25 +251,13 @@
"message": "Ermöglicht den Zugriff auf Funktionen, die für technisch Versierte bestimmt sind.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Alle angepassten Einstellungen können in eine Datei gesichert oder aus einer Datei wiederhergestellt werden.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Durch das Wiederherstellen werden alle angepassten Einstellungen überschrieben.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Listen suchen",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Seite blockiert",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite hat das Laden der folgenden Seite verhindert:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Zurück",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Dieses Fenster schließen",
@ -363,10 +339,6 @@
"message": "Rückgängig machen",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Hinzufügen",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Importieren und ergänzen …",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Exportieren …",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Sichern …",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Wiederherstellen …",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Auf Werkseinstellungen zurücksetzen …",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"message": "Alle angepassten Einstellungen werden entfernt. Mit dem Zurücksetzen auf Werkseinstellungen fortfahren?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Verwenden Sie keine Regeln aus unseriösen Quellen",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Ρυθμίσεις",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Προσαρμοσμένα φίλτρα",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Ανάπτυξη",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Περιοχές, γλώσσες",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Εισαγωγή / Εξαγωγή",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Επικολλήστε εδώ για προσθέσετε φίλτρα για συγκεκριμένα διακοσμητικά",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Αρχείο αλλαγών",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Δημιουργία νέας αναφοράς",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Προεπιλεγμένη λειτουργία φιλτραρίσματος",
@ -263,28 +251,16 @@
"message": "Ενεργοποίηση πρόσβασης σε δυνατότητες κατάλληλες για τεχνικούς χρήστες.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Αντίγραφα ασφαλείας",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Δημιουργήστε ένα αντίγραφο ασφαλείας των προσαρμοσμένων ρυθμίσεών σας ή επαναφέρετε τις προσαρμοσμένες ρυθμίσεις από ένα αρχείο αντιγράφου ασφαλείας.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Η επαναφορά θα έχει ως αποτέλεσμα την αντικατάσταση των τρεχόντων προσαρμοσμένων ρυθμίσεών σας.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Εύρεση λιστών",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Αποκλεισμένη σελίδα",
"description": "Web page title for the strict-blocked page"
"message": "Αποκλησμένη σελίδα",
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "Το uBO Lite εμπόδισε τη φόρτωση της παρακάτω σελίδας:",
"message": "Το uBO Lite εμπόδισε τη φόρτωση στης παρακάτω σελίδας:",
"description": "Sentence used in the strict-blocked page"
},
"strictblockReasonSentence1": {
@ -292,7 +268,7 @@
"description": "Text informing about what is causing the page to be blocked"
},
"strictblockRedirectSentence1": {
"message": "Η αποκλεισμένη σελίδα θέλει να κάνει ανακατεύθυνση σε άλλον ιστότοπο. Αν επιλέξετε να συνεχίσετε, θα μεταβείτε απευθείας στο: {{url}}",
"message": "Η αποκλεισμένη σελίδα θέλει να κάνει ανακατεύθυνση σε άλλο ιστότοπο. Αν επιλέξετε να συνεχίσετε, θα μεταβείτε απευθείας στο: {{url}}",
"description": "Text warning about an incoming redirect"
},
"strictblockNoParamsPrompt": {
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Επιστροφή",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Κλείσιμο του παραθύρου",
@ -363,10 +339,6 @@
"message": "Επαναφορά",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Προσθήκη",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Εισαγωγή και προσθήκη…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Εξαγωγή…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Δημιουργία αντιγράφου ασφαλείας…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Επαναφορά ρυθμίσεων…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Επαναφορά στις προεπιλεγμένες ρυθμίσεις…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"message": "Όλες οι προσαρμοσμένες ρυθμίσεις σας θα διαγραφούν. Σίγουρα θέλετε να επαναφέρετε τις προεπιλεγμένες ρυθμίσεις;",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Να μην προστίθενται περιεχόμενο από μη αξιόπιστες πηγές.",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Settings",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regions, languages",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Changelog",
"description": ""
@ -144,11 +132,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Address of the web page:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "The web page…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@ -224,7 +212,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 web page 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 webpage resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Settings",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -72,7 +68,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
"message": "Malware protection, security",
"message": "Malware domains",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@ -87,14 +83,6 @@
"message": "Regions, languages",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Change-log",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Create new report",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@ -263,25 +251,13 @@
"message": "Enable access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Backup your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Backup…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Agordoj",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regions, languages",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Ŝanĝprotokolo",
"description": ""
@ -144,11 +132,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Address of the web page:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "The web page…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@ -224,7 +212,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 web page 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 webpage resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Configuración",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Filtros personalizados",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Desarrollo",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regiones, idiomas",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Importar / Exportar",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Pega aquí los filtros cosméticos específicos a añadir",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Registro de cambios",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Crear nuevo reporte en GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Modo de filtrado predeterminado",
@ -263,25 +251,13 @@
"message": "Habilita acceso a características aptas para usuarios técnicos.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Respaldar",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Haz un respaldo de tu configuración personalizada en un archivo o restaura tu configuración personalizada desde uno.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "La restauración sobrescribirá toda tu configuración personalizada actual.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Encontrar listas",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Página bloqueada",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite impidió la carga de la página:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Regresar",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Cerrar esta ventana",
@ -363,10 +339,6 @@
"message": "Revertir",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Añadir",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Importar y anexar…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Exportar…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Respaldar…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restaurar…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Restablecer ajustes predeterminados…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"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": {
"message": "No añadas contenido de fuentes no confiables",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Sätted",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Isetehtud filtrid",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Arendajale",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regioonid, keeled",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Impordi/ekspordi",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Kindlate kosmeetiliste filtrite lisamiseks asetage need siia",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Muudatuste logi",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Loo GitHubis uus aruanne",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Tavaline filtreerimisrežiim",
@ -263,25 +251,13 @@
"message": "Luba juurdepääs tehnilise taibuga kasutajatele mõeldud võimalustele.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Varundamine / taastamine",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Varunda eriseadistused faili või taasta need failist.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Taastamine asendab olemasolevad seadistused.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Otsi nimekirju",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Lehe sirvimine piiratud",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite ennetas järgmise veebilehe laadimist:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Tagasi",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Sulge see aken",
@ -363,10 +339,6 @@
"message": "Taasta",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Lisa",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Impordi ja lisa…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Ekspordi…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Varunda…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Taasta…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Lähtesta tavaseadetele…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"message": "Kõik enda loodud seaded eemaldatakse. Tahad tõesti lähtestada tavaseadetele?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Lisa sisu vaid usaldusväärsetest allikatest",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Ezarpenak",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Eskualdeak, hizkuntzak",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Aldaketen erregistroa",
"description": ""
@ -144,11 +132,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Address of the web page:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "The web page…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Lehenetsitako iragazteko modua",
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Blokeatutako orrialdea",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Joan atzera",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Itxi leiho hau",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "تنظیمات",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "مناطق، زبانها",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "گزارش دگرگونی",
"description": ""
@ -132,7 +120,7 @@
"description": "First paragraph of 'Filter issues' section in Support pane"
},
"supportS5H": {
"message": "اطلاعات مشکل‌گشایی",
"message": "Troubleshooting information",
"description": "Label of 'Troubleshooting information' section in 'Report a filter issue' page"
},
"supportS6P1S1": {
@ -144,23 +132,23 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "آدرس صفحه‌ی وب:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "The web page…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
"message": "-- یک گزینه را انتخاب کنید --",
"message": "-- Pick an entry --",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option1": {
"message": "تبلیغات یا باقی‌مانده‌هایی از آن نشان می‌دهد",
"message": "Shows ads or ad leftovers",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option2": {
"message": "دارای لایه‌های اضافی یا مشکلات مزاحم دیگر",
"message": "Has overlays or other nuisances",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option3": {
@ -168,7 +156,7 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option4": {
"message": "دارای ایراد مربوط به حریم خصوصی است",
"message": "Has privacy-related issues",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option5": {
@ -176,20 +164,20 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option6": {
"message": "تب یا پنجره‌ی ناخواسته باز می‌کند",
"message": "Opens unwanted tabs or windows",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option7": {
"message": "منجر به بدافزار یا فیشینگ می‌شود",
"message": "Leads to badware, phishing",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@ -224,7 +212,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 web page 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 webpage resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Asetukset",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Omat suodattimet",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Kehitys",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -72,7 +68,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
"message": "Haittaohjelmasuojaus, tietoturva",
"message": "Haittaohjelmia jakelevat verkkotunnukset",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@ -87,14 +83,6 @@
"message": "Alueet, kielet",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Tuonti / Vienti",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Liitä lisättävät kosmeettiset suodattimet tähän",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Muutoshistoria",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Luo GitHubiin uusi ilmoitus",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Oletusarvoinen suodatustila",
@ -263,25 +251,13 @@
"message": "Aktivoi teknisille käyttäjille suunnatut ominaisuudet.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Varmuuskopioi / Palauta",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Varmuuskopioi asetuksesi tiedostoon, tai palauta aiempi varmuuskopio.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Palautus korvaa kaikki nykyiset asetuksesi.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Etsi listoja",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Sivu estettiin",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite on estänyt seuraavan sivun latauksen:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Palaa takaisin",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Sulje tämä ikkuna",
@ -363,10 +339,6 @@
"message": "Palauta",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Lisää",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Tuo ja lisää…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Vie…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Varmuuskopioi…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Palauta…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Palauta oletusasetukset…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"message": "Kaikki tehndyt asetusmuutokset perutaan. Haluatko varmasti palauttaa oletusasetukset?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Älä lisää sisältöä lähteistä, joihin et luota.",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Mga Setting",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Bumuo",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Mga rehiyon o wika",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Talaan ng mga pagbabago",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Gumawa ng bagong ulat sa Github",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default na mode sa pagfi-filter",
@ -263,25 +251,13 @@
"message": "Nagbibigay ng mga katangian para sa mga teknikal na gumagamit.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Maghanap ng mga listahan",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Nakaharang na page",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "Hindi pinayagan ng uBO Lite ang pagpunta sa page dahil:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Bumalik",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Isara ang window na ito",
@ -363,10 +339,6 @@
"message": "Ibalik",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "I-import at idagdag...",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "I-export...",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Paramètres",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Filtres personnalisés",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Développement",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Régions, langues",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Importer / Exporter",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Coller ici les filtres cosmétiques spécifiques à ajouter",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Journal des changements",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Créer un nouveau rapport sur GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Mode de filtrage par défaut",
@ -263,25 +251,13 @@
"message": "Active l'accès aux fonctionnalités adaptées aux utilisateurs techniques.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Sauvegarde",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Sauvegardez vos paramètres personnalisés dans un fichier, ou restaurez vos paramètres personnalisés depuis un fichier.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "La restauration remplacera tous vos paramètres personnalisés actuels.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Trouver des listes",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page bloquée",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite a empêché le chargement de cette page :",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Précédent",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Fermer cette fenêtre",
@ -363,10 +339,6 @@
"message": "Rétablir",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Ajouter",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Importer",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Exporter",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Sauvegarder…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restaurer…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Revenir aux paramètres par défaut",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"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": {
"message": "Ne pas ajouter de contenu provenant de sources non fiables",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Ynstellingen",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Oanpaste filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Untwikkelje",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -72,7 +68,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
"message": "Beskerming tsjin malware, befeiliging",
"message": "Malwaredomeinen",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@ -87,14 +83,6 @@
"message": "Gebieden, talen",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Ymportearje / Eksportearje",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Plak hjir spesifike kosmetyske filters om ta te foegjen",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Wizigingslochboek",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Nije melding meitsje",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Standert filtermodus",
@ -263,25 +251,13 @@
"message": "Skeakelet tagong ta foar technyske brûkers geskikte funksjes yn.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Reservekopy",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Meitsje i reservekopy fan jo oanpaste ynstellingen neiei bestân, of set jo oanpaste ynstellingen werom fan in bestân út.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Weromsette oerskriuwt al jo aktuele oanpaste ynstellingen.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Listen sykje",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Side blokkearre",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite hat it laden fan de folgjende side opkeard:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Tebek",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Dit finster slute",
@ -363,10 +339,6 @@
"message": "Ungedien meitsje",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Tafoegje",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Ymportearje en tafoegje…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Eksportearje…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Reservekopy meitje…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Weromsette…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Standertynstellingen weromsette…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"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": {
"message": "Foegje gjin ynhâld fan net-fertroude boarnen ta.",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Axustes",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Filtros persoais",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Desenvolvemento",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -72,7 +68,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
"message": "Protección contra malware, seguridade",
"message": "Malware protection, security",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@ -87,14 +83,6 @@
"message": "Rexións, linguas",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Importar/Exportar",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Pega aquí os filtros cosméticos a engadir",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Rexistro de cambios",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Crear nova denuncia",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Modo de filtrado por defecto",
@ -263,25 +251,13 @@
"message": "Permitir acceso a funcións pensadas para persoas con experiencia técnica.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Copia de apoio",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Garda nun ficheiro a túa configuración ou restablece os axustes desde un ficheiro.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Ao restablecer vas sobrescribir a configuración actual.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Atopa listas",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Páxina bloqueada",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite evitou que a seguinte páxina se cargase:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Volver",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Pechar esta xanela",
@ -363,10 +339,6 @@
"message": "Reverter",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Engadir",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Importar e engadir…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Exportar…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Gardar axustes…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restablecer…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Non engadir contido desde orixes non fiables",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Settings",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regions, languages",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Changelog",
"description": ""
@ -144,11 +132,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Address of the web page:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "The web page…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@ -224,7 +212,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 web page 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 webpage resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "הגדרות",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "מסננים בהתאמה אישית",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "פיתוח",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -72,7 +68,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": {
@ -87,14 +83,6 @@
"message": "אזורים, שפות",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "יבוא / יצוא",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "העתיקו לכאן מסננים קוסמטים ספציפים לשם הוספה",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "יומן שינויים",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "צור דיווח חדש",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "מצב סינון ברירת מחדל",
@ -263,25 +251,13 @@
"message": "מאפשר גישה ליכולות עבור משתמשים טכניים.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "גיבוי / שחזור",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "גיבוי של ההגדרות האישיות לקובץ, או שחזור של ההגדרות האישיות מקובץ.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "השחזור יחליף את כל ההגדרות האישיות הנוכחיות.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "חיפוש רשימות",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "הדף נחסם",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite מנע טעינה של הדפים הבאים:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "חזור",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "סגור חלון זה",
@ -316,11 +292,11 @@
"description": "A button to navigate to the blocked page"
},
"zapperTipEnter": {
"message": "הסר אלמנט",
"message": "Remove an element",
"description": "Tooltip for the button used to enter zapper mode"
},
"zapperTipQuit": {
"message": "צא ממצב מחיקת אלמנטים",
"message": "Exit element zapper mode",
"description": "Tooltip for the button used to exit zapper mode"
},
"pickerTipEnter": {
@ -363,10 +339,6 @@
"message": "ביטול שינויים",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "הוספה",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "ייבא וצרף…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "ייצוא…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "גיבוי…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "שחזור…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "אפס להגדרות ברירת מחדל…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"message": "כל ההגדרות האישיות שלך ימחקו. האם באמת לאפס להגדרות ברירת מחדל?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "אל תוסיפו תוכן ממקורות לא מהיימנים",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "सेटिंग्स",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "विकास",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "क्षेत्र, भाषाएँ",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "परिवर्तन पत्र",
"description": ""
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "डिफ़ॉल्ट फ़िल्टरिंग मोड",
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "पूर्ववत",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "इम्पोर्ट करें और जोड़ें…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "निर्यात…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "अविश्वसनीय स्रोतों से सामग्री न जोड़ें",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Postavke",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Prilagođeni filteri",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Razvoj",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regije, jezici",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Uvoz / Izvoz",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Ovdje zalijepite određene vizualne filtere koje želite dodati",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Popis promjena",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Napravi novu prijavu na GitHub-u",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Zadani način filtriranja",
@ -263,25 +251,13 @@
"message": "Omogućuje pristup značajkama prikladnim za tehničke korisnike.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Sigurnosna kopija",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Napravite sigurnosnu kopiju prilagođenih postavki u datoteku ili ih vratite iz datoteke.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Vraćanje će prebrisati sve vaše trenutne prilagođene postavke.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Pronađi liste",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Stranica blokirana",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite je spriječio učitavanje sljedeće stranice:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Idi natrag",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Zatvori ovaj prozor",
@ -363,10 +339,6 @@
"message": "Poništi",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Dodaj",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Uvesti i dodati...",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Izvoz...",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Sigurnosno kopiranje…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Vraćanje…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Resetiraj na zadane postavke…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"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": {
"message": "Ne dodavajte sadržaj iz nepouzdanih izvora",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Beállítások",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Saját szűrők",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Fejlesztés",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Régiók, nyelvek",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Importálás/exportálás",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Illessze be ide a hozzáadandó kozmetikai szűrőket",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Változások listája",
"description": ""
@ -188,8 +176,8 @@
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Új jelentés létrehozása GitHub-ra",
"description": "Text for button which opens an external web page in Support pane"
"message": "Új jelentés létrehozása",
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Alapértelmezett szűrési mód",
@ -263,25 +251,13 @@
"message": "Hozzáférést biztosít a képzettebb felhasználóknak való funkciókhoz.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Biztonsági mentés",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Egyéni beállítások fájlbamentése, vagy az egyéni beállítások helyreállítása egy fájlból.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "A helyreállítás felülírja a jelenlegi egyéni beállításokat.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Listák keresése",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Oldal blokkolva",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "A uBO Lite megakadályozta a következő oldal betöltését:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Vissza",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Ablak bezárása",
@ -363,10 +339,6 @@
"message": "Visszaállítás",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Hozzáadás",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Importálás és hozzáadás…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Exportálás…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Biztonsági mentés…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Helyreállítás…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Alapértelmezett beállításokra visszaállítás…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"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": {
"message": "Ne adjon hozzá megbízhatatlan forrásokból származó tartalmat.",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Կարգավորումներ",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Տարածաշրջաններ, լեզուներ",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Փոփոխությունների մատյան",
"description": ""
@ -144,7 +132,7 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Address of the web page:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Զտման լռելյայն ռեժիմ",
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Հետ գնալ",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Փակել այս պատուհանը",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Pengaturan",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Filter khusus",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Mengembangkan",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -72,7 +68,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
"message": "Perlindungan malware, keamanan",
"message": "Domain malware",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@ -87,14 +83,6 @@
"message": "Wilayah, bahasa",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Impor / Ekspor",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Tambahkan filter kosmetik dengan menempel di sini",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Catatan perubahan",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Buat laporan baru",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Mode filter bawaan",
@ -263,25 +251,13 @@
"message": "Mengaktifkan akses ke fitur yang sesuai untuk pengguna teknis.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Cadangan",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Cadangkan settingan khusus ke berkas, atau pulihkan settingan khusus dari berkas.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Pemulihan akan menimpa semua settingan khusus saat ini.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Temukan daftar",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Halaman diblokir",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite telah mencegah pemuatan halaman berikut:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Kembali",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Tutup jendela ini",
@ -332,7 +308,7 @@
"description": "Label for the menu entry to delete cosmetic filters"
},
"developDropdownLabel": {
"message": "Melihat:",
"message": "Melihat",
"description": "A label of a dropdown list"
},
"developOptionFilteringModeDetails": {
@ -348,7 +324,7 @@
"description": "A section header in a dropdown list"
},
"developOptionDynamicRuleset": {
"message": "Aturan dinamis",
"message": "Aturan dinamis ",
"description": "An option in a dropdown list"
},
"developOptionSessionRuleset": {
@ -363,10 +339,6 @@
"message": "Kembalikan",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Tambah",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Impor dan tambahkan…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Ekspor…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Cadangkan…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Pulihkan…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Kembalikan ke pengaturan bawaan…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"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": {
"message": "Jangan tambahkan konten dari sumber tidak terpercaya",
"description": "Short description of the DNR rules editor pane"

View file

@ -4,7 +4,7 @@
"description": "extension name."
},
"extShortDesc": {
"message": "Un efficiente bloccatore di contenuti. Blocca annunci, tracker, minatori e altro ancora subito dopo l'installazione.",
"message": "Un efficiente bloccatore dei contenuti. Blocca annunci, tracker, minatori e altro ancora subito dopo l'installazione.",
"description": "this will be in the Chrome web store: must be 132 characters or less"
},
"perRulesetStats": {
@ -19,10 +19,6 @@
"message": "Impostazioni",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Filtri personalizzati",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Sviluppo",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -72,7 +68,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
"message": "Protezione dai malware, sicurezza",
"message": "Domini che diffondono virus",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@ -87,14 +83,6 @@
"message": "Lingue e regioni",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Importa / Esporta",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Incolla qui i filtri cosmetici specifici da aggiungere",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Reg. modifiche",
"description": ""
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Contrassegna la pagina web come “NSFW”. (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“non adatta ai minori”</a>)",
"message": "Contrassegna la pagina web come “NSFW”. (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Crea nuova segnalazione in GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Modalità di filtraggio predefinita",
@ -263,25 +251,13 @@
"message": "Abilita l'accesso a funzioni adatte a utenti tecnici.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Copia le impostazioni personali in un file, o rimuovile da un file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Il ripristino sovrascriverà le impostazioni personali in uso.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Trova elenchi",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Pagina bloccata",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite ha impedito alla seguente pagina di caricarsi:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Torna indietro",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Chiudi questa finestra",
@ -363,10 +339,6 @@
"message": "Ritorna",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Aggiungi",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Importa e accoda…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Esporta…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Copia…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Ripristina…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reimposta configurazione predefinita…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"message": "Le impostazioni personali saranno rimosse. Vuoi veramente reimpostare i valori predefiniti?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Non aggiungere contenuti da fonti non affidabili",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "設定",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "カスタムフィルター",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "開発",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -72,7 +68,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": {
@ -87,14 +83,6 @@
"message": "地域・言語",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "インポート又はエクスポート",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "ここに追加したいコスメティックフィルターをペースト",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "更新履歴",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "新しい報告を作成",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "デフォルトのフィルタリングモード",
@ -263,25 +251,13 @@
"message": "技術ユーザーに適した機能へのアクセスを有効にします。",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "バックアップ",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "カスタムした設定をファイルとしてバックアップしたり、ファイルからリストアしたりできます。",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "リストアすると現在のカスタムした設定がすべて上書きされます。",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "リストを検索",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "ブロックしたページ",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite はこのページの読み込みをブロックしています:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "戻る",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "このウィンドウを閉じる",
@ -363,10 +339,6 @@
"message": "元に戻す",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "追加",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "インポートと追加",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "エクスポート…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "バックアップ…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "リストア…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "信頼できないソースから追加しないでください。",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "პარამეტრები",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "მორგებული ფილტრები",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "შემუშავება",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "მხარეები, ენები",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "შემოტანა / გატანა",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "აქ ჩასვით გარეგნული ნაწილების ცალკეული ფილტრები დასამატებლად",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "ცვლილებები",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "შექმენით ახალი მოსხენება",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "გაფილტვრის ნაგულისხმევი რეჟიმი",
@ -263,25 +251,13 @@
"message": "შესაძლებლობები გამოცდილი მომხმარებლებისთვის.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "მარქაფი",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "დაამარქაფეთ მითითებული პარამეტრები ფაილში ან აღადგინეთ ფაილიდან.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "აღდგენისას ყველა მიმდინარე პარამეტრი ჩანაცვლდება.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "სიების მოძიება",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "შეზღუდული გვერდი",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite ზღუდავს მოცემული გვერდის ჩატვირთვას:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "უკან დაბრუნება",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "ამ ფანჯრის დახურვა",
@ -363,10 +339,6 @@
"message": "დაბრუნება",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "დამატება",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "შეტანა და დამატება…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "გატანა…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "დამარქფება…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "აღდგენა…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "ჩამოყრა ნაგულისხმევ პარამეტრებზე…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"message": "ყველა მორგებული პარამეტრი მოცილდება. ნამდვილად გსურთ დაბრუნება ნაგულისხმევ პარამეტრებზე?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "ნუ დაამატებთ შიგთავსს არასანდო წყაროებიდან.",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Settings",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regions, languages",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Changelog",
"description": ""
@ -144,11 +132,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Address of the web page:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "The web page…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@ -224,7 +212,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 web page 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 webpage resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "ಸಂಯೋಜನೆಗಳು",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "ಪ್ರದೇಶಗಳು, ಭಾಷೆಗಳು\n",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "ಬದಲಾವಣೆಗಳು",
"description": ""
@ -144,11 +132,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Address of the web page:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "The web page…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@ -224,7 +212,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 web page 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 webpage resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -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": {
@ -19,10 +19,6 @@
"message": "설정",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "커스텀 필터",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "개발자용",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -32,7 +28,7 @@
"description": "appears as tab name in dashboard"
},
"aboutPrivacyPolicy": {
"message": "개인정보 처리방침",
"message": "개인정보취급방침",
"description": "Link to privacy policy on GitHub (English)"
},
"popupFilteringModeLabel": {
@ -40,7 +36,7 @@
"description": "Label in the popup panel for the current filtering mode"
},
"popupLocalToolsLabel": {
"message": "이 웹사이트에서는",
"message": "On this website",
"description": "Label in the popup panel for the local tools section"
},
"popupTipReport": {
@ -52,7 +48,7 @@
"description": "English: Click to open the dashboard"
},
"popupMoreButton": {
"message": "더 보기",
"message": "자세히",
"description": "Label to be used to show popup panel sections"
},
"popupLessButton": {
@ -68,11 +64,11 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupPrivacy": {
"message": "개인정보 보호",
"message": "개인 정보 보호",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
"message": "멀웨어 및 보안",
"message": "멀웨어 도메인",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@ -87,14 +83,6 @@
"message": "지역, 언어",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "가져오기 / 내보내기",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "여기에 추가하려는 요소 숨김 필터 붙여넣기",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "변경 로그",
"description": ""
@ -136,11 +124,11 @@
"description": "Label of 'Troubleshooting information' section in 'Report a filter issue' page"
},
"supportS6P1S1": {
"message": "자원봉사자들의 중복 업무를 방지하기 위해, 이미 보고된 문제인지 먼저 확인해 주세요. <b>주의:</b> 아래 버튼을 클릭하면 현재 페이지 주소가 GitHub로 전송됩니다.",
"message": "봉사자들이 중복 신고로 인해 부담을 겪지 않도록, 해당 이슈가 이미 신고되지는 않았는지 확인해주시기 바랍니다.",
"description": "A paragraph in the filter issue reporter section"
},
"supportFindSpecificButton": {
"message": "비슷한 신고 내역 찾기",
"message": "유사한 신고 탐색",
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
@ -168,11 +156,11 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option4": {
"message": "개인정보 보호 관련 문제가 있습니다",
"message": "개인정보 보호 관련 이슈가 있습니다",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option5": {
"message": "uBO Lite를 켜면 오작동합니다",
"message": "uBO Lite를 켜면 깨집니다",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option6": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "웹페이지를 \"NSFW\" (<a href=\"https://ko.wikipedia.org/wiki/NSFW\">“Not Safe For Work”</a>)로 분류",
"message": "웹페이지를 \"NSFW\" (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)로 분류",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "GitHub에서 새 신고 생성",
"description": "Text for button which opens an external web page in Support pane"
"message": "새 신고 생성",
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "기본 필터링 모드",
@ -224,7 +212,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": {
@ -252,7 +240,7 @@
"description": "Label for a checkbox in the options page"
},
"enableStrictBlockLegend": {
"message": "잠재적으로 유해할 수 있는 사이트로의 접속이 차단되며, 계속 진행할지 여부를 선택할 수 있는 옵션이 제공됩니다.",
"message": "잠재적으로 좋지 않은 사이트로의 접속을 차단하고, 사용자가 진행할지 선택하도록 합니다.",
"description": "Short description for a checkbox in the options page"
},
"developerModeLabel": {
@ -263,25 +251,13 @@
"message": "기술적 사용자를 위한 기능에 접근할 수 있도록 합니다.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "백업",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "사용자 지정 설정을 파일에 백업하거나 파일에서 사용자 지정 설정을 복원합니다.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "복원 시 현재 설정이 모두 덮어씌워집니다.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "목록 찾기",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "페이지 차단됨",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite가 다음 페이지를 불러오지 못하게 했습니다.",
@ -301,14 +277,14 @@
},
"strictblockBack": {
"message": "뒤로",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "창 닫기",
"description": "A button to close the current tab"
},
"strictblockDontWarn": {
"message": "이 사이트에 대해 다시 경고하지 않기",
"message": "다시는 이 사이트에 대해 경고하지 않기",
"description": "Label for checkbox in document-blocked page"
},
"strictblockProceed": {
@ -316,19 +292,19 @@
"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": {
"message": "커스텀 필터 생성",
"message": "Create a custom filter",
"description": "Label for the menu entry to create cosmetic filters"
},
"unpickerTipEnter": {
"message": "커스텀 필터 삭제",
"message": "Remove a custom filter",
"description": "Label for the menu entry to delete cosmetic filters"
},
"developDropdownLabel": {
@ -363,10 +339,6 @@
"message": "되돌리기",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "추가",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "가져오기 및 추가하기…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "내보내기…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "백업…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "복원…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "기본 설정으로 초기화하기…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"message": "모든 커스텀 설정이 삭제됩니다. 정말 진행하시겠습니까?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "신뢰할 수 없는 출처의 콘텐츠를 추가하지 마십시오",
"description": "Short description of the DNR rules editor pane"
@ -400,23 +356,23 @@
"description": "Short sentence to report the number of currently registered DNR rules"
},
"pickerSliderLabel": {
"message": "슬라이더를 움직여 가장 적합한 항목을 선택하세요",
"message": "Move the slider to select the best match",
"description": "Label to describe the purpose of the slider"
},
"pickerPick": {
"message": "선택",
"message": "Pick",
"description": "Text for the button to re-enter element-picking mode"
},
"pickerPreview": {
"message": "미리보기",
"message": "Preview",
"description": "Text for the button to activate preview mode"
},
"pickerCreate": {
"message": "생성",
"message": "Create",
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "아래의 필터를 선택하면 웹페이지의 일치하는 요소가 강조 표시됩니다. 필터를 삭제하려면 휴지통을 클릭합니다.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Nustatymai",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regionai, kalbos",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Pakeitimų žurnalas",
"description": ""
@ -144,11 +132,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Address of the web page:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "The web page…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@ -224,7 +212,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 web page 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 webpage resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -4,7 +4,7 @@
"description": "extension name."
},
"extShortDesc": {
"message": "Iedarbīgs satura aizturētājs. Aiztur reklāmas, izsekotājus, kriptoracējus un vēl uzreiz pēc uzstādīšanas.",
"message": "Bezatļauju satura aizturētājs. Aiztur reklāmas, izsekotājus, kriptoracējus un daudz ko citu uzreiz pēc uzstādīšanas.",
"description": "this will be in the Chrome web store: must be 132 characters or less"
},
"perRulesetStats": {
@ -19,10 +19,6 @@
"message": "Iestatījumi",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Pielāgoti atsijātāji",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Izstrādāt",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -72,7 +68,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
"message": "Aizsardzība pret ļaunprātīgām (inficētas vai satur vīrusus) vietnēm, drošība",
"message": "Ļaunatūras domēni",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@ -87,14 +83,6 @@
"message": "Apgabali, valodas",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Ievietot/izgūt",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Šeit ir ielīmējami noteikti kosmētiskie aizturētāji, kurus pievienot",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Izmaiņu žurnāls",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Izveidot jaunu ziņojumu",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Noklusējuma aizturēšanas veids",
@ -263,25 +251,13 @@
"message": "Iespējot piekļuvi iespējām, kas piemērotas tehniskiem lietotājiem.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Rezerves kopija",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Pielāgoto iestatījumu rezerves kopēšana datnē vai to atjaunošana no datnes.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Atjaunošana pārrakstīs visus pašreizējos pielāgotos iestatījumus.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Atrast sarakstus",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Lapa aizturēta",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite novērsa šīs lapas ielādēšanu:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Doties atpakaļ",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Aizvērt šo logu",
@ -363,10 +339,6 @@
"message": "Atjaunot",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Pievienot",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Ievietot un pievienot…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Izgūt…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Veikt rezerves kopēšanu…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Atjaunot…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Atiestatīt uz noklusējuma iestatījumiem…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"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": {
"message": "Nevajag pievienot saturu no neuzticamiem avotiem.",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,28 +19,24 @@
"message": "Прилагодби",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Персонализирани филтри",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Девелопер",
"message": "Develop",
"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": "За",
"message": "Информации за...",
"description": "appears as tab name in dashboard"
},
"aboutPrivacyPolicy": {
"message": "Полиса за личните податоци",
"message": "Заштита на личните податоци",
"description": "Link to privacy policy on GitHub (English)"
},
"popupFilteringModeLabel": {
"message": "модови на филтрирање",
"message": "Начини на прочистување",
"description": "Label in the popup panel for the current filtering mode"
},
"popupLocalToolsLabel": {
"message": "На оваа веб-страница",
"message": "On this website",
"description": "Label in the popup panel for the local tools section"
},
"popupTipReport": {
@ -84,17 +80,9 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupRegions": {
"message": "Региони, јазици",
"message": "Региони, Јазици",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Увоз / Извоз",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Промени",
"description": ""
@ -132,11 +120,11 @@
"description": "First paragraph of 'Filter issues' section in Support pane"
},
"supportS5H": {
"message": "Информации за решавање на проблеми",
"message": "Troubleshooting information",
"description": "Label of 'Troubleshooting information' section in 'Report a filter issue' page"
},
"supportS6P1S1": {
"message": "За да се избегне оптоварување на волонтерите со пријави на дупликати, ве молиме проверете дали проблемот е веќе пријавен.",
"message": "За да се избегне оптоварување на волонтерите со дупликат пријави, ве молиме проверете дали проблемот веќе не е пријавен.",
"description": "A paragraph in the filter issue reporter section"
},
"supportFindSpecificButton": {
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Создај нова пријава",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Режим на филтрирање по подразбирање",
@ -248,7 +236,7 @@
"description": "Label for a checkbox in the options page"
},
"enableStrictBlockLabel": {
"message": "Вклучи стриктно блокирање",
"message": "Enable strict blocking",
"description": "Label for a checkbox in the options page"
},
"enableStrictBlockLegend": {
@ -256,32 +244,20 @@
"description": "Short description for a checkbox in the options page"
},
"developerModeLabel": {
"message": "Мод за девелопери",
"message": "Developer mode",
"description": "Label for a checkbox in the options page"
},
"developerModeLegend": {
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Бекап",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Најди листи",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Блокирана страница",
"description": "Web page title for the strict-blocked page"
"message": "Page blocked",
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -296,27 +272,27 @@
"description": "Text warning about an incoming redirect"
},
"strictblockNoParamsPrompt": {
"message": "без параметри",
"message": "without parameters",
"description": "Label to be used for the parameter-less URL"
},
"strictblockBack": {
"message": "Оди назад",
"description": "A button to go back to the previous web page"
"message": "Go back",
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Затвори го прозорецот",
"message": "Close this window",
"description": "A button to close the current tab"
},
"strictblockDontWarn": {
"message": "Не ме преупредувај повторна за оваа веб-страница",
"message": "Don't warn me again about this site",
"description": "Label for checkbox in document-blocked page"
},
"strictblockProceed": {
"message": "Продолжи",
"message": "Proceed",
"description": "A button to navigate to the blocked page"
},
"zapperTipEnter": {
"message": "Отстрани елемент",
"message": "Remove an element",
"description": "Tooltip for the button used to enter zapper mode"
},
"zapperTipQuit": {
@ -332,7 +308,7 @@
"description": "Label for the menu entry to delete cosmetic filters"
},
"developDropdownLabel": {
"message": "Глед:",
"message": "View:",
"description": "A label of a dropdown list"
},
"developOptionFilteringModeDetails": {
@ -348,49 +324,29 @@
"description": "A section header in a dropdown list"
},
"developOptionDynamicRuleset": {
"message": "Динамичен сет на правила",
"message": "Dynamic ruleset",
"description": "An option in a dropdown list"
},
"developOptionSessionRuleset": {
"message": "Сесиски сет на правила",
"message": "Session ruleset",
"description": "An option in a dropdown list"
},
"saveButton": {
"message": "Сними",
"message": "Save",
"description": "Text for buttons used to save changes"
},
"revertButton": {
"message": "Поврати",
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Додади",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Увези и додади…",
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
},
"exportButton": {
"message": "Извоз…",
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Бекап…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -404,7 +360,7 @@
"description": "Label to describe the purpose of the slider"
},
"pickerPick": {
"message": "Избери",
"message": "Pick",
"description": "Text for the button to re-enter element-picking mode"
},
"pickerPreview": {
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "ക്രമീകരണങ്ങൾ",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "പ്രാദേശികം, ഭാഷകള്‍",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "ചേഞ്ച് ലോഗ്",
"description": ""
@ -144,11 +132,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Address of the web page:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "The web page…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "ഡിഫോൾട്ട് ഫിൽട്ടറിംഗ് മോഡ്",
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Settings",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regions, languages",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Changelog",
"description": ""
@ -144,11 +132,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Address of the web page:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "The web page…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@ -224,7 +212,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 web page 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 webpage resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Tetapan",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Wilayah, bahasa",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Log perubahan",
"description": ""
@ -144,11 +132,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Address of the web page:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "The web page…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Mod penapisan lalai",
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,12 +19,8 @@
"message": "Innstillinger",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Egendefinerte filtre",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Utvikle",
"message": "Develop",
"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": {
@ -40,11 +36,11 @@
"description": "Label in the popup panel for the current filtering mode"
},
"popupLocalToolsLabel": {
"message": "På denne nettsiden",
"message": "On this website",
"description": "Label in the popup panel for the local tools section"
},
"popupTipReport": {
"message": "Rapporter et problem",
"message": "Rapporter et problem på dette nettstedet",
"description": "Tooltip used for the 'chat' icon in the panel"
},
"popupTipDashboard": {
@ -72,7 +68,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
"message": "Beskyttelse mot skadelig programvare, sikkerhet",
"message": "Domener med skadelig programvare",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@ -87,14 +83,6 @@
"message": "Regioner, språk",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Importér/Eksportér",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Lim inn her spesifikke kosmetiske filtre som skal legges til",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Endringslogg",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Opprett ny rapport på GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Standard filtreringsmodus",
@ -263,25 +251,13 @@
"message": "Aktiver tilgang til funksjoner som er egnet for tekniske brukere.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Sikkerhetskopi",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Sikkerhetskopier dine egendefinerte regler, eller gjenopprett dine egendefinerte regler fra en fil.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Gjenoppretting vil overskrive dine nåværende egendefinerte regler.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Finn lister",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Side blokkert",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite har forhindret innlasting av følgende side:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Gå tilbake",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Lukk dette vinduet",
@ -324,35 +300,35 @@
"description": "Tooltip for the button used to exit zapper mode"
},
"pickerTipEnter": {
"message": "Lag et egendefinert filter",
"message": "Create a custom filter",
"description": "Label for the menu entry to create cosmetic filters"
},
"unpickerTipEnter": {
"message": "Fjern et egendefinert filter",
"message": "Remove a custom filter",
"description": "Label for the menu entry to delete cosmetic filters"
},
"developDropdownLabel": {
"message": "Vis:",
"message": "View:",
"description": "A label of a dropdown list"
},
"developOptionFilteringModeDetails": {
"message": "Filtreringsmodusdetaljer",
"message": "Filtering mode details",
"description": "An option in a dropdown list"
},
"developOptionCustomDnrRules": {
"message": "Egendefinerte DNR-regler",
"message": "Custom DNR rules",
"description": "An option in a dropdown list"
},
"developOptionDnrRulesOf": {
"message": "DNR-regler for …",
"message": "DNR rules of …",
"description": "A section header in a dropdown list"
},
"developOptionDynamicRuleset": {
"message": "Dynamisk regelsett",
"message": "Dynamic ruleset",
"description": "An option in a dropdown list"
},
"developOptionSessionRuleset": {
"message": "Regelsett for økter",
"message": "Session ruleset",
"description": "An option in a dropdown list"
},
"saveButton": {
@ -363,10 +339,6 @@
"message": "Tilbakestill",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Legg til",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Importer og legg til...",
"description": "Text for buttons used to import and append content"
@ -375,48 +347,32 @@
"message": "Eksporter...",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Sikkerhetskopier…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Gjenopprett…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Tilbakestill til standardinnstillinger…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Ikke legg til innhold fra upålitelige kilder",
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
},
"dnrRulesCountInfo": {
"message": "Antall registrerte regler: {count}",
"message": "Number of registered rules: {count}",
"description": "Short sentence to report the number of currently registered DNR rules"
},
"pickerSliderLabel": {
"message": "Flytt glidebryteren for å velge den beste matchen",
"message": "Move the slider to select the best match",
"description": "Label to describe the purpose of the slider"
},
"pickerPick": {
"message": "Velg",
"message": "Pick",
"description": "Text for the button to re-enter element-picking mode"
},
"pickerPreview": {
"message": "Forhåndsvis",
"message": "Preview",
"description": "Text for the button to activate preview mode"
},
"pickerCreate": {
"message": "Opprett",
"message": "Create",
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Velg et filter nedenfor for å fremheve samsvarende elementer på nettsiden. Klikk på papirkurven for å fjerne et filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -4,7 +4,7 @@
"description": "extension name."
},
"extShortDesc": {
"message": "Een efficiënte inhoudsblokker. Blokkeert direct na installatie advertenties, trackers, miners en meer.",
"message": "Een efficiënte inhoudsblokkeerder. Blokkeert direct na installatie advertenties, trackers, miners en meer.",
"description": "this will be in the Chrome web store: must be 132 characters or less"
},
"perRulesetStats": {
@ -19,10 +19,6 @@
"message": "Instellingen",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Aangepaste filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Ontwikkelen",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Gebieden, talen",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Importeren / Exporteren",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Plak hier specifieke cosmetische filters om toe te voegen",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Wijzigingenlogboek",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Nieuwe melding op GitHub maken",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Standaard filtermodus",
@ -263,25 +251,13 @@
"message": "Schakelt toegang tot voor technische gebruikers geschikte functies in.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Back-up",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Maak een back-up van uw aangepaste instellingen naar een bestand, of zet uw aangepaste instellingen terug vanuit een bestand.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Terugzetten overschrijft al uw huidige aangepaste instellingen.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Lijsten zoeken",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Pagina geblokkeerd",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite heeft het laden van de volgende pagina voorkomen:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Teruggaan",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Dit venster sluiten",
@ -363,10 +339,6 @@
"message": "Ongedaan maken",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Toevoegen",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Importeren en toevoegen…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Exporteren…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back-up maken…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Terugzetten…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Standaardinstellingen terugzetten…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"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": {
"message": "Voeg geen inhoud van niet-vertrouwde bronnen toe.",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Settings",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regions, languages",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Changelog",
"description": ""
@ -144,11 +132,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Address of the web page:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "The web page…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@ -224,7 +212,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 web page 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 webpage resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,12 +19,8 @@
"message": "ਸੈਟਿੰਗਾਂ",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "ਪਸੰਦੀਦਾ ਫਿਲਟਰ",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "ਡਿਵੈਲਪ",
"message": "Develop",
"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": {
@ -40,7 +36,7 @@
"description": "Label in the popup panel for the current filtering mode"
},
"popupLocalToolsLabel": {
"message": "ਇਸ ਵੈੱਬਸਾਈਟ ਉੱਤੇ",
"message": "On this website",
"description": "Label in the popup panel for the local tools section"
},
"popupTipReport": {
@ -72,7 +68,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
"message": "ਮਾਲਵੇਅਰਾਂ ਤੋਂ ਬਚਾਅ, ਸੁਰੱਖਿਆ",
"message": "Malware protection, security",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@ -87,14 +83,6 @@
"message": "ਖੇਤਰ, ਭਾਸ਼ਾਵਾਂ",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "ਇੰਪੋਰਟ / ਐਕਸਪੋਰਟ",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "ਤਬਦੀਲੀ-ਸੂਚੀ",
"description": ""
@ -132,7 +120,7 @@
"description": "First paragraph of 'Filter issues' section in Support pane"
},
"supportS5H": {
"message": "ਸਮੱਸਿਆ ਹੱਲ ਕਰਨ ਸੰਬੰਧੀ ਜਾਣਕਾਰੀ",
"message": "Troubleshooting information",
"description": "Label of 'Troubleshooting information' section in 'Report a filter issue' page"
},
"supportS6P1S1": {
@ -152,7 +140,7 @@
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
"message": "-- ਐਂਟਰੀ ਚੁਣੋ --",
"message": "-- Pick an entry --",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option1": {
@ -164,7 +152,7 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option3": {
"message": "uBO Lite ਮਿਲਿਆ",
"message": "Detects uBO Lite",
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Select1Option4": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "ਨਵੀਂ ਰਿਪੋਰਟ ਬਣਾਓ",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "ਮੂਲ ਫਿਲਟਰ ਕਰਨ ਦਾ ਢੰਗ",
@ -232,7 +220,7 @@
"description": "A short description for the editable field which lists trusted sites"
},
"noFilteringModePlaceholder": {
"message": "[ਸਿਰਫ਼ ਹੋਸਟ-ਨਾਂ]\nexample.com\ngames.example\n...",
"message": "[hostnames only]\nexample.com\ngames.example\n...",
"description": "Default text for in edit field"
},
"behaviorSectionLabel": {
@ -244,11 +232,11 @@
"description": "Label for a checkbox in the options page"
},
"showBlockedCountLabel": {
"message": "ਟੂਲ-ਪੱਟੀ ਆਈਕਾਨ ਉੱਤੇ ਪਾਬੰਦੀ ਲਾਈਆਂ ਬੇਨਤੀਆਂ ਦੀ ਗਿਣਤੀ ਦਿਖਾਓ",
"message": "Show the number of blocked requests on the toolbar icon",
"description": "Label for a checkbox in the options page"
},
"enableStrictBlockLabel": {
"message": "ਸਖ਼ਤ ਪਾਬੰਦੀਆਂ ਨੂੰ ਸਮਰੱਥ ਕਰੋ",
"message": "Enable strict blocking",
"description": "Label for a checkbox in the options page"
},
"enableStrictBlockLegend": {
@ -256,35 +244,23 @@
"description": "Short description for a checkbox in the options page"
},
"developerModeLabel": {
"message": "ਡਿਵੈਲਪਰ ਮੋਡ",
"message": "Developer mode",
"description": "Label for a checkbox in the options page"
},
"developerModeLegend": {
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "ਬੈਕਅੱਪ",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "ਸੂਚੀਆਂ ਲੱਭੋ",
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "ਸਫ਼ੇ ਉੱਤੇ ਪਾਬੰਦੀ ਹੈ",
"description": "Web page title for the strict-blocked page"
"message": "Page blocked",
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite ਨੇ ਅੱਗੇ ਦਿੱਤੇ ਸਫ਼ੇ ਨੂੰ ਲੋਡ ਹੋਣ ਤੋਂ ਰੋਕਿਆ ਹੈ:",
"message": "uBO Lite has prevented the following page from loading:",
"description": "Sentence used in the strict-blocked page"
},
"strictblockReasonSentence1": {
@ -296,27 +272,27 @@
"description": "Text warning about an incoming redirect"
},
"strictblockNoParamsPrompt": {
"message": "ਬਿਨਾਂ ਪੈਰਾਮੀਟਰ",
"message": "without parameters",
"description": "Label to be used for the parameter-less URL"
},
"strictblockBack": {
"message": "ਪਿੱਛੇ ਜਾਓ",
"description": "A button to go back to the previous web page"
"message": "Go back",
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "ਇਹ ਵਿੰਡੋ ਨੂੰ ਬੰਦ ਕਰੋ",
"message": "Close this window",
"description": "A button to close the current tab"
},
"strictblockDontWarn": {
"message": "ਇਸ ਸਾਈਟ ਬਾਰੇ ਮੈਨੂੰ ਮੁੜ ਚੇਤਾਵਨੀ ਨਾ ਦਿਓ",
"message": "Don't warn me again about this site",
"description": "Label for checkbox in document-blocked page"
},
"strictblockProceed": {
"message": "ਜਾਰੀ ਰੱਖੋ",
"message": "Proceed",
"description": "A button to navigate to the blocked page"
},
"zapperTipEnter": {
"message": "ਇੱਕ ਭਾਗ ਨੂੰ ਹਟਾਓ",
"message": "Remove an element",
"description": "Tooltip for the button used to enter zapper mode"
},
"zapperTipQuit": {
@ -324,15 +300,15 @@
"description": "Tooltip for the button used to exit zapper mode"
},
"pickerTipEnter": {
"message": "ਕਸਟਮ ਫਿਲਟਰ ਬਣਾਓ",
"message": "Create a custom filter",
"description": "Label for the menu entry to create cosmetic filters"
},
"unpickerTipEnter": {
"message": "ਕਸਟਮ ਫਿਲਟਰ ਨੂੰ ਹਟਾਓ",
"message": "Remove a custom filter",
"description": "Label for the menu entry to delete cosmetic filters"
},
"developDropdownLabel": {
"message": "ਵੇਖੋ:",
"message": "View:",
"description": "A label of a dropdown list"
},
"developOptionFilteringModeDetails": {
@ -356,47 +332,27 @@
"description": "An option in a dropdown list"
},
"saveButton": {
"message": "ਸੰਭਾਲੋ",
"message": "Save",
"description": "Text for buttons used to save changes"
},
"revertButton": {
"message": "ਵਾਪਸ ਲਵੋ",
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "ਜੋੜੋ",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "ਇੰਪੋਰਟ ਕਰੋ ਤੇ ਜੋੜੋ…",
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
},
"exportButton": {
"message": "ਐਕਸਪੋਰਟ…",
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "ਬੈਕ ਅੱਪ…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "ਬਹਾਲ ਕਰੋ…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "ਗ਼ੈਰ-ਭਰੋਸੇਯੋਗ ਸਰੋਤਾਂ ਤੋਂ ਸਮੱਗਰੀ ਨੂੰ ਨਾ ਜੋੜੋ",
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
},
"dnrRulesCountInfo": {
"message": "ਰਜਿਸਟੜ ਕੀਤੇ ਨਿਯਮਾਂ ਦੀ ਗਿਣਤੀ: {count}",
"message": "Number of registered rules: {count}",
"description": "Short sentence to report the number of currently registered DNR rules"
},
"pickerSliderLabel": {
@ -404,19 +360,19 @@
"description": "Label to describe the purpose of the slider"
},
"pickerPick": {
"message": "ਚੁਣੋ",
"message": "Pick",
"description": "Text for the button to re-enter element-picking mode"
},
"pickerPreview": {
"message": "ਝਲਕ",
"message": "Preview",
"description": "Text for the button to activate preview mode"
},
"pickerCreate": {
"message": "ਬਣਾਓ",
"message": "Create",
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Ustawienia",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Własne filtry",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Programowanie",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regiony, języki",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import i eksport",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Wklej tutaj określone filtry kosmetyczne do dodania",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Informacje o wydaniu",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Utwórz nowy raport",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Domyślny tryb filtrowania",
@ -263,25 +251,13 @@
"message": "Włącz dostęp do odpowiednich funkcji dla użytkowników technicznych.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Tworzenie i przywracanie kopii zapasowej",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Utwórz kopię zapasową własnych ustawień w pliku lub przywróć je z pliku.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Przywrócenie kopii zapasowej spowoduje nadpisanie wszystkich bieżących ustawień własnych.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Znajdź listy",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Strona zablokowana",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite nie pozwolił załadować się następującej stronie:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Wstecz",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Zamknij to okno",
@ -363,10 +339,6 @@
"message": "Przywróć",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Dodaj",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Importuj i dołącz…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Eksportuj…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Utwórz kopię zapasową…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Przywróć kopię zapasową…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Przywróć ustawienia domyślne…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"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": {
"message": "Nie dodawaj zawartości z niezaufanych źródeł",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Configurações",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Filtros personalizados",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Desenvolver",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -72,7 +68,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
"message": "Proteção contra malware, segurança",
"message": "Domínios de malware",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@ -87,14 +83,6 @@
"message": "Regiões, idiomas",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Importação e exportação",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Cole filtros cosméticos específicos aqui para adicioná-los",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Notas de lançamento",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Criar um novo relatório no GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Modo de filtragem padrão",
@ -263,25 +251,13 @@
"message": "Ativa o acesso à funcionalidade destinada a usuários técnicos.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Faça backup das suas configurações personalizadas em um arquivo ou restaure suas configurações personalizadas de um arquivo.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "A restauração sobrescreverá todas as suas configurações personalizadas atuais.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Procurar listas",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Página bloqueada",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "O uBO Lite impediu o carregamento da seguinte página:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Voltar",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Fechar esta janela",
@ -363,10 +339,6 @@
"message": "Reverter",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Adicionar",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Importar e anexar…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Exportar…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Fazer backup…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restaurar…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reconfigurar tudo para o padrão…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"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": {
"message": "Não adicione conteúdo de fontes não confiáveis.",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Definições",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Filtros personalizados",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Programação",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -72,7 +68,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
"message": "Proteção contra malware, segurança",
"message": "Domínios maliciosos",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@ -87,14 +83,6 @@
"message": "Regiões, idiomas",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Importar/Exportar",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Cole aqui filtros cosméticos específicos a adicionar",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Registo de alterações",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Criar novo relatório no GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Modo de filtragem predefinido",
@ -263,25 +251,13 @@
"message": "Permite acesso a funcionalidades adequadas a utilizadores técnicos",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Cópia de segurança",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Faça uma cópia de segurança das suas definições personalizadas num ficheiro ou restaure as suas definições personalizadas a partir de um ficheiro.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "A restauração substituirá todas as suas definições personalizadas atuais.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Encontrar listas",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Página bloqueada",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "O uBO Lite impediu a seguinte página de ser carregada:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Voltar",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Fechar esta janela",
@ -363,10 +339,6 @@
"message": "Reverter",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Adicionar",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Importar e anexar…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Exportar…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Criar cópia…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restaurar…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Repor as definições predefinidas…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"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": {
"message": "Não adicione conteúdo de fontes não fidedignas",
"description": "Short description of the DNR rules editor pane"

View file

@ -4,7 +4,7 @@
"description": "extension name."
},
"extShortDesc": {
"message": "Un blocant de conținut eficient. Blochează reclamele, urmăritorii, minerii și multe altele imediat după instalare.",
"message": "Un blocant experimental, fără permisiuni. Blochează reclamele, urmăritorii, minerii de monede virtuale și multe altele imediat [...]",
"description": "this will be in the Chrome web store: must be 132 characters or less"
},
"perRulesetStats": {
@ -19,12 +19,8 @@
"message": "Opțiuni",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Filtre proprii",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Dezvoltă",
"message": "Develop",
"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": {
@ -40,7 +36,7 @@
"description": "Label in the popup panel for the current filtering mode"
},
"popupLocalToolsLabel": {
"message": "Pe acest website",
"message": "On this website",
"description": "Label in the popup panel for the local tools section"
},
"popupTipReport": {
@ -72,7 +68,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
"message": "Domenii malițioase, securitate",
"message": "Domenii malițioase",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@ -87,14 +83,6 @@
"message": "Regiuni, limbi",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Importă / Exportă",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Lipește aici filtre cosmetice specifice",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Jurnal de modificări",
"description": ""
@ -132,7 +120,7 @@
"description": "First paragraph of 'Filter issues' section in Support pane"
},
"supportS5H": {
"message": "Informații depanare",
"message": "Troubleshooting information",
"description": "Label of 'Troubleshooting information' section in 'Report a filter issue' page"
},
"supportS6P1S1": {
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Creează o nouă sesizare",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Mod de filtrare implicit",
@ -256,32 +244,20 @@
"description": "Short description for a checkbox in the options page"
},
"developerModeLabel": {
"message": "Mod dezvoltator",
"message": "Developer mode",
"description": "Label for a checkbox in the options page"
},
"developerModeLegend": {
"message": "Permite accesul la funcții adecvate pentru utilizatorii tehnici.",
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Copiați setările personalizate într-un fișier sau restaurați setările personalizate dintr-un fișier.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restaurarea va suprascrie toate setările personalizate actuale.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Căutați liste",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Pagină blocată",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite a împiedicat încărcarea următoarei pagini:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Înapoi",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Închide fereastra",
@ -316,107 +292,87 @@
"description": "A button to navigate to the blocked page"
},
"zapperTipEnter": {
"message": "Elimina unui element",
"message": "Remove an element",
"description": "Tooltip for the button used to enter zapper mode"
},
"zapperTipQuit": {
"message": "Ieșire din modul zapper element",
"message": "Exit element zapper mode",
"description": "Tooltip for the button used to exit zapper mode"
},
"pickerTipEnter": {
"message": "Creați un filtru personalizat",
"message": "Create a custom filter",
"description": "Label for the menu entry to create cosmetic filters"
},
"unpickerTipEnter": {
"message": "Șterge un filtru personalizat",
"message": "Remove a custom filter",
"description": "Label for the menu entry to delete cosmetic filters"
},
"developDropdownLabel": {
"message": "Vezi:",
"message": "View:",
"description": "A label of a dropdown list"
},
"developOptionFilteringModeDetails": {
"message": "Detalii privind modul de filtrare",
"message": "Filtering mode details",
"description": "An option in a dropdown list"
},
"developOptionCustomDnrRules": {
"message": "Reguli DNR personalizate",
"message": "Custom DNR rules",
"description": "An option in a dropdown list"
},
"developOptionDnrRulesOf": {
"message": "Regulile DNR privind …",
"message": "DNR rules of …",
"description": "A section header in a dropdown list"
},
"developOptionDynamicRuleset": {
"message": "Set de reguli dinamice",
"message": "Dynamic ruleset",
"description": "An option in a dropdown list"
},
"developOptionSessionRuleset": {
"message": "Set de reguli pentru sesiune",
"message": "Session ruleset",
"description": "An option in a dropdown list"
},
"saveButton": {
"message": "Salvați",
"message": "Save",
"description": "Text for buttons used to save changes"
},
"revertButton": {
"message": "Reveniţi",
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Adaugă",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Importați și adăugați…",
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
},
"exportButton": {
"message": "Exportă…",
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restaurați…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Restabilește setările implicite…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"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": {
"message": "Nu adăugați conținut din surse nesigure",
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
},
"dnrRulesCountInfo": {
"message": "Număr de reguli înregistrate: {count}",
"message": "Number of registered rules: {count}",
"description": "Short sentence to report the number of currently registered DNR rules"
},
"pickerSliderLabel": {
"message": "Mutați cursorul pentru a selecta cea mai bună potrivire",
"message": "Move the slider to select the best match",
"description": "Label to describe the purpose of the slider"
},
"pickerPick": {
"message": "Alege",
"message": "Pick",
"description": "Text for the button to re-enter element-picking mode"
},
"pickerPreview": {
"message": "Previzualizare",
"message": "Preview",
"description": "Text for the button to activate preview mode"
},
"pickerCreate": {
"message": "Creează",
"message": "Create",
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Alege un filtru de mai jos pentru a evidenția elementele cu potriviri în pagina web. Clic pe [Coș de gunoi] pentru a îndepărta un filtru.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Настройки",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Пользовательские фильтры",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Разработка",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Регионы, языки",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Импорт / Экспорт",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Вставьте сюда отдельные косметические фильтры для добавления",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Список изменений",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Создать новый отчёт в GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Режим фильтрации по умолчанию",
@ -263,25 +251,13 @@
"message": "Включает доступ к функциям, предназначенным для технических пользователей.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Резервная копия",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Создайте резервную копию пользовательских настроек в файле, или восстановите настройки из файла.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Восстановление перезапишет все ваши текущие пользовательские настройки.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Найти списки",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Страница заблокирована",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite предотвратил загрузку следующей страницы:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Назад",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Закрыть это окно",
@ -363,10 +339,6 @@
"message": "Вернуть",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Добавить",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Импортировать и добавить…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Экспортировать…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Создать рез. копию…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Восстановить…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Сброс до настроек по умолчанию…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"message": "Все ваши пользовательские настройки будут удалены. Уверены, что хотите восстановить настройки по умолчанию?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Не добавлять содержимое из ненадёжных источников",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "සැකසුම්",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -72,7 +68,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": {
@ -87,14 +83,6 @@
"message": "කලාපීය, භාෂා",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "වෙනස්කම් සටහන",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "නව වාර්තාවක් සාදන්න",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "පෙරනිමි පෙරීමේ ප්‍රකාරය",
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "ලැයිස්තු සොයන්න",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "පිටුව අවහිරයි",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite විසින් පහත පිටුව පූරණය වීම වළක්වා ඇත:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "ආපසු යන්න",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "මෙම කවුළුව වසන්න",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Nastavenia",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Vlastné filtre",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Vývoj",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -44,7 +40,7 @@
"description": "Label in the popup panel for the local tools section"
},
"popupTipReport": {
"message": "Nahlásiť problém",
"message": "Nahlásiť problém na tejto webovej stránke",
"description": "Tooltip used for the 'chat' icon in the panel"
},
"popupTipDashboard": {
@ -72,7 +68,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
"message": "Ochrana pred škodlivým softvérom, bezpečnosť",
"message": "Domény malvéru",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@ -87,14 +83,6 @@
"message": "Regióny, jazyky",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import/export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Sem vložte špecifické kozmetické filtre, ktoré chcete pridať",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Zoznam zmien",
"description": ""
@ -140,7 +128,7 @@
"description": "A paragraph in the filter issue reporter section"
},
"supportFindSpecificButton": {
"message": "Vyhľadať podobné hlásenia na Githube",
"message": "Vyhľadať podobné hlásenia",
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
@ -188,8 +176,8 @@
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Vytvoriť nové hlásenie na Githube",
"description": "Text for button which opens an external web page in Support pane"
"message": "Vytvoriť nové hlásenie",
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Predvolený režim filtrovania",
@ -260,28 +248,16 @@
"description": "Label for a checkbox in the options page"
},
"developerModeLegend": {
"message": "Umožňuje prístup k funkciám vhodným pre technických používateľov.",
"message": "Povoliť prístup k funkciám vhodným pre technických používateľov.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Zálohovať/Obnoviť",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Zálohujte si vlastné nastavenia do súboru alebo obnovte vlastné nastavenia zo súboru.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Obnovením sa prepíšu všetky vaše aktuálne vlastné nastavenia.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Nájsť zoznamy",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Zablokovaná stránka",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite zabránil načítaniu nasledujúcej stránky:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Naspäť",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Zatvoriť toto okno",
@ -316,7 +292,7 @@
"description": "A button to navigate to the blocked page"
},
"zapperTipEnter": {
"message": "Odstrániť prvok",
"message": "Prejsť do režimu dočasného skrytia prvkov",
"description": "Tooltip for the button used to enter zapper mode"
},
"zapperTipQuit": {
@ -363,10 +339,6 @@
"message": "Vrátiť späť",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Pridať",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Importovať a pripojiť…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Exportovať…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Zálohovať…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Obnoviť…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Obnoviť predvolené nastavenia…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"message": "Všetky vlastné nastavenia sa odstránia. Naozaj chcete obnoviť predvolené nastavenia?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Nepridávajte obsah z nedôveryhodných zdrojov",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Settings",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regions, languages",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Changelog",
"description": ""
@ -144,11 +132,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Address of the web page:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "The web page…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@ -224,7 +212,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 web page 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 webpage resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Settings",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regions, languages",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Changelog",
"description": ""
@ -144,11 +132,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Address of the web page:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "The web page…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@ -224,7 +212,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 web page 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 webpage resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,12 +19,8 @@
"message": "Parametrat",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Filtrat e personalizuar",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Zhvillimi",
"message": "Zhvilloni",
"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": {
@ -40,11 +36,11 @@
"description": "Label in the popup panel for the current filtering mode"
},
"popupLocalToolsLabel": {
"message": "Në këtë uebsajt",
"message": "Në këtë faqe interneti",
"description": "Label in the popup panel for the local tools section"
},
"popupTipReport": {
"message": "Raportoj problemin",
"message": "Raportoj problemin me uebsajtin",
"description": "Tooltip used for the 'chat' icon in the panel"
},
"popupTipDashboard": {
@ -72,7 +68,7 @@
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupMalware": {
"message": "Domenet e dëmshme, siguria",
"message": "Domenet e dëmshme",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"3pGroupAnnoyances": {
@ -87,14 +83,6 @@
"message": "Sipas rajonit, gjuhës",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Importoj / Eksportoj",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Filtrat specifikë të personalizuar kalohen këtu",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Ditari i ndryshimeve",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Krijoj raport të ri në GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Mënyra standarde e filtrimit",
@ -256,32 +244,20 @@
"description": "Short description for a checkbox in the options page"
},
"developerModeLabel": {
"message": "Këndi i zhvilluesit",
"message": "Modaliteti i zhvilluesit",
"description": "Label for a checkbox in the options page"
},
"developerModeLegend": {
"message": "Mundëson qasjen në funksione të përshtatshme për përdoruesit teknikë.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Kopja rezervë",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Mbani një kopje rezervë të parametrave që keni personalizuar ose riktheni parametrat e mëparshëm.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Rikthimi do të fshijë gjithë parametrat që keni personalizuar.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Gjej listat",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Faqe e bllokuar",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite pengoi hapjen e faqes vijuese:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Kthehem",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Mbyll dritaren",
@ -316,7 +292,7 @@
"description": "A button to navigate to the blocked page"
},
"zapperTipEnter": {
"message": "Heq elementin",
"message": "Aktivizoj asgjësuesin e elementeve",
"description": "Tooltip for the button used to enter zapper mode"
},
"zapperTipQuit": {
@ -324,11 +300,11 @@
"description": "Tooltip for the button used to exit zapper mode"
},
"pickerTipEnter": {
"message": "Krijoj filtër të personalizuar",
"message": "Krijo filtër të personalizuar",
"description": "Label for the menu entry to create cosmetic filters"
},
"unpickerTipEnter": {
"message": "Heq filtrin e personalizuar",
"message": "Hiq një filtër të personalizuar",
"description": "Label for the menu entry to delete cosmetic filters"
},
"developDropdownLabel": {
@ -336,7 +312,7 @@
"description": "A label of a dropdown list"
},
"developOptionFilteringModeDetails": {
"message": "Detajet e mënyrës së filtrimit",
"message": "Detalet e mënyrës së filtërimit",
"description": "An option in a dropdown list"
},
"developOptionCustomDnrRules": {
@ -344,7 +320,7 @@
"description": "An option in a dropdown list"
},
"developOptionDnrRulesOf": {
"message": "Rregullat DNR të",
"message": "Rregullat DNR të ...",
"description": "A section header in a dropdown list"
},
"developOptionDynamicRuleset": {
@ -352,21 +328,17 @@
"description": "An option in a dropdown list"
},
"developOptionSessionRuleset": {
"message": "Rregullat e seancës",
"message": "Rregullat e sesionit",
"description": "An option in a dropdown list"
},
"saveButton": {
"message": "Regjistroj",
"message": "Ruaj",
"description": "Text for buttons used to save changes"
},
"revertButton": {
"message": "Rikthej",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Shtoj",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Importoj dhe shtoj…",
"description": "Text for buttons used to import and append content"
@ -375,24 +347,8 @@
"message": "Eksportoj…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Rezervoj…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Rikthej…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Rikthej parametrat standardë…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"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": {
"message": "Mos shtoni materiale nga burime të pabesueshme",
"message": "Mos shtoni filtra nga burime të pabesueshme.",
"description": "Short description of the DNR rules editor pane"
},
"dnrRulesCountInfo": {
@ -400,15 +356,15 @@
"description": "Short sentence to report the number of currently registered DNR rules"
},
"pickerSliderLabel": {
"message": "Lëvizeni për të zgjedhur pikën më të përshtatshme",
"message": "Lëvizni rrëshqitësin për të zgjedhur përputhjen më të mirë",
"description": "Label to describe the purpose of the slider"
},
"pickerPick": {
"message": "Zgjedh",
"message": "Përzgjedh",
"description": "Text for the button to re-enter element-picking mode"
},
"pickerPreview": {
"message": "Parashikoj",
"message": "Parapamje",
"description": "Text for the button to activate preview mode"
},
"pickerCreate": {
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Zgjidhni ndër filtrat më poshtë për të parë elementin që i korrespondon në faqe. Filtrat hiqen duke klikuar koshin.",
"message": "Zgjidh një filtër më poshtë për të nxjerrë në pah elementët që përputhen në faqen e internetit. Klikoni te koshi për të hequr një filtër.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -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": {
@ -19,12 +19,8 @@
"message": "Подешавања",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Прилагођени филтери",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Развијте",
"message": "Develop",
"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": {
@ -40,7 +36,7 @@
"description": "Label in the popup panel for the current filtering mode"
},
"popupLocalToolsLabel": {
"message": "На овој веб страници",
"message": "On this website",
"description": "Label in the popup panel for the local tools section"
},
"popupTipReport": {
@ -87,14 +83,6 @@
"message": "Регионални, језички",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Увоз / извоз",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Овде налепите одређене козметичке филтере које желите додати",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Списак измена",
"description": ""
@ -132,7 +120,7 @@
"description": "First paragraph of 'Filter issues' section in Support pane"
},
"supportS5H": {
"message": "Информације о решавању проблема",
"message": "Troubleshooting information",
"description": "Label of 'Troubleshooting information' section in 'Report a filter issue' page"
},
"supportS6P1S1": {
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Креирај нови извештај",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Подразумевани режим филтрирања",
@ -256,43 +244,31 @@
"description": "Short description for a checkbox in the options page"
},
"developerModeLabel": {
"message": "Режим за програмере",
"message": "Developer mode",
"description": "Label for a checkbox in the options page"
},
"developerModeLegend": {
"message": "Омогућава приступ функцијама погодним за техничке кориснике.",
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Направи резервну копију",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Napravite sigurnosnu kopiju prilagođenih postavki u datoteku ili ih vratite iz datoteke.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Vraćanje će prepisati sve vaše trenutne prilagođene postavke.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Пронађи листе",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Страница је блокирана",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite је спречио учитавање следеће странице:",
"description": "Sentence used in the strict-blocked page"
},
"strictblockReasonSentence1": {
"message": "Страница је блокирана због одговарајућег филтера у {{listname}}.",
"message": "The page was blocked because of a matching filter in {{listname}}.",
"description": "Text informing about what is causing the page to be blocked"
},
"strictblockRedirectSentence1": {
"message": "Блокирана страница жели да преусмери на други сајт. Ако одлучите да наставите, бићете директно на: {{url}}",
"message": "The blocked page wants to redirect to another site. If you choose to proceed, you will navigate directly to: {{url}}",
"description": "Text warning about an incoming redirect"
},
"strictblockNoParamsPrompt": {
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Иди назад",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Затвори овај прозор",
@ -316,107 +292,87 @@
"description": "A button to navigate to the blocked page"
},
"zapperTipEnter": {
"message": "Уклоните елемент",
"message": "Remove an element",
"description": "Tooltip for the button used to enter zapper mode"
},
"zapperTipQuit": {
"message": "Изађи из режима за затварање елемената",
"message": "Exit element zapper mode",
"description": "Tooltip for the button used to exit zapper mode"
},
"pickerTipEnter": {
"message": "Направите прилагођени филтер",
"message": "Create a custom filter",
"description": "Label for the menu entry to create cosmetic filters"
},
"unpickerTipEnter": {
"message": "Уклоните прилагођени филтер",
"message": "Remove a custom filter",
"description": "Label for the menu entry to delete cosmetic filters"
},
"developDropdownLabel": {
"message": "Приказ:",
"message": "View:",
"description": "A label of a dropdown list"
},
"developOptionFilteringModeDetails": {
"message": "Детаљи режима филтрирања",
"message": "Filtering mode details",
"description": "An option in a dropdown list"
},
"developOptionCustomDnrRules": {
"message": "Прилагођена правила за DNR",
"message": "Custom DNR rules",
"description": "An option in a dropdown list"
},
"developOptionDnrRulesOf": {
"message": "ДНР правила …",
"message": "DNR rules of …",
"description": "A section header in a dropdown list"
},
"developOptionDynamicRuleset": {
"message": "Динамички скуп правила",
"message": "Dynamic ruleset",
"description": "An option in a dropdown list"
},
"developOptionSessionRuleset": {
"message": "Скуп правила сесије",
"message": "Session ruleset",
"description": "An option in a dropdown list"
},
"saveButton": {
"message": "Сачувај",
"message": "Save",
"description": "Text for buttons used to save changes"
},
"revertButton": {
"message": "Врати",
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Додај",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Увези и додај…",
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
},
"exportButton": {
"message": "Извоз…",
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Направите резервну копију…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Вратите резервну копију…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Не додајте садржај из непоузданих извора",
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
},
"dnrRulesCountInfo": {
"message": "Број регистрованих правила: {count}",
"message": "Number of registered rules: {count}",
"description": "Short sentence to report the number of currently registered DNR rules"
},
"pickerSliderLabel": {
"message": "Померите клизач да бисте изабрали најбоље подударање",
"message": "Move the slider to select the best match",
"description": "Label to describe the purpose of the slider"
},
"pickerPick": {
"message": "Изаберите",
"message": "Pick",
"description": "Text for the button to re-enter element-picking mode"
},
"pickerPreview": {
"message": "Прегледај",
"message": "Preview",
"description": "Text for the button to activate preview mode"
},
"pickerCreate": {
"message": "Креирај",
"message": "Create",
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Изаберите филтер испод да бисте истакли одговарајуће елементе на веб страници. Кликните на канту за смеће да бисте уклонили филтер.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

View file

@ -19,10 +19,6 @@
"message": "Inställningar",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Anpassade filter",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Utveckla",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regioner, språk",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Importera / Exportera",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Här klistrar du in specifika kosmetiska filter att lägga till",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Ändringslogg",
"description": ""
@ -189,7 +177,7 @@
},
"supportReportSpecificButton": {
"message": "Skapa ny rapport på GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Standardfiltreringsläge",
@ -263,25 +251,13 @@
"message": "Aktivera åtkomst till funktioner som är lämpliga för tekniska användare.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Säkerhetskopiering",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Säkerhetskopiera dina anpassade inställningar till en fil, eller återställ dina anpassade inställningar från en fil.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Återställningen kommer att skriva över alla dina nuvarande anpassade inställningar.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Hitta listor",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Sidan blockerad",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite har förhindrat följande sida från att läsas in:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Gå tillbaka",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Stäng det här fönstret",
@ -363,10 +339,6 @@
"message": "Ångra",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Lägg till",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Importera och lägg till…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Exportera…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Säkerhetskopiera…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Återställ…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Återställ till standardinställningarna…",
"description": "Text for buttons used to reset configurations to default"
},
"resetToDefaultConfirm": {
"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": {
"message": "Lägg inte till filter från obetrodda källor.",
"description": "Short description of the DNR rules editor pane"

View file

@ -19,10 +19,6 @@
"message": "Settings",
"description": "appears as tab name in dashboard"
},
"customFiltersPageName": {
"message": "Custom filters",
"description": "appears as tab name in dashboard"
},
"developPageName": {
"message": "Develop",
"description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@ -87,14 +83,6 @@
"message": "Regions, languages",
"description": "Header for a ruleset section in 'Filter lists pane'"
},
"customFiltersImportExportLabel": {
"message": "Import / Export",
"description": "Text label heading the import/export area of custom filters"
},
"customFiltersImportTextareaPlaceholder": {
"message": "Paste here specific cosmetic filters to add",
"description": "Placeholder text which describes the purpose of the textarea widget"
},
"aboutChangelog": {
"message": "Changelog",
"description": ""
@ -144,11 +132,11 @@
"description": "A clickable link in the filter issue reporter section"
},
"supportS6URL": {
"message": "Address of the web page:",
"message": "Address of the webpage:",
"description": "Label for the URL of the page"
},
"supportS6Select1": {
"message": "The web page…",
"message": "The webpage…",
"description": "Label for widget to select type of issue"
},
"supportS6Select1Option0": {
@ -184,12 +172,12 @@
"description": "An entry in the widget used to select the type of issue"
},
"supportS6Checkbox1": {
"message": "Label the web page as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"message": "Label the webpage as “NSFW” (<a href=\"https://wikipedia.org/wiki/Not_safe_for_work\">“Not Safe For Work”</a>)",
"description": "A checkbox to use for NSFW sites"
},
"supportReportSpecificButton": {
"message": "Create new report on GitHub",
"description": "Text for button which opens an external web page in Support pane"
"description": "Text for button which open an external webpage in Support pane"
},
"defaultFilteringModeSectionLabel": {
"message": "Default filtering mode",
@ -224,7 +212,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 web page 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 webpage resources usage.",
"description": "This describes the 'complete' filtering mode"
},
"noFilteringModeDescription": {
@ -263,25 +251,13 @@
"message": "Enables access to features suitable for technical users.",
"description": "Short description for a checkbox in the options page"
},
"settingsBackupRestoreLabel": {
"message": "Backup",
"description": "The header text for the back up/restore section"
},
"settingsBackupRestoreSummary": {
"message": "Back up your custom settings to a file, or restore your custom settings from a file.",
"description": "A summary description of the back up/restore section."
},
"settingsBackupRestoreLegend": {
"message": "Restoring will overwrite all your current custom settings.",
"description": "Important information about the back up/restore section."
},
"findListsPlaceholder": {
"message": "Find lists",
"description": "Placeholder for the input field used to find lists"
},
"strictblockTitle": {
"message": "Page blocked",
"description": "Web page title for the strict-blocked page"
"description": "Webpage title for the strict-blocked page"
},
"strictblockSentence1": {
"message": "uBO Lite has prevented the following page from loading:",
@ -301,7 +277,7 @@
},
"strictblockBack": {
"message": "Go back",
"description": "A button to go back to the previous web page"
"description": "A button to go back to the previous webpage"
},
"strictblockClose": {
"message": "Close this window",
@ -363,10 +339,6 @@
"message": "Revert",
"description": "Text for buttons used to revert changes"
},
"addButton": {
"message": "Add",
"description": "Text for buttons used to add content"
},
"importAndAppendButton": {
"message": "Import and append…",
"description": "Text for buttons used to import and append content"
@ -375,22 +347,6 @@
"message": "Export…",
"description": "Text for buttons used to export content"
},
"backupButton": {
"message": "Back up…",
"description": "Text for buttons used to back up content"
},
"restoreButton": {
"message": "Restore…",
"description": "Text for buttons used to restore content"
},
"resetToDefaultButton": {
"message": "Reset to default settings…",
"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?",
"description": "Message asking user to confirm reset to default settings"
},
"dnrRulesWarning": {
"message": "Do not add content from untrusted sources",
"description": "Short description of the DNR rules editor pane"
@ -416,7 +372,7 @@
"description": "Text for the button to create the filter"
},
"unpickerUsage": {
"message": "Select a filter below to highlight matching elements in the web page. Click the trash can to remove a filter.",
"message": "Select a filter below to highlight matching elements in the webpage. Click the trash can to remove a filter.",
"description": "Summary description on how to use the tool to remove custom filters"
}
}

Some files were not shown because too many files have changed in this diff Show more