Compare commits

..

No commits in common. 'master' and '0.9.0.1' have entirely different histories.

@ -1,29 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Browser (please complete the following information):**
- OS: [e.g. MacOS, Linux]
- Browser [e.g. Firefox]
- Version [e.g. 80.0.1]
**Additional context**
Add any other context about the problem here.

@ -1,17 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

2
.gitignore vendored

@ -1 +1 @@
dist/build/ dist/

@ -1,20 +0,0 @@
{
"browser": true,
"devel": true,
"eqeqeq": true,
"esversion": 8,
"globals": {
"browser": false,
"self": false,
"chrome": false,
"log": false,
"webext": false,
"vAPI": false,
"µMatrix": false
},
"laxbreak": true,
"strict": "global",
"undef": true,
"unused": true,
"validthis": true
}

@ -3,13 +3,12 @@ env:
matrix: matrix:
- BROWSER=chromium EXT=zip - BROWSER=chromium EXT=zip
- BROWSER=firefox EXT=xpi - BROWSER=firefox EXT=xpi
script: "./tools/make-${BROWSER}.sh ${TRAVIS_TAG}" script: ./tools/make-${BROWSER}.sh all
deploy: deploy:
provider: releases provider: releases
prerelease: true
api_key: api_key:
secure: eQgPAHH6PKu2dLK+NafxwLl66t0cyW5x5NZFquOwsNMal5nsfof7lyXj2F0Q0vUpGeI21MOipBI8UGv5oXPoiXnr0fhEbEBz65C9vypK61WkDCQVGVeZVNGQwSXUm6gD2EzpPgTCIs52+7dKCDJ3stXzdimOiOTYs4WMNKKarFM= secure: eQgPAHH6PKu2dLK+NafxwLl66t0cyW5x5NZFquOwsNMal5nsfof7lyXj2F0Q0vUpGeI21MOipBI8UGv5oXPoiXnr0fhEbEBz65C9vypK61WkDCQVGVeZVNGQwSXUm6gD2EzpPgTCIs52+7dKCDJ3stXzdimOiOTYs4WMNKKarFM=
file: dist/build/uMatrix_${TRAVIS_TAG}.${BROWSER}.${EXT} file: dist/build/uMatrix.${BROWSER}.${EXT}
skip_cleanup: true skip_cleanup: true
on: on:
repo: gorhill/uMatrix repo: gorhill/uMatrix

@ -1,4 +1,16 @@
### Submitting issues # Submitting issues
Submit on <https://github.com/geekprojects/nuTensor/issues>. **Must read:** [How to Report Bugs Effectively](http://www.chiark.greenend.org.uk/~sgtatham/bugs.html).
### IMPORTANT
1. When you file an issue, your **responsibility** is to provide **ALL** the exact steps needed for me to reproduce an issue.
1. Ideally, never should I have to _guess_ how to reproduce an issue.
- Hence this is why very detailed steps must be very carefully written down **the first time** the issue is filed.
- Never assume an important step is "obvious".
1. Every single step, in order, must be provided, with **ALL** relevant details.
1. Screenshots are nice, but use common sense: I can't cut and paste important text information from screenshots.
- Regarding screenshots: common sense, common sense, common sense. Too much of a thing can easily end up as noise.
1. Open source quality software comes from contributors carefully **crafting** code: conversely, issues must also be carefully **crafted**.
- In other words: you benefit from the carefully crafted code, return the favor by **carefully** crafting issues/bug reports.
1. If your mindset is that your time is more precious than that of my time, refrain from filing issues.

@ -1,23 +1,34 @@
## nuTensor ## uMatrix<br>[<img src="https://travis-ci.org/gorhill/uMatrix.svg?branch=master" height="16">](https://travis-ci.org/gorhill/uMatrix)
Definitely for advanced users. Definitely for advanced users.
This is a fork of the now-discontinued [uMatrix](https://github.com/gorhill/uMatrix). Forked and refactored from [HTTP Switchboard](https://github.com/gorhill/httpswitchboard).
My focus will be on keeping it working on Firefox for now. I'll do my best to keep it working, but sadly no guarantees. Help will always be welcome!
*** Install [manually](https://github.com/gorhill/uMatrix/blob/master/doc/README.md) the [latest release](https://github.com/gorhill/uMatrix/releases), or install from:
- [Firefox AMO](https://addons.mozilla.org/firefox/addon/umatrix/)
- [Chrome store](https://chrome.google.com/webstore/detail/µmatrix/ogfcmafjalglgifnmanfmnieipoejdcf)
- [Opera store](https://addons.opera.com/en-gb/extensions/details/umatrix/)
Forked and refactored from [uMatrix](https://github.com/gorhill/uMatrix). You may contribute with translation work:
- For in-app strings, on Crowdin: [uMatrix on Crowdin](https://crowdin.com/project/umatrix).
- For [description](https://github.com/gorhill/uMatrix/tree/master/doc/description) (to be used in AMO, Chrome store, etc.), submit a pull request. [Reference description is here](https://github.com/gorhill/uMatrix/blob/master/doc/description/description.en_US.txt) (feel free to improve as you wish, I am not a writer).
[HTTP Switchboard's documentation](https://github.com/gorhill/httpswitchboard/wiki) is still relevant, except for [uMatrix's differences with HTTP Switchboard](https://github.com/gorhill/uMatrix/wiki/Changes-from-HTTP-Switchboard).
You may contribute with documentation: [uMatrix's wiki](https://github.com/gorhill/uMatrix/wiki).
## Warnings ## Warnings
#### Regarding broken sites #### Regarding broken sites
nuTensor does not guarantee that sites will work fine: it is for advanced users who can figure how to un-break sites, because essentially nuTensor is a firewall which works in relaxed block-all/allow-exceptionally mode out of the box: it is not unexpected that sites will break. uMatrix does not guarantee that sites will work fine: it is for advanced users who can figure how to un-break sites, because essentially uMatrix is a firewall which works in relaxed block-all/allow-exceptionally mode out of the box: it is not unexpected that sites will break.
**So this means do not file issues to report broken sites when the sites are broken because uMatrix does its job as expected.** I will close any such issue without further comment.
I expect there will be community driven efforts for users to help each others. If uMatrix had a home, I would probably set up a forum, but I do not plan for such thing, I really just want to code, not manage web sites. If you need help to un-break a site when using uMatrix, you can try [Wilders Security](http://www.wilderssecurity.com/threads/umatrix-the-http-switchboard-successor.369601/), where you are likely to receive help if needed, whether by me or other users.
**So this means do not file issues to report broken sites when the sites are broken because nuTensor does its job as expected.** I will close any such issue without further comment. uMatrix can be set to work in [allow-all/block-exceptionally](https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views#the-allow-allblock-exceptionally-approach) mode with a single click on the `all` cell in the global scope `*`, if you prefer to work this way. This will of course break less sites, but you would then lose all the benefits which comes with block-all/allow-exceptionally mode -- though you will still benefit from the 62,000+ blacklisted hostnames by default.
**Using nuTensor logger is key to un-break sites:** the logger will show you all that nuTensor does internally.
## License ## License

@ -1,88 +0,0 @@
{
"assets.json": {
"content": "internal",
"updateAfter": 13,
"contentURL": [
"https://raw.githubusercontent.com/geekprojects/nuTensor/master/assets/assets.json",
"assets/assets.json"
]
},
"public_suffix_list.dat": {
"content": "internal",
"updateAfter": 19,
"contentURL": [
"https://publicsuffix.org/list/public_suffix_list.dat",
"assets/thirdparties/publicsuffix.org/list/public_suffix_list.dat",
"assets/thirdparties/publicsuffix.org/list/effective_tld_names.dat"
]
},
"malware-0": {
"content": "filters",
"title": "Malware Domain List",
"contentURL": [
"https://www.malwaredomainlist.com/hostslist/hosts.txt",
"assets/thirdparties/www.malwaredomainlist.com/hostslist/hosts.txt"
]
},
"malware-1": {
"content": "filters",
"title": "Malware domains",
"contentURL": [
"https://mirror.cedia.org.ec/malwaredomains/justdomains",
"https://mirror1.malwaredomains.com/files/justdomains",
"assets/thirdparties/mirror1.malwaredomains.com/files/justdomains",
"assets/thirdparties/mirror1.malwaredomains.com/files/justdomains.txt"
],
"supportURL": "http://www.malwaredomains.com/"
},
"dpollock-0": {
"content": "filters",
"updateAfter": 11,
"title": "Dan Pollocks hosts file",
"contentURL": [
"https://someonewhocares.org/hosts/hosts",
"assets/thirdparties/someonewhocares.org/hosts/hosts.txt"
],
"supportURL": "https://someonewhocares.org/hosts/"
},
"hphosts": {
"content": "filters",
"updateAfter": 11,
"title": "hpHosts Ad and tracking servers",
"contentURL": [
"https://hosts-file.net/.%5Cad_servers.txt",
"assets/thirdparties/hosts-file.net/ad_servers.txt"
],
"supportURL": "https://hosts-file.net/"
},
"mvps-0": {
"content": "filters",
"updateAfter": 11,
"title": "MVPS HOSTS",
"contentURL": [
"https://winhelp2002.mvps.org/hosts.txt",
"assets/thirdparties/winhelp2002.mvps.org/hosts.txt"
],
"supportURL": "https://winhelp2002.mvps.org/"
},
"plowe-0": {
"content": "filters",
"updateAfter": 13,
"title": "Peter Lowes Ad and tracking server list",
"contentURL": [
"https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext",
"assets/thirdparties/pgl.yoyo.org/as/serverlist",
"assets/thirdparties/pgl.yoyo.org/as/serverlist.txt"
],
"supportURL": "https://pgl.yoyo.org/adservers/"
},
"recipes_en-0": {
"content": "recipes",
"title": "Ruleset recipes for English websites",
"contentURL": [
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/recipes/recipes_en.txt",
"assets/umatrix/recipes_en.txt"
],
"lang": "en"
}
}

@ -0,0 +1,13 @@
4a3dedc1e913ac1dbb316606a4b5306d assets/umatrix/hosts-files.json
188ce926323d816ae9d7d5ebbb567862 assets/umatrix/blacklist.txt
1beb3b4b6458f6d3988b91cd981a97f0 assets/thirdparties/mirror1.malwaredomains.com/files/immortal_domains.txt
7f0443f3dcc9abfd47cfbc95ce824ddb assets/thirdparties/mirror1.malwaredomains.com/files/README.md
82711967354d935f4646014ee1d7c6a0 assets/thirdparties/mirror1.malwaredomains.com/files/justdomains
597f052c40b71ecd029eedd5752633aa assets/thirdparties/publicsuffix.org/list/effective_tld_names.dat
ccdb144db937e5f11e3ee7055b512831 assets/thirdparties/someonewhocares.org/hosts/hosts
83b2f4bc3c79f554f4eee5de018d2a89 assets/thirdparties/winhelp2002.mvps.org/hosts.txt
042419405031f0fcfac3735bf4f05e21 assets/thirdparties/www.malwaredomainlist.com/hostslist/README.md
ceb0394086d4e23b440cf3e186eea60c assets/thirdparties/www.malwaredomainlist.com/hostslist/hosts.txt
bd6b77760ea831b8961f1b69550511d9 assets/thirdparties/hosts-file.net/ad-servers
5663bfec7aea394ba4e1533950cb69b8 assets/thirdparties/pgl.yoyo.org/as/serverlist
5b8e13b618c68293430913029118781a assets/thirdparties/pgl.yoyo.org/as/README.md

File diff suppressed because it is too large Load Diff

@ -0,0 +1,3 @@
<http://www.malwaredomains.com/?page_id=1508>:
"This malware block lists provided here are for free for noncommercial use as part of the fight against malware."

@ -0,0 +1,4 @@
<http://pgl.yoyo.org/as/index.php>:
Site does encourage use of the list, and nowhere could I find terms and
conditions to use the list. Assuming it can be used freely.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,3 @@
<http://www.malwaredomainlist.com/>:
"Our list can be used for free by anyone. Feel free to use it."

@ -0,0 +1,61 @@
# Blacklist maintained by HTTP Switchboard
# For those domain names which are not found in other blacklists
2mdn.net # "2mdn.net is a domain used by Doubleclick which is an advertising company..."
aad73c550c.se # Related to adrotator.se which is itself blacklisted
acxiom-online.com # Wikipedia: "Acxiom Corporation is a marketing technology and services company".
adextent.com # "We are an advertising technology company - we build technologies that improve ads performance"
adgear.com # "AdGear is an online advertising technologies company based in Montreal, Canada"
adnxs.com # "Adnxs.com is run by AppNexus, a company that provides technology, data and analytics to help companies buy and sell online display advertising" (Ref.: http://www.theguardian.com/technology/2012/apr/23/adnxs-tracking-trackers-cookies-web-monitoring)
adobetag.com # "Adobe Announces Adobe Tag Manager for the Online Marketing Suite"
aimatch.com # "Ad Server, SAS® Intelligent Advertising for Publishers"
analytics.edgesuite.net
atedra.com # "Atedra est un réseau de publicité Internet francophone au Canada"
axf8.net # https://www.eff.org/deeplinks/2013/06/third-party-resources-nsa-leaks
betrad.com # "Evidon: Home | Online Marketing Intelligence, Web Analytics, Privacy" (which also publishes "Ghostery" add-on..)
bizographics.com # "Business Audience Marketing"
bkrtx.com
# "Imagine Having The Power To Turn Abandoning Visitors Into Customers"
# "The BounceX software is tracking all the cursor movements of every visitor in real-time" (yikes!)
bounceexchange.com
clicktale.com # "See absolutely everything your visitors do on your webpage ... See their every mouse move, click and keystroke"
clicktale.net # Redirect to `clicktale.com`
crosspixel.net # (cookies, localStorage) "leading provider of high performance audience data and information for the real-time advertising industry"
crsspxl.com # Related to crosspixel.net
datarating.com # see https://github.com/gorhill/httpswitchboard/issues/343
displaymarketplace.com
erovinmo.com # No info whatsoever from site itself can be found = naughty corner. Ironically spotted at "http://www.technologyreview.com/news/519336/bruce-schneier-nsa-spying-is-making-us-less-safe/" (also: http://www.mywot.com/en/scorecard/erovinmo.com)
exelator.com # "domain used by eXelate Media which is an advertising company that is part of a network of sites, cookies, and other technologies used to track you" (Ref.: http://www.donottrackplus.com/trackers/exelator.com.php)
everestjs.net # related to `everesttech.net`
everesttech.net # "search engine marketing (SEM) solutions", pixel image on the page, looks like tracking to me. Spotted @ `http://www.homedepot.ca/` (search worked fine when blocking this hostname)
eyereturn.com # "eyeReturn Marketing is the only end-to-end digital advertising platform in the market"
gigya.com # "The tools you need to connect with consumers, harness rich data, and make marketing relevant"
inmuiads.info #
janrainbackplane.com # "Easily visualize, segment and update customer profiles to enable true personalized marketing"
krxd.net # https://www.eff.org/deeplinks/2013/06/third-party-resources-nsa-leaks
lijit.com # "We provide online advertising services, audience analytics"
llnwd.net # http://en.wikipedia.org/wiki/Limelight_Networks
lduhtrp.net
mathtag.com # "domain used by MediaMath to place cookies, on behalf of its customers, on the computers of visitors to our selected customer's websites and who may view our customer's display advertisements"
mxpnl.com #
moatads.com # https://www.eff.org/deeplinks/2013/06/third-party-resources-nsa-leaks
mookie1.com # "Specializing in online digital advertising, search marketing"
msads.net # Sounds like ads, and no home web page...
omtrdc.net # Redirect to Omniture
outbrain.com # https://www.eff.org/deeplinks/2013/06/third-party-resources-nsa-leaks
panoramtech.net # As seen in a screenshot at http://arstechnica.com/security/2014/01/malware-vendors-buy-chrome-extensions-to-send-adware-filled-updates/
parsely.com # http://en.wikipedia.org/wiki/Parse.ly
peer39.net # https://www.eff.org/deeplinks/2013/06/third-party-resources-nsa-leaks
pub2srv.com # "This url is used by ad network Propeller Ads Media for ad serving"
servebom.com # no home page, seen as 'tracking.servebom.com': good enough for this list
# These have "tracking" in domain name...
tracking.tomsguide.com
tracking.tomshardware.com
tracking.tomshardware.co.uk
wunderloop.net # https://www.eff.org/deeplinks/2013/06/third-party-resources-nsa-leaks
yceml.net

@ -0,0 +1,30 @@
{
"mirror1.malwaredomains.com/files/immortal_domains.txt": {
"title": "Long-lived malware domains",
"homeURL": "http://dns-bh.sagadc.org/immortal_domains.txt"
},
"mirror1.malwaredomains.com/files/justdomains": {
"title": "Malware domains",
"homeURL": "http://malwaredomains.lehigh.edu/files/justdomains"
},
"pgl.yoyo.org/as/serverlist": {
"title": "Peter Lowes Ad server list",
"homeURL": "http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext"
},
"www.malwaredomainlist.com/hostslist/hosts.txt": {
"title": "Malware Domain List",
"homeURL": "http://www.malwaredomainlist.com/hostslist/hosts.txt"
},
"hosts-file.net/ad-servers": {
"title": "hpHostss Ad and tracking servers",
"homeURL": "http://hosts-file.net/.%5Cad_servers.txt"
},
"someonewhocares.org/hosts/hosts": {
"title": "Dan Pollocks hosts file",
"homeURL": "http://someonewhocares.org/hosts/hosts"
},
"winhelp2002.mvps.org/hosts.txt": {
"title": "MVPS HOSTS",
"homeURL": "http://winhelp2002.mvps.org/hosts.txt"
}
}

@ -1,192 +0,0 @@
#!/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 distutils.version import StrictVersion
from string import Template
# - Download target (raw) uMatrix.chromium.zip from GitHub
# - This is referred to as "raw" package
# - This will fail if not a dev build
# - Upload uMatrix.chromium.zip to Chrome store
# - Publish uMatrix.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 = 'eckgcipdkhcfghnmincccnhpdmnbefki'
tmpdir = tempfile.TemporaryDirectory()
raw_zip_filename = 'uMatrix_'+ version + '.chromium.zip'
raw_zip_filepath = os.path.join(tmpdir.name, raw_zip_filename)
github_owner = 'gorhill'
github_repo = 'uMatrix'
# 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 uMatrix.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.')

@ -1,321 +0,0 @@
#!/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 distutils.version import LooseVersion
from string import Template
# - Download target (raw) nuTensor.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 nuTensor.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 nuTensor.firefox.signed.xpi
# - This is referred to as "signed" package
# - Upload nuTensor.firefox.signed.xpi to GitHub
# - Remove nuTensor.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 = 'nuTensor@geekprojects.com'
tmpdir = tempfile.TemporaryDirectory()
raw_xpi_filename = 'nuTensor_' + tag_version + '.firefox.xpi'
raw_xpi_filepath = os.path.join(tmpdir.name, raw_xpi_filename)
unsigned_xpi_filepath = os.path.join(tmpdir.name, 'nuTensor.firefox.unsigned.xpi')
signed_xpi_filename = 'nuTensor_' + tag_version + '.firefox.signed.xpi'
signed_xpi_filepath = os.path.join(tmpdir.name, signed_xpi_filename)
github_owner = 'geekprojects'
github_repo = 'nuTensor'
# 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, 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 nuTensor.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
#
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))
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).decode()
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 = 15 * 60 / interval # for at most 15 minutes
headers = { 'Authorization': get_jwt_auth(), }
data = { 'channel': 'unlisted' }
files = { 'upload': f, }
signing_url = 'https://addons.mozilla.org/api/v3/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:
sys.stdout.write('.')
sys.stdout.flush()
time.sleep(interval)
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.
#
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 LooseVersion(ext_version) > LooseVersion(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)
with open(updates_json_filepath, 'w') as f:
f.write(updates_json)
f.close()
# Automatically git add/commit if needed.
# - 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.')

@ -1,14 +0,0 @@
{
"addons": {
"nuTensor@geekprojects.com": {
"updates": [
{
"version": "1.4.1.6",
"browser_specific_settings": { "gecko": { "strict_min_version": "56" } },
"update_info_url": "https://github.com/geekprojects/nuTensor/releases/tag/1.4.1b6",
"update_link": "https://github.com/geekprojects/nuTensor/releases/download/1.4.1b6/nuTensor_1.4.1b6.firefox.signed.xpi"
}
]
}
}
}

@ -1,14 +0,0 @@
{
"addons": {
"nuTensor@geekprojects.com": {
"updates": [
{
"version": "$ext_version",
"browser_specific_settings": { "gecko": { "strict_min_version": "56" } },
"update_info_url": "https://github.com/geekprojects/nuTensor/releases/tag/$tag_version",
"update_link": "https://github.com/geekprojects/nuTensor/releases/download/$tag_version/nuTensor_$tag_version.firefox.signed.xpi"
}
]
}
}
}

1
dist/version vendored

@ -1 +0,0 @@
1.5.0.0

@ -1,39 +0,0 @@
## Building nuTensor
### Requirements
Tools:
* bash
* python 3
You will need both this nuTensor and the nuAssets repositories. These should both be placed in the same directory:
```
git clone https://github.com/geekprojects/nuAssets.git
git clone https://github.com/geekprojects/nuTensor.git
cd nuTensor
```
### Packaging
You can now run the scripts that package everything up.
These are bash scripts. They have only been tested on Linux and MacOS.
#### For Firefox
```
tools/make-firefox.sh all
```
#### For Chrome/Chromium (Not yet tested)
```
tools/make-chromium.sh all
```
#### For Opera (Not yet tested)
```
tools/make-opera.sh
```
The installation package should now be found in dist/build/
### Installing
Follow the instructions in [README.md](README.md) to install it.

@ -1,8 +1,8 @@
### This is uMatrix's manifesto ### This is µMatrix's manifesto
1. The **user decides** what web content is acceptable or not in their browser. 1. The **user decides** what web content is acceptable or not in their browser.
That is all. That is all.
The purpose of _uMatrix_ is to give the user the means for informed The purpose of _µMatrix_ is to give the user the means for informed
consent and informed dissent. consent and informed dissent.

@ -2,16 +2,16 @@
#### Chromium #### Chromium
- Download and unzip `nuTensor.chromium.zip` ([latest release desirable](https://github.com/geekprojects/nuTensor/releases)). - Download and unzip `uMatrix.chromium.zip` ([latest release desirable](https://github.com/gorhill/uMatrix/releases)).
- Rename the unzipped directory to `nuTensor` - Rename the unzipped directory to `umatrix`
- When you later update manually, replace the **content** of the `nuTensor` folder with the **content** of the latest zipped version. - When you later update manually, replace the **content** of the `umatrix` folder with the **content** of the latest zipped version.
- This will ensure that all the extension settings will be preserved - This will ensure that all the extension settings will be preserved
- As long as the extension loads **from same folder path from which it was originally installed**, all your settings will be preserved. - As long as the extension loads **from same folder path from which it was originally installed**, all your settings will be preserved.
- Go to chromium/chrome *Extensions*. - Go to chromium/chrome *Extensions*.
- Click to check *Developer mode*. - Click to check *Developer mode*.
- Click *Load unpacked extension...*. - Click *Load unpacked extension...*.
- In the file selector dialog: - In the file selector dialog:
- Select the directory `nuTensor` which was created above. - Select the directory `umatrix` which was created above.
- Click *Open*. - Click *Open*.
The extension will now be available in your chromium/chromium-based browser. The extension will now be available in your chromium/chromium-based browser.
@ -22,16 +22,16 @@ Remember that you have to update manually also. For some users, updating manuall
#### Firefox #### Firefox
Although nuTensor is a restartless addon, I found that **installing** a newer version over an older one often will glitch the installation. These steps always worked fine: Although uMatrix is a restartless addon, I found that **installing** a newer version over an older one often will glitch the installation. These steps always worked fine:
- Download `nuTensor.firefox.xpi` ([latest release desirable](https://github.com/geekprojects/nuTensor/releases)). - Download `uMatrix.firefox.xpi` ([latest release desirable](https://github.com/gorhill/uMatrix/releases)).
- Uninstall current nuTensor if already installed - Uninstall current uMatrix if already installed
- Quit Firefox completely - Quit Firefox completely
- Launch Firefox - Launch Firefox
- Drag and drop the previously downloaded `nuTensor.firefox.xpi` into Firefox - Drag and drop the previously downloaded `uMatrix.firefox.xpi` into Firefox
nuTensor settings are kept intact even after you uninstall the addon. uMatrix settings are kept intact even after you uninstall the addon.
On Linux, the settings are saved in a SQlite file located at `~/.mozilla/firefox/[profile name]/extension-data/nuTensor.sqlite`. On Linux, the settings are saved in a SQlite file located at `~/.mozilla/firefox/[profile name]/extension-data/umatrix.sqlite`.
On Windows, the settings are saved in a SQlite file located at `%APPDATA%\Mozilla\Firefox\Profiles\[profile name]\extension-data\nuTensor.sqlite`. On Windows, the settings are saved in a SQlite file located at `%APPDATA%\Mozilla\Firefox\Profiles\[profile name]\extension-data\umatrix.sqlite`.

@ -4,7 +4,9 @@ uMatrix gibt dir volle Kontrolle darüber, womit sich dein Browser verbindet, we
Voreingestellt arbeitet uMatrix in einem gelockerten "blockiere alles/erlaube ausnahmsweise"-Modus, was dazu führt, dass viele Webseiten, die Skripte von Drittseiten benötigen, "kaputt" sein werden. Mit zwei Klicks kannst du aber dafür sorgen, dass uMatrix in einem "erlaube alles/blockiere ausnahmsweise"-Modus arbeitet, der normalerweise Webseiten nicht kaputt macht. Details dazu auf https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views for more details on this topic. Voreingestellt arbeitet uMatrix in einem gelockerten "blockiere alles/erlaube ausnahmsweise"-Modus, was dazu führt, dass viele Webseiten, die Skripte von Drittseiten benötigen, "kaputt" sein werden. Mit zwei Klicks kannst du aber dafür sorgen, dass uMatrix in einem "erlaube alles/blockiere ausnahmsweise"-Modus arbeitet, der normalerweise Webseiten nicht kaputt macht. Details dazu auf https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views for more details on this topic.
* Sieh ALLE Verbindungen, ob fehlgeschlagen oder erfolgreich, je nachdem ob du sie blockiert oder erlaubt hast (deine Entscheidung). Die Behauptung: "Chromium-basierte Browser können nicht zuverlässig Javascript blockieren" ist ein reiner Mythos, siehe dazu: https://github.com/gorhill/httpswitchboard/wiki/Blocking-javascript-execution-reliably-in-Chromium-based-browsers. Kurz: Doch, Javascript kann sehr wohl zuverlässig in Chromium blockiert werden.
* Sehe ALLE Verbindungen, ob fehlgeschlagen oder erfolgreich, je nachdem ob du sie blockiert oder erlaubt hast (deine Entscheidung).
* Erlaube/blockiere mit einem Klick eine oder mehrere Arten von Verbindungsanfragen deines Browsers je nach Ziel und Datentyp (eine blockierte Anfrage wird NIE deinen Browser verlassen). * Erlaube/blockiere mit einem Klick eine oder mehrere Arten von Verbindungsanfragen deines Browsers je nach Ziel und Datentyp (eine blockierte Anfrage wird NIE deinen Browser verlassen).
@ -52,6 +54,20 @@ Noch unvollständige Dokumentation: https://github.com/gorhill/uMatrix/wiki
===== =====
FEEDBACK:
Bei allen Fragen und Problemen bitte auf "Feedback geben" klicken, um mir die Gelegenheit zu einer Antwort zu geben. Ich kann auf Bewertungen nicht direkt antworten, aber ich werde dir sehr gern direkt im Feedback-Bereich Antwort geben.
=====
FEHLER, PROBLEME, VORSCHLÄGE:
https://github.com/gorhill/uMatrix/issues
Du bist sehr willkommen, deine Ansichten zu offenen Problemen, Vorschlägen und Argumenten zu präsentieren, um mir bei der Entscheidung zu helfen, wie ich diese Erweiterung noch besser machen kann.
Leichte Bedienbarkeit ist das vorrangige Ziel. Ich habe Benutzer erlebt, die bei der Firefox-Erweiterung NoScript aufgegeben haben, weil es ihnen zu viele Steine in den Weg legte. Anstatt diese Benutzer wegen ihrer verbesserungswürdigen Sicherheitsgewohnheiten zu kritisieren, kritisiere ich stattdessen die Entwickler. Dieses Projekt ist ein zaghafter Versuch, die Gründe anzugehen, die dazu führen, dass Benutzer bezüglich grundlegender Sicherheitsmaßnahmen aufgeben.
Diese Erweiterung ist auch nützlich, um zu verstehen, was eine Webseite in deinem Browser macht, oft ohne dein Wissen. Du bist voll in der Lage zu sehen und darüber zu entscheiden, mit wem eine Webseite kommuniziert, und diese Kommunikation auf bestimmte Klassen von Objekten zu beschränken. Diese Erweiterung ist auch nützlich, um zu verstehen, was eine Webseite in deinem Browser macht, oft ohne dein Wissen. Du bist voll in der Lage zu sehen und darüber zu entscheiden, mit wem eine Webseite kommuniziert, und diese Kommunikation auf bestimmte Klassen von Objekten zu beschränken.
Die Zahl, die im Symbol der Erweiterung auftaucht, entspricht der Gesamtzahl der einzelnen versuchten Anfragen der Webseite (ob erfolgreich oder nicht, ist abhängig davon, ob du sie erlaubt oder verboten hast). Die Zahl, die im Symbol der Erweiterung auftaucht, entspricht der Gesamtzahl der einzelnen versuchten Anfragen der Webseite (ob erfolgreich oder nicht, ist abhängig davon, ob du sie erlaubt oder verboten hast).
@ -72,8 +88,6 @@ Diese Erweiterung ist auch nützlich, um das Surfen zu beschleunigen, indem z.B.
===== =====
FEHLER, PROBLEME: https://github.com/gorhill/uMatrix/issues
QUELLCODE: https://github.com/gorhill/uMatrix (GPLv3) QUELLCODE: https://github.com/gorhill/uMatrix (GPLv3)
ÄNDERUNGSPROTOKOLL: https://github.com/gorhill/uMatrix/releases ÄNDERUNGSPROTOKOLL: https://github.com/gorhill/uMatrix/releases

@ -0,0 +1,93 @@
µMatrix: A point-and-click matrix-based firewall, with many privacy-enhancing tools. For advanced users.
µMatrix put you in full control of where your browser is allowed to connect, what type of data it is allowed to download, and what it is allowed to execute. Nobody else decides for you: You choose. You are in full control of your privacy.
Out of the box, µMatrix works in relax block-all/allow-exceptionally mode, meaning web sites which require 3rd-party scripts are likely to be "broken". With two clicks, µMatrix can be set to work in allow-all/block-exceptionally mode, which generally will not break web sites. See https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views for more details on this topic.
Regarding the myth that "Chromium-based browsers can't reliably block javascript", see: https://github.com/gorhill/httpswitchboard/wiki/Blocking-javascript-execution-reliably-in-Chromium-based-browsers. Summary: Yes, javascript can be blocked reliably in Chromium.
* See ALL the remote connections, failed or attempted, depending on whether they were blocked or allowed (you decide).
* A single-click to whitelist/blacklist one or multiple classes of requests according to the destination and type of data (a blocked request will NEVER leave your browser).
* Efficient blacklisting: cookies won't leave your browser, javascript won't execute, plugins won't play, tracking pixels won't download, etc.
* You do not have to solely rely on just one particular curated blacklist (arguably with many missing entries) outside which nothing else can be blocked: You are in full control.
* Ease of use: µMatrix lets you easily whitelist/blacklist net requests which originate from within a web page according to a point-and-click matrix:
- domain names (left column)
* from very specific
* to very generic
- type of requests (top row)
* cookies
* CSS-related resources (stylesheets and web fonts)
* images
* plugins
* scripts
* XHR (requests made by scripts)
* frames
* others
You can blacklist/whitelist a single cell, an entire row, a group of rows, an entire column, or the whole matrix with just one click.
µMatrix's filtering engine uses precedence logic to evaluate what is blocked/allowed according to which cells are blacklisted/whitelisted. For example, this allows you to whitelist a whole page with one click, without having to repeatedly whitelist whatever new data appear on the page.
All rules are scoped. For example, you can block `facebook.com` and `facebook.net` everywhere except when visiting a page on `www.facebook.com`. This way Facebook won't be able to build a profile of your browsing habits.
The goal of this extension is to make the allowing or blocking of web sites, wholly or partly, as straightforward as possible, so as to encourage users to care about their privacy.
The extension comes with 3rd-party hosts files totaling over 58,000 distinct hostnames (lists can be selectively disabled/enabled according to your choice).
Ultimately, you can choose however you browse the net:
* Blacklist all by default, and whitelist as needed (default mode).
* Whitelist all by default, and blacklist as needed.
Either way, you still benefit from the preset blacklists so that at least you get basic protection from trackers, malware sites, etc. Or you can disable all of these preset blacklists.
Your choice.
Randomly assembled documentation: https://github.com/gorhill/uMatrix/wiki
=====
FEEDBACK:
For any question/issue you might have, use the "Send Feedback" button on the right, in order for me to be able to answer readily. I can't answer directly to reviews, but I will be more than happy to answer you directly in the feedback section.
=====
BUGS, ISSUES, SUGEGSTIONS:
https://github.com/gorhill/uMatrix/issues
You are very welcomed to contribute your views on open issues and suggestions, various arguments for/against help me in deciding what is needed to improve the extension.
Ease of use is the primary goal. I've seen users give up on Firefox's NoScript because it gets too much in the way according to them, so rather than blame these users for poor security habits, I prefer to blame developers and this project is a tentative to address the issues which cause some users to give up on basic security.
This extension is also useful to understand what the web page in your browser is doing, often without your knowledge. You have full ability to see and decide with whom a web page communicates, and to restrict these communications to specific classes of objects within the web page.
The number which appear in the extension icon correspond to the total number of distinct requests attempted (successfully or not depending on whether these were allowed or blocked) by the web page.
Simply click on the appropriate entry in the matrix in order to white-, black- or graylist a component. Graylisting means the blocked or allowed status will be inherited from another cell with higher precedence in the matrix.
Red square = effectively blacklisted, i.e. requests are prevented from reaching their intended destination:
* Dark red square: the domain name and/or type of request is specifically blacklisted.
* Faded red square: the blacklist status is inherited because the entry is graylisted.
Green square = effectively whitelisted, i.e. requests are allowed to reach their intended destination:
* Dark green square: the domain name and/or type of request is specifically whitelisted.
* Faded green square: the whitelist status is inherited because the entry is graylisted.
The top-left cell in the matrix, the "all" cell, represents the default global setting, which allows you to choose whether allowing or blocking everything is the default behavior. Some prefer to allow everything while blocking exceptionally. My personal preference is of course the reverse, blocking everything and allowing exceptionally.
This extension is also useful if you wish to speed up your browsing, by globally blocking all requests for images as an example.
=====
SOURCE CODE: https://github.com/gorhill/uMatrix (GPLv3)
CHANGE LOG: https://github.com/gorhill/uMatrix/releases

@ -0,0 +1,81 @@
uMatrix: A point-and-click matrix-based firewall, with many privacy-enhancing tools. For advanced users.
*For advanced users.*
uMatrix put you in full control of where your browser is allowed to connect, what type of data it is allowed to download, and what it is allowed to execute. Nobody else decides for you: You choose. You are in full control of your privacy.
Out of the box, uMatrix works in relax block-all/allow-exceptionally mode, meaning web sites which require 3rd-party scripts are likely to be "broken". With two clicks, uMatrix can be set to work in allow-all/block-exceptionally mode, which generally will not break web sites. See https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views for more details on this topic.
* See ALL the remote connections, failed or attempted, depending on whether they were blocked or allowed (you decide).
* A single-click to whitelist/blacklist one or multiple classes of requests according to the destination and type of data (a blocked request will NEVER leave your browser).
* Efficient blacklisting: cookies won't leave your browser, javascript won't execute, plugins won't play, tracking pixels won't download, etc.
* You do not have to solely rely on just one particular curated blacklist (arguably with many missing entries) outside which nothing else can be blocked: You are in full control.
* Ease of use: uMatrix lets you easily whitelist/blacklist net requests which originate from within a web page according to a point-and-click matrix:
- domain names (left column)
* from very specific
* to very generic
- type of requests (top row)
* cookies
* CSS-related resources (stylesheets and web fonts)
* images
* plugins
* scripts
* XHR (requests made by scripts)
* frames
* others
You can blacklist/whitelist a single cell, an entire row, a group of rows, an entire column, or the whole matrix with just one click.
uMatrix's filtering engine uses precedence logic to evaluate what is blocked/allowed according to which cells are blacklisted/whitelisted. For example, this allows you to whitelist a whole page with one click, without having to repeatedly whitelist whatever new data appear on the page.
All rules are scoped. For example, you can block `facebook.com` and `facebook.net` everywhere except when visiting a page on `www.facebook.com`. This way Facebook won't be able to build a profile of your browsing habits.
The goal of this extension is to make the allowing or blocking of web sites, wholly or partly, as straightforward as possible, so as to encourage users to care about their privacy.
The extension comes with 3rd-party hosts files totaling over 62,000 distinct hostnames (lists can be selectively disabled/enabled according to your choice).
Ultimately, you can choose however you browse the net:
* Blacklist all by default, and whitelist as needed (default mode).
* Whitelist all by default, and blacklist as needed.
Either way, you still benefit from the preset blacklists so that at least you get basic protection from trackers, malware sites, etc. Or you can disable all of these preset blacklists.
Your choice.
Randomly assembled documentation: https://github.com/gorhill/uMatrix/wiki (it needs work)
=====
This extension is also useful to understand what the web page in your browser is doing, often without your knowledge. You have full ability to see and decide with whom a web page communicates, and to restrict these communications to specific classes of objects within the web page.
The number which appear in the extension icon correspond to the total number of distinct requests attempted (successfully or not depending on whether these were allowed or blocked) by the web page.
Simply click on the appropriate entry in the matrix in order to white-, black- or graylist a component. Graylisting means the blocked or allowed status will be inherited from another cell with higher precedence in the matrix.
Red square = effectively blacklisted, i.e. requests are prevented from reaching their intended destination:
* Dark red square: the domain name and/or type of request is specifically blacklisted.
* Faded red square: the blacklist status is inherited because the entry is graylisted.
Green square = effectively whitelisted, i.e. requests are allowed to reach their intended destination:
* Dark green square: the domain name and/or type of request is specifically whitelisted.
* Faded green square: the whitelist status is inherited because the entry is graylisted.
The top-left cell in the matrix, the "all" cell, represents the default global setting, which allows you to choose whether allowing or blocking everything is the default behavior. Some prefer to allow everything while blocking exceptionally. My personal preference is of course the reverse, blocking everything and allowing exceptionally.
This extension is also useful if you wish to speed up your browsing, by globally blocking all requests for images as an example.
=====
BUGS, ISSUES: https://github.com/gorhill/uMatrix/issues
SOURCE CODE: https://github.com/gorhill/uMatrix (GPLv3)
CHANGE LOG: https://github.com/gorhill/uMatrix/releases

@ -1,12 +1,12 @@
uMatrix: Un cortafuegos matricial ajustable mediante clics, con varias herramientas para mejorar su privacidad. µMatrix: Un cortafuegos matricial ajustable mediante clics, con varias herramientas para mejorar su privacidad. Para usuarios avanzados.
*Para usuarios avanzados* µMatrix le proporciona control total sobre su navegador, permitiendo decidir que conexiones se establecen, que tipo de datos se descargan y que códigos se ejecutan. Nadie más decide por usted: Usted escoge. Usted está en control total de su privacidad.
uMatrix le proporciona control total sobre su navegador, permitiéndole decidir que conexiones se establecen, que tipo de datos se descargan y que códigos se ejecutan. Nadie más decide: usted escoge. Usted está en control total de su privacidad. Por defecto, µMatrix funciona en modo relajado "bloquear todo/permitir excepcionalmente". Esto significa que los sitios que requieren scripts de terceros, posiblemente se muestren con problemas. Con solo dos clics, puede configurar µMatrix para funcionar en modo "permitir todo/bloquear excepcionalmente", lo que hará que usualmente los sitios web se muestren sin problema. Para más detalles sobre el tema consulte https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views (en inglés).
Por defecto, uMatrix funciona en modo relajado "bloquear todo/permitir excepcionalmente". Esto significa que los sitios que requieren scripts de terceros, posiblemente se muestren con problemas. Con solo dos clics, puede configurar uMatrix para funcionar en modo "permitir todo/bloquear excepcionalmente", lo que hará que usualmente los sitios web se muestren sin problema. Para más detalles sobre el tema, consulte https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views (en inglés). En cuanto al mito de que los navegadores basados en Chromium no pueden bloquear JavaScript de manera adecuada, vea: https://github.com/gorhill/httpswitchboard/wiki/Blocking-javascript-execution-reliably-in-Chromium-based-browsers (en inglés). En resumen: Si, JavaScript puede ser bloqueado de forma segura en Chromium.
* Examine TODAS las conexiones remotas, fallidas o intentadas, según fueron bloqueadas o permitidas (usted decide). * Examine todas las conexiones remotas, fallidas o intentadas, según fueron bloqueadas o permitidas (usted decide).
* Con un solo clic añada a su lista de permitidos o a su lista negra, uno o varios tipos de peticiones, según el destino y el tipo de datos (una petición bloqueada NUNCA saldrá del navegador). * Con un solo clic añada a su lista de permitidos o a su lista negra, uno o varios tipos de peticiones, según el destino y el tipo de datos (una petición bloqueada NUNCA saldrá del navegador).
@ -14,7 +14,7 @@ Por defecto, uMatrix funciona en modo relajado "bloquear todo/permitir excepcion
* No tiene que depender de una sola lista de filtros (probablemente con muchas omisiones) fuera de la cual nada pueda ser bloqueado: usted controla todo. * No tiene que depender de una sola lista de filtros (probablemente con muchas omisiones) fuera de la cual nada pueda ser bloqueado: usted controla todo.
* Facilidad de uso: uMatrix le permite agregar fácilmente las peticiones de red que se originen desde una página web a una lista de permitidos/lista negra, mediante clics en la matriz: * Facilidad de uso: µMatrix le permite agregar fácilmente las peticiones de red que se originen desde una página web a una lista de permitidos/lista negra, mediante clics en la matriz:
- nombres de dominio (columna izquierda) - nombres de dominio (columna izquierda)
* de muy específico * de muy específico
@ -32,13 +32,13 @@ Por defecto, uMatrix funciona en modo relajado "bloquear todo/permitir excepcion
Puede agregar a la lista negra/lista de permitidos una única celda, una fila completa, un grupo de filas, una columna o toda la matriz, todo con solo un clic. Puede agregar a la lista negra/lista de permitidos una única celda, una fila completa, un grupo de filas, una columna o toda la matriz, todo con solo un clic.
El motor de filtrado de uMatrix usa lógica de precedencia para evaluar que bloquea o permite, en dependencia de las celdas en lista de permitidos o lista negra. Por ejemplo, puede agregar toda una página a la lista de permitidos con un clic, sin que sea necesario agregar nuevos elementos que puedan aparecer luego en dicha página uno a uno. El motor de filtrado de µMatrix usa lógica de precedencia para evaluar que bloquea o permite, en dependencia de las celdas en lista de permitidos o lista negra. Por ejemplo, puede agregar toda una página a la lista de permitidos con un clic, sin que sea necesario agregar nuevos elementos que puedan aparecer luego en dicha página uno a uno.
Todas las reglas se definen para un ámbito. Puede, por ejemplo, bloquear elementos de `facebook.com` y `facebook.net` dondequiera, excepto cuando esté navegando en una página en el sitio`www.facebook.com`. De esta forma, Facebook se verá imposibilitado de crear o reunir un perfil sobre sus hábitos de navegación web. Todas las reglas se definen para un ámbito. Puede, por ejemplo, bloquear elementos de `facebook.com` y `facebook.net` dondequiera, excepto cuando esté navegando en una página en el sitio`www.facebook.com`. De esta forma, Facebook se verá imposibilitado de crear o reunir un perfil sobre sus hábitos de navegación web.
El objetivo de esta extensión es hacer todo el proceso de permitir o bloquear sitios web tan simple como sea posible, de manera tal que los usuarios se sientan alentados a preocuparse por su privacidad. El objetivo de esta extensión es hacer todo el proceso de permitir o bloquear sitios web tan simple como sea posible, de manera tal que los usuarios se sientan alentados a preocuparse por su privacidad.
La extensión hace uso de ficheros hosts mantenidos por terceros, con más de 62,000 nombres de dominios diferentes (las listas pueden ser habilitadas/deshabilitadas según su deseo). La extensión hace uso de ficheros hosts mantenidos por terceros, con más de 58 000 nombres de dominios diferentes (las listas pueden ser habilitadas/deshabilitadas según su deseo).
Al final, usted decide de que manera navegar por la red: Al final, usted decide de que manera navegar por la red:
@ -50,10 +50,24 @@ En cualquier modo, siempre se beneficiará de los filtros ya configurados, que l
Usted elige. Usted elige.
Documentación miscelánea reunida: https://github.com/gorhill/uMatrix/wiki (incompleta) Documentación miscelánea reunida: https://github.com/gorhill/uMatrix/wiki
===== =====
OPINIONES:
Para una una pronta respuesta sobre preguntas o problemas que puedan surgir, use la sección de "OPINIONES", a la derecha. No me es posible responder directamente a los comentarios y revisiones en foros, pero estaré más que feliz de darle una respuesta directa en la sección de Opiniones.
=====
ERRORES, PROBLEMAS, SUGERENCIAS:
https://github.com/gorhill/uMatrix/issues
Es bienvenido a contribuir con sus puntos de vista, sugerencias y argumentos a favor o en contra sobre cualquier tema abierto, que me ayuden a decidir que se necesita para hacer esta extensión mejor.
La facilidad de uso es el objetivo primario. He visto a usuarios desistir en el uso de la extensión NoScript para Firefox porque, según ellos, interfiere demasiado. Así que en vez de culpar a los usuarios acerca de sus pobres hábitos en temas relativos a su privacidad, he preferido culpar a los programadores, intentando resolver mediante este proyecto los problemas que hacen que los usuarios cesen de preocuparse sobre aspectos básicos de su seguridad.
Esta extensión también es útil para entender que hace una página web abierta por el navegador, muchas veces sin su conocimiento. Usted será totalmente capaz de decidir con quien se comunica una página web, y restringir dicha comunicación a determinados tipos de objetos dentro de la página. Esta extensión también es útil para entender que hace una página web abierta por el navegador, muchas veces sin su conocimiento. Usted será totalmente capaz de decidir con quien se comunica una página web, y restringir dicha comunicación a determinados tipos de objetos dentro de la página.
El número que aparece en el ícono de la extensión se corresponde con el número total de peticiones diferentes hechas por la página web (ya sea que tuvieron éxito o no, de acuerdo a si fueron bloqueadas o permitidas). El número que aparece en el ícono de la extensión se corresponde con el número total de peticiones diferentes hechas por la página web (ya sea que tuvieron éxito o no, de acuerdo a si fueron bloqueadas o permitidas).
@ -74,8 +88,6 @@ Esta extensión también puede ser útil si desea aumentar la velocidad de naveg
===== =====
ERRORES, PROBLEMAS: https://github.com/gorhill/uMatrix/issues
CÓDIGO FUENTE: https://github.com/gorhill/uMatrix (GPLv3) CÓDIGO FUENTE: https://github.com/gorhill/uMatrix (GPLv3)
REGISTRO DE CAMBIOS: https://github.com/gorhill/uMatrix/releases REGISTRO DE CAMBIOS: https://github.com/gorhill/uMatrix/releases

@ -1,20 +1,20 @@
uMatrix : Un parefeu matriciel configurable à la volée, avec de nombreux outils d'amélioration de la vie privée en ligne. Pour utilisateurs avancés. µMatrix : Un parefeu matriciel configurable à la volée, avec de nombreux outils d'amélioration de la vie privée en ligne. Pour utilisateurs avancés.
*Pour utilisateurs avancés* µMatrix vous donne les pleins pouvoirs sur votre navigateur. Vous contrôlez où il se connecte, ce qu'il télécharge, et ce qu'il exécute. Personne d'autre que vous ne prendra de décisions. Vous avez toutes les cartes en main pour protéger votre confidentialité.
uMatrix vous donne les pleins pouvoirs sur votre navigateur. Vous contrôlez où il se connecte, ce qu'il télécharge, et ce qu'il exécute. Personne d'autre ne décidera pour vous. Vous avez toutes les cartes en main pour protéger votre confidentialité. Après installation, µMatrix fonctionne en mode "Blocage total/Permissions exceptionnelles", ce qui veut dire que les sites Web ayant besoin de contenus tiers sont susceptibles de ne pas fonctionner correctement. En deux clics, µMatrix peut fonctionner en mode "Autorisation totale/Blocage exceptionnel", qui en principe n'empêchera pas les sites Web de fonctionner. Pour plus d'informations sur ce sujet, consultez cette page en Anglais : https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views .
Après installation, uMatrix fonctionne en mode "Blocage total/Permissions exceptionnelles", ce qui veut dire que les sites Web ayant besoin de contenus tiers sont susceptibles de ne pas fonctionner correctement. En deux clics, uMatrix peut fonctionner en mode "Autorisation totale/Blocage exceptionnel", ce qui en principe n'empêchera pas les sites Web de fonctionner. Pour plus d'informations sur ce sujet, consultez cette page en Anglais : https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views . En ce qui concerne le mythe disant que "les navigateurs basés sur Chromium ne peuvent bloquer du Javascript en toute fiabilité", consultez cette page en Anglais : https://github.com/gorhill/httpswitchboard/wiki/Blocking-javascript-execution-reliably-in-Chromium-based-browsers . Pour résumer ce qui y est dit : Si, le Javascript peut être bloqué en toute confiance au sein d'un navigateur basé sur Chromium.
* Consultez TOUTES les tentatives de connexions distantes, échouées ou réussies, selon qu'elles soient bloquées ou autorisées (c'est vous qui décidez). * Consultez TOUTES les tentatives de connexions distantes, échouées ou réussies, selon qu'elles soient bloquées ou autorisées (c'est vous qui le décidez).
* En un clic, vous pouvez mettre en liste blanche/noire une ou plusieurs sorte(s) de requête(s) d'après la destination et le type des données (sachant qu'une requête bloquée ne "partira" JAMAIS de votre navigateur). * En un clic, vous pouvez mettre en liste blanche/noire une ou plusieurs sorte(s) de requête(s) d'après la destination et le type des données (sachant qu'une requête bloquée ne "s'en ira" JAMAIS de votre navigateur).
* Blocage efficace : Les cookies ne partiront pas de votre navigateur, le code JavaScript ne sera pas exécuté, les plugins ne démarreront pas, les pixels de pistage ne seront pas téléchargés, etc. * Blocage efficace : Les cookies ne partiront pas de votre navigateur, le code JavaScript ne sera pas exécuté, les plugins ne démarreront pas, les pixels de pistage ne seront pas téléchargés, etc.
* Vous n'avez pas à vous reposer sur une unique liste prédéfinie de blocage (dans laquelle il manquerait beaucoup d'éléments), avec la possibilité de cumuler l'emploi de plusieurs listes de ce genre, vous avez entièrement le contrôle. * Vous n'avez pas à vous reposer que sur une seule liste prédéfinie de blocage (dans laquelle il manquerait beaucoup d'éléments), en ayant la possibilité de cumuler l'emploi de plusieurs listes de ce genre, vous avez entièrement le contrôle.
* Facilité d'utilisation : uMatrix vous laisse aisément mettre en liste blanche/noire des requêtes réseau provenant d'une page Web, d'après une matrice qui vous permet de manipuler en quelques clics de souris : * Facilité d'utilisation : µMatrix vous laisse aisément mettre en liste blanche/noire des requêtes réseau provenant d'une page Web, d'après une matrice qui vous permet de manipuler en quelques clics de souris :
- Les noms de domaine (colonne de gauche) - Les noms de domaine (colonne de gauche)
* de très spécifique * de très spécifique
@ -32,28 +32,42 @@ Après installation, uMatrix fonctionne en mode "Blocage total/Permissions excep
En un clic, vous pouvez mettre en liste noire/blanche une simple cellule, une ligne entière, un ensemble de lignes, une colonne entière, ou toute la matrice. En un clic, vous pouvez mettre en liste noire/blanche une simple cellule, une ligne entière, un ensemble de lignes, une colonne entière, ou toute la matrice.
Le moteur de filtrage de uMatrix utilise une logique de priorité pour évaluer ce qui doit être bloqué/autorisé d'après l'état des cellules (liste noire/blanche). Par exemple, cela vous permet de mettre en liste blanche toute une page Web en un clic, sans avoir à mettre en liste blanche de manière répétitive toute nouvelle donnée apparaissant sur la page. Le moteur de filtrage de µMatrix utilise une logique de priorité pour évaluer ce qui doit être bloqué/autorisé d'après l'état des cellules (liste noire/blanche). Par exemple, cela vous permet de mettre en liste blanche toute une page Web en un clic, sans avoir à mettre en liste blanche de manière répétitive toute nouvelle donnée apparaissant sur la page.
Toutes les règles sont contextualisées. Par exemple, vous pouvez bloquer "facebook.com" et "facebook.net" partout sauf lorsque vous visitez une page sur "www.facebook.com". Ainsi Facebook ne pourrait pas définir un profil de vous en se basant sur vos habitudes de navigation. Toutes les règles sont contextualisées. Par exemple, vous pouvez bloquer "facebook.com" et "facebook.net" partout sauf lorsque vous visitez une page sur "www.facebook.com". Ainsi Facebook ne pourrait pas définir un profil de vous en se basant sur vos habitudes de navigation.
Le but de cette extension est de rendre l'autorisation/le refus de sites Web, en totalité ou partiellement, aussi direct(e) que possible, pour encourager les utilisateurs à se préoccuper de leur confidentialité. Le but de cette extension est de rendre l'autorisation/le refus de sites Web, en totalité ou partiellement, aussi direct(e) que possible, pour encourager les utilisateurs à se préoccuper de leur confidentialité.
L'extension fournit des listes prédéfinies de blocage totalisant plus de 62 000 noms de domaine différents, sachant que chacune de ces listes peut être désactivée/activé selon votre choix. L'extension fournit des listes prédéfinies de blocage totalisant plus de 58 000 noms de domaine différents, sachant que chacune de ces listes peut être désactivée/activé selon votre choix.
Enfin, vous pouvez choisir comment surfer sur le Net : Enfin, vous pouvez choisir comment surfer sur le Net :
* Tout mettre en liste noire, et accorder des permissions exceptionnelles si besoin est (il s'agit du mode par défaut). * Tout mettre en liste noire, et accorder des permissions exceptionnelles si besoin est (il s'agit du mode par défaut).
* Tout mettre en liste blanche, et bloquer si nécessaire. * Tout mettre en liste blanche, et bloquer exceptionnellement si nécessaire.
De toute manière, vous bénéficierez toujours des listes de règles prédéfinis pour avoir une protection décente contre les pisteurs, les sites Web malveillants, etc. Ou vous pouvez désactiver tout cela. De toute manière, vous bénéficierez toujours des listes de règles prédéfinis pour avoir une protection décente contre les pisteurs, les sites Web malveillants, etc. Ou vous pouvez désactiver tout cela.
Encore une fois, c'est votre choix. Encore une fois, c'est votre choix.
Retrouvez ici en langue anglaise de la documentation rassemblée aléatoirement sur l'extension : https://github.com/gorhill/uMatrix/wiki (page en construction). Retrouvez ici en langue anglaise de la documentation rassemblée aléatoirement sur l'extension : https://github.com/gorhill/uMatrix/wiki .
===== =====
RETOURS :
Quelque soit le doute/problème rencontré, n'hésitez pas à me contacter. Je ne peux pas répondre directement aux avis des utilisateurs sur Chrome/Opera Web Store, mais je serais ravi de vous répondre directement dans la section adéquate.
=====
PROBLÈMES & SUGGESTIONS :
https://github.com/gorhill/uMatrix/issues .
Vous êtes plus que bienvenus pour rapporter des soucis et des suggestions, divers arguments de type pour ou contre m'aideront à décider ce qu'il faut améliorer dans l'extension.
Le but premier c'est la facilité d'utilisation. J'ai déjà vu des utilisateurs jeter l'éponge au sujet de l'extension NoScript parce qu'elle leur a paru trop contraignante, alors plutôt que de les blâmer pour de piètres habitudes de sécurité, je préfère en vouloir aux développeurs et ce projet est une tentative de rectifier ces erreurs qui ont entrainé l'abandon des bonnes habitudes de sécurité chez certaines personnes.
Cette extension est également utile pour comprendre ce qu'effectue en coulisses une page Web dans votre navigateur. Vous pouvez parfaitement voir et décider avec quoi une page Web communique, et restreindre ces différentes communications. Cette extension est également utile pour comprendre ce qu'effectue en coulisses une page Web dans votre navigateur. Vous pouvez parfaitement voir et décider avec quoi une page Web communique, et restreindre ces différentes communications.
Le nombre qui apparait sur l'icône de l'extension correspond au nombre total de requêtes distinctes tentées (et réussies ou non selon qu'elles ont été autorisées/refusées) par la page Web. Le nombre qui apparait sur l'icône de l'extension correspond au nombre total de requêtes distinctes tentées (et réussies ou non selon qu'elles ont été autorisées/refusées) par la page Web.
@ -74,8 +88,6 @@ Cette extension est aussi utile si vous souhaitez accélérer votre navigation,
===== =====
PROBLÈMES (Page en Anglais) : https://github.com/gorhill/uMatrix/issues
CODE SOURCE (Licence GPLv3, page en Anglais) : https://github.com/gorhill/uMatrix . CODE SOURCE (Licence GPLv3, page en Anglais) : https://github.com/gorhill/uMatrix .
JOURNAL DES CHANGEMENTS (Page en Anglais) : https://github.com/gorhill/umatrix/releases . JOURNAL DES CHANGEMENTS (Page en Anglais) : https://github.com/gorhill/umatrix/releases .

@ -1,81 +1,93 @@
uMatrix格子状のマトリクスで管理するファイヤウォール。様々なプライバシー強化ツールを兼ね備えます。 µMatrix: A point-and-click matrix-based firewall, with many privacy-enhancing tools. For advanced users.
* 上級ユーザー向けです * µMatrix put you in full control of where your browser is allowed to connect, what type of data it is allowed to download, and what it is allowed to execute. Nobody else decides for you: You choose. You are in full control of your privacy.
uMatrix を使うと、ブラウザーがどこと通信して良いのか、どの種類のデータをダウンロードするのか、何を実行して良いのかを決定することができます。誰か他の人があなたの代わりに決めてくれることはありません。自分のプライバシーを自分で制御するのです。 Out of the box, µMatrix works in relax block-all/allow-exceptionally mode, meaning web sites which require 3rd-party scripts are likely to be "broken". With two clicks, µMatrix can be set to work in allow-all/block-exceptionally mode, which generally will not break web sites. See https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views for more details on this topic.
初期設定では、uMatrix は安心できる「すべてブロック・必要なら許可」の設定になっています。つまり、サードパーティーのスクリプトを必要とするウェブサイトは“壊れる”ことが多いでしょう。2クリックで、「すべて許可・必要ならブロック」の設定に変えることもでき、この場合、ウェブサイトを壊すことはほとんどありません。より詳しくは https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views を見て下さい。 Regarding the myth that "Chromium-based browsers can't reliably block javascript", see: https://github.com/gorhill/httpswitchboard/wiki/Blocking-javascript-execution-reliably-in-Chromium-based-browsers. Summary: Yes, javascript can be blocked reliably in Chromium.
* あなたが選んだブロック/許可の結果による“すべての”リクエストの失敗/実施の状況を確認できます。 * See ALL the remote connections, failed or attempted, depending on whether they were blocked or allowed (you decide).
* ワンクリックで、接続先やデータの種類に応じてリクエストを許可/ブロックすることができます。ブロックされたリクエストがブラウザーから外に出ることは決してありません。 * A single-click to whitelist/blacklist one or multiple classes of requests according to the destination and type of data (a blocked request will NEVER leave your browser).
* 効率的なブラックリストCookie はブラウザーの外には出ず、JavaScript もプラグインも実行されず、追跡ピクセルがダウンロードされることもありません。 * Efficient blacklisting: cookies won't leave your browser, javascript won't execute, plugins won't play, tracking pixels won't download, etc.
* リストにないとブロックしてくれない(そして多くの漏れがあるであろう)ブラックリストだけに頼る必要はありません。自分で制御できるのです。 * You do not have to solely rely on just one particular curated blacklist (arguably with many missing entries) outside which nothing else can be blocked: You are in full control.
* 使い勝手の良さuMatrix では、ウェブページが発したリクエストを、マトリクスをクリックすることで簡単に許可/ブロックすることができます。 * Ease of use: µMatrix lets you easily whitelist/blacklist net requests which originate from within a web page according to a point-and-click matrix:
- ドメイン名(左の列) - domain names (left column)
* 具体的なドメインから * from very specific
* 汎用的なドメインまで 選ぶことができます * to very generic
- リクエストの種類(先頭の行) - type of requests (top row)
* Cookie * cookies
* CSS 関連のリソース(スタイルシートと Web フォント) * CSS-related resources (stylesheets and web fonts)
* 画像 * images
* メディア * plugins
* スクリプト * scripts
* XHR(スクリプトにより生成されるリクエスト) * XHR (requests made by scripts)
* フレーム * frames
* その他 * others
ワンクリックで、特定のセル、特定のドメイン、グループ化されたドメイン、特定のリクエストの種類、そしてマトリクス全体を許可/ブロックできます。 You can blacklist/whitelist a single cell, an entire row, a group of rows, an entire column, or the whole matrix with just one click.
uMatrix のフィルタリングエンジンは、どのセルが許可/ブロックされているかによって、優先順位に基づくロジックでリクエストを処理します。これにより、例えば、あるページ全体をワンクリックで許可しておけば、このページに新しいリクエストが見つかるたびに許可を追加する必要がなくなります。 µMatrix's filtering engine uses precedence logic to evaluate what is blocked/allowed according to which cells are blacklisted/whitelisted. For example, this allows you to whitelist a whole page with one click, without having to repeatedly whitelist whatever new data appear on the page.
それぞれのルールには有効範囲があります。例えば、www.facebook.com にアクセスしていない時だけ facebook.com と facebook.net をブロックすることができます。これにより、Facebook が、あなたのブラウジング習慣からあなたの人物像を作成することを防ぎます。 All rules are scoped. For example, you can block `facebook.com` and `facebook.net` everywhere except when visiting a page on `www.facebook.com`. This way Facebook won't be able to build a profile of your browsing habits.
この拡張機能の最終目標は、ユーザーが自身のプライバシーに気を配れるよう、可能な限り簡潔に、ウェブサイトを包括的あるいは部分的に許可/ブロックできるようにすることです。 The goal of this extension is to make the allowing or blocking of web sites, wholly or partly, as straightforward as possible, so as to encourage users to care about their privacy.
この拡張機能には、合計 62,000 件以上のホスト名からなるサードパーティーのホストファイルが含まれます。これらのファイルは好みに応じてオンオフすることができます。 The extension comes with 3rd-party hosts files totaling over 58,000 distinct hostnames (lists can be selectively disabled/enabled according to your choice).
まとめると、あなたはネットをブラウジングする方法を次のように選ぶことができます。 Ultimately, you can choose however you browse the net:
* はじめはすべてブロック、必要に応じて許可していく(初期設定) * Blacklist all by default, and whitelist as needed (default mode).
* はじめはすべて許可、必要に応じてブロックしていく * Whitelist all by default, and blacklist as needed.
どちらの方法でも、組み込みのホストファイルのおかげで、トラッカーやマルウェアサイトなどに対する基礎的な保護を得ることができます。もしくはこれらをすべて無効にすることもできます。 Either way, you still benefit from the preset blacklists so that at least you get basic protection from trackers, malware sites, etc. Or you can disable all of these preset blacklists.
決めるのはあなたです。 Your choice.
ドキュメント: https://github.com/gorhill/uMatrix/wiki Randomly assembled documentation: https://github.com/gorhill/uMatrix/wiki
===== =====
この拡張機能のもう一つの使い道は、知識なしでも、ブラウザーの中でウェブページが何をしているか理解することです。あなたはウェブページがどこと通信するのかをすべて見た上で決断し、ウェブページ中の特定の種類の通信を制限できます。 FEEDBACK:
拡張機能アイコンに表示される数値は、ウェブページによっていくつのリクエストが試みられたかの総数(許可/ブロック合わせて)を示します。 For any question/issue you might have, use the "Send Feedback" button on the right, in order for me to be able to answer readily. I can't answer directly to reviews, but I will be more than happy to answer you directly in the feedback section.
マトリクスの適切なセルをクリックして、許可/ブロック/グレーのいずれにするかを決めます。“グレー”では、マトリクス内のより優先度の高いセルからブロック/許可の状態を引き継ぎます。 =====
赤いセル は事実上ブロックされている状態であり、リクエストは接続先に届きません。 BUGS, ISSUES, SUGEGSTIONS:
* 濃い赤:そのドメイン名とリクエスト種類の組み合わせは、明示的にブロックされています。
* 淡い赤:セルが“グレー”状態のため、ブロック状態が引き継がれました。
緑のセル は事実上許可されている状態であり、リクエストは接続先に届きます。 https://github.com/gorhill/uMatrix/issues
* 濃い緑:そのドメイン名とリクエスト種類の組み合わせは、明示的に許可されています。
* 淡い緑:セルが“グレー”状態のため、許可が引き継がれました。
マトリクスの一番左上にある「すべて」のセルはデフォルトのグローバル設定を示し、「すべてを許可」と「すべてをブロック」のどちらをデフォルトにするかを選ぶことができます。人によっては、すべてを許可した上で必要に応じてブロックすることを好むでしょう。私の個人的な設定はもちろんその逆、すべてをブロックした上で必要なものを許可します。 You are very welcomed to contribute your views on open issues and suggestions, various arguments for/against help me in deciding what is needed to improve the extension.
この拡張機能は、例えば画像の読み込みをすべてブロックすることで、ブラウジングスピードを上げるのにも役立ちます。 Ease of use is the primary goal. I've seen users give up on Firefox's NoScript because it gets too much in the way according to them, so rather than blame these users for poor security habits, I prefer to blame developers and this project is a tentative to address the issues which cause some users to give up on basic security.
===== This extension is also useful to understand what the web page in your browser is doing, often without your knowledge. You have full ability to see and decide with whom a web page communicates, and to restrict these communications to specific classes of objects within the web page.
The number which appear in the extension icon correspond to the total number of distinct requests attempted (successfully or not depending on whether these were allowed or blocked) by the web page.
Simply click on the appropriate entry in the matrix in order to white-, black- or graylist a component. Graylisting means the blocked or allowed status will be inherited from another cell with higher precedence in the matrix.
Red square = effectively blacklisted, i.e. requests are prevented from reaching their intended destination:
* Dark red square: the domain name and/or type of request is specifically blacklisted.
* Faded red square: the blacklist status is inherited because the entry is graylisted.
バグ・問題報告: https://github.com/gorhill/uMatrix/issues Green square = effectively whitelisted, i.e. requests are allowed to reach their intended destination:
* Dark green square: the domain name and/or type of request is specifically whitelisted.
* Faded green square: the whitelist status is inherited because the entry is graylisted.
The top-left cell in the matrix, the "all" cell, represents the default global setting, which allows you to choose whether allowing or blocking everything is the default behavior. Some prefer to allow everything while blocking exceptionally. My personal preference is of course the reverse, blocking everything and allowing exceptionally.
This extension is also useful if you wish to speed up your browsing, by globally blocking all requests for images as an example.
=====
ソースコード: https://github.com/gorhill/uMatrix (GPLv3) SOURCE CODE: https://github.com/gorhill/uMatrix (GPLv3)
更新履歴: https://github.com/gorhill/uMatrix/releases CHANGE LOG: https://github.com/gorhill/uMatrix/releases

@ -1,81 +1,93 @@
uMatrix: een contextafhankelijke en matrix-gebaseerde firewall, met vele functies ter verbetering van uw privacy. µMatrix: A point-and-click matrix-based firewall, with many privacy-enhancing tools. For advanced users.
*Voor gevorderde gebruikers.* µMatrix put you in full control of where your browser is allowed to connect, what type of data it is allowed to download, and what it is allowed to execute. Nobody else decides for you: You choose. You are in full control of your privacy.
uMatrix geeft volledige controle over welke verbindingen uw browser mag maken, welk type gegevens de browser mag downloaden, en wat erin mag worden uitgevoerd. Niemand anders beslist het: het is uw keuze. U hebt de volledige controle over uw privacy. Out of the box, µMatrix works in relax block-all/allow-exceptionally mode, meaning web sites which require 3rd-party scripts are likely to be "broken". With two clicks, µMatrix can be set to work in allow-all/block-exceptionally mode, which generally will not break web sites. See https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views for more details on this topic.
Direct na installatie werkt uMatrix in de modus alles-blokkeren/bij-uitzondering-blokkeren, wat inhoudt dat websites die scripts van derden nodig hebben waarschijnlijk niet goed worden weergegeven. Met twee muisklikken kan uMatrix worden ingesteld om in de modus alles-toestaan/bij-uitzondering-blokkeren te werken, waarmee websites doorgaans wel goed worden weergegeven. Zie https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views voor meer details over dit onderwerp. Regarding the myth that "Chromium-based browsers can't reliably block javascript", see: https://github.com/gorhill/httpswitchboard/wiki/Blocking-javascript-execution-reliably-in-Chromium-based-browsers. Summary: Yes, javascript can be blocked reliably in Chromium.
* Bekijk ALLE externe verbindingen, mislukte of gepoogde, afhankelijk van of deze werden geblokkeerd of toegestaan (u beslist). * See ALL the remote connections, failed or attempted, depending on whether they were blocked or allowed (you decide).
* Eén muisklik voor het whitelisten/blacklisten van een of meer aanvraagklassen volgens de bestemming en het type gegevens (een geblokkeerde aanvraag zal uw browser NOOIT verlaten). * A single-click to whitelist/blacklist one or multiple classes of requests according to the destination and type of data (a blocked request will NEVER leave your browser).
* Efficiënt blacklisten: cookies verlaten uw browser niet, JavaScript wordt niet uitgevoerd, plug-ins worden niet afgespeeld, trackingpixels worden niet gedownload, etc. * Efficient blacklisting: cookies won't leave your browser, javascript won't execute, plugins won't play, tracking pixels won't download, etc.
* U hoeft niet slechts op één bepaalde beheerde blacklist (betwistbaar met veel ontbrekende vermeldingen) te vertrouwen waarbuiten niets anders kan worden geblokkeerd: u hebt de volledige controle. * You do not have to solely rely on just one particular curated blacklist (arguably with many missing entries) outside which nothing else can be blocked: You are in full control.
* Gebruikersgemak: met uMatrix kunt u eenvoudig netwerkaanvragen die van een webpagina afkomstig zijn whitelisten/blacklisten, volgens een matrix via aanwijzen en klikken: * Ease of use: µMatrix lets you easily whitelist/blacklist net requests which originate from within a web page according to a point-and-click matrix:
- domeinnamen (linkerkolom) - domain names (left column)
* van zeer specifieke * from very specific
* tot zeer algemene * to very generic
- type aanvragen (bovenste rij) - type of requests (top row)
* cookies * cookies
* CSS-gerelateerde bronnen (stijlbladen en weblettertypen) * CSS-related resources (stylesheets and web fonts)
* afbeeldingen * images
* plug-ins * plugins
* scripts * scripts
* XHR (aanvragen door scripts) * XHR (requests made by scripts)
* frames * frames
* overig * others
Met slechts één klik kunt u een enkele cel, een hele rij, een groep rijen, een hele kolom, of de hele matrix blacklisten/whitelisten. You can blacklist/whitelist a single cell, an entire row, a group of rows, an entire column, or the whole matrix with just one click.
De filterengine van uMatrix gebruikt voorrangslogica voor het evalueren van wat er volgens de cellen die zijn geblacklist/gewhitelist is geblokkeerd/toegestaan. Hierdoor kunt u bijvoorbeeld met één klik een hele pagina whitelisten, zonder dat u dat herhaaldelijk moet doen bij nieuwe gegevens die op de pagina verschijnen. µMatrix's filtering engine uses precedence logic to evaluate what is blocked/allowed according to which cells are blacklisted/whitelisted. For example, this allows you to whitelist a whole page with one click, without having to repeatedly whitelist whatever new data appear on the page.
Alle regels worden aan een bereik gerelateerd. U kunt bijvoorbeeld facebook.com en facebook.net overal blokkeren, behalve wanneer u een pagina op www.facebook.com bezoekt. Op deze manier zal Facebook geen profiel van uw surfgedrag kunnen opbouwen. All rules are scoped. For example, you can block `facebook.com` and `facebook.net` everywhere except when visiting a page on `www.facebook.com`. This way Facebook won't be able to build a profile of your browsing habits.
Het doel van deze extensie is om het toestaan of blokkeren van websites, geheel of gedeeltelijk, zo overzichtelijk mogelijk te maken en daarmee gebruikers aan te moedigen om op hun privacy te letten. The goal of this extension is to make the allowing or blocking of web sites, wholly or partly, as straightforward as possible, so as to encourage users to care about their privacy.
Standaard bevat de extensie hosts-bestanden van derden met meer dan 62.000 afzonderlijke hostnamen (lijsten kunnen naar keuze selectief worden in- en uitgeschakeld). The extension comes with 3rd-party hosts files totaling over 58,000 distinct hostnames (lists can be selectively disabled/enabled according to your choice).
Uiteindelijk kunt u kiezen hoe u op het internet wilt surfen: Ultimately, you can choose however you browse the net:
* Alles standaard blacklisten, en whitelisten wanneer nodig (standaardmodus). * Blacklist all by default, and whitelist as needed (default mode).
* Alles standaard whitelisten, en blacklisten wanneer nodig. * Whitelist all by default, and blacklist as needed.
In beide gevallen heb u voordeel van de vooraf geleverde blacklists, zodat u op zijn minst basisbescherming krijgt tegen trackers, malwaresites, etc. U kunt al deze vooraf geleverde blacklists ook uitschakelen. Either way, you still benefit from the preset blacklists so that at least you get basic protection from trackers, malware sites, etc. Or you can disable all of these preset blacklists.
Uw keuze. Your choice.
Willekeurig samengestelde documentatie: https://github.com/gorhill/uMatrix/wiki Randomly assembled documentation: https://github.com/gorhill/uMatrix/wiki
===== =====
Deze extensie is ook bruikbaar om te begrijpen wat de webpagina in uw browser doet, vaak zonder uw medeweten. U hebt de volledige mogelijkheid om te zien en te beslissen waarmee een webpagina communiceert, en deze communicatie tot bepaalde objectklassen binnen dezelfde pagina te beperken. FEEDBACK:
Het getal dat in het pictogram van de extensie verschijnt, komt overeen met het totale aantal afzonderlijke geprobeerde aanvragen (geslaagd of niet, afhankelijk van of deze werden toegestaan of geblokkeerd) door de webpagina. For any question/issue you might have, use the "Send Feedback" button on the right, in order for me to be able to answer readily. I can't answer directly to reviews, but I will be more than happy to answer you directly in the feedback section.
Klik eenvoudig op de juiste vermelding in de matrix om een onderdeel te white-, black- of graylisten. Graylisten houdt in dat de status geblokkeerd of toegestaan van een andere cel met hogere voorrang in de matrix wordt overgenomen. =====
Rood vierkant = effectief geblacklist, m.a.w. aanvragen richting hun bedoelde eindbestemming worden voorkomen: BUGS, ISSUES, SUGEGSTIONS:
* Donkerrood vierkant: de domeinnaam en/of het type aanvraag is specifiek geblacklist.
* Vaalrood vierkant: de blacklist-status is overgenomen, omdat de vermelding is gegraylist.
Groen vierkant = effectief gewhitelist, m.a.w. aanvragen mogen hun bedoelde eindbestemming bereiken: https://github.com/gorhill/uMatrix/issues
* Donkergroen vierkant: de domeinnaam en/of het type aanvraag is specifiek gewhitelist.
* Vaalgroen vierkant: de whitelist-status is overgenomen, omdat de vermelding is gegraylist.
De cel in de linkerbovenhoek van de matrix, de cel alle, vertegenwoordigt de algemene standaardinstelling waarmee u kunt kiezen of alles toestaan of blokkeren het standaardgedrag is. Sommige gebruikers geven de voorkeur aan alles toestaan en bij uitzondering blokkeren. Mijn persoonlijke voorkeur is natuurlijk het omgekeerde, alles blokkeren en bij uitzondering toestaan. You are very welcomed to contribute your views on open issues and suggestions, various arguments for/against help me in deciding what is needed to improve the extension.
Deze extensie is ook nuttig als u het browsen wilt versnellen, bijvoorbeeld door alle aanvragen voor afbeeldingen overal te blokkeren. Ease of use is the primary goal. I've seen users give up on Firefox's NoScript because it gets too much in the way according to them, so rather than blame these users for poor security habits, I prefer to blame developers and this project is a tentative to address the issues which cause some users to give up on basic security.
===== This extension is also useful to understand what the web page in your browser is doing, often without your knowledge. You have full ability to see and decide with whom a web page communicates, and to restrict these communications to specific classes of objects within the web page.
The number which appear in the extension icon correspond to the total number of distinct requests attempted (successfully or not depending on whether these were allowed or blocked) by the web page.
Simply click on the appropriate entry in the matrix in order to white-, black- or graylist a component. Graylisting means the blocked or allowed status will be inherited from another cell with higher precedence in the matrix.
Red square = effectively blacklisted, i.e. requests are prevented from reaching their intended destination:
* Dark red square: the domain name and/or type of request is specifically blacklisted.
* Faded red square: the blacklist status is inherited because the entry is graylisted.
BUGS, PROBLEMEN: https://github.com/gorhill/uMatrix/issues Green square = effectively whitelisted, i.e. requests are allowed to reach their intended destination:
* Dark green square: the domain name and/or type of request is specifically whitelisted.
* Faded green square: the whitelist status is inherited because the entry is graylisted.
The top-left cell in the matrix, the "all" cell, represents the default global setting, which allows you to choose whether allowing or blocking everything is the default behavior. Some prefer to allow everything while blocking exceptionally. My personal preference is of course the reverse, blocking everything and allowing exceptionally.
This extension is also useful if you wish to speed up your browsing, by globally blocking all requests for images as an example.
=====
BRONCODE: https://github.com/gorhill/uMatrix (GPLv3) SOURCE CODE: https://github.com/gorhill/uMatrix (GPLv3)
CHANGE LOG: https://github.com/gorhill/uMatrix/releases CHANGE LOG: https://github.com/gorhill/uMatrix/releases

@ -1,10 +1,10 @@
uMatrix: Matris tabanlı işaret et ve tıkla güvenlik duvarıdır, birçok gizlilik arttırıcı aracıyla birlikte gelir. µMatrix: Matris tabanlı işaret et ve tıkla güvenlik duvarıdır, birçok gizlilik arttırıcı aracıyla birlikte gelir. İleri düzey kullanıcılar için.
*İleri düzey kullanıcılar için.* µMatrix tarayıcınızın nereye bağlanabileceği, ne tür veri indirebileceği ve yürütebileceği konusunda tam denetimi size verir. Kimse sizin yerinize karar vermez: Siz seçersiniz. Gizliliğinizin tam denetimi sizdedir.
uMatrix tarayıcınızın nereye bağlanabileceği, ne tür veri indirebileceği ve yürütebileceği konusunda tam denetimi size verir. Kimse sizin yerinize karar vermez: Siz seçersiniz. Gizliliğinizin tam denetimi sizdedir. µMatrix tümünü engelle/istisnalara izin ver modunda çalışır, bunun anlamı 3. taraf betiklere ihtiyaç duyan web sitelerinin muhtemelen "bozuk" olabileceğidir. İki tıklama ile µMatrix genelde siteleri bozmayacak tümüne izin ver/istisnaları engelle moduna ayarlanabilir. Bu konu hakkında daha ayrıntılı bilgi almak için https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views bağlantısına bakın.
uMatrix tümünü engelle/istisnalara izin ver modunda çalışır, bunun anlamı 3. taraf betiklere ihtiyaç duyan web sitelerinin muhtemelen "bozuk" olabileceğidir. İki tıklama ile uMatrix genelde siteleri bozmayacak tümüne izin ver/istisnaları engelle moduna ayarlanabilir. Bu konu hakkında daha ayrıntılı bilgi almak için https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views bağlantısına bakın. "Chromium-tabanlı tarayıcılarda güvenilir biçimde JavaScript'ler engellenemez" efsanesiyle ilgili olarak, bakınız: https://github.com/gorhill/httpswitchboard/wiki/Blocking-javascript-execution-reliably-in-Chromium-based-browsers. Sonuç: Evet, JavaScript güvenilir biçimde Chromium'da engellenebilir.
* Engellendiğine veya izin verildiğine (sizin seçiminiz) bağlı olarak başarısız veya denenmiş TÜM uzak bağlantıları görün. * Engellendiğine veya izin verildiğine (sizin seçiminiz) bağlı olarak başarısız veya denenmiş TÜM uzak bağlantıları görün.
@ -14,7 +14,7 @@ uMatrix tümünü engelle/istisnalara izin ver modunda çalışır, bunun anlam
* Belirli kara listelere bağlı (birçok eksiği bulunan) kalmak zorunda değilsiniz: Tüm denetim sizde. * Belirli kara listelere bağlı (birçok eksiği bulunan) kalmak zorunda değilsiniz: Tüm denetim sizde.
* Kullanımı kolay: uMatrix işaret et ve tıkla matrisiyle bir web sitesinden kaynaklanan istekleri kolaylıkla beyaz/kara listeye almanızı sağlar: * Kullanımı kolay: µMatrix işaret et ve tıkla matrisiyle bir web sitesinden kaynaklanan istekleri kolaylıkla beyaz/kara listeye almanızı sağlar:
- alan adları (sol sütun) - alan adları (sol sütun)
* özelden * özelden
@ -32,13 +32,13 @@ uMatrix tümünü engelle/istisnalara izin ver modunda çalışır, bunun anlam
Tek hücreyi, tüm satırı, satır gruplarını, tüm sütunu veya tüm matrisi bir tek tıklama ile kara/beyaz listeye alabilirsiniz. Tek hücreyi, tüm satırı, satır gruplarını, tüm sütunu veya tüm matrisi bir tek tıklama ile kara/beyaz listeye alabilirsiniz.
uMatrix'in süzgeç motoru hangi hücrelerin kara/beyaz listede bulunduğuna göre öncelik mantığını kullanarak nelerin engelleneceğine veya nelere izin verileceğine karar verir. Örneğin, bu şekilde sayfada beliren yeni veri türlerine sürekli izin vermenize gerek kalmadan tüm sayfayı beyaz listeye almanıza izin verir. µMatrix'in süzgeç motoru hangi hücrelerin kara/beyaz listede bulunduğuna göre öncelik mantığını kullanarak nelerin engelleneceğine veya nelere izin verileceğine karar verir. Örneğin, bu şekilde sayfada beliren yeni veri türlerine sürekli izin vermenize gerek kalmadan tüm sayfayı beyaz listeye almanıza izin verir.
Tüm kurallar kapsamlıdır. Örneğin, `facebook.com` ve `facebook.net` sitelerini `www.facebook.com`dışındaki sitelerde engelleyebilirsiniz. Bu şekilde Facebook gezinti alışkanlıklarınızla ilgili profil oluşturamayacaktır. Tüm kurallar kapsamlıdır. Örneğin, `facebook.com` ve `facebook.net` sitelerini `www.facebook.com`dışındaki sitelerde engelleyebilirsiniz. Bu şekilde Facebook gezinti alışkanlıklarınızla ilgili profil oluşturamayacaktır.
Bu eklentinin en basit olarak amacı web sitelerine izin vererek veya engelleyerek, tümden veya kısmi olarak, kullanıcıların kendi gizliliklerine dikkat etmelerini teşvik etmektir. Bu eklentinin en basit olarak amacı web sitelerine izin vererek veya engelleyerek, tümden veya kısmi olarak, kullanıcıların kendi gizliliklerine dikkat etmelerini teşvik etmektir.
Bu eklenti 3. taraf alan dosyalarıyla toplamda 62.000'nin üzerinde farklı alan adıyla birlikte gelir (listeler seçime bağlı olarak etkinleştirilebilir veya devre dışı bırakılabilir). Bu eklenti 3. taraf alan dosyalarıyla toplamda 58.000'nin üzerinde farklı alan adıyla birlikte gelir (listeler seçiminize bağlı olarak etkinleştirilebilir veya devre dışı bırakılabilir).
Sonuçta, internette nasıl gezmek istediğinizi seçebilirsiniz: Sonuçta, internette nasıl gezmek istediğinizi seçebilirsiniz:
@ -50,10 +50,24 @@ Her halükarda, önceden ayarlanmış kara listelerden faydalanarak izleyiciler,
Sizin seçiminiz. Sizin seçiminiz.
Rastgele toplanmış belgeler: https://github.com/gorhill/uMatrix/wiki (çalışma gerektiriyor) Rastgele toplanmış belgeler: https://github.com/gorhill/uMatrix/wiki
===== =====
GERİ BİLDİRİM:
Herhangi bir sorunuz veya sorununuz varsa çabucak cevap verebilmem için sağdaki "Geri Bildirim Gönder" düğmesini kullanın. Yorumlara doğrudan cevap veremiyorum fakat geri bildirim bölümünden seve seve cevap vereceğim.
=====
HATALAR, SORUNLAR, ÖNERİLER:
https://github.com/gorhill/uMatrix/issues
Eklentiyi geliştirmek için açık sorunlara ve önerilere, karar vermem için çeşitli argümanlar üzerine görüşlerinizi bekliyorum.
Kullanım kolaylığı birincil hedeftir. Firefox'un NoScript eklentisi çok uğraş gerektirdiği için bu eklentiyi kullanmaktan vazgeçen kullanıcılar gördüm. Bu kullanıcıları zayıf güvenlik alışkanlıkları olduğu için suçlamak yerine, bu sorunları çözmedikleri için geliştiricileri suçlamayı yeğelerim. Bu proje bazı kullanıcıların temel güvenliklerinden vazgeçmeleri sorununu deneme düzeyinde çözmeyi amaçlar.
Ayrıca bu eklenti bir web sayfasının bilginiz dışında tarayıcınızda ne yapmaya çalıştığını anlamanıza yardımcı olur. Web sayfasının neyle iletişim kurduğunu görmenizi ve web sayfasında kurulan bu iletişimin belirli öğe sınıflarına kısıtlanması üzerine karar vermenizi sağlar. Ayrıca bu eklenti bir web sayfasının bilginiz dışında tarayıcınızda ne yapmaya çalıştığını anlamanıza yardımcı olur. Web sayfasının neyle iletişim kurduğunu görmenizi ve web sayfasında kurulan bu iletişimin belirli öğe sınıflarına kısıtlanması üzerine karar vermenizi sağlar.
Eklenti simgesinde görünen sayı web sitesi tarafından girişimde bulunulmuş farklı istek sayısının toplamıdır (izin verilip verilmediğine göre başarılı veya değil). Eklenti simgesinde görünen sayı web sitesi tarafından girişimde bulunulmuş farklı istek sayısının toplamıdır (izin verilip verilmediğine göre başarılı veya değil).
@ -74,8 +88,6 @@ Bu eklenti ayrıca gezinti hızınızı da arttırmak istiyorsanız kullanışl
===== =====
HATALAR, SORUNLAR: https://github.com/gorhill/uMatrix/issues
KAYNAK KODU: https://github.com/gorhill/uMatrix (GPLv3) KAYNAK KODU: https://github.com/gorhill/uMatrix (GPLv3)
DEĞİŞİM GÜNLÜĞÜ: https://github.com/gorhill/uMatrix/releases DEĞİŞİM GÜNLÜĞÜ: https://github.com/gorhill/uMatrix/releases

@ -1,20 +1,20 @@
uMatrix: A point-and-click matrix-based firewall, with many privacy-enhancing tools. µMatrix: A point-and-click matrix-based firewall, with many privacy-enhancing tools. For advanced users.
*For advanced users.* µMatrix put you in full control of where your browser is allowed to connect, what type of data it is allowed to download, and what it is allowed to execute. Nobody else decides for you: You choose. You are in full control of your privacy.
uMatrix put you in full control of where your browser is allowed to connect, what type of data it is allowed to download, and what it is allowed to execute. Nobody else decides for you: You choose. You are in full control of your privacy. Out of the box, µMatrix works in relax block-all/allow-exceptionally mode, meaning web sites which require 3rd-party scripts are likely to be "broken". With two clicks, µMatrix can be set to work in allow-all/block-exceptionally mode, which generally will not break web sites. See https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views for more details on this topic.
Out of the box, uMatrix works in relax block-all/allow-exceptionally mode, meaning web sites which require 3rd-party scripts are likely to be "broken". With two clicks, uMatrix can be set to work in allow-all/block-exceptionally mode, which generally will not break web sites. See https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views for more details on this topic. Regarding the myth that "Chromium-based browsers can't reliably block JavaScript", see: https://github.com/gorhill/httpswitchboard/wiki/Blocking-javascript-execution-reliably-in-Chromium-based-browsers. Summary: Yes, JavaScript can be blocked reliably in Chromium.
* See ALL the remote connections, failed or attempted, depending on whether they were blocked or allowed (you decide). * See ALL the remote connections, failed or attempted, depending on whether they were blocked or allowed (you decide).
* A single-click to whitelist/blacklist one or multiple classes of requests according to the destination and type of data (a blocked request will NEVER leave your browser). * A single-click to whitelist/blacklist one or multiple classes of requests according to the destination and type of data (a blocked request will NEVER leave your browser).
* Efficient blacklisting: cookies won't leave your browser, JavaScript won't execute, media won't play, tracking pixels won't download, etc. * Efficient blacklisting: cookies won't leave your browser, JavaScript won't execute, plugins won't play, tracking pixels won't download, etc.
* You do not have to solely rely on just one particular curated blacklist (arguably with many missing entries) outside which nothing else can be blocked: You are in full control. * You do not have to solely rely on just one particular curated blacklist (arguably with many missing entries) outside which nothing else can be blocked: You are in full control.
* Ease of use: uMatrix lets you easily whitelist/blacklist net requests which originate from within a web page according to a point-and-click matrix: * Ease of use: µMatrix lets you easily whitelist/blacklist net requests which originate from within a web page according to a point-and-click matrix:
- domain names (left column) - domain names (left column)
* from very specific * from very specific
@ -22,23 +22,23 @@ Out of the box, uMatrix works in relax block-all/allow-exceptionally mode, meani
- type of requests (top row) - type of requests (top row)
* cookies * cookies
* css (stylesheets and web fonts) * CSS-related resources (stylesheets and web fonts)
* images * images
* media * plugins
* scripts * scripts
* xhr (requests made by scripts) * XHR (requests made by scripts)
* frames * frames
* others * others
You can blacklist/whitelist a single cell, an entire row, a group of rows, an entire column, or the whole matrix with just one click. You can blacklist/whitelist a single cell, an entire row, a group of rows, an entire column, or the whole matrix with just one click.
uMatrix's filtering engine uses precedence logic to evaluate what is blocked/allowed according to which cells are blacklisted/whitelisted. For example, this allows you to whitelist a whole page with one click, without having to repeatedly whitelist whatever new data appear on the page. µMatrix's filtering engine uses precedence logic to evaluate what is blocked/allowed according to which cells are blacklisted/whitelisted. For example, this allows you to whitelist a whole page with one click, without having to repeatedly whitelist whatever new data appear on the page.
All rules are scoped. For example, you can block `facebook.com` and `facebook.net` everywhere except when visiting a page on `www.facebook.com`. This way Facebook won't be able to build a profile of your browsing habits. All rules are scoped. For example, you can block `facebook.com` and `facebook.net` everywhere except when visiting a page on `www.facebook.com`. This way Facebook won't be able to build a profile of your browsing habits.
The goal of this extension is to make the allowing or blocking of web sites, wholly or partly, as straightforward as possible, so as to encourage users to care about their privacy. The goal of this extension is to make the allowing or blocking of web sites, wholly or partly, as straightforward as possible, so as to encourage users to care about their privacy.
The extension comes with 3rd-party hosts files totaling over 62,000 distinct hostnames (lists can be selectively disabled/enabled according to your choice). The extension comes with 3rd-party hosts files totaling over 58,000 distinct hostnames (lists can be selectively disabled/enabled according to your choice).
Ultimately, you can choose however you browse the net: Ultimately, you can choose however you browse the net:
@ -54,9 +54,23 @@ Randomly assembled documentation: https://github.com/gorhill/uMatrix/wiki
===== =====
FEEDBACK:
For any question/issue you might have, use the "Send Feedback" button on the right, in order for me to be able to answer readily. I can't answer directly to reviews, but I will be more than happy to answer you directly in the feedback section.
=====
BUGS, ISSUES, SUGGESTIONS:
https://github.com/gorhill/uMatrix/issues
You are very welcomed to contribute your views on open issues and suggestions, various arguments for/against help me in deciding what is needed to improve the extension.
Ease of use is the primary goal. I've seen users give up on Firefox's NoScript because it gets too much in the way according to them, so rather than blame these users for poor security habits, I prefer to blame developers and this project is a tentative to address the issues which cause some users to give up on basic security.
This extension is also useful to understand what the web page in your browser is doing, often without your knowledge. You have full ability to see and decide with whom a web page communicates, and to restrict these communications to specific classes of objects within the web page. This extension is also useful to understand what the web page in your browser is doing, often without your knowledge. You have full ability to see and decide with whom a web page communicates, and to restrict these communications to specific classes of objects within the web page.
The number which appears in the extension icon correspond to the total number of distinct requests blocked by the extension. The number which appear in the extension icon correspond to the total number of distinct requests attempted (successfully or not depending on whether these were allowed or blocked) by the web page.
Simply click on the appropriate entry in the matrix in order to white-, black- or graylist a component. Graylisting means the blocked or allowed status will be inherited from another cell with higher precedence in the matrix. Simply click on the appropriate entry in the matrix in order to white-, black- or graylist a component. Graylisting means the blocked or allowed status will be inherited from another cell with higher precedence in the matrix.
@ -74,8 +88,6 @@ This extension is also useful if you wish to speed up your browsing, by globally
===== =====
BUGS, ISSUES: https://github.com/uBlockOrigin/uMatrix-issues/issues
SOURCE CODE: https://github.com/gorhill/uMatrix (GPLv3) SOURCE CODE: https://github.com/gorhill/uMatrix (GPLv3)
CHANGE LOG: https://github.com/gorhill/uMatrix/releases CHANGE LOG: https://github.com/gorhill/uMatrix/releases

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

@ -1,8 +1,8 @@
{ {
"manifest_version": 2, "manifest_version": 2,
"name": "nuTensor", "name": "uMatrix",
"short_name": "nuTensor", "short_name": "uMatrix",
"version": "1.3.3.8", "version": "0.9.0.1",
"description": "__MSG_extShortDesc__", "description": "__MSG_extShortDesc__",
"icons": { "icons": {
"16": "img/icon_16.png", "16": "img/icon_16.png",
@ -12,44 +12,76 @@
"default_icon": { "default_icon": {
"19": "img/browsericons/icon19-19.png" "19": "img/browsericons/icon19-19.png"
}, },
"default_title": "nuTensor", "default_title": "uMatrix",
"default_popup": "popup.html" "default_popup": "popup.html"
}, },
"author": "Raymond Hill", "author": "Raymond Hill",
"background": { "background": {
"page": "background.html" "page": "background.html"
}, },
"commands": {
"revert-all": {
"description": "__MSG_commandRevertAll__",
"suggested_key": {
"default": "Alt+Q",
"mac": "Command+Shift+Q"
}
},
"whitelist-all": {
"description": "__MSG_commandWhitelistAll__",
"suggested_key": {
"default": "Alt+A",
"mac": "Command+Shift+A"
}
},
"whitelist-page-domain": {
"description": "__MSG_commandWhitelistPageDomain__",
"suggested_key": {
"default": "Alt+W",
"mac": "Command+Shift+W"
}
},
"open-dashboard": {
"description": "__MSG_commandOpenDashboard__",
"suggested_key": {
"default": "Alt+S",
"mac": "Command+Shift+S"
}
}
},
"content_scripts": [ "content_scripts": [
{ {
"matches": ["http://*/*", "https://*/*"], "matches": ["http://*/*", "https://*/*"],
"js": ["/js/vapi.js", "/js/vapi-client.js", "/js/contentscript-start.js"], "js": ["js/vapi-client.js", "js/contentscript-start.js"],
"run_at": "document_start", "run_at": "document_start",
"all_frames": true "all_frames": true
}, },
{ {
"matches": ["http://*/*", "https://*/*"], "matches": ["http://*/*", "https://*/*"],
"js": ["/js/contentscript.js"], "js": ["js/contentscript-end.js"],
"run_at": "document_end", "run_at": "document_end",
"all_frames": true "all_frames": true
} }
], ],
"default_locale": "en", "default_locale": "en",
"homepage_url": "https://github.com/geekprojects/nuTensor", "homepage_url": "https://github.com/gorhill/uMatrix/wiki",
"minimum_chrome_version": "45.0", "minimum_chrome_version": "22.0",
"options_ui": { "options_page": "dashboard.html",
"page": "dashboard.html",
"open_in_tab": true
},
"permissions": [ "permissions": [
"browsingData", "browsingData",
"contentSettings",
"cookies", "cookies",
"privacy",
"storage", "storage",
"tabs", "tabs",
"unlimitedStorage", "unlimitedStorage",
"webNavigation", "webNavigation",
"webRequest", "webRequest",
"webRequestBlocking", "webRequestBlocking",
"<all_urls>" "http://*/*",
"https://*/*"
],
"web_accessible_resources": [
"css/fonts/Roboto_Condensed/RobotoCondensed-Regular.ttf",
"css/noop.css"
] ]
} }

@ -0,0 +1,9 @@
<!DOCTYPE html>
<head>
<script src="js/vapi-client.js"></script>
<script src="js/options_ui.js"></script>
<title></title>
</head>
<body>
</body>
</html>

@ -1,7 +1,7 @@
/******************************************************************************* /*******************************************************************************
uBlock Origin - a browser extension to block requests. µBlock - a browser extension to block requests.
Copyright (C) 2019-present Raymond Hill Copyright (C) 2015 The µBlock authors
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -19,19 +19,27 @@
Home: https://github.com/gorhill/uBlock Home: https://github.com/gorhill/uBlock
*/ */
/* global CodeMirror */ /******************************************************************************/
(function() {
/******************************************************************************/
'use strict'; 'use strict';
CodeMirror.defineMode('raw-settings', function() { var messager = vAPI.messaging.channel('_open');
return { messager.send({
token: function(stream) { what: 'gotoURL',
if ( stream.sol() ) { details: {
stream.match(/\s*\S+/); url: 'dashboard.html',
return 'keyword'; select: true,
} index: -1
stream.skipToEnd();
return null;
} }
};
}); });
window.close();
/******************************************************************************/
})();
/******************************************************************************/

File diff suppressed because it is too large Load Diff

@ -1,308 +0,0 @@
/*******************************************************************************
uBlock Origin - a browser extension to block requests.
Copyright (C) 2019-present Raymond Hill
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see {http://www.gnu.org/licenses/}.
Home: https://github.com/gorhill/uBlock
*/
// For non-background page
'use strict';
/******************************************************************************/
// Direct messaging connection ability
(( ) => {
// >>>>>>>> start of private namespace
if (
typeof vAPI !== 'object' ||
vAPI.messaging instanceof Object === false ||
vAPI.MessagingConnection instanceof Function
) {
return;
}
const listeners = new Set();
const connections = new Map();
vAPI.MessagingConnection = class {
constructor(handler, details) {
this.messaging = vAPI.messaging;
this.handler = handler;
this.id = details.id;
this.to = details.to;
this.toToken = details.toToken;
this.from = details.from;
this.fromToken = details.fromToken;
this.checkTimer = undefined;
// On Firefox it appears ports are not automatically disconnected
// when navigating to another page.
const ctor = vAPI.MessagingConnection;
if ( ctor.pagehide !== undefined ) { return; }
ctor.pagehide = ( ) => {
for ( const connection of connections.values() ) {
connection.disconnect();
connection.handler(
connection.toDetails('connectionBroken')
);
}
};
window.addEventListener('pagehide', ctor.pagehide);
}
toDetails(what, payload) {
return {
what: what,
id: this.id,
from: this.from,
fromToken: this.fromToken,
to: this.to,
toToken: this.toToken,
payload: payload
};
}
disconnect() {
if ( this.checkTimer !== undefined ) {
clearTimeout(this.checkTimer);
this.checkTimer = undefined;
}
connections.delete(this.id);
const port = this.messaging.getPort();
if ( port === null ) { return; }
port.postMessage({
channel: 'vapi',
msg: this.toDetails('connectionBroken'),
});
}
checkAsync() {
if ( this.checkTimer !== undefined ) {
clearTimeout(this.checkTimer);
}
this.checkTimer = vAPI.setTimeout(
( ) => { this.check(); },
499
);
}
check() {
this.checkTimer = undefined;
if ( connections.has(this.id) === false ) { return; }
const port = this.messaging.getPort();
if ( port === null ) { return; }
port.postMessage({
channel: 'vapi',
msg: this.toDetails('connectionCheck'),
});
this.checkAsync();
}
receive(details) {
switch ( details.what ) {
case 'connectionAccepted':
this.toToken = details.toToken;
this.handler(details);
this.checkAsync();
break;
case 'connectionBroken':
connections.delete(this.id);
this.handler(details);
break;
case 'connectionMessage':
this.handler(details);
this.checkAsync();
break;
case 'connectionCheck':
const port = this.messaging.getPort();
if ( port === null ) { return; }
if ( connections.has(this.id) ) {
this.checkAsync();
} else {
details.what = 'connectionBroken';
port.postMessage({ channel: 'vapi', msg: details });
}
break;
case 'connectionRefused':
connections.delete(this.id);
this.handler(details);
break;
}
}
send(payload) {
const port = this.messaging.getPort();
if ( port === null ) { return; }
port.postMessage({
channel: 'vapi',
msg: this.toDetails('connectionMessage', payload),
});
}
static addListener(listener) {
listeners.add(listener);
}
static async connectTo(from, to, handler) {
const port = vAPI.messaging.getPort();
if ( port === null ) { return; }
const connection = new vAPI.MessagingConnection(handler, {
id: `${from}-${to}-${vAPI.sessionId}`,
to: to,
from: from,
fromToken: port.name
});
connections.set(connection.id, connection);
port.postMessage({
channel: 'vapi',
msg: {
what: 'connectionRequested',
id: connection.id,
from: from,
fromToken: port.name,
to: to,
}
});
return connection.id;
}
static disconnectFrom(connectionId) {
const connection = connections.get(connectionId);
if ( connection === undefined ) { return; }
connection.disconnect();
}
static sendTo(connectionId, payload) {
const connection = connections.get(connectionId);
if ( connection === undefined ) { return; }
connection.send(payload);
}
static canDestroyPort() {
return listeners.length === 0 && connections.size === 0;
}
static mustDestroyPort() {
if ( connections.size === 0 ) { return; }
for ( const connection of connections.values() ) {
connection.receive({ what: 'connectionBroken' });
}
connections.clear();
}
static canProcessMessage(details) {
if ( details.channel !== 'vapi' ) { return; }
switch ( details.msg.what ) {
case 'connectionAccepted':
case 'connectionBroken':
case 'connectionCheck':
case 'connectionMessage':
case 'connectionRefused': {
const connection = connections.get(details.msg.id);
if ( connection === undefined ) { break; }
connection.receive(details.msg);
return true;
}
case 'connectionRequested':
if ( listeners.length === 0 ) { return; }
const port = vAPI.messaging.getPort();
if ( port === null ) { break; }
let listener, result;
for ( listener of listeners ) {
result = listener(details.msg);
if ( result !== undefined ) { break; }
}
if ( result === undefined ) { break; }
if ( result === true ) {
details.msg.what = 'connectionAccepted';
details.msg.toToken = port.name;
const connection = new vAPI.MessagingConnection(
listener,
details.msg
);
connections.set(connection.id, connection);
} else {
details.msg.what = 'connectionRefused';
}
port.postMessage(details);
return true;
default:
break;
}
}
};
vAPI.messaging.extensions.push(vAPI.MessagingConnection);
// <<<<<<<< end of private namespace
})();
/******************************************************************************/
// Broadcast listening ability
(( ) => {
// >>>>>>>> start of private namespace
if (
typeof vAPI !== 'object' ||
vAPI.messaging instanceof Object === false ||
vAPI.broadcastListener instanceof Object
) {
return;
}
const listeners = new Set();
vAPI.broadcastListener = {
add: function(listener) {
listeners.add(listener);
vAPI.messaging.getPort();
},
remove: function(listener) {
listeners.delete(listener);
},
canDestroyPort() {
return listeners.size === 0;
},
mustDestroyPort() {
listeners.clear();
},
canProcessMessage(details) {
if ( details.broadcast === false ) { return; }
for ( const listener of listeners ) {
listener(details.msg);
}
},
};
vAPI.messaging.extensions.push(vAPI.broadcastListener);
// <<<<<<<< end of private namespace
})();
/******************************************************************************/
/*******************************************************************************
DO NOT:
- Remove the following code
- Add code beyond the following code
Reason:
- https://github.com/gorhill/uBlock/pull/3721
- uBO never uses the return value from injected content scripts
**/
void 0;

@ -1,8 +1,7 @@
/******************************************************************************* /*******************************************************************************
uBlock Origin - a browser extension to block requests. µBlock - a browser extension to block requests.
Copyright (C) 2014-2015 The uBlock Origin authors Copyright (C) 2014 The µBlock authors
Copyright (C) 2014-present Raymond Hill
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -20,249 +19,173 @@
Home: https://github.com/gorhill/uBlock Home: https://github.com/gorhill/uBlock
*/ */
// For non-background page // For non background pages
/******************************************************************************/
(function(self) {
'use strict'; 'use strict';
/******************************************************************************/ /******************************************************************************/
var vAPI = self.vAPI = self.vAPI || {};
var chrome = self.chrome;
// https://github.com/chrisaljoudi/uBlock/issues/456 // https://github.com/chrisaljoudi/uBlock/issues/456
// Skip if already injected. // Already injected?
if ( vAPI.vapiClientInjected ) {
//console.debug('vapi-client.js already injected: skipping.');
return;
}
vAPI.vapiClientInjected = true;
// >>>>>>>> start of HUGE-IF-BLOCK vAPI.sessionId = String.fromCharCode(Date.now() % 25 + 97) +
if ( Math.random().toString(36).slice(2);
typeof vAPI === 'object' && vAPI.chrome = true;
vAPI.randomToken instanceof Function === false
) {
/******************************************************************************/
/******************************************************************************/ /******************************************************************************/
vAPI.randomToken = function() { vAPI.shutdown = (function() {
const now = Date.now(); var jobs = [];
return String.fromCharCode(now % 26 + 97) +
Math.floor((1 + Math.random()) * now).toString(36);
};
vAPI.sessionId = vAPI.randomToken(); var add = function(job) {
vAPI.setTimeout = vAPI.setTimeout || self.setTimeout.bind(self); jobs.push(job);
};
/******************************************************************************/
vAPI.shutdown = { var exec = function() {
jobs: [], //console.debug('Shutting down...');
add: function(job) { var job;
this.jobs.push(job); while ( job = jobs.pop() ) {
}, job();
exec: function() {
// Shutdown asynchronously, to ensure shutdown jobs are called from
// the top context.
self.requestIdleCallback(( ) => {
const jobs = this.jobs.slice();
this.jobs.length = 0;
while ( jobs.length !== 0 ) {
(jobs.pop())();
}
});
},
remove: function(job) {
let pos;
while ( (pos = this.jobs.indexOf(job)) !== -1 ) {
this.jobs.splice(pos, 1);
}
} }
}; };
return {
add: add,
exec: exec
};
})();
/******************************************************************************/ /******************************************************************************/
vAPI.messaging = { var messagingConnector = function(response) {
port: null, if ( !response ) {
portTimer: null, return;
portTimerDelay: 10000, }
extended: undefined,
extensions: [],
msgIdGenerator: 1,
pending: new Map(),
shuttingDown: false,
shutdown: function() {
this.shuttingDown = true;
this.destroyPort();
},
// https://github.com/uBlockOrigin/uBlock-issues/issues/403 var channels = vAPI.messaging.channels;
// Spurious disconnection can happen, so do not consider such events var channel, listener;
// as world-ending, i.e. stay around. Except for embedded frames.
disconnectListener: function() { if ( response.broadcast === true && !response.channelName ) {
this.port = null; for ( channel in channels ) {
if ( window !== window.top ) { if ( channels.hasOwnProperty(channel) === false ) {
vAPI.shutdown.exec(); continue;
}
listener = channels[channel].listener;
if ( typeof listener === 'function' ) {
listener(response.msg);
}
}
return;
} }
},
disconnectListenerBound: null,
messageListener: function(details) { if ( response.requestId ) {
if ( details instanceof Object === false ) { return; } listener = vAPI.messaging.listeners[response.requestId];
delete vAPI.messaging.listeners[response.requestId];
delete response.requestId;
}
// Response to specific message previously sent if ( !listener ) {
if ( details.msgId !== undefined ) { channel = channels[response.channelName];
const resolver = this.pending.get(details.msgId); listener = channel && channel.listener;
if ( resolver !== undefined ) {
this.pending.delete(details.msgId);
resolver(details.msg);
return;
} }
if ( typeof listener === 'function' ) {
listener(response.msg);
} }
};
// Unhandled messages /******************************************************************************/
this.extensions.every(ext => ext.canProcessMessage(details) !== true);
},
messageListenerBound: null,
canDestroyPort: function() {
return this.pending.size === 0 &&
(
this.extensions.length === 0 ||
this.extensions.every(e => e.canDestroyPort())
);
},
mustDestroyPort: function() { vAPI.messaging = {
if ( this.extensions.length === 0 ) { return; } port: null,
this.extensions.forEach(e => e.mustDestroyPort()); channels: {},
this.extensions.length = 0; listeners: {},
}, requestId: 1,
portPoller: function() { setup: function() {
this.portTimer = null; this.port = chrome.runtime.connect({name: vAPI.sessionId});
if ( this.port !== null && this.canDestroyPort() ) { this.port.onMessage.addListener(messagingConnector);
return this.destroyPort();
}
this.portTimer = vAPI.setTimeout(this.portPollerBound, this.portTimerDelay);
this.portTimerDelay = Math.min(this.portTimerDelay * 2, 60 * 60 * 1000);
}, },
portPollerBound: null,
destroyPort: function() { close: function() {
if ( this.portTimer !== null ) { if ( this.port === null ) {
clearTimeout(this.portTimer); return;
this.portTimer = null;
} }
const port = this.port; this.port.disconnect();
if ( port !== null ) { this.port.onMessage.removeListener(messagingConnector);
port.disconnect();
port.onMessage.removeListener(this.messageListenerBound);
port.onDisconnect.removeListener(this.disconnectListenerBound);
this.port = null; this.port = null;
} this.channels = {};
this.mustDestroyPort(); this.listeners = {};
// service pending callbacks
if ( this.pending.size !== 0 ) {
const pending = this.pending;
this.pending = new Map();
for ( const resolver of pending.values() ) {
resolver();
}
}
}, },
createPort: function() { channel: function(channelName, callback) {
if ( this.shuttingDown ) { return null; } if ( !channelName ) {
if ( this.messageListenerBound === null ) { return;
this.messageListenerBound = this.messageListener.bind(this);
this.disconnectListenerBound = this.disconnectListener.bind(this);
this.portPollerBound = this.portPoller.bind(this);
}
try {
this.port = browser.runtime.connect({name: vAPI.sessionId}) || null;
} catch (ex) {
this.port = null;
} }
// Not having a valid port at this point means the main process is
// not available: no point keeping the content scripts alive. this.channels[channelName] = {
if ( this.port === null ) { channelName: channelName,
vAPI.shutdown.exec(); listener: typeof callback === 'function' ? callback : null,
return null; send: function(message, callback) {
if ( vAPI.messaging.port === null ) {
vAPI.messaging.setup();
} }
this.port.onMessage.addListener(this.messageListenerBound);
this.port.onDisconnect.addListener(this.disconnectListenerBound); message = {
this.portTimerDelay = 10000; channelName: this.channelName,
if ( this.portTimer === null ) { msg: message
this.portTimer = vAPI.setTimeout( };
this.portPollerBound,
this.portTimerDelay if ( callback ) {
); message.requestId = vAPI.messaging.requestId++;
vAPI.messaging.listeners[message.requestId] = callback;
} }
return this.port;
},
getPort: function() { vAPI.messaging.port.postMessage(message);
return this.port !== null ? this.port : this.createPort();
}, },
close: function() {
send: function(channel, msg) { delete vAPI.messaging.channels[this.channelName];
// Too large a gap between the last request and the last response means if ( Object.keys(vAPI.messaging.channels).length === 0 ) {
// the main process is no longer reachable: memory leaks and bad vAPI.messaging.close();
// performance become a risk -- especially for long-lived, dynamic
// pages. Guard against this.
if ( this.pending.size > 50 ) {
vAPI.shutdown.exec();
} }
const port = this.getPort();
if ( port === null ) {
return Promise.resolve();
} }
const msgId = this.msgIdGenerator++; };
const promise = new Promise(resolve => {
this.pending.set(msgId, resolve);
});
port.postMessage({ channel, msgId, msg });
return promise;
},
// Dynamically extend capabilities. return this.channels[channelName];
extend: function() {
if ( this.extended === undefined ) {
this.extended = vAPI.messaging.send('vapi', {
what: 'extendClient'
}).then(( ) => {
return self.vAPI instanceof Object &&
this.extensions.length !== 0;
}).catch(( ) => {
});
} }
return this.extended;
},
}; };
vAPI.shutdown.add(( ) => {
vAPI.messaging.shutdown();
window.vAPI = undefined;
});
/******************************************************************************/
/******************************************************************************/ /******************************************************************************/
// No need to have vAPI client linger around after shutdown if
// we are not a top window (because element picker can still
// be injected in top window).
if ( window !== window.top ) {
vAPI.shutdown.add(function() {
vAPI = null;
});
} }
// <<<<<<<< end of HUGE-IF-BLOCK
/******************************************************************************/
/******************************************************************************* vAPI.setTimeout = vAPI.setTimeout || function(callback, delay) {
setTimeout(function() { callback(); }, delay);
};
DO NOT: /******************************************************************************/
- Remove the following code
- Add code beyond the following code
Reason:
- https://github.com/gorhill/uBlock/pull/3721
- uBO never uses the return value from injected content scripts
**/ })(this);
void 0; /******************************************************************************/

@ -1,7 +1,7 @@
/******************************************************************************* /*******************************************************************************
uMatrix - a browser extension to black/white list requests. µMatrix - a browser extension to block requests.
Copyright (C) 2014-present The uMatrix/uBlock Origin authors Copyright (C) 2014 The µBlock authors
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -21,199 +21,63 @@
// For background page or non-background pages // For background page or non-background pages
'use strict'; /* global self */
/******************************************************************************/ /******************************************************************************/
/******************************************************************************/ /******************************************************************************/
vAPI.T0 = Date.now(); (function() {
'use strict';
/******************************************************************************/ /******************************************************************************/
vAPI.setTimeout = vAPI.setTimeout || self.setTimeout.bind(self); var vAPI = self.vAPI = self.vAPI || {};
var chrome = self.chrome;
/******************************************************************************/ /******************************************************************************/
vAPI.webextFlavor = { // http://www.w3.org/International/questions/qa-scripts#directions
major: 0,
soup: new Set()
};
(( ) => { var setScriptDirection = function(language) {
const ua = navigator.userAgent; document.body.setAttribute(
const flavor = vAPI.webextFlavor; 'dir',
const soup = flavor.soup; ['ar', 'he', 'fa', 'ps', 'ur'].indexOf(language) !== -1 ? 'rtl' : 'ltr'
const dispatch = function() { );
window.dispatchEvent(new CustomEvent('webextFlavor'));
}; };
// This is always true.
soup.add('ublock').add('webext');
// Whether this is a dev build.
if ( /^\d+\.\d+\.\d+\D/.test(browser.runtime.getManifest().version) ) {
soup.add('devbuild');
}
if ( /\bMobile\b/.test(ua) ) {
soup.add('mobile');
}
// Asynchronous
if (
browser instanceof Object &&
typeof browser.runtime.getBrowserInfo === 'function'
) {
browser.runtime.getBrowserInfo().then(info => {
flavor.major = parseInt(info.version, 10) || 60;
soup.add(info.vendor.toLowerCase())
.add(info.name.toLowerCase());
if ( soup.has('firefox') && flavor.major < 57 ) {
soup.delete('html_filtering');
}
dispatch();
});
if ( browser.runtime.getURL('').startsWith('moz-extension://') ) {
soup.add('mozilla')
.add('firefox')
.add('user_stylesheet')
.add('html_filtering');
flavor.major = 60;
}
return;
}
// Synchronous -- order of tests is important
let match;
if ( (match = /\bEdge\/(\d+)/.exec(ua)) !== null ) {
flavor.major = parseInt(match[1], 10) || 0;
soup.add('microsoft').add('edge');
} else if ( (match = /\bOPR\/(\d+)/.exec(ua)) !== null ) {
const reEx = /\bChrom(?:e|ium)\/([\d.]+)/;
if ( reEx.test(ua) ) { match = reEx.exec(ua); }
flavor.major = parseInt(match[1], 10) || 0;
soup.add('opera').add('chromium');
} else if ( (match = /\bChromium\/(\d+)/.exec(ua)) !== null ) {
flavor.major = parseInt(match[1], 10) || 0;
soup.add('chromium');
} else if ( (match = /\bChrome\/(\d+)/.exec(ua)) !== null ) {
flavor.major = parseInt(match[1], 10) || 0;
soup.add('google').add('chromium');
} else if ( (match = /\bSafari\/(\d+)/.exec(ua)) !== null ) {
flavor.major = parseInt(match[1], 10) || 0;
soup.add('apple').add('safari');
}
// https://github.com/gorhill/uBlock/issues/3588
if ( soup.has('chromium') && flavor.major >= 66 ) {
soup.add('user_stylesheet');
}
// Don't starve potential listeners
vAPI.setTimeout(dispatch, 97);
})();
/******************************************************************************/ /******************************************************************************/
{ vAPI.download = function(details) {
const punycode = self.punycode; if ( !details.url ) {
const reCommonHostnameFromURL = /^https?:\/\/([0-9a-z_][0-9a-z._-]*[0-9a-z])\//; return;
const reAuthorityFromURI = /^(?:[^:\/?#]+:)?(\/\/[^\/?#]+)/;
const reHostFromNakedAuthority = /^[0-9a-z._-]+[0-9a-z]$/i;
const reHostFromAuthority = /^(?:[^@]*@)?([^:]+)(?::\d*)?$/;
const reIPv6FromAuthority = /^(?:[^@]*@)?(\[[0-9a-f:]+\])(?::\d*)?$/i;
const reMustNormalizeHostname = /[^0-9a-z._-]/;
vAPI.hostnameFromURI = function(uri) {
let matches = reCommonHostnameFromURL.exec(uri);
if ( matches !== null ) { return matches[1]; }
matches = reAuthorityFromURI.exec(uri);
if ( matches === null ) { return ''; }
const authority = matches[1].slice(2);
if ( reHostFromNakedAuthority.test(authority) ) {
return authority.toLowerCase();
}
matches = reHostFromAuthority.exec(authority);
if ( matches === null ) {
matches = reIPv6FromAuthority.exec(authority);
if ( matches === null ) { return ''; }
}
let hostname = matches[1];
while ( hostname.endsWith('.') ) {
hostname = hostname.slice(0, -1);
}
if ( reMustNormalizeHostname.test(hostname) ) {
hostname = punycode.toASCII(hostname.toLowerCase());
} }
return hostname;
};
const reHostnameFromNetworkURL =
/^(?:http|ws|ftp)s?:\/\/([0-9a-z_][0-9a-z._-]*[0-9a-z])\//;
vAPI.hostnameFromNetworkURL = function(url) {
const matches = reHostnameFromNetworkURL.exec(url);
return matches !== null ? matches[1] : '';
};
const psl = self.publicSuffixList;
const reIPAddressNaive = /^\d+\.\d+\.\d+\.\d+$|^\[[\da-zA-Z:]+\]$/;
vAPI.domainFromHostname = function(hostname) {
return reIPAddressNaive.test(hostname)
? hostname
: psl.getDomain(hostname);
};
vAPI.domainFromURI = function(uri) { var a = document.createElement('a');
return uri !== '' a.href = details.url;
? vAPI.domainFromHostname(vAPI.hostnameFromURI(uri)) a.setAttribute('download', details.filename || '');
: ''; a.dispatchEvent(new MouseEvent('click'));
}; };
}
/******************************************************************************/ /******************************************************************************/
vAPI.download = function(details) { vAPI.insertHTML = function(node, html) {
if ( !details.url ) { return; } node.innerHTML = html;
const a = document.createElement('a');
a.href = details.url;
a.setAttribute('download', details.filename || '');
a.setAttribute('type', 'text/plain');
a.dispatchEvent(new MouseEvent('click'));
}; };
/******************************************************************************/ /******************************************************************************/
vAPI.getURL = browser.runtime.getURL; vAPI.getURL = chrome.runtime.getURL;
/******************************************************************************/ /******************************************************************************/
vAPI.i18n = browser.i18n.getMessage; vAPI.i18n = chrome.i18n.getMessage;
// http://www.w3.org/International/questions/qa-scripts#directions setScriptDirection(vAPI.i18n('@@ui_locale'));
document.body.setAttribute(
'dir',
['ar', 'he', 'fa', 'ps', 'ur'].indexOf(vAPI.i18n('@@ui_locale')) !== -1
? 'rtl'
: 'ltr'
);
/******************************************************************************/ /******************************************************************************/
// https://github.com/gorhill/uBlock/issues/3057
// - webNavigation.onCreatedNavigationTarget become broken on Firefox when we
// try to make the popup panel close itself using the original
// `window.open('', '_self').close()`.
vAPI.closePopup = function() { vAPI.closePopup = function() {
if ( vAPI.webextFlavor.soup.has('firefox') ) {
window.close();
return;
}
// TODO: try to figure why this was used instead of a plain window.close().
// https://github.com/gorhill/uBlock/commit/b301ac031e0c2e9a99cb6f8953319d44e22f33d2#diff-bc664f26b9c453e0d43a9379e8135c6a
window.open('','_self').close(); window.open('','_self').close();
}; };
@ -224,56 +88,14 @@ vAPI.closePopup = function() {
// This storage is optional, but it is nice to have, for a more polished user // This storage is optional, but it is nice to have, for a more polished user
// experience. // experience.
// https://github.com/gorhill/uBlock/issues/2824 vAPI.localStorage = window.localStorage;
// Use a dummy localStorage if for some reasons it's not available.
// https://github.com/gorhill/uMatrix/issues/840
// Always use a wrapper to seamlessly handle exceptions
vAPI.localStorage = {
clear: function() {
try {
window.localStorage.clear();
} catch(ex) {
}
},
getItem: function(key) {
try {
return window.localStorage.getItem(key);
} catch(ex) {
}
return null;
},
removeItem: function(key) {
try {
window.localStorage.removeItem(key);
} catch(ex) {
}
},
setItem: function(key, value) {
try {
window.localStorage.setItem(key, value);
} catch(ex) {
}
}
};
/******************************************************************************/
/******************************************************************************* vAPI.setTimeout = vAPI.setTimeout || window.setTimeout.bind(window);
DO NOT: /******************************************************************************/
- Remove the following code
- Add code beyond the following code
Reason:
- https://github.com/gorhill/uBlock/pull/3721
- uBO never uses the return value from injected content scripts
**/ })();
void 0; /******************************************************************************/

@ -1,178 +0,0 @@
/*******************************************************************************
uMatrix - a browser extension to block requests.
Copyright (C) 2017-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/uMatrix
*/
// For background page
'use strict';
/******************************************************************************/
(( ) => {
// https://github.com/uBlockOrigin/uBlock-issues/issues/407
if ( vAPI.webextFlavor.soup.has('chromium') === false ) { return; }
const extToTypeMap = new Map([
['eot','font'],['otf','font'],['svg','font'],['ttf','font'],['woff','font'],['woff2','font'],
['mp3','media'],['mp4','media'],['webm','media'],
['gif','image'],['ico','image'],['jpeg','image'],['jpg','image'],['png','image'],['webp','image']
]);
const headerValue = (headers, name) => {
let i = headers.length;
while ( i-- ) {
if ( headers[i].name.toLowerCase() === name ) {
return headers[i].value.trim();
}
}
return '';
};
const parsedURL = new URL('https://www.example.org/');
// Extend base class to normalize as per platform.
vAPI.Net = class extends vAPI.Net {
constructor() {
super();
this.suspendedTabIds = new Set();
}
normalizeDetails(details) {
// Chromium 63+ supports the `initiator` property, which contains
// the URL of the origin from which the network request was made.
if (
typeof details.initiator === 'string' &&
details.initiator !== 'null'
) {
details.documentUrl = details.initiator;
}
let type = details.type;
if ( type === 'imageset' ) {
details.type = 'image';
return;
}
// The rest of the function code is to normalize type
if ( type !== 'other' ) { return; }
// Try to map known "extension" part of URL to request type.
parsedURL.href = details.url;
const path = parsedURL.pathname,
pos = path.indexOf('.', path.length - 6);
if ( pos !== -1 && (type = extToTypeMap.get(path.slice(pos + 1))) ) {
details.type = type;
return;
}
// Try to extract type from response headers if present.
if ( details.responseHeaders ) {
type = headerValue(details.responseHeaders, 'content-type');
if ( type.startsWith('font/') ) {
details.type = 'font';
return;
}
if ( type.startsWith('image/') ) {
details.type = 'image';
return;
}
if ( type.startsWith('audio/') || type.startsWith('video/') ) {
details.type = 'media';
return;
}
}
}
// https://www.reddit.com/r/uBlockOrigin/comments/9vcrk3/
// Some types can be mapped from 'other', thus include 'other' if and
// only if the caller is interested in at least one of those types.
denormalizeTypes(types) {
if ( types.length === 0 ) {
return Array.from(this.validTypes);
}
const out = new Set();
for ( const type of types ) {
if ( this.validTypes.has(type) ) {
out.add(type);
}
}
if ( out.has('other') === false ) {
for ( const type of extToTypeMap.values() ) {
if ( out.has(type) ) {
out.add('other');
break;
}
}
}
return Array.from(out);
}
suspendOneRequest(details) {
this.suspendedTabIds.add(details.tabId);
return { cancel: true };
}
unsuspendAllRequests() {
for ( const tabId of this.suspendedTabIds ) {
vAPI.tabs.reload(tabId);
}
this.suspendedTabIds.clear();
}
};
})();
/******************************************************************************/
// https://github.com/uBlockOrigin/uBlock-issues/issues/548
// Use `X-DNS-Prefetch-Control` to workaround Chromium's disregard of the
// setting "Predict network actions to improve page load performance".
vAPI.prefetching = (( ) => {
// https://github.com/uBlockOrigin/uBlock-issues/issues/407
if ( vAPI.webextFlavor.soup.has('chromium') === false ) { return; }
let listening = false;
const onHeadersReceived = function(details) {
details.responseHeaders.push({
name: 'X-DNS-Prefetch-Control',
value: 'off'
});
return { responseHeaders: details.responseHeaders };
};
return state => {
const wr = chrome.webRequest;
if ( state && listening ) {
wr.onHeadersReceived.removeListener(onHeadersReceived);
listening = false;
} else if ( !state && !listening ) {
wr.onHeadersReceived.addListener(
onHeadersReceived,
{
urls: [ 'http://*/*', 'https://*/*' ],
types: [ 'main_frame', 'sub_frame' ]
},
[ 'blocking', 'responseHeaders' ]
);
listening = true;
}
};
})();
/******************************************************************************/

@ -1,86 +0,0 @@
/*******************************************************************************
uMatrix - a browser extension to block requests.
Copyright (C) 2017-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
*/
'use strict';
/* global HTMLDocument, XMLDocument */
// For background page, auxiliary pages, and content scripts.
/******************************************************************************/
if ( self.browser instanceof Object ) {
self.chrome = self.browser;
} else {
self.browser = self.chrome;
}
/******************************************************************************/
// https://bugzilla.mozilla.org/show_bug.cgi?id=1408996#c9
var vAPI = self.vAPI; // jshint ignore:line
// https://github.com/chrisaljoudi/uBlock/issues/464
// https://github.com/chrisaljoudi/uBlock/issues/1528
// A XMLDocument can be a valid HTML document.
// https://github.com/gorhill/uBlock/issues/1124
// Looks like `contentType` is on track to be standardized:
// https://dom.spec.whatwg.org/#concept-document-content-type
// https://forums.lanik.us/viewtopic.php?f=64&t=31522
// Skip text/plain documents.
if (
(
document instanceof HTMLDocument ||
document instanceof XMLDocument &&
document.createElement('div') instanceof HTMLDivElement
) &&
(
/^image\/|^text\/plain/.test(document.contentType || '') === false
) &&
(
self.vAPI instanceof Object === false || vAPI.nuTensor !== true
)
) {
vAPI = self.vAPI = { nuTensor: true };
}
/*******************************************************************************
DO NOT:
- Remove the following code
- Add code beyond the following code
Reason:
- https://github.com/gorhill/uBlock/pull/3721
- uMatrix never uses the return value from injected content scripts
**/
void 0;

@ -1,176 +0,0 @@
/*******************************************************************************
uBlock Origin - a browser extension to block requests.
Copyright (C) 2019-present Raymond Hill
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see {http://www.gnu.org/licenses/}.
Home: https://github.com/gorhill/uBlock
*/
'use strict';
// `webext` is a promisified api of `chrome`. Entries are added as
// the promisification of uBO progress.
const webext = (( ) => { // jshint ignore:line
// >>>>> start of private scope
const noopFunc = ( ) => { };
const promisifyNoFail = function(thisArg, fnName, outFn = r => r) {
const fn = thisArg[fnName];
return function() {
return new Promise(resolve => {
fn.call(thisArg, ...arguments, function() {
if ( chrome.runtime.lastError instanceof Object ) {
void chrome.runtime.lastError.message;
}
resolve(outFn(...arguments));
});
});
};
};
const promisify = function(thisArg, fnName) {
const fn = thisArg[fnName];
return function() {
return new Promise((resolve, reject) => {
fn.call(thisArg, ...arguments, function() {
const lastError = chrome.runtime.lastError;
if ( lastError instanceof Object ) {
return reject(lastError.message);
}
resolve(...arguments);
});
});
};
};
const webext = {
// https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/browserAction
browserAction: {
setBadgeBackgroundColor: promisifyNoFail(chrome.browserAction, 'setBadgeBackgroundColor'),
setBadgeText: promisifyNoFail(chrome.browserAction, 'setBadgeText'),
setBadgeTextColor: noopFunc,
setIcon: promisifyNoFail(chrome.browserAction, 'setIcon'),
setTitle: promisifyNoFail(chrome.browserAction, 'setTitle'),
},
cookies: {
getAll: promisifyNoFail(chrome.cookies, 'getAll'),
remove: promisifyNoFail(chrome.cookies, 'remove'),
},
// https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/menus
/*
menus: {
create: function() {
return chrome.contextMenus.create(...arguments, ( ) => {
void chrome.runtime.lastError;
});
},
onClicked: chrome.contextMenus.onClicked,
remove: promisifyNoFail(chrome.contextMenus, 'remove'),
},
*/
// https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/privacy
privacy: {
},
// https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage
storage: {
// https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/local
local: {
clear: promisify(chrome.storage.local, 'clear'),
get: promisify(chrome.storage.local, 'get'),
getBytesInUse: promisify(chrome.storage.local, 'getBytesInUse'),
remove: promisify(chrome.storage.local, 'remove'),
set: promisify(chrome.storage.local, 'set'),
},
},
// https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs
tabs: {
get: promisifyNoFail(chrome.tabs, 'get', tab => tab instanceof Object ? tab : null),
executeScript: promisifyNoFail(chrome.tabs, 'executeScript'),
insertCSS: promisifyNoFail(chrome.tabs, 'insertCSS'),
query: promisifyNoFail(chrome.tabs, 'query', tabs => Array.isArray(tabs) ? tabs : []),
reload: promisifyNoFail(chrome.tabs, 'reload'),
remove: promisifyNoFail(chrome.tabs, 'remove'),
update: promisifyNoFail(chrome.tabs, 'update', tab => tab instanceof Object ? tab : null),
},
// https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webNavigation
webNavigation: {
getFrame: promisify(chrome.webNavigation, 'getFrame'),
},
// https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/windows
windows: {
get: promisifyNoFail(chrome.windows, 'get', win => win instanceof Object ? win : null),
create: promisifyNoFail(chrome.windows, 'create', win => win instanceof Object ? win : null),
update: promisifyNoFail(chrome.windows, 'update', win => win instanceof Object ? win : null),
},
};
// browser.privacy entries
{
const settings = [
// https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/privacy/network
[ 'network', 'networkPredictionEnabled' ],
[ 'network', 'webRTCIPHandlingPolicy' ],
// https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/privacy/websites
[ 'websites', 'hyperlinkAuditingEnabled' ],
];
for ( const [ category, setting ] of settings ) {
let categoryEntry = webext.privacy[category];
if ( categoryEntry instanceof Object === false ) {
categoryEntry = webext.privacy[category] = {};
}
const settingEntry = categoryEntry[setting] = {};
const thisArg = chrome.privacy[category][setting];
settingEntry.clear = promisifyNoFail(thisArg, 'clear');
settingEntry.get = promisifyNoFail(thisArg, 'get');
settingEntry.set = promisifyNoFail(thisArg, 'set');
}
}
// https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/managed
if ( chrome.storage.managed instanceof Object ) {
webext.storage.managed = {
get: promisify(chrome.storage.managed, 'get'),
};
}
// https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/sync
if ( chrome.storage.sync instanceof Object ) {
webext.storage.sync = {
QUOTA_BYTES: chrome.storage.sync.QUOTA_BYTES,
QUOTA_BYTES_PER_ITEM: chrome.storage.sync.QUOTA_BYTES_PER_ITEM,
MAX_ITEMS: chrome.storage.sync.MAX_ITEMS,
MAX_WRITE_OPERATIONS_PER_HOUR: chrome.storage.sync.MAX_WRITE_OPERATIONS_PER_HOUR,
MAX_WRITE_OPERATIONS_PER_MINUTE: chrome.storage.sync.MAX_WRITE_OPERATIONS_PER_MINUTE,
clear: promisify(chrome.storage.sync, 'clear'),
get: promisify(chrome.storage.sync, 'get'),
getBytesInUse: promisify(chrome.storage.sync, 'getBytesInUse'),
remove: promisify(chrome.storage.sync, 'remove'),
set: promisify(chrome.storage.sync, 'set'),
};
}
// https://bugs.chromium.org/p/chromium/issues/detail?id=608854
if ( chrome.tabs.removeCSS instanceof Function ) {
webext.tabs.removeCSS = promisifyNoFail(chrome.tabs, 'removeCSS');
}
return webext;
// <<<<< end of private scope
})();

@ -0,0 +1,156 @@
/*******************************************************************************
µBlock - a browser extension to block requests.
Copyright (C) 2014 The µBlock authors
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/uMatrix
*/
/* global ADDON_UNINSTALL, APP_SHUTDOWN, APP_STARTUP */
/* exported startup, shutdown, install, uninstall */
'use strict';
/******************************************************************************/
// Accessing the context of the background page:
// var win = Services.appShell.hiddenDOMWindow.document.querySelector('iframe[src*=umatrix]').contentWindow;
let bgProcess;
let version;
const hostName = 'umatrix';
const restartListener = {
get messageManager() {
return Components.classes['@mozilla.org/parentprocessmessagemanager;1']
.getService(Components.interfaces.nsIMessageListenerManager);
},
receiveMessage: function() {
shutdown();
startup();
}
};
/******************************************************************************/
function startup(data, reason) {
if ( data !== undefined ) {
version = data.version;
}
let appShell = Components.classes['@mozilla.org/appshell/appShellService;1']
.getService(Components.interfaces.nsIAppShellService);
let onReady = function(e) {
if ( e ) {
this.removeEventListener(e.type, onReady);
}
let hiddenDoc = appShell.hiddenDOMWindow.document;
// https://github.com/gorhill/uBlock/issues/10
// Fixed by github.com/AlexVallat:
// https://github.com/chrisaljoudi/uBlock/issues/1149
// https://github.com/AlexVallat/uBlock/commit/e762a29d308caa46578cdc34a9be92c4ad5ecdd0
if ( hiddenDoc.readyState === 'loading' ) {
hiddenDoc.addEventListener('DOMContentLoaded', onReady);
return;
}
bgProcess = hiddenDoc.documentElement.appendChild(
hiddenDoc.createElementNS('http://www.w3.org/1999/xhtml', 'iframe')
);
bgProcess.setAttribute(
'src',
'chrome://' + hostName + '/content/background.html#' + version
);
restartListener.messageManager.addMessageListener(
hostName + '-restart',
restartListener
);
};
if ( reason !== APP_STARTUP ) {
onReady();
return;
}
let ww = Components.classes['@mozilla.org/embedcomp/window-watcher;1']
.getService(Components.interfaces.nsIWindowWatcher);
ww.registerNotification({
observe: function(win, topic) {
if ( topic !== 'domwindowopened' ) {
return;
}
try {
appShell.hiddenDOMWindow;
} catch (ex) {
return;
}
ww.unregisterNotification(this);
win.addEventListener('DOMContentLoaded', onReady);
}
});
}
/******************************************************************************/
function shutdown(data, reason) {
if ( reason === APP_SHUTDOWN ) {
return;
}
bgProcess.parentNode.removeChild(bgProcess);
if ( data === undefined ) {
return;
}
// Remove the restartObserver only when the extension is being disabled
restartListener.messageManager.removeMessageListener(
hostName + '-restart',
restartListener
);
}
/******************************************************************************/
function install() {
// https://bugzil.la/719376
Components.classes['@mozilla.org/intl/stringbundle;1']
.getService(Components.interfaces.nsIStringBundleService)
.flushBundles();
}
/******************************************************************************/
function uninstall(data, aReason) {
if ( aReason !== ADDON_UNINSTALL ) {
return;
}
// To cleanup vAPI.localStorage in vapi-common.js, aka
// "extensions.umatrix.*" in `about:config`.
Components.utils.import('resource://gre/modules/Services.jsm', null)
.Services.prefs
.getBranch('extensions.' + hostName + '.')
.deleteBranch('');
}
/******************************************************************************/

@ -0,0 +1 @@
content umatrix ./

@ -0,0 +1,258 @@
/*******************************************************************************
µBlock - a browser extension to block requests.
Copyright (C) 2014 The µBlock authors
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/uMatrix
*/
'use strict';
/******************************************************************************/
this.EXPORTED_SYMBOLS = ['contentObserver', 'LocationChangeListener'];
const {interfaces: Ci, utils: Cu} = Components;
const {Services} = Cu.import('resource://gre/modules/Services.jsm', null);
const {XPCOMUtils} = Cu.import('resource://gre/modules/XPCOMUtils.jsm', null);
const hostName = Services.io.newURI(Components.stack.filename, null, null).host;
// Cu.import('resource://gre/modules/devtools/Console.jsm');
/******************************************************************************/
const getMessageManager = function(win) {
return win
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIDocShell)
.sameTypeRootTreeItem
.QueryInterface(Ci.nsIDocShell)
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIContentFrameMessageManager);
};
/******************************************************************************/
const contentObserver = {
classDescription: 'content-policy for ' + hostName,
classID: Components.ID('{c84283d4-9975-41b7-b1a4-f106af56b51d}'),
contractID: '@' + hostName + '/content-policy;1',
ACCEPT: Ci.nsIContentPolicy.ACCEPT,
MAIN_FRAME: Ci.nsIContentPolicy.TYPE_DOCUMENT,
contentBaseURI: 'chrome://' + hostName + '/content/js/',
uniqueSandboxId: 1,
get componentRegistrar() {
return Components.manager.QueryInterface(Ci.nsIComponentRegistrar);
},
get categoryManager() {
return Components.classes['@mozilla.org/categorymanager;1']
.getService(Ci.nsICategoryManager);
},
QueryInterface: XPCOMUtils.generateQI([
Ci.nsIFactory,
Ci.nsIObserver,
Ci.nsIContentPolicy,
Ci.nsISupportsWeakReference
]),
createInstance: function(outer, iid) {
if ( outer ) {
throw Components.results.NS_ERROR_NO_AGGREGATION;
}
return this.QueryInterface(iid);
},
register: function() {
Services.obs.addObserver(this, 'document-element-inserted', true);
this.componentRegistrar.registerFactory(
this.classID,
this.classDescription,
this.contractID,
this
);
this.categoryManager.addCategoryEntry(
'content-policy',
this.contractID,
this.contractID,
false,
true
);
},
unregister: function() {
Services.obs.removeObserver(this, 'document-element-inserted');
this.componentRegistrar.unregisterFactory(this.classID, this);
this.categoryManager.deleteCategoryEntry(
'content-policy',
this.contractID,
false
);
},
// https://bugzil.la/612921
shouldLoad: function(type, location, origin, context) {
return this.ACCEPT;
},
initContentScripts: function(win, sandbox) {
let messager = getMessageManager(win);
let sandboxId = hostName + ':sb:' + this.uniqueSandboxId++;
if ( sandbox ) {
let sandboxName = [
win.location.href.slice(0, 100),
win.document.title.slice(0, 100)
].join(' | ');
sandbox = Cu.Sandbox([win], {
sandboxName: sandboxId + '[' + sandboxName + ']',
sandboxPrototype: win,
wantComponents: false,
wantXHRConstructor: false
});
sandbox.injectScript = function(script) {
Services.scriptloader.loadSubScript(script, sandbox);
};
}
else {
sandbox = win;
}
sandbox._sandboxId_ = sandboxId;
sandbox.sendAsyncMessage = messager.sendAsyncMessage;
sandbox.addMessageListener = function(callback) {
if ( sandbox._messageListener_ ) {
sandbox.removeMessageListener();
}
sandbox._messageListener_ = function(message) {
callback(message.data);
};
messager.addMessageListener(
sandbox._sandboxId_,
sandbox._messageListener_
);
messager.addMessageListener(
hostName + ':broadcast',
sandbox._messageListener_
);
};
sandbox.removeMessageListener = function() {
try {
messager.removeMessageListener(
sandbox._sandboxId_,
sandbox._messageListener_
);
messager.removeMessageListener(
hostName + ':broadcast',
sandbox._messageListener_
);
} catch (ex) {
// It throws sometimes, mostly when the popup closes
}
sandbox._messageListener_ = null;
};
return sandbox;
},
observe: function(doc) {
let win = doc.defaultView;
if ( !win ) {
return;
}
let loc = win.location;
if ( !loc ) {
return;
}
if ( loc.protocol !== 'http:' && loc.protocol !== 'https:' && loc.protocol !== 'file:' ) {
if ( loc.protocol === 'chrome:' && loc.host === hostName ) {
this.initContentScripts(win);
}
// What about data: and about:blank?
return;
}
let lss = Services.scriptloader.loadSubScript;
let sandbox = this.initContentScripts(win, true);
lss(this.contentBaseURI + 'vapi-client.js', sandbox);
lss(this.contentBaseURI + 'contentscript-start.js', sandbox);
let docReady = (e) => {
let doc = e.target;
doc.removeEventListener(e.type, docReady, true);
lss(this.contentBaseURI + 'contentscript-end.js', sandbox);
};
if ( doc.readyState === 'loading') {
doc.addEventListener('DOMContentLoaded', docReady, true);
} else {
docReady({ target: doc, type: 'DOMContentLoaded' });
}
}
};
/******************************************************************************/
const locationChangedMessageName = hostName + ':locationChanged';
const LocationChangeListener = function(docShell) {
if (docShell) {
docShell.QueryInterface(Ci.nsIInterfaceRequestor);
this.docShell = docShell.getInterface(Ci.nsIWebProgress);
this.messageManager = docShell.getInterface(Ci.nsIContentFrameMessageManager);
if (this.messageManager && typeof this.messageManager.sendAsyncMessage === 'function') {
this.docShell.addProgressListener(this, Ci.nsIWebProgress.NOTIFY_LOCATION);
}
}
};
LocationChangeListener.prototype.QueryInterface = XPCOMUtils.generateQI(["nsIWebProgressListener", "nsISupportsWeakReference"]);
LocationChangeListener.prototype.onLocationChange = function(webProgress, request, location, flags) {
if ( !webProgress.isTopLevel ) {
return;
}
this.messageManager.sendAsyncMessage(locationChangedMessageName, {
url: location.asciiSpec,
flags: flags,
});
};
/******************************************************************************/
contentObserver.register();
/******************************************************************************/

@ -0,0 +1,65 @@
/*******************************************************************************
µBlock - a browser extension to block requests.
Copyright (C) 2014 The µBlock authors
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/uMatrix
*/
/******************************************************************************/
var locationChangeListener; // Keep alive while frameScript is alive
(function() {
'use strict';
/******************************************************************************/
let {contentObserver, LocationChangeListener} = Components.utils.import(
Components.stack.filename.replace('Script', 'Module'),
null
);
let injectContentScripts = function(win) {
if ( !win || !win.document ) {
return;
}
contentObserver.observe(win.document);
if ( win.frames && win.frames.length ) {
let i = win.frames.length;
while ( i-- ) {
injectContentScripts(win.frames[i]);
}
}
};
let onLoadCompleted = function() {
removeMessageListener('umatrix-load-completed', onLoadCompleted);
injectContentScripts(content);
};
addMessageListener('umatrix-load-completed', onLoadCompleted);
locationChangeListener = new LocationChangeListener(docShell);
/******************************************************************************/
})();
/******************************************************************************/

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 777 B

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<r:RDF xmlns:r="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.mozilla.org/2004/em-rdf#">
<r:Description about="urn:mozilla:install-manifest">
<id>uMatrix@raymondhill.net</id>
<version>{version}</version>
<name>{name}</name>
<description>{description}</description>
<homepageURL>{homepage}</homepageURL>
<creator>{author}</creator>
<type>2</type>
<bootstrap>true</bootstrap>
<multiprocessCompatible>true</multiprocessCompatible>
<optionsType>2</optionsType>
{localized}
<!-- Firefox -->
<targetApplication>
<r:Description>
<id>{{ec8030f7-c20a-464f-9b0e-13a3a9e97384}}</id>
<minVersion>29.0</minVersion>
<maxVersion>40.0</maxVersion>
</r:Description>
</targetApplication>
</r:Description>
</r:RDF>

@ -1,69 +0,0 @@
{
"browser_specific_settings": {
"gecko": {
"id": "nuTensor@geekprojects.com",
"strict_min_version": "60.0"
}
},
"author": "Raymond Hill",
"background": {
"page": "background.html"
},
"browser_action": {
"browser_style": false,
"default_icon": {
"19": "img/browsericons/icon19-off.png"
},
"default_title": "nuTensor",
"default_popup": "popup.html"
},
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*"],
"js": ["/js/vapi.js", "/js/vapi-client.js", "/js/contentscript-start.js"],
"run_at": "document_start",
"all_frames": true
},
{
"matches": ["http://*/*", "https://*/*"],
"js": ["/js/contentscript.js"],
"run_at": "document_end",
"all_frames": true
}
],
"default_locale": "en",
"description": "__MSG_extShortDesc__",
"icons": {
"16": "img/icon_16.png",
"128": "img/icon_128.png"
},
"manifest_version": 2,
"name": "nuTensor",
"options_ui": {
"page":"dashboard.html",
"open_in_tab": true
},
"permissions": [
"browsingData",
"cookies",
"dns",
"privacy",
"storage",
"tabs",
"webNavigation",
"webRequest",
"webRequestBlocking",
"<all_urls>"
],
"short_name": "nuTensor",
"sidebar_action": {
"default_title": "__MSG_loggerPageName__",
"default_panel": "logger-ui.html",
"default_icon": {
"16": "img/icon_16.png",
"128": "img/icon_128.png"
},
"open_at_install": false
},
"version": "0.9.9"
}

@ -0,0 +1,9 @@
<?xml version="1.0" ?>
<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<setting type="control">
<vbox>
<button id="showDashboardButton"/>
<button id="showLoggerButton"/>
</vbox>
</setting>
</vbox>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,211 @@
/*******************************************************************************
µBlock - a browser extension to block requests.
Copyright (C) 2014 The µBlock authors
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/uMatrix
*/
/* jshint boss: true, esnext: true */
/* global addMessageListener, removeMessageListener, sendAsyncMessage */
// For non background pages
/******************************************************************************/
(function(self) {
'use strict';
/******************************************************************************/
var vAPI = self.vAPI = self.vAPI || {};
vAPI.firefox = true;
vAPI.sessionId = String.fromCharCode(Date.now() % 25 + 97) +
Math.random().toString(36).slice(2);
/******************************************************************************/
vAPI.shutdown = (function() {
var jobs = [];
var add = function(job) {
jobs.push(job);
};
var exec = function() {
//console.debug('Shutting down...');
var job;
while ( job = jobs.pop() ) {
job();
}
};
return {
add: add,
exec: exec
};
})();
/******************************************************************************/
var messagingConnector = function(response) {
if ( !response ) {
return;
}
var channels = vAPI.messaging.channels;
var channel, listener;
if ( response.broadcast === true && !response.channelName ) {
for ( channel in channels ) {
if ( channels.hasOwnProperty(channel) === false ) {
continue;
}
listener = channels[channel].listener;
if ( typeof listener === 'function' ) {
listener(response.msg);
}
}
return;
}
if ( response.requestId ) {
listener = vAPI.messaging.listeners[response.requestId];
delete vAPI.messaging.listeners[response.requestId];
delete response.requestId;
}
if ( !listener ) {
channel = channels[response.channelName];
listener = channel && channel.listener;
}
if ( typeof listener === 'function' ) {
listener(response.msg);
}
};
/******************************************************************************/
vAPI.messaging = {
channels: {},
listeners: {},
requestId: 1,
setup: function() {
this.connector = function(msg) {
messagingConnector(JSON.parse(msg));
};
addMessageListener(this.connector);
this.channels.vAPI = {
listener: function(msg) {
if ( msg.cmd === 'injectScript' ) {
var details = msg.details;
if ( !details.allFrames && window !== window.top ) {
return;
}
self.injectScript(details.file);
}
}
};
},
close: function() {
if ( !this.connector ) {
return;
}
removeMessageListener();
this.connector = null;
this.channels = {};
this.listeners = {};
},
channel: function(channelName, callback) {
if ( !channelName ) {
return;
}
this.channels[channelName] = {
channelName: channelName,
listener: typeof callback === 'function' ? callback : null,
send: function(message, callback) {
if ( !vAPI.messaging.connector ) {
vAPI.messaging.setup();
}
message = {
channelName: self._sandboxId_ + '|' + this.channelName,
msg: message
};
if ( callback ) {
message.requestId = vAPI.messaging.requestId++;
vAPI.messaging.listeners[message.requestId] = callback;
}
sendAsyncMessage('umatrix:background', message);
},
close: function() {
delete vAPI.messaging.channels[this.channelName];
}
};
return this.channels[channelName];
},
toggleListener: function({type, persisted}) {
if ( !vAPI.messaging.connector ) {
return;
}
if ( type === 'pagehide' ) {
removeMessageListener();
return;
}
if ( persisted ) {
addMessageListener(vAPI.messaging.connector);
}
}
};
window.addEventListener('pagehide', vAPI.messaging.toggleListener, true);
window.addEventListener('pageshow', vAPI.messaging.toggleListener, true);
/******************************************************************************/
// No need to have vAPI client linger around after shutdown if
// we are not a top window (because element picker can still
// be injected in top window).
if ( window !== window.top ) {
// Can anything be done?
}
/******************************************************************************/
vAPI.setTimeout = vAPI.setTimeout || function(callback, delay) {
setTimeout(function() { callback(); }, delay);
};
/******************************************************************************/
})(this);
/******************************************************************************/

@ -0,0 +1,164 @@
/*******************************************************************************
µBlock - a browser extension to block requests.
Copyright (C) 2014 The µBlock authors
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/uMatrix
*/
/* jshint esnext: true */
/* global sendAsyncMessage */
// For background page or non-background pages
/******************************************************************************/
(function() {
'use strict';
/******************************************************************************/
const {Services} = Components.utils.import(
'resource://gre/modules/Services.jsm',
null
);
self.vAPI = self.vAPI || {};
/******************************************************************************/
// http://www.w3.org/International/questions/qa-scripts#directions
var setScriptDirection = function(language) {
document.body.setAttribute(
'dir',
['ar', 'he', 'fa', 'ps', 'ur'].indexOf(language) !== -1 ? 'rtl' : 'ltr'
);
};
/******************************************************************************/
vAPI.download = function(details) {
if ( !details.url ) {
return;
}
var a = document.createElement('a');
a.href = details.url;
a.setAttribute('download', details.filename || '');
a.dispatchEvent(new MouseEvent('click'));
};
/******************************************************************************/
vAPI.insertHTML = (function() {
const parser = Components.classes['@mozilla.org/parserutils;1']
.getService(Components.interfaces.nsIParserUtils);
return function(node, html) {
while ( node.firstChild ) {
node.removeChild(node.firstChild);
}
node.appendChild(parser.parseFragment(
html,
parser.SanitizerAllowStyle,
false,
Services.io.newURI(document.baseURI, null, null),
document.documentElement
));
};
})();
/******************************************************************************/
vAPI.getURL = function(path) {
return 'chrome://' + location.host + '/content/' + path.replace(/^\/+/, '');
};
/******************************************************************************/
vAPI.i18n = (function() {
var stringBundle = Services.strings.createBundle(
'chrome://' + location.host + '/locale/messages.properties'
);
return function(s) {
try {
return stringBundle.GetStringFromName(s);
} catch (ex) {
return '';
}
};
})();
setScriptDirection(navigator.language);
/******************************************************************************/
vAPI.closePopup = function() {
sendAsyncMessage(location.host + ':closePopup');
};
/******************************************************************************/
// A localStorage-like object which should be accessible from the
// background page or auxiliary pages.
// This storage is optional, but it is nice to have, for a more polished user
// experience.
vAPI.localStorage = {
PB: Services.prefs.getBranch('extensions.' + location.host + '.'),
str: Components.classes['@mozilla.org/supports-string;1']
.createInstance(Components.interfaces.nsISupportsString),
getItem: function(key) {
try {
return this.PB.getComplexValue(
key,
Components.interfaces.nsISupportsString
).data;
} catch (ex) {
return null;
}
},
setItem: function(key, value) {
this.str.data = value;
this.PB.setComplexValue(
key,
Components.interfaces.nsISupportsString,
this.str
);
},
removeItem: function(key) {
this.PB.clearUserPref(key);
},
clear: function() {
this.PB.deleteBranch('');
}
};
/******************************************************************************/
vAPI.setTimeout = vAPI.setTimeout || function(callback, delay) {
setTimeout(function() { callback(); }, delay);
};
/******************************************************************************/
})();
/******************************************************************************/

@ -0,0 +1 @@
/* Firefox: no platform-specific code */

@ -1,263 +0,0 @@
/*******************************************************************************
uMatrix - a browser extension to block requests.
Copyright (C) 2017-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/uMatrix
*/
// For background page
'use strict';
/******************************************************************************/
(( ) => {
// https://github.com/uBlockOrigin/uBlock-issues/issues/407
if ( vAPI.webextFlavor.soup.has('firefox') === false ) { return; }
// https://github.com/gorhill/uBlock/issues/2950
// Firefox 56 does not normalize URLs to ASCII, uBO must do this itself.
// https://bugzilla.mozilla.org/show_bug.cgi?id=945240
const evalMustPunycode = ( ) => {
return vAPI.webextFlavor.soup.has('firefox') &&
vAPI.webextFlavor.major < 57;
};
let mustPunycode = evalMustPunycode();
// The real actual webextFlavor value may not be set in stone, so listen
// for possible future changes.
window.addEventListener('webextFlavor', ( ) => {
mustPunycode = evalMustPunycode();
}, { once: true });
const punycode = self.punycode;
const reAsciiHostname = /^https?:\/\/[0-9a-z_.:@-]+[/?#]/;
const parsedURL = new URL('about:blank');
// Related issues:
// - https://github.com/gorhill/uBlock/issues/1327
// - https://github.com/uBlockOrigin/uBlock-issues/issues/128
// - https://bugzilla.mozilla.org/show_bug.cgi?id=1503721
// Extend base class to normalize as per platform.
vAPI.Net = class extends vAPI.Net {
constructor() {
super();
this.pendingRequests = [];
this.cnames = new Map([ [ '', '' ] ]);
this.cnameIgnoreList = null;
this.cnameIgnore1stParty = true;
this.cnameIgnoreExceptions = true;
this.cnameIgnoreRootDocument = true;
this.cnameMaxTTL = 60;
this.cnameReplayFullURL = false;
this.cnameTimer = undefined;
this.canRevealCNAME = browser.dns instanceof Object;
}
setOptions(options) {
super.setOptions(options);
this.cnameIgnoreList = this.regexFromStrList(options.cnameIgnoreList);
this.cnameIgnore1stParty = options.cnameIgnore1stParty !== false;
this.cnameIgnoreExceptions = options.cnameIgnoreExceptions !== false;
this.cnameIgnoreRootDocument = options.cnameIgnoreRootDocument !== false;
this.cnameMaxTTL = options.cnameMaxTTL || 120;
this.cnameReplayFullURL = options.cnameReplayFullURL === true;
this.cnames.clear(); this.cnames.set('', '');
}
normalizeDetails(details) {
if ( mustPunycode && !reAsciiHostname.test(details.url) ) {
parsedURL.href = details.url;
details.url = details.url.replace(
parsedURL.hostname,
punycode.toASCII(parsedURL.hostname)
);
}
const type = details.type;
if ( type === 'imageset' ) {
details.type = 'image';
return;
}
// https://github.com/uBlockOrigin/uBlock-issues/issues/345
// Re-categorize an embedded object as a `sub_frame` if its
// content type is that of a HTML document.
if ( type === 'object' && Array.isArray(details.responseHeaders) ) {
for ( const header of details.responseHeaders ) {
if ( header.name.toLowerCase() === 'content-type' ) {
if ( header.value.startsWith('text/html') ) {
details.type = 'sub_frame';
}
break;
}
}
}
}
denormalizeTypes(types) {
if ( types.length === 0 ) {
return Array.from(this.validTypes);
}
const out = new Set();
for ( const type of types ) {
if ( this.validTypes.has(type) ) {
out.add(type);
}
if ( type === 'image' && this.validTypes.has('imageset') ) {
out.add('imageset');
}
if ( type === 'sub_frame' ) {
out.add('object');
}
}
return Array.from(out);
}
processCanonicalName(hn, cn, details) {
const hnBeg = details.url.indexOf(hn);
if ( hnBeg === -1 ) { return; }
const oldURL = details.url;
let newURL = oldURL.slice(0, hnBeg) + cn;
const hnEnd = hnBeg + hn.length;
if ( this.cnameReplayFullURL ) {
newURL += oldURL.slice(hnEnd);
} else {
const pathBeg = oldURL.indexOf('/', hnEnd);
if ( pathBeg !== -1 ) {
newURL += oldURL.slice(hnEnd, pathBeg + 1);
}
}
details.url = newURL;
details.aliasURL = oldURL;
return super.onBeforeSuspendableRequest(details);
}
recordCanonicalName(hn, record) {
let cname =
typeof record.canonicalName === 'string' &&
record.canonicalName !== hn
? record.canonicalName
: '';
if (
cname !== '' &&
this.cnameIgnore1stParty &&
vAPI.domainFromHostname(cname) === vAPI.domainFromHostname(hn)
) {
cname = '';
}
if (
cname !== '' &&
this.cnameIgnoreList !== null &&
this.cnameIgnoreList.test(cname)
) {
cname = '';
}
this.cnames.set(hn, cname);
if ( this.cnameTimer === undefined ) {
this.cnameTimer = self.setTimeout(
( ) => {
this.cnameTimer = undefined;
this.cnames.clear(); this.cnames.set('', '');
},
this.cnameMaxTTL * 60000
);
}
return cname;
}
regexFromStrList(list) {
if (
typeof list !== 'string' ||
list.length === 0 ||
list === 'unset' ||
browser.dns instanceof Object === false
) {
return null;
}
if ( list === '*' ) {
return /^./;
}
return new RegExp(
'(?:^|\.)(?:' +
list.trim()
.split(/\s+/)
.map(a => a.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'))
.join('|') +
')$'
);
}
onBeforeSuspendableRequest(details) {
const r = super.onBeforeSuspendableRequest(details);
if ( this.canRevealCNAME === false ) { return r; }
if ( r !== undefined ) {
if ( r.cancel === false ) { return; }
if (
r.cancel === true ||
r.redirectUrl !== undefined ||
this.cnameIgnoreExceptions
) {
return r;
}
}
if (
details.type === 'main_frame' &&
this.cnameIgnoreRootDocument
) {
return;
}
const hn = vAPI.hostnameFromNetworkURL(details.url);
const cname = this.cnames.get(hn);
if ( cname === '' ) { return; }
if ( cname !== undefined ) {
return this.processCanonicalName(hn, cname, details);
}
return browser.dns.resolve(hn, [ 'canonical_name' ]).then(
rec => {
const cname = this.recordCanonicalName(hn, rec);
if ( cname === '' ) { return; }
return this.processCanonicalName(hn, cname, details);
},
( ) => {
this.cnames.set(hn, '');
}
);
}
suspendOneRequest(details) {
const pending = {
details: Object.assign({}, details),
resolve: undefined,
promise: undefined
};
pending.promise = new Promise(resolve => {
pending.resolve = resolve;
});
this.pendingRequests.push(pending);
return pending.promise;
}
unsuspendAllRequests() {
const pendingRequests = this.pendingRequests;
this.pendingRequests = [];
for ( const entry of pendingRequests ) {
entry.resolve(this.onBeforeSuspendableRequest(entry.details));
}
}
canSuspend() {
return true;
}
};
})();
/******************************************************************************/

@ -1,24 +0,0 @@
/*******************************************************************************
uBlock Origin - a browser extension to block requests.
Copyright (C) 2019-present Raymond Hill
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see {http://www.gnu.org/licenses/}.
Home: https://github.com/gorhill/uBlock
*/
'use strict';
const webext = browser; // jshint ignore:line

@ -1,10 +0,0 @@
{
"sidebar_action": {
"default_title": "__MSG_loggerPageName__",
"default_panel": "logger-ui.html",
"default_icon": {
"16": "img/icon_16.png",
"128": "img/icon_128.png"
}
}
}

@ -1,20 +1,16 @@
{ {
"extName":{ "extName":{
"message": "nuTensor", "message":"uMatrix",
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "Point & click to forbid/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.", "message":"Point & click to forbid\/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message": "nuTensor — Dashboard", "message":"uMatrix — Dashboard",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — Logger",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message":"Settings", "message":"Settings",
"description":"a tab in dashboard" "description":"a tab in dashboard"
@ -32,11 +28,7 @@
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "Assets", "message":"Hosts files",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "More",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
@ -59,10 +51,6 @@
"message":"image", "message":"image",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"mediaPrettyName": {
"message": "media",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"pluginPrettyName":{ "pluginPrettyName":{
"message":"plugin", "message":"plugin",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
@ -71,8 +59,8 @@
"message":"script", "message":"script",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
@ -87,28 +75,20 @@
"message":"No net traffic seen for this tab so far.", "message":"No net traffic seen for this tab so far.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Select a local scope to see/create rules which apply only in that scope",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Select the global scope to see/create rules which apply everywhere",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "Disable/enable matrix filtering for this scope", "message":"Disable\/enable matrix filtering for this scope.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
"message": "Save all temporary changes for this scope", "message":"Save all temporary changes for this scope.",
"description":"Tool tip for the persist button" "description":"Tool tip for the persist button"
}, },
"matrixRevertButtonTip":{ "matrixRevertButtonTip":{
"message": "Revert temporary changes for this scope", "message":"Revert temporary changes for this scope.",
"description":"Tool tip for the revert local permission button" "description":"Tool tip for the revert local permission button"
}, },
"matrixReloadButton":{ "matrixReloadButton":{
"message": "Reload the page. \nPress Shift to bypass the browser cache.", "message":"Reload the page.",
"description":"Tool tip for the reload button" "description":"Tool tip for the reload button"
}, },
"matrix1stPartyLabel":{ "matrix1stPartyLabel":{
@ -120,23 +100,15 @@
"description":"Appears in the metadata row of bottom-most group: **mind the limited width**" "description":"Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent":{ "matrixSwitchNoMixedContent":{
"message": "Forbid mixed content", "message":"Strict HTTPS",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Forbid web workers", "message":"User agent spoofing",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message": "Spoof <code>Referer</code> header", "message":"Referrer spoofing",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoscriptSpoof": {
"message": "Spoof <code><noscript></code> tags",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Reveal canonical names",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
@ -151,20 +123,8 @@
"message":"Go to dashboard", "message":"Go to dashboard",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "No web page found",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Import rules",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Save rules",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message": "nuTensor &ndash; Statistics", "message":"uMatrix &ndash; Statistics",
"description":"" "description":""
}, },
"statsPageGenericStats":{ "statsPageGenericStats":{
@ -172,15 +132,15 @@
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_cookie'>HTTP cookie</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_cookie'>HTTP cookie<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referer</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referer<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hyperlink auditing</a> attempts foiled: {{count}}", "message":"<a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink auditing<\/a> attempts foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
@ -188,7 +148,7 @@
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "<a href='http://diveintohtml5.info/storage.html'>Local storages</a> emptied: {{count}}", "message":"<a href='http:\/\/diveintohtml5.info\/storage.html'>Local storages<\/a> emptied: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
@ -272,179 +232,35 @@
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "HTTP requests <b>per page</b>", "message":"HTTP requests <b>per page<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).</p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.</p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.</p><p>Enter &ldquo;<code>0</code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>nuTensor</i>).</p>", "message":"<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).<\/p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.<\/p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.<\/p><p>Enter &ldquo;<code>0<\/code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>uMatrix<\/i>).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message":"Refresh", "message":"Refresh",
"description":"" "description":""
}, },
"logAll": {
"message": "All",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Tabless",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Current tab",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Reload the tab content",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "filter expression(s)",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "cookie deleted: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "failed to delete cookie: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "browser cache cleared",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "asset updated: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: The logger",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Clear logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pause logger (discard all incoming data)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Unpause logger",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Logger filtering options",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Not",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "blocked",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "1st-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "3rd-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Details",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Context",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Rule",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Preserve entries from the last {{input}} minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Preserve at most {{input}} entries per tab",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Use {{input}} lines per entry in vertically expanded mode",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "List",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Table",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Plain",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message": "nuTensor &ndash; Settings", "message":"uMatrix &ndash; Settings",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message": "Matrix", "message":"Appearance",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message":"Text size:", "message":"Text size:",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "Show the number of blocked resources on the icon", "message":"Normal",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"Large",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
@ -455,52 +271,52 @@
"message":"Convenience", "message":"Convenience",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "Default scope level:", "message":"When the matrix is closed, smart reload these tabs:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "Global", "message":"None",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "Domain", "message":"Current",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "Site", "message":"All",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "Hide placeholder of blocked elements", "message":"Whenever you make changes in the matrix which can affect the display and\/or behavior of one or more pages, <i>uMatrix<\/i> will reload affected pages automatically when you close the matrix.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "Hide placeholder of blacklisted elements", "message":"Blocked frames:&ensp;Color",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "Spoof <code><noscript></code> tags when 1st-party scripts are blocked", "message":"Opacity",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "Enable cloud storage support", "message":"Show the number of distinct requests on the icon",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "Disable tooltips", "message":"Collapse placeholder of blocked elements",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message": "nuTensor &ndash; Privacy", "message":"uMatrix &ndash; Privacy",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
"message": "Delete blocked cookies", "message":"Delete blocked cookies.",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p>Blacklisted cookies are not prevented by <i>nuTensor</i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.</p><p>Once these blacklisted cookies have been accounted for by <i>nuTensor</i>, they can be removed from your browser if you wish so.</p><p><b>Important note:</b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>nuTensor</i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.</p>", "message":"<p>Blacklisted cookies are not prevented by <i>uMatrix<\/i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.<\/p><p>Once these blacklisted cookies have been accounted for by <i>uMatrix<\/i>, they can be removed from your browser if you wish so.<\/p><p><b>Important note:<\/b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>uMatrix<\/i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
@ -508,15 +324,15 @@
"description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt2":{ "privacyDeleteNonBlockedSessionCookiesPrompt2":{
"message": " minutes after the last time they have been used", "message":" minutes after the last time they have been used.",
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;</p><p>Except that this <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>might not be happening</a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;<\/p><p>Except that this <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>might not be happening<\/a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "Delete <a href='https://en.wikipedia.org/wiki/Web_storage'>local storage</a> content set by blocked hostnames", "message":"Delete <a href='https:\/\/en.wikipedia.org\/wiki\/Web_storage'>local storage<\/a> content set by blocked hostnames",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
@ -528,35 +344,55 @@
"description":"First part of 'Clear browser cache every [n] minutes'" "description":"First part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCachePrompt2":{ "privacyClearCachePrompt2":{
"message": "minutes", "message":"minutes.",
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.</p><p>A few of these tricks rely<sup>[1, 2]</sup> on the <a href='https://en.wikipedia.org/wiki/Web_cache'>browser cache</a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.</p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.</p><p>Check this option to have <i>nuTensor</i> do it for you, at the interval you wish.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a>\n[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>", "message":"<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.<\/p><p>A few of these tricks rely<sup style='font-size:smaller'>[1, 2]<\/sup> on the <a href='https:\/\/en.wikipedia.org\/wiki\/Web_cache'>browser cache<\/a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.<\/p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.<\/p><p>Check this option to have <i>uMatrix<\/i> do it for you, at the interval you wish.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Cookieless cookies&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "Spoof <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referrer</a> string of third-party requests", "message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referrer<\/a> string of third-party requests.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "From Wikipedia:<blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.</b></blockquote>If this setting is checked, <i>nuTensor</i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.", "message":"<p>From Wikipedia:<\/p><blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.<\/b><\/blockquote><p>If this setting is checked, <i>uMatrix<\/i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
"message": "Strict HTTPS: forbid mixed content", "message":"Strict HTTPS: forbid mixed content.",
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>From <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.</blockquote>", "message":"<p>From <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a>:<\/p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "Block all <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>hyperlink auditing</a> attempts", "message":"Block all <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>hyperlink auditing<\/a> attempts.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>Hyperlink auditing is a mechanism which allow a party, <b>any party</b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.</p>", "message":"<p>Hyperlink auditing is a mechanism which allow a party, <b>any party<\/b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/User_agent'>User-Agent<\/a> string by randomly picking a new one below every",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"minutes.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>According to the <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] your browser sends a &lsquo;User Agent&rsquo; header to the website saying precisely which operating system and web browser you are using. This information could help distinguish Internet users from one another because these versions differ, often considerably, from person to person. [...] <b>the User Agent string becomes a real privacy problem<\/b>.&rdquo;<p>This option allows you to address the privacy issue raised by the EFF.<\/p><p>You can supply your own list of user agent strings. One string per line. Blank lines and lines prefixed with &lsquo;#&rsquo; will be ignored.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Behind-the-scene requests",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
@ -603,10 +439,6 @@
"message":"my-umatrix-rules.txt", "message":"my-umatrix-rules.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "Hosts files",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.", "message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.",
"description":"" "description":""
@ -628,7 +460,7 @@
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "Auto-update assets", "message":"Auto-update hosts files.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -640,7 +472,7 @@
"description":"" "description":""
}, },
"hostsFilesExternalListsHint":{ "hostsFilesExternalListsHint":{
"message": "Import external assets here: \nOne URL per line; invalid URLs will be silently ignored.", "message":"One URL per line. Lines prefixed with &lsquo;#&rsquo; will be ignored. Invalid URLs will be silently ignored.",
"description":"" "description":""
}, },
"hostsFilesExternalListsParse":{ "hostsFilesExternalListsParse":{
@ -659,32 +491,8 @@
"message":"outdated", "message":"outdated",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "Ruleset recipes",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Ruleset recipes are imported from the popup panel <em>on demand</em>, i.e. <b>only</b> through user interaction.",
"description": ""
},
"assetsImportLabel": {
"message": "Import...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "My hosts",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "My recipes",
"description": ""
},
"rawSettingsWarning": {
"message": "Warning! Change these raw configuration settings at your own risk.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Change log</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>Change log<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
@ -692,11 +500,11 @@
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Documentation</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Documentation<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki/Permissions'>Permissions</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>Permissions<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
@ -704,8 +512,8 @@
"description":"" "description":""
}, },
"aboutIssues":{ "aboutIssues":{
"message": "Issue tracker", "message":"Bugs and issues",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message":"Contributors", "message":"Contributors",
@ -740,7 +548,7 @@
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "All your settings will be overwritten using data backed up on {{time}}, and nuTensor will restart.\n\nOverwrite all existing settings using backed up data?", "message":"All your settings will be overwritten using data backed up on {{time}}, and uMatrix will restart.\n\nOverwrite all existing settings using backed up data?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
@ -759,18 +567,38 @@
"message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?", "message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"filter expression(s)",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"spoofing user agent with: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"cookie deleted: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"failed to delete cookie: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"browser cache cleared",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"asset updated: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor has prevented the following page from loading:", "message":"uMatrix has prevented the following page from loading:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message":"Because of the following rule", "message":"Because of the following rule",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "without parameters",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message":"Go back", "message":"Go back",
"description":"English: Go back" "description":"English: Go back"
@ -827,40 +655,8 @@
"message":"Logger", "message":"Logger",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Export to cloud storage",
"description": "tooltip"
},
"cloudPull": {
"message": "Import from cloud storage",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "This device name:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Submit",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Revert",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"Network error: Unable to connect to {{url}}", "message":"Network error: Unable to connect to {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Apply changes",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copy to clipboard",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1,20 +1,16 @@
{ {
"extName":{ "extName":{
"message": "nuTensor", "message":"uMatrix",
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "Point & click to forbid/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.", "message":"Point & click to forbid\/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message": "nuTensor — Dashboard", "message":"uMatrix — Dashboard",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — Logger",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message":"Settings", "message":"Settings",
"description":"a tab in dashboard" "description":"a tab in dashboard"
@ -32,11 +28,7 @@
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "Assets", "message":"Hosts files",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "More",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
@ -59,10 +51,6 @@
"message":"image", "message":"image",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"mediaPrettyName": {
"message": "media",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"pluginPrettyName":{ "pluginPrettyName":{
"message":"plugin", "message":"plugin",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
@ -71,8 +59,8 @@
"message":"script", "message":"script",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
@ -87,28 +75,20 @@
"message":"No net traffic seen for this tab so far.", "message":"No net traffic seen for this tab so far.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Select a local scope to see/create rules which apply only in that scope",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Select the global scope to see/create rules which apply everywhere",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "Disable/enable matrix filtering for this scope", "message":"Disable\/enable matrix filtering for this scope.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
"message": "Save all temporary changes for this scope", "message":"Save all temporary changes for this scope.",
"description":"Tool tip for the persist button" "description":"Tool tip for the persist button"
}, },
"matrixRevertButtonTip":{ "matrixRevertButtonTip":{
"message": "Revert temporary changes for this scope", "message":"Revert temporary changes for this scope.",
"description":"Tool tip for the revert local permission button" "description":"Tool tip for the revert local permission button"
}, },
"matrixReloadButton":{ "matrixReloadButton":{
"message": "Reload the page. \nPress Shift to bypass the browser cache.", "message":"Reload the page.",
"description":"Tool tip for the reload button" "description":"Tool tip for the reload button"
}, },
"matrix1stPartyLabel":{ "matrix1stPartyLabel":{
@ -120,23 +100,15 @@
"description":"Appears in the metadata row of bottom-most group: **mind the limited width**" "description":"Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent":{ "matrixSwitchNoMixedContent":{
"message": "Forbid mixed content", "message":"Strict HTTPS",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Forbid web workers", "message":"User agent spoofing",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message": "Spoof <code>Referer</code> header", "message":"Referrer spoofing",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoscriptSpoof": {
"message": "Spoof <code><noscript></code> tags",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Reveal canonical names",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
@ -151,20 +123,8 @@
"message":"Go to dashboard", "message":"Go to dashboard",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "No web page found",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Import rules",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Save rules",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message": "nuTensor &ndash; Statistics", "message":"uMatrix &ndash; Statistics",
"description":"" "description":""
}, },
"statsPageGenericStats":{ "statsPageGenericStats":{
@ -172,15 +132,15 @@
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_cookie'>HTTP cookie</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_cookie'>HTTP cookie<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referer</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referer<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hyperlink auditing</a> attempts foiled: {{count}}", "message":"<a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink auditing<\/a> attempts foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
@ -188,7 +148,7 @@
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "<a href='http://diveintohtml5.info/storage.html'>Local storages</a> emptied: {{count}}", "message":"<a href='http:\/\/diveintohtml5.info\/storage.html'>Local storages<\/a> emptied: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
@ -272,179 +232,35 @@
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "HTTP requests <b>per page</b>", "message":"HTTP requests <b>per page<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).</p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.</p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.</p><p>Enter &ldquo;<code>0</code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>nuTensor</i>).</p>", "message":"<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).<\/p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.<\/p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.<\/p><p>Enter &ldquo;<code>0<\/code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>uMatrix<\/i>).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message":"Refresh", "message":"Refresh",
"description":"" "description":""
}, },
"logAll": {
"message": "All",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Tabless",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Current tab",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Reload the tab content",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "filter expression(s)",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "cookie deleted: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "failed to delete cookie: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "browser cache cleared",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "asset updated: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: The logger",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Clear logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pause logger (discard all incoming data)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Unpause logger",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Logger filtering options",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Not",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "blocked",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "1st-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "3rd-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Details",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Context",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Rule",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Preserve entries from the last {{input}} minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Preserve at most {{input}} entries per tab",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Use {{input}} lines per entry in vertically expanded mode",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "List",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Table",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Plain",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message": "nuTensor &ndash; Settings", "message":"uMatrix &ndash; Settings",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message": "Matrix", "message":"Appearance",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message":"Text size:", "message":"Text size:",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "Show the number of blocked resources on the icon", "message":"Normal",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"Large",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
@ -455,52 +271,52 @@
"message":"Convenience", "message":"Convenience",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "Default scope level:", "message":"When the matrix is closed, smart reload these tabs:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "Global", "message":"None",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "Domain", "message":"Current",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "Site", "message":"All",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "Hide placeholder of blocked elements", "message":"Whenever you make changes in the matrix which can affect the display and\/or behavior of one or more pages, <i>uMatrix<\/i> will reload affected pages automatically when you close the matrix.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "Hide placeholder of blacklisted elements", "message":"Blocked frames:&ensp;Color",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "Spoof <code><noscript></code> tags when 1st-party scripts are blocked", "message":"Opacity",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "Enable cloud storage support", "message":"Show the number of distinct requests on the icon",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "Disable tooltips", "message":"Collapse placeholder of blocked elements",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message": "nuTensor &ndash; Privacy", "message":"uMatrix &ndash; Privacy",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
"message": "Delete blocked cookies", "message":"Delete blocked cookies.",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p>Blacklisted cookies are not prevented by <i>nuTensor</i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.</p><p>Once these blacklisted cookies have been accounted for by <i>nuTensor</i>, they can be removed from your browser if you wish so.</p><p><b>Important note:</b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>nuTensor</i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.</p>", "message":"<p>Blacklisted cookies are not prevented by <i>uMatrix<\/i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.<\/p><p>Once these blacklisted cookies have been accounted for by <i>uMatrix<\/i>, they can be removed from your browser if you wish so.<\/p><p><b>Important note:<\/b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>uMatrix<\/i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
@ -508,15 +324,15 @@
"description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt2":{ "privacyDeleteNonBlockedSessionCookiesPrompt2":{
"message": " minutes after the last time they have been used", "message":" minutes after the last time they have been used.",
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;</p><p>Except that this <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>might not be happening</a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;<\/p><p>Except that this <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>might not be happening<\/a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "Delete <a href='https://en.wikipedia.org/wiki/Web_storage'>local storage</a> content set by blocked hostnames", "message":"Delete <a href='https:\/\/en.wikipedia.org\/wiki\/Web_storage'>local storage<\/a> content set by blocked hostnames",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
@ -528,35 +344,55 @@
"description":"First part of 'Clear browser cache every [n] minutes'" "description":"First part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCachePrompt2":{ "privacyClearCachePrompt2":{
"message": "minutes", "message":"minutes.",
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.</p><p>A few of these tricks rely<sup>[1, 2]</sup> on the <a href='https://en.wikipedia.org/wiki/Web_cache'>browser cache</a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.</p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.</p><p>Check this option to have <i>nuTensor</i> do it for you, at the interval you wish.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a>\n[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>", "message":"<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.<\/p><p>A few of these tricks rely<sup style='font-size:smaller'>[1, 2]<\/sup> on the <a href='https:\/\/en.wikipedia.org\/wiki\/Web_cache'>browser cache<\/a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.<\/p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.<\/p><p>Check this option to have <i>uMatrix<\/i> do it for you, at the interval you wish.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Cookieless cookies&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "Spoof <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referrer</a> string of third-party requests", "message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referrer<\/a> string of third-party requests.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "From Wikipedia:<blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.</b></blockquote>If this setting is checked, <i>nuTensor</i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.", "message":"<p>From Wikipedia:<\/p><blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.<\/b><\/blockquote><p>If this setting is checked, <i>uMatrix<\/i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
"message": "Strict HTTPS: forbid mixed content", "message":"Strict HTTPS: forbid mixed content.",
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>From <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.</blockquote>", "message":"<p>From <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a>:<\/p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "Block all <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>hyperlink auditing</a> attempts", "message":"Block all <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>hyperlink auditing<\/a> attempts.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>Hyperlink auditing is a mechanism which allow a party, <b>any party</b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.</p>", "message":"<p>Hyperlink auditing is a mechanism which allow a party, <b>any party<\/b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/User_agent'>User-Agent<\/a> string by randomly picking a new one below every",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"minutes.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>According to the <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] your browser sends a &lsquo;User Agent&rsquo; header to the website saying precisely which operating system and web browser you are using. This information could help distinguish Internet users from one another because these versions differ, often considerably, from person to person. [...] <b>the User Agent string becomes a real privacy problem<\/b>.&rdquo;<p>This option allows you to address the privacy issue raised by the EFF.<\/p><p>You can supply your own list of user agent strings. One string per line. Blank lines and lines prefixed with &lsquo;#&rsquo; will be ignored.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Behind-the-scene requests",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
@ -603,10 +439,6 @@
"message":"my-umatrix-rules.txt", "message":"my-umatrix-rules.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "Hosts files",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.", "message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.",
"description":"" "description":""
@ -628,7 +460,7 @@
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "Auto-update assets", "message":"Auto-update hosts files.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -640,7 +472,7 @@
"description":"" "description":""
}, },
"hostsFilesExternalListsHint":{ "hostsFilesExternalListsHint":{
"message": "Import external assets here: \nOne URL per line; invalid URLs will be silently ignored.", "message":"One URL per line. Lines prefixed with &lsquo;#&rsquo; will be ignored. Invalid URLs will be silently ignored.",
"description":"" "description":""
}, },
"hostsFilesExternalListsParse":{ "hostsFilesExternalListsParse":{
@ -659,32 +491,8 @@
"message":"outdated", "message":"outdated",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "Ruleset recipes",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Ruleset recipes are imported from the popup panel <em>on demand</em>, i.e. <b>only</b> through user interaction.",
"description": ""
},
"assetsImportLabel": {
"message": "Import...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "My hosts",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "My recipes",
"description": ""
},
"rawSettingsWarning": {
"message": "Warning! Change these raw configuration settings at your own risk.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Change log</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>Change log<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
@ -692,11 +500,11 @@
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Documentation</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Documentation<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki/Permissions'>Permissions</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>Permissions<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
@ -704,8 +512,8 @@
"description":"" "description":""
}, },
"aboutIssues":{ "aboutIssues":{
"message": "Issue tracker", "message":"Bugs and issues",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message":"Contributors", "message":"Contributors",
@ -740,7 +548,7 @@
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "All your settings will be overwritten using data backed up on {{time}}, and nuTensor will restart.\n\nOverwrite all existing settings using backed up data?", "message":"All your settings will be overwritten using data backed up on {{time}}, and uMatrix will restart.\n\nOverwrite all existing settings using backed up data?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
@ -759,18 +567,38 @@
"message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?", "message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"filter expression(s)",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"spoofing user agent with: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"cookie deleted: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"failed to delete cookie: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"browser cache cleared",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"asset updated: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor has prevented the following page from loading:", "message":"uMatrix has prevented the following page from loading:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message":"Because of the following rule", "message":"Because of the following rule",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "without parameters",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message":"Go back", "message":"Go back",
"description":"English: Go back" "description":"English: Go back"
@ -827,40 +655,8 @@
"message":"Logger", "message":"Logger",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Export to cloud storage",
"description": "tooltip"
},
"cloudPull": {
"message": "Import from cloud storage",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "This device name:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Submit",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Revert",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"Network error: Unable to connect to {{url}}", "message":"Network error: Unable to connect to {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Apply changes",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copy to clipboard",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

@ -4,17 +4,13 @@
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "Umožňuje cíleně povolovat/blokovat spojení z vašeho prohlížeče pouhým kliknutím. Můžete jím blokovat skripty, reklamy, Facebook, …", "message":"Umožňuje cíleně povolovat\/blokovat spojení z vašeho prohlížeče pouhým kliknutím. Můžete jím blokovat skripty, reklamy, Facebook, …",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message":"µMatrix Ovládací panel", "message":"µMatrix Ovládací panel",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor - logování",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message":"Nastavení", "message":"Nastavení",
"description":"a tab in dashboard" "description":"a tab in dashboard"
@ -32,11 +28,7 @@
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "Assety", "message":"Hosts files",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "Více",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
@ -52,17 +44,13 @@
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"cssPrettyName":{ "cssPrettyName":{
"message": "css", "message":"styly",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"imagePrettyName":{ "imagePrettyName":{
"message":"obr.", "message":"obr.",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"mediaPrettyName": {
"message": "média",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"pluginPrettyName":{ "pluginPrettyName":{
"message":"plugin", "message":"plugin",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
@ -71,8 +59,8 @@
"message":"skript", "message":"skript",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
@ -87,16 +75,8 @@
"message":"Na této záložce zatím nedošlo k žádné síťové komunikaci.", "message":"Na této záložce zatím nedošlo k žádné síťové komunikaci.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Select a local scope to see/create rules which apply only in that scope",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Select the global scope to see/create rules which apply everywhere",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "Vypnout/zapnout filtrování matrixu pro tento rozsah.", "message":"Disable\/enable matrix filtering for this scope.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
@ -123,46 +103,26 @@
"message":"Striktní HTTPS", "message":"Striktní HTTPS",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Zakázat web workery", "message":"Podvrhovat identifikaci prohlížeče",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message":"Podvrhovat adresy odkazujících stránek", "message":"Podvrhovat adresy odkazujících stránek",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoscriptSpoof": {
"message": "Falšovat <code><noscript></code> tagy",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Reveal canonical names",
"description": "A menu entry in the matrix popup"
},
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
"message": "Vrátit všechny dočasné změny", "message":"Revert all temporary changes",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixLoggerMenuEntry":{ "matrixLoggerMenuEntry":{
"message": "Jít na záznamník", "message":"Go to logger",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixDashboardMenuEntry":{ "matrixDashboardMenuEntry":{
"message": "Přejít na řídící panel", "message":"Go to dashboard",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "Žádné stránky nebyly nalezeny",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Importovat pravidla",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Uložit pravidla",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message":"µMatrix Statistiky", "message":"µMatrix Statistiky",
"description":"" "description":""
@ -172,15 +132,15 @@
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "Zničené <a href='https://cs.wikipedia.org/wiki/HTTP_cookie'>HTTP cookie</a> hlavičky: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_cookie'>HTTP cookie<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "Počet neodeslaných <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referer</a> hlaviček: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referer<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "Počet zmařených <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hyperlink auditing</a> pokusů: {{count}}", "message":"<a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink auditing<\/a> attempts foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
@ -188,11 +148,11 @@
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "<a href='http://diveintohtml5.info/storage.html'>Local storages</a> emptied: {{count}}", "message":"<a href='http:\/\/diveintohtml5.info\/storage.html'>Local storages<\/a> emptied: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
"message": "Cache prohlížeče smazána: {{count}}", "message":"Browser caches cleared: {{count}}",
"description":"" "description":""
}, },
"statsPageDetailedStats":{ "statsPageDetailedStats":{
@ -272,179 +232,35 @@
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "HTTP spojení <b>na stránku</b>.", "message":"HTTP spojení <b>na stránku<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).</p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.</p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.</p><p>Enter &ldquo;<code>0</code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>nuTensor</i>).</p>", "message":"<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).<\/p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.<\/p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.<\/p><p>Enter &ldquo;<code>0<\/code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>uMatrix<\/i>).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message":"Obnovit", "message":"Obnovit",
"description":"" "description":""
}, },
"logAll": {
"message": "All",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Tabless",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Current tab",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Reload the tab content",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "výraz(y) filtru",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "cookie odstraněno: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "smazání cookie se nepodařilo: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "cache prohlížeče vymazána",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "asset aktualizován: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: The logger",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Clear logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pause logger (discard all incoming data)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Unpause logger",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Logger filtering options",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Not",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "blocked",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "1st-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "3rd-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Details",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Context",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Rule",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Preserve entries from the last {{input}} minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Preserve at most {{input}} entries per tab",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Use {{input}} lines per entry in vertically expanded mode",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "List",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Table",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Plain",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message":"µMatrix Nastavení", "message":"µMatrix Nastavení",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message":"Vzhled", "message":"Vzhled",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message":"Velikost písma:", "message":"Velikost písma:",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "Zobrazit počet blokovaných požadavků u ikony", "message":"Normální",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"Velká",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
@ -452,44 +268,44 @@
"description":"" "description":""
}, },
"settingsMatrixConvenienceHeader":{ "settingsMatrixConvenienceHeader":{
"message": "Pohodlí", "message":"Convenience",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "Výchozí platnost:", "message":"Obnovit tyto stránky, jakmile je zavřena matice:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "Globální", "message":"Žádné",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "Doména", "message":"Aktuální",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "Stránka", "message":"Všechny",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "Skrýt zástupné objekty zablokovaných prvků", "message":"Whenever you make changes in the matrix which can affect the display and\/or behavior of one or more pages, <i>uMatrix<\/i> will reload affected pages automatically when you close the matrix.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "Skrýt blokované prvky", "message":"Blokované rámce:&ensp;Barva",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "Spoof <code><noscript></code> tags when 1st-party scripts are blocked", "message":"Neprůhlednost",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "Zapnout podporu cloudového úložiště", "message":"Show the number of distinct requests on the icon",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "Disable tooltips", "message":"Collapse placeholder of blocked elements",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message":"µMatrix Soukromí", "message":"µMatrix Soukromí",
@ -500,7 +316,7 @@
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p>Blacklisted cookies are not prevented by <i>nuTensor</i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.</p><p>Once these blacklisted cookies have been accounted for by <i>nuTensor</i>, they can be removed from your browser if you wish so.</p><p><b>Important note:</b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>nuTensor</i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.</p>", "message":"<p>Blacklisted cookies are not prevented by <i>uMatrix<\/i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.<\/p><p>Once these blacklisted cookies have been accounted for by <i>uMatrix<\/i>, they can be removed from your browser if you wish so.<\/p><p><b>Important note:<\/b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>uMatrix<\/i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
@ -512,11 +328,11 @@
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;</p><p>Except that this <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>might not be happening</a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;<\/p><p>Except that this <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>might not be happening<\/a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "Delete <a href='https://en.wikipedia.org/wiki/Web_storage'>local storage</a> content set by blocked hostnames", "message":"Delete <a href='https:\/\/en.wikipedia.org\/wiki\/Web_storage'>local storage<\/a> content set by blocked hostnames",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
@ -532,15 +348,15 @@
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.</p><p>A few of these tricks rely<sup>[1, 2]</sup> on the <a href='https://en.wikipedia.org/wiki/Web_cache'>browser cache</a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.</p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.</p><p>Check this option to have <i>nuTensor</i> do it for you, at the interval you wish.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a>\n[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>", "message":"<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.<\/p><p>A few of these tricks rely<sup style='font-size:smaller'>[1, 2]<\/sup> on the <a href='https:\/\/en.wikipedia.org\/wiki\/Web_cache'>browser cache<\/a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.<\/p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.<\/p><p>Check this option to have <i>uMatrix<\/i> do it for you, at the interval you wish.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Cookieless cookies&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "Spoof <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referrer</a> string of third-party requests", "message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referrer<\/a> string of third-party requests.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "Z Wikipedie:<blockquote>HTTP referer je v informatice označení pro URI, ze kterého byla webová stránka navštívena. Údaj HTTP referrer zapisuje webový prohlížeč do hlavičky HTTP dotazu pro webový server, který ho může dále zpracovat. <b>Dereferrer označuje činnost, při které je ze žádosti o webovou stránku odstraněn HTTP referrer, takže není možné zjistit, odkud uživatel na webovou stránku přišel.</b></blockquote>Pokud je toto zakliknuto, <i>µMatrix</i> bude spoofovat informace o HTTP referrer pokud je jméno domény HTTP referreru třetí strany v kontextu s požadavkem.", "message":"<p>From Wikipedia:<\/p><blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.<\/b><\/blockquote><p>If this setting is checked, <i>uMatrix<\/i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
@ -548,15 +364,35 @@
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>From <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.</blockquote>", "message":"<p>From <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a>:<\/p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "Block all <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>hyperlink auditing</a> attempts", "message":"Block all <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>hyperlink auditing<\/a> attempts.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>Hyperlink auditing is a mechanism which allow a party, <b>any party</b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.</p>", "message":"<p>Hyperlink auditing is a mechanism which allow a party, <b>any party<\/b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/User_agent'>User-Agent<\/a> string by randomly picking a new one below every",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"minutes.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>According to the <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] your browser sends a &lsquo;User Agent&rsquo; header to the website saying precisely which operating system and web browser you are using. This information could help distinguish Internet users from one another because these versions differ, often considerably, from person to person. [...] <b>the User Agent string becomes a real privacy problem<\/b>.&rdquo;<p>This option allows you to address the privacy issue raised by the EFF.<\/p><p>You can supply your own list of user agent strings. One string per line. Blank lines and lines prefixed with &lsquo;#&rsquo; will be ignored.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Behind-the-scene requests",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
@ -596,19 +432,15 @@
"description":"" "description":""
}, },
"userRulesFormatHint":{ "userRulesFormatHint":{
"message": "Podívej se na tuto stránku pro syntaxi pravidel.", "message":"See this page for rule syntax.",
"description":"" "description":""
}, },
"userRulesDefaultFileName":{ "userRulesDefaultFileName":{
"message":"moje-pravidla-umatrix.txt", "message":"moje-pravidla-umatrix.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "Soubory hostů",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message": "Všechny jména hostů v souboru hostů jsou načteny jako zakázaná v globálním měřítku.", "message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.",
"description":"" "description":""
}, },
"hostsFilesStats":{ "hostsFilesStats":{
@ -628,7 +460,7 @@
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "Automatické aktualizace assetů", "message":"Auto-update hosts files.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -640,7 +472,7 @@
"description":"" "description":""
}, },
"hostsFilesExternalListsHint":{ "hostsFilesExternalListsHint":{
"message": "Jedna URL na řádek. Řádky s prefixem &lsquo;#&rsquo; budou ignorovány. Nevalidní URL budou ignorovány.", "message":"One URL per line. Lines prefixed with &lsquo;#&rsquo; will be ignored. Invalid URLs will be silently ignored.",
"description":"" "description":""
}, },
"hostsFilesExternalListsParse":{ "hostsFilesExternalListsParse":{
@ -659,32 +491,8 @@
"message":"zastaralé", "message":"zastaralé",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "Ruleset recipes",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Ruleset recipes are imported from the popup panel <em>on demand</em>, i.e. <b>only</b> through user interaction.",
"description": ""
},
"assetsImportLabel": {
"message": "Importovat...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "My hosts",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "Moje recepty",
"description": ""
},
"rawSettingsWarning": {
"message": "Warning! Change these raw configuration settings at your own risk.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Přehled změn</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>Change log<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
@ -692,11 +500,11 @@
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Dokumentace</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Documentation<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/gorhill/httpswitchboard/wiki/Permissions'>Oprávnění</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>Permissions<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
@ -705,7 +513,7 @@
}, },
"aboutIssues":{ "aboutIssues":{
"message":"Chyby a problémy", "message":"Chyby a problémy",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message":"Přispěvatelé", "message":"Přispěvatelé",
@ -740,7 +548,7 @@
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "Všechna vaše nastavení budou přepsány daty zálohovanými v {{time}}, µMatrix bude restartován.\nPřepsat všechny existující nastavení zálohovanými daty?", "message":"All your settings will be overwritten using data backed up on {{time}}, and uMatrix will restart.\n\nOverwrite all existing settings using backed up data?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
@ -759,18 +567,38 @@
"message":"Varování: Tento příkaz odstraní všechna vaše nastavení. Jste si jisti, že chcete pokračovat?", "message":"Varování: Tento příkaz odstraní všechna vaše nastavení. Jste si jisti, že chcete pokračovat?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"filter expression(s)",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"spoofing user agent with: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"cookie deleted: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"failed to delete cookie: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"browser cache cleared",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"asset updated: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "µMatrix zabránil následující stránce v načítání:", "message":"uMatrix has prevented the following page from loading:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message": "Kvůli tomuto pravidlu", "message":"Because of the following rule",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "without parameters",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message":"Zpět", "message":"Zpět",
"description":"English: Go back" "description":"English: Go back"
@ -820,47 +648,15 @@
"description":"English: {{value}} days ago" "description":"English: {{value}} days ago"
}, },
"showDashboardButton":{ "showDashboardButton":{
"message": "Přehled", "message":"Dashboard",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"showLoggerButton":{ "showLoggerButton":{
"message": "Záznamník", "message":"Logger",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Exportovat do cloudového úložiště",
"description": "tooltip"
},
"cloudPull": {
"message": "Importovat z cloudového úložiště",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "Jméno tohoto zařízení:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Odeslat",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Vrátit zpět",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"Chyba sítě: Nelze se připojit k {{url}}", "message":"Chyba sítě: Nelze se připojit k {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Použít změny",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copy to clipboard",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

File diff suppressed because it is too large Load Diff

@ -1,20 +1,16 @@
{ {
"extName":{ "extName":{
"message": "nuTensor", "message":"uMatrix",
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "Kontrolliere alle Anfragen deines Browsers durch einfaches Point&Click. Ein Fork von Raymond Hills uMatrix.", "message":"Kontrolliere alle Anfragen deines Browsers durch einfaches Point&Click. Blockiere damit Skripte, IFrames, Werbung, Facebook usw.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message": "nuTensor — Dashboard", "message":"uMatrix — Dashboard",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — Logger",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message":"Einstellungen", "message":"Einstellungen",
"description":"a tab in dashboard" "description":"a tab in dashboard"
@ -32,11 +28,7 @@
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "Assets", "message":"Hosts-Dateien",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "Mehr",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
@ -56,11 +48,7 @@
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"imagePrettyName":{ "imagePrettyName":{
"message": "Grafik", "message":"Bild",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"mediaPrettyName": {
"message": "Medien",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"pluginPrettyName":{ "pluginPrettyName":{
@ -71,8 +59,8 @@
"message":"Skript", "message":"Skript",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
@ -80,23 +68,15 @@
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"otherPrettyName":{ "otherPrettyName":{
"message": "Andere", "message":"andere",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"matrixNoNetTrafficPrompt":{ "matrixNoNetTrafficPrompt":{
"message":"Bisher keine Netzwerkaktivität für diesen Tab.", "message":"Bisher keine Netzwerkaktivität für diesen Tab.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Wähle einen lokalen Geltungsbereich, um Regeln zu betrachten/erzeugen, die nur in diesem Geltungsbereich angewandt werden",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Wähle den globalen Geltungsbereich, um Regeln zu betrachten/erzeugen, die überall angewandt werden",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "Aktiviere/deaktiviere die Matrix-Filter für diesen Geltungsbereich.", "message":"Aktiviere\/deaktiviere die Matrix-Filter für diesen Geltungsbereich.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
@ -108,7 +88,7 @@
"description":"Tool tip for the revert local permission button" "description":"Tool tip for the revert local permission button"
}, },
"matrixReloadButton":{ "matrixReloadButton":{
"message": "Seite neu laden.\nShift drücken um den Browser Cache zu ignorieren.", "message":"Seite neu laden.",
"description":"Tool tip for the reload button" "description":"Tool tip for the reload button"
}, },
"matrix1stPartyLabel":{ "matrix1stPartyLabel":{
@ -116,27 +96,19 @@
"description":"1st-party" "description":"1st-party"
}, },
"matrixBlacklistedHostnames":{ "matrixBlacklistedHostnames":{
"message": "{{count}} Hostname(n) auf der Blacklist", "message":"{{count}} Hostnamen auf der Blacklist",
"description":"Appears in the metadata row of bottom-most group: **mind the limited width**" "description":"Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent":{ "matrixSwitchNoMixedContent":{
"message": "Gemischte Inhalte verbieten", "message":"Nur HTTPS",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Web Worker verbieten", "message":"User-Agent verschleiern",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message": "Referrer verschleiern", "message":"Referrer-Spoofing",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoscriptSpoof": {
"message": "<code><noscript></code> Tags verschleiern",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Reveal canonical names",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
@ -144,25 +116,13 @@
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixLoggerMenuEntry":{ "matrixLoggerMenuEntry":{
"message": "Gehe zum Protokoll", "message":"Gehe zu den protokollierten Anfragen",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixDashboardMenuEntry":{ "matrixDashboardMenuEntry":{
"message":"Gehe zum Dashboard", "message":"Gehe zum Dashboard",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "Keine Webseite gefunden",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Regeln importieren",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Regeln speichern",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message":"µMatrix &ndash; Statistik", "message":"µMatrix &ndash; Statistik",
"description":"" "description":""
@ -172,15 +132,15 @@
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "<a href='https://de.wikipedia.org/wiki/HTTP_Cookie'>HTTP Cookie</a> Header blockiert: {{count}}", "message":"<a href='https:\/\/de.wikipedia.org\/wiki\/HTTP_Cookie'>HTTP Cookie<\/a> Header blockiert: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "<a href='https://de.wikipedia.org/wiki/Referrer'>HTTP Referrer</a> Header blockiert: {{count}}", "message":"<a href='https:\/\/de.wikipedia.org\/wiki\/Referrer'>HTTP Referrer<\/a> Header blockiert: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hyperlink auditing</a> Versuche vereitelt: {{count}}", "message":"<a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink auditing<\/a> Versuche vereitelt: {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
@ -188,7 +148,7 @@
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "<a href='http://diveintohtml5.info/storage.html'>Local Storage</a> geleert: {{count}}", "message":"<a href='http:\/\/diveintohtml5.info\/storage.html'>Local Storage<\/a> geleert: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
@ -272,179 +232,35 @@
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "HTTP Anfragen <b>pro Seite</b>.", "message":"HTTP Anfragen <b>pro Seite<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>Die Details der letzten HTTP Anfragen einer Webseite kannst du dir unten anschauen.</p><p>Das ist besonders nützlich für neugierige bzw. erfahrene Benutzer, die genau wissen wollen, was eine Webseite gemacht hat. Allerdings benötigt das Logging dieser HTTP Anfragen Arbeitsspeicher, und wenn du an diesen detaillierten Informationen nicht interessiert bist, belegst du diesen Speicher unnötigerweise.</p><p>Daher lässt sich mit diesem Feld die maximale Zahl der letzten HTTP Anfragen, die aufgezeichnet werden sollen, festlegen.<p><p>Gib &ldquo;<code>0</code>&rdquo; ein, um dieses detaillierte Logging ganz abzuschalten (und entsprechend die Speicherbelegung von <i>nuTensor</i> zu reduzieren).</p>", "message":"<p>Die Details der letzten HTTP Anfragen einer Webseite kannst du dir unten anschauen.<\/p><p>Das ist besonders nützlich für neugierige bzw. erfahrene Benutzer, die genau wissen wollen, was eine Webseite gemacht hat. Allerdings benötigt das Logging dieser HTTP Anfragen Arbeitsspeicher, und wenn du an diesen detaillierten Informationen nicht interessiert bist, belegst du diesen Speicher unnötigerweise.<\/p><p>Daher lässt sich mit diesem Feld die maximale Zahl der letzten HTTP Anfragen, die aufgezeichnet werden sollen, festlegen.<p><p>Gib &ldquo;<code>0<\/code>&rdquo; ein, um dieses detaillierte Logging ganz abzuschalten (und entsprechend die Speicherbelegung von <i>uMatrix<\/i> zu reduzieren).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message":"Neu laden", "message":"Neu laden",
"description":"" "description":""
}, },
"logAll": {
"message": "All",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Tabless",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Current tab",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Reload the tab content",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "Filter-Ausdrücke",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "Cookie gelöscht: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "Löschen des Cookies fehlgeschlagen: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "Browser-Cache geleert",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "Hosts-Dateien aktualisiert: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: The logger",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Clear logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pause logger (discard all incoming data)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Unpause logger",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Logger filtering options",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Not",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "blocked",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "1st-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "3rd-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Details",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Context",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Rule",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Preserve entries from the last {{input}} minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Preserve at most {{input}} entries per tab",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Use {{input}} lines per entry in vertically expanded mode",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "List",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Table",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Plain",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message": "nuTensor &ndash; Einstellungen", "message":"uMatrix &ndash; Einstellungen",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message": "Matrix", "message":"Erscheinungsbild",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message":"Schriftgröße:", "message":"Schriftgröße:",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "Zeige die Zahl der blockierten Anfragen auf dem Icon an", "message":"Normal",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"Groß",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
@ -455,44 +271,44 @@
"message":"Komforteinstellungen", "message":"Komforteinstellungen",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "Standardgeltungsbereich:", "message":"Intelligentes Neuladen folgender Tabs beim Schließen der Matrix:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "Global", "message":"keine",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "Domain", "message":"den Aktuellen",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "Seite", "message":"alle",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "Verstecke die Platzhalter für blockierte Elemente", "message":"Immer wenn du Änderungen in der Matrix durchführst, die die Anzeige und \/oder das Verhalten einer oder mehrerer Seiten beeinflusst, wird <i>µMatrix<\/i> die betroffenen Seiten automatisch neu laden, sobald du die Matrix schließt.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "Verstecke die Platzhalter für Elemente auf der Blacklist", "message":"Blockierte Frames:&ensp;Farbe",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "Verschleiere <code><noscript></code> Tags wenn Skripte der aktuellen Domain blockiert werden", "message":"Undurchsuchtigkeit",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "Aktiviere die Unterstützung der Speicherung in der Cloud", "message":"Zeige die Zahl der einzelnen Anfragen auf dem Icon an",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "Deaktiviere Tooltips", "message":"Verstecke die Platzhalter für blockierte Elemente",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message": "nuTensor &ndash; Privatsphäre", "message":"uMatrix &ndash; Privatsphäre",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
@ -500,7 +316,7 @@
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p>Cookies auf der Blacklist werden von <i>nuTensor</i> nicht daran gehindert, vom Browser empfangen zu werden. Vielmehr werden sie daran gehindert, den Browser wieder zu verlassen - das ist es, worauf es wirklich ankommt. Dass Cookies nicht blockiert werden, bevor sie vom Browser empfangen werden, gibt dir die Gelegenheit, dich zu informieren, welche Seiten Cookies zu verwenden versuchen, und dir den Inhalt der Cookies anzuschauen, wenn du möchtest.</p><p>Sobald diese sich auf der Blacklist befindlichen Cookies von <i>nuTensor</i> erfasst sind, können sie aus deinem Browser gelöscht werden, falls du möchtest.</p><p><b>Wichtiger Hinweis:</b> Erweiterungen können während ihrer Benutzung Webanfragen tätigen. Diese Anfragen können dazu führen, dass Cookies im Browser erzeugt werden. Falls der Hostname, von dem das Cookie stammt, nicht auf der Whitelist ist, wird das Cookie von <i>nuTensor</i> aus dem Browser entfernt, sofern dieser Schalter aktiviert ist. Stelle daher sicher, dass Hostnamen, mit denen eine Erweiterung kommuniziert, auf der Whitelist stehen.</p>", "message":"<p>Cookies auf der Blacklist werden von <i>uMatrix<\/i> nicht daran gehindert, vom Browser empfangen zu werden. Vielmehr werden sie daran gehindert, den Browser wieder zu verlassen - das ist es, worauf es wirklich ankommt. Dass Cookies nicht blockiert werden, bevor sie vom Browser empfangen werden, gibt dir die Gelegenheit, dich zu informieren, welche Seiten Cookies zu verwenden versuchen, und dir den Inhalt der Cookies anzuschauen, wenn du möchtest.<\/p><p>Sobald diese sich auf der Blacklist befindlichen Cookies von <i>uMatrix<\/i> erfasst sind, können sie aus deinem Browser gelöscht werden, falls du möchtest.<\/p><p><b>Wichtiger Hinweis:<\/b> Erweiterungen können während ihrer Benutzung Webanfragen tätigen. Diese Anfragen können dazu führen, dass Cookies im Browser erzeugt werden. Falls der Hostname, von dem das Cookie stammt, nicht auf der Whitelist ist, wird das Cookie von <i>uMatrix<\/i> aus dem Browser entfernt, sofern dieser Schalter aktiviert ist. Stelle daher sicher, dass Hostnamen, mit denen eine Erweiterung kommuniziert, auf der Whitelist stehen.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
@ -512,11 +328,11 @@
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;Ein Sitzungscookie ... wird gelöscht, wenn die Browsersitzung beendet wird. Das Sitzungscookie wird temporär gespeichert und nicht behalten, nachdem der Browser geschlossen wurde.&rdquo;</p><p>Nur ist das möglicherweise bei einigen Browsern <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>nicht der Fall</a>. Außerdem bevorzugen es manche Benutzer, Sitzungscookies loszuwerden, bevor sie den Browser schließen.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;Ein Sitzungscookie ... wird gelöscht, wenn die Browsersitzung beendet wird. Das Sitzungscookie wird temporär gespeichert und nicht behalten, wenn der Browser geschlossen ist.&rdquo;<\/p><p>Nur dass das möglicherweise bei einigen Browsern tatsächlich <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>nicht passiert<\/a>. Außerdem bevorzugen es manche Benutzer, Sitzungscookies loszuwerden, bevor sie den Browser schließen.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "Lösche <a href='http://de.wikipedia.org/wiki/Web_Storage'>Lokaler Speicher-Inhalt (Local Storage)</a> für blockierte Hostnamen", "message":"Lösche den Inhalt des <a href='http:\/\/de.wikipedia.org\/wiki\/Web_Storage'>Local Storage<\/a> von blockierten Hostnamen",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
@ -532,15 +348,15 @@
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Einige Webseiten sind wirklich darauf aus, dich zu verfolgen bzw. zu tracken, und scheuen nicht davor zurück, unfeine Tricks zu verwenden, um Maßnahmen, die dieses Tracking verhindern sollen, zu unterlaufen.</p><p>Einige dieser Tricks benutzen dazu den <sup style='font-size:smaller'>[1, 2]</sup> on the <a href='https://de.wikipedia.org/wiki/Browser-Cache'>Browser Cache</a>, dessen Inhalt häufig für lange Zeit auslesbar ist, da viele Benutzer ihn nicht regelmäßig löschen.</p><p>Das regelmäßige Löschen des Browser Caches bringt kaum Nachteile mit sich (wahrscheinlich wirst du gar keine bemerken), während die Vorteile darin bestehen, dass diese fiesen Tracker davon abgehalten werden, in deine Privatsphäre einzudringen.</p><p>Aktiviere diesen Schalter, damit <i>nuTensor</i> diese Aufgabe in dem von dir gewünschten Intervall übernimmt.</p><p >[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a>[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>", "message":"<p>Einige Webseiten sind wirklich darauf aus, dich zu verfolgen bzw. zu tracken, und scheuen nicht davor zurück, unfeine Tricks zu verwenden, um Maßnahmen, die dieses Tracking verhindern sollen, zu unterlaufen.<\/p><p>Einige dieser Tricks benutzen dazu den <sup style='font-size:smaller'>[1, 2]<\/sup> on the <a href='https:\/\/de.wikipedia.org\/wiki\/Browser-Cache'>Browser Cache<\/a>, dessen Inhalt häufig für lange Zeit auslesbar ist, da viele Benutzer ihn nicht regelmäßig löschen.<\/p><p>Das regelmäßige Löschen des Browser Caches bringt kaum Nachteile mit sich (wahrscheinlich wirst du gar keine bemerken), während die Vorteile darin bestehen, dass diese fiesen Tracker davon abgehalten werden, in deine Privatsphäre einzudringen.<\/p><p>Aktiviere diesen Schalter, damit <i>uMatrix<\/i> diese Aufgabe in dem von dir gewünschten Intervall übernimmt.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Cookieless cookies&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "Verschleiere den <a href='https://de.wikipedia.org/wiki/Referrer'>HTTP Referrer</a>, wenn das Ziel eine Drittseite ist.", "message":"Verschleiere den <a href='https:\/\/de.wikipedia.org\/wiki\/Referrer'>HTTP Referrer<\/a>, wenn das Ziel eine Drittseite ist.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "<p>Aus Wikipedia:</p><blockquote>Ein Referrer ist die Internetadresse der Webseite, von der der Benutzer durch Anklicken eines Links zu der aktuellen Seite gekommen ist. ... <b>(Die Übertragung eines Referrers zu verhindern) ...ist unter anderem aus Datenschutzerwägungen interessant, da andernfalls die Möglichkeit besteht, die Referrer mit den Nutzer-IP-Adressen in Verbindung zu bringen.</b></blockquote><p>Wenn dieser Schalter aktiviert ist, wird <i>nuTensor</i> den HTTP Referrer verschleiern bzw. manipulieren, wenn der Domänenname des HTTP Referrer nicht mit dem Domänenname der anfragenden URL überein stimmt (das heißt, der Referrer stammt von einer Drittseite).", "message":"<p>Aus Wikipedia:<\/p><blockquote>Ein Referrer ist die Internetadresse der Webseite, von der der Benutzer durch Anklicken eines Links zu der aktuellen Seite gekommen ist. ... <b>(Die Übertragung eines Referrers zu verhindern) ...ist unter anderem aus Datenschutzerwägungen interessant, da andernfalls die Möglichkeit besteht, die Referrer mit den Nutzer-IP-Adressen in Verbindung zu bringen.<\/b><\/blockquote><p>Wenn dieser Schalter aktiviert ist, wird <i>uMatrix<\/i> den HTTP Referrer verschleiern bzw. manipulieren, wenn der Domänenname des HTTP Referrer nicht mit dem Domänenname der anfragenden URL überein stimmt (das heißt, der Referrer stammt von einer Drittseite).",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
@ -548,15 +364,35 @@
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>Übersetzt von <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p><blockquote>Wenn [eine] HTTPS-Seite normale Klartext-HTTP-Inhalte enthält, ist die Verbindung nur teilweise verschlüsselt: der unverschlüsselte Inhalt ist zugänglich für Schnüffler und kann durch man-in-the-middle-Attacken modifiziert werden; die Verbindung ist daher nicht mehr sicher. Wenn eine Webseite ein solches Verhalten aufweist, nennt man dies eine Seite mit gemischten Inhalten. </blockquote>", "message":"<p>Übersetzt von <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a>:<\/p><blockquote>Wenn [eine] HTTPS-Seite normale Klartext-HTTP-Inhalte enthält, ist die Verbindung nur teilweise verschlüsselt: der unverschlüsselte Inhalt ist zugänglich für Schnüffler und kann durch man-in-the-middle-Attacken modifiziert werden; die Verbindung ist daher nicht mehr sicher. Wenn eine Webseite ein solches Verhalten aufweist, nennt man dies eine Seite mit gemischten Inhalten. <\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "Blockiere alle <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>hyperlink auditing</a> Versuche.", "message":"Blockiere alle <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink Auditing<\/a> Versuche.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>Hyperlink-Auditing ist ein Mechanismus, der es <b>allen beteiligten Parteien</b> erlaubt herauszufinden, auf welchen Link ein Benutzer auf einer bestimmten Webseite klickt. Im Grunde ist es eine Tracking-Funktion: Es erlaubt einer Webseite oder auch Drittparteien auf dieser Webseite, sich darüber zu informieren, auf welche Links du auf eine dieser Seiten geklickt hast. Der einzige Zweck besteht darin, deine Browsing-Aktivitäten zu verfolgen.</p>", "message":"<p>Hyperlink Auditing ist ein Mechanismus, der es <b>allen<\/b> beteiligten Parteien erlaubt herauszufinden, auf welchen Link ein Benutzer auf einer bestimmten Webseite klickt. Im Grunde ist es eine Tracking-Funktion: Es erlaubt einer Webseite oder auch Drittparteien auf dieser Webseite, sich darüber zu informieren, auf welche Links du auf eine dieser Seiten geklickt hast. Der einzige Zweck besteht darin, deine Browsing-Aktivitätten zu verfolgen.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Verschleiere den <a href='https:\/\/de.wikipedia.org\/wiki\/User_Agent'>User-Agent<\/a> durch die zufällige Wahl eines neuen aus der Liste alle",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"Minuten.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>Laut der <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] sendet dein Browser einen &lsquo;User Agent&rsquo; Header an die Webseite und sagt damit präzise, welches Betriebssystem und welchen Webbrowser du benutzt. Diese Informationen tragen dazu bei, Internet-Nutzer von anderen zu unterscheiden, da diese Versionen häufig beträchtlich von Person zu Person unterschiedlich sind. [...] <b>der User Agent wird damit zu einer reellen Gefahr für die Privatsphäre<\/b>.&rdquo;<p>Diese Option ermöglicht dir, auf diese Bedrohung zu reagieren.<\/p><p>Du kannst deine eigene Liste von User Agents einstellen, und zwar eine Variante pro Zeile. Leere Zeilen und Zeilen mit einem vorangestellten &lsquo;#&rsquo; werden ignoriert.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Hintergrundanfragen",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"<p>Gemäß dem <a href='http:\/\/www.google.com\/intl\/de\/chrome\/browser\/privacy\/whitepaper.html'>Google Chrome - Whitepaper zum Datenschutz<\/a>, kann <i>Chromium<\/i> HTTP Anfragen zu <i>Google<\/i> senden, ohne dass der Benutzer eine Webseite ausdrücklich besucht. Lasst uns diese speziellen Anfragen <strong>Hintergrund<\/strong>-Anfragen nennen. Auch andere installierte Browser-Erweiterungen können <strong>Hintergrund<\/strong>- HTTP Anfragen senden.<\/p><p><i>µMatrix<\/i> kann diese Anfragen abfangen und verarbeiten wie jede andere Anfrage: sie können entsprechend deiner Whitelist\/Blacklist erlaubt\/blockiert werden.<\/p><p>Klicke auf das Symbol dieser Erweiterung, während du dich auf dieser Seite befindest. Pflichtlektüre: <a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Behind-the-scene-requests'>Behind-the-scene requests<\/a>.<\/p><div class='warn'><p><span style='color:red; font-weight:bold'>Achtung!<\/span> Das Blockieren von <strong>Hintergrund<\/strong>-Anfragen kann z.Z. einen <a href='https:\/\/github.com\/gorhill\/httpswitchboard\/issues\/27'>Fehler<\/a> verursachen, wenn der Benutzer eine Erweiterung aus dem Chrome Store installieren möchte (außerdem kann es beim Update von Erweiterungen Probleme geben) - daher die Möglichkeit, dieses Feature zu deaktivieren. Zudem kann das Blockieren dieser Anfragen dazu führen, dass andere installierte Erweiterungen nicht richtig funktionieren (sofern sie Daten aus dem Internet abfragen).<\/p> <p>Aber selbst wenn diese Funktion nicht aktiviert ist, werden <strong>Hintergrund<\/strong>-Anfragen dennoch durch <i>µMatrix<\/i> aufgezeichnet, so dass du sie zumindest auf der <a href='dashboard.html#statistics'>Statistik<\/a>-Seite inspizieren kannst.<\/p>",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
@ -603,12 +439,8 @@
"message":"my-umatrix-rules.txt", "message":"my-umatrix-rules.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "Hosts-Dateien",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message": "Alle Hostnamen einer Hosts-Datei werden als geblacklistete Hostnamen im globalen Geltungsbereich geladen.", "message":"Alle Hostnamen aus einer der Hosts-Dateien werden im Globalen Geltungsbereich als Hostnamen geladen, die auf der Blacklist stehen.",
"description":"" "description":""
}, },
"hostsFilesStats":{ "hostsFilesStats":{
@ -620,7 +452,7 @@
"description":"" "description":""
}, },
"hostsFilesLastUpdate":{ "hostsFilesLastUpdate":{
"message": "Letzte Aktualisierung: {{ago}}", "message":"Letztes Update: {{ago}}",
"description":"English: Last update: {{ago}}, where 'ago' will be replaced with something like '2 days ago'" "description":"English: Last update: {{ago}}, where 'ago' will be replaced with something like '2 days ago'"
}, },
"hostsFilesApplyChanges":{ "hostsFilesApplyChanges":{
@ -628,7 +460,7 @@
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "Automatische Aktualisierung der Assets", "message":"Hosts-Dateien automatisch aktualisieren.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -659,32 +491,8 @@
"message":"veraltet", "message":"veraltet",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "Rezepte für Regelsätze",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Rezepte für Regelsätze werden <em>auf Anforderung</em>, d.h. <b>nur</b> durch eine Aktion des Benutzers, über das Popup-Panel importiert.",
"description": ""
},
"assetsImportLabel": {
"message": "Importieren...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "Meine Hostnamen",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "Meine Rezepte",
"description": ""
},
"rawSettingsWarning": {
"message": "Warnung! Die Änderung dieser Konfigurations-Einstellungen erfolgt auf eigenes Risiko.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Änderungsprotokoll</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>Änderungsprotokoll<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
@ -692,11 +500,11 @@
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Dokumentation</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Dokumentation<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki/Permissions'>Berechtigungen</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>Berechtigungen<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
@ -705,7 +513,7 @@
}, },
"aboutIssues":{ "aboutIssues":{
"message":"Fehler und Probleme", "message":"Fehler und Probleme",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message":"Mitwirkende", "message":"Mitwirkende",
@ -728,7 +536,7 @@
"description":"" "description":""
}, },
"aboutBackupButton":{ "aboutBackupButton":{
"message": "Sicherung in eine Datei...", "message":"Backup in eine Datei...",
"description":"" "description":""
}, },
"aboutBackupFilename":{ "aboutBackupFilename":{
@ -736,15 +544,15 @@
"description":"default filename to use" "description":"default filename to use"
}, },
"aboutRestoreButton":{ "aboutRestoreButton":{
"message": "Wiederherstellung aus einer Datei...", "message":"Aus einer Datei wiederherstellen...",
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "Alle deine Einstellungen werden überschrieben mit Sicherungs-Daten vom {{time}}, und nuTensor wird neu gestartet.\n\nSollen alle existierenden Einstellungen mit Sicherungs-Daten überschrieben werden?", "message":"Alle deine Einstellungen werden überschrieben mit Daten gesichert am {{time}}, und µMatrix wird neu starten.\n\nSollen alle existierenden Daten mit Backup-Daten überschrieben werden?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
"message": "Die Daten konnten nicht gelesen werden oder sind ungültig", "message":"Die Daten konnten nicht gelesen werden oder waren ungültig",
"description":"" "description":""
}, },
"aboutOr":{ "aboutOr":{
@ -756,21 +564,41 @@
"description":"English: Reset to default settings" "description":"English: Reset to default settings"
}, },
"aboutResetConfirm":{ "aboutResetConfirm":{
"message": "Vorsicht! Dies wird alle deine individuellen Einstellungen entfernen. Bist du sicher, dass du fortfahren willst?", "message":"Vorsicht! Dies wird alle deine individuellen Einstellungen entfernen. Bist du sicher, dass du weitermachen willst?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"Filter-Ausdrücke",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"Verschleiere den User-Agent mit: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"Cookie gelöscht: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"Löschen des Cookies fehlgeschlagen: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"Browser-Cache geleert",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"Hosts-Dateien aktualisiert: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor hat das Laden der folgenden Seite verhindert:", "message":"uMatrix hat das Laden der folgende Seite verhindert:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message":"Aufgrund der folgenden Regel", "message":"Aufgrund der folgenden Regel",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "without parameters",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message":"Gehe zurück", "message":"Gehe zurück",
"description":"English: Go back" "description":"English: Go back"
@ -827,40 +655,8 @@
"message":"Protokoll", "message":"Protokoll",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Export in den Cloud-Speicher",
"description": "tooltip"
},
"cloudPull": {
"message": "Import aus dem Cloud-Speicher",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "Dieser Gerätename:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Absenden",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Rückgängig machen",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"Netzwerkfehler: konnte nicht zu {{url}} verbinden", "message":"Netzwerkfehler: konnte nicht zu {{url}} verbinden",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Änderungen anwenden",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "In die Zwischenablage kopieren",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

@ -1,50 +1,42 @@
{ {
"extName":{ "extName":{
"message": "nuTensor", "message":"uMatrix",
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "Point & click to forbid/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.", "message":"Point & click to forbid\/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message": "nuTensor — Πίνακας", "message":"uMatrix — Dashboard",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — Logger",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message": "Ρυθμίσεις", "message":"Settings",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"privacyPageName":{ "privacyPageName":{
"message": "Ιδιωτικό απόρρητο", "message":"Privacy",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"statsPageName":{ "statsPageName":{
"message": "Στατιστικά", "message":"Statistics",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"userRulesPageName":{ "userRulesPageName":{
"message": "Οι κανόνες μου", "message":"My rules",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "Assets", "message":"Hosts files",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "Περισσότερα",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
"message": "Περί", "message":"About",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"allPrettyName":{ "allPrettyName":{
"message": "όλα", "message":"all",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"cookiePrettyName":{ "cookiePrettyName":{
@ -56,59 +48,47 @@
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"imagePrettyName":{ "imagePrettyName":{
"message": "Εικόνα", "message":"image",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"mediaPrettyName": {
"message": "media",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"pluginPrettyName":{ "pluginPrettyName":{
"message": "Πρόσθετο", "message":"plugin",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"scriptPrettyName":{ "scriptPrettyName":{
"message": "Δέσμη ενεργειών", "message":"script",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
"message": "Πλαίσιο", "message":"frame",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"otherPrettyName":{ "otherPrettyName":{
"message": "Άλλο", "message":"other",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"matrixNoNetTrafficPrompt":{ "matrixNoNetTrafficPrompt":{
"message":"No net traffic seen for this tab so far.", "message":"No net traffic seen for this tab so far.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Select a local scope to see/create rules which apply only in that scope",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Select the global scope to see/create rules which apply everywhere",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "Disable/enable matrix filtering for this scope", "message":"Disable\/enable matrix filtering for this scope.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
"message": "Save all temporary changes for this scope", "message":"Save all temporary changes for this scope.",
"description":"Tool tip for the persist button" "description":"Tool tip for the persist button"
}, },
"matrixRevertButtonTip":{ "matrixRevertButtonTip":{
"message": "Revert temporary changes for this scope", "message":"Revert temporary changes for this scope.",
"description":"Tool tip for the revert local permission button" "description":"Tool tip for the revert local permission button"
}, },
"matrixReloadButton":{ "matrixReloadButton":{
"message": "Επαναφόρτωση σελίδας.", "message":"Reload the page.",
"description":"Tool tip for the reload button" "description":"Tool tip for the reload button"
}, },
"matrix1stPartyLabel":{ "matrix1stPartyLabel":{
@ -120,67 +100,47 @@
"description":"Appears in the metadata row of bottom-most group: **mind the limited width**" "description":"Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent":{ "matrixSwitchNoMixedContent":{
"message": "Forbid mixed content", "message":"Strict HTTPS",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Forbid web workers", "message":"User agent spoofing",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message": "Spoof <code>Referer</code> header", "message":"Referrer spoofing",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoscriptSpoof": {
"message": "Spoof <code><noscript></code> tags",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Reveal canonical names",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
"message": "Επαναφορά όλων των προσωρινών αλλαγών", "message":"Revert all temporary changes",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixLoggerMenuEntry":{ "matrixLoggerMenuEntry":{
"message": "Πηγαίνετε στο καταγραφικό", "message":"Go to logger",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixDashboardMenuEntry":{ "matrixDashboardMenuEntry":{
"message": "Μετάβαση στον πίνακα", "message":"Go to dashboard",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "No web page found",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Import rules",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Save rules",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message": "nuTensor &ndash; Στατιστικά", "message":"uMatrix &ndash; Statistics",
"description":"" "description":""
}, },
"statsPageGenericStats":{ "statsPageGenericStats":{
"message": "Γενικά στατιστικά", "message":"Generic statistics",
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_cookie'>HTTP cookie</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_cookie'>HTTP cookie<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referer</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referer<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hyperlink auditing</a> attempts foiled: {{count}}", "message":"<a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink auditing<\/a> attempts foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
@ -188,7 +148,7 @@
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "<a href='http://diveintohtml5.info/storage.html'>Local storages</a> emptied: {{count}}", "message":"<a href='http:\/\/diveintohtml5.info\/storage.html'>Local storages<\/a> emptied: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
@ -200,7 +160,7 @@
"description":"" "description":""
}, },
"statsPageDetailedAllPages":{ "statsPageDetailedAllPages":{
"message": "Όλα", "message":"All",
"description":"" "description":""
}, },
"statsPageDetailedBehindTheScenePage":{ "statsPageDetailedBehindTheScenePage":{
@ -208,27 +168,27 @@
"description":"" "description":""
}, },
"statsPageOverview":{ "statsPageOverview":{
"message": "Επισκόπηση", "message":"Overview",
"description":"" "description":""
}, },
"statsPageRequests":{ "statsPageRequests":{
"message": "Αιτήματα", "message":"Requests",
"description":"header for the stat type column" "description":"header for the stat type column"
}, },
"statsPageAllowed":{ "statsPageAllowed":{
"message": "Επιτρέπεται", "message":"Allowed",
"description":"header for the allowed requests column" "description":"header for the allowed requests column"
}, },
"statsPageBlocked":{ "statsPageBlocked":{
"message": "Μπλοκαρισμένο", "message":"Blocked",
"description":"header for the blocked requests column" "description":"header for the blocked requests column"
}, },
"statsPageAll":{ "statsPageAll":{
"message": "Όλα", "message":"All",
"description":"" "description":""
}, },
"statsPagePages":{ "statsPagePages":{
"message": "Σελίδες", "message":"Pages",
"description":"" "description":""
}, },
"statsPageCookies":{ "statsPageCookies":{
@ -240,11 +200,11 @@
"description":"" "description":""
}, },
"statsPageImages":{ "statsPageImages":{
"message": "Εικόνες", "message":"Images",
"description":"" "description":""
}, },
"statsPagePlugins":{ "statsPagePlugins":{
"message": "Πρόσθετα", "message":"Plugins",
"description":"" "description":""
}, },
"statsPageScripts":{ "statsPageScripts":{
@ -256,11 +216,11 @@
"description":"" "description":""
}, },
"statsPageFrames":{ "statsPageFrames":{
"message": "Πλαίσια", "message":"Frames",
"description":"" "description":""
}, },
"statsPageOthers":{ "statsPageOthers":{
"message": "Άλλα", "message":"Others",
"description":"" "description":""
}, },
"statsPageDetailed":{ "statsPageDetailed":{
@ -272,179 +232,35 @@
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "HTTP requests <b>per page</b>", "message":"HTTP requests <b>per page<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).</p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.</p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.</p><p>Enter &ldquo;<code>0</code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>nuTensor</i>).</p>", "message":"<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).<\/p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.<\/p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.<\/p><p>Enter &ldquo;<code>0<\/code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>uMatrix<\/i>).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message": "Ανανέωση", "message":"Refresh",
"description":"" "description":""
}, },
"logAll": {
"message": "All",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Tabless",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Current tab",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Reload the tab content",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "filter expression(s)",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "cookie deleted: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "failed to delete cookie: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "browser cache cleared",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "asset updated: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: The logger",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Clear logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pause logger (discard all incoming data)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Unpause logger",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Logger filtering options",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Not",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "blocked",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "1st-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "3rd-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Details",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Context",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Rule",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Preserve entries from the last {{input}} minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Preserve at most {{input}} entries per tab",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Use {{input}} lines per entry in vertically expanded mode",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "List",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Table",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Plain",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message": "nuTensor &ndash; Settings", "message":"uMatrix &ndash; Settings",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message": "Εμφάνιση", "message":"Appearance",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message": "Μέγεθος κειμένου:", "message":"Text size:",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "Show the number of blocked resources on the icon", "message":"Normal",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"Large",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
@ -455,52 +271,52 @@
"message":"Convenience", "message":"Convenience",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "Default scope level:", "message":"When the matrix is closed, smart reload these tabs:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "Global", "message":"None",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "Domain", "message":"Current",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "Site", "message":"All",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "Hide placeholder of blocked elements", "message":"Whenever you make changes in the matrix which can affect the display and\/or behavior of one or more pages, <i>uMatrix<\/i> will reload affected pages automatically when you close the matrix.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "Hide placeholder of blacklisted elements", "message":"Blocked frames:&ensp;Color",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "Spoof <code><noscript></code> tags when 1st-party scripts are blocked", "message":"Opacity",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "Enable cloud storage support", "message":"Show the number of distinct requests on the icon",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "Disable tooltips", "message":"Collapse placeholder of blocked elements",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message": "nuTensor &ndash; Privacy", "message":"uMatrix &ndash; Privacy",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
"message": "Διαγραφή μπλοκάρισμένων cookies.", "message":"Delete blocked cookies.",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p>Blacklisted cookies are not prevented by <i>nuTensor</i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.</p><p>Once these blacklisted cookies have been accounted for by <i>nuTensor</i>, they can be removed from your browser if you wish so.</p><p><b>Important note:</b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>nuTensor</i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.</p>", "message":"<p>Blacklisted cookies are not prevented by <i>uMatrix<\/i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.<\/p><p>Once these blacklisted cookies have been accounted for by <i>uMatrix<\/i>, they can be removed from your browser if you wish so.<\/p><p><b>Important note:<\/b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>uMatrix<\/i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
@ -508,15 +324,15 @@
"description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt2":{ "privacyDeleteNonBlockedSessionCookiesPrompt2":{
"message": " minutes after the last time they have been used", "message":" minutes after the last time they have been used.",
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;</p><p>Except that this <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>might not be happening</a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;<\/p><p>Except that this <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>might not be happening<\/a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "Delete <a href='https://en.wikipedia.org/wiki/Web_storage'>local storage</a> content set by blocked hostnames", "message":"Delete <a href='https:\/\/en.wikipedia.org\/wiki\/Web_storage'>local storage<\/a> content set by blocked hostnames",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
@ -524,39 +340,59 @@
"description":"" "description":""
}, },
"privacyClearCachePrompt1":{ "privacyClearCachePrompt1":{
"message": "Απαλοιφή λανθάνουσα μνήμη του φυλλομετρητή κάθε", "message":"Clear browser cache every",
"description":"First part of 'Clear browser cache every [n] minutes'" "description":"First part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCachePrompt2":{ "privacyClearCachePrompt2":{
"message": "λεπτά.", "message":"minutes.",
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.</p><p>A few of these tricks rely<sup>[1, 2]</sup> on the <a href='https://en.wikipedia.org/wiki/Web_cache'>browser cache</a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.</p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.</p><p>Check this option to have <i>nuTensor</i> do it for you, at the interval you wish.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a>\n[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>", "message":"<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.<\/p><p>A few of these tricks rely<sup style='font-size:smaller'>[1, 2]<\/sup> on the <a href='https:\/\/en.wikipedia.org\/wiki\/Web_cache'>browser cache<\/a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.<\/p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.<\/p><p>Check this option to have <i>uMatrix<\/i> do it for you, at the interval you wish.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Cookieless cookies&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "Spoof <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referrer</a> string of third-party requests", "message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referrer<\/a> string of third-party requests.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "From Wikipedia:<blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.</b></blockquote>If this setting is checked, <i>nuTensor</i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.", "message":"<p>From Wikipedia:<\/p><blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.<\/b><\/blockquote><p>If this setting is checked, <i>uMatrix<\/i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
"message": "Strict HTTPS: forbid mixed content", "message":"Strict HTTPS: forbid mixed content.",
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>From <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.</blockquote>", "message":"<p>From <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a>:<\/p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "Block all <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>hyperlink auditing</a> attempts", "message":"Block all <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>hyperlink auditing<\/a> attempts.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>Hyperlink auditing is a mechanism which allow a party, <b>any party</b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.</p>", "message":"<p>Hyperlink auditing is a mechanism which allow a party, <b>any party<\/b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/User_agent'>User-Agent<\/a> string by randomly picking a new one below every",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"minutes.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>According to the <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] your browser sends a &lsquo;User Agent&rsquo; header to the website saying precisely which operating system and web browser you are using. This information could help distinguish Internet users from one another because these versions differ, often considerably, from person to person. [...] <b>the User Agent string becomes a real privacy problem<\/b>.&rdquo;<p>This option allows you to address the privacy issue raised by the EFF.<\/p><p>You can supply your own list of user agent strings. One string per line. Blank lines and lines prefixed with &lsquo;#&rsquo; will be ignored.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Behind-the-scene requests",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
@ -603,10 +439,6 @@
"message":"my-umatrix-rules.txt", "message":"my-umatrix-rules.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "Hosts files",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.", "message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.",
"description":"" "description":""
@ -628,7 +460,7 @@
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "Auto-update assets", "message":"Auto-update hosts files.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -640,7 +472,7 @@
"description":"" "description":""
}, },
"hostsFilesExternalListsHint":{ "hostsFilesExternalListsHint":{
"message": "Import external assets here: \nOne URL per line; invalid URLs will be silently ignored.", "message":"One URL per line. Lines prefixed with &lsquo;#&rsquo; will be ignored. Invalid URLs will be silently ignored.",
"description":"" "description":""
}, },
"hostsFilesExternalListsParse":{ "hostsFilesExternalListsParse":{
@ -659,32 +491,8 @@
"message":"outdated", "message":"outdated",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "Ruleset recipes",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Ruleset recipes are imported from the popup panel <em>on demand</em>, i.e. <b>only</b> through user interaction.",
"description": ""
},
"assetsImportLabel": {
"message": "Import...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "My hosts",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "My recipes",
"description": ""
},
"rawSettingsWarning": {
"message": "Warning! Change these raw configuration settings at your own risk.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Change log</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>Change log<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
@ -692,11 +500,11 @@
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Documentation</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Documentation<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki/Permissions'>Permissions</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>Permissions<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
@ -704,8 +512,8 @@
"description":"" "description":""
}, },
"aboutIssues":{ "aboutIssues":{
"message": "Issue tracker", "message":"Bugs and issues",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message":"Contributors", "message":"Contributors",
@ -740,7 +548,7 @@
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "All your settings will be overwritten using data backed up on {{time}}, and nuTensor will restart.\n\nOverwrite all existing settings using backed up data?", "message":"All your settings will be overwritten using data backed up on {{time}}, and uMatrix will restart.\n\nOverwrite all existing settings using backed up data?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
@ -759,18 +567,38 @@
"message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?", "message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"filter expression(s)",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"spoofing user agent with: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"cookie deleted: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"failed to delete cookie: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"browser cache cleared",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"asset updated: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor has prevented the following page from loading:", "message":"uMatrix has prevented the following page from loading:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message":"Because of the following rule", "message":"Because of the following rule",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "without parameters",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message":"Go back", "message":"Go back",
"description":"English: Go back" "description":"English: Go back"
@ -827,40 +655,8 @@
"message":"Logger", "message":"Logger",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Export to cloud storage",
"description": "tooltip"
},
"cloudPull": {
"message": "Import from cloud storage",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "This device name:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Submit",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Revert",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"Network error: Unable to connect to {{url}}", "message":"Network error: Unable to connect to {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Apply changes",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copy to clipboard",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

@ -1,20 +1,16 @@
{ {
"extName": { "extName": {
"message": "nuTensor", "message": "uMatrix",
"description": "" "description": ""
}, },
"extShortDesc": { "extShortDesc": {
"message": "Point & click to forbid/allow any class of requests made by your browser. A fork of Raymond Hill's uMatrix.", "message": "Point & click to forbid/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.",
"description": "this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description": "this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName": { "dashboardPageName": {
"message": "nuTensor — Dashboard", "message": "uMatrix — Dashboard",
"description": "" "description": ""
}, },
"loggerPageName": {
"message": "nuTensor — Logger",
"description": "Title for the logger window"
},
"settingsPageName": { "settingsPageName": {
"message": "Settings", "message": "Settings",
"description": "a tab in dashboard" "description": "a tab in dashboard"
@ -32,11 +28,7 @@
"description": "a tab in dashboard" "description": "a tab in dashboard"
}, },
"ubiquitousRulesPageName" : { "ubiquitousRulesPageName" : {
"message": "Assets", "message": "Hosts files",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "More",
"description": "a tab in dashboard" "description": "a tab in dashboard"
}, },
"aboutPageName": { "aboutPageName": {
@ -61,10 +53,6 @@
"message": "image", "message": "image",
"description": "HAS TO FIT IN MATRIX HEADER!" "description": "HAS TO FIT IN MATRIX HEADER!"
}, },
"mediaPrettyName": {
"message": "media",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"pluginPrettyName": { "pluginPrettyName": {
"message": "plugin", "message": "plugin",
"description": "HAS TO FIT IN MATRIX HEADER!" "description": "HAS TO FIT IN MATRIX HEADER!"
@ -73,8 +61,8 @@
"message": "script", "message": "script",
"description": "HAS TO FIT IN MATRIX HEADER!" "description": "HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName": {
"message": "fetch", "message": "XHR",
"description": "HAS TO FIT IN MATRIX HEADER!" "description": "HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName": { "framePrettyName": {
@ -91,28 +79,20 @@
"message": "No net traffic seen for this tab so far.", "message": "No net traffic seen for this tab so far.",
"description": "" "description": ""
}, },
"matrixLocalScopeTip" : {
"message": "Select a local scope to see/create rules which apply only in that scope",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip" : {
"message": "Select the global scope to see/create rules which apply everywhere",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip" : { "matrixMtxButtonTip" : {
"message": "Disable/enable matrix filtering for this scope", "message": "Disable/enable matrix filtering for this scope.",
"description": "Tool tip for matrix button" "description": "Tool tip for matrix button"
}, },
"matrixPersistButtonTip" : { "matrixPersistButtonTip" : {
"message": "Save all temporary changes for this scope", "message": "Save all temporary changes for this scope.",
"description": "Tool tip for the persist button" "description": "Tool tip for the persist button"
}, },
"matrixRevertButtonTip" : { "matrixRevertButtonTip" : {
"message": "Revert temporary changes for this scope", "message": "Revert temporary changes for this scope.",
"description": "Tool tip for the revert local permission button" "description": "Tool tip for the revert local permission button"
}, },
"matrixReloadButton" : { "matrixReloadButton" : {
"message": "Reload the page. \nPress Shift to bypass the browser cache.", "message": "Reload the page.",
"description": "Tool tip for the reload button" "description": "Tool tip for the reload button"
}, },
"matrix1stPartyLabel" : { "matrix1stPartyLabel" : {
@ -124,23 +104,15 @@
"description": "Appears in the metadata row of bottom-most group: **mind the limited width**" "description": "Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent" : { "matrixSwitchNoMixedContent" : {
"message": "Forbid mixed content", "message": "Strict HTTPS",
"description": "A menu entry in the matrix popup" "description": "A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker" : { "matrixSwitchUASpoof" : {
"message": "Forbid web workers", "message": "User agent spoofing",
"description": "A menu entry in the matrix popup" "description": "A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof" : { "matrixSwitchReferrerSpoof" : {
"message": "Spoof <code>Referer</code> header", "message": "Referrer spoofing",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoscriptSpoof" : {
"message": "Spoof <code><noscript></code> tags",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname" : {
"message": "Reveal canonical names",
"description": "A menu entry in the matrix popup" "description": "A menu entry in the matrix popup"
}, },
"matrixRevertAllEntry" : { "matrixRevertAllEntry" : {
@ -155,21 +127,9 @@
"message": "Go to dashboard", "message": "Go to dashboard",
"description": "A menu entry in the matrix popup" "description": "A menu entry in the matrix popup"
}, },
"matrixNoTabFound" : {
"message": "No web page found",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip" : {
"message": "Import rules",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip" : {
"message": "Save rules",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle" : { "statsPageTitle" : {
"message": "nuTensor &ndash; Statistics", "message": "uMatrix &ndash; Statistics",
"description": "" "description": ""
}, },
"statsPageGenericStats" : { "statsPageGenericStats" : {
@ -185,7 +145,7 @@
"description": "" "description": ""
}, },
"statsPageHyperlinkAuditingFoiled" : { "statsPageHyperlinkAuditingFoiled" : {
"message": "<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hyperlink auditing</a> attempts foiled: {{count}}", "message": "<a href='http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#hyperlink-auditing'>Hyperlink auditing</a> attempts foiled: {{count}}",
"description": "" "description": ""
}, },
"statsPageCookiesRemoved" : { "statsPageCookiesRemoved" : {
@ -277,179 +237,37 @@
"description": "First part of Remember the last [n] HTTP requests per page" "description": "First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2" : { "statsPageLogSizePrompt2" : {
"message": "HTTP requests <b>per page</b>", "message": "HTTP requests <b>per page</b>.",
"description": "Second part of Remember the last [n] HTTP requests per page" "description": "Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp" : { "statsPageLogSizeHelp" : {
"message": "<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).</p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.</p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.</p><p>Enter &ldquo;<code>0</code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>nuTensor</i>).</p>", "message": "<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).</p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.</p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.</p><p>Enter &ldquo;<code>0</code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>uMatrix</i>).</p>",
"description": "To help user understand the purpose of the log size value" "description": "To help user understand the purpose of the log size value"
}, },
"statsPageRefresh" : { "statsPageRefresh" : {
"message": "Refresh", "message": "Refresh",
"description": "" "description": ""
}, },
"logAll":{
"message":"All",
"description":"Appears in the logger's tab selector"
},
"logBehindTheScene":{
"message":"Tabless",
"description":"Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab":{
"message":"Current tab",
"description":"Appears in the logger's tab selector"
},
"loggerReloadTip":{
"message":"Reload the tab content",
"description":"Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder" : {
"message": "filter expression(s)",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted" : {
"message": "cookie deleted: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError" : {
"message": "failed to delete cookie: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared" : {
"message": "browser cache cleared",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated" : {
"message": "asset updated: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip":{
"message":"Toggle logger filtering",
"description":"Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt":{
"message":"filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip":{
"message":"Toggle the popup panel",
"description":"Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip":{
"message":"uBlock Origin wiki: The logger",
"description":"Tooltip for the top-right info label in the logger page"
},
"loggerClearTip":{
"message":"Clear logger",
"description":"Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip":{
"message":"Pause logger (discard all incoming data)",
"description":"Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip":{
"message":"Unpause logger",
"description":"Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip":{
"message":"Logger filtering options",
"description":"Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot":{
"message":"Not",
"description":"A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked":{
"message":"blocked",
"description":"A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo":{
"message":"info",
"description":"A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p":{
"message":"1st-party",
"description":"A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p":{
"message":"3rd-party",
"description":"A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader":{
"message":"Details",
"description":"Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext":{
"message":"Context",
"description":"Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness":{
"message":"Partyness",
"description":"Label to identify a field providing partyness information"
},
"loggerEntryDetailsType":{
"message":"Type",
"description":"Label to identify the type of an entry"
},
"loggerEntryDetailsURL":{
"message":"URL",
"description":"Label to identify the URL of an entry"
},
"loggerEntryRuleHeader":{
"message":"Rule",
"description":"Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt":{
"message":"Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description":"Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge":{
"message":"Preserve entries from the last {{input}} minutes",
"description":"A logger setting"
},
"loggerSettingPerTabMaxLoads":{
"message":"Preserve at most {{input}} page loads per tab",
"description":"A logger setting"
},
"loggerSettingPerTabMaxEntries":{
"message":"Preserve at most {{input}} entries per tab",
"description":"A logger setting"
},
"loggerSettingPerEntryLineCount":{
"message":"Use {{input}} lines per entry in vertically expanded mode",
"description":"A logger setting"
},
"loggerExportFormatList":{
"message":"List",
"description":"Label for radio-button to pick export format"
},
"loggerExportFormatTable":{
"message":"Table",
"description":"Label for radio-button to pick export format"
},
"loggerExportEncodePlain":{
"message":"Plain",
"description":"Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown":{
"message":"Markdown",
"description":"Label for radio-button to pick export text format"
},
"settingsPageTitle" : { "settingsPageTitle" : {
"message": "nuTensor &ndash; Settings", "message": "uMatrix &ndash; Settings",
"description": "" "description": ""
}, },
"settingsMatrixDisplayHeader" : { "settingsMatrixDisplayHeader" : {
"message": "Matrix", "message": "Appearance",
"description": "header for matrix settings used in Settings page" "description": ""
}, },
"settingsMatrixDisplayTextSizePrompt" : { "settingsMatrixDisplayTextSizePrompt" : {
"message": "Text size:", "message": "Text size:",
"description": "" "description": ""
}, },
"settingsIconBadgeEnabled":{ "settingsMatrixDisplayTextSizeNormal" : {
"message":"Show the number of blocked resources on the icon", "message": "Normal",
"description": ""
},
"settingsMatrixDisplayTextSizeLarge" : {
"message": "Large",
"description": "" "description": ""
}, },
"settingsMatrixDisplayColorBlind" : { "settingsMatrixDisplayColorBlind" : {
@ -460,53 +278,54 @@
"message": "Convenience", "message": "Convenience",
"description": "English: Convenience" "description": "English: Convenience"
}, },
"settingsDefaultScopeLevel" : { "settingsMatrixAutoReloadPrompt" : {
"message": "Default scope level:", "message": "When the matrix is closed, smart reload these tabs:",
"description": "Label for default scope level selector in Settings pane" "description": ""
}, },
"settingsDefaultScopeLevel0" : { "settingsMatrixAutoReloadNone" : {
"message": "Global", "message": "None",
"description": "Scope will be global" "description": ""
}, },
"settingsDefaultScopeLevel1" : { "settingsMatrixAutoReloadCurrent" : {
"message": "Domain", "message": "Current",
"description": "Scope will be base domain" "description": ""
}, },
"settingsDefaultScopeLevel2" : { "settingsMatrixAutoReloadAll" : {
"message": "Site", "message": "All",
"description": "Scope will be full hostname of site" "description": ""
}, },
"settingsCollapseBlocked" : { "settingsMatrixAutoReloadInfo" : {
"message": "Hide placeholder of blocked elements", "message": "Whenever you make changes in the matrix which can affect the display and/or behavior of one or more pages, <i>uMatrix</i> will reload affected pages automatically when you close the matrix.",
"description": "A setting in the dashboard's Settings pane" "description": ""
}, },
"settingsCollapseBlacklisted" : { "settingsSubframeColor" : {
"message": "Hide placeholder of blacklisted elements", "message": "Blocked frames:&ensp;Color",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description": "English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed" : { "settingsSubframeOpacity" : {
"message": "Spoof <code><noscript></code> tags when 1st-party scripts are blocked", "message": "Opacity",
"description": "This appears in the Settings pane in the dashboard" "description": "English: Opacity"
}, },
"settingsCloudStorageEnabled" : { "settingsIconBadgeEnabled":{
"message": "Enable cloud storage support", "message":"Show the number of distinct requests on the icon",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips" : { "settingsCollapseBlocked" : {
"message": "Disable tooltips", "message": "Collapse placeholder of blocked elements",
"description": "" "description": "English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle" : { "privacyPageTitle" : {
"message": "nuTensor &ndash; Privacy", "message": "uMatrix &ndash; Privacy",
"description": "" "description": ""
}, },
"privacyDeleteBlockedCookiesPrompt" : { "privacyDeleteBlockedCookiesPrompt" : {
"message": "Delete blocked cookies", "message": "Delete blocked cookies.",
"description": "" "description": ""
}, },
"privacyDeleteBlockedCookiesHelp" : { "privacyDeleteBlockedCookiesHelp" : {
"message": "<p>Blacklisted cookies are not prevented by <i>nuTensor</i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.</p><p>Once these blacklisted cookies have been accounted for by <i>nuTensor</i>, they can be removed from your browser if you wish so.</p><p><b>Important note:</b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>nuTensor</i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.</p>", "message": "<p>Blacklisted cookies are not prevented by <i>uMatrix</i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.</p><p>Once these blacklisted cookies have been accounted for by <i>uMatrix</i>, they can be removed from your browser if you wish so.</p><p><b>Important note:</b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>uMatrix</i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.</p>",
"description": "" "description": ""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1" : { "privacyDeleteNonBlockedSessionCookiesPrompt1" : {
@ -514,7 +333,7 @@
"description": "First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description": "First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt2" : { "privacyDeleteNonBlockedSessionCookiesPrompt2" : {
"message": " minutes after the last time they have been used", "message": " minutes after the last time they have been used.",
"description": "Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description": "Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp" : { "privacyDeleteNonBlockedSessionCookiesHelp" : {
@ -534,23 +353,23 @@
"description": "First part of 'Clear browser cache every [n] minutes'" "description": "First part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCachePrompt2" : { "privacyClearCachePrompt2" : {
"message": "minutes", "message": "minutes.",
"description": "Second part of 'Clear browser cache every [n] minutes'" "description": "Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp" : { "privacyClearCacheHelp" : {
"message": "<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.</p><p>A few of these tricks rely<sup>[1, 2]</sup> on the <a href='https://en.wikipedia.org/wiki/Web_cache'>browser cache</a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.</p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.</p><p>Check this option to have <i>nuTensor</i> do it for you, at the interval you wish.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a>\n[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>", "message": "<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.</p><p>A few of these tricks rely<sup style='font-size:smaller'>[1, 2]</sup> on the <a href='https://en.wikipedia.org/wiki/Web_cache'>browser cache</a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.</p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.</p><p>Check this option to have <i>uMatrix</i> do it for you, at the interval you wish.</p><p style='font-size:smaller'>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a><br>[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>",
"description": "" "description": ""
}, },
"privacyProcessRefererPrompt" : { "privacyProcessRefererPrompt" : {
"message": "Spoof <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referrer</a> string of third-party requests", "message": "Spoof <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referrer</a> string of third-party requests.",
"description": "" "description": ""
}, },
"privacyProcessRefererHelp" : { "privacyProcessRefererHelp" : {
"message": "From Wikipedia:<blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.</b></blockquote>If this setting is checked, <i>nuTensor</i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.", "message": "<p>From Wikipedia:</p><blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.</b></blockquote><p>If this setting is checked, <i>uMatrix</i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.",
"description": "" "description": ""
}, },
"privacyNoMixedContentPrompt" : { "privacyNoMixedContentPrompt" : {
"message": "Strict HTTPS: forbid mixed content", "message": "Strict HTTPS: forbid mixed content.",
"description": "" "description": ""
}, },
"privacyNoMixedContentHelp" : { "privacyNoMixedContentHelp" : {
@ -558,13 +377,33 @@
"description": "" "description": ""
}, },
"privacyProcessHyperlinkAuditingPrompt" : { "privacyProcessHyperlinkAuditingPrompt" : {
"message": "Block all <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>hyperlink auditing</a> attempts", "message": "Block all <a href='http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#hyperlink-auditing'>hyperlink auditing</a> attempts.",
"description": "" "description": ""
}, },
"privacyProcessHyperlinkAuditingHelp" : { "privacyProcessHyperlinkAuditingHelp" : {
"message": "<p>Hyperlink auditing is a mechanism which allow a party, <b>any party</b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.</p>", "message": "<p>Hyperlink auditing is a mechanism which allow a party, <b>any party</b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.</p>",
"description": "" "description": ""
}, },
"privacySpoofUserAgentPrompt1" : {
"message": "Spoof <a href='https://en.wikipedia.org/wiki/User_agent'>User-Agent</a> string by randomly picking a new one below every",
"description": "First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2" : {
"message": "minutes.",
"description": "Second part"
},
"privacySpoofUserAgentHelp" : {
"message": "<a href='https://www.eff.org/deeplinks/2010/01/tracking-by-user-agent'>According to the <i>Electronic Frontier Foundation</i></a>: &ldquo;[...] your browser sends a &lsquo;User Agent&rsquo; header to the website saying precisely which operating system and web browser you are using. This information could help distinguish Internet users from one another because these versions differ, often considerably, from person to person. [...] <b>the User Agent string becomes a real privacy problem</b>.&rdquo;<p>This option allows you to address the privacy issue raised by the EFF.</p><p>You can supply your own list of user agent strings. One string per line. Blank lines and lines prefixed with &lsquo;#&rsquo; will be ignored.</p>",
"description": ""
},
"privacyBehindTheSceneHeader" : {
"message": "Behind-the-scene requests",
"description": ""
},
"privacyProcessBehindTheSceneHelp" : {
"message": "",
"description": ""
},
"userRulesPermanentHeader": { "userRulesPermanentHeader": {
@ -613,10 +452,6 @@
}, },
"assetsHostsSection" : {
"message": "Hosts files",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt" : { "hostsFilesPrompt" : {
"message": "All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.", "message": "All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.",
"description": "" "description": ""
@ -638,7 +473,7 @@
"description": "" "description": ""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message":"Auto-update assets", "message":"Auto-update hosts files.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -650,7 +485,7 @@
"description":"" "description":""
}, },
"hostsFilesExternalListsHint":{ "hostsFilesExternalListsHint":{
"message":"Import external assets here: \nOne URL per line; invalid URLs will be silently ignored.", "message":"One URL per line. Lines prefixed with &lsquo;#&rsquo; will be ignored. Invalid URLs will be silently ignored.",
"description":"" "description":""
}, },
"hostsFilesExternalListsParse":{ "hostsFilesExternalListsParse":{
@ -669,34 +504,10 @@
"message":"outdated", "message":"outdated",
"description":"" "description":""
}, },
"assetsRecipesSection" : {
"message": "Ruleset recipes",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary" : {
"message": "Ruleset recipes are imported from the popup panel <em>on demand</em>, i.e. <b>only</b> through user interaction.",
"description": ""
},
"assetsImportLabel" : {
"message": "Import...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "My hosts",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "My recipes",
"description": ""
},
"rawSettingsWarning" : {
"message": "Warning! Change these raw configuration settings at your own risk.",
"description": ""
},
"aboutChangelog" : { "aboutChangelog" : {
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Change log</a>", "message": "<a href='https://github.com/gorhill/uMatrix/releases'>Change log</a>",
"description": "" "description": ""
}, },
"aboutStorageUsed" : { "aboutStorageUsed" : {
@ -704,11 +515,11 @@
"description": "" "description": ""
}, },
"aboutDoc" : { "aboutDoc" : {
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Documentation</a>", "message": "<a href='https://github.com/gorhill/uMatrix/wiki'>Documentation</a>",
"description": "" "description": ""
}, },
"aboutPermissions" : { "aboutPermissions" : {
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki/Permissions'>Permissions</a>", "message": "<a href='https://github.com/gorhill/httpswitchboard/wiki/Permissions'>Permissions</a>",
"description": "" "description": ""
}, },
"aboutCode" : { "aboutCode" : {
@ -716,8 +527,8 @@
"description": "" "description": ""
}, },
"aboutIssues" : { "aboutIssues" : {
"message": "Issue tracker", "message": "Bugs and issues",
"description": "Text for a link to official issue tracker" "description": ""
}, },
"aboutContributors":{ "aboutContributors":{
"message":"Contributors", "message":"Contributors",
@ -752,7 +563,7 @@
"description": "" "description": ""
}, },
"aboutRestoreConfirm" : { "aboutRestoreConfirm" : {
"message": "All your settings will be overwritten using data backed up on {{time}}, and nuTensor will restart.\n\nOverwrite all existing settings using backed up data?", "message": "All your settings will be overwritten using data backed up on {{time}}, and uMatrix will restart.\n\nOverwrite all existing settings using backed up data?",
"description": "Message asking user to confirm restore" "description": "Message asking user to confirm restore"
}, },
"aboutRestoreError" : { "aboutRestoreError" : {
@ -772,18 +583,39 @@
"description": "Message asking user to confirm reset" "description": "Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder" : {
"message": "filter expression(s)",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing" : {
"message": "spoofing user agent with: {{value}}",
"description": "An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted" : {
"message": "cookie deleted: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError" : {
"message": "failed to delete cookie: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared" : {
"message": "browser cache cleared",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated" : {
"message": "asset updated: {{value}}",
"description": "An entry for when an asset was updated"
},
"mainBlockedPrompt1": { "mainBlockedPrompt1": {
"message": "nuTensor has prevented the following page from loading:", "message": "uMatrix has prevented the following page from loading:",
"description": "English: nuTensor has prevented the following page from loading:" "description": "English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2": { "mainBlockedPrompt2": {
"message": "Because of the following rule", "message": "Because of the following rule",
"description": "English: Because of the following rule" "description": "English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "without parameters",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack" : { "mainBlockedBack" : {
"message": "Go back", "message": "Go back",
"description": "English: Go back" "description": "English: Go back"
@ -844,42 +676,8 @@
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Export to cloud storage",
"description": "tooltip"
},
"cloudPull": {
"message": "Import from cloud storage",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "This device name:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Submit",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Revert",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"Network error: Unable to connect to {{url}}", "message":"Network error: Unable to connect to {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Apply changes",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard":{
"message":"Copy to clipboard",
"description":"Label for buttons used to copy something to the clipboard"
} }
} }

@ -1,866 +0,0 @@
{
"extName": {
"message": "nuTensor",
"description": ""
},
"extShortDesc": {
"message": "Point & click to forbid/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.",
"description": "this will be used as short description in web stores: MUST BE 132 characters OR LESS"
},
"dashboardPageName": {
"message": "nuTensor — Panelo",
"description": ""
},
"loggerPageName": {
"message": "nuTensor — Logger",
"description": "Title for the logger window"
},
"settingsPageName": {
"message": "Agordoj",
"description": "a tab in dashboard"
},
"privacyPageName": {
"message": "Privateco",
"description": "a tab in dashboard"
},
"statsPageName": {
"message": "Statistics",
"description": "a tab in dashboard"
},
"userRulesPageName": {
"message": "Miaj reguloj",
"description": "a tab in dashboard"
},
"ubiquitousRulesPageName": {
"message": "Assets",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "More",
"description": "a tab in dashboard"
},
"aboutPageName": {
"message": "Pri",
"description": "a tab in dashboard"
},
"allPrettyName": {
"message": "all",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"cookiePrettyName": {
"message": "kuketo",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"cssPrettyName": {
"message": "css",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"imagePrettyName": {
"message": "bildo",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"mediaPrettyName": {
"message": "media",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"pluginPrettyName": {
"message": "kromaĵo",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"scriptPrettyName": {
"message": "skripto",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"fetchPrettyName": {
"message": "fetch",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"framePrettyName": {
"message": "kadro",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"otherPrettyName": {
"message": "alia",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"matrixNoNetTrafficPrompt": {
"message": "No net traffic seen for this tab so far.",
"description": ""
},
"matrixLocalScopeTip": {
"message": "Select a local scope to see/create rules which apply only in that scope",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Select the global scope to see/create rules which apply everywhere",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip": {
"message": "Disable/enable matrix filtering for this scope",
"description": "Tool tip for matrix button"
},
"matrixPersistButtonTip": {
"message": "Save all temporary changes for this scope",
"description": "Tool tip for the persist button"
},
"matrixRevertButtonTip": {
"message": "Revert temporary changes for this scope",
"description": "Tool tip for the revert local permission button"
},
"matrixReloadButton": {
"message": "Reŝargi la paĝon.",
"description": "Tool tip for the reload button"
},
"matrix1stPartyLabel": {
"message": "1st-party",
"description": "1st-party"
},
"matrixBlacklistedHostnames": {
"message": "{{count}} blacklisted hostname(s)",
"description": "Appears in the metadata row of bottom-most group: **mind the limited width**"
},
"matrixSwitchNoMixedContent": {
"message": "Forbid mixed content",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoWorker": {
"message": "Forbid web workers",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchReferrerSpoof": {
"message": "Spoof <code>Referer</code> header",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoscriptSpoof": {
"message": "Spoof <code><noscript></code> tags",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Reveal canonical names",
"description": "A menu entry in the matrix popup"
},
"matrixRevertAllEntry": {
"message": "Revert all temporary changes",
"description": "A menu entry in the matrix popup"
},
"matrixLoggerMenuEntry": {
"message": "Iri al protokolilo",
"description": "A menu entry in the matrix popup"
},
"matrixDashboardMenuEntry": {
"message": "Iri al panelo",
"description": "A menu entry in the matrix popup"
},
"matrixNoTabFound": {
"message": "No web page found",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Import rules",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Save rules",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle": {
"message": "nuTensor &ndash; Statistics",
"description": ""
},
"statsPageGenericStats": {
"message": "Generic statistics",
"description": ""
},
"statsPageCookieHeadersFoiled": {
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_cookie'>HTTP cookie</a> headers foiled: {{count}}",
"description": ""
},
"statsPageRefererHeadersFoiled": {
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referer</a> headers foiled: {{count}}",
"description": ""
},
"statsPageHyperlinkAuditingFoiled": {
"message": "<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hyperlink auditing</a> attempts foiled: {{count}}",
"description": ""
},
"statsPageCookiesRemoved": {
"message": "Lokaj kuketoj forigitaj: {{count}}",
"description": ""
},
"statsPageLocalStoragesCleared": {
"message": "<a href='http://diveintohtml5.info/storage.html'>Lokaj konservadoj</a> malplenigitaj: {{count}}",
"description": ""
},
"statsPageBrowserCacheCleared": {
"message": "Browser caches cleared: {{count}}",
"description": ""
},
"statsPageDetailedStats": {
"message": "Detailed statistics",
"description": ""
},
"statsPageDetailedAllPages": {
"message": "All",
"description": ""
},
"statsPageDetailedBehindTheScenePage": {
"message": "Behind the scene",
"description": ""
},
"statsPageOverview": {
"message": "Superrigardo",
"description": ""
},
"statsPageRequests": {
"message": "Petoj",
"description": "header for the stat type column"
},
"statsPageAllowed": {
"message": "Allowed",
"description": "header for the allowed requests column"
},
"statsPageBlocked": {
"message": "Blocked",
"description": "header for the blocked requests column"
},
"statsPageAll": {
"message": "All",
"description": ""
},
"statsPagePages": {
"message": "Paĝoj",
"description": ""
},
"statsPageCookies": {
"message": "Kuketoj",
"description": ""
},
"statsPageCSS": {
"message": "CSS",
"description": ""
},
"statsPageImages": {
"message": "Bildoj",
"description": ""
},
"statsPagePlugins": {
"message": "Kromaĵoj",
"description": ""
},
"statsPageScripts": {
"message": "Skriptoj",
"description": ""
},
"statsPageXHRs": {
"message": "XHR-oj",
"description": ""
},
"statsPageFrames": {
"message": "Kadroj",
"description": ""
},
"statsPageOthers": {
"message": "Aliaj",
"description": ""
},
"statsPageDetailed": {
"message": "Protokolilo",
"description": ""
},
"statsPageLogSizePrompt1": {
"message": "Remember the last",
"description": "First part of Remember the last [n] HTTP requests per page"
},
"statsPageLogSizePrompt2": {
"message": "HTTP requests <b>per page</b>",
"description": "Second part of Remember the last [n] HTTP requests per page"
},
"statsPageLogSizeHelp": {
"message": "<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).</p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.</p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.</p><p>Enter &ldquo;<code>0</code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>nuTensor</i>).</p>",
"description": "To help user understand the purpose of the log size value"
},
"statsPageRefresh": {
"message": "Aktualigi",
"description": ""
},
"logAll": {
"message": "All",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Tabless",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Current tab",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Reload the tab content",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "filter expression(s)",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "kuketo forigita: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "failed to delete cookie: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "browser cache cleared",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "asset updated: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: The logger",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Clear logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pause logger (discard all incoming data)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Unpause logger",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Logger filtering options",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Not",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "blocked",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "1st-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "3rd-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Details",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Context",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Rule",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Preserve entries from the last {{input}} minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Preserve at most {{input}} entries per tab",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Use {{input}} lines per entry in vertically expanded mode",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "List",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Table",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Plain",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle": {
"message": "nuTensor &ndash; Agordoj",
"description": ""
},
"settingsMatrixDisplayHeader": {
"message": "Apero",
"description": "header for matrix settings used in Settings page"
},
"settingsMatrixDisplayTextSizePrompt": {
"message": "Tekstogrando:",
"description": ""
},
"settingsIconBadgeEnabled": {
"message": "Show the number of blocked resources on the icon",
"description": ""
},
"settingsMatrixDisplayColorBlind": {
"message": "Afabla por kolorblinduloj",
"description": ""
},
"settingsMatrixConvenienceHeader": {
"message": "Komforto",
"description": "English: Convenience"
},
"settingsDefaultScopeLevel": {
"message": "Default scope level:",
"description": "Label for default scope level selector in Settings pane"
},
"settingsDefaultScopeLevel0": {
"message": "Global",
"description": "Scope will be global"
},
"settingsDefaultScopeLevel1": {
"message": "Domain",
"description": "Scope will be base domain"
},
"settingsDefaultScopeLevel2": {
"message": "Site",
"description": "Scope will be full hostname of site"
},
"settingsCollapseBlocked": {
"message": "Hide placeholder of blocked elements",
"description": "A setting in the dashboard's Settings pane"
},
"settingsCollapseBlacklisted": {
"message": "Hide placeholder of blacklisted elements",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'"
},
"settingsNoscriptTagsSpoofed": {
"message": "Spoof <code><noscript></code> tags when 1st-party scripts are blocked",
"description": "This appears in the Settings pane in the dashboard"
},
"settingsCloudStorageEnabled": {
"message": "Ŝalti subtenon por nuba konservado",
"description": ""
},
"settingsMatrixNoTooltips": {
"message": "Disable tooltips",
"description": ""
},
"privacyPageTitle": {
"message": "nuTensor &ndash; Privateco",
"description": ""
},
"privacyDeleteBlockedCookiesPrompt": {
"message": "Delete blocked cookies",
"description": ""
},
"privacyDeleteBlockedCookiesHelp": {
"message": "<p>Blacklisted cookies are not prevented by <i>nuTensor</i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.</p><p>Once these blacklisted cookies have been accounted for by <i>nuTensor</i>, they can be removed from your browser if you wish so.</p><p><b>Important note:</b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>nuTensor</i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.</p>",
"description": ""
},
"privacyDeleteNonBlockedSessionCookiesPrompt1": {
"message": "Delete non-blocked session cookies ",
"description": "First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
},
"privacyDeleteNonBlockedSessionCookiesPrompt2": {
"message": " minutes after the last time they have been used",
"description": "Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
},
"privacyDeleteNonBlockedSessionCookiesHelp": {
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;</p><p>Except that this <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>might not be happening</a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.</p>",
"description": ""
},
"privacyDeleteBlockedLocalStoragePrompt": {
"message": "Delete <a href='https://en.wikipedia.org/wiki/Web_storage'>local storage</a> content set by blocked hostnames",
"description": ""
},
"privacyDeleteBlockedLocalStorageHelp": {
"message": "TODO",
"description": ""
},
"privacyClearCachePrompt1": {
"message": "Clear browser cache every",
"description": "First part of 'Clear browser cache every [n] minutes'"
},
"privacyClearCachePrompt2": {
"message": "minutoj.",
"description": "Second part of 'Clear browser cache every [n] minutes'"
},
"privacyClearCacheHelp": {
"message": "<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.</p><p>A few of these tricks rely<sup>[1, 2]</sup> on the <a href='https://en.wikipedia.org/wiki/Web_cache'>browser cache</a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.</p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.</p><p>Check this option to have <i>nuTensor</i> do it for you, at the interval you wish.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a>\n[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>",
"description": ""
},
"privacyProcessRefererPrompt": {
"message": "Spoof <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referrer</a> string of third-party requests",
"description": ""
},
"privacyProcessRefererHelp": {
"message": "From Wikipedia:<blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.</b></blockquote>If this setting is checked, <i>nuTensor</i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.",
"description": ""
},
"privacyNoMixedContentPrompt": {
"message": "Strict HTTPS: forbid mixed content",
"description": ""
},
"privacyNoMixedContentHelp": {
"message": "<p>From <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.</blockquote>",
"description": ""
},
"privacyProcessHyperlinkAuditingPrompt": {
"message": "Block all <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>hyperlink auditing</a> attempts",
"description": ""
},
"privacyProcessHyperlinkAuditingHelp": {
"message": "<p>Hyperlink auditing is a mechanism which allow a party, <b>any party</b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.</p>",
"description": ""
},
"userRulesPermanentHeader": {
"message": "Daŭraj reguloj",
"description": ""
},
"userRulesTemporaryHeader": {
"message": "Nedaŭraj reguloj",
"description": ""
},
"userRulesRevert": {
"message": "Malfari",
"description": "Will remove all temporary rules"
},
"userRulesCommit": {
"message": "Konservi",
"description": "Will save all temporary rules"
},
"userRulesEdit": {
"message": "Redakti",
"description": "Will enable manual-edit mode (textarea)"
},
"userRulesEditSave": {
"message": "Konservi",
"description": "Will save manually-edited content and exit manual-edit mode"
},
"userRulesEditDicard": {
"message": "Ignori",
"description": "Will discard manually-edited content and exit manual-edit mode"
},
"userRulesImport": {
"message": "Importi el dosiero...",
"description": ""
},
"userRulesExport": {
"message": "Eksporti al dosiero...",
"description": ""
},
"userRulesFormatHint": {
"message": "See this page for rule syntax.",
"description": ""
},
"userRulesDefaultFileName": {
"message": "miaj-umatrix-reguloj.txt",
"description": "default file name to use"
},
"assetsHostsSection": {
"message": "Hosts files",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt": {
"message": "All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.",
"description": ""
},
"hostsFilesStats": {
"message": "{{blockedHostnameCount}} distinct blocked hostnames from:",
"description": ""
},
"hostsFilesPerFileStats": {
"message": "{{used}} used out of {{total}}",
"description": ""
},
"hostsFilesLastUpdate": {
"message": "Lasta ĝisdatigo: {{ago}}",
"description": "English: Last update: {{ago}}, where 'ago' will be replaced with something like '2 days ago'"
},
"hostsFilesApplyChanges": {
"message": "Apliki ŝanĝojn",
"description": ""
},
"hostsFilesAutoUpdatePrompt": {
"message": "Auto-update assets",
"description": ""
},
"hostsFilesUpdateNow": {
"message": "Ĝisdatigi nun",
"description": ""
},
"hostsFilesPurgeAll": {
"message": "Malplenigi ĉiujn kaŝmemorojn",
"description": ""
},
"hostsFilesExternalListsHint": {
"message": "Import external assets here: \nOne URL per line; invalid URLs will be silently ignored.",
"description": ""
},
"hostsFilesExternalListsParse": {
"message": "Analizi",
"description": ""
},
"hostsFilesExternalListPurge": {
"message": "malplenigi kaŝmemoron",
"description": ""
},
"hostsFilesExternalListNew": {
"message": "nova versio disponebla",
"description": ""
},
"hostsFilesExternalListObsolete": {
"message": "neĝisdata",
"description": ""
},
"assetsRecipesSection": {
"message": "Ruleset recipes",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Ruleset recipes are imported from the popup panel <em>on demand</em>, i.e. <b>only</b> through user interaction.",
"description": ""
},
"assetsImportLabel": {
"message": "Import...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "My hosts",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "My recipes",
"description": ""
},
"rawSettingsWarning": {
"message": "Warning! Change these raw configuration settings at your own risk.",
"description": ""
},
"aboutChangelog": {
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Ŝanĝoprotokolo</a>",
"description": ""
},
"aboutStorageUsed": {
"message": "Storage used: {{storageUsed}} bytes",
"description": ""
},
"aboutDoc": {
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Documentation</a>",
"description": ""
},
"aboutPermissions": {
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki/Permissions'>Permissions</a>",
"description": ""
},
"aboutCode": {
"message": "Fontkodo (GPLv3)",
"description": ""
},
"aboutIssues": {
"message": "Cimoj kaj problemoj",
"description": "Text for a link to official issue tracker"
},
"aboutContributors": {
"message": "Kontribuantoj",
"description": "English: Contributors"
},
"aboutCodeContributors": {
"message": "Kode:",
"description": ""
},
"aboutIssueContributors": {
"message": "Problemoj:",
"description": ""
},
"aboutTranslationContributors": {
"message": "Tradukoj:",
"description": ""
},
"aboutUserDataHeader": {
"message": "Viaj datumoj",
"description": ""
},
"aboutBackupButton": {
"message": "Savkopii al dosiero...",
"description": ""
},
"aboutBackupFilename": {
"message": "mia-umatrix-savkopio.txt",
"description": "default filename to use"
},
"aboutRestoreButton": {
"message": "Restore from file...",
"description": ""
},
"aboutRestoreConfirm": {
"message": "All your settings will be overwritten using data backed up on {{time}}, and nuTensor will restart.\n\nOverwrite all existing settings using backed up data?",
"description": "Message asking user to confirm restore"
},
"aboutRestoreError": {
"message": "The data could not be read or is invalid",
"description": ""
},
"aboutOr": {
"message": "... aŭ ...",
"description": "English: ... or ..."
},
"aboutResetButton": {
"message": "Reset to default settings",
"description": "English: Reset to default settings"
},
"aboutResetConfirm": {
"message": "Caution! this will remove all your custom settings. Are you sure you want to proceed?",
"description": "Message asking user to confirm reset"
},
"mainBlockedPrompt1": {
"message": "nuTensor has prevented the following page from loading:",
"description": "English: nuTensor has prevented the following page from loading:"
},
"mainBlockedPrompt2": {
"message": "Because of the following rule",
"description": "English: Because of the following rule"
},
"mainBlockedNoParamsPrompt": {
"message": "without parameters",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack": {
"message": "Reen",
"description": "English: Go back"
},
"mainBlockedClose": {
"message": "Fermi",
"description": "English: Close"
},
"commandRevertAll": {
"message": "Revert all temporary changes",
"description": ""
},
"commandWhitelistPageDomain": {
"message": "Temporarily whitelist page domain",
"description": ""
},
"commandWhitelistAll": {
"message": "Temporarily whitelist all",
"description": ""
},
"commandOpenDashboard": {
"message": "Malfermi la panelo",
"description": ""
},
"elapsedOneMinuteAgo": {
"message": "antaŭ 1 minuto",
"description": "English: a minute ago"
},
"elapsedManyMinutesAgo": {
"message": "antaŭ {{value}} minutoj",
"description": "English: {{value}} minutes ago"
},
"elapsedOneHourAgo": {
"message": "antaŭ 1 horo",
"description": "English: an hour ago"
},
"elapsedManyHoursAgo": {
"message": "antaŭ {{value}} horoj",
"description": "English: {{value}} hours ago"
},
"elapsedOneDayAgo": {
"message": "antaŭ 1 tago",
"description": "English: a day ago"
},
"elapsedManyDaysAgo": {
"message": "antaŭ {{value}} tagoj",
"description": "English: {{value}} days ago"
},
"showDashboardButton": {
"message": "Panelo",
"description": "Appears in Firefox's add-on preferences"
},
"showLoggerButton": {
"message": "Protokolilo",
"description": "Appears in Firefox's add-on preferences"
},
"cloudPush": {
"message": "Eksporti al nuba konservado",
"description": "tooltip"
},
"cloudPull": {
"message": "Importi el nuba konservado",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "Nomo de ĉi tiu aparato:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Sendi",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Malfari",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo": {
"message": "Reteraro: {{url}} ne konekteblas",
"description": ""
},
"genericApplyChanges": {
"message": "Apply changes",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copy to clipboard",
"description": "Label for buttons used to copy something to the clipboard"
}
}

@ -1,20 +1,16 @@
{ {
"extName":{ "extName":{
"message": "nuTensor", "message":"uMatrix",
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "Prohíbe/permite cualquier petición del navegador. Bloquea scripts, iframes, anuncios, facebook, etc.", "message":"Prohíbe\/permite cualquier petición del navegador. Bloquea scripts, iframes, anuncios, facebook, etc.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message": "nuTensor — Panel de control", "message":"uMatrix — Panel de control",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — Registro de peticiones",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message":"Configuración", "message":"Configuración",
"description":"a tab in dashboard" "description":"a tab in dashboard"
@ -32,11 +28,7 @@
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "Recursos", "message":"Ficheros hosts",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "Más",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
@ -56,11 +48,7 @@
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"imagePrettyName":{ "imagePrettyName":{
"message": "imagen", "message":"image",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"mediaPrettyName": {
"message": "media",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"pluginPrettyName":{ "pluginPrettyName":{
@ -71,8 +59,8 @@
"message":"script", "message":"script",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
@ -84,59 +72,43 @@
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"matrixNoNetTrafficPrompt":{ "matrixNoNetTrafficPrompt":{
"message": "No se ha detectado tráfico de red en esta pestaña hasta el momento.", "message":"No se ha detectado tráfico de red en la pestaña hasta el momento.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Seleccione un ámbito local para ver/crear reglas que se aplican solo en ese ámbito",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Seleccione el alcance global para ver/crear reglas que se aplican en todas partes",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "Deshabilitar/habilitar el filtrado por matriz en este ámbito", "message":"Deshabilita\/habilita el filtrado por matriz en este ámbito.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
"message": "Guardar cambios temporales para este ámbito", "message":"Guardar cambios temporales para este ámbito.",
"description":"Tool tip for the persist button" "description":"Tool tip for the persist button"
}, },
"matrixRevertButtonTip":{ "matrixRevertButtonTip":{
"message": "Revertir cambios temporales para este ámbito", "message":"Revertir cambios temporales para este ámbito.",
"description":"Tool tip for the revert local permission button" "description":"Tool tip for the revert local permission button"
}, },
"matrixReloadButton":{ "matrixReloadButton":{
"message": "Recargar la página.\nMantenga pulsada la tecla Shift para evitar usar la caché del navegador.", "message":"Recargar la página.",
"description":"Tool tip for the reload button" "description":"Tool tip for the reload button"
}, },
"matrix1stPartyLabel":{ "matrix1stPartyLabel":{
"message": "peticiones del dominio", "message":"dominio actual",
"description":"1st-party" "description":"1st-party"
}, },
"matrixBlacklistedHostnames":{ "matrixBlacklistedHostnames":{
"message": "{{count}} nombres de dominio en la lista negra", "message":"{{count}} nombre(s) de <i>host<\/i> en la lista negra",
"description":"Appears in the metadata row of bottom-most group: **mind the limited width**" "description":"Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent":{ "matrixSwitchNoMixedContent":{
"message": "Prohibir contenido mixto", "message":"HTTPS estricto",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Prohibir web workers", "message":"Falsificar cadena User-Agent",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message": "Falsificar encabezado <code>Referer</code>", "message":"Falsificar Referer",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoscriptSpoof": {
"message": "Falsificar etiquetas <code><noscript></code>",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Revelar nombres canónicos",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
@ -148,23 +120,11 @@
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixDashboardMenuEntry":{ "matrixDashboardMenuEntry":{
"message": "Ir al panel de control", "message":"Ir al Panel de control",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "No se encontró la página",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Importar reglas",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Guardar reglas",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message": "nuTensor &ndash; Estadísticas", "message":"uMatrix &ndash; Estadísticas",
"description":"" "description":""
}, },
"statsPageGenericStats":{ "statsPageGenericStats":{
@ -172,23 +132,23 @@
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "Encabezados de <a href='https://es.wikipedia.org/wiki/Cookie_%28inform%C3%A1tica%29'>HTTP cookie</a> frustrados: {{count}}", "message":"Encabezados de <a href='https:\/\/es.wikipedia.org\/wiki\/Cookie_%28inform%C3%A1tica%29'>HTTP cookie<\/a> frustrados: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "Encabezados de <a href='https://es.wikipedia.org/wiki/Referer_%28Cabecera_HTTP%29'>HTTP referer</a> frustrados: {{count}}", "message":"Encabezados de <a href='https:\/\/es.wikipedia.org\/wiki\/Referer_%28Cabecera_HTTP%29'>HTTP referer<\/a> frustrados: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "Intentos de <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>auditoría de hipervínculos</a> frustrados: {{count}}", "message":"Intentos de <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>auditoría de hipervínculos<\/a> frustrados: {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
"message": "Cookies locales eliminadas: {{count}}", "message":"<i>Cookies<\/i> locales eliminadas: {{count}}",
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "<a href='http://diveintohtml5.info/storage.html'>Almacenamientos locales</a> vaciados: {{count}}", "message":"<a href='http:\/\/diveintohtml5.info\/storage.html'>Almacenamientos locales<\/a> vaciados: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
@ -204,11 +164,11 @@
"description":"" "description":""
}, },
"statsPageDetailedBehindTheScenePage":{ "statsPageDetailedBehindTheScenePage":{
"message": "Peticiones ocultas", "message":"Chromium: Behind the scene",
"description":"" "description":""
}, },
"statsPageOverview":{ "statsPageOverview":{
"message": "Resumen", "message":"Sumario",
"description":"" "description":""
}, },
"statsPageRequests":{ "statsPageRequests":{
@ -268,183 +228,39 @@
"description":"" "description":""
}, },
"statsPageLogSizePrompt1":{ "statsPageLogSizePrompt1":{
"message": "Recordar últimas", "message":"Recordar última(s)",
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "Peticiones HTTP <b>por página</b>", "message":"peticiones HTTP <b>por página<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>Permite inspeccionar los detalles de las peticiones HTTP directas más recientes hechas por una página web (ver debajo).</p><p>Útil sobre todo para usuarios avanzados que deseen investigar qué, exactamente, ha estado haciendo una página. Sin embargo, registrar tales peticiones HTTP requiere memoria, que puede terminar siendo malgastada si dicha información técnica no es de su interés.</p><p>Por ello este campo le permite ajustar el número máximo de peticiones HTTP recientes que se van a registrar para una inspección ulterior.</p><p>Introduzca &ldquo;<code>0</code>&rdquo; para desactivar el registro detallado (con el consecuente ahorro de memoria de <i>nuTensor</i>).</p>", "message":"<p>Permite inspeccionar los detalles de las peticiones HTTP directas más recientes hechas por una página web (ver debajo).<\/p><p>Útil sobre todo para usuarios avanzados que deseen investigar qué, exactamente, ha estado haciendo una página. Sin embargo, registrar tales peticiones HTTP requiere memoria, que puede terminar siendo malgastada si dicha información técnica no es de su interés.<\/p><p>Por ello este campo le permite ajustar el número máximo de peticiones HTTP recientes que se van a registrar para una inspección ulterior.<\/p><p>Introduzca &ldquo;<code>0<\/code>&rdquo; para desactivar el registro detallado (con el consecuente ahorro de memoria de <i>uMatrix<\/i>).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message":"Actualizar", "message":"Actualizar",
"description":"" "description":""
}, },
"logAll": {
"message": "Todo",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Sin pestaña",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Pestaña actual",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Recargar contenido de la pestaña",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "expresiones de filtros",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "cookie eliminada: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "error al eliminar cookie: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "caché del navegador vaciado",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "recurso actualizado: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Alternar el filtrado del registro de peticiones",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filtrar contenido",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Alternar el panel emergente",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: Registro de peticiones",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Borrar el registro de peticiones",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pausar registro de peticiones (descarta todos los datos entrantes)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Continuar con el registro de peticiones",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Opciones de filtrado del registro de peticiones",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "No",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "bloqueado",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "petición del dominio",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "petición de tercero",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Detalles",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Contexto",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Tipo de petición",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Tipo",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Regla",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Las entradas del registro de peticiones que no cumplan las tres condiciones a continuación se descartarán automáticamente:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Conservar entradas de los últimos {{input}} minutos",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Conservar como máximo {{input}} cargas de página por pestaña",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Conservar como máximo {{input}} entradas por pestaña",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Usar {{input}} líneas por entrada en modo expandido verticalmente",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "Lista",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Tabla",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Sin formato",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message": "nuTensor &ndash; Configuración", "message":"uMatrix &ndash; Configuración",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message": "Matriz", "message":"Apariencia",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message":"Tamaño del texto:", "message":"Tamaño del texto:",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "Mostrar el número de peticiones bloqueadas en el icono", "message":"Normal",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"Grande",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
@ -455,68 +271,68 @@
"message":"Comodidad", "message":"Comodidad",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "Nivel de entorno predeterminado:", "message":"Al cerrar la matriz, hacer recarga inteligente de las siguientes pestañas:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "Global", "message":"Ninguna",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "Dominio", "message":"Actuales",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "Sitio", "message":"Todas",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "Ocultar marcadores de posición de los elementos bloqueados", "message":"Cada vez que se hagan cambios en la matriz que puedan afectar la visualización y\/o el comportamiento de una o más páginas, <i>uMatrix<\/i> recargará automáticamente las páginas afectadas una vez se cierre la matriz.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "Ocultar marcadores de posición de los elementos en la lista negra", "message":"<i>Frames<\/i> bloqueados:&ensp;Color",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "Falsificar etiquetas <code><noscript></code> cuando se bloquean scripts del dominio", "message":"Opacidad",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "Habilitar almacenamiento en la nube", "message":"Mostrar el número de peticiones distintas en el icono",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "Deshabilitar las descripciones emergentes", "message":"Colapsar marcadores de posición de los elementos bloqueados",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message": "nuTensor &ndash; Privacidad", "message":"uMatrix &ndash; Privacidad",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
"message": "Eliminar cookies bloquedas", "message":"Eliminar <i>cookies<\/i> bloquedas.",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p><i>nuTensor</i> no previene la entrada al navegador de cookies en la lista negra, pero sí su salida, que es lo que realmente importa. El hecho de no bloquear las cookies antes de su entrada, da la oportunidad de saber si un sitio intenta usar cookies, e inspeccionar su contenido si se desea.</p><p>Una vez que tales cookies han sido detectadas por <i>nuTensor</i>, las mismas pueden ser eliminadas del navegador si lo decide.</p><p><b>Nota importante:</b> Las extensiones pueden hacer peticiones web como parte de su normal operación. Estas peticiones pueden resultar en la creación de cookies dentro del navegador. Si el nombre de dominio del cual se generó la cookie no está en la lista de permitidos, la cookie será eliminada por <i>nuTensor</i> mientras esta opción esté activa. Así que asegúrese de permitir los nombres de dominio con los cuales se comunica una extensión determinada.</p>", "message":"<p><i>uMatrix<\/i> no previene la entrada al navegador de <i>cookies<\/i> en la lista negra, pero sí su salida, que es lo que realmente importa. El hecho de no bloquear las <i>cookies<\/i> antes de su entrada, da la oportunidad de saber si un sitio intenta usar <i>cookies<\/i>, e inspeccionar su contenido si se desea.<\/p><p>Una vez que tales <i>cookies<\/i> han sido detectadas por <i>uMatrix<\/i>, las mismas pueden ser eliminadas del navegador si lo decide.<\/p><p><b>Nota importante:<\/b> Las extensiones pueden hacer peticiones web como parte de su normal operación. Estas peticiones pueden resultar en la creación de <i>cookies<\/i> dentro del navegador. Si el nombre de <i>host<\/i> a partir del cual se generó la <i>cookie<\/i> no está en la lista de permitidos, la <i>cookie<\/i> será eliminada por <i>uMatrix<\/i> mientras esta opción esté activa. Así que asegúrese de permitir los nombres de <i>host<\/i> con los cuales se comunica una extensión determinada.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
"message": "Eliminar las cookies de sesión no bloqueadas ", "message":"Elimina las <i>cookies<\/i> de sesión no bloqueadas ",
"description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt2":{ "privacyDeleteNonBlockedSessionCookiesPrompt2":{
"message": " minutos a partir de la última vez que fueron usadas", "message":" minutos a partir de la última vez que fueron usadas.",
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;Una cookie de sesión ... es eliminada una vez usted termina la sesión del navegador. La cookie de sesión es almacenada en la memoria temporal y no está disponible luego de cerrar el navegador.&rdquo;</p><p>Excepto que esto <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>pudiera no estar sucediendo así</a> cuando se usa un navegador basado en Chromium. Además, cerrar el navegador para limpiar las cookies de sesión quizás no sea lo suficientemente rápido para algunos.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;Una <i>cookie<\/i> de sesión ... es eliminada una vez usted termina la sesión del navegador. La <i>cookie<\/i> de sesión es almacenada en la memoria temporal y no está disponible luego de cerrar el navegador.&rdquo;<\/p><p>Excepto que esto <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>pudiera no estar sucediendo así<\/a> cuando se usa un navegador basado en Chromium. Además, cerrar el navegador para limpiar las <i>cookies<\/i> de sesión quizás no sea lo suficientemente rápido para algunos.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "Eliminar contenido de los nombres de dominio bloqueados <a href='https://en.wikipedia.org/wiki/Web_storage'>almacenado localmente</a>", "message":"Eliminar contenido de los nombres de dominio bloqueados <a href='https:\/\/en.wikipedia.org\/wiki\/Web_storage'>almacenado localmente<\/a>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
@ -528,35 +344,55 @@
"description":"First part of 'Clear browser cache every [n] minutes'" "description":"First part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCachePrompt2":{ "privacyClearCachePrompt2":{
"message": "minutos", "message":"minutos.",
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Algunos sitios web están tan enfocados en rastrearle, que usarán ciertos trucos bastantes sucios para burlar cualquier medida que se tome para evitar ser rastreado.</p><p>Unos cuantos de estos trucos se basan<sup style='font-size:smaller'>[1, 2]</sup> en la <a href='https://es.wikipedia.org/wiki/Cach%C3%A9_web'>caché del navegador</a>, cuyo contenido como norma es perdurable, ya que raramente los usuarios se toman el trabajo de limpiarlo de forma regular.</p><p>Limpiar la caché de manera regular es bastante fácil (probablemente ni siquiera lo perciba cuando ocurra), con el beneficio de impedir a estos molestos rastreadores invadir tu privacidad.</p><p>Active esta opción para que <i>nuTensor</i> lo haga por usted, en el intervalo deseado.</p><p style='font-size:smaller'>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a><br>[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>", "message":"<p>Algunos sitios web están tan enfocados en rastrearle, que usarán ciertos trucos bastantes sucios para burlar cualquier medida que se tome para evitar ser rastreado.<\/p><p>Unos cuantos de estos trucos se basan<sup style='font-size:smaller'>[1, 2]<\/sup> en la <a href='https:\/\/es.wikipedia.org\/wiki\/Cach%C3%A9_web'>caché del navegador<\/a>, cuyo contenido como norma es perdurable, ya que raramente los usuarios se toman el trabajo de limpiarlo de forma regular.<\/p><p>Limpiar la caché de manera regular es bastante fácil (probablemente ni siquiera lo perciba cuando ocurra), con el beneficio de impedir a estos molestos rastreadores invadir su privacidad.<\/p><p>Active esta opción para que <i>uMatrix<\/i> lo haga por usted, en el intervalo deseado.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Cookieless cookies&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "Falsificar cadenas <a href='https://es.wikipedia.org/wiki/Referer_%28Cabecera_HTTP%29'>HTTP referer</a> en las peticiones de terceros", "message":"Falsificar información del <a href='https:\/\/es.wikipedia.org\/wiki\/Referer_%28Cabecera_HTTP%29'>HTTP referer<\/a> en las peticiones a nombres de dominios de terceros.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "Según Wikipedia:<blockquote>Un HTTP referer identifica la dirección de la página web (es decir, la URI o IRI) que creó el vínculo con el recurso que está siendo solicitado. ... <b>Esto desata preocupaciones en cuanto a la privacidad, y como resultado, se han desarrollado un cierto número de sistemas para prevenir que los servidores web envíen la URL real.</b></blockquote>Si se selecciona esta opción, <i>nuTensor</i> falsificará la información del HTTP referer si el nombre de dominio del HTTP referer no concuerda con el nombre de dominio de la URL pedida (o sea, el creador del vínculo es un tercero respecto a la página web).", "message":"<p>Según Wikipedia:<\/p><blockquote>Un HTTP referer... identifica la dirección de la página web (es decir, la URI o IRI) que creó el vínculo con el recurso que está siendo solicitado. ... <b>Esto desata preocupaciones en cuanto a la privacidad, y como resultado... algunos navegadores web otorgan a sus usuarios la opción de eliminar el campo referer del encabezado de su solicitud.<\/b><\/blockquote><p>Si se selecciona esta opción, <i>uMatrix<\/i> falsificará la información del HTTP referer si el nombre de dominio del HTTP referer no concuerda con el nombre de dominio de la URL pedida (o sea, el creador del vínculo es un tercero respecto a la página web).<\/p>",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
"message": "HTTPS estricto: prohibir contenido mixto", "message":"HTTPS estricto: prohibir contenido mixto.",
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>Según <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p><blockquote>Si [una] página HTTPS incluye contenido que se obtiene a través de HTTP regular, entonces la conexión está solo parcialmente encriptada: el contenido no encriptado puede ser leído mediante sniffers y modificado por ataques tipo \"man-in-the-middle\", lo que hace que la conexión ya no sea segura. Una página web que exhiba este comportamiento, se considera una página de contenido mixto.</blockquote>", "message":"<p>Según <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a>:<\/p><blockquote>Si [una] página HTTPS incluye contenido que se obtiene a través de HTTP regular, entonces la conexión está solo parcialmente encriptada: el contenido no encriptado puede ser leído mediante sniffers y modificado por ataques tipo \"man-in-the-middle\", lo que hace que la conexión ya no sea segura. Una página web que exhiba este comportamiento, se considera una página de contenido mixto.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "Bloquear todos los intentos de <a href='http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#hyperlink-auditing'>auditoría de hipervínculos</a>", "message":"Bloquear todos los intentos de <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>auditoría de hipervínculos<\/a>.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>La auditoría de hipervínculos o enlaces es un mecanismo que permite a alguien, <b>cualquiera</b>, ser informado acerca de a que enlace accedió un usuario en una página web particular. Es esencialmente un mecanismo de rastreo: permite a un sitio web, o cualquier tercero, ser informado sobre cuales enlaces, en cuales páginas, fueron accedidos por el usuario. Su único motivo es rastrear la actividad de navegación del usuario.</p>", "message":"<p>La auditoría de hipervínculos o enlaces es un mecanismo que permite a alguien, <b>cualquiera<\/b>, ser informado acerca de a que enlace accedió un usuario en una página web particular. Es esencialmente un mecanismo de rastreo: permite a un sitio web, o a un tercero, ser informado sobre cuales enlaces, en cuales páginas, fueron accedidos por el usuario. Su único motivo es rastrear la actividad de navegación del usuario.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Falsificar cadena <a href='https:\/\/es.wikipedia.org\/wiki\/Agente_de_usuario'>User-Agent<\/a>, escogiendo una de éstas al azar cada",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"minutos.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>Según la <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] su navegador envía un encabezado &lsquo;User Agent&rsquo; al sitio web, estableciendo de manera precisa que combinación de sistema operativo y navegador está usando. Esto puede ayudar a diferenciar los usuarios en Internet, pues esta información varía a menudo considerablemente de un usuario a otro. [...] <b>la cadena User Agent se convierte en un verdadero problema de privacidad<\/b>.&rdquo;<p>Esta opción le permite resolver este problema puesto de relieve por la EFF.<\/p><p>Usted puede suministrar su propia lista de cadenas <i>user agent<\/i>. Una cadena por línea. Las líneas en blanco o con prefijo &lsquo;#&rsquo; serán ignoradas.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Chromium: peticiones entre bambalinas (behind-the-scene)",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"<p>Según <a href='https:\/\/www.google.com\/intl\/es\/chrome\/browser\/privacy\/whitepaper.html'>Google Chrome Privacy Whitepaper<\/a>, <i>Chromium<\/i> podría enviar peticiones HTTP a <i>Google<\/i> sin que el usuario visite expresamente una página web. Estas <strong>peticiones ocultas o behind-the-scene<\/strong> también pueden ser enviadas por otras extensiones instaladas en el navegador.<\/p><p><i>uMatrix<\/i> le permite interceptar este tipo de peticiones y tratarlas como cualquier otra petición normal: permitirlas o no de acuerdo a la lista negra o lista de sitios aprobados.<\/p><p>Para comenzar, haga clic en el icono de la extensión mientras se encuentra en esta página. Lectura requerida (en inglés): <a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Behind-the-scene-requests'>Behind-the-scene requests<\/a>.<\/p><div class='warn'><p><span style='color:red; font-weight:bold'>¡Cuidado!<\/span> Bloquear las peticiones tipo <strong>behind-the-scene<\/strong> puede potencialmente provocar <a href='https:\/\/github.com\/gorhill\/httpswitchboard\/issues\/27'>un problema<\/a> cuando el usuario desea instalar una extensión desde \"Chrome store\" (o incluso quizá impedir la actualización de extensiones), por lo que se ofrece la posibilidad de deshabilitar esta característica. El bloqueo también puede causar el mal funcionamiento de otras extensiones ya instaladas (aquellas que solicitan datos remotos).<\/p><p>Incluso si esta característica se encuentra deshabilitada, las peticiones <strong>behind-the-scene<\/strong> serán registradas por <i>uMatrix<\/i>. Puede inspeccionar estas peticiones en la página <a href='dashboard.html#statistics'>Estadísticas<\/a>.<\/p>",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
@ -600,23 +436,19 @@
"description":"" "description":""
}, },
"userRulesDefaultFileName":{ "userRulesDefaultFileName":{
"message": "umatrix-mis-reglas.txt", "message":"my-umatrix-rules.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "Archivos hosts",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message": "Todos los nombres de dominio en un archivo hosts son cargados como nombres de dominio en la lista negra de manera global.", "message":"Todos los nombres de dominio en un fichero <i>hosts<\/i> son cargados como nombres de dominio en lista negra de manera global.",
"description":"" "description":""
}, },
"hostsFilesStats":{ "hostsFilesStats":{
"message": "{{blockedHostnameCount}} nombres de dominio bloqueados a partir de:", "message":"{{blockedHostnameCount}} nombres de dominios únicos bloqueados a partir de:",
"description":"" "description":""
}, },
"hostsFilesPerFileStats":{ "hostsFilesPerFileStats":{
"message": "{{used}} utilizados de {{total}}", "message":"{{used}} usados de un total de {{total}}",
"description":"" "description":""
}, },
"hostsFilesLastUpdate":{ "hostsFilesLastUpdate":{
@ -628,7 +460,7 @@
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "Actualizar automáticamente los recursos", "message":"Actualización automática de ficheros <i>hosts<\/i>.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -640,7 +472,7 @@
"description":"" "description":""
}, },
"hostsFilesExternalListsHint":{ "hostsFilesExternalListsHint":{
"message": "Importar recursos externos aquí: \nUna URL por línea. Las URL inválidas serán ignoradas.", "message":"Una URL por línea. Las línes con prefijo &lsquo;#&rsquo; serán ignoradas. Las URL inválidas serán ignoradas de manera silenciosa.",
"description":"" "description":""
}, },
"hostsFilesExternalListsParse":{ "hostsFilesExternalListsParse":{
@ -648,7 +480,7 @@
"description":"" "description":""
}, },
"hostsFilesExternalListPurge":{ "hostsFilesExternalListPurge":{
"message": "vaciar memoria caché", "message":"vaciar caché",
"description":"" "description":""
}, },
"hostsFilesExternalListNew":{ "hostsFilesExternalListNew":{
@ -659,32 +491,8 @@
"message":"desactualizado", "message":"desactualizado",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "Plantillas de conjunto de reglas",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Las plantillas de conjunto de reglas se importan desde el panel emergente <em>bajo demanda</em>, ej. <b>solo</b> mediante una acción del usuario.",
"description": ""
},
"assetsImportLabel": {
"message": "Importar...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "Mis hosts",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "Mis plantillas",
"description": ""
},
"rawSettingsWarning": {
"message": "¡Atención! Cambie estas configuraciones bajo tu propio riesgo.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Registro de cambios</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>Registro de cambios<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
@ -692,11 +500,11 @@
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Documentación</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Documentación<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki/Permissions'>Permisos</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>Permisos<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
@ -704,8 +512,8 @@
"description":"" "description":""
}, },
"aboutIssues":{ "aboutIssues":{
"message": "Registro de problemas", "message":"Errores y problemas",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message":"Colaboradores", "message":"Colaboradores",
@ -724,7 +532,7 @@
"description":"" "description":""
}, },
"aboutUserDataHeader":{ "aboutUserDataHeader":{
"message": "Tus datos", "message":"Sus datos",
"description":"" "description":""
}, },
"aboutBackupButton":{ "aboutBackupButton":{
@ -732,7 +540,7 @@
"description":"" "description":""
}, },
"aboutBackupFilename":{ "aboutBackupFilename":{
"message": "umatrix-mi-respaldo.txt", "message":"my-umatrix-backup.txt",
"description":"default filename to use" "description":"default filename to use"
}, },
"aboutRestoreButton":{ "aboutRestoreButton":{
@ -740,7 +548,7 @@
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "Toda la configuración se sobrescribirá utilizando datos respaldados en {{time}} y nuTensor se reiniciará.\n\n¿Sobrescribir toda la configuración existente utilizando los datos de respaldo?", "message":"Todos sus ajustes serán sobrescritos usando los datos respaldados en {{time}}, y uMatrix se reiniciará.\n\n¿Sobrescribir todos los ajustes actuales usando los datos de respaldo?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
@ -756,23 +564,43 @@
"description":"English: Reset to default settings" "description":"English: Reset to default settings"
}, },
"aboutResetConfirm":{ "aboutResetConfirm":{
"message": "¡Atención! Esto borrará todas tus configuraciones personalizadas. ¿Seguro desea continuar?", "message":"Atención! Esto eliminará todos sus ajustes personalizados. ¿Seguro desea continuar?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"filtro(s)",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"falsificar cadena User-Agent con: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"cookie eliminada: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"fallo intentando eliminar cookie: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"vaciada caché del navegador",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"recurso actualizado: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor impidió la carga de la página:", "message":"uMatrix previno la carga de la siguiente página:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message": "Como resultado de la siguiente regla:", "message":"de acuerdo con la regla",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "sin parámetros",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message": "Regresar", "message":"Ir atrás",
"description":"English: Go back" "description":"English: Go back"
}, },
"mainBlockedClose":{ "mainBlockedClose":{
@ -792,7 +620,7 @@
"description":"" "description":""
}, },
"commandOpenDashboard":{ "commandOpenDashboard":{
"message": "Abrir panel de control", "message":"Abrir Panel de control",
"description":"" "description":""
}, },
"elapsedOneMinuteAgo":{ "elapsedOneMinuteAgo":{
@ -824,43 +652,11 @@
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"showLoggerButton":{ "showLoggerButton":{
"message": "Registro de peticiones", "message":"Registro",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Exportar datos a la nube",
"description": "tooltip"
},
"cloudPull": {
"message": "Importar datos de la nube",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "Nombre de este dispositivo:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Enviar",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Revertir",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"Error de red: Imposible conectar con {{url}}", "message":"Error de red: Imposible conectar con {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Aplicar cambios",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copiar al portapapeles",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

@ -1,20 +1,16 @@
{ {
"extName":{ "extName":{
"message": "nuTensor", "message":"µMatrix",
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "Suuna ja klõpsa, et keelata/lubada veebilehitseja kõiki päringud. Sellega saab keelata skripte, iframe-e, reklaame, facebook'i jne.", "message":"Point & click to forbid\/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message": "nuTensor — Töölaud", "message":"µMatrix — Esilehekülg",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — Logija",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message":"Seaded", "message":"Seaded",
"description":"a tab in dashboard" "description":"a tab in dashboard"
@ -32,11 +28,7 @@
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "Vahendid", "message":"Host-failid",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "Rohkem",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
@ -59,20 +51,16 @@
"message":"pilt", "message":"pilt",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"mediaPrettyName": {
"message": "meedia",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"pluginPrettyName":{ "pluginPrettyName":{
"message": "meedia", "message":"pistikprogramm",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"scriptPrettyName":{ "scriptPrettyName":{
"message":"skript", "message":"skript",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
@ -87,16 +75,8 @@
"message":"Selle kaardi kohta pole veel netiliiklust näha.", "message":"Selle kaardi kohta pole veel netiliiklust näha.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Select a local scope to see/create rules which apply only in that scope",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Select the global scope to see/create rules which apply everywhere",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "Selle määratluse puhul keela/luba maatriksiline filtreerimine.\nMaatriksilise filtreerimise blokeeritud ühendused selles portaalis: {{count}}.", "message":"Selle määratluse puhul keela\/luba maatriksiline filtreerimine.\nMaatriksilise filtreerimise blokeeritud ühendused selles portaalis: {{count}}.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
@ -120,51 +100,31 @@
"description":"Appears in the metadata row of bottom-most group: **mind the limited width**" "description":"Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent":{ "matrixSwitchNoMixedContent":{
"message": "Keela segatud sisu", "message":"Range HTTPS",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Keela veebitöötajad", "message":"Kasutajaagendi ninanips",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message":"Viitaja narritamine", "message":"Viitaja narritamine",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoscriptSpoof": {
"message": "Narrita <code><noscript></code> märksõnu",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Reveal canonical names",
"description": "A menu entry in the matrix popup"
},
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
"message": "Taasta kõik ajutised muudatused", "message":"Revert all temporary changes",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixLoggerMenuEntry":{ "matrixLoggerMenuEntry":{
"message": "Mine logijasse", "message":"Go to logger",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixDashboardMenuEntry":{ "matrixDashboardMenuEntry":{
"message": "Mine esilehele", "message":"Go to dashboard",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "Lehekülge ei leitud",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Impordi reeglid",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Salvesta reeglid",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message": "nuTensor&#x27;i &ndash; statistika", "message":"µMatrix &ndash; statistika",
"description":"" "description":""
}, },
"statsPageGenericStats":{ "statsPageGenericStats":{
@ -172,31 +132,31 @@
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "<a href='https://et.wikipedia.org/wiki/HTTP-k%C3%BCpsis'>HTTP-küpsise</a> tõrjutud päiseid: {{count}}", "message":"<a href='https:\/\/et.wikipedia.org\/wiki\/HTTP-k%C3%BCpsis'>HTTP-küpsise<\/a> tõrjutud päismik: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referer</a>'i tõrjutud päiseid: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referer<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hüperlingi kontrolli</a> tõrjumiste arv: {{count}}", "message":"<a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink auditing<\/a> attempts foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
"message": "Kohalikke küpsiseid eemaldatud: {{count}}", "message":"Local cookies removed: {{count}}",
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "<a href='http://diveintohtml5.info/storage.html'>Kohalikke mälusid</a> tühjendatud: {{count}}", "message":"<a href='http:\/\/diveintohtml5.info\/storage.html'>Local storages<\/a> emptied: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
"message": "Veebilehe vahemälu tühjendatud: {{count}}", "message":"Browser caches cleared: {{count}}",
"description":"" "description":""
}, },
"statsPageDetailedStats":{ "statsPageDetailedStats":{
"message": "Üksikasjalik statistika", "message":"Detailed statistics",
"description":"" "description":""
}, },
"statsPageDetailedAllPages":{ "statsPageDetailedAllPages":{
@ -204,35 +164,35 @@
"description":"" "description":""
}, },
"statsPageDetailedBehindTheScenePage":{ "statsPageDetailedBehindTheScenePage":{
"message": "Peidetud päringud", "message":"Behind the scene",
"description":"" "description":""
}, },
"statsPageOverview":{ "statsPageOverview":{
"message": "Ülevaade", "message":"Overview",
"description":"" "description":""
}, },
"statsPageRequests":{ "statsPageRequests":{
"message": "Päringud", "message":"Requests",
"description":"header for the stat type column" "description":"header for the stat type column"
}, },
"statsPageAllowed":{ "statsPageAllowed":{
"message": "Lubatud", "message":"Allowed",
"description":"header for the allowed requests column" "description":"header for the allowed requests column"
}, },
"statsPageBlocked":{ "statsPageBlocked":{
"message": "Blokeeritud", "message":"Blocked",
"description":"header for the blocked requests column" "description":"header for the blocked requests column"
}, },
"statsPageAll":{ "statsPageAll":{
"message": "Kõik", "message":"All",
"description":"" "description":""
}, },
"statsPagePages":{ "statsPagePages":{
"message": "Leheküljed", "message":"Pages",
"description":"" "description":""
}, },
"statsPageCookies":{ "statsPageCookies":{
"message": "Küpsised", "message":"Cookies",
"description":"" "description":""
}, },
"statsPageCSS":{ "statsPageCSS":{
@ -240,267 +200,123 @@
"description":"" "description":""
}, },
"statsPageImages":{ "statsPageImages":{
"message": "Pildid", "message":"Images",
"description":"" "description":""
}, },
"statsPagePlugins":{ "statsPagePlugins":{
"message": "Pluginad", "message":"Plugins",
"description":"" "description":""
}, },
"statsPageScripts":{ "statsPageScripts":{
"message": "Skriptid", "message":"Scripts",
"description":"" "description":""
}, },
"statsPageXHRs":{ "statsPageXHRs":{
"message": "XHRid", "message":"XHRs",
"description":"" "description":""
}, },
"statsPageFrames":{ "statsPageFrames":{
"message": "Raamid", "message":"Frames",
"description":"" "description":""
}, },
"statsPageOthers":{ "statsPageOthers":{
"message": "Muud", "message":"Others",
"description":"" "description":""
}, },
"statsPageDetailed":{ "statsPageDetailed":{
"message": "Logija", "message":"Logger",
"description":"" "description":""
}, },
"statsPageLogSizePrompt1":{ "statsPageLogSizePrompt1":{
"message": "Mäleta viimast", "message":"Remember the last",
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "HTTP päringut <b>lehekülje kaupa</b>.", "message":"HTTP requests <b>per page<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).</p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.</p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.</p><p>Enter &ldquo;<code>0</code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>nuTensor</i>).</p>", "message":"<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).<\/p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.<\/p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.<\/p><p>Enter &ldquo;<code>0<\/code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>uMatrix<\/i>).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message": "Värskenda", "message":"Refresh",
"description":"" "description":""
}, },
"logAll": {
"message": "All",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Tabless",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Current tab",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Reload the tab content",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "filter expression(s)",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "cookie deleted: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "failed to delete cookie: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "browser cache cleared",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "asset updated: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: The logger",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Clear logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pause logger (discard all incoming data)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Unpause logger",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Logger filtering options",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Not",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "blocked",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "1st-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "3rd-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Details",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Context",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Rule",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Preserve entries from the last {{input}} minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Preserve at most {{input}} entries per tab",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Use {{input}} lines per entry in vertically expanded mode",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "List",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Table",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Plain",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message": "nuTensor&#x27;i &ndash; seaded", "message":"uMatrix &ndash; Settings",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message": "Maatriks", "message":"Appearance",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message": "Teksti suurus:", "message":"Text size:",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "Kuva ikoonil blokeeritud ressursside arv", "message":"Normal",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"Large",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
"message": "Värvipimeduse-sõbralik", "message":"Color-blind friendly",
"description":"" "description":""
}, },
"settingsMatrixConvenienceHeader":{ "settingsMatrixConvenienceHeader":{
"message": "Mugavus", "message":"Convenience",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "Default scope level:", "message":"When the matrix is closed, smart reload these tabs:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "Üldine", "message":"None",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "Domeen", "message":"Current",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "Sait", "message":"All",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "Hide placeholder of blocked elements", "message":"Whenever you make changes in the matrix which can affect the display and\/or behavior of one or more pages, <i>uMatrix<\/i> will reload affected pages automatically when you close the matrix.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "Hide placeholder of blacklisted elements", "message":"Blocked frames:&ensp;Color",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "Spoof <code><noscript></code> tags when 1st-party scripts are blocked", "message":"Opacity",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "Luba pilve salvestamise tugi", "message":"Show the number of distinct requests on the icon",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "Keela näpunäited", "message":"Collapse placeholder of blocked elements",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message": "nuTensor&#x27;i &ndash; privaatsus", "message":"uMatrix &ndash; Privacy",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
"message": "Kustuta blokeeritud küpsised", "message":"Delete blocked cookies.",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p>Blacklisted cookies are not prevented by <i>nuTensor</i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.</p><p>Once these blacklisted cookies have been accounted for by <i>nuTensor</i>, they can be removed from your browser if you wish so.</p><p><b>Important note:</b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>nuTensor</i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.</p>", "message":"<p>Blacklisted cookies are not prevented by <i>uMatrix<\/i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.<\/p><p>Once these blacklisted cookies have been accounted for by <i>uMatrix<\/i>, they can be removed from your browser if you wish so.<\/p><p><b>Important note:<\/b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>uMatrix<\/i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
@ -508,19 +324,19 @@
"description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt2":{ "privacyDeleteNonBlockedSessionCookiesPrompt2":{
"message": " minutes after the last time they have been used", "message":" minutes after the last time they have been used.",
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;</p><p>Except that this <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>might not be happening</a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;<\/p><p>Except that this <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>might not be happening<\/a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "Delete <a href='https://en.wikipedia.org/wiki/Web_storage'>local storage</a> content set by blocked hostnames", "message":"Delete <a href='https:\/\/en.wikipedia.org\/wiki\/Web_storage'>local storage<\/a> content set by blocked hostnames",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
"message": "Vaja teha", "message":"TODO",
"description":"" "description":""
}, },
"privacyClearCachePrompt1":{ "privacyClearCachePrompt1":{
@ -528,71 +344,91 @@
"description":"First part of 'Clear browser cache every [n] minutes'" "description":"First part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCachePrompt2":{ "privacyClearCachePrompt2":{
"message": "minutit", "message":"minutes.",
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.</p><p>A few of these tricks rely<sup>[1, 2]</sup> on the <a href='https://en.wikipedia.org/wiki/Web_cache'>browser cache</a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.</p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.</p><p>Check this option to have <i>nuTensor</i> do it for you, at the interval you wish.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a>\n[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>", "message":"<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.<\/p><p>A few of these tricks rely<sup style='font-size:smaller'>[1, 2]<\/sup> on the <a href='https:\/\/en.wikipedia.org\/wiki\/Web_cache'>browser cache<\/a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.<\/p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.<\/p><p>Check this option to have <i>uMatrix<\/i> do it for you, at the interval you wish.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Cookieless cookies&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "Spoof <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referrer</a> string of third-party requests", "message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referrer<\/a> string of third-party requests.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "From Wikipedia:<blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.</b></blockquote>If this setting is checked, <i>nuTensor</i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.", "message":"<p>From Wikipedia:<\/p><blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.<\/b><\/blockquote><p>If this setting is checked, <i>uMatrix<\/i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
"message": "Range HTTPS: keela segatud sisu", "message":"Strict HTTPS: forbid mixed content.",
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>From <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.</blockquote>", "message":"<p>From <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a>:<\/p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "Block all <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>hyperlink auditing</a> attempts", "message":"Block all <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>hyperlink auditing<\/a> attempts.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>Hyperlink auditing is a mechanism which allow a party, <b>any party</b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.</p>", "message":"<p>Hyperlink auditing is a mechanism which allow a party, <b>any party<\/b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/User_agent'>User-Agent<\/a> string by randomly picking a new one below every",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"minutes.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>According to the <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] your browser sends a &lsquo;User Agent&rsquo; header to the website saying precisely which operating system and web browser you are using. This information could help distinguish Internet users from one another because these versions differ, often considerably, from person to person. [...] <b>the User Agent string becomes a real privacy problem<\/b>.&rdquo;<p>This option allows you to address the privacy issue raised by the EFF.<\/p><p>You can supply your own list of user agent strings. One string per line. Blank lines and lines prefixed with &lsquo;#&rsquo; will be ignored.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Behind-the-scene requests",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
"message": "Püsivad reeglid", "message":"Permanent rules",
"description":"" "description":""
}, },
"userRulesTemporaryHeader":{ "userRulesTemporaryHeader":{
"message": "Ajutised reeglid", "message":"Temporary rules",
"description":"" "description":""
}, },
"userRulesRevert":{ "userRulesRevert":{
"message": "Ennista", "message":"Revert",
"description":"Will remove all temporary rules" "description":"Will remove all temporary rules"
}, },
"userRulesCommit":{ "userRulesCommit":{
"message": "Sisesta", "message":"Commit",
"description":"Will save all temporary rules" "description":"Will save all temporary rules"
}, },
"userRulesEdit":{ "userRulesEdit":{
"message": "Muuda", "message":"Edit",
"description":"Will enable manual-edit mode (textarea)" "description":"Will enable manual-edit mode (textarea)"
}, },
"userRulesEditSave":{ "userRulesEditSave":{
"message": "Salvesta", "message":"Save",
"description":"Will save manually-edited content and exit manual-edit mode" "description":"Will save manually-edited content and exit manual-edit mode"
}, },
"userRulesEditDicard":{ "userRulesEditDicard":{
"message": "Loobu", "message":"Discard",
"description":"Will discard manually-edited content and exit manual-edit mode" "description":"Will discard manually-edited content and exit manual-edit mode"
}, },
"userRulesImport":{ "userRulesImport":{
"message": "Impordi failist...", "message":"Import from file...",
"description":"" "description":""
}, },
"userRulesExport":{ "userRulesExport":{
"message": "Ekspordi faili...", "message":"Export to file...",
"description":"" "description":""
}, },
"userRulesFormatHint":{ "userRulesFormatHint":{
@ -600,13 +436,9 @@
"description":"" "description":""
}, },
"userRulesDefaultFileName":{ "userRulesDefaultFileName":{
"message": "minu-umatrix-reeglid.txt", "message":"my-umatrix-rules.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "Hostifailid",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.", "message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.",
"description":"" "description":""
@ -624,31 +456,31 @@
"description":"English: Last update: {{ago}}, where 'ago' will be replaced with something like '2 days ago'" "description":"English: Last update: {{ago}}, where 'ago' will be replaced with something like '2 days ago'"
}, },
"hostsFilesApplyChanges":{ "hostsFilesApplyChanges":{
"message": "Rakenda muudatused", "message":"Apply changes",
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "Auto-update assets", "message":"Auto-update hosts files.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
"message": "Uuenda kohe", "message":"Update now",
"description":"" "description":""
}, },
"hostsFilesPurgeAll":{ "hostsFilesPurgeAll":{
"message": "Tühjenda kõik vahemälud", "message":"Purge all caches",
"description":"" "description":""
}, },
"hostsFilesExternalListsHint":{ "hostsFilesExternalListsHint":{
"message": "Import external assets here: \nOne URL per line; invalid URLs will be silently ignored.", "message":"One URL per line. Lines prefixed with &lsquo;#&rsquo; will be ignored. Invalid URLs will be silently ignored.",
"description":"" "description":""
}, },
"hostsFilesExternalListsParse":{ "hostsFilesExternalListsParse":{
"message": "Töötle", "message":"Parse",
"description":"" "description":""
}, },
"hostsFilesExternalListPurge":{ "hostsFilesExternalListPurge":{
"message": "tühjenda vahemälu", "message":"purge cache",
"description":"" "description":""
}, },
"hostsFilesExternalListNew":{ "hostsFilesExternalListNew":{
@ -659,32 +491,8 @@
"message":"outdated", "message":"outdated",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "Ruleset recipes",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Ruleset recipes are imported from the popup panel <em>on demand</em>, i.e. <b>only</b> through user interaction.",
"description": ""
},
"assetsImportLabel": {
"message": "Impordi...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "Minu hostid",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "Minu retseptid",
"description": ""
},
"rawSettingsWarning": {
"message": "Warning! Change these raw configuration settings at your own risk.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Muudatuste logi</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>Change log<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
@ -692,55 +500,55 @@
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Dokumentatsioon</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Documentation<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/gorhill/httpswitchboard/wiki/Permissions'>Õigused</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>Permissions<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
"message": "Lähtekood (GPLv3)", "message":"Source code (GPLv3)",
"description":"" "description":""
}, },
"aboutIssues":{ "aboutIssues":{
"message": "Vead ja probleemid", "message":"Bugs and issues",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message": "Toetajad", "message":"Contributors",
"description":"English: Contributors" "description":"English: Contributors"
}, },
"aboutCodeContributors":{ "aboutCodeContributors":{
"message": "Kood:", "message":"Code:",
"description":"" "description":""
}, },
"aboutIssueContributors":{ "aboutIssueContributors":{
"message": "Probleemid:", "message":"Issues:",
"description":"" "description":""
}, },
"aboutTranslationContributors":{ "aboutTranslationContributors":{
"message": "Tõlked:", "message":"Translations:",
"description":"" "description":""
}, },
"aboutUserDataHeader":{ "aboutUserDataHeader":{
"message": "Sinu andmed", "message":"Your data",
"description":"" "description":""
}, },
"aboutBackupButton":{ "aboutBackupButton":{
"message": "Varunda faili...", "message":"Backup to file...",
"description":"" "description":""
}, },
"aboutBackupFilename":{ "aboutBackupFilename":{
"message": "minu-umatrix-varundus.txt", "message":"my-umatrix-backup.txt",
"description":"default filename to use" "description":"default filename to use"
}, },
"aboutRestoreButton":{ "aboutRestoreButton":{
"message": "Taasta failist...", "message":"Restore from file...",
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "All your settings will be overwritten using data backed up on {{time}}, and nuTensor will restart.\n\nOverwrite all existing settings using backed up data?", "message":"All your settings will be overwritten using data backed up on {{time}}, and uMatrix will restart.\n\nOverwrite all existing settings using backed up data?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
@ -748,39 +556,59 @@
"description":"" "description":""
}, },
"aboutOr":{ "aboutOr":{
"message": "... või ...", "message":"... or ...",
"description":"English: ... or ..." "description":"English: ... or ..."
}, },
"aboutResetButton":{ "aboutResetButton":{
"message": "Lähtesta vaikeseadetele", "message":"Reset to default settings",
"description":"English: Reset to default settings" "description":"English: Reset to default settings"
}, },
"aboutResetConfirm":{ "aboutResetConfirm":{
"message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?", "message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"filter expression(s)",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"spoofing user agent with: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"cookie deleted: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"failed to delete cookie: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"browser cache cleared",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"asset updated: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor has prevented the following page from loading:", "message":"uMatrix has prevented the following page from loading:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message":"Because of the following rule", "message":"Because of the following rule",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "without parameters",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message": "Mine tagasi", "message":"Go back",
"description":"English: Go back" "description":"English: Go back"
}, },
"mainBlockedClose":{ "mainBlockedClose":{
"message": "Sulge", "message":"Close",
"description":"English: Close" "description":"English: Close"
}, },
"commandRevertAll":{ "commandRevertAll":{
"message": "Taasta kõik ajutised muudatused", "message":"Revert all temporary changes",
"description":"" "description":""
}, },
"commandWhitelistPageDomain":{ "commandWhitelistPageDomain":{
@ -796,71 +624,39 @@
"description":"" "description":""
}, },
"elapsedOneMinuteAgo":{ "elapsedOneMinuteAgo":{
"message": "minut tagasi", "message":"a minute ago",
"description":"English: a minute ago" "description":"English: a minute ago"
}, },
"elapsedManyMinutesAgo":{ "elapsedManyMinutesAgo":{
"message": "{{value}} minutit tagasi", "message":"{{value}} minutes ago",
"description":"English: {{value}} minutes ago" "description":"English: {{value}} minutes ago"
}, },
"elapsedOneHourAgo":{ "elapsedOneHourAgo":{
"message": "tund tagasi", "message":"an hour ago",
"description":"English: an hour ago" "description":"English: an hour ago"
}, },
"elapsedManyHoursAgo":{ "elapsedManyHoursAgo":{
"message": "{{value}} tundi tagasi", "message":"{{value}} hours ago",
"description":"English: {{value}} hours ago" "description":"English: {{value}} hours ago"
}, },
"elapsedOneDayAgo":{ "elapsedOneDayAgo":{
"message": "päev tagasi", "message":"a day ago",
"description":"English: a day ago" "description":"English: a day ago"
}, },
"elapsedManyDaysAgo":{ "elapsedManyDaysAgo":{
"message": "{{value}} päeva tagasi", "message":"{{value}} days ago",
"description":"English: {{value}} days ago" "description":"English: {{value}} days ago"
}, },
"showDashboardButton":{ "showDashboardButton":{
"message": "Töölaud", "message":"Dashboard",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"showLoggerButton":{ "showLoggerButton":{
"message": "Logija", "message":"Logger",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Export to cloud storage",
"description": "tooltip"
},
"cloudPull": {
"message": "Import from cloud storage",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "This device name:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Sisesta",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Ennista",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"Network error: Unable to connect to {{url}}", "message":"Network error: Unable to connect to {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Rakenda muudatused",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copy to clipboard",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

File diff suppressed because it is too large Load Diff

@ -1,54 +1,46 @@
{ {
"extName":{ "extName":{
"message": "nuTensor", "message":"uMatrix",
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "Osoita & klikkaa estääksesi/salliaksesi mitä tahansa selaimesi tekemiä luokan pyyntöjä. Käytä sitä komentosarjojen, iframesin, mainosten, facebookin -estämiseen jne.", "message":"Point & click to forbid\/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message": "nuTensor — Hallintapaneeli", "message":"uMatrix — Dashboard",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — Logger",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message": "Asetukset", "message":"Settings",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"privacyPageName":{ "privacyPageName":{
"message": "Yksityisyys", "message":"Privacy",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"statsPageName":{ "statsPageName":{
"message": "Tilastot", "message":"Statistics",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"userRulesPageName":{ "userRulesPageName":{
"message": "Omat säännöt", "message":"My rules",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "Assets", "message":"Hosts files",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "Lisää",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
"message": "Tietoja", "message":"About",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"allPrettyName":{ "allPrettyName":{
"message": "kaikki", "message":"all",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"cookiePrettyName":{ "cookiePrettyName":{
"message": "keksi", "message":"cookie",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"cssPrettyName":{ "cssPrettyName":{
@ -56,131 +48,99 @@
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"imagePrettyName":{ "imagePrettyName":{
"message": "kuva", "message":"image",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"mediaPrettyName": {
"message": "A/V-media",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"pluginPrettyName":{ "pluginPrettyName":{
"message": "lisäosa", "message":"plugin",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"scriptPrettyName":{ "scriptPrettyName":{
"message": "komentosarja", "message":"script",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
"message": "kehys", "message":"frame",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"otherPrettyName":{ "otherPrettyName":{
"message": "muut", "message":"other",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"matrixNoNetTrafficPrompt":{ "matrixNoNetTrafficPrompt":{
"message": "Ei dataliikennettä havaittu tällä välilehdellä vielä.", "message":"No net traffic seen for this tab so far.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Select a local scope to see/create rules which apply only in that scope",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Select the global scope to see/create rules which apply everywhere",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "Poista käytöstä/ota käyttöön matrix suodatus tälle alueelle.", "message":"Disable\/enable matrix filtering for this scope.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
"message": "Tallenna kaikki väliaikaiset muutokset tälle alueelle.", "message":"Save all temporary changes for this scope.",
"description":"Tool tip for the persist button" "description":"Tool tip for the persist button"
}, },
"matrixRevertButtonTip":{ "matrixRevertButtonTip":{
"message": "Palauta tilapäiset muutoksia tälle alueelle.", "message":"Revert temporary changes for this scope.",
"description":"Tool tip for the revert local permission button" "description":"Tool tip for the revert local permission button"
}, },
"matrixReloadButton":{ "matrixReloadButton":{
"message": "Lataa sivu uudelleen.", "message":"Reload the page.",
"description":"Tool tip for the reload button" "description":"Tool tip for the reload button"
}, },
"matrix1stPartyLabel":{ "matrix1stPartyLabel":{
"message": "1. osapuoli", "message":"1st-party",
"description":"1st-party" "description":"1st-party"
}, },
"matrixBlacklistedHostnames":{ "matrixBlacklistedHostnames":{
"message": "{{count}} mustalistatut isäntänimet", "message":"{{count}} blacklisted hostname(s)",
"description":"Appears in the metadata row of bottom-most group: **mind the limited width**" "description":"Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent":{ "matrixSwitchNoMixedContent":{
"message": "Tiukka HTTPS", "message":"Strict HTTPS",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Forbid web workers", "message":"User agent spoofing",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message": "Spoof <code>Referer</code> header", "message":"Referrer spoofing",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoscriptSpoof": {
"message": "Spoof <code><noscript></code> tags",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Reveal canonical names",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
"message": "Kumoa kaikki väliaikaiset muutokset", "message":"Revert all temporary changes",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixLoggerMenuEntry":{ "matrixLoggerMenuEntry":{
"message": "Siirry lokiin", "message":"Go to logger",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixDashboardMenuEntry":{ "matrixDashboardMenuEntry":{
"message": "Siirry hallintapaneeliin", "message":"Go to dashboard",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "No web page found",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Import rules",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Tallenna säännöt",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message": "nuTensor &ndash; Tilastot", "message":"uMatrix &ndash; Statistics",
"description":"" "description":""
}, },
"statsPageGenericStats":{ "statsPageGenericStats":{
"message": "Yleiset tilastot", "message":"Generic statistics",
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_cookie'>HTTP cookie</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_cookie'>HTTP cookie<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referer</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referer<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hyperlink auditing</a> attempts foiled: {{count}}", "message":"<a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink auditing<\/a> attempts foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
@ -188,7 +148,7 @@
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "<a href='http://diveintohtml5.info/storage.html'>Local storages</a> emptied: {{count}}", "message":"<a href='http:\/\/diveintohtml5.info\/storage.html'>Local storages<\/a> emptied: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
@ -196,11 +156,11 @@
"description":"" "description":""
}, },
"statsPageDetailedStats":{ "statsPageDetailedStats":{
"message": "Yksityiskohtaiset tilastot", "message":"Detailed statistics",
"description":"" "description":""
}, },
"statsPageDetailedAllPages":{ "statsPageDetailedAllPages":{
"message": "Kaikki", "message":"All",
"description":"" "description":""
}, },
"statsPageDetailedBehindTheScenePage":{ "statsPageDetailedBehindTheScenePage":{
@ -208,31 +168,31 @@
"description":"" "description":""
}, },
"statsPageOverview":{ "statsPageOverview":{
"message": "Yhteenveto", "message":"Overview",
"description":"" "description":""
}, },
"statsPageRequests":{ "statsPageRequests":{
"message": "Pyynnöt", "message":"Requests",
"description":"header for the stat type column" "description":"header for the stat type column"
}, },
"statsPageAllowed":{ "statsPageAllowed":{
"message": "Sallittu", "message":"Allowed",
"description":"header for the allowed requests column" "description":"header for the allowed requests column"
}, },
"statsPageBlocked":{ "statsPageBlocked":{
"message": "Estetty", "message":"Blocked",
"description":"header for the blocked requests column" "description":"header for the blocked requests column"
}, },
"statsPageAll":{ "statsPageAll":{
"message": "Kaikki", "message":"All",
"description":"" "description":""
}, },
"statsPagePages":{ "statsPagePages":{
"message": "Sivut", "message":"Pages",
"description":"" "description":""
}, },
"statsPageCookies":{ "statsPageCookies":{
"message": "Evästeet", "message":"Cookies",
"description":"" "description":""
}, },
"statsPageCSS":{ "statsPageCSS":{
@ -240,15 +200,15 @@
"description":"" "description":""
}, },
"statsPageImages":{ "statsPageImages":{
"message": "Kuvat", "message":"Images",
"description":"" "description":""
}, },
"statsPagePlugins":{ "statsPagePlugins":{
"message": "Laajennukset", "message":"Plugins",
"description":"" "description":""
}, },
"statsPageScripts":{ "statsPageScripts":{
"message": "Komentosarjat", "message":"Scripts",
"description":"" "description":""
}, },
"statsPageXHRs":{ "statsPageXHRs":{
@ -256,11 +216,11 @@
"description":"" "description":""
}, },
"statsPageFrames":{ "statsPageFrames":{
"message": "Kehykset", "message":"Frames",
"description":"" "description":""
}, },
"statsPageOthers":{ "statsPageOthers":{
"message": "Muut", "message":"Others",
"description":"" "description":""
}, },
"statsPageDetailed":{ "statsPageDetailed":{
@ -268,183 +228,39 @@
"description":"" "description":""
}, },
"statsPageLogSizePrompt1":{ "statsPageLogSizePrompt1":{
"message": "Muista viimeiset", "message":"Remember the last",
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "HTTP pyyntöä <b>sivua kohden</b>.", "message":"HTTP requests <b>per page<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).</p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.</p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.</p><p>Enter &ldquo;<code>0</code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>nuTensor</i>).</p>", "message":"<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).<\/p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.<\/p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.<\/p><p>Enter &ldquo;<code>0<\/code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>uMatrix<\/i>).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message": "Päivitä", "message":"Refresh",
"description":"" "description":""
}, },
"logAll": {
"message": "All",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Tabless",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Current tab",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Reload the tab content",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "filter expression(s)",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "cookie deleted: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "failed to delete cookie: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "browser cache cleared",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "asset updated: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: The logger",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Clear logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pause logger (discard all incoming data)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Unpause logger",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Logger filtering options",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Not",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "blocked",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "1st-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "3rd-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Details",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Context",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Rule",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Preserve entries from the last {{input}} minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Preserve at most {{input}} entries per tab",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Use {{input}} lines per entry in vertically expanded mode",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "List",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Table",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Plain",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message": "nuTensor &ndash; Settings", "message":"uMatrix &ndash; Settings",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message": "Ulkoasu", "message":"Appearance",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message": "Tekstikoko:", "message":"Text size:",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "Show the number of blocked resources on the icon", "message":"Normal",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"Large",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
@ -455,52 +271,52 @@
"message":"Convenience", "message":"Convenience",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "Default scope level:", "message":"When the matrix is closed, smart reload these tabs:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "Global", "message":"None",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "Verkkotunnus", "message":"Current",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "Site", "message":"All",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "Hide placeholder of blocked elements", "message":"Whenever you make changes in the matrix which can affect the display and\/or behavior of one or more pages, <i>uMatrix<\/i> will reload affected pages automatically when you close the matrix.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "Hide placeholder of blacklisted elements", "message":"Blocked frames:&ensp;Color",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "Spoof <code><noscript></code> tags when 1st-party scripts are blocked", "message":"Opacity",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "Enable cloud storage support", "message":"Show the number of distinct requests on the icon",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "Disable tooltips", "message":"Collapse placeholder of blocked elements",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message": "nuTensor &ndash; Privacy", "message":"uMatrix &ndash; Privacy",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
"message": "Delete blocked cookies", "message":"Delete blocked cookies.",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p>Blacklisted cookies are not prevented by <i>nuTensor</i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.</p><p>Once these blacklisted cookies have been accounted for by <i>nuTensor</i>, they can be removed from your browser if you wish so.</p><p><b>Important note:</b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>nuTensor</i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.</p>", "message":"<p>Blacklisted cookies are not prevented by <i>uMatrix<\/i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.<\/p><p>Once these blacklisted cookies have been accounted for by <i>uMatrix<\/i>, they can be removed from your browser if you wish so.<\/p><p><b>Important note:<\/b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>uMatrix<\/i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
@ -508,15 +324,15 @@
"description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt2":{ "privacyDeleteNonBlockedSessionCookiesPrompt2":{
"message": " minutes after the last time they have been used", "message":" minutes after the last time they have been used.",
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;</p><p>Except that this <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>might not be happening</a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;<\/p><p>Except that this <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>might not be happening<\/a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "Delete <a href='https://en.wikipedia.org/wiki/Web_storage'>local storage</a> content set by blocked hostnames", "message":"Delete <a href='https:\/\/en.wikipedia.org\/wiki\/Web_storage'>local storage<\/a> content set by blocked hostnames",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
@ -528,43 +344,63 @@
"description":"First part of 'Clear browser cache every [n] minutes'" "description":"First part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCachePrompt2":{ "privacyClearCachePrompt2":{
"message": "minutes", "message":"minutes.",
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.</p><p>A few of these tricks rely<sup>[1, 2]</sup> on the <a href='https://en.wikipedia.org/wiki/Web_cache'>browser cache</a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.</p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.</p><p>Check this option to have <i>nuTensor</i> do it for you, at the interval you wish.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a>\n[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>", "message":"<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.<\/p><p>A few of these tricks rely<sup style='font-size:smaller'>[1, 2]<\/sup> on the <a href='https:\/\/en.wikipedia.org\/wiki\/Web_cache'>browser cache<\/a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.<\/p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.<\/p><p>Check this option to have <i>uMatrix<\/i> do it for you, at the interval you wish.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Cookieless cookies&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "Spoof <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referrer</a> string of third-party requests", "message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referrer<\/a> string of third-party requests.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "From Wikipedia:<blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.</b></blockquote>If this setting is checked, <i>nuTensor</i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.", "message":"<p>From Wikipedia:<\/p><blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.<\/b><\/blockquote><p>If this setting is checked, <i>uMatrix<\/i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
"message": "Strict HTTPS: forbid mixed content", "message":"Strict HTTPS: forbid mixed content.",
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>From <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.</blockquote>", "message":"<p>From <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a>:<\/p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "Block all <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>hyperlink auditing</a> attempts", "message":"Block all <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>hyperlink auditing<\/a> attempts.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>Hyperlink auditing is a mechanism which allow a party, <b>any party</b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.</p>", "message":"<p>Hyperlink auditing is a mechanism which allow a party, <b>any party<\/b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/User_agent'>User-Agent<\/a> string by randomly picking a new one below every",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"minutes.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>According to the <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] your browser sends a &lsquo;User Agent&rsquo; header to the website saying precisely which operating system and web browser you are using. This information could help distinguish Internet users from one another because these versions differ, often considerably, from person to person. [...] <b>the User Agent string becomes a real privacy problem<\/b>.&rdquo;<p>This option allows you to address the privacy issue raised by the EFF.<\/p><p>You can supply your own list of user agent strings. One string per line. Blank lines and lines prefixed with &lsquo;#&rsquo; will be ignored.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Behind-the-scene requests",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
"message": "Pysyvät säännöt", "message":"Permanent rules",
"description":"" "description":""
}, },
"userRulesTemporaryHeader":{ "userRulesTemporaryHeader":{
"message": "Väliaikaiset säännöt", "message":"Temporary rules",
"description":"" "description":""
}, },
"userRulesRevert":{ "userRulesRevert":{
@ -576,23 +412,23 @@
"description":"Will save all temporary rules" "description":"Will save all temporary rules"
}, },
"userRulesEdit":{ "userRulesEdit":{
"message": "Muokkaa", "message":"Edit",
"description":"Will enable manual-edit mode (textarea)" "description":"Will enable manual-edit mode (textarea)"
}, },
"userRulesEditSave":{ "userRulesEditSave":{
"message": "Tallenna", "message":"Save",
"description":"Will save manually-edited content and exit manual-edit mode" "description":"Will save manually-edited content and exit manual-edit mode"
}, },
"userRulesEditDicard":{ "userRulesEditDicard":{
"message": "Hylkää", "message":"Discard",
"description":"Will discard manually-edited content and exit manual-edit mode" "description":"Will discard manually-edited content and exit manual-edit mode"
}, },
"userRulesImport":{ "userRulesImport":{
"message": "Tuo tiedostosta...", "message":"Import from file...",
"description":"" "description":""
}, },
"userRulesExport":{ "userRulesExport":{
"message": "Vie tiedostoon...", "message":"Export to file...",
"description":"" "description":""
}, },
"userRulesFormatHint":{ "userRulesFormatHint":{
@ -603,10 +439,6 @@
"message":"my-umatrix-rules.txt", "message":"my-umatrix-rules.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "Hosts files",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.", "message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.",
"description":"" "description":""
@ -624,15 +456,15 @@
"description":"English: Last update: {{ago}}, where 'ago' will be replaced with something like '2 days ago'" "description":"English: Last update: {{ago}}, where 'ago' will be replaced with something like '2 days ago'"
}, },
"hostsFilesApplyChanges":{ "hostsFilesApplyChanges":{
"message": "Käytä muutoksia", "message":"Apply changes",
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "Auto-update assets", "message":"Auto-update hosts files.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
"message": "Päivitä nyt", "message":"Update now",
"description":"" "description":""
}, },
"hostsFilesPurgeAll":{ "hostsFilesPurgeAll":{
@ -640,11 +472,11 @@
"description":"" "description":""
}, },
"hostsFilesExternalListsHint":{ "hostsFilesExternalListsHint":{
"message": "Import external assets here: \nOne URL per line; invalid URLs will be silently ignored.", "message":"One URL per line. Lines prefixed with &lsquo;#&rsquo; will be ignored. Invalid URLs will be silently ignored.",
"description":"" "description":""
}, },
"hostsFilesExternalListsParse":{ "hostsFilesExternalListsParse":{
"message": "Parsi", "message":"Parse",
"description":"" "description":""
}, },
"hostsFilesExternalListPurge":{ "hostsFilesExternalListPurge":{
@ -652,39 +484,15 @@
"description":"" "description":""
}, },
"hostsFilesExternalListNew":{ "hostsFilesExternalListNew":{
"message": "uusi versio saatavilla", "message":"new version available",
"description":"" "description":""
}, },
"hostsFilesExternalListObsolete":{ "hostsFilesExternalListObsolete":{
"message":"outdated", "message":"outdated",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "Ruleset recipes",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Ruleset recipes are imported from the popup panel <em>on demand</em>, i.e. <b>only</b> through user interaction.",
"description": ""
},
"assetsImportLabel": {
"message": "Tuo...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "My hosts",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "My recipes",
"description": ""
},
"rawSettingsWarning": {
"message": "Warning! Change these raw configuration settings at your own risk.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Muutosloki</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>Change log<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
@ -692,43 +500,43 @@
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Documentation</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Documentation<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki/Permissions'>Käyttöoikeudet</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>Permissions<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
"message": "Lähdekoodi (GPLv3)", "message":"Source code (GPLv3)",
"description":"" "description":""
}, },
"aboutIssues":{ "aboutIssues":{
"message": "Bugit ja ongelmat", "message":"Bugs and issues",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message": "Kehittäjät ja avustajat", "message":"Contributors",
"description":"English: Contributors" "description":"English: Contributors"
}, },
"aboutCodeContributors":{ "aboutCodeContributors":{
"message": "Koodi:", "message":"Code:",
"description":"" "description":""
}, },
"aboutIssueContributors":{ "aboutIssueContributors":{
"message": "Ongelmat:", "message":"Issues:",
"description":"" "description":""
}, },
"aboutTranslationContributors":{ "aboutTranslationContributors":{
"message": "Käännökset:", "message":"Translations:",
"description":"" "description":""
}, },
"aboutUserDataHeader":{ "aboutUserDataHeader":{
"message": "Tietosi", "message":"Your data",
"description":"" "description":""
}, },
"aboutBackupButton":{ "aboutBackupButton":{
"message": "Varmuuskopioi tiedostoon...", "message":"Backup to file...",
"description":"" "description":""
}, },
"aboutBackupFilename":{ "aboutBackupFilename":{
@ -736,11 +544,11 @@
"description":"default filename to use" "description":"default filename to use"
}, },
"aboutRestoreButton":{ "aboutRestoreButton":{
"message": "Palauta tiedostosta...", "message":"Restore from file...",
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "All your settings will be overwritten using data backed up on {{time}}, and nuTensor will restart.\n\nOverwrite all existing settings using backed up data?", "message":"All your settings will be overwritten using data backed up on {{time}}, and uMatrix will restart.\n\nOverwrite all existing settings using backed up data?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
@ -748,7 +556,7 @@
"description":"" "description":""
}, },
"aboutOr":{ "aboutOr":{
"message": "... tai ...", "message":"... or ...",
"description":"English: ... or ..." "description":"English: ... or ..."
}, },
"aboutResetButton":{ "aboutResetButton":{
@ -759,28 +567,48 @@
"message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?", "message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"filter expression(s)",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"spoofing user agent with: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"cookie deleted: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"failed to delete cookie: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"browser cache cleared",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"asset updated: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor has prevented the following page from loading:", "message":"uMatrix has prevented the following page from loading:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message":"Because of the following rule", "message":"Because of the following rule",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "without parameters",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message": "Palaa", "message":"Go back",
"description":"English: Go back" "description":"English: Go back"
}, },
"mainBlockedClose":{ "mainBlockedClose":{
"message": "Sulje", "message":"Close",
"description":"English: Close" "description":"English: Close"
}, },
"commandRevertAll":{ "commandRevertAll":{
"message": "Kumoa kaikki väliaikaiset muutokset", "message":"Revert all temporary changes",
"description":"" "description":""
}, },
"commandWhitelistPageDomain":{ "commandWhitelistPageDomain":{
@ -796,27 +624,27 @@
"description":"" "description":""
}, },
"elapsedOneMinuteAgo":{ "elapsedOneMinuteAgo":{
"message": "minuutti sitten", "message":"a minute ago",
"description":"English: a minute ago" "description":"English: a minute ago"
}, },
"elapsedManyMinutesAgo":{ "elapsedManyMinutesAgo":{
"message": "{{value}} minuuttia sitten", "message":"{{value}} minutes ago",
"description":"English: {{value}} minutes ago" "description":"English: {{value}} minutes ago"
}, },
"elapsedOneHourAgo":{ "elapsedOneHourAgo":{
"message": "tunti sitten", "message":"an hour ago",
"description":"English: an hour ago" "description":"English: an hour ago"
}, },
"elapsedManyHoursAgo":{ "elapsedManyHoursAgo":{
"message": "{{value}} tuntia sitten", "message":"{{value}} hours ago",
"description":"English: {{value}} hours ago" "description":"English: {{value}} hours ago"
}, },
"elapsedOneDayAgo":{ "elapsedOneDayAgo":{
"message": "päivä sitten", "message":"a day ago",
"description":"English: a day ago" "description":"English: a day ago"
}, },
"elapsedManyDaysAgo":{ "elapsedManyDaysAgo":{
"message": "{{value}} päivää sitten", "message":"{{value}} days ago",
"description":"English: {{value}} days ago" "description":"English: {{value}} days ago"
}, },
"showDashboardButton":{ "showDashboardButton":{
@ -827,40 +655,8 @@
"message":"Logger", "message":"Logger",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Export to cloud storage",
"description": "tooltip"
},
"cloudPull": {
"message": "Import from cloud storage",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "This device name:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Submit",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Revert",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"Network error: Unable to connect to {{url}}", "message":"Network error: Unable to connect to {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Vahvista muutokset",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copy to clipboard",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

File diff suppressed because it is too large Load Diff

@ -1,20 +1,16 @@
{ {
"extName":{ "extName":{
"message": "nuTensor", "message":"uMatrix",
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "Pointez-et-cliquez pour interdire/autoriser toute sorte de requêtes effectuées par le navigateur à l'aide d'un tableau de données.", "message":"À l'aide d'une matrice, définissez des autorisations et des blocages pour tout type de requête effectué par votre navigateur.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message": "nuTensor — Tableau de bord", "message":"uMatrix — Tableau de bord",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — Journal",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message":"Paramètres", "message":"Paramètres",
"description":"a tab in dashboard" "description":"a tab in dashboard"
@ -32,11 +28,7 @@
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "Ressources", "message":"Fichiers hosts",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "Plus",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
@ -56,23 +48,19 @@
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"imagePrettyName":{ "imagePrettyName":{
"message": "Image", "message":"Img",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"mediaPrettyName": {
"message": "Média",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"pluginPrettyName":{ "pluginPrettyName":{
"message": "Plug-in", "message":"Plugin",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"scriptPrettyName":{ "scriptPrettyName":{
"message":"Script", "message":"Script",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "Chercher", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
@ -84,19 +72,11 @@
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"matrixNoNetTrafficPrompt":{ "matrixNoNetTrafficPrompt":{
"message": "Aucune activité réseau n'a été observée sur cet onglet pour l'instant.", "message":"Aucune activité réseau n'a été pour l'instant observée sur cet onglet.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Choisissez le contexte local pour voir/créer des règles à y appliquer",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Choisissez le contexte global pour voir/créer des règles à appliquer partout",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "Désactiver/Activer les filtres matriciels pour le contexte actuel", "message":"Activer\/Désactiver les filtres matriciels pour le contexte actuel. Nombre de requêtes bloquées via les filtres matriciels : {{count}}",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
@ -108,7 +88,7 @@
"description":"Tool tip for the revert local permission button" "description":"Tool tip for the revert local permission button"
}, },
"matrixReloadButton":{ "matrixReloadButton":{
"message": "Actualiser la page\nAppuyez sur Maj pour contourner le cache du navigateur", "message":"Actualiser la page",
"description":"Tool tip for the reload button" "description":"Tool tip for the reload button"
}, },
"matrix1stPartyLabel":{ "matrix1stPartyLabel":{
@ -120,25 +100,17 @@
"description":"Appears in the metadata row of bottom-most group: **mind the limited width**" "description":"Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent":{ "matrixSwitchNoMixedContent":{
"message": "Interdire du contenu mixte", "message":"Trafic HTTPS uniquement",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Interdire les scripts de type Web worker", "message":"Modifier l'Identification du navigateur",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message":"Modifier le Référant HTTP", "message":"Modifier le Référant HTTP",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoscriptSpoof": {
"message": "Modifier les balises <code><noscript></code>",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Révéler les noms canoniques",
"description": "A menu entry in the matrix popup"
},
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
"message":"Annuler tous les changements temporaires", "message":"Annuler tous les changements temporaires",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
@ -151,20 +123,8 @@
"message":"Aller au Tableau de bord", "message":"Aller au Tableau de bord",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "Aucune page Web trouvée",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Importer les règles",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Enregistrer les règles",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message": "nuTensor &ndash; Statistiques", "message":"uMatrix &ndash; Statistiques",
"description":"" "description":""
}, },
"statsPageGenericStats":{ "statsPageGenericStats":{
@ -172,15 +132,15 @@
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "Nombre de <a href='https://fr.wikipedia.org/wiki/Cookie_(informatique)'>Cookies HTTP</a> bloqués : {{count}}", "message":"Nombre de <a href='https:\/\/fr.wikipedia.org\/wiki\/Cookie_(informatique)'>Cookies HTTP<\/a> bloqués : {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "Nombre de <a href='https://fr.wikipedia.org/wiki/R%C3%A9f%C3%A9rant'>Référants HTTP</a> bloqués : {{count}}", "message":"Nombre de <a href='https:\/\/fr.wikipedia.org\/wiki\/R%C3%A9f%C3%A9rant'>Référants HTTP<\/a> bloqués : {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "Nombre d'<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Audits hyperliens</a> bloqués : {{count}}", "message":"Nombre d'<a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Audits hyperliens<\/a> bloqués : {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
@ -188,7 +148,7 @@
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "Nombre de <a href='https://fr.wikipedia.org/wiki/Stockage_web_local'>Stockages web locaux</a> effacés : {{count}}", "message":"Nombre de <a href='https:\/\/fr.wikipedia.org\/wiki\/Stockage_web_local'>Stockages web locaux<\/a> effacés : {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
@ -272,179 +232,35 @@
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "plus récentes requêtes HTTP <b>par page</b>", "message":"plus récentes requêtes HTTP <b>par page<\/b>",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>Cette option vous permet de saisir le nombre de plus récentes requêtes HTTP à journaliser pour une inspection ultérieure.</p><p>Ceci est particulièrement utile pour les utilisateurs expérimentés qui veulent déterminer ce que fait précisément une page Web. Mais le processus de journalisation nécessite de la mémoire vive, et si vous ne vous souciez guère de ces informations, la mémoire utilisée dans ce but est gaspillée.</p><p>Pour désactiver cette fonctionnalité et ainsi réduire l'empreinte mémoire de <i>nuTensor</i>, saisissez &ldquo;<code>0</code>&rdquo;.</p>", "message":"<p>Cette option vous permet de saisir le nombre de plus récentes requêtes HTTP à journaliser pour une inspection ultérieure.<\/p><p>Ceci est particulièrement utile pour les utilisateurs expérimentés qui veulent déterminer ce que fait précisément une page Web. Mais le processus de journalisation nécessite de la mémoire vive, et si vous ne vous souciez guère de ces informations, la mémoire utilisée dans ce but est gaspillée.<\/p><p>Pour désactiver cette fonctionnalité et ainsi réduire l'empreinte mémoire de <i>uMatrix<\/i>, saisissez &ldquo;<code>0<\/code>&rdquo;.<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message":"Actualiser", "message":"Actualiser",
"description":"" "description":""
}, },
"logAll": {
"message": "Tout",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "En coulisses",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Onglet courant",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Recharger le contenu de l'onglet",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "Expression(s) de filtre",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "Cookie supprimé : {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "Échec lors de la suppression du cookie : {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "Cache du navigateur nettoyé",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "Élément mis à jour : {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Commuter le filtrage du journal",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "Filtrer le contenu du journal",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Commuter le panneau pop-up",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "Wiki uBlock Origin : Le journal",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Vider le journal",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Mettre en pause le journal (ignorer les données entrantes)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Reprendre la journalisation",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Options de filtrage du journal",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Non",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "Bloquée",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "Information",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "Première partie",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "Tierce-partie",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Détails",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Contexte",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Niveau de partie",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "Lien",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Règle",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Les entrées de journal ne remplissant aucune de ces trois conditions seront automatiquement rejetées :",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Conserver les entrées des {{input}} dernières minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Conserver au maximum {{input}} chargements de page par onglet",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Conserver au maximum {{input}} entrées par onglet",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Utiliser {{input}} lignes par entrée dans le mode verticalement étendu",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "Liste",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Tableau",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Simple",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message": "nuTensor &ndash; Réglages", "message":"uMatrix &ndash; Réglages",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message": "Matrice", "message":"Affichage",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message":"Taille du texte :", "message":"Taille du texte :",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "Montrer le nombre de ressources bloquées sur l'icône", "message":"Normale",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"Grande",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
@ -455,44 +271,44 @@
"message":"Ergonomie", "message":"Ergonomie",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "Niveau de contexte par défaut :", "message":"À la fermeture post-édition de la matrice, recharger si nécessaire :",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "Global", "message":"Aucune page",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "Domaine", "message":"La page courante",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "Site", "message":"Toutes les pages",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "Cacher les espaces réservés aux éléments bloqués", "message":"Lorsque vous avez modifié des permissions susceptibles d'affecter l'apparence et\/ou le comportement d'une page Web, <i>uMatrix<\/i> rechargera automatiquement une ou plusieurs page(s) Web concernée(s) à la fermeture de la matrice. Si l'option Aucune page est sélectionnée, vous devrez actualiser la page Web vous-même pour appliquer les modifications.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "Cacher les espaces réservés aux éléments de la liste noire", "message":"Couleur pour les <i>frames<\/i> bloquées :",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "Modifier les balises <code><noscript></code> lorsque les scripts du domaine de la page Web sont bloqués", "message":"Opacité :",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "Activer le stockage des paramètres dans le nuage", "message":"Montrer le nombre de requêtes distinctes sur l'icône",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "Désactiver les infobulles", "message":"Cacher les espaces réservés aux éléments bloqués",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message": "nuTensor &ndash; Confidentialité", "message":"uMatrix &ndash; Confidentialité",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
@ -500,7 +316,7 @@
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p><i>nuTensor</i> n'empêche pas les cookies bloqués 'd'entrer' dans votre navigateur, mais les empêche d'en 'repartir', et c'est cela qui importe. 'Laisser venir' les cookies vous permet de savoir lorsqu'un site essaye d'en utiliser, ou même d'en inspecter le contenu si vous le désirez.</p><p>Une fois que les cookies bloqués ont été pris en compte par <i>nuTensor</i>, ils peuvent être supprimés de votre navigateur si vous le souhaitez.</p><p><b>Note importante</b> : Les extensions peuvent faire des requêtes Web au cours de leurs opérations ordinaires. Ces requêtes peuvent entraîner la création de cookies dans le navigateur. Si cette fonctionnalité est activée et que le nom d'hôte originel du cookie n'est pas sur liste blanche, le cookie sera supprimé du navigateur par <i>nuTensor</i>, alors assurez-vous que le(s) nom(s) d'hôte(s) avec le(s)quel(s) l'extension interagit soit/soient sur liste blanche.</p>", "message":"<p><i>uMatrix<\/i> n'empêche pas les cookies bloqués 'd'entrer' dans votre navigateur, mais les empêche d'en 'repartir', et c'est cela qui importe. 'Laisser venir' les cookies vous permet de savoir lorsqu'un site essaye d'en utiliser, ou même d'en inspecter le contenu si vous le désirez.<\/p><p>Une fois que les cookies bloqués ont été pris en compte par <i>uMatrix<\/i>, ils peuvent être supprimés de votre navigateur si vous le souhaitez.<\/p><p><b>Note importante<\/b> : Les extensions peuvent faire des requêtes Web au cours de leurs opérations ordinaires. Ces requêtes peuvent entraîner la création de cookies dans le navigateur. Si cette fonctionnalité est activée et que le nom d'hôte originel du cookie n'est pas sur liste blanche, le cookie sera supprimé du navigateur par <i>uMatrix<\/i>, alors assurez-vous que le(s) nom(s) d'hôte(s) avec le(s)quel(s) l'extension interagit soit\/soient sur liste blanche.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
@ -512,11 +328,11 @@
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>Définition W3C</a> : &ldquo;Un cookie de session [...] est effacé quand vous avez terminé la session de navigation. Le cookie de session est stocké dans la mémoire temporaire et n'est pas conservé après la fermeture du navigateur.&rdquo;</p><p>Sauf que cela <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>peut ne pas se produire</a> sur certains navigateurs. De plus, pour certaines personnes, avoir à fermer le navigateur pour nettoyer les cookies de session peut ne pas se révéler suffisant en terme de confidentialité.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>Définition W3C<\/a> : &ldquo;Un cookie de session [...] est effacé quand vous avez terminé la session de navigation. Le cookie de session est stocké dans la mémoire temporaire et n'est pas conservé après la fermeture du navigateur.&rdquo;<\/p><p>Sauf que cela <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>peut ne pas se produire<\/a> sur certains navigateurs. De plus, pour certaines personnes, avoir à fermer le navigateur pour nettoyer les cookies de session peut ne pas se révéler suffisant en terme de confidentialité.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "Supprimer les <a href='http://fr.wikipedia.org/wiki/Stockage_web_local'>données locales</a> des noms d'hôtes bloqués", "message":"Supprimer les <a href='http:\/\/fr.wikipedia.org\/wiki\/Stockage_web_local'>données locales<\/a> des noms d'hôtes bloqués",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
@ -532,15 +348,15 @@
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Certains sites Web sont déterminés à connaître votre vie privée en ligne, quitte à employer des méthodes peu orthodoxes pour contrer les dispositions que vous avez prises pour ne pas être victime de pistage.</p><p>Certaines de ces techniques exploitent<sup>[1, 2]</sup> le <a href='https://fr.wikipedia.org/wiki/Cache_web'>cache du navigateur</a> dont le contenu perdure souvent un bon bout de temps, puisque les utilisateurs prennent rarement le temps de fréquemment vider leur cache de navigation.</p><p>Nettoyer régulièrement le cache du navigateur est un dérangement aux yeux de certaines personnes, même si cela empêche ces envahissants pisteurs de bafouer votre confidentialité.</p><p>Cochez cette option pour que <i>nuTensor</i> s'en occupe à votre place, suivant la fréquence de votre choix.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a><br>[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies”&rdquo;</a></p>", "message":"<p>Certains sites Web sont déterminés à connaître votre vie privée en ligne, quitte à employer des méthodes peu orthodoxes pour contrer les dispositions que vous avez prises pour ne pas être victime de pistage.<\/p><p>Certaines de ces techniques exploitent<sup style='font-size:smaller'>[1, 2]<\/sup> le <a href='https:\/\/fr.wikipedia.org\/wiki\/Cache_web'>cache du navigateur<\/a> dont le contenu perdure souvent un bon bout de temps, puisque les utilisateurs prennent rarement le temps de fréquemment vider leur cache de navigation.<\/p><p>Nettoyer régulièrement le cache du navigateur est un dérangement aux yeux de certaines personnes, même si cela empêche ces envahissants pisteurs de bafouer votre confidentialité.<\/p><p>Cochez cette option pour que <i>uMatrix<\/i> s'en occupe à votre place, suivant la fréquence de votre choix.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Cookieless cookies”&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "Modifier les informations de <a href='https://fr.wikipedia.org/wiki/R%C3%A9f%C3%A9rant'>Référants HTTP</a> pour les tierces requêtes", "message":"Modifier les informations de <a href='https:\/\/fr.wikipedia.org\/wiki\/R%C3%A9f%C3%A9rant'>Référants HTTP<\/a> pour les tierces requêtes",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "<p>D'après Wikipédia :</p> <blockquote>Un référant HTTP est un champ dans l'entête HTTP, qui indique l'adresse de la page Web depuis laquelle on se connecte vers la ressource demandée[...] <b>Puisque les informations comprises dans un référant peuvent compromettre la vie privée, certains navigateurs Web permettent aux utilisateurs de désactiver l'envoi de ces données.</b></blockquote><p>Si ce paramètre est coché, <i>nuTensor</i> supprimera le référant HTTP si le nom de domaine du référant HTTP est différent du nom de domaine de la requête réseau (autrement dit, si vous venez d'un site différent de celui que vous visitez)</p>", "message":"<p>D'après Wikipédia :<\/p> <blockquote>Un référant HTTP est un champ dans l'entête HTTP, qui indique l'adresse de la page Web depuis laquelle on se connecte vers la ressource demandée[...] <b>Puisque les informations comprises dans un référant peuvent compromettre la vie privée, certains navigateurs Web permettent aux utilisateurs de désactiver l'envoi de ces données.<\/b><\/blockquote><p>Si ce paramètre est coché, <i>uMatrix<\/i> supprimera le référant HTTP si le nom de domaine du référant HTTP est différent du nom de domaine de la requête réseau (autrement dit, si vous venez d'un site différent de celui que vous visitez)<\/p>",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
@ -548,15 +364,35 @@
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>D'après le <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a> :</p><blockquote>Si la page HTTPS comprend des éléments en provenance de trafic(s) HTTP, alors la connexion n'est encryptée que partiellement; le contenu non-encrypté est alors accessible aux analyseurs de paquets et peut être modifié lors d'attaques de l'homme du milieu, compromettant la sécurité de la connexion. Lorsqu'une page Web montre un tel comportement, elle est qualifiée de page Web au contenu mixte.</blockquote>", "message":"<p>D'après le <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a> :<\/p><blockquote>Si la page HTTPS comprend des éléments en provenance de trafic(s) HTTP, alors la connexion n'est encryptée que partiellement; le contenu non-encrypté est alors accessible aux analyseurs de paquets et peut être modifié lors d'attaques de l'homme du milieu, compromettant la sécurité de la connexion. Lorsqu'une page Web montre un tel comportement, elle est qualifiée de page Web au contenu mixte.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "Bloquer toutes les tentatives d'<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>audit hyperlien</a>", "message":"Bloquer toutes les tentatives d'<a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>audit hyperlien<\/a>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>L'audit hyperlien est un méchanisme qui permet à <b>n'importe quel parti</b> de connaître le lien sur lequel une personne clique dans une page Web précise. C'est surtout une fonctionnalité de pistage, qui peut donc être désactivée sans crainte.</p>", "message":"<p>L'audit hyperlien est un méchanisme qui permet à <b>n'importe quel parti<\/b> de connaître le lien sur lequel une personne clique dans une page Web précise. C'est surtout une fonctionnalité de pistage, qui peut donc être désactivée sans crainte.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Modifier l'<a href='https:\/\/fr.wikipedia.org\/wiki\/User-Agent'>Identification du navigateur<\/a> toutes les",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"minutes en choisissant au hasard une des chaînes de caractères suivantes :",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>D'après l'<i>Electronic Frontier Foundation<\/i><\/a>, &ldquo;votre navigateur envoit un entête d &lsquo;Identification du navigateur&rsquo; vers le site Web visité, indiquant à ce dernier le Système d'Exploitation et le Navigateur Web que vous utilisez. Cette information peut permettre la distinction entre deux internautes puisque leurs versions employées diffèrent, parfois même de manière considérable. [...] <b>la chaine de caractères dIdentification du navigateur devient un réel problème de confidentialité<\/b>.&rdquo;<p><i>µMatrix<\/i> vous offre ainsi la possibilité de falsifier votre Identification du navigateur pour améliorer votre vie privée.<\/p><p>Sachez cependant qu'en fonction de la fausse identification aléatoirement choisie et utilisée, certains sites Web peuvent avoir un comportement qui vous paraitra un peu étrange, si cela devenait un obstacle pour un site précis, pensez à désactiver provisoirement cette option.<\/p><p>Vous pouvez fournir votre propre liste d'Identifications du navigateur. N'en saisissez qu'une par ligne. Les lignes vides et les lignes commençant par &lsquo;#&rsquo; seront ignorées.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Requêtes en coulisses du navigateur",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"<p>Il faut savoir qu'un navigateur Web est susceptible d'émettre secrètement des requêtes HTTP, qui sont souvent nécessaires à son bon fonctionnement (c'est par exemple le cas de <a href='https:\/\/www.google.com\/intl\/fr\/chrome\/browser\/privacy\/whitepaper.html'><i>Chromium<\/i><\/a>). Les extensions peuvent également recourir à ce procédé.<\/p><p>Qualifions ces requêtes singulières de <strong>requêtes en coulisses<\/strong>.<\/p><p><i>uMatrix<\/i> vous permet d'intercepter et de traiter ces requêtes comme toutes les autres, et peuvent donc être autorisées ou bloquées selon vos réglages.<\/p><p>Rendez-vous dans l'onglet Mes règles pour activer ou non le traitement des requêtes en coulisses et définir d'éventuelles règles de gestion adéquates.<\/p><div class='warn'><p><span style='color:red; font-weight:bold'>Veuillez trouver ci-après diverses informations susceptibles de s'appliquer à votre navigateur Web.<\/span> Utilisateurs de Chrome\/Chromium\/Dérivés de Chromium : Le blocage de certaines requêtes HTTP en coulisses peut empêcher l'ajout par l'utilisateur ou la mise à jour d'une extension depuis le Chrome Web Store, ainsi que des interférences sur d'autres extensions installées. En conséquence, définissez avec soin le traitement des requêtes en coulisses en appliquant les bonnes autorisations.<\/p><p>Utilisateurs d'Opera\/Opera beta\/Opera developer : Si vous activez la gestion des requêtes en coulisses, veuillez autoriser les requêtes en coulisses de type Autre afin de ne pas entraver la génération des miniatures de vos Accès Rapide. Si vous souhaitez utiliser la fonction Découvrir de votre navigateur, ajoutez la règle suivante dans Mes règles : \"* api.recsys.opera.com * allow\" (sans les guillemets). Le blocage de certaines requêtes en coulisses peut occasionner des dysfonctionnements sur autres extensions installées (celles requérant l'utilisation de données distantes). En conséquence, définissez avec soin le traitement des requêtes en coulisses en appliquant les bonnes autorisations.<\/p><p>Sachez que même si vous désactivez cette fonctionnalité, les <strong>requêtes en coulisses<\/strong> sont toujours journalisées par <i>uMatrix<\/i>, pour que vous puissez quand même les inspecter (depuis la page Statistiques).<\/p>",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
@ -603,10 +439,6 @@
"message":"mes-regles-umatrix.txt", "message":"mes-regles-umatrix.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "Fichiers hosts",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message":"Tout nom de domaine énuméré dans un des fichiers choisis ci-dessous est bloqué dans le contexte global (*).", "message":"Tout nom de domaine énuméré dans un des fichiers choisis ci-dessous est bloqué dans le contexte global (*).",
"description":"" "description":""
@ -628,7 +460,7 @@
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "Mettre à jour les ressources automatiquement", "message":"Mettre à jour les fichiers hosts automatiquement",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -656,35 +488,11 @@
"description":"" "description":""
}, },
"hostsFilesExternalListObsolete":{ "hostsFilesExternalListObsolete":{
"message": "Potentiellement obsolète", "message":"Version du fichier périmée",
"description": ""
},
"assetsRecipesSection": {
"message": "Recettes de règles",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Les recettes de règles sont importés depuis la fenêtre pop-up <em>à la demande</em>, c'est-à-dire <b>uniquement</b> à travers linteraction utilisateur.",
"description": ""
},
"assetsImportLabel": {
"message": "Importer...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "Mes hôtes",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "Mes recettes",
"description": ""
},
"rawSettingsWarning": {
"message": "Attention, modifiez ces paramètres bruts à vos risques et périls.",
"description":"" "description":""
}, },
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Journal des changements</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>Journal des changements (en Anglais)<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
@ -692,20 +500,20 @@
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Documentation</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Documentation (en Anglais)<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki/Permissions'>Permissions</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki\/Permissions'>Permissions (en Anglais)<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
"message": "Code Source (Licence GPLv3)", "message":"Code Source (Licence GPLv3, en Anglais)",
"description":"" "description":""
}, },
"aboutIssues":{ "aboutIssues":{
"message": "Suivi des problèmes", "message":"Problèmes",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message":"Contributeurs", "message":"Contributeurs",
@ -740,7 +548,7 @@
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "Toutes vos données seront remplacées par celles enregistrées le {{time}}, puis nuTensor redémarrera.\n\nDésirez-vous vraiment effectuer l'opération ?", "message":"Toutes vos données seront remplacées par celles enregistrées le {{time}}, puis uMatrix redémarrera.\n\nDésirez-vous vraiment effectuer l'opération ?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
@ -759,18 +567,38 @@
"message":"Attention ! Cela supprimera tous vos paramétrages personnels. Désirez-vous vraiment réinitialiser ?", "message":"Attention ! Cela supprimera tous vos paramétrages personnels. Désirez-vous vraiment réinitialiser ?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"Expression(s) de filtre",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"Remplacement de l'Identification du navigateur par : {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"Cookie supprimé : {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"Échec lors de la suppression du cookie : {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"Cache du navigateur nettoyé",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"Élément mis à jour : {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor a empêché le chargement de cette page :", "message":"uMatrix a empêché le chargement de cette page :",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message":"À cause de la règle suivante", "message":"À cause de la règle suivante",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "sans paramètres",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message":"Retour", "message":"Retour",
"description":"English: Go back" "description":"English: Go back"
@ -827,40 +655,8 @@
"message":"Journal des requêtes", "message":"Journal des requêtes",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Exporter vers le stockage dans le nuage",
"description": "tooltip"
},
"cloudPull": {
"message": "Importer depuis le stockage dans le nuage",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "Nom de ce périphérique :",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Appliquer",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Rétablir",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"Erreur réseau : Ne peut se connecter à {{url}}", "message":"Erreur réseau : Ne peut se connecter à {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Appliquer",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copier dans le presse-papier",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

@ -1,20 +1,16 @@
{ {
"extName":{ "extName":{
"message": "nuTensor", "message":"uMatrix",
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "Point & click to forbid/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.", "message":"Point & click to forbid\/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message": "nuTensor — Dashboard", "message":"uMatrix — Dashboard",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — Logger",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message":"Settings", "message":"Settings",
"description":"a tab in dashboard" "description":"a tab in dashboard"
@ -32,11 +28,7 @@
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "Assets", "message":"Hosts files",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "More",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
@ -59,10 +51,6 @@
"message":"image", "message":"image",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"mediaPrettyName": {
"message": "media",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"pluginPrettyName":{ "pluginPrettyName":{
"message":"plugin", "message":"plugin",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
@ -71,8 +59,8 @@
"message":"script", "message":"script",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
@ -87,28 +75,20 @@
"message":"No net traffic seen for this tab so far.", "message":"No net traffic seen for this tab so far.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Select a local scope to see/create rules which apply only in that scope",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Select the global scope to see/create rules which apply everywhere",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "Disable/enable matrix filtering for this scope", "message":"Disable\/enable matrix filtering for this scope.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
"message": "Save all temporary changes for this scope", "message":"Save all temporary changes for this scope.",
"description":"Tool tip for the persist button" "description":"Tool tip for the persist button"
}, },
"matrixRevertButtonTip":{ "matrixRevertButtonTip":{
"message": "Revert temporary changes for this scope", "message":"Revert temporary changes for this scope.",
"description":"Tool tip for the revert local permission button" "description":"Tool tip for the revert local permission button"
}, },
"matrixReloadButton":{ "matrixReloadButton":{
"message": "Reload the page. \nPress Shift to bypass the browser cache.", "message":"Reload the page.",
"description":"Tool tip for the reload button" "description":"Tool tip for the reload button"
}, },
"matrix1stPartyLabel":{ "matrix1stPartyLabel":{
@ -120,23 +100,15 @@
"description":"Appears in the metadata row of bottom-most group: **mind the limited width**" "description":"Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent":{ "matrixSwitchNoMixedContent":{
"message": "Forbid mixed content", "message":"Strict HTTPS",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Forbid web workers", "message":"User agent spoofing",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message": "Spoof <code>Referer</code> header", "message":"Referrer spoofing",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoscriptSpoof": {
"message": "Spoof <code><noscript></code> tags",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Reveal canonical names",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
@ -151,20 +123,8 @@
"message":"Go to dashboard", "message":"Go to dashboard",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "No web page found",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Import rules",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Save rules",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message": "nuTensor &ndash; Statistics", "message":"uMatrix &ndash; Statistics",
"description":"" "description":""
}, },
"statsPageGenericStats":{ "statsPageGenericStats":{
@ -172,15 +132,15 @@
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_cookie'>HTTP cookie</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_cookie'>HTTP cookie<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referer</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referer<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hyperlink auditing</a> attempts foiled: {{count}}", "message":"<a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink auditing<\/a> attempts foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
@ -188,7 +148,7 @@
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "<a href='http://diveintohtml5.info/storage.html'>Local storages</a> emptied: {{count}}", "message":"<a href='http:\/\/diveintohtml5.info\/storage.html'>Local storages<\/a> emptied: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
@ -272,179 +232,35 @@
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "HTTP requests <b>per page</b>", "message":"HTTP requests <b>per page<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).</p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.</p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.</p><p>Enter &ldquo;<code>0</code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>nuTensor</i>).</p>", "message":"<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).<\/p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.<\/p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.<\/p><p>Enter &ldquo;<code>0<\/code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>uMatrix<\/i>).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message":"Refresh", "message":"Refresh",
"description":"" "description":""
}, },
"logAll": {
"message": "All",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Tabless",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Current tab",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Reload the tab content",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "filter expression(s)",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "cookie deleted: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "failed to delete cookie: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "browser cache cleared",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "asset updated: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: The logger",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Clear logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pause logger (discard all incoming data)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Unpause logger",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Logger filtering options",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Not",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "blocked",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "1st-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "3rd-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Details",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Context",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Rule",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Preserve entries from the last {{input}} minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Preserve at most {{input}} entries per tab",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Use {{input}} lines per entry in vertically expanded mode",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "List",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Table",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Plain",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message": "nuTensor &ndash; Settings", "message":"uMatrix &ndash; Settings",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message": "Matrix", "message":"Appearance",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message":"Text size:", "message":"Text size:",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "Show the number of blocked resources on the icon", "message":"Normal",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"Large",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
@ -455,52 +271,52 @@
"message":"Convenience", "message":"Convenience",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "Default scope level:", "message":"When the matrix is closed, smart reload these tabs:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "Global", "message":"None",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "Domain", "message":"Current",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "Site", "message":"All",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "Hide placeholder of blocked elements", "message":"Whenever you make changes in the matrix which can affect the display and\/or behavior of one or more pages, <i>uMatrix<\/i> will reload affected pages automatically when you close the matrix.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "Hide placeholder of blacklisted elements", "message":"Blocked frames:&ensp;Color",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "Spoof <code><noscript></code> tags when 1st-party scripts are blocked", "message":"Opacity",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "Enable cloud storage support", "message":"Show the number of distinct requests on the icon",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "Disable tooltips", "message":"Collapse placeholder of blocked elements",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message": "nuTensor &ndash; Privacy", "message":"uMatrix &ndash; Privacy",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
"message": "Delete blocked cookies", "message":"Delete blocked cookies.",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p>Blacklisted cookies are not prevented by <i>nuTensor</i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.</p><p>Once these blacklisted cookies have been accounted for by <i>nuTensor</i>, they can be removed from your browser if you wish so.</p><p><b>Important note:</b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>nuTensor</i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.</p>", "message":"<p>Blacklisted cookies are not prevented by <i>uMatrix<\/i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.<\/p><p>Once these blacklisted cookies have been accounted for by <i>uMatrix<\/i>, they can be removed from your browser if you wish so.<\/p><p><b>Important note:<\/b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>uMatrix<\/i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
@ -508,15 +324,15 @@
"description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt2":{ "privacyDeleteNonBlockedSessionCookiesPrompt2":{
"message": " minutes after the last time they have been used", "message":" minutes after the last time they have been used.",
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;</p><p>Except that this <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>might not be happening</a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;<\/p><p>Except that this <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>might not be happening<\/a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "Delete <a href='https://en.wikipedia.org/wiki/Web_storage'>local storage</a> content set by blocked hostnames", "message":"Delete <a href='https:\/\/en.wikipedia.org\/wiki\/Web_storage'>local storage<\/a> content set by blocked hostnames",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
@ -528,35 +344,55 @@
"description":"First part of 'Clear browser cache every [n] minutes'" "description":"First part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCachePrompt2":{ "privacyClearCachePrompt2":{
"message": "minutes", "message":"minutes.",
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.</p><p>A few of these tricks rely<sup>[1, 2]</sup> on the <a href='https://en.wikipedia.org/wiki/Web_cache'>browser cache</a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.</p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.</p><p>Check this option to have <i>nuTensor</i> do it for you, at the interval you wish.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a>\n[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>", "message":"<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.<\/p><p>A few of these tricks rely<sup style='font-size:smaller'>[1, 2]<\/sup> on the <a href='https:\/\/en.wikipedia.org\/wiki\/Web_cache'>browser cache<\/a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.<\/p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.<\/p><p>Check this option to have <i>uMatrix<\/i> do it for you, at the interval you wish.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Cookieless cookies&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "Spoof <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referrer</a> string of third-party requests", "message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referrer<\/a> string of third-party requests.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "From Wikipedia:<blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.</b></blockquote>If this setting is checked, <i>nuTensor</i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.", "message":"<p>From Wikipedia:<\/p><blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.<\/b><\/blockquote><p>If this setting is checked, <i>uMatrix<\/i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
"message": "Strict HTTPS: forbid mixed content", "message":"Strict HTTPS: forbid mixed content.",
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>From <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.</blockquote>", "message":"<p>From <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a>:<\/p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "Block all <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>hyperlink auditing</a> attempts", "message":"Block all <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>hyperlink auditing<\/a> attempts.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>Hyperlink auditing is a mechanism which allow a party, <b>any party</b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.</p>", "message":"<p>Hyperlink auditing is a mechanism which allow a party, <b>any party<\/b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/User_agent'>User-Agent<\/a> string by randomly picking a new one below every",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"minutes.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>According to the <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] your browser sends a &lsquo;User Agent&rsquo; header to the website saying precisely which operating system and web browser you are using. This information could help distinguish Internet users from one another because these versions differ, often considerably, from person to person. [...] <b>the User Agent string becomes a real privacy problem<\/b>.&rdquo;<p>This option allows you to address the privacy issue raised by the EFF.<\/p><p>You can supply your own list of user agent strings. One string per line. Blank lines and lines prefixed with &lsquo;#&rsquo; will be ignored.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Behind-the-scene requests",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
@ -603,10 +439,6 @@
"message":"my-umatrix-rules.txt", "message":"my-umatrix-rules.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "Hosts files",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.", "message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.",
"description":"" "description":""
@ -628,7 +460,7 @@
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "Auto-update assets", "message":"Auto-update hosts files.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -640,7 +472,7 @@
"description":"" "description":""
}, },
"hostsFilesExternalListsHint":{ "hostsFilesExternalListsHint":{
"message": "Import external assets here: \nOne URL per line; invalid URLs will be silently ignored.", "message":"One URL per line. Lines prefixed with &lsquo;#&rsquo; will be ignored. Invalid URLs will be silently ignored.",
"description":"" "description":""
}, },
"hostsFilesExternalListsParse":{ "hostsFilesExternalListsParse":{
@ -659,32 +491,8 @@
"message":"outdated", "message":"outdated",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "Ruleset recipes",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Ruleset recipes are imported from the popup panel <em>on demand</em>, i.e. <b>only</b> through user interaction.",
"description": ""
},
"assetsImportLabel": {
"message": "Import...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "My hosts",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "My recipes",
"description": ""
},
"rawSettingsWarning": {
"message": "Warning! Change these raw configuration settings at your own risk.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Change log</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>Change log<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
@ -692,11 +500,11 @@
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Documentation</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Documentation<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki/Permissions'>Permissions</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>Permissions<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
@ -704,8 +512,8 @@
"description":"" "description":""
}, },
"aboutIssues":{ "aboutIssues":{
"message": "Issue tracker", "message":"Bugs and issues",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message":"Contributors", "message":"Contributors",
@ -740,7 +548,7 @@
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "All your settings will be overwritten using data backed up on {{time}}, and nuTensor will restart.\n\nOverwrite all existing settings using backed up data?", "message":"All your settings will be overwritten using data backed up on {{time}}, and uMatrix will restart.\n\nOverwrite all existing settings using backed up data?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
@ -759,18 +567,38 @@
"message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?", "message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"filter expression(s)",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"spoofing user agent with: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"cookie deleted: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"failed to delete cookie: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"browser cache cleared",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"asset updated: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor has prevented the following page from loading:", "message":"uMatrix has prevented the following page from loading:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message":"Because of the following rule", "message":"Because of the following rule",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "without parameters",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message":"Go back", "message":"Go back",
"description":"English: Go back" "description":"English: Go back"
@ -827,40 +655,8 @@
"message":"Logger", "message":"Logger",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Export to cloud storage",
"description": "tooltip"
},
"cloudPull": {
"message": "Import from cloud storage",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "This device name:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Submit",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Revert",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"Network error: Unable to connect to {{url}}", "message":"Network error: Unable to connect to {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Apply changes",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copy to clipboard",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

@ -1,20 +1,16 @@
{ {
"extName":{ "extName":{
"message": "nuTensor", "message":"uMatrix",
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "כוון & לחץ על מנת לחסום/להרשות כל סוג של בקשות שיצאו מהדפדפן שלך. השתמש בזה על מנת לחסום סקריפטים, מסגרות, פרסומות, פייסבוק, וכו'.", "message":"כוון & לחץ על מנת לחסום\/להרשות כל סוג של בקשות שיצאו מהדפדפן שלך. השתמש בזה על מנת לחסום סקריפטים, מסגרות, פרסומות, פייסבוק, וכו'.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message": "nuTensor — פאנל הקונפיגורציות", "message":"uMatrix — פאנל הקונפיגורציות",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — מתעד הבקשות",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message":"הגדרות", "message":"הגדרות",
"description":"a tab in dashboard" "description":"a tab in dashboard"
@ -32,11 +28,7 @@
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "נכסים", "message":"קבצי Hosts",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "עוד",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
@ -59,10 +51,6 @@
"message":"תמונה", "message":"תמונה",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"mediaPrettyName": {
"message": "מדיה",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"pluginPrettyName":{ "pluginPrettyName":{
"message":"פלאגין", "message":"פלאגין",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
@ -71,8 +59,8 @@
"message":"סקריפט", "message":"סקריפט",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
@ -87,28 +75,20 @@
"message":"לא נצפו פעולות רשת בלשונית זו עד לעכשיו.", "message":"לא נצפו פעולות רשת בלשונית זו עד לעכשיו.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "בחר טווח לוקאלי על מנת לראות/ליצור חוקים אשר חלים אך ורק לטווח זה",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "בחר טווח גלובאלי על מנת לראות/ליצור חוקים אשר חלים בכל מקום",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "כבה/אפשר מטריצת פילטור עבור טווח זה", "message":"כבה\/אפשר מטריצת פילטור עבור טווח זה.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
"message": "שמור את כל השינויים הזמניים עבור טווח זה", "message":"שמור את כל השינויים הזמניים עבור טווח זה.",
"description":"Tool tip for the persist button" "description":"Tool tip for the persist button"
}, },
"matrixRevertButtonTip":{ "matrixRevertButtonTip":{
"message": "מחק שינויים זמניים עבור טווח זה", "message":"מחק שינויים זמניים עבור טווח זה.",
"description":"Tool tip for the revert local permission button" "description":"Tool tip for the revert local permission button"
}, },
"matrixReloadButton":{ "matrixReloadButton":{
"message": "טען מחדש את העמוד.\nהחזק את מקש ה Shift על מנת להתעלם מזיכרון מטמון של הדפדפן.", "message":"טען מחדש את העמוד.",
"description":"Tool tip for the reload button" "description":"Tool tip for the reload button"
}, },
"matrix1stPartyLabel":{ "matrix1stPartyLabel":{
@ -123,22 +103,14 @@
"message":"מצב HTTPS נוקשה", "message":"מצב HTTPS נוקשה",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "אסור פעילות של web workers", "message":"זיוף מזהה משתמש",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message":"זיוף מפנה", "message":"זיוף מפנה",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoscriptSpoof": {
"message": "זיוף תגיות <code><noscript></code>",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Reveal canonical names",
"description": "A menu entry in the matrix popup"
},
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
"message":"מחק את כל השינויים הזמניים", "message":"מחק את כל השינויים הזמניים",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
@ -151,20 +123,8 @@
"message":"עבור לפאנל הקונפיגורציות", "message":"עבור לפאנל הקונפיגורציות",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "לא נמצא עמוד",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Import rules",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Save rules",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message": "nuTensor &ndash; סטטיסטיקות", "message":"uMatrix &ndash; סטטיסטיקות",
"description":"" "description":""
}, },
"statsPageGenericStats":{ "statsPageGenericStats":{
@ -172,15 +132,15 @@
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "כותרות (Headers) <a href='https://en.wikipedia.org/wiki/HTTP_cookie'>HTTP cookie</a> שסוכלו: {{count}}", "message":"כותרות (Headers) <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_cookie'>HTTP cookie<\/a> שסוכלו: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "כותרות (Headers) <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referer</a> שסוכלו: {{count}}", "message":"כותרות (Headers) <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referer<\/a> שסוכלו: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "ניסיונות <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hyperlink auditing</a> שסוכלו: {{count}}", "message":"ניסיונות <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink auditing<\/a> שסוכלו: {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
@ -188,7 +148,7 @@
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "ריקונים של <a href='http://diveintohtml5.info/storage.html'>אחסונים לוקליים</a>: {{count}}", "message":"ריקונים של <a href='http:\/\/diveintohtml5.info\/storage.html'>אחסונים לוקליים<\/a>: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
@ -272,179 +232,35 @@
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "בקשות ה HTTP <b>פר עמוד</b>.", "message":"בקשות ה HTTP <b>פר עמוד<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>אתה יכול לבדוק את הפרטים של רוב בקשות HTTP הגולמיות האחרונות אשר יצאו מדף אינטרנט (ראה להלן).</p><p>זה שימושי בעיקר למשתמשים מתקדמים שרוצים לחקור בדיוק מה דף האינטרנט עשה. אבל רישום בקשות ה HTTP הללו דורש זיכרון, ואם לא אכפת לך מהמידע הטכני הזה, אז הזיכרון מתבזבז.</p><p>לכן קיימת אפשרות זו המאפשרת לך להתאים את המספר המרבי של בקשות ה HTTP הכי האחרונות שמיועדות להירשם לבדיקה נוספת.</p><p>הזן &ldquo;<code>0</code>&rdquo; כדי לכבות את הרישום המפורט (וכתוצאה מכך להפחית את השימוש בזיכרון של <i>nuTensor</i>).</p>", "message":"<p>אתה יכול לבדוק את הפרטים של רוב בקשות HTTP הגולמיות האחרונות אשר יצאו מדף אינטרנט (ראה להלן).<\/p><p>זה שימושי בעיקר למשתמשים מתקדמים שרוצים לחקור בדיוק מה דף האינטרנט עשה. אבל רישום בקשות ה HTTP הללו דורש זיכרון, ואם לא אכפת לך מהמידע הטכני הזה, אז הזיכרון מתבזבז.<\/p><p>לכן קיימת אפשרות זו המאפשרת לך להתאים את המספר המרבי של בקשות ה HTTP הכי האחרונות שמיועדות להירשם לבדיקה נוספת.<\/p><p>הזן &ldquo;<code>0<\/code>&rdquo; כדי לכבות את הרישום המפורט (וכתוצאה מכך להפחית את השימוש בזיכרון של <i>uMatrix<\/i>).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message":"רענן", "message":"רענן",
"description":"" "description":""
}, },
"logAll": {
"message": "All",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Tabless",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Current tab",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Reload the tab content",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "ביטוי(י) פילטור",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "עוגייה נמחקה: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "נכשל במחיקת העוגייה: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "זיכרון מטמון נמחק",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "הנכס עודכן: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: The logger",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Clear logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pause logger (discard all incoming data)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Unpause logger",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Logger filtering options",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Not",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "blocked",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "1st-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "3rd-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Details",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Context",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Rule",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Preserve entries from the last {{input}} minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Preserve at most {{input}} entries per tab",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Use {{input}} lines per entry in vertically expanded mode",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "List",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Table",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Plain",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message": "nuTensor &ndash; הגדרות", "message":"uMatrix &ndash; הגדרות",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message": "מטריצה", "message":"תצוגה",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message":"גודל טקסט:", "message":"גודל טקסט:",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "הראה את מספר הבקשות החסומות הייחודיות על האייקון", "message":"רגיל",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"גדול",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
@ -455,44 +271,44 @@
"message":"נוחות", "message":"נוחות",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "רמת הגדרות דיפולטיבית:", "message":"לאחר סגירת המטריצה, טען מחדש בצורה חכמה את הלשוניות הבאות:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "גלובלי", "message":"ללא",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "דומיין", "message":"נוכחי",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "אתר", "message":"כולם",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "הסתר את המקום שנשאר מחסימה של אלמנטים", "message":"בכל פעם שאתה עושה שינויים במטריצה אשר יכולים להשפיע על ההצגה ו\/או התנהגות של דף או יותר, <i>uMatrix<\/i> יטען מחדש את העמודים המושפעים אוטומטית כשתסגור את המטריצה.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "הסתר את המקום שנשאר מחסימה של אלמנטים", "message":"מסגרות חסומות:&ensp;צבע",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "זייף תגיות <code><noscript></code> כאשר סקריפטים צד-1 חסומים", "message":"אטימות",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "אפשר תמיכת אחסון ענן", "message":"הראה את מספר הבקשות החסומות הייחודיות על האייקון",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "כבה רמזים צצים", "message":"הסתר את המקום שנשאר מחסימה של אלמנטים",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message": "nuTensor &ndash; פרטיות", "message":"uMatrix &ndash; פרטיות",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
@ -500,7 +316,7 @@
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p>עוגיות ברשימה השחורה לא נמנעות על ידי <i>nuTensor</i> מלהיכנס לדפדפן שלך. אולם הן כן מנועות מלצאת מהדפדפן שלך, וזה מה שחשוב באמת. לא לחסום עוגיות לפני שהן נכנסות לדפדפן שלך נותן לך את ההזדמנות להיות מודע לכך שאתר ניסה להשתמש בעוגיות, ויתר על כן כדי לבדוק את תוכנם, אם תרצה.</p><p>כאשר <i>nuTensor</i> נתקל בעוגייה שברשימה השחורה, הן יכולות להיות מוסרות מהדפדפן שלך אם תרצה בכך.</p><p><b>הערה חשובה:</b> תוספים יכולים לבצע בקשות רשת במהלך פעולתם הרגילה. בקשות אלה יכולות לגרום לכך שעוגיות יווצרו בדפדפן. אם הדומיין שממנה העוגייה הגיעה לא ברשימה הלבנה, העוגייה תמחק מהדפדפן על ידי <i>µMatrix</i> אם אפשרות זו מאופשרת. אז תהיה בטוח לגבי זה שהדומיין(ים) אשר איתם התוסף יכול לתקשר נמצא(ים) ברשימה הלבנה.</p>", "message":"<p>עוגיות ברשימה השחורה לא נמנעות על ידי <i>uMatrix<\/i> מלהיכנס לדפדפן שלך. אולם הן כן מנועות מלצאת מהדפדפן שלך, וזה מה שחשוב באמת. לא לחסום עוגיות לפני שהן נכנסות לדפדפן שלך נותן לך את ההזדמנות להיות מודע לכך שאתר ניסה להשתמש בעוגיות, ויתר על כן כדי לבדוק את תוכנם, אם תרצה.<\/p><p>כאשר <i>uMatrix<\/i> נתקל בעוגייה שברשימה השחורה, הן יכולות להיות מוסרות מהדפדפן שלך אם תרצה בכך.<\/p><p><b>הערה חשובה:<\/b> תוספות יכולות לבצע בקשות רשת במהלך פעולתן הרגילה. בקשות אלה יכולות לגרום לכך שעוגיות יווצרו בדפדפן. אם הדומיין שממנה העוגייה הגיעה לא ברשימה הלבנה, העוגייה תמחק מהדפדפן על ידי <i>µMatrix<\/i> אם אפשרות זו מאופשרת. אז תהיה בטוח לגבי זה שהדומיין(ים) אשר איתם התוסף יכול לתקשר נמצא(ים) ברשימה הלבנה.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
@ -512,11 +328,11 @@
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;עוגיית סשן ... נמחקת כאשר אתה מסיים הסשן של הדפדפן. עוגיית הסשן מאוכסנת בזיכרון זמני ולא נשמרת לאחר שהדפדפן נסגר.&rdquo;</p><p>אלא שהדבר <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>יכול לא לקרות</a> בדפדפנים מסויימים. כמו כן, לחלק, הפעולה של לסגור את הדפדפן על מנת שעוגיות הסשן יימחקו יכולה להיות פעולה מספיק מוקדמת.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;עוגיית סשן ... נמחקת כאשר אתה מסיים הסשן של הדפדפן. עוגיית הסשן מאוכסנת בזיכרון זמני ולא נשמרת לאחר שהדפדפן נסגר.&rdquo;<\/p><p>אלא שהדבר <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>יכול לא לקרות<\/a> בדפדפנים מסויימים. כמו כן, לחלק, הפעולה של לסגור את הדפדפן על מנת שעוגיות הסשן יימחקו יכולה להיות פעולה מספיק מוקדמת.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "מחק <a href='https://en.wikipedia.org/wiki/Web_storage'>איחסונים לוקאליים</a> שנרשמו על ידי דומיינים חסומים", "message":"מחק <a href='https:\/\/en.wikipedia.org\/wiki\/Web_storage'>איחסונים לוקאליים<\/a> שנרשמו על ידי דומיינים חסומים",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
@ -532,15 +348,15 @@
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>יש אתרי אינטרנט שממש רוצים לעקוב אחרייך, כל כך שהם ישתמשו בטריקים לא כל כך יפים על מנת לעקוף את כל הדברים שאתה עושה כדי לא להיות במעקב.</p><p>כמה מהטריקים האלה מתבססים<sup>[1, 2]</sup> על <a href='https://en.wikipedia.org/wiki/Web_cache'>הזיכרון מטמון של הדפדפן</a>, אשר תוכנו לרוב נמצא הרבה זמן על המחשב מכיוון שלעיתים רחוקות משתמשים ישקיעו מזמנם לנקות באופן קבוע את הזיכרון מטמון של הדפדפן שלהם.</p><p>יש אי נעימות קלה לנקות את הזיכרון מטמון של הדפדפן באופן קבוע (רוב הסיכויים שלא תשים לב כשזה קורה), והתועלת היא במניעה של העוקבים הנתעבים האלה מחדירה לפרטיות שלך.</p><p>סמן אפשרות זו בשביל ש <i>nuTensor</i> יעשה זאת בשבילך, כל כמה זמן שתרצה.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;מניעה מעקב אינטרנטי על ידי שימוש בזיכרון מטמון של הדפדפן&rdquo;</a>\n[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;עוגיות חסרי העוגיות&rdquo;</a></p>", "message":"<p>יש אתרי אינטרנט שממש רוצים לעקוב אחרייך, כל כך שהם ישתמשו בטריקים לא כל כך יפים על מנת לעקוף את כל הדברים שאתה עושה כדי לא להיות במעקב.<\/p><p>כמה מהטריקים האלה מתבססים<sup style='font-size:smaller'>[1, 2]<\/sup> על <a href='https:\/\/en.wikipedia.org\/wiki\/Web_cache'>הזיכרון מטמון של הדפדפן<\/a>, אשר תוכנו לרוב נמצא הרבה זמן על המחשב מכיוון שלעיתים רחוקות משתמשים ישקיעו מזמנם לנקות באופן קבוע את הזיכרון מטמון של הדפדפן שלהם.<\/p><p>יש אי נעימות קלה לנקות את הזיכרון מטמון של הדפדפן באופן קבוע (רוב הסיכויים שלא תשים לב כשזה קורה), והתועלת היא במניעה של העוקבים המגעילים האלה מחדירה לפרטיות שלך.<\/p><p>אפשר אפשרות זו בשביל ש <i>uMatrix<\/i> יעשה את זה בשבילך, כל כמה זמן שתרצה.<\/p><p style='font-size:smaller'>[1]<a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;מניעה מעקב אינטרנטי על ידי שימוש בזיכרון מטמון של הדפדפן&rdquo;<\/a><br>[2]<a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;עוגיות חסרי העוגיות&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "זייף את ה <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referer</a> של בקשות צד שלישי.", "message":"זייף את ה <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referer<\/a> של בקשות צד שלישי.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "מתוך ויקיפדיה:<blockquote>HTTP referer זוהי כותרת (header) של בקשת HTTP אשר מזהה את הכתובת של דף האינטרנט שמקושר למשאב שמבוקש. ... <b>משום שהמידע על המפנה (referer) יכול לפגוע בפרטיות, מספר דפדפנים מאפשרים למשתמש לבטל את השליחה של המידע של המפנה.</b></blockquote>אם אפשרות זו מאופשרת, <i>nuTensor</i> יזייף את המידע של ה HTTP referrer אם שם הדומיין של ה HTTP referrer הוא צד שלישי לשם הדומיין של בקשת הרשת.", "message":"<p>מתוך ויקיפדיה:<\/p><blockquote>HTTP referer זוהי כותרת (header) של בקשת HTTP אשר מזהה את הכתובת של דף האינטרנט שמקושר למשאב שמבוקש. ... <b>משום שהמידע על המפנה (referer) יכול לפגוע בפרטיות, מספר דפדפנים מאפשרים למשתמש לבטל את השליחה של המידע של המפנה.<\/b><\/blockquote><p>אם אפשרות זו מאופשרת, <i>uMatrix<\/i> יזייף את המידע של ה HTTP referer אם שם הדומיין של ה HTTP referrer הוא צד שלישי לשם הדומיין של בקשת הרשת.",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
@ -548,15 +364,35 @@
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>מתוך <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p>אם דף HTTPS (מאובטח) מכיל בתוכו תוכן שהובא באמצעות בקשת HTTP, אז החיבור מוצפן באופן חלקי בלבד: התוכן הלא מוצפן נגיש להסנפה ותוקפים שנמצאים באמצע יכולים לשנות אותו, ולכן החיבור כבר לא בטוח. כאשר דף אינטרנט מציג התנהגות זו, זה נקרא דף עם תוכן מעורב.</blockquote>", "message":"<p>מתוך <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a>:<\/p>אם דף HTTPS (מאובטח) מכיל בתוכו תוכן שהובא באמצעות בקשת HTTP, אז החיבור מוצפן באופן חלקי בלבד: התוכן הלא מוצפן נגיש להסנפה ותוקפים שנמצאים באמצע יכולים לשנות אותו, ולכן החיבור כבר לא בטוח. כאשר דף אינטרנט מציג התנהגות זו, זה נקרא דף עם תוכן מעורב.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "חסום את כל הניסיונות ל<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hyperlink auditing</a>.", "message":"חסום את כל הניסיונות ל <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink auditing<\/a>.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>Hyperlink auditing זהו מנגנון אשר מאפשר לצד, <b>כל צד</b>, להיות מודע על איזה קישור בדיוק המשתמש לחץ בדף אינטרנט ספציפי. במהות שלו זוהי תכונת מעקב: היא מאפשרת לדף אינטרנט, או לכל אתר צד שלישי לדף אינטרנט זה, להיות מודע לגבי איזה קישור לחצת באיזה דף של האתר שלהם. המטרה היחידה היא לעקוב אחר פעילות הגלישה שלך.</p>", "message":"<p>Hyperlink auditing זהו מנגנון אשר מאפשר לצד, <b>כל צד<\/b>, להיות מודע על איזה קישור בדיוק המשתמש לחץ בדף אינטרנט ספציפי. במהות שלו זוהי תכונת מעקב: היא מאפשרת לדף אינטרנט, או לכל אתר צד שלישי לדף אינטרנט זה, להיות מודע לגבי איזה קישור לחצת באיזה דף של האתר שלהם. המטרה היחידה היא לעקוב אחר פעילות הגלישה שלך.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"החלף את הערך של <a href='https:\/\/en.wikipedia.org\/wiki\/User_agent'>מזהה המשתמש<\/a> על ידי בחירה באקראי במזהה חדש מהרשימה למטה כל",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"דקות.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>לפי ה <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] הדפדפן שלך שולח כותרת (header) של &lsquo;מזהה משתמש&rsquo; לאתר שאומר בדיוק באיזו מערכת הפעלה ודפדפן אתה משתמש. מידע זה יכול לעזור להבדיל בין משתמש אינטרנט אחד לשני בגלל שוני הגרסאות, שלפעמים מהותי, מאדם לאדם. [...] <b> התוכן של מזהה המשתמש הופך לבעיית פרטיות אמיתית<\/b>.&rdquo;<p>אפשרות זו מאפשרת לך להתייחס לבעיית הפרטיות שהועלתה על ידי ה EFF.<\/p><p>אתה יכול להכניס רשימה משלך של מזהי משתמשים. מזהה משתמש אחד בכל שורה. שורות ריקות ושורות עם קידומת &lsquo;#&rsquo; לא יפורשו.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"בקשות מאחורי-הקלעים",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"<p>על פי <a href='https:\/\/www.google.com\/intl\/iw\/chrome\/browser\/privacy\/whitepaper.html'>Google Chrome Privacy Whitepaper<\/a>, <i>כרומיום<\/i> עשוי לשלוח בקשות HTTP ל <i>Google<\/i> מבלי שהמשתמש במפורש ביקר בדף אינטרנט. בואו נקרא לבקשות המיוחדות האלה בקשות <strong>מאחורי הקלעים<\/strong>. כמו כן, הרחבות דפדפן מותקנות אחרות יכולות לשלוח <strong>מאחורי הקלעים<\/strong> בקשות HTTP. <\/p><p><i>uMatrix<\/i> מאפשר לך ליירט ולטפל בבקשות אלה כמו כל בקשה אחרת: הן יכולות להיות מעובדות על מנת לאפשר\/לחסום אותן בהתאם לרשימה הלבנה\/השחורה שלך.<\/p><p>לחץ על אייקון התוסף בעת הצפייה בדף זה כדי להתחיל. קריאה נחוצה:<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Behind-the-scene-requests'>בקשות מאחורי הקלעים.<\/a><\/p><div class='warn'><p><span style='color:red; font-weight:bold'>היזהר!<\/span> חסימה של בקשות <strong>מאחורי הקלעים<\/strong> יכולה פטונציאלית לגרום ל <a href='https:\/\/github.com\/gorhill\/httpswitchboard\/issues\/27'>בעיה<\/a> כשהמשתמש רוצה להתקין תוסף מחנות האינטרנט של Google Chrome (ואפילו אולי לחסום מתוספים להתעדכן), ולכן יש את היכולת להשבית את היכולת הזאת מכאן. החסימה יכולה גם לגרום לתוספים אחרים שכבר מותקנים לא לעבוד כמו שצריך (אלה שמבקשים עבור נתונים מרוחקים).<\/p><p>אפילו אם תכונה זו אינה מאופשרת, <strong>מאחורי הקלעים<\/strong> בקשות עדיין נרשמות על ידי <i>uMatrix<\/i>. אתה יכול לבדוק את הבקשות האלה בעמוד <a href='dashboard.html#statistics'>הסטטיסטיקות.<\/a><\/p>",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
@ -603,10 +439,6 @@
"message":"חוקי-המטריצה-שלי.txt", "message":"חוקי-המטריצה-שלי.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "קבצי Hosts",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message":"כל הדומיינים בקובץ ה hosts נטענים כחסומים בטווח הגלובלי.", "message":"כל הדומיינים בקובץ ה hosts נטענים כחסומים בטווח הגלובלי.",
"description":"" "description":""
@ -628,7 +460,7 @@
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "עדכן נכסים אוטומטית", "message":"עדכן אוטומטית את קבצי ה hosts.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -659,32 +491,8 @@
"message":"לא עדכני", "message":"לא עדכני",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "אוסף חוקים",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "אוסף החוקים מיובאים מהחלון הקופץ <em>לפי דרישה</em>, כלומר <b>אך ורק</b> באמצעות אינטראקציה של המשתמש.",
"description": ""
},
"assetsImportLabel": {
"message": "ייבא...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "My hosts",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "My recipes",
"description": ""
},
"rawSettingsWarning": {
"message": "אזהרה! שנה הגדרות אלה על אחריותך בלבד.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>רשימת שינויים</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>רשימת שינויים<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
@ -692,11 +500,11 @@
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>דוקומנטציה</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>דוקומנטציה<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/gorhill/httpswitchboard/wiki/Permissions'>הרשאות</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>הרשאות<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
@ -705,7 +513,7 @@
}, },
"aboutIssues":{ "aboutIssues":{
"message":"באגים ובעיות", "message":"באגים ובעיות",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message":"תורמים", "message":"תורמים",
@ -740,7 +548,7 @@
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "כל ההגדרות שלך יוחלפו בנתונים שגובו ב {{time}}, ו nuTensor יופעל מחדש.\n\nהאם להחליף את כל ההגדרות הקיימות בנתונים המגובים?", "message":"כל ההגדרות שלך יוחלפו בנתונים שגובו ב {{time}}, ו uMatrix יופעל מחדש.\n\nהאם להחליף את כל ההגדרות הקיימות בנתונים המגובים?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
@ -759,18 +567,38 @@
"message":"אזהרה! פעולה זו תוביל למחיקה של כל ההגדרות המותאמות אישית שלך. האם אתה בטוח שאתה רוצה להמשיך?", "message":"אזהרה! פעולה זו תוביל למחיקה של כל ההגדרות המותאמות אישית שלך. האם אתה בטוח שאתה רוצה להמשיך?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"ביטוי(י) פילטור",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"מחליף את ה user agent שלך ב: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"עוגייה נמחקה: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"נכשל במחיקת העוגייה: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"זיכרון מטמון נמחק",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"הנכס עודכן: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor מנע מהעמוד הבא מלהיטען:", "message":"uMatrix מנע מהעמוד הבא מלהיטען:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message":"בגלל החוק הבא", "message":"בגלל החוק הבא",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "without parameters",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message":"חזור", "message":"חזור",
"description":"English: Go back" "description":"English: Go back"
@ -827,40 +655,8 @@
"message":"מתעד", "message":"מתעד",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "ייצא לאחסון ענן",
"description": "tooltip"
},
"cloudPull": {
"message": "ייבא מתוך אחסון ענן",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "שם התקן זה:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "שלח",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "שחזר",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"שגיאת רשת: לא הוצלח להתחבר ל {{url}}", "message":"שגיאת רשת: לא הוצלח להתחבר ל {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "החל שינויים",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copy to clipboard",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

@ -4,17 +4,13 @@
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "Point & click to forbid/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.", "message":"Point & click to forbid\/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message":"µमैट्रिक्स— डैशबोर्ड", "message":"µमैट्रिक्स— डैशबोर्ड",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — Logger",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message":"सेटिंग्स", "message":"सेटिंग्स",
"description":"a tab in dashboard" "description":"a tab in dashboard"
@ -32,11 +28,7 @@
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "Assets", "message":"होस्ट फ़ाइलें",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "More",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
@ -59,10 +51,6 @@
"message":"छवि", "message":"छवि",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"mediaPrettyName": {
"message": "media",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"pluginPrettyName":{ "pluginPrettyName":{
"message":"plugin", "message":"plugin",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
@ -71,8 +59,8 @@
"message":"लिपि", "message":"लिपि",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
@ -87,28 +75,20 @@
"message":"No net traffic seen for this tab so far.", "message":"No net traffic seen for this tab so far.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Select a local scope to see/create rules which apply only in that scope",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Select the global scope to see/create rules which apply everywhere",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "Disable/enable matrix filtering for this scope", "message":"Disable\/enable matrix filtering for this scope.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
"message": "Save all temporary changes for this scope", "message":"Save all temporary changes for this scope.",
"description":"Tool tip for the persist button" "description":"Tool tip for the persist button"
}, },
"matrixRevertButtonTip":{ "matrixRevertButtonTip":{
"message": "Revert temporary changes for this scope", "message":"Revert temporary changes for this scope.",
"description":"Tool tip for the revert local permission button" "description":"Tool tip for the revert local permission button"
}, },
"matrixReloadButton":{ "matrixReloadButton":{
"message": "Reload the page. \nPress Shift to bypass the browser cache.", "message":"Reload the page.",
"description":"Tool tip for the reload button" "description":"Tool tip for the reload button"
}, },
"matrix1stPartyLabel":{ "matrix1stPartyLabel":{
@ -120,23 +100,15 @@
"description":"Appears in the metadata row of bottom-most group: **mind the limited width**" "description":"Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent":{ "matrixSwitchNoMixedContent":{
"message": "Forbid mixed content", "message":"Strict HTTPS",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Forbid web workers", "message":"User agent spoofing",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message": "Spoof <code>Referer</code> header", "message":"Referrer spoofing",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoscriptSpoof": {
"message": "Spoof <code><noscript></code> tags",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Reveal canonical names",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
@ -151,20 +123,8 @@
"message":"Go to dashboard", "message":"Go to dashboard",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "No web page found",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Import rules",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Save rules",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message": "nuTensor &ndash; Statistics", "message":"uMatrix &ndash; Statistics",
"description":"" "description":""
}, },
"statsPageGenericStats":{ "statsPageGenericStats":{
@ -172,15 +132,15 @@
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_cookie'>HTTP cookie</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_cookie'>HTTP cookie<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referer</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referer<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hyperlink auditing</a> attempts foiled: {{count}}", "message":"<a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink auditing<\/a> attempts foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
@ -188,7 +148,7 @@
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "<a href='http://diveintohtml5.info/storage.html'>Local storages</a> emptied: {{count}}", "message":"<a href='http:\/\/diveintohtml5.info\/storage.html'>Local storages<\/a> emptied: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
@ -272,179 +232,35 @@
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "HTTP requests <b>per page</b>", "message":"HTTP requests <b>per page<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).</p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.</p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.</p><p>Enter &ldquo;<code>0</code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>nuTensor</i>).</p>", "message":"<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).<\/p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.<\/p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.<\/p><p>Enter &ldquo;<code>0<\/code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>uMatrix<\/i>).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message":"रिफ्रेश", "message":"रिफ्रेश",
"description":"" "description":""
}, },
"logAll": {
"message": "All",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Tabless",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Current tab",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Reload the tab content",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "filter expression(s)",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "cookie deleted: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "failed to delete cookie: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "browser cache cleared",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "asset updated: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: The logger",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Clear logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pause logger (discard all incoming data)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Unpause logger",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Logger filtering options",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Not",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "blocked",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "1st-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "3rd-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Details",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Context",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Rule",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Preserve entries from the last {{input}} minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Preserve at most {{input}} entries per tab",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Use {{input}} lines per entry in vertically expanded mode",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "List",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Table",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Plain",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message":"µMatrix &ndash; सेटिंग्स", "message":"µMatrix &ndash; सेटिंग्स",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message":"दिखावट", "message":"दिखावट",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message":"पाठ का आकार", "message":"पाठ का आकार",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "Show the number of blocked resources on the icon", "message":"नोर्मल",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"बड़ा",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
@ -455,52 +271,52 @@
"message":"Convenience", "message":"Convenience",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "Default scope level:", "message":"When the matrix is closed, smart reload these tabs:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "Global", "message":"कोई नहीं",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "Domain", "message":"Current",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "Site", "message":"All",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "Hide placeholder of blocked elements", "message":"Whenever you make changes in the matrix which can affect the display and\/or behavior of one or more pages, <i>uMatrix<\/i> will reload affected pages automatically when you close the matrix.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "Hide placeholder of blacklisted elements", "message":"Blocked frames:&ensp;Color",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "Spoof <code><noscript></code> tags when 1st-party scripts are blocked", "message":"Opacity",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "Enable cloud storage support", "message":"Show the number of distinct requests on the icon",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "Disable tooltips", "message":"Collapse placeholder of blocked elements",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message": "nuTensor &ndash; Privacy", "message":"uMatrix &ndash; Privacy",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
"message": "Delete blocked cookies", "message":"Delete blocked cookies.",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p>Blacklisted cookies are not prevented by <i>nuTensor</i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.</p><p>Once these blacklisted cookies have been accounted for by <i>nuTensor</i>, they can be removed from your browser if you wish so.</p><p><b>Important note:</b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>nuTensor</i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.</p>", "message":"<p>Blacklisted cookies are not prevented by <i>uMatrix<\/i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.<\/p><p>Once these blacklisted cookies have been accounted for by <i>uMatrix<\/i>, they can be removed from your browser if you wish so.<\/p><p><b>Important note:<\/b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>uMatrix<\/i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
@ -508,15 +324,15 @@
"description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt2":{ "privacyDeleteNonBlockedSessionCookiesPrompt2":{
"message": " minutes after the last time they have been used", "message":" minutes after the last time they have been used.",
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;</p><p>Except that this <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>might not be happening</a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;<\/p><p>Except that this <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>might not be happening<\/a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "Delete <a href='https://en.wikipedia.org/wiki/Web_storage'>local storage</a> content set by blocked hostnames", "message":"Delete <a href='https:\/\/en.wikipedia.org\/wiki\/Web_storage'>local storage<\/a> content set by blocked hostnames",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
@ -528,35 +344,55 @@
"description":"First part of 'Clear browser cache every [n] minutes'" "description":"First part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCachePrompt2":{ "privacyClearCachePrompt2":{
"message": "minutes", "message":"minutes.",
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.</p><p>A few of these tricks rely<sup>[1, 2]</sup> on the <a href='https://en.wikipedia.org/wiki/Web_cache'>browser cache</a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.</p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.</p><p>Check this option to have <i>nuTensor</i> do it for you, at the interval you wish.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a>\n[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>", "message":"<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.<\/p><p>A few of these tricks rely<sup style='font-size:smaller'>[1, 2]<\/sup> on the <a href='https:\/\/en.wikipedia.org\/wiki\/Web_cache'>browser cache<\/a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.<\/p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.<\/p><p>Check this option to have <i>uMatrix<\/i> do it for you, at the interval you wish.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Cookieless cookies&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "Spoof <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referrer</a> string of third-party requests", "message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referrer<\/a> string of third-party requests.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "From Wikipedia:<blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.</b></blockquote>If this setting is checked, <i>nuTensor</i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.", "message":"<p>From Wikipedia:<\/p><blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.<\/b><\/blockquote><p>If this setting is checked, <i>uMatrix<\/i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
"message": "Strict HTTPS: forbid mixed content", "message":"Strict HTTPS: forbid mixed content.",
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>From <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.</blockquote>", "message":"<p>From <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a>:<\/p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "Block all <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>hyperlink auditing</a> attempts", "message":"Block all <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>hyperlink auditing<\/a> attempts.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>Hyperlink auditing is a mechanism which allow a party, <b>any party</b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.</p>", "message":"<p>Hyperlink auditing is a mechanism which allow a party, <b>any party<\/b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/User_agent'>User-Agent<\/a> string by randomly picking a new one below every",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"minutes.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>According to the <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] your browser sends a &lsquo;User Agent&rsquo; header to the website saying precisely which operating system and web browser you are using. This information could help distinguish Internet users from one another because these versions differ, often considerably, from person to person. [...] <b>the User Agent string becomes a real privacy problem<\/b>.&rdquo;<p>This option allows you to address the privacy issue raised by the EFF.<\/p><p>You can supply your own list of user agent strings. One string per line. Blank lines and lines prefixed with &lsquo;#&rsquo; will be ignored.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Behind-the-scene requests",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
@ -603,10 +439,6 @@
"message":"my-umatrix-rules.txt", "message":"my-umatrix-rules.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "Hosts files",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.", "message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.",
"description":"" "description":""
@ -628,7 +460,7 @@
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "Auto-update assets", "message":"Auto-update hosts files.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -640,7 +472,7 @@
"description":"" "description":""
}, },
"hostsFilesExternalListsHint":{ "hostsFilesExternalListsHint":{
"message": "Import external assets here: \nOne URL per line; invalid URLs will be silently ignored.", "message":"One URL per line. Lines prefixed with &lsquo;#&rsquo; will be ignored. Invalid URLs will be silently ignored.",
"description":"" "description":""
}, },
"hostsFilesExternalListsParse":{ "hostsFilesExternalListsParse":{
@ -659,32 +491,8 @@
"message":"outdated", "message":"outdated",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "Ruleset recipes",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Ruleset recipes are imported from the popup panel <em>on demand</em>, i.e. <b>only</b> through user interaction.",
"description": ""
},
"assetsImportLabel": {
"message": "Import...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "My hosts",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "My recipes",
"description": ""
},
"rawSettingsWarning": {
"message": "Warning! Change these raw configuration settings at your own risk.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Change log</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>Change log<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
@ -692,11 +500,11 @@
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Documentation</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Documentation<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki/Permissions'>Permissions</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>Permissions<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
@ -704,8 +512,8 @@
"description":"" "description":""
}, },
"aboutIssues":{ "aboutIssues":{
"message": "Issue tracker", "message":"Bugs and issues",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message":"Contributors", "message":"Contributors",
@ -740,7 +548,7 @@
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "All your settings will be overwritten using data backed up on {{time}}, and nuTensor will restart.\n\nOverwrite all existing settings using backed up data?", "message":"All your settings will be overwritten using data backed up on {{time}}, and uMatrix will restart.\n\nOverwrite all existing settings using backed up data?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
@ -759,18 +567,38 @@
"message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?", "message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"filter expression(s)",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"spoofing user agent with: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"cookie deleted: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"failed to delete cookie: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"browser cache cleared",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"asset updated: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor has prevented the following page from loading:", "message":"uMatrix has prevented the following page from loading:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message":"Because of the following rule", "message":"Because of the following rule",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "without parameters",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message":"Go back", "message":"Go back",
"description":"English: Go back" "description":"English: Go back"
@ -827,40 +655,8 @@
"message":"Logger", "message":"Logger",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Export to cloud storage",
"description": "tooltip"
},
"cloudPull": {
"message": "Import from cloud storage",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "This device name:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Submit",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Revert",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"Network error: Unable to connect to {{url}}", "message":"Network error: Unable to connect to {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Apply changes",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copy to clipboard",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

@ -1,20 +1,16 @@
{ {
"extName":{ "extName":{
"message": "nuTensor", "message":"uMatrix",
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "Point & click to forbid/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.", "message":"Point & click to forbid\/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message": "nuTensor — Dashboard", "message":"uMatrix — Dashboard",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — Logger",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message":"Settings", "message":"Settings",
"description":"a tab in dashboard" "description":"a tab in dashboard"
@ -32,11 +28,7 @@
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "Assets", "message":"Hosts files",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "More",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
@ -59,10 +51,6 @@
"message":"image", "message":"image",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"mediaPrettyName": {
"message": "media",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"pluginPrettyName":{ "pluginPrettyName":{
"message":"plugin", "message":"plugin",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
@ -71,8 +59,8 @@
"message":"script", "message":"script",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
@ -87,28 +75,20 @@
"message":"No net traffic seen for this tab so far.", "message":"No net traffic seen for this tab so far.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Select a local scope to see/create rules which apply only in that scope",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Select the global scope to see/create rules which apply everywhere",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "Disable/enable matrix filtering for this scope", "message":"Disable\/enable matrix filtering for this scope.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
"message": "Save all temporary changes for this scope", "message":"Save all temporary changes for this scope.",
"description":"Tool tip for the persist button" "description":"Tool tip for the persist button"
}, },
"matrixRevertButtonTip":{ "matrixRevertButtonTip":{
"message": "Revert temporary changes for this scope", "message":"Revert temporary changes for this scope.",
"description":"Tool tip for the revert local permission button" "description":"Tool tip for the revert local permission button"
}, },
"matrixReloadButton":{ "matrixReloadButton":{
"message": "Reload the page. \nPress Shift to bypass the browser cache.", "message":"Reload the page.",
"description":"Tool tip for the reload button" "description":"Tool tip for the reload button"
}, },
"matrix1stPartyLabel":{ "matrix1stPartyLabel":{
@ -120,23 +100,15 @@
"description":"Appears in the metadata row of bottom-most group: **mind the limited width**" "description":"Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent":{ "matrixSwitchNoMixedContent":{
"message": "Forbid mixed content", "message":"Strict HTTPS",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Forbid web workers", "message":"User agent spoofing",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message": "Spoof <code>Referer</code> header", "message":"Referrer spoofing",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoscriptSpoof": {
"message": "Spoof <code><noscript></code> tags",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Reveal canonical names",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
@ -151,20 +123,8 @@
"message":"Go to dashboard", "message":"Go to dashboard",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "No web page found",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Import rules",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Save rules",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message": "nuTensor &ndash; Statistics", "message":"uMatrix &ndash; Statistics",
"description":"" "description":""
}, },
"statsPageGenericStats":{ "statsPageGenericStats":{
@ -172,15 +132,15 @@
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_cookie'>HTTP cookie</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_cookie'>HTTP cookie<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referer</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referer<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hyperlink auditing</a> attempts foiled: {{count}}", "message":"<a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink auditing<\/a> attempts foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
@ -188,7 +148,7 @@
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "<a href='http://diveintohtml5.info/storage.html'>Local storages</a> emptied: {{count}}", "message":"<a href='http:\/\/diveintohtml5.info\/storage.html'>Local storages<\/a> emptied: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
@ -272,179 +232,35 @@
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "HTTP requests <b>per page</b>", "message":"HTTP requests <b>per page<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).</p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.</p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.</p><p>Enter &ldquo;<code>0</code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>nuTensor</i>).</p>", "message":"<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).<\/p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.<\/p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.<\/p><p>Enter &ldquo;<code>0<\/code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>uMatrix<\/i>).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message":"Refresh", "message":"Refresh",
"description":"" "description":""
}, },
"logAll": {
"message": "All",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Tabless",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Current tab",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Reload the tab content",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "filter expression(s)",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "cookie deleted: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "failed to delete cookie: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "browser cache cleared",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "asset updated: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: The logger",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Clear logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pause logger (discard all incoming data)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Unpause logger",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Logger filtering options",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Not",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "blocked",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "1st-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "3rd-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Details",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Context",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Rule",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Preserve entries from the last {{input}} minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Preserve at most {{input}} entries per tab",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Use {{input}} lines per entry in vertically expanded mode",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "List",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Table",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Plain",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message": "nuTensor &ndash; Settings", "message":"uMatrix &ndash; Settings",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message": "Matrix", "message":"Appearance",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message":"Text size:", "message":"Text size:",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "Show the number of blocked resources on the icon", "message":"Normal",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"Large",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
@ -455,52 +271,52 @@
"message":"Convenience", "message":"Convenience",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "Default scope level:", "message":"When the matrix is closed, smart reload these tabs:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "Global", "message":"None",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "Domain", "message":"Current",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "Site", "message":"All",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "Hide placeholder of blocked elements", "message":"Whenever you make changes in the matrix which can affect the display and\/or behavior of one or more pages, <i>uMatrix<\/i> will reload affected pages automatically when you close the matrix.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "Hide placeholder of blacklisted elements", "message":"Blocked frames:&ensp;Color",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "Spoof <code><noscript></code> tags when 1st-party scripts are blocked", "message":"Opacity",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "Enable cloud storage support", "message":"Show the number of distinct requests on the icon",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "Disable tooltips", "message":"Collapse placeholder of blocked elements",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message": "nuTensor &ndash; Privacy", "message":"uMatrix &ndash; Privacy",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
"message": "Delete blocked cookies", "message":"Delete blocked cookies.",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p>Blacklisted cookies are not prevented by <i>nuTensor</i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.</p><p>Once these blacklisted cookies have been accounted for by <i>nuTensor</i>, they can be removed from your browser if you wish so.</p><p><b>Important note:</b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>nuTensor</i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.</p>", "message":"<p>Blacklisted cookies are not prevented by <i>uMatrix<\/i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.<\/p><p>Once these blacklisted cookies have been accounted for by <i>uMatrix<\/i>, they can be removed from your browser if you wish so.<\/p><p><b>Important note:<\/b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>uMatrix<\/i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
@ -508,15 +324,15 @@
"description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt2":{ "privacyDeleteNonBlockedSessionCookiesPrompt2":{
"message": " minutes after the last time they have been used", "message":" minutes after the last time they have been used.",
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;</p><p>Except that this <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>might not be happening</a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;<\/p><p>Except that this <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>might not be happening<\/a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "Delete <a href='https://en.wikipedia.org/wiki/Web_storage'>local storage</a> content set by blocked hostnames", "message":"Delete <a href='https:\/\/en.wikipedia.org\/wiki\/Web_storage'>local storage<\/a> content set by blocked hostnames",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
@ -528,35 +344,55 @@
"description":"First part of 'Clear browser cache every [n] minutes'" "description":"First part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCachePrompt2":{ "privacyClearCachePrompt2":{
"message": "minutes", "message":"minutes.",
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.</p><p>A few of these tricks rely<sup>[1, 2]</sup> on the <a href='https://en.wikipedia.org/wiki/Web_cache'>browser cache</a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.</p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.</p><p>Check this option to have <i>nuTensor</i> do it for you, at the interval you wish.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a>\n[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>", "message":"<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.<\/p><p>A few of these tricks rely<sup style='font-size:smaller'>[1, 2]<\/sup> on the <a href='https:\/\/en.wikipedia.org\/wiki\/Web_cache'>browser cache<\/a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.<\/p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.<\/p><p>Check this option to have <i>uMatrix<\/i> do it for you, at the interval you wish.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Cookieless cookies&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "Spoof <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referrer</a> string of third-party requests", "message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referrer<\/a> string of third-party requests.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "From Wikipedia:<blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.</b></blockquote>If this setting is checked, <i>nuTensor</i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.", "message":"<p>From Wikipedia:<\/p><blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.<\/b><\/blockquote><p>If this setting is checked, <i>uMatrix<\/i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
"message": "Strict HTTPS: forbid mixed content", "message":"Strict HTTPS: forbid mixed content.",
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>From <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.</blockquote>", "message":"<p>From <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a>:<\/p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "Block all <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>hyperlink auditing</a> attempts", "message":"Block all <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>hyperlink auditing<\/a> attempts.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>Hyperlink auditing is a mechanism which allow a party, <b>any party</b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.</p>", "message":"<p>Hyperlink auditing is a mechanism which allow a party, <b>any party<\/b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/User_agent'>User-Agent<\/a> string by randomly picking a new one below every",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"minutes.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>According to the <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] your browser sends a &lsquo;User Agent&rsquo; header to the website saying precisely which operating system and web browser you are using. This information could help distinguish Internet users from one another because these versions differ, often considerably, from person to person. [...] <b>the User Agent string becomes a real privacy problem<\/b>.&rdquo;<p>This option allows you to address the privacy issue raised by the EFF.<\/p><p>You can supply your own list of user agent strings. One string per line. Blank lines and lines prefixed with &lsquo;#&rsquo; will be ignored.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Behind-the-scene requests",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
@ -603,10 +439,6 @@
"message":"my-umatrix-rules.txt", "message":"my-umatrix-rules.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "Hosts files",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.", "message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.",
"description":"" "description":""
@ -628,7 +460,7 @@
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "Auto-update assets", "message":"Auto-update hosts files.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -640,7 +472,7 @@
"description":"" "description":""
}, },
"hostsFilesExternalListsHint":{ "hostsFilesExternalListsHint":{
"message": "Import external assets here: \nOne URL per line; invalid URLs will be silently ignored.", "message":"One URL per line. Lines prefixed with &lsquo;#&rsquo; will be ignored. Invalid URLs will be silently ignored.",
"description":"" "description":""
}, },
"hostsFilesExternalListsParse":{ "hostsFilesExternalListsParse":{
@ -659,32 +491,8 @@
"message":"outdated", "message":"outdated",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "Ruleset recipes",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Ruleset recipes are imported from the popup panel <em>on demand</em>, i.e. <b>only</b> through user interaction.",
"description": ""
},
"assetsImportLabel": {
"message": "Import...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "My hosts",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "My recipes",
"description": ""
},
"rawSettingsWarning": {
"message": "Warning! Change these raw configuration settings at your own risk.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Change log</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>Change log<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
@ -692,11 +500,11 @@
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Documentation</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Documentation<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki/Permissions'>Permissions</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>Permissions<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
@ -704,8 +512,8 @@
"description":"" "description":""
}, },
"aboutIssues":{ "aboutIssues":{
"message": "Issue tracker", "message":"Bugs and issues",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message":"Contributors", "message":"Contributors",
@ -740,7 +548,7 @@
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "All your settings will be overwritten using data backed up on {{time}}, and nuTensor will restart.\n\nOverwrite all existing settings using backed up data?", "message":"All your settings will be overwritten using data backed up on {{time}}, and uMatrix will restart.\n\nOverwrite all existing settings using backed up data?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
@ -759,18 +567,38 @@
"message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?", "message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"filter expression(s)",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"spoofing user agent with: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"cookie deleted: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"failed to delete cookie: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"browser cache cleared",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"asset updated: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor has prevented the following page from loading:", "message":"uMatrix has prevented the following page from loading:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message":"Because of the following rule", "message":"Because of the following rule",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "without parameters",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message":"Go back", "message":"Go back",
"description":"English: Go back" "description":"English: Go back"
@ -827,40 +655,8 @@
"message":"Logger", "message":"Logger",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Export to cloud storage",
"description": "tooltip"
},
"cloudPull": {
"message": "Import from cloud storage",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "This device name:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Submit",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Revert",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"Network error: Unable to connect to {{url}}", "message":"Network error: Unable to connect to {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Apply changes",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copy to clipboard",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

File diff suppressed because it is too large Load Diff

@ -1,20 +1,16 @@
{ {
"extName":{ "extName":{
"message": "nuTensor", "message":"uMatrix",
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "Tunjuk & klik untuk melarang/mengizinkan permintaan yang dibuat peramban anda. Gunakan untuk memblokir skrip, iframe, iklan, dll.", "message":"Tunjuk & klik untuk larang\/izinkan permintaan yang dibuat peramban anda. Gunakan untuk memblokir skrip, iframe, iklan, dll.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message": "nuTensor — Dasbor", "message":"uMatrix — Dasbor",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — Pencatat Log",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message":"Pengaturan", "message":"Pengaturan",
"description":"a tab in dashboard" "description":"a tab in dashboard"
@ -32,11 +28,7 @@
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "Aset", "message":"Berkas hos",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "Lainnya",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
@ -56,11 +48,7 @@
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"imagePrettyName":{ "imagePrettyName":{
"message": "gmbr", "message":"gambar",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"mediaPrettyName": {
"message": "media",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"pluginPrettyName":{ "pluginPrettyName":{
@ -71,8 +59,8 @@
"message":"skrip", "message":"skrip",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
@ -80,23 +68,15 @@
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"otherPrettyName":{ "otherPrettyName":{
"message": "lain", "message":"lainnya",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"matrixNoNetTrafficPrompt":{ "matrixNoNetTrafficPrompt":{
"message":"Sejauh ini tidak terlihat lalu lintas jaringan untuk tab ini.", "message":"Sejauh ini tidak terlihat lalu lintas jaringan untuk tab ini.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Pilih lingkup lokal untuk melihat/mambuat aturan yang diterapkan hanya pada lingkup tersebut",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Pilih lingkup global untuk melihat/membuat aturan yang diterapkan ke semua situs",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "Nonaktif/aktifkan penyaringan matriks untuk lingkup ini.", "message":"Nonaktif\/aktifkan penyaringan matriks untuk lingkup ini.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
@ -108,7 +88,7 @@
"description":"Tool tip for the revert local permission button" "description":"Tool tip for the revert local permission button"
}, },
"matrixReloadButton":{ "matrixReloadButton":{
"message": "Muat ulang halaman.\nTekan Shift untuk untuk melewati tembolok peramban.", "message":"Muat ulang laman.",
"description":"Tool tip for the reload button" "description":"Tool tip for the reload button"
}, },
"matrix1stPartyLabel":{ "matrix1stPartyLabel":{
@ -116,27 +96,19 @@
"description":"1st-party" "description":"1st-party"
}, },
"matrixBlacklistedHostnames":{ "matrixBlacklistedHostnames":{
"message": "{{count}} nama host dicekal", "message":"{{count}} nama hos dicekal",
"description":"Appears in the metadata row of bottom-most group: **mind the limited width**" "description":"Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent":{ "matrixSwitchNoMixedContent":{
"message": "Larang konten campuran", "message":"HTTPS Ketat",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Larang web worker", "message":"Pemalsuan user agent",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message": "Palsukan tajuk <code>Perujuk</code>", "message":"Pemalsuan perujuk",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoscriptSpoof": {
"message": "Palsukan tag <code><noscript></code>",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Reveal canonical names",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
@ -144,27 +116,15 @@
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixLoggerMenuEntry":{ "matrixLoggerMenuEntry":{
"message": "Kunjungi pencatat log", "message":"Kunjungi pencatat",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixDashboardMenuEntry":{ "matrixDashboardMenuEntry":{
"message":"Kunjungi dasbor", "message":"Kunjungi dasbor",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "Laman web tidak ditemukan",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Impor aturan",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Simpan aturan",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message": "nuTensor &ndash; Statistik", "message":"uMatrix &ndash; Statistik",
"description":"" "description":""
}, },
"statsPageGenericStats":{ "statsPageGenericStats":{
@ -172,15 +132,15 @@
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "Tajuk <a href='https://id.wikipedia.org/wiki/Kuki_HTTP'>kuki HTTP</a> digagalkan: {{count}}", "message":"Tajuk <a href='https:\/\/id.wikipedia.org\/wiki\/Kuki_HTTP'>kuki HTTP<\/a> digagalkan: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "Tajuk <a href='https://en.wikipedia.org/wiki/HTTP_referer'>perujuk HTTP</a> digagalkan: {{count}}", "message":"Tajuk <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>perujuk HTTP<\/a> digagalkan: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "Percobaan <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>pengauditan pranala</a> digagalkan: {{count}}", "message":"Percobaan <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>pengauditan pranala<\/a> digagalkan: {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
@ -188,7 +148,7 @@
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "<a href='http://diveintohtml5.info/storage.html'>Penyimpanan lokal</a> dikosongkan: {{count}}", "message":"<a href='http:\/\/diveintohtml5.info\/storage.html'>Penyimpanan lokal<\/a> dikosongkan: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
@ -196,7 +156,7 @@
"description":"" "description":""
}, },
"statsPageDetailedStats":{ "statsPageDetailedStats":{
"message": "Statistik detail", "message":"Statistik terperinci",
"description":"" "description":""
}, },
"statsPageDetailedAllPages":{ "statsPageDetailedAllPages":{
@ -264,7 +224,7 @@
"description":"" "description":""
}, },
"statsPageDetailed":{ "statsPageDetailed":{
"message": "Pencatat Log", "message":"Pencatat",
"description":"" "description":""
}, },
"statsPageLogSizePrompt1":{ "statsPageLogSizePrompt1":{
@ -272,179 +232,35 @@
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "permintaan HTTP terakhir <b>per halaman</b>.", "message":"permintaan HTTP yang terakhir <b>per halaman<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>Anda dapat memeriksa rincian terkini permintaan mentah HTTP yang telah dibuat oleh halaman web (lihat di bawah).</p><p>Hal ini sangat berguna bagi para pengguna tingkat lanjut yang ingin menyelidiki secara pasti apa yang halaman web telah lakukan. Akan tetapi, mencatat permintaan HTTP ini memerlukan tambahan memori, dan jika anda tidak peduli tentang informasi teknis ini, maka memori terbuang dengan percuma.</p><p>Oleh karena itu, ruas ini memungkinkan anda mengatur jumlah maksimum permintaan HTTP terkini yang akan dicatat untuk pemeriksaan lebih lanjut.</p><p>Masukkan &ldquo;<code>0</code>&rdquo; untuk mematikan pencatatan terperinci (dan berarti berkurangnya penggunaan memori <i>nuTensor</i>).</p>", "message":"<p>Anda dapat memeriksa rincian terkini permintaan mentah HTTP yang telah dibuat oleh halaman web (lihat di bawah).<\/p><p>Hal ini sangat berguna bagi para pengguna tingkat lanjut yang ingin menyelidiki secara pasti apa yang halaman web telah lakukan. Akan tetapi, mencatat permintaan HTTP ini memerlukan tambahan memori, dan jika anda tidak peduli tentang informasi teknis ini, maka memori terbuang dengan percuma.<\/p><p>Oleh karena itu, ruas ini memungkinkan anda mengatur jumlah maksimum permintaan HTTP terkini yang akan dicatat untuk pemeriksaan lebih lanjut.<\/p><p>Masukkan &ldquo;<code>0<\/code>&rdquo; untuk mematikan pencatatan terperinci (dan berarti berkurangnya penggunaan memori <i>uMatrix<\/i>).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message":"Segarkan", "message":"Segarkan",
"description":"" "description":""
}, },
"logAll": {
"message": "All",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Tabless",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Current tab",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Reload the tab content",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "ekspresi penyaring",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "kuki dihapus: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "gagal menghapus kuki: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "tembolok peramban dibersihkan",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "aset diperbarui: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: The logger",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Clear logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pause logger (discard all incoming data)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Unpause logger",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Logger filtering options",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Not",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "blocked",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "1st-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "3rd-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Details",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Context",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Rule",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Preserve entries from the last {{input}} minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Preserve at most {{input}} entries per tab",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Use {{input}} lines per entry in vertically expanded mode",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "List",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Table",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Plain",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message": "nuTensor &ndash; Pengaturan", "message":"uMatrix &ndash; Pengaturan",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message": "Matriks", "message":"Tampilan",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message":"Ukuran teks:", "message":"Ukuran teks:",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "Tampilkan jumlah permintaan yang diblokir pada ikon", "message":"Normal",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"Besar",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
@ -455,44 +271,44 @@
"message":"Nyaman", "message":"Nyaman",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "Level cakupan bawaan:", "message":"Ketika matriks ditutup, muat ulang dengan cerdas tab berikut:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "Global", "message":"Nihil",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "Domain", "message":"Saat ini",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "Situs", "message":"Semua",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "Sembunyikan wadah elemen yang diblokir", "message":"Kapanpun anda membuat perubahan pada matriks yang dapat mempengaruhi tampilan dan\/atau perilaku satu atau lebih halaman, <i>uMatrix<\/i> akan memuat ulang halaman yang terdampak secara otomatis ketika anda menutup matriks.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "Sembunyikan wadah elemen terdaftar hitam", "message":"Frame diblokir:&ensp;Warna",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "Palsukan tag <code><noscript></code> saat skrip pihak-pertama diblokir", "message":"Kepekatan",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "Aktifkan dukungan penyimpanan awan", "message":"Tampilkan jumlah permintaan yang berbeda pada ikon",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "Nonaktifkan tooltip", "message":"Runtuhkan tempat elemen yang diblokir",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message": "nuTensor &ndash; Privasi", "message":"uMatrix &ndash; Privasi",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
@ -500,7 +316,7 @@
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p>Kuki dalam daftar hitam tidak dicegah oleh <i>nuTensor</i> untuk masuk ke peramban anda. Namun mereka dicegah untuk meninggalkan peramban anda, dan itulah yang terpenting. Tidak memblokir kuki sebelum mereka masuk ke peramban anda memberikan anda kesempatan mendapatkan informasi bahwa situs tersebut mencoba untuk menggunakan kuki, dan lebih lanjut memeriksa isi kuki tersebut jika anda inginkan.</p><p>Setelah kuki dalam daftar hitam ini dicatat oleh <i>nuTensor</i>, mereka dapat dibuang dari peramban anda jika anda menginginkannya.</p><p><b>Catatan penting:</b> Ekstensi dapat membuat permintaan web selama operasi normal ekstensi berjalan. Permintaan ini dapat mengakibatkan beberapa kuki dibuat dalam peramban. Jika nama host dari mana kuki berasal tidak dalam daftar putih, kuki akan dibuang dari peramban oleh <i>nuTensor</i> jika opsi berikut dicentang. Jadi, pastikan nama host dengan yang ekstensi berkomunikasi masuk dalam daftar putih.</p>", "message":"<p>Kuki dalam daftar hitam tidak dicegah oleh <i>uMatrix<\/i> untuk masuk ke peramban anda. Namun mereka dicegah untuk meninggalkan peramban anda, dan itulah yang terpenting. Tidak memblokir kuki sebelum mereka masuk ke peramban anda memberikan anda kesempatan mendapatkan informasi bahwa situs tersebut mencoba untuk menggunakan kuki, dan lebih lanjut memeriksa isi kuki tersebut jika anda inginkan.<\/p><p>Setelah kuki dalam daftar hitam ini dicatat oleh <i>uMatrix<\/i>, mereka dapat dibuang dari peramban anda jika anda menginginkannya.<\/p><p><b>Catatan penting:<\/b> Ekstensi dapat membuat permintaan web selama operasi normal ekstensi berjalan. Permintaan ini dapat mengakibatkan beberapa kuki dibuat dalam peramban. Jika nama host dari mana kuki berasal tidak dalam daftar putih, kuki akan dibuang dari peramban oleh <i>uMatrix<\/i> jika opsi berikut dicentang. Jadi, pastikan nama host dengan yang ekstensi berkomunikasi masuk dalam daftar putih.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
@ -512,11 +328,11 @@
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;Kuki sesi ... dihapus ketika anda mengakhiri sesi peramban. Kuki sesi disimpan di dalam memori sementara dan tidak tinggal setelah peramban ditutup.&rdquo;</p><p>Kecuali hal tersebut <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>mungkin tidak akan terjadi</a> pada beberapa peramban. Juga, bagi beberapa, menutup peramban agar kuki sesi dibersihkan mungkin tidak cukup cepat.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;Kuki sesi ... dihapus ketika anda mengakhiri sesi peramban. Kuki sesi disimpan di dalam memori sementara dan tidak tinggal setelah peramban ditutup.&rdquo;<\/p><p>Kecuali hal tersebut <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>mungkin tidak akan terjadi<\/a> pada beberapa peramban. Juga, bagi beberapa, menutup peramban agar kuki sesi dibersihkan mungkin tidak cukup cepat.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "Hapus muatan <a href='https://en.wikipedia.org/wiki/Web_storage'>penyimpanan lokal</a> yang disimpan oleh nama host yang diblokir", "message":"Hapus muatan <a href='https:\/\/en.wikipedia.org\/wiki\/Web_storage'>penyimpanan lokal<\/a> yang disimpan oleh nama hos yang diblokir",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
@ -532,15 +348,15 @@
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Beberapa situs sangat lihai dalam melacak anda, amat sangat lihai sampai-sampai mereka akan gunakan cara-cara yang tidak baik untuk menghindari apapun tindakan yang anda lakukan agar tidak dilacak.</p><p>Beberapa cara-cara ini mengandalkan<sup>[1, 2]</sup> <a href='https://en.wikipedia.org/wiki/Web_cache'>tembolok peramban</a>, yang muatannya terkadang bertahan lama karena jarang pengguna menyempatkan waktu secara berkala membersihkan tembolok peramban mereka.</p><p>Ada sedikit ketidaknyamanan untuk membersihkan tembolok peramban secara berkala (kemungkinan adalah anda tidak akan tahu ketika hal tersebut terjadi), dan keuntungannya adalah untuk mencegah pelacak yang menjengkelkan ini melanggar privasi anda.</p><p>Centang opsi berikut untuk membuat <i>nuTensor</i> melakukannya untuk anda, pada selang waktu yang anda inginkan.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Mencegah Pelacakan Web melalui Tembolok Web&rdquo;</a>[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Kuki tanpa kuki&rdquo;</a></p>", "message":"<p>Beberapa situs sangat lihai dalam melacak anda, amat sangat lihai sampai-sampai meraka akan gunakan cara-cara yang tidak baik untuk menghindari apapun tindakan yang anda lakukan agar tidak dilacak.<\/p><p>Beberapa cara-cara ini mengandalkan<sup style='font-size:smaller'>[1, 2]<\/sup> <a href='https:\/\/en.wikipedia.org\/wiki\/Web_cache'>tembolok peramban<\/a>, yang muatannya terkadang bertahan lama karena jarang pengguna menyempatkan waktu secara berkala membersihkan tembolok peramban mereka.<\/p><p>Ada sedikit ketidaknyamanan untuk membersihkan tembolok peramban secara berkala (kemungkinan adalah anda tidak akan tahu ketika hal tersebut terjadi), dan keuntungannya adalah untuk mencegah pelacak yang menjengkelkan ini melanggar privasi anda.<\/p><p>Centang opsi berikut untuk membuat <i>uMatrix<\/i> melakukannya untuk anda, pada selang waktu yang anda inginkan.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Mencegah Pelacakan Web melalui Tembolok Web&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Kuki tanpa kuki&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "Palsukan untai <a href='https://en.wikipedia.org/wiki/HTTP_referer'>perujuk HTTP</a> pada permintaan pihak ketiga.", "message":"Palsukan untai <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>perujuk HTTP<\/a> pada permintaan pihak ketiga.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "Dari Wikipedia:<blockquote>Perujuk HTTP adalah sebuah ruas tajuk HTTP yang mengidentifikasi alamat dari halaman web yang bertautan dengan sumber daya yang sedang diminta. ... <b>Karena informasi perujuk dapat melanggar privasi, beberapa peramban memperbolehkan pengguna untuk menonaktifkan pengiriman informasi perujuk.</b></blockquote>Jika aturan ini dicentang, <i>nuTensor</i> akan memalsukan informasi perujuk HTTP jika nama domain perujuk HTTP adalah pihak ketiga dari nama domain jaringan yang diminta.", "message":"<p>Dari Wikipedia:<\/p><blockquote>Perujuk HTTP adalah sebuah ruas tajuk HTTP yang mengidentifikasi alamat dari halaman web yang bertautan dengan sumber daya yang sedang diminta. ... <b>Karena informasi perujuk dapat melanggar privasi, beberapa peramban memperbolehkan pengguna untuk menonaktifkan pengiriman informasi perujuk.<\/b><\/blockquote><p>Jika aturan ini dicentang, <i>uMatrix<\/i> akan memalsukan informasi perujuk HTTP jika nama ranah perujuk HTTP adalah pihak ketiga dari nama ranah jaringan yang diminta.",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
@ -548,15 +364,35 @@
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>Dari <a href='https://developer.mozilla.org/id/docs/Security/MixedContent'>Jaringan Pengembang Mozilla</a>:</p><blockquote>Jika halaman HTTPS mengandung muatan yang diambil melalui HTTP umum / berteks jelas, maka koneksi hanya terenkripsi sebagian: muatan yang tidak terenkripsi tersedia bagi para pengendus jaringan dan dapat diubah oleh serangan orang-ditengah, dan oleh karena itu koneksi menjadi tidak lagi aman. Ketika halaman web memperlihatkan perilaku seperti ini, hal ini disebut &ldquo;halaman dengan muatan campuran tidak aman&rdquo;.</blockquote>", "message":"<p>Dari <a href='https:\/\/developer.mozilla.org\/id\/docs\/Security\/MixedContent'>Jaringan Pengembang Mozilla<\/a>:<\/p><blockquote>Jika halaman HTTPS mengandung muatan yang diambil melalui HTTP umum \/ berteks jelas, maka koneksi hanya terenkripsi sebagian: muatan yang tidak terenkripsi tersedia bagi para pengendus jaringan dan dapat diubah oleh serangan orang-ditengah, dan oleh karena itu koneksi menjadi tidak lagi aman. Ketika halaman web memperlihatkan perilaku seperti ini, hal ini disebut &ldquo;halaman dengan muatan campuran tidak aman&rdquo;.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "Blokir semua percobaan <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>pengauditan pranala</a>.", "message":"Blokir semua percobaan <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>pengauditan pranala<\/a>.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>Pengauditan pranala adalah mekanisme yang memperbolehkan satu pihak, <b>pihak manapun</b>, mendapatkan informasi tentang tautan mana yang pengguna klik pada halaman web tertentu. Hal ini pada dasarnya adalah fitur pelacakan: memperbolehkan sebuah situs web, atau pihak ketiga dari situs web tersebut, mendapatkan informasi tentang tautan mana di halaman yang mana yang anda klik pada situs web tersebut. Tujuannya adalah untuk melacak aktifitas penjelajahan anda.</p>", "message":"<p>Pengauditan pranala adalah mekanisme yang memperbolehkan satu pihak, <b>pihak manapun<\/b>, mendapatkan informasi tentang tautan mana yang pengguna klik pada halaman web tertentu. Hal ini pada dasarnya adalah fitur pelacakan: memperbolehkan sebuah situs web, atau pihak ketiga dari situs web tersebut, mendapatkan informasi tentang tautan mana di halaman yang mana yang anda klik pada situs web tersebut. Tujuannya adalah untuk melacak aktifitas penjelajahan anda.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Palsukan untai <a href='https:\/\/en.wikipedia.org\/wiki\/User_agent'>User-Agent<\/a> dengan cara memilih acak salah satu yang baru di bawah setiap",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"menit.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>Menurut <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] peramban anda mengirimkan sebuah tajuk &lsquo;User Agent&rsquo; ke situs web dan menjelaskan secara akurat tentang sistem operasi dan peramban web yang anda gunakan. Informasi tersebut dapat membantu membedakan pengguna internet satu dengan yang lain karena versi sistem operasi dan peramban yang berbeda-beda, seringkali, orang per orang. [...] <b>User Agent menjadi masalah utama privasi yang nyata<\/b>.&rdquo;<p>Opsi ini memungkinkan anda untuk mengatasi masalah privasi yang diangkat oleh EFF.<\/p><p>Anda dapat memberikan senarai untai user agent anda sendiri. Satu untai user agent per baris. Baris kosong dan baris yang dimulai dengan &lsquo;#&rsquo; akan diabaikan.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Permintaan di balik layar",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
@ -603,16 +439,12 @@
"message":"my-umatrix-rules.txt", "message":"my-umatrix-rules.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "Berkas host",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message": "Semua nama host di dalam berkas host dimuat sebagai nama host yang dicekal dalam lingkup global.", "message":"Semua nama hos di dalam berkas hos dimuat sebagai nama hos yang dicekal dalam lingkup global.",
"description":"" "description":""
}, },
"hostsFilesStats":{ "hostsFilesStats":{
"message": "{{blockedHostnameCount}} nama host yang berbeda diblokir dari:", "message":"{{blockedHostnameCount}} nama hos yang berbeda diblokir dari:",
"description":"" "description":""
}, },
"hostsFilesPerFileStats":{ "hostsFilesPerFileStats":{
@ -628,7 +460,7 @@
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "Otomatis perbarui aset", "message":"Otobarui berkas hos.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -659,44 +491,20 @@
"message":"usang", "message":"usang",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "Set aturan",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Set aturan diimpor dari panel popup <em>atas permintaan</em> pengguna, mis. <b>hanya</b> melalui interaksi pengguna.",
"description": ""
},
"assetsImportLabel": {
"message": "Impor...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "Host saya",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "My recipes",
"description": ""
},
"rawSettingsWarning": {
"message": "Peringatan! Ubah konfigurasi mentah ini dengan risiko anda sendiri.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Catatan perubahan</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>Catatan perubahan<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
"message": "Penyimpanan digunakan: {{storageUsed}} byte", "message":"Penyimpanan digunakan: {{storageUsed}} bita",
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Dokumentasi</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Dokumentasi<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki/Permissions'>Perizinan</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>Perizinan<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
@ -704,8 +512,8 @@
"description":"" "description":""
}, },
"aboutIssues":{ "aboutIssues":{
"message": "Pelacak masalah", "message":"Kutu dan masalah",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message":"Kontributor", "message":"Kontributor",
@ -740,7 +548,7 @@
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "Semua pengaturan anda akan ditimpa menggunakan data yang dicadangkan pada {{time}}, dan nuTensor akan memulai ulang.\n\nTimpa semua aturan yang ada menggunakan data yang dicadangkan?", "message":"Semua pengaturan anda akan ditimpa menggunakan data yang dicadangkan pada {{time}}, dan uMatrix akan memulai ulang.\n\nTimpa semua aturan yang ada menggunakan data yang dicadangkan?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
@ -759,18 +567,38 @@
"message":"Peringatan! ini akan membuang semua pengaturan tersesuai anda. Apakah anda yakin ingin melanjutkan?", "message":"Peringatan! ini akan membuang semua pengaturan tersesuai anda. Apakah anda yakin ingin melanjutkan?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"ekspresi penyaring",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"memalsukan user agent dengan: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"kuki dihapus: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"gagal menghapus kuki: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"tembolok peramban dibersihkan",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"aset diperbarui: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor telah mencegah laman berikut dimuat:", "message":"uMatrix telah mencegah laman berikut dimuat:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message":"Disebabkan oleh aturan berikut", "message":"Disebabkan oleh aturan berikut",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "tanpa parameter",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message":"Kembali", "message":"Kembali",
"description":"English: Go back" "description":"English: Go back"
@ -784,7 +612,7 @@
"description":"" "description":""
}, },
"commandWhitelistPageDomain":{ "commandWhitelistPageDomain":{
"message": "Sementara daftar-putihkan domain laman", "message":"Sementara daftar-putihkan ranah halaman",
"description":"" "description":""
}, },
"commandWhitelistAll":{ "commandWhitelistAll":{
@ -824,43 +652,11 @@
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"showLoggerButton":{ "showLoggerButton":{
"message": "Pencatat Log", "message":"Pencatat",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Ekspor ke penyimpanan awan",
"description": "tooltip"
},
"cloudPull": {
"message": "Impor dari penyimpanan awan",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "Nama perangkat ini:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Kirim",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Kembalikan",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message": "Galat jaringan: Tidak bisa terhubung ke {{url}}", "message":"Jaringan galat: Tidak dapat terhubung ke {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Terapkan perubahan",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copy to clipboard",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

@ -1,20 +1,16 @@
{ {
"extName":{ "extName":{
"message": "nuTensor", "message":"µMatrix",
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "Punta & clicca per bloccare/consentire qualunque categoria di richieste fatte dal browser.", "message":"Punta & clicca per bloccare\/consentire qualunque categoria di richieste fatte dal browser.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message": "nuTensor — Pannello di controllo", "message":"µMatrix — Dashboard",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — Registro",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message":"Opzioni", "message":"Opzioni",
"description":"a tab in dashboard" "description":"a tab in dashboard"
@ -32,11 +28,7 @@
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "Risorse", "message":"File di Host",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "Altro",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
@ -59,10 +51,6 @@
"message":"immagine", "message":"immagine",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"mediaPrettyName": {
"message": "media",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"pluginPrettyName":{ "pluginPrettyName":{
"message":"plugin", "message":"plugin",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
@ -71,8 +59,8 @@
"message":"script", "message":"script",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
@ -87,16 +75,8 @@
"message":"Nessun traffico visto per questa tab, per ora.", "message":"Nessun traffico visto per questa tab, per ora.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Seleziona un ambito locale per vedere/creare regole che si applicano solo in tale ambito",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Seleziona lo scopo globale per vedere/creare regole che si applicano ovunque",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "Disabilita/abilita filtro a matrice per questa pagina.\nRichieste bloccate dal filtro a matrice in questa pagina: {{count}}.", "message":"Disabilita\/abilita filtro a matrice per questa pagina.\nRichieste bloccate dal filtro a matrice in questa pagina: {{count}}.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
@ -120,51 +100,31 @@
"description":"Appears in the metadata row of bottom-most group: **mind the limited width**" "description":"Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent":{ "matrixSwitchNoMixedContent":{
"message": "Proibisci i contenuti misti", "message":"Strict HTTPS",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Proibisci i web worker", "message":"User agent spoofing",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message": "Spoof referer", "message":"Referrer spoofing",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoscriptSpoof": {
"message": "Spoof dei tag <code><noscript></code>",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Rivela i nomi canonici",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
"message": "Ripristina tutte le modifiche temporanee", "message":"Revert all temporary changes",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixLoggerMenuEntry":{ "matrixLoggerMenuEntry":{
"message": "Vai al registro delle richieste", "message":"Vai al log delle richieste",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixDashboardMenuEntry":{ "matrixDashboardMenuEntry":{
"message":"Vai al pannello di controllo", "message":"Vai al pannello di controllo",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "Nessuna pagina trovata",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Importa regole",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Salva regole",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message": "nuTensor &ndash; Statistiche", "message":"µMatrix &ndash; Statistiche",
"description":"" "description":""
}, },
"statsPageGenericStats":{ "statsPageGenericStats":{
@ -172,15 +132,15 @@
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "<a href='http://it.wikipedia.org/wiki/Cookie'>HTTP cookie</a> headers bloccati: {{count}}", "message":"<a href='http:\/\/it.wikipedia.org\/wiki\/Cookie'>HTTP cookie<\/a> headers bloccati: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "<a href='https://it.wikipedia.org/wiki/Referer'>HTTP referer</a> headers bloccati: {{count}}", "message":"<a href='https:\/\/it.wikipedia.org\/wiki\/Referer'>HTTP referer<\/a> headers bloccati: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "Tentativi sventati di <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>revisione hyperlink</a>: {{count}}", "message":"<a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink auditing<\/a>bloccati {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
@ -188,11 +148,11 @@
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "<a href='http://diveintohtml5.info/storage.html'>Local storages</a> svuotati: {{count}}", "message":"<a href='http:\/\/diveintohtml5.info\/storage.html'>Local storages<\/a> svuotati: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
"message": "Cache del browser pulite: {{count}}", "message":"Cache del browser pulite: ",
"description":"" "description":""
}, },
"statsPageDetailedStats":{ "statsPageDetailedStats":{
@ -200,15 +160,15 @@
"description":"" "description":""
}, },
"statsPageDetailedAllPages":{ "statsPageDetailedAllPages":{
"message": "Tutto", "message":"All",
"description":"" "description":""
}, },
"statsPageDetailedBehindTheScenePage":{ "statsPageDetailedBehindTheScenePage":{
"message": "Dietro le quinte", "message":"Dietro la scena",
"description":"" "description":""
}, },
"statsPageOverview":{ "statsPageOverview":{
"message": "Panoramica", "message":"Overview",
"description":"" "description":""
}, },
"statsPageRequests":{ "statsPageRequests":{
@ -272,179 +232,35 @@
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "richieste HTTP <b>per pagina</b>.", "message":"richieste HTTP <b>per pagina<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>Puoi ispezionare i dettagli della richiesta HTTP raw più recente fatta da una pagina web (vedi sotto).</p><p>Questo è utile soprattutto per gli utenti avanzati che vogliono investigare su cosa fa esattamente una pagina web. Tuttavia registrare queste richieste HTTP richiede memoria, e se non ti interessano le informazioni tecniche, allora è uno spreco di memoria.</p><p>Ecco questo campo per regolare il massimo numero di richieste HTTP recenti da registrare per ulteriori ispezioni.</p><p>Inserisci &ldquo;<code>0</code>&rdquo; per disattivare la registrazione (e di conseguenza ridurre l'ingombro di memoria di <i>nuTensor</i>).</p>", "message":"<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).<\/p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.<\/p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.<\/p><p>Enter &ldquo;<code>0<\/code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>uMatrix<\/i>).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message":"Aggiorna", "message":"Aggiorna",
"description":"" "description":""
}, },
"logAll": {
"message": "Tutti",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Senza scheda",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Scheda attuale",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Ricarica il contenuto della scheda",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "filtra espressione/i",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "cookie eliminato: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "impossibile eliminare il cookie: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "cache del browser svuotata",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "asset aggiornato: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "contenuto filtro registro",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "Wiki di uBlock Origin: Il registro",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Svuota registro",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Metti in pausa il registro (scarta tutti i dati in ingresso)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Fai ripartire il registro",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Opzioni di filtraggio del registro",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Non",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "bloccato",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "Dominio attuale",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "Terze parti",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Dettagli",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Contesto",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Tipo",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Regola",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Le voci del registro che non soddisfano tutte e tre le condizioni sottostanti saranno automaticamente scartate:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Mantieni le voci degli ultimi {{input}} minuti",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Mantieni al massimo {{input}} voci per scheda",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Usa {{input}} righe per voce in modalità espansa verticalmente",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "Elenco",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Tabella",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Testo semplice",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message": "nuTensor &ndash; Impostazioni", "message":"µMatrix &ndash; Opzioni",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message":"Aspetto", "message":"Aspetto",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message":"Dimensione del testo:", "message":"Dimensione del testo:",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "Mostra il numero di richieste sull'icona", "message":"Normale",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"Grande",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
@ -452,47 +268,47 @@
"description":"" "description":""
}, },
"settingsMatrixConvenienceHeader":{ "settingsMatrixConvenienceHeader":{
"message": "Comodità", "message":"Convenience",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "Ambito predefinito:", "message":"When the matrix is closed, smart reload these tabs:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "Globale", "message":"Nessuna",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "Dominio", "message":"Pagina corrente",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "Sito", "message":"Tutte",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "Nascondi lo spazio riservato agli elementi bloccati", "message":"Whenever you make changes in the matrix which can affect the display and\/or behavior of one or more pages, <i>uMatrix<\/i> will reload affected pages automatically when you close the matrix.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "Nascondi lo spazio riservato agli elementi in lista nera", "message":"Frames bloccati:&ensp;Colore",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "Falsifica i tag <code><noscript></code> quando gli script del dominio sono bloccati", "message":"Opacità",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "Attiva il supporto all'archiviazione sul cloud", "message":"Show the number of distinct requests on the icon",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "Disattiva i suggerimenti", "message":"Collapse placeholder of blocked elements",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message": "nuTensor &ndash; Privacy", "message":"µMatrix &ndash; Privacy",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
@ -500,63 +316,83 @@
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p><i>nuTensor</i> non può impedire ai cookie bloccati di entrare nel tuo browser. Tuttavia impedisce che lascino il tuo browser, che è la cosa che conta. Non bloccare i cookie prima che entrino nel tuo browser ti dà la possibilità di sapere che un sito ha provato ad utilizzare cookie, e anche di ispezionarne il contenuto se lo desideri.</p><p>Quando questi cookie bloccati vengono presi in gestione da <i>nuTensor</i>, possono essere rimossi dal browser se lo desideri.</p><p><b>Nota importante:</b> Le estensioni possono fare richieste web durante il loro normale funzionamento. Queste richieste possono portare alla creazione di cookie nel browser. Se il nome dell'host da cui proviene un cookie non è presente nella lista bianca, il cookie verrà rimosso dal browser da <i>nuTensor</i> se l'opzione è selezionata. Assicurati quindi che il/i nome/i dell'host con cui un'estensione comunica sia in lista bianca.</p>", "message":"<p>Blacklisted cookies are not prevented by <i>uMatrix<\/i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.<\/p><p>Once these blacklisted cookies have been accounted for by <i>uMatrix<\/i>, they can be removed from your browser if you wish so.<\/p><p><b>Important note:<\/b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>uMatrix<\/i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
"message": "Elimina i cookie di sessione non bloccati ", "message":"Delete non-blocked session cookies ",
"description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt2":{ "privacyDeleteNonBlockedSessionCookiesPrompt2":{
"message": " minuti dopo l'ultima volta che sono stati usati.", "message":" minutes after the last time they have been used.",
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;Un cookie di sessione ... viene cancellato al termine della sessione del browser. Il cookie di sessione è memorizzato nella memoria temporanea e non viene conservato dopo la chiusura del browser.&rdquo;</p><p>A parte il fatto che ciò <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>potrebbe non accadere</a> in alcuni browser. Inoltre, per alcuni, dover chiudere il browser per eliminare i cookie di sessione potrebbe non essere abbastanza presto.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;<\/p><p>Except that this <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>might not be happening<\/a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "Elimina il contenuto del <a href='https://en.wikipedia.org/wiki/Web_storage'>local storage</a> dei nomi host bloccati", "message":"Delete <a href='https:\/\/en.wikipedia.org\/wiki\/Web_storage'>local storage<\/a> content set by blocked hostnames",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
"message": "DA FARE", "message":"TODO",
"description":"" "description":""
}, },
"privacyClearCachePrompt1":{ "privacyClearCachePrompt1":{
"message": "Elimina la cache del browser ogni", "message":"Clear browser cache every",
"description":"First part of 'Clear browser cache every [n] minutes'" "description":"First part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCachePrompt2":{ "privacyClearCachePrompt2":{
"message": "minuti.", "message":"minutes.",
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Alcuni siti sono davvero inclini a tracciarti, tanto che utilizzeranno trucchi non molto carini per sorpassare qualsiasi misura prendi per non essere monitorato.</p><p>Alcuni di questi trucchi si basano<sup>[1, 2]</sup> sulla <a href='https://it.wikipedia.org/wiki/Web_cache'>cache del browser</a>, il quale contenuto è spesso di lunga durata, dato che raramente gli utenti si prendono il tempo di cancellare regolarmente la cache del loro browser.</p><p>C'è poco disagio nel cancellare la cache del browser regolarmente (probabilmente non te ne renderai conto), e il vantaggio è quello di evitare che questi infelici tracker invadano la tua privacy.</p><p>Seleziona questa opzione se vuoi che <i>nuTensor</i> lo faccia per te, a intervalli scelti.</p><p>[1]<a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a> [2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>", "message":"<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.<\/p><p>A few of these tricks rely<sup style='font-size:smaller'>[1, 2]<\/sup> on the <a href='https:\/\/en.wikipedia.org\/wiki\/Web_cache'>browser cache<\/a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.<\/p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.<\/p><p>Check this option to have <i>uMatrix<\/i> do it for you, at the interval you wish.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Cookieless cookies&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "Falsifica (spoof) la stringa <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referer</a> di richieste di terze parti.", "message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referrer<\/a> string of third-party requests.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "Da Wikipedia (en):<blockquote>Un referer HTTP è un campo di intestazione HTTP che identifica l'indirizzo della pagina web di provenienza verso la risorsa richiesta. ... <b>Poiché le informazioni del referer possono violare la privacy, alcuni browser consentono all'utente di disabilitare l'invio delle informazioni del referer.</b></blockquote>Se questa opzione è selezionata, <i>nuTensor</i> falsificherà (spoof) le informazioni del referrer HTTP se il nome di dominio del referrer HTTP è di terze parti.", "message":"<p>From Wikipedia:<\/p><blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.<\/b><\/blockquote><p>If this setting is checked, <i>uMatrix<\/i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
"message": "Strict HTTPS: proibisci i contenuti misti.", "message":"Strict HTTPS: forbid mixed content.",
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>Da <a href='https://developer.mozilla.org/it/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p><blockquote>Se [a] la pagina HTTPS include contenuti recuperati attraverso richieste HTTP regolari (non crittografate), la connessione risulterà solo parzialmente criptata: il contenuto non crittografato è accessibile a sniffer e potrebbe essere modificato da attacchi man-in-the-middle. In questo caso la connessione non è più considerata protetta. Quando una pagina web presenta questo comportamento si parla di una pagina con Contenuto Misto.</blockquote>", "message":"<p>From <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a>:<\/p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "Blocca tutti i tentativi di <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>revisione degli hyperlink</a>.", "message":"Block all <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>hyperlink auditing<\/a> attempts.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>La revisione degli hyperlink è un meccanismo che consente a una parte, <b>qualsiasi parte</b>, di essere informata su quale link ha cliccato l'utente in una pagina web. Si tratta essenzialmente di una funzione di tracciamento: permette a un sito, o a qualsiasi terza parte di quel sito, di essere informato su quale link hai cliccato su quale delle sue pagine web. L'unico scopo è quello di tracciare la tua attività di navigazione.</p>", "message":"<p>Hyperlink auditing is a mechanism which allow a party, <b>any party<\/b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/User_agent'>User-Agent<\/a> string by randomly picking a new one below every",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"minutes.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>According to the <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] your browser sends a &lsquo;User Agent&rsquo; header to the website saying precisely which operating system and web browser you are using. This information could help distinguish Internet users from one another because these versions differ, often considerably, from person to person. [...] <b>the User Agent string becomes a real privacy problem<\/b>.&rdquo;<p>This option allows you to address the privacy issue raised by the EFF.<\/p><p>You can supply your own list of user agent strings. One string per line. Blank lines and lines prefixed with &lsquo;#&rsquo; will be ignored.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Chromium: le richieste \"behind-the-scene\"",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
@ -568,11 +404,11 @@
"description":"" "description":""
}, },
"userRulesRevert":{ "userRulesRevert":{
"message": "Ripristina", "message":"Revert",
"description":"Will remove all temporary rules" "description":"Will remove all temporary rules"
}, },
"userRulesCommit":{ "userRulesCommit":{
"message": "Applica", "message":"Commit",
"description":"Will save all temporary rules" "description":"Will save all temporary rules"
}, },
"userRulesEdit":{ "userRulesEdit":{
@ -596,23 +432,19 @@
"description":"" "description":""
}, },
"userRulesFormatHint":{ "userRulesFormatHint":{
"message": "Vedi questa pagina per la sintassi delle regole.", "message":"See this page for rule syntax.",
"description":"" "description":""
}, },
"userRulesDefaultFileName":{ "userRulesDefaultFileName":{
"message":"mie-regole-umatrix.txt", "message":"mie-regole-umatrix.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "File Hosts",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message": "Tutti i nomi in un file hosts vengono caricati come nomi host bloccati in ambito generale.", "message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.",
"description":"" "description":""
}, },
"hostsFilesStats":{ "hostsFilesStats":{
"message": "{{blockedHostnameCount}} nomi host bloccati da:", "message":"{{blockedHostnameCount}} distinct blocked hostnames from:",
"description":"" "description":""
}, },
"hostsFilesPerFileStats":{ "hostsFilesPerFileStats":{
@ -620,7 +452,7 @@
"description":"" "description":""
}, },
"hostsFilesLastUpdate":{ "hostsFilesLastUpdate":{
"message": "Ultimo aggiornamento: {{ago}}", "message":"Last update: {{ago}}",
"description":"English: Last update: {{ago}}, where 'ago' will be replaced with something like '2 days ago'" "description":"English: Last update: {{ago}}, where 'ago' will be replaced with something like '2 days ago'"
}, },
"hostsFilesApplyChanges":{ "hostsFilesApplyChanges":{
@ -628,7 +460,7 @@
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "Attivazione automatica", "message":"Aggiornamento automatico files hosts.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -659,32 +491,8 @@
"message":"obsoleta", "message":"obsoleta",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "Ricette di regole",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Le ricette di regole vengono importate dal pannello popup <em>on demand</em>, cioè <b>solo</b> da interazione dell'utente.",
"description": ""
},
"assetsImportLabel": {
"message": "Importa...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "Miei host",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "Mie ricette",
"description": ""
},
"rawSettingsWarning": {
"message": "Attenzione! Modifica queste impostazioni grezze a tuo rischio.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Change log</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>Change log<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
@ -692,11 +500,11 @@
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Documentazione</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Documentazione<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/gorhill/httpswitchboard/wiki/Permissions'>Permessi</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>Permessi<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
@ -705,7 +513,7 @@
}, },
"aboutIssues":{ "aboutIssues":{
"message":"Bugs e problemi", "message":"Bugs e problemi",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message":"Collaboratori", "message":"Collaboratori",
@ -740,7 +548,7 @@
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "Tutte le impostazioni verranno sovrascritte utilizzando i dati di backup del {{time}}, e nuTensor sarà riavviato. \n\nSovrascrivere tutte le impostazioni esistenti con quelle del backup?", "message":"Tutte le impostazioni verranno sovrascritte utilizzando i dati di backup del {{time}}, e µMatrix sarà riavviato. \n\nSovrascrivere tutte le impostazioni esistenti con quelle del backup?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
@ -759,36 +567,56 @@
"message":"Attenzione! Questo rimuoverà tutte le impostazioni personalizzate. Sei sicuro di voler procedere?", "message":"Attenzione! Questo rimuoverà tutte le impostazioni personalizzate. Sei sicuro di voler procedere?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"filter expression(s)",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"spoofing user agent with: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"cookie deleted: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"failed to delete cookie: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"browser cache cleared",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"asset updated: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor ha impedito alla seguente pagina di caricarsi:", "message":"uMatrix has prevented the following page from loading:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message": "A causa della regola seguente", "message":"Because of the following rule",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "senza parametri",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message": "Torna indietro", "message":"Go back",
"description":"English: Go back" "description":"English: Go back"
}, },
"mainBlockedClose":{ "mainBlockedClose":{
"message": "Chiudi", "message":"Close",
"description":"English: Close" "description":"English: Close"
}, },
"commandRevertAll":{ "commandRevertAll":{
"message": "Ripristina tutte le modifiche temporanee", "message":"Rimuovi tutte le modifiche temporanee",
"description":"" "description":""
}, },
"commandWhitelistPageDomain":{ "commandWhitelistPageDomain":{
"message": "Permetti temporaneamente il dominio", "message":"Temporarily whitelist page domain",
"description":"" "description":""
}, },
"commandWhitelistAll":{ "commandWhitelistAll":{
"message": "Permetti temporaneamente tutto", "message":"Temporarily whitelist all",
"description":"" "description":""
}, },
"commandOpenDashboard":{ "commandOpenDashboard":{
@ -796,71 +624,39 @@
"description":"" "description":""
}, },
"elapsedOneMinuteAgo":{ "elapsedOneMinuteAgo":{
"message": "un minuto fa", "message":"a minute ago",
"description":"English: a minute ago" "description":"English: a minute ago"
}, },
"elapsedManyMinutesAgo":{ "elapsedManyMinutesAgo":{
"message": "{{value}} minuti fa", "message":"{{value}} minutes ago",
"description":"English: {{value}} minutes ago" "description":"English: {{value}} minutes ago"
}, },
"elapsedOneHourAgo":{ "elapsedOneHourAgo":{
"message": "un'ora fa", "message":"an hour ago",
"description":"English: an hour ago" "description":"English: an hour ago"
}, },
"elapsedManyHoursAgo":{ "elapsedManyHoursAgo":{
"message": "{{value}} ore fa", "message":"{{value}} hours ago",
"description":"English: {{value}} hours ago" "description":"English: {{value}} hours ago"
}, },
"elapsedOneDayAgo":{ "elapsedOneDayAgo":{
"message": "un giorno fa", "message":"a day ago",
"description":"English: a day ago" "description":"English: a day ago"
}, },
"elapsedManyDaysAgo":{ "elapsedManyDaysAgo":{
"message": "{{value}} giorni fa", "message":"{{value}} days ago",
"description":"English: {{value}} days ago" "description":"English: {{value}} days ago"
}, },
"showDashboardButton":{ "showDashboardButton":{
"message": "Pannello di controllo", "message":"Dashboard",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"showLoggerButton":{ "showLoggerButton":{
"message": "Registro", "message":"Logger",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Esporta nell'archivio cloud",
"description": "tooltip"
},
"cloudPull": {
"message": "Importa dall'archivio cloud",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "Il nome del dispositivo:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Invia",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Ripristina",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"Errore di rete: Impossibile connettersi a {{url}}", "message":"Errore di rete: Impossibile connettersi a {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Applica modifiche",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copia negli appunti",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

File diff suppressed because it is too large Load Diff

@ -1,20 +1,16 @@
{ {
"extName":{ "extName":{
"message": "nuTensor", "message":"uMatrix",
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "Point & click to forbid/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.", "message":"Point & click to forbid\/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message": "nuTensor — Dashboard", "message":"uMatrix — Dashboard",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — Logger",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message":"Settings", "message":"Settings",
"description":"a tab in dashboard" "description":"a tab in dashboard"
@ -32,11 +28,7 @@
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "Assets", "message":"Hosts files",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "More",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
@ -59,10 +51,6 @@
"message":"image", "message":"image",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"mediaPrettyName": {
"message": "media",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"pluginPrettyName":{ "pluginPrettyName":{
"message":"plugin", "message":"plugin",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
@ -71,8 +59,8 @@
"message":"script", "message":"script",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
@ -87,28 +75,20 @@
"message":"No net traffic seen for this tab so far.", "message":"No net traffic seen for this tab so far.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Select a local scope to see/create rules which apply only in that scope",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Select the global scope to see/create rules which apply everywhere",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "Disable/enable matrix filtering for this scope", "message":"Disable\/enable matrix filtering for this scope.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
"message": "Save all temporary changes for this scope", "message":"Save all temporary changes for this scope.",
"description":"Tool tip for the persist button" "description":"Tool tip for the persist button"
}, },
"matrixRevertButtonTip":{ "matrixRevertButtonTip":{
"message": "Revert temporary changes for this scope", "message":"Revert temporary changes for this scope.",
"description":"Tool tip for the revert local permission button" "description":"Tool tip for the revert local permission button"
}, },
"matrixReloadButton":{ "matrixReloadButton":{
"message": "Reload the page. \nPress Shift to bypass the browser cache.", "message":"Reload the page.",
"description":"Tool tip for the reload button" "description":"Tool tip for the reload button"
}, },
"matrix1stPartyLabel":{ "matrix1stPartyLabel":{
@ -120,23 +100,15 @@
"description":"Appears in the metadata row of bottom-most group: **mind the limited width**" "description":"Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent":{ "matrixSwitchNoMixedContent":{
"message": "Forbid mixed content", "message":"Strict HTTPS",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Forbid web workers", "message":"User agent spoofing",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message": "Spoof <code>Referer</code> header", "message":"Referrer spoofing",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoscriptSpoof": {
"message": "Spoof <code><noscript></code> tags",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Reveal canonical names",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
@ -151,20 +123,8 @@
"message":"Go to dashboard", "message":"Go to dashboard",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "No web page found",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Import rules",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Save rules",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message": "nuTensor &ndash; Statistics", "message":"uMatrix &ndash; Statistics",
"description":"" "description":""
}, },
"statsPageGenericStats":{ "statsPageGenericStats":{
@ -172,15 +132,15 @@
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_cookie'>HTTP cookie</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_cookie'>HTTP cookie<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referer</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referer<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hyperlink auditing</a> attempts foiled: {{count}}", "message":"<a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink auditing<\/a> attempts foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
@ -188,7 +148,7 @@
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "<a href='http://diveintohtml5.info/storage.html'>Local storages</a> emptied: {{count}}", "message":"<a href='http:\/\/diveintohtml5.info\/storage.html'>Local storages<\/a> emptied: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
@ -272,179 +232,35 @@
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "HTTP requests <b>per page</b>", "message":"HTTP requests <b>per page<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).</p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.</p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.</p><p>Enter &ldquo;<code>0</code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>nuTensor</i>).</p>", "message":"<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).<\/p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.<\/p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.<\/p><p>Enter &ldquo;<code>0<\/code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>uMatrix<\/i>).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message":"Refresh", "message":"Refresh",
"description":"" "description":""
}, },
"logAll": {
"message": "All",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Tabless",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Current tab",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Reload the tab content",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "filter expression(s)",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "cookie deleted: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "failed to delete cookie: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "browser cache cleared",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "asset updated: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: The logger",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Clear logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pause logger (discard all incoming data)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Unpause logger",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Logger filtering options",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Not",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "blocked",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "1st-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "3rd-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Details",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Context",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Rule",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Preserve entries from the last {{input}} minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Preserve at most {{input}} entries per tab",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Use {{input}} lines per entry in vertically expanded mode",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "List",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Table",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Plain",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message": "nuTensor &ndash; Settings", "message":"uMatrix &ndash; Settings",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message": "Matrix", "message":"Appearance",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message":"Text size:", "message":"Text size:",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "Show the number of blocked resources on the icon", "message":"Normal",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"Large",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
@ -455,52 +271,52 @@
"message":"Convenience", "message":"Convenience",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "Default scope level:", "message":"When the matrix is closed, smart reload these tabs:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "Global", "message":"None",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "Domain", "message":"Current",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "Site", "message":"All",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "Hide placeholder of blocked elements", "message":"Whenever you make changes in the matrix which can affect the display and\/or behavior of one or more pages, <i>uMatrix<\/i> will reload affected pages automatically when you close the matrix.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "Hide placeholder of blacklisted elements", "message":"Blocked frames:&ensp;Color",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "Spoof <code><noscript></code> tags when 1st-party scripts are blocked", "message":"Opacity",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "Enable cloud storage support", "message":"Show the number of distinct requests on the icon",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "Disable tooltips", "message":"Collapse placeholder of blocked elements",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message": "nuTensor &ndash; Privacy", "message":"uMatrix &ndash; Privacy",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
"message": "Delete blocked cookies", "message":"Delete blocked cookies.",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p>Blacklisted cookies are not prevented by <i>nuTensor</i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.</p><p>Once these blacklisted cookies have been accounted for by <i>nuTensor</i>, they can be removed from your browser if you wish so.</p><p><b>Important note:</b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>nuTensor</i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.</p>", "message":"<p>Blacklisted cookies are not prevented by <i>uMatrix<\/i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.<\/p><p>Once these blacklisted cookies have been accounted for by <i>uMatrix<\/i>, they can be removed from your browser if you wish so.<\/p><p><b>Important note:<\/b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>uMatrix<\/i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
@ -508,15 +324,15 @@
"description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt2":{ "privacyDeleteNonBlockedSessionCookiesPrompt2":{
"message": " minutes after the last time they have been used", "message":" minutes after the last time they have been used.",
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;</p><p>Except that this <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>might not be happening</a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;<\/p><p>Except that this <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>might not be happening<\/a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "Delete <a href='https://en.wikipedia.org/wiki/Web_storage'>local storage</a> content set by blocked hostnames", "message":"Delete <a href='https:\/\/en.wikipedia.org\/wiki\/Web_storage'>local storage<\/a> content set by blocked hostnames",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
@ -528,35 +344,55 @@
"description":"First part of 'Clear browser cache every [n] minutes'" "description":"First part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCachePrompt2":{ "privacyClearCachePrompt2":{
"message": "minutes", "message":"minutes.",
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.</p><p>A few of these tricks rely<sup>[1, 2]</sup> on the <a href='https://en.wikipedia.org/wiki/Web_cache'>browser cache</a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.</p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.</p><p>Check this option to have <i>nuTensor</i> do it for you, at the interval you wish.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a>\n[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>", "message":"<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.<\/p><p>A few of these tricks rely<sup style='font-size:smaller'>[1, 2]<\/sup> on the <a href='https:\/\/en.wikipedia.org\/wiki\/Web_cache'>browser cache<\/a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.<\/p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.<\/p><p>Check this option to have <i>uMatrix<\/i> do it for you, at the interval you wish.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Cookieless cookies&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "Spoof <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referrer</a> string of third-party requests", "message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referrer<\/a> string of third-party requests.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "From Wikipedia:<blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.</b></blockquote>If this setting is checked, <i>nuTensor</i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.", "message":"<p>From Wikipedia:<\/p><blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.<\/b><\/blockquote><p>If this setting is checked, <i>uMatrix<\/i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
"message": "Strict HTTPS: forbid mixed content", "message":"Strict HTTPS: forbid mixed content.",
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>From <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.</blockquote>", "message":"<p>From <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a>:<\/p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "Block all <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>hyperlink auditing</a> attempts", "message":"Block all <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>hyperlink auditing<\/a> attempts.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>Hyperlink auditing is a mechanism which allow a party, <b>any party</b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.</p>", "message":"<p>Hyperlink auditing is a mechanism which allow a party, <b>any party<\/b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/User_agent'>User-Agent<\/a> string by randomly picking a new one below every",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"minutes.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>According to the <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] your browser sends a &lsquo;User Agent&rsquo; header to the website saying precisely which operating system and web browser you are using. This information could help distinguish Internet users from one another because these versions differ, often considerably, from person to person. [...] <b>the User Agent string becomes a real privacy problem<\/b>.&rdquo;<p>This option allows you to address the privacy issue raised by the EFF.<\/p><p>You can supply your own list of user agent strings. One string per line. Blank lines and lines prefixed with &lsquo;#&rsquo; will be ignored.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Behind-the-scene requests",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
@ -603,10 +439,6 @@
"message":"my-umatrix-rules.txt", "message":"my-umatrix-rules.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "Hosts files",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.", "message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.",
"description":"" "description":""
@ -628,7 +460,7 @@
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "Auto-update assets", "message":"Auto-update hosts files.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -640,7 +472,7 @@
"description":"" "description":""
}, },
"hostsFilesExternalListsHint":{ "hostsFilesExternalListsHint":{
"message": "Import external assets here: \nOne URL per line; invalid URLs will be silently ignored.", "message":"One URL per line. Lines prefixed with &lsquo;#&rsquo; will be ignored. Invalid URLs will be silently ignored.",
"description":"" "description":""
}, },
"hostsFilesExternalListsParse":{ "hostsFilesExternalListsParse":{
@ -659,32 +491,8 @@
"message":"outdated", "message":"outdated",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "Ruleset recipes",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Ruleset recipes are imported from the popup panel <em>on demand</em>, i.e. <b>only</b> through user interaction.",
"description": ""
},
"assetsImportLabel": {
"message": "Import...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "My hosts",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "My recipes",
"description": ""
},
"rawSettingsWarning": {
"message": "Warning! Change these raw configuration settings at your own risk.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Change log</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>Change log<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
@ -692,11 +500,11 @@
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Documentation</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Documentation<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki/Permissions'>Permissions</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>Permissions<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
@ -704,8 +512,8 @@
"description":"" "description":""
}, },
"aboutIssues":{ "aboutIssues":{
"message": "Issue tracker", "message":"Bugs and issues",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message":"Contributors", "message":"Contributors",
@ -740,7 +548,7 @@
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "All your settings will be overwritten using data backed up on {{time}}, and nuTensor will restart.\n\nOverwrite all existing settings using backed up data?", "message":"All your settings will be overwritten using data backed up on {{time}}, and uMatrix will restart.\n\nOverwrite all existing settings using backed up data?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
@ -759,18 +567,38 @@
"message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?", "message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"filter expression(s)",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"spoofing user agent with: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"cookie deleted: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"failed to delete cookie: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"browser cache cleared",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"asset updated: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor has prevented the following page from loading:", "message":"uMatrix has prevented the following page from loading:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message":"Because of the following rule", "message":"Because of the following rule",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "without parameters",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message":"Go back", "message":"Go back",
"description":"English: Go back" "description":"English: Go back"
@ -827,40 +655,8 @@
"message":"Logger", "message":"Logger",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Export to cloud storage",
"description": "tooltip"
},
"cloudPull": {
"message": "Import from cloud storage",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "This device name:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Submit",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Revert",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"Network error: Unable to connect to {{url}}", "message":"Network error: Unable to connect to {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Apply changes",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copy to clipboard",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

@ -4,17 +4,13 @@
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "클릭 한번으로 모든 종류의 요청에 대한 거부 / 허용을 설정 할 수 있습니다. 스크립트, Iframe, 광고, Facebook 등을 차단합니다.", "message":"Point & click to forbid\/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message":"µMatrix — 대시보드", "message":"µMatrix — 대시보드",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — 로그",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message":"설정", "message":"설정",
"description":"a tab in dashboard" "description":"a tab in dashboard"
@ -32,11 +28,7 @@
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "필터", "message":"Hosts files",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "고급",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
@ -44,7 +36,7 @@
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"allPrettyName":{ "allPrettyName":{
"message": "전체", "message":"all",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"cookiePrettyName":{ "cookiePrettyName":{
@ -59,10 +51,6 @@
"message":"image", "message":"image",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"mediaPrettyName": {
"message": "media",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"pluginPrettyName":{ "pluginPrettyName":{
"message":"plugin", "message":"plugin",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
@ -71,8 +59,8 @@
"message":"script", "message":"script",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
@ -84,155 +72,127 @@
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"matrixNoNetTrafficPrompt":{ "matrixNoNetTrafficPrompt":{
"message": "이 탭에서는 네트워크 트래픽을 감지 할 수 없습니다.", "message":"No net traffic seen for this tab so far.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Select a local scope to see/create rules which apply only in that scope",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Select the global scope to see/create rules which apply everywhere",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "현재 페이지에 대한 matrix 사용 여부 설정", "message":"Disable\/enable matrix filtering for this scope.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
"message": "현재 페이지 임시 변경 사항 저장", "message":"Save all temporary changes for this scope.",
"description":"Tool tip for the persist button" "description":"Tool tip for the persist button"
}, },
"matrixRevertButtonTip":{ "matrixRevertButtonTip":{
"message": "현재 페이지 임시 변경 사항 초기화", "message":"Revert temporary changes for this scope.",
"description":"Tool tip for the revert local permission button" "description":"Tool tip for the revert local permission button"
}, },
"matrixReloadButton":{ "matrixReloadButton":{
"message": "페이지 새로고침.\nShift를 누르면서 클릭 할 경우 브라우저 캐시를 건너 뜀", "message":"Reload the page.",
"description":"Tool tip for the reload button" "description":"Tool tip for the reload button"
}, },
"matrix1stPartyLabel":{ "matrix1stPartyLabel":{
"message": "최상위 도메인", "message":"주",
"description":"1st-party" "description":"1st-party"
}, },
"matrixBlacklistedHostnames":{ "matrixBlacklistedHostnames":{
"message": "{{count}} 블럭된 호스트 이름", "message":"{{count}} blacklisted hostname(s)",
"description":"Appears in the metadata row of bottom-most group: **mind the limited width**" "description":"Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent":{ "matrixSwitchNoMixedContent":{
"message": "전체 HTTPS", "message":"Strict HTTPS",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Forbid web workers", "message":"User agent spoofing",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message": "참조 주소 위조", "message":"Referrer spoofing",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoscriptSpoof": {
"message": "<code><noscript></code> 태그 위조",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Reveal canonical names",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
"message": "모든 임시 변경 사항 초기화", "message":"Revert all temporary changes",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixLoggerMenuEntry":{ "matrixLoggerMenuEntry":{
"message": "로그로 이동", "message":"Go to logger",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixDashboardMenuEntry":{ "matrixDashboardMenuEntry":{
"message": "대시보드로 이동", "message":"Go to dashboard",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "웹 페이지를 찾을 수 없습니다.",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Import rules",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Save rules",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message": "nuTensor &ndash; 통계", "message":"uMatrix &ndash; Statistics",
"description":"" "description":""
}, },
"statsPageGenericStats":{ "statsPageGenericStats":{
"message": "일반 통계", "message":"Generic statistics",
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_cookie'>HTTP cookie</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_cookie'>HTTP cookie<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referer</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referer<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hyperlink auditing</a> attempts foiled: {{count}}", "message":"<a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink auditing<\/a> attempts foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
"message": "로컬 쿠기 삭제: {{count}}", "message":"Local cookies removed: {{count}}",
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "<a href='http://diveintohtml5.info/storage.html'>로컬 저장소</a> 삭제한 수: {{count}}", "message":"<a href='http:\/\/diveintohtml5.info\/storage.html'>Local storages<\/a> emptied: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
"message": "브라우저 케시 삭제: {{count}}", "message":"Browser caches cleared: {{count}}",
"description":"" "description":""
}, },
"statsPageDetailedStats":{ "statsPageDetailedStats":{
"message": "상세 통계", "message":"Detailed statistics",
"description":"" "description":""
}, },
"statsPageDetailedAllPages":{ "statsPageDetailedAllPages":{
"message": "전체", "message":"All",
"description":"" "description":""
}, },
"statsPageDetailedBehindTheScenePage":{ "statsPageDetailedBehindTheScenePage":{
"message": "백그라운드 요청", "message":"Behind the scene",
"description":"" "description":""
}, },
"statsPageOverview":{ "statsPageOverview":{
"message": "요약", "message":"Overview",
"description":"" "description":""
}, },
"statsPageRequests":{ "statsPageRequests":{
"message": "리퀘스트", "message":"Requests",
"description":"header for the stat type column" "description":"header for the stat type column"
}, },
"statsPageAllowed":{ "statsPageAllowed":{
"message": "허용", "message":"Allowed",
"description":"header for the allowed requests column" "description":"header for the allowed requests column"
}, },
"statsPageBlocked":{ "statsPageBlocked":{
"message": "차단", "message":"Blocked",
"description":"header for the blocked requests column" "description":"header for the blocked requests column"
}, },
"statsPageAll":{ "statsPageAll":{
"message": "전체", "message":"All",
"description":"" "description":""
}, },
"statsPagePages":{ "statsPagePages":{
"message": "페이지", "message":"Pages",
"description":"" "description":""
}, },
"statsPageCookies":{ "statsPageCookies":{
"message": "Cookie", "message":"Cookies",
"description":"" "description":""
}, },
"statsPageCSS":{ "statsPageCSS":{
@ -240,15 +200,15 @@
"description":"" "description":""
}, },
"statsPageImages":{ "statsPageImages":{
"message": "image", "message":"Images",
"description":"" "description":""
}, },
"statsPagePlugins":{ "statsPagePlugins":{
"message": "plugin", "message":"Plugins",
"description":"" "description":""
}, },
"statsPageScripts":{ "statsPageScripts":{
"message": "script", "message":"Scripts",
"description":"" "description":""
}, },
"statsPageXHRs":{ "statsPageXHRs":{
@ -256,15 +216,15 @@
"description":"" "description":""
}, },
"statsPageFrames":{ "statsPageFrames":{
"message": "frame", "message":"Frames",
"description":"" "description":""
}, },
"statsPageOthers":{ "statsPageOthers":{
"message": "other", "message":"Others",
"description":"" "description":""
}, },
"statsPageDetailed":{ "statsPageDetailed":{
"message": "로그", "message":"Logger",
"description":"" "description":""
}, },
"statsPageLogSizePrompt1":{ "statsPageLogSizePrompt1":{
@ -272,251 +232,107 @@
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "HTTP 요청<b>페이지 당</b>.", "message":"HTTP requests <b>per page<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).</p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.</p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.</p><p>Enter &ldquo;<code>0</code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>nuTensor</i>).</p>", "message":"<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).<\/p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.<\/p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.<\/p><p>Enter &ldquo;<code>0<\/code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>uMatrix<\/i>).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message":"새로고침", "message":"새로고침",
"description":"" "description":""
}, },
"logAll": {
"message": "All",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Tabless",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Current tab",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Reload the tab content",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "필터링",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "쿠키 삭제: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "삭제 못 한 쿠키: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "브라우저 케시 삭제 완료",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "자원 업데이트 완료:{{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: The logger",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Clear logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pause logger (discard all incoming data)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Unpause logger",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Logger filtering options",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Not",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "blocked",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "1st-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "3rd-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Details",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Context",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Rule",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Preserve entries from the last {{input}} minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Preserve at most {{input}} entries per tab",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Use {{input}} lines per entry in vertically expanded mode",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "List",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Table",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Plain",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message":"µMatrix &ndash; 설정", "message":"µMatrix &ndash; 설정",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message": "Matrix", "message":"Appearance",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message":"글자 크기:", "message":"글자 크기:",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "아이콘에 요청 수 표시", "message":"보통",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"Large",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
"message": "색약자 설정", "message":"Color-blind friendly",
"description":"" "description":""
}, },
"settingsMatrixConvenienceHeader":{ "settingsMatrixConvenienceHeader":{
"message": "편의 설정", "message":"Convenience",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "기본 범위", "message":"When the matrix is closed, smart reload these tabs:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "전체", "message":"None",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "도메인", "message":"Current",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "사이트", "message":"All",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "차단 된 요청과 관련된 페이지 콘텐츠를 숨깁니다.", "message":"Whenever you make changes in the matrix which can affect the display and\/or behavior of one or more pages, <i>uMatrix<\/i> will reload affected pages automatically when you close the matrix.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "블랙리스트와 관련된 페이지 콘텐츠 숨김", "message":"Blocked frames:&ensp;Color",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "웹 페이지의 도메인 스크립트 차단 시 <code><noscript></code> 태그 수정", "message":"Opacity",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "클라우드 저장소 활성화", "message":"Show the number of distinct requests on the icon",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "툴팁 끄기", "message":"Collapse placeholder of blocked elements",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message": "nuTensor &ndash; Privacy", "message":"uMatrix &ndash; Privacy",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
"message": "차단된 쿠키 삭제", "message":"Delete blocked cookies.",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p>Blacklisted cookies are not prevented by <i>nuTensor</i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.</p><p>Once these blacklisted cookies have been accounted for by <i>nuTensor</i>, they can be removed from your browser if you wish so.</p><p><b>Important note:</b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>nuTensor</i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.</p>", "message":"<p>Blacklisted cookies are not prevented by <i>uMatrix<\/i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.<\/p><p>Once these blacklisted cookies have been accounted for by <i>uMatrix<\/i>, they can be removed from your browser if you wish so.<\/p><p><b>Important note:<\/b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>uMatrix<\/i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
"message": "차단되지 않은 세션 쿠키 삭제 ", "message":"Delete non-blocked session cookies ",
"description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt2":{ "privacyDeleteNonBlockedSessionCookiesPrompt2":{
"message": " 분 동안 사용되지 않은 경우", "message":" minutes after the last time they have been used.",
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;</p><p>Except that this <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>might not be happening</a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;<\/p><p>Except that this <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>might not be happening<\/a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "차단 호스트 이름으로 설정된 <a href='https://en.wikipedia.org/wiki/Web_storage'>로컬 저장소</a> 삭제", "message":"Delete <a href='https:\/\/en.wikipedia.org\/wiki\/Web_storage'>local storage<\/a> content set by blocked hostnames",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
@ -524,55 +340,75 @@
"description":"" "description":""
}, },
"privacyClearCachePrompt1":{ "privacyClearCachePrompt1":{
"message": "설정한 시간마다 브라우저 캐시 지우기:", "message":"Clear browser cache every",
"description":"First part of 'Clear browser cache every [n] minutes'" "description":"First part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCachePrompt2":{ "privacyClearCachePrompt2":{
"message": "분", "message":"minutes.",
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.</p><p>A few of these tricks rely<sup>[1, 2]</sup> on the <a href='https://en.wikipedia.org/wiki/Web_cache'>browser cache</a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.</p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.</p><p>Check this option to have <i>nuTensor</i> do it for you, at the interval you wish.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a>\n[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>", "message":"<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.<\/p><p>A few of these tricks rely<sup style='font-size:smaller'>[1, 2]<\/sup> on the <a href='https:\/\/en.wikipedia.org\/wiki\/Web_cache'>browser cache<\/a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.<\/p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.<\/p><p>Check this option to have <i>uMatrix<\/i> do it for you, at the interval you wish.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Cookieless cookies&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "제 3 자 요청의 <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP 리퍼러</a> 문자열을 위조 합니다.", "message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referrer<\/a> string of third-party requests.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "From Wikipedia:<blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.</b></blockquote>If this setting is checked, <i>nuTensor</i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.", "message":"<p>From Wikipedia:<\/p><blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.<\/b><\/blockquote><p>If this setting is checked, <i>uMatrix<\/i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
"message": "전체 HTTPS: 혼합 된 콘텐츠 금지", "message":"Strict HTTPS: forbid mixed content.",
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>From <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.</blockquote>", "message":"<p>From <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a>:<\/p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "모든 <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'> 하이퍼 링크 추적 </a> 거부", "message":"Block all <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>hyperlink auditing<\/a> attempts.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>Hyperlink auditing is a mechanism which allow a party, <b>any party</b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.</p>", "message":"<p>Hyperlink auditing is a mechanism which allow a party, <b>any party<\/b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/User_agent'>User-Agent<\/a> string by randomly picking a new one below every",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"minutes.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>According to the <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] your browser sends a &lsquo;User Agent&rsquo; header to the website saying precisely which operating system and web browser you are using. This information could help distinguish Internet users from one another because these versions differ, often considerably, from person to person. [...] <b>the User Agent string becomes a real privacy problem<\/b>.&rdquo;<p>This option allows you to address the privacy issue raised by the EFF.<\/p><p>You can supply your own list of user agent strings. One string per line. Blank lines and lines prefixed with &lsquo;#&rsquo; will be ignored.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Behind-the-scene requests",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
"message": "저장된 규칙", "message":"Permanent rules",
"description":"" "description":""
}, },
"userRulesTemporaryHeader":{ "userRulesTemporaryHeader":{
"message": "임시 규칙", "message":"Temporary rules",
"description":"" "description":""
}, },
"userRulesRevert":{ "userRulesRevert":{
"message": "되돌리기", "message":"Revert",
"description":"Will remove all temporary rules" "description":"Will remove all temporary rules"
}, },
"userRulesCommit":{ "userRulesCommit":{
"message": "저장", "message":"Commit",
"description":"Will save all temporary rules" "description":"Will save all temporary rules"
}, },
"userRulesEdit":{ "userRulesEdit":{
@ -584,11 +420,11 @@
"description":"Will save manually-edited content and exit manual-edit mode" "description":"Will save manually-edited content and exit manual-edit mode"
}, },
"userRulesEditDicard":{ "userRulesEditDicard":{
"message": "삭제", "message":"Discard",
"description":"Will discard manually-edited content and exit manual-edit mode" "description":"Will discard manually-edited content and exit manual-edit mode"
}, },
"userRulesImport":{ "userRulesImport":{
"message": "파일에서 가져오기", "message":"Import from file...",
"description":"" "description":""
}, },
"userRulesExport":{ "userRulesExport":{
@ -600,27 +436,23 @@
"description":"" "description":""
}, },
"userRulesDefaultFileName":{ "userRulesDefaultFileName":{
"message": "my-umatrix-rules.txt", "message":"내-umatrix-규칙.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "호스트 파일 목록",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message": "호스트 파일에있는 도메인은 글로벌 블랙리스트에 포함됩니다.", "message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.",
"description":"" "description":""
}, },
"hostsFilesStats":{ "hostsFilesStats":{
"message": "차단된 호스트 네임: {{blockedHostnameCount}}", "message":"{{blockedHostnameCount}} distinct blocked hostnames from:",
"description":"" "description":""
}, },
"hostsFilesPerFileStats":{ "hostsFilesPerFileStats":{
"message": "{{total}} 개 중 {{used}} 개 사용 중", "message":"{{used}} used out of {{total}}",
"description":"" "description":""
}, },
"hostsFilesLastUpdate":{ "hostsFilesLastUpdate":{
"message": "마지막 업데이트: {{ago}}", "message":"Last update: {{ago}}",
"description":"English: Last update: {{ago}}, where 'ago' will be replaced with something like '2 days ago'" "description":"English: Last update: {{ago}}, where 'ago' will be replaced with something like '2 days ago'"
}, },
"hostsFilesApplyChanges":{ "hostsFilesApplyChanges":{
@ -628,7 +460,7 @@
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "필터 자동 업데이트", "message":"Auto-update hosts files.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -636,19 +468,19 @@
"description":"" "description":""
}, },
"hostsFilesPurgeAll":{ "hostsFilesPurgeAll":{
"message": "케시 초기화", "message":"Purge all caches",
"description":"" "description":""
}, },
"hostsFilesExternalListsHint":{ "hostsFilesExternalListsHint":{
"message": "한 줄에 하나의 URL. 시작이 &lsquo;#&rsquo; 일 경우 적용되지 않습니다. 유효하지 않은 URL은 자동으로 무시됩니다.", "message":"One URL per line. Lines prefixed with &lsquo;#&rsquo; will be ignored. Invalid URLs will be silently ignored.",
"description":"" "description":""
}, },
"hostsFilesExternalListsParse":{ "hostsFilesExternalListsParse":{
"message": "읽기", "message":"Parse",
"description":"" "description":""
}, },
"hostsFilesExternalListPurge":{ "hostsFilesExternalListPurge":{
"message": "케시 지우기", "message":"purge cache",
"description":"" "description":""
}, },
"hostsFilesExternalListNew":{ "hostsFilesExternalListNew":{
@ -659,44 +491,20 @@
"message":"구버전입니다", "message":"구버전입니다",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "허용 규칙 프리셋",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "허용 규칙 프리셋은 <b>사용자</b>가 nuTensor 팝업 화면에서 퍼즐 조각 아이콘을 클릭 후 규칙 프리셋을<em>선택 시</em> 적용 됩니다.",
"description": ""
},
"assetsImportLabel": {
"message": "추가...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "My hosts",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "My recipes",
"description": ""
},
"rawSettingsWarning": {
"message": "경고! 다음 설정은 고급 사용자만 설정하세요.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>변경사항</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>변경사항<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
"message": "저장공간 사용: {{storageUsed}} bytes", "message":"Storage used: {{storageUsed}} bytes",
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>문서</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Documentation<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/gorhill/httpswitchboard/wiki/Permissions'>확장기능 요구 권한</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>Permissions<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
@ -704,19 +512,19 @@
"description":"" "description":""
}, },
"aboutIssues":{ "aboutIssues":{
"message": "오류 혹은 이슈", "message":"Bugs and issues",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message": "기여자", "message":"Contributors",
"description":"English: Contributors" "description":"English: Contributors"
}, },
"aboutCodeContributors":{ "aboutCodeContributors":{
"message": "코드:", "message":"Code:",
"description":"" "description":""
}, },
"aboutIssueContributors":{ "aboutIssueContributors":{
"message": "이슈:", "message":"Issues:",
"description":"" "description":""
}, },
"aboutTranslationContributors":{ "aboutTranslationContributors":{
@ -724,7 +532,7 @@
"description":"" "description":""
}, },
"aboutUserDataHeader":{ "aboutUserDataHeader":{
"message": "사용자 데이터", "message":"Your data",
"description":"" "description":""
}, },
"aboutBackupButton":{ "aboutBackupButton":{
@ -736,19 +544,19 @@
"description":"default filename to use" "description":"default filename to use"
}, },
"aboutRestoreButton":{ "aboutRestoreButton":{
"message": "파일에서 복원...", "message":"Restore from file...",
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "{{time}} 에 백업된 데이터가 모든 설정을 덮어쓰기한 뒤, nuTensor이 재시작합니다.\n\n존재하는 모든 설정을 백업 데이터로 덮어쓰시겠습니까?", "message":"{{time}}에 백업된 데이터가 모든 설정을 덮어쓰기한 뒤, µBlock이 재시작합니다.\n\n존재하는 모든 설정을 백업 데이터로 덮어쓰시겠습니까?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
"message": "데이터를 읽을 수 없거나 유효하지 않습니다.", "message":"The data could not be read or is invalid",
"description":"" "description":""
}, },
"aboutOr":{ "aboutOr":{
"message": "... 혹은 ...", "message":"... or ...",
"description":"English: ... or ..." "description":"English: ... or ..."
}, },
"aboutResetButton":{ "aboutResetButton":{
@ -759,36 +567,56 @@
"message":"주의! 모든 개인설정이 제거됩니다. 정말로 계속하시겠습니까?", "message":"주의! 모든 개인설정이 제거됩니다. 정말로 계속하시겠습니까?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"filter expression(s)",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"spoofing user agent with: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"cookie deleted: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"failed to delete cookie: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"browser cache cleared",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"asset updated: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor가 다음 페이지를 불러오지 못하게했습니다.", "message":"uMatrix has prevented the following page from loading:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message": "다음 규칙에 따라", "message":"Because of the following rule",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "without parameters",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message": "뒤로 가기", "message":"Go back",
"description":"English: Go back" "description":"English: Go back"
}, },
"mainBlockedClose":{ "mainBlockedClose":{
"message": "닫기", "message":"Close",
"description":"English: Close" "description":"English: Close"
}, },
"commandRevertAll":{ "commandRevertAll":{
"message": "모든 임시 변경 사항 초기화", "message":"Revert all temporary changes",
"description":"" "description":""
}, },
"commandWhitelistPageDomain":{ "commandWhitelistPageDomain":{
"message": "이 페이지의 도메인을 임시로 화이트리스트에 등록 하였습니다.", "message":"Temporarily whitelist page domain",
"description":"" "description":""
}, },
"commandWhitelistAll":{ "commandWhitelistAll":{
"message": "임시로 모두 허용 목록에 추가", "message":"Temporarily whitelist all",
"description":"" "description":""
}, },
"commandOpenDashboard":{ "commandOpenDashboard":{
@ -796,71 +624,39 @@
"description":"" "description":""
}, },
"elapsedOneMinuteAgo":{ "elapsedOneMinuteAgo":{
"message": "1분 전", "message":"a minute ago",
"description":"English: a minute ago" "description":"English: a minute ago"
}, },
"elapsedManyMinutesAgo":{ "elapsedManyMinutesAgo":{
"message": "{{value}} 분 전", "message":"{{value}} minutes ago",
"description":"English: {{value}} minutes ago" "description":"English: {{value}} minutes ago"
}, },
"elapsedOneHourAgo":{ "elapsedOneHourAgo":{
"message": "한시간 전", "message":"an hour ago",
"description":"English: an hour ago" "description":"English: an hour ago"
}, },
"elapsedManyHoursAgo":{ "elapsedManyHoursAgo":{
"message": "{{value}} 시간 전", "message":"{{value}} hours ago",
"description":"English: {{value}} hours ago" "description":"English: {{value}} hours ago"
}, },
"elapsedOneDayAgo":{ "elapsedOneDayAgo":{
"message": "어제", "message":"a day ago",
"description":"English: a day ago" "description":"English: a day ago"
}, },
"elapsedManyDaysAgo":{ "elapsedManyDaysAgo":{
"message": "{{value}} 일 전", "message":"{{value}} days ago",
"description":"English: {{value}} days ago" "description":"English: {{value}} days ago"
}, },
"showDashboardButton":{ "showDashboardButton":{
"message": "대시보드", "message":"Dashboard",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"showLoggerButton":{ "showLoggerButton":{
"message": "로그", "message":"Logger",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "클라우드에 저장",
"description": "tooltip"
},
"cloudPull": {
"message": "클라우드 저장소에서 내려받기",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "디바이스 이름:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "저장",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "되돌리기",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message": "네트워크 오류: 연결할 수 없습니다 {{url}}", "message":"Network error: Unable to connect to {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "변경사항 적용",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copy to clipboard",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

@ -1,54 +1,46 @@
{ {
"extName":{ "extName":{
"message": "nuTensor", "message":"uMatrix",
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "Point & click to forbid/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.", "message":"Point & click to forbid\/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message": "nuTensor — Dashboard", "message":"uMatrix — Dashboard",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — Logger",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message": "Nustatymai", "message":"Settings",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"privacyPageName":{ "privacyPageName":{
"message": "Privatumas", "message":"Privacy",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"statsPageName":{ "statsPageName":{
"message": "Statistika", "message":"Statistics",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"userRulesPageName":{ "userRulesPageName":{
"message": "Mano taisyklės", "message":"My rules",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "Assets", "message":"Hosts files",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "Daugiau",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
"message": "Apie", "message":"About",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"allPrettyName":{ "allPrettyName":{
"message": "visi", "message":"all",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"cookiePrettyName":{ "cookiePrettyName":{
"message": "slapukai", "message":"cookie",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"cssPrettyName":{ "cssPrettyName":{
@ -56,23 +48,19 @@
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"imagePrettyName":{ "imagePrettyName":{
"message": "paveikslėlis", "message":"image",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"mediaPrettyName": {
"message": "media",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"pluginPrettyName":{ "pluginPrettyName":{
"message": "papildiniai", "message":"plugin",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"scriptPrettyName":{ "scriptPrettyName":{
"message":"script", "message":"script",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
@ -87,28 +75,20 @@
"message":"No net traffic seen for this tab so far.", "message":"No net traffic seen for this tab so far.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Select a local scope to see/create rules which apply only in that scope",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Select the global scope to see/create rules which apply everywhere",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "Disable/enable matrix filtering for this scope", "message":"Disable\/enable matrix filtering for this scope.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
"message": "Save all temporary changes for this scope", "message":"Save all temporary changes for this scope.",
"description":"Tool tip for the persist button" "description":"Tool tip for the persist button"
}, },
"matrixRevertButtonTip":{ "matrixRevertButtonTip":{
"message": "Revert temporary changes for this scope", "message":"Revert temporary changes for this scope.",
"description":"Tool tip for the revert local permission button" "description":"Tool tip for the revert local permission button"
}, },
"matrixReloadButton":{ "matrixReloadButton":{
"message": "Reload the page. \nPress Shift to bypass the browser cache.", "message":"Reload the page.",
"description":"Tool tip for the reload button" "description":"Tool tip for the reload button"
}, },
"matrix1stPartyLabel":{ "matrix1stPartyLabel":{
@ -120,23 +100,15 @@
"description":"Appears in the metadata row of bottom-most group: **mind the limited width**" "description":"Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent":{ "matrixSwitchNoMixedContent":{
"message": "Forbid mixed content", "message":"Strict HTTPS",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Forbid web workers", "message":"User agent spoofing",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message": "Spoof <code>Referer</code> header", "message":"Referrer spoofing",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoscriptSpoof": {
"message": "Spoof <code><noscript></code> tags",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Reveal canonical names",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
@ -151,20 +123,8 @@
"message":"Go to dashboard", "message":"Go to dashboard",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "No web page found",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Import rules",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Save rules",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message": "nuTensor &ndash; Statistics", "message":"uMatrix &ndash; Statistics",
"description":"" "description":""
}, },
"statsPageGenericStats":{ "statsPageGenericStats":{
@ -172,15 +132,15 @@
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_cookie'>HTTP cookie</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_cookie'>HTTP cookie<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referer</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referer<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hyperlink auditing</a> attempts foiled: {{count}}", "message":"<a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink auditing<\/a> attempts foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
@ -188,7 +148,7 @@
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "<a href='http://diveintohtml5.info/storage.html'>Local storages</a> emptied: {{count}}", "message":"<a href='http:\/\/diveintohtml5.info\/storage.html'>Local storages<\/a> emptied: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
@ -272,179 +232,35 @@
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "HTTP requests <b>per page</b>", "message":"HTTP requests <b>per page<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).</p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.</p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.</p><p>Enter &ldquo;<code>0</code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>nuTensor</i>).</p>", "message":"<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).<\/p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.<\/p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.<\/p><p>Enter &ldquo;<code>0<\/code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>uMatrix<\/i>).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message":"Refresh", "message":"Refresh",
"description":"" "description":""
}, },
"logAll": {
"message": "All",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Tabless",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Current tab",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Reload the tab content",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "filter expression(s)",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "cookie deleted: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "failed to delete cookie: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "browser cache cleared",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "asset updated: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: The logger",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Clear logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pause logger (discard all incoming data)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Unpause logger",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Logger filtering options",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Not",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "blocked",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "1st-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "3rd-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Details",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Context",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Rule",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Preserve entries from the last {{input}} minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Preserve at most {{input}} entries per tab",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Use {{input}} lines per entry in vertically expanded mode",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "List",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Table",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Plain",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message": "nuTensor &ndash; Settings", "message":"uMatrix &ndash; Settings",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message": "Matrix", "message":"Appearance",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message":"Text size:", "message":"Text size:",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "Show the number of blocked resources on the icon", "message":"Normal",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"Large",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
@ -455,52 +271,52 @@
"message":"Convenience", "message":"Convenience",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "Default scope level:", "message":"When the matrix is closed, smart reload these tabs:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "Global", "message":"None",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "Domain", "message":"Current",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "Site", "message":"All",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "Hide placeholder of blocked elements", "message":"Whenever you make changes in the matrix which can affect the display and\/or behavior of one or more pages, <i>uMatrix<\/i> will reload affected pages automatically when you close the matrix.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "Hide placeholder of blacklisted elements", "message":"Blocked frames:&ensp;Color",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "Spoof <code><noscript></code> tags when 1st-party scripts are blocked", "message":"Opacity",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "Enable cloud storage support", "message":"Show the number of distinct requests on the icon",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "Disable tooltips", "message":"Collapse placeholder of blocked elements",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message": "nuTensor &ndash; Privacy", "message":"uMatrix &ndash; Privacy",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
"message": "Delete blocked cookies", "message":"Delete blocked cookies.",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p>Blacklisted cookies are not prevented by <i>nuTensor</i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.</p><p>Once these blacklisted cookies have been accounted for by <i>nuTensor</i>, they can be removed from your browser if you wish so.</p><p><b>Important note:</b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>nuTensor</i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.</p>", "message":"<p>Blacklisted cookies are not prevented by <i>uMatrix<\/i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.<\/p><p>Once these blacklisted cookies have been accounted for by <i>uMatrix<\/i>, they can be removed from your browser if you wish so.<\/p><p><b>Important note:<\/b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>uMatrix<\/i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
@ -508,15 +324,15 @@
"description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt2":{ "privacyDeleteNonBlockedSessionCookiesPrompt2":{
"message": " minutes after the last time they have been used", "message":" minutes after the last time they have been used.",
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;</p><p>Except that this <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>might not be happening</a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;<\/p><p>Except that this <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>might not be happening<\/a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "Delete <a href='https://en.wikipedia.org/wiki/Web_storage'>local storage</a> content set by blocked hostnames", "message":"Delete <a href='https:\/\/en.wikipedia.org\/wiki\/Web_storage'>local storage<\/a> content set by blocked hostnames",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
@ -528,35 +344,55 @@
"description":"First part of 'Clear browser cache every [n] minutes'" "description":"First part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCachePrompt2":{ "privacyClearCachePrompt2":{
"message": "minutes", "message":"minutes.",
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.</p><p>A few of these tricks rely<sup>[1, 2]</sup> on the <a href='https://en.wikipedia.org/wiki/Web_cache'>browser cache</a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.</p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.</p><p>Check this option to have <i>nuTensor</i> do it for you, at the interval you wish.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a>\n[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>", "message":"<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.<\/p><p>A few of these tricks rely<sup style='font-size:smaller'>[1, 2]<\/sup> on the <a href='https:\/\/en.wikipedia.org\/wiki\/Web_cache'>browser cache<\/a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.<\/p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.<\/p><p>Check this option to have <i>uMatrix<\/i> do it for you, at the interval you wish.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Cookieless cookies&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "Spoof <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referrer</a> string of third-party requests", "message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referrer<\/a> string of third-party requests.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "From Wikipedia:<blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.</b></blockquote>If this setting is checked, <i>nuTensor</i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.", "message":"<p>From Wikipedia:<\/p><blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.<\/b><\/blockquote><p>If this setting is checked, <i>uMatrix<\/i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
"message": "Strict HTTPS: forbid mixed content", "message":"Strict HTTPS: forbid mixed content.",
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>From <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.</blockquote>", "message":"<p>From <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a>:<\/p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "Block all <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>hyperlink auditing</a> attempts", "message":"Block all <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>hyperlink auditing<\/a> attempts.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>Hyperlink auditing is a mechanism which allow a party, <b>any party</b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.</p>", "message":"<p>Hyperlink auditing is a mechanism which allow a party, <b>any party<\/b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/User_agent'>User-Agent<\/a> string by randomly picking a new one below every",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"minutes.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>According to the <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] your browser sends a &lsquo;User Agent&rsquo; header to the website saying precisely which operating system and web browser you are using. This information could help distinguish Internet users from one another because these versions differ, often considerably, from person to person. [...] <b>the User Agent string becomes a real privacy problem<\/b>.&rdquo;<p>This option allows you to address the privacy issue raised by the EFF.<\/p><p>You can supply your own list of user agent strings. One string per line. Blank lines and lines prefixed with &lsquo;#&rsquo; will be ignored.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Behind-the-scene requests",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
@ -603,10 +439,6 @@
"message":"my-umatrix-rules.txt", "message":"my-umatrix-rules.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "Hosts files",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.", "message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.",
"description":"" "description":""
@ -628,7 +460,7 @@
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "Auto-update assets", "message":"Auto-update hosts files.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -640,7 +472,7 @@
"description":"" "description":""
}, },
"hostsFilesExternalListsHint":{ "hostsFilesExternalListsHint":{
"message": "Import external assets here: \nOne URL per line; invalid URLs will be silently ignored.", "message":"One URL per line. Lines prefixed with &lsquo;#&rsquo; will be ignored. Invalid URLs will be silently ignored.",
"description":"" "description":""
}, },
"hostsFilesExternalListsParse":{ "hostsFilesExternalListsParse":{
@ -659,32 +491,8 @@
"message":"outdated", "message":"outdated",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "Ruleset recipes",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Ruleset recipes are imported from the popup panel <em>on demand</em>, i.e. <b>only</b> through user interaction.",
"description": ""
},
"assetsImportLabel": {
"message": "Import...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "My hosts",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "My recipes",
"description": ""
},
"rawSettingsWarning": {
"message": "Warning! Change these raw configuration settings at your own risk.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Change log</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>Change log<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
@ -692,11 +500,11 @@
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Documentation</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Documentation<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki/Permissions'>Permissions</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>Permissions<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
@ -704,8 +512,8 @@
"description":"" "description":""
}, },
"aboutIssues":{ "aboutIssues":{
"message": "Issue tracker", "message":"Bugs and issues",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message":"Contributors", "message":"Contributors",
@ -740,7 +548,7 @@
"description":"" "description":""
}, },
"aboutRestoreConfirm":{ "aboutRestoreConfirm":{
"message": "All your settings will be overwritten using data backed up on {{time}}, and nuTensor will restart.\n\nOverwrite all existing settings using backed up data?", "message":"All your settings will be overwritten using data backed up on {{time}}, and uMatrix will restart.\n\nOverwrite all existing settings using backed up data?",
"description":"Message asking user to confirm restore" "description":"Message asking user to confirm restore"
}, },
"aboutRestoreError":{ "aboutRestoreError":{
@ -759,18 +567,38 @@
"message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?", "message":"Caution! this will remove all your custom settings. Are you sure you want to proceed?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"filter expression(s)",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"spoofing user agent with: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"cookie deleted: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"failed to delete cookie: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"browser cache cleared",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"asset updated: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor has prevented the following page from loading:", "message":"uMatrix has prevented the following page from loading:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message":"Because of the following rule", "message":"Because of the following rule",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "without parameters",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message":"Go back", "message":"Go back",
"description":"English: Go back" "description":"English: Go back"
@ -827,40 +655,8 @@
"message":"Logger", "message":"Logger",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Export to cloud storage",
"description": "tooltip"
},
"cloudPull": {
"message": "Import from cloud storage",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "This device name:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Submit",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Revert",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"Network error: Unable to connect to {{url}}", "message":"Network error: Unable to connect to {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Apply changes",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copy to clipboard",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

@ -4,17 +4,13 @@
"description":"" "description":""
}, },
"extShortDesc":{ "extShortDesc":{
"message": "Point & click to forbid/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.", "message":"Point & click to forbid\/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.",
"description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS" "description":"this will be used as short description in web stores: MUST BE 132 characters OR LESS"
}, },
"dashboardPageName":{ "dashboardPageName":{
"message":"µMatrix — Vadības panelis", "message":"µMatrix — Vadības panelis",
"description":"" "description":""
}, },
"loggerPageName": {
"message": "nuTensor — Logger",
"description": "Title for the logger window"
},
"settingsPageName":{ "settingsPageName":{
"message":"Iestatījumi", "message":"Iestatījumi",
"description":"a tab in dashboard" "description":"a tab in dashboard"
@ -32,11 +28,7 @@
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"ubiquitousRulesPageName":{ "ubiquitousRulesPageName":{
"message": "Assets", "message":"Hostu faili",
"description": "a tab in dashboard"
},
"rawSettingsPageName": {
"message": "More",
"description":"a tab in dashboard" "description":"a tab in dashboard"
}, },
"aboutPageName":{ "aboutPageName":{
@ -59,10 +51,6 @@
"message":"attēls", "message":"attēls",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"mediaPrettyName": {
"message": "media",
"description": "HAS TO FIT IN MATRIX HEADER!"
},
"pluginPrettyName":{ "pluginPrettyName":{
"message":"spraudnis", "message":"spraudnis",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
@ -71,8 +59,8 @@
"message":"skripts", "message":"skripts",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"fetchPrettyName": { "xhrPrettyName":{
"message": "fetch", "message":"XHR",
"description":"HAS TO FIT IN MATRIX HEADER!" "description":"HAS TO FIT IN MATRIX HEADER!"
}, },
"framePrettyName":{ "framePrettyName":{
@ -87,28 +75,20 @@
"message":"No net traffic seen for this tab so far.", "message":"No net traffic seen for this tab so far.",
"description":"" "description":""
}, },
"matrixLocalScopeTip": {
"message": "Select a local scope to see/create rules which apply only in that scope",
"description": "Tool tip for the local scope button"
},
"matrixGlobalScopeTip": {
"message": "Select the global scope to see/create rules which apply everywhere",
"description": "Tool tip for the global scope button"
},
"matrixMtxButtonTip":{ "matrixMtxButtonTip":{
"message": "Disable/enable matrix filtering for this scope", "message":"Disable\/enable matrix filtering for this scope.",
"description":"Tool tip for matrix button" "description":"Tool tip for matrix button"
}, },
"matrixPersistButtonTip":{ "matrixPersistButtonTip":{
"message": "Save all temporary changes for this scope", "message":"Save all temporary changes for this scope.",
"description":"Tool tip for the persist button" "description":"Tool tip for the persist button"
}, },
"matrixRevertButtonTip":{ "matrixRevertButtonTip":{
"message": "Revert temporary changes for this scope", "message":"Revert temporary changes for this scope.",
"description":"Tool tip for the revert local permission button" "description":"Tool tip for the revert local permission button"
}, },
"matrixReloadButton":{ "matrixReloadButton":{
"message": "Reload the page. \nPress Shift to bypass the browser cache.", "message":"Reload the page.",
"description":"Tool tip for the reload button" "description":"Tool tip for the reload button"
}, },
"matrix1stPartyLabel":{ "matrix1stPartyLabel":{
@ -120,23 +100,15 @@
"description":"Appears in the metadata row of bottom-most group: **mind the limited width**" "description":"Appears in the metadata row of bottom-most group: **mind the limited width**"
}, },
"matrixSwitchNoMixedContent":{ "matrixSwitchNoMixedContent":{
"message": "Forbid mixed content", "message":"Strict HTTPS",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchNoWorker": { "matrixSwitchUASpoof":{
"message": "Forbid web workers", "message":"User agent spoofing",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixSwitchReferrerSpoof":{ "matrixSwitchReferrerSpoof":{
"message": "Spoof <code>Referer</code> header", "message":"Referrer spoofing",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchNoscriptSpoof": {
"message": "Spoof <code><noscript></code> tags",
"description": "A menu entry in the matrix popup"
},
"matrixSwitchRevealCname": {
"message": "Reveal canonical names",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixRevertAllEntry":{ "matrixRevertAllEntry":{
@ -151,20 +123,8 @@
"message":"Go to dashboard", "message":"Go to dashboard",
"description":"A menu entry in the matrix popup" "description":"A menu entry in the matrix popup"
}, },
"matrixNoTabFound": {
"message": "No web page found",
"description": "Displays in place of matrix when no data is found for the current page"
},
"matrixRecipeImportTip": {
"message": "Import rules",
"description": "Used as a tooltip for the recipe import button"
},
"matrixRecipeSaveTip": {
"message": "Save rules",
"description": "Used as a tooltip for the recipe padlock button"
},
"statsPageTitle":{ "statsPageTitle":{
"message": "nuTensor &ndash; Statistics", "message":"uMatrix &ndash; Statistics",
"description":"" "description":""
}, },
"statsPageGenericStats":{ "statsPageGenericStats":{
@ -172,15 +132,15 @@
"description":"" "description":""
}, },
"statsPageCookieHeadersFoiled":{ "statsPageCookieHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_cookie'>HTTP cookie</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_cookie'>HTTP cookie<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageRefererHeadersFoiled":{ "statsPageRefererHeadersFoiled":{
"message": "<a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referer</a> headers foiled: {{count}}", "message":"<a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referer<\/a> headers foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageHyperlinkAuditingFoiled":{ "statsPageHyperlinkAuditingFoiled":{
"message": "<a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>Hyperlink auditing</a> attempts foiled: {{count}}", "message":"<a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>Hyperlink auditing<\/a> attempts foiled: {{count}}",
"description":"" "description":""
}, },
"statsPageCookiesRemoved":{ "statsPageCookiesRemoved":{
@ -188,7 +148,7 @@
"description":"" "description":""
}, },
"statsPageLocalStoragesCleared":{ "statsPageLocalStoragesCleared":{
"message": "<a href='http://diveintohtml5.info/storage.html'>Local storages</a> emptied: {{count}}", "message":"<a href='http:\/\/diveintohtml5.info\/storage.html'>Local storages<\/a> emptied: {{count}}",
"description":"" "description":""
}, },
"statsPageBrowserCacheCleared":{ "statsPageBrowserCacheCleared":{
@ -272,179 +232,35 @@
"description":"First part of Remember the last [n] HTTP requests per page" "description":"First part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizePrompt2":{ "statsPageLogSizePrompt2":{
"message": "HTTP pieprasījumi <b>pa lapai</b>.", "message":"HTTP pieprasījumi <b>pa lapai<\/b>.",
"description":"Second part of Remember the last [n] HTTP requests per page" "description":"Second part of Remember the last [n] HTTP requests per page"
}, },
"statsPageLogSizeHelp":{ "statsPageLogSizeHelp":{
"message": "<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).</p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.</p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.</p><p>Enter &ldquo;<code>0</code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>nuTensor</i>).</p>", "message":"<p>You can inspect details of the most recent raw HTTP requests which have been made by a web page (see below).<\/p><p>This is mostly useful to advanced users who want to investigate exactly what a web page has been doing. But logging these HTTP requests requires memory, and if you don't care about this technical information, then memory is being wasted.<\/p><p>Hence this field which lets you adjust the maximum number of the most recent HTTP requests which are to be logged for further inspection.<\/p><p>Enter &ldquo;<code>0<\/code>&rdquo; to turn off detailed logging (and consequently reduce the memory footprint of <i>uMatrix<\/i>).<\/p>",
"description":"To help user understand the purpose of the log size value" "description":"To help user understand the purpose of the log size value"
}, },
"statsPageRefresh":{ "statsPageRefresh":{
"message":"Atjaunot", "message":"Atjaunot",
"description":"" "description":""
}, },
"logAll": {
"message": "All",
"description": "Appears in the logger's tab selector"
},
"logBehindTheScene": {
"message": "Tabless",
"description": "Pretty name for behind-the-scene network requests"
},
"loggerCurrentTab": {
"message": "Current tab",
"description": "Appears in the logger's tab selector"
},
"loggerReloadTip": {
"message": "Reload the tab content",
"description": "Tooltip for the reload button in the logger page"
},
"loggerFilterInputPlaceholder": {
"message": "filter expression(s)",
"description": "Appears in the input filed where filter expressions are entered"
},
"loggerEntryCookieDeleted": {
"message": "cookie deleted: {{value}}",
"description": "An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError": {
"message": "failed to delete cookie: {{value}}",
"description": "An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared": {
"message": "browser cache cleared",
"description": "An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated": {
"message": "asset updated: {{value}}",
"description": "An entry for when an asset was updated"
},
"loggerRowFiltererButtonTip": {
"message": "Toggle logger filtering",
"description": "Tooltip for the row filterer button in the logger page"
},
"logFilterPrompt": {
"message": "filter logger content",
"description": "Placeholder string for logger output filtering input field"
},
"loggerPopupPanelTip": {
"message": "Toggle the popup panel",
"description": "Tooltip for the popup panel button in the logger page"
},
"loggerInfoTip": {
"message": "uBlock Origin wiki: The logger",
"description": "Tooltip for the top-right info label in the logger page"
},
"loggerClearTip": {
"message": "Clear logger",
"description": "Tooltip for the eraser in the logger page; used to blank the content of the logger"
},
"loggerPauseTip": {
"message": "Pause logger (discard all incoming data)",
"description": "Tooltip for the pause button in the logger page"
},
"loggerUnpauseTip": {
"message": "Unpause logger",
"description": "Tooltip for the play button in the logger page"
},
"loggerRowFiltererBuiltinTip": {
"message": "Logger filtering options",
"description": "Tooltip for the button to bring up logger output filtering options"
},
"loggerRowFiltererBuiltinNot": {
"message": "Not",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinBlocked": {
"message": "blocked",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltinInfo": {
"message": "info",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin1p": {
"message": "1st-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerRowFiltererBuiltin3p": {
"message": "3rd-party",
"description": "A keyword in the built-in row filtering expression"
},
"loggerEntryDetailsHeader": {
"message": "Details",
"description": "Small header to identify the 'Details' pane for a specific logger entry"
},
"loggerEntryDetailsContext": {
"message": "Context",
"description": "Label to identify a context field (typically a hostname)"
},
"loggerEntryDetailsPartyness": {
"message": "Partyness",
"description": "Label to identify a field providing partyness information"
},
"loggerEntryDetailsType": {
"message": "Type",
"description": "Label to identify the type of an entry"
},
"loggerEntryDetailsURL": {
"message": "URL",
"description": "Label to identify the URL of an entry"
},
"loggerEntryRuleHeader": {
"message": "Rule",
"description": "Small header to identify the 'Rule' pane for a specific logger entry"
},
"loggerSettingDiscardPrompt": {
"message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:",
"description": "Logger setting: A sentence to describe the purpose of the settings below"
},
"loggerSettingPerEntryMaxAge": {
"message": "Preserve entries from the last {{input}} minutes",
"description": "A logger setting"
},
"loggerSettingPerTabMaxLoads": {
"message": "Preserve at most {{input}} page loads per tab",
"description": "A logger setting"
},
"loggerSettingPerTabMaxEntries": {
"message": "Preserve at most {{input}} entries per tab",
"description": "A logger setting"
},
"loggerSettingPerEntryLineCount": {
"message": "Use {{input}} lines per entry in vertically expanded mode",
"description": "A logger setting"
},
"loggerExportFormatList": {
"message": "List",
"description": "Label for radio-button to pick export format"
},
"loggerExportFormatTable": {
"message": "Table",
"description": "Label for radio-button to pick export format"
},
"loggerExportEncodePlain": {
"message": "Plain",
"description": "Label for radio-button to pick export text format"
},
"loggerExportEncodeMarkdown": {
"message": "Markdown",
"description": "Label for radio-button to pick export text format"
},
"settingsPageTitle":{ "settingsPageTitle":{
"message":"µMatrix &ndash; Iestatījumi", "message":"µMatrix &ndash; Iestatījumi",
"description":"" "description":""
}, },
"settingsMatrixDisplayHeader":{ "settingsMatrixDisplayHeader":{
"message":"Izskats", "message":"Izskats",
"description": "header for matrix settings used in Settings page" "description":""
}, },
"settingsMatrixDisplayTextSizePrompt":{ "settingsMatrixDisplayTextSizePrompt":{
"message":"Teksta lielums:", "message":"Teksta lielums:",
"description":"" "description":""
}, },
"settingsIconBadgeEnabled": { "settingsMatrixDisplayTextSizeNormal":{
"message": "Show the number of blocked resources on the icon", "message":"Normāls",
"description":""
},
"settingsMatrixDisplayTextSizeLarge":{
"message":"Liels",
"description":"" "description":""
}, },
"settingsMatrixDisplayColorBlind":{ "settingsMatrixDisplayColorBlind":{
@ -455,52 +271,52 @@
"message":"Convenience", "message":"Convenience",
"description":"English: Convenience" "description":"English: Convenience"
}, },
"settingsDefaultScopeLevel": { "settingsMatrixAutoReloadPrompt":{
"message": "Default scope level:", "message":"When the matrix is closed, smart reload these tabs:",
"description": "Label for default scope level selector in Settings pane" "description":""
}, },
"settingsDefaultScopeLevel0": { "settingsMatrixAutoReloadNone":{
"message": "Global", "message":"Neviens",
"description": "Scope will be global" "description":""
}, },
"settingsDefaultScopeLevel1": { "settingsMatrixAutoReloadCurrent":{
"message": "Domain", "message":"Current",
"description": "Scope will be base domain" "description":""
}, },
"settingsDefaultScopeLevel2": { "settingsMatrixAutoReloadAll":{
"message": "Site", "message":"All",
"description": "Scope will be full hostname of site" "description":""
}, },
"settingsCollapseBlocked": { "settingsMatrixAutoReloadInfo":{
"message": "Hide placeholder of blocked elements", "message":"Whenever you make changes in the matrix which can affect the display and\/or behavior of one or more pages, <i>uMatrix<\/i> will reload affected pages automatically when you close the matrix.",
"description": "A setting in the dashboard's Settings pane" "description":""
}, },
"settingsCollapseBlacklisted": { "settingsSubframeColor":{
"message": "Hide placeholder of blacklisted elements", "message":"Blocked frames:&ensp;Color",
"description": "A setting in the dashboard's Settings pane: 'blacklisted' means 'for which there is a specific block rule', 'specific' means 'a rule for which the destination hostname is not `*`'" "description":"English: Blocked frames:&ensp;Color"
}, },
"settingsNoscriptTagsSpoofed": { "settingsSubframeOpacity":{
"message": "Spoof <code><noscript></code> tags when 1st-party scripts are blocked", "message":"Necaurredzamība",
"description": "This appears in the Settings pane in the dashboard" "description":"English: Opacity"
}, },
"settingsCloudStorageEnabled": { "settingsIconBadgeEnabled":{
"message": "Enable cloud storage support", "message":"Show the number of distinct requests on the icon",
"description": "" "description":"English: Show the number of distinct requests on the icon"
}, },
"settingsMatrixNoTooltips": { "settingsCollapseBlocked":{
"message": "Disable tooltips", "message":"Collapse placeholder of blocked elements",
"description": "" "description":"English: Collapse placeholder of blocked elements"
}, },
"privacyPageTitle":{ "privacyPageTitle":{
"message":"µMatrix &ndash; Konfidencialitāte", "message":"µMatrix &ndash; Konfidencialitāte",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesPrompt":{ "privacyDeleteBlockedCookiesPrompt":{
"message": "Delete blocked cookies", "message":"Delete blocked cookies.",
"description":"" "description":""
}, },
"privacyDeleteBlockedCookiesHelp":{ "privacyDeleteBlockedCookiesHelp":{
"message": "<p>Blacklisted cookies are not prevented by <i>nuTensor</i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.</p><p>Once these blacklisted cookies have been accounted for by <i>nuTensor</i>, they can be removed from your browser if you wish so.</p><p><b>Important note:</b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>nuTensor</i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.</p>", "message":"<p>Blacklisted cookies are not prevented by <i>uMatrix<\/i> from entering your browser. However they are prevented from leaving your browser, which is what really matters. Not blocking cookies before they enter your browser gives you the opportunity to be informed that a site tried to use cookies, and furthermore to inspect their contents if you wish.<\/p><p>Once these blacklisted cookies have been accounted for by <i>uMatrix<\/i>, they can be removed from your browser if you wish so.<\/p><p><b>Important note:<\/b> Extensions can make web requests during the course of their normal operation. These requests can result in cookies being created in the browser. If the hostname from where a cookie originate is not whitelisted, the cookie will be removed from the browser by <i>uMatrix<\/i> if this option is checked. So be sure that the hostname(s) with which an extension communicate is whitelisted.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt1":{ "privacyDeleteNonBlockedSessionCookiesPrompt1":{
@ -508,15 +324,15 @@
"description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"First part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesPrompt2":{ "privacyDeleteNonBlockedSessionCookiesPrompt2":{
"message": " minutes after the last time they have been used", "message":" minutes after the last time they have been used.",
"description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'" "description":"Second part of 'Delete non-blocked session cookies [n] minutes after the last time they have been used'"
}, },
"privacyDeleteNonBlockedSessionCookiesHelp":{ "privacyDeleteNonBlockedSessionCookiesHelp":{
"message": "<p><a href='http://www.w3.org/2001/tag/2010/09/ClientSideStorage.html'>W3C</a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;</p><p>Except that this <a href='https://code.google.com/p/chromium/issues/detail?id=128513'>might not be happening</a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.</p>", "message":"<p><a href='http:\/\/www.w3.org\/2001\/tag\/2010\/09\/ClientSideStorage.html'>W3C<\/a>: &ldquo;A session cookie ... is erased when you end the browser session. The session cookie is stored in temporary memory and is not retained after the browser is closed.&rdquo;<\/p><p>Except that this <a href='https:\/\/code.google.com\/p\/chromium\/issues\/detail?id=128513'>might not be happening<\/a> in some browsers. Also, to some, having to close the browser in order for the session cookies to clear might not be early enough.<\/p>",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStoragePrompt":{ "privacyDeleteBlockedLocalStoragePrompt":{
"message": "Delete <a href='https://en.wikipedia.org/wiki/Web_storage'>local storage</a> content set by blocked hostnames", "message":"Delete <a href='https:\/\/en.wikipedia.org\/wiki\/Web_storage'>local storage<\/a> content set by blocked hostnames",
"description":"" "description":""
}, },
"privacyDeleteBlockedLocalStorageHelp":{ "privacyDeleteBlockedLocalStorageHelp":{
@ -532,31 +348,51 @@
"description":"Second part of 'Clear browser cache every [n] minutes'" "description":"Second part of 'Clear browser cache every [n] minutes'"
}, },
"privacyClearCacheHelp":{ "privacyClearCacheHelp":{
"message": "<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.</p><p>A few of these tricks rely<sup>[1, 2]</sup> on the <a href='https://en.wikipedia.org/wiki/Web_cache'>browser cache</a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.</p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.</p><p>Check this option to have <i>nuTensor</i> do it for you, at the interval you wish.</p><p>[1] <a href='https://grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;</a>\n[2] <a href='http://lucb1e.com/rp/cookielesscookies/'>&ldquo;Cookieless cookies&rdquo;</a></p>", "message":"<p>Some web sites are really bent on tracking you, so much that they will use not-so-nice tricks to work around whatever measures you take in order to not be tracked.<\/p><p>A few of these tricks rely<sup style='font-size:smaller'>[1, 2]<\/sup> on the <a href='https:\/\/en.wikipedia.org\/wiki\/Web_cache'>browser cache<\/a>, which content is often long lasting since rarely will users take the time to regularly clear their browser cache.<\/p><p>There is little inconvenience to clear the browser cache regularly (likelihood is that you won't notice when it happens), and the benefit is to prevent these obnoxious trackers from invading your privacy.<\/p><p>Check this option to have <i>uMatrix<\/i> do it for you, at the interval you wish.<\/p><p style='font-size:smaller'>[1] <a href='https:\/\/grepular.com\/Preventing_Web_Tracking_via_the_Browser_Cache'>&ldquo;Preventing Web Tracking via the Browser Cache&rdquo;<\/a><br>[2] <a href='http:\/\/lucb1e.com\/rp\/cookielesscookies\/'>&ldquo;Cookieless cookies&rdquo;<\/a><\/p>",
"description":"" "description":""
}, },
"privacyProcessRefererPrompt":{ "privacyProcessRefererPrompt":{
"message": "Spoof <a href='https://en.wikipedia.org/wiki/HTTP_referer'>HTTP referrer</a> string of third-party requests", "message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/HTTP_referer'>HTTP referrer<\/a> string of third-party requests.",
"description":"" "description":""
}, },
"privacyProcessRefererHelp":{ "privacyProcessRefererHelp":{
"message": "From Wikipedia:<blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.</b></blockquote>If this setting is checked, <i>nuTensor</i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.", "message":"<p>From Wikipedia:<\/p><blockquote>HTTP referer is an HTTP header field that identifies the address of the webpage that linked to the resource being requested. ... <b>Because referer information can violate privacy, some web browsers allow the user to disable the sending of referer information.<\/b><\/blockquote><p>If this setting is checked, <i>uMatrix<\/i> will spoof the HTTP referrer information if the domain name of the HTTP referrer is third-party to the domain name of net request.",
"description":"" "description":""
}, },
"privacyNoMixedContentPrompt":{ "privacyNoMixedContentPrompt":{
"message": "Strict HTTPS: forbid mixed content", "message":"Strict HTTPS: forbid mixed content.",
"description":"" "description":""
}, },
"privacyNoMixedContentHelp":{ "privacyNoMixedContentHelp":{
"message": "<p>From <a href='https://developer.mozilla.org/en-US/docs/Security/MixedContent'>Mozilla Developer Network</a>:</p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.</blockquote>", "message":"<p>From <a href='https:\/\/developer.mozilla.org\/en-US\/docs\/Security\/MixedContent'>Mozilla Developer Network<\/a>:<\/p><blockquote>If [a] HTTPS page includes content retrieved through regular, cleartext HTTP, then the connection is only partially encrypted: the unencrypted content is accessible to sniffers and can be modified by man-in-the-middle attackers, and therefore the connection is not safeguarded anymore. When a webpage exhibits this behavior, it is called a mixed content page.<\/blockquote>",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingPrompt":{ "privacyProcessHyperlinkAuditingPrompt":{
"message": "Block all <a href='https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing'>hyperlink auditing</a> attempts", "message":"Block all <a href='http:\/\/www.whatwg.org\/specs\/web-apps\/current-work\/multipage\/links.html#hyperlink-auditing'>hyperlink auditing<\/a> attempts.",
"description":"" "description":""
}, },
"privacyProcessHyperlinkAuditingHelp":{ "privacyProcessHyperlinkAuditingHelp":{
"message": "<p>Hyperlink auditing is a mechanism which allow a party, <b>any party</b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.</p>", "message":"<p>Hyperlink auditing is a mechanism which allow a party, <b>any party<\/b>, to be informed about which link a user clicked on a particular web page. It is essentially a tracking feature: it allows a web site, or any third-party to that web site, to be informed about which link you clicked on which one of its web pages. The sole purpose is to track your browsing activity.<\/p>",
"description":""
},
"privacySpoofUserAgentPrompt1":{
"message":"Spoof <a href='https:\/\/en.wikipedia.org\/wiki\/User_agent'>User-Agent<\/a> string by randomly picking a new one below every",
"description":"First part of UA-spoofing prompt"
},
"privacySpoofUserAgentPrompt2":{
"message":"minūtes.",
"description":"Second part"
},
"privacySpoofUserAgentHelp":{
"message":"<a href='https:\/\/www.eff.org\/deeplinks\/2010\/01\/tracking-by-user-agent'>According to the <i>Electronic Frontier Foundation<\/i><\/a>: &ldquo;[...] your browser sends a &lsquo;User Agent&rsquo; header to the website saying precisely which operating system and web browser you are using. This information could help distinguish Internet users from one another because these versions differ, often considerably, from person to person. [...] <b>the User Agent string becomes a real privacy problem<\/b>.&rdquo;<p>This option allows you to address the privacy issue raised by the EFF.<\/p><p>You can supply your own list of user agent strings. One string per line. Blank lines and lines prefixed with &lsquo;#&rsquo; will be ignored.<\/p>",
"description":""
},
"privacyBehindTheSceneHeader":{
"message":"Behind-the-scene requests",
"description":""
},
"privacyProcessBehindTheSceneHelp":{
"message":"",
"description":"" "description":""
}, },
"userRulesPermanentHeader":{ "userRulesPermanentHeader":{
@ -603,10 +439,6 @@
"message":"mani-umatriksa-noteikumi.txt", "message":"mani-umatriksa-noteikumi.txt",
"description":"default file name to use" "description":"default file name to use"
}, },
"assetsHostsSection": {
"message": "Hosts files",
"description": "header to identify the hosts files section"
},
"hostsFilesPrompt":{ "hostsFilesPrompt":{
"message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.", "message":"All hostnames in a hosts file are loaded as blacklisted hostnames in the global scope.",
"description":"" "description":""
@ -628,7 +460,7 @@
"description":"" "description":""
}, },
"hostsFilesAutoUpdatePrompt":{ "hostsFilesAutoUpdatePrompt":{
"message": "Auto-update assets", "message":"Automātiski atjaunot resursdatora failus.",
"description":"" "description":""
}, },
"hostsFilesUpdateNow":{ "hostsFilesUpdateNow":{
@ -640,7 +472,7 @@
"description":"" "description":""
}, },
"hostsFilesExternalListsHint":{ "hostsFilesExternalListsHint":{
"message": "Import external assets here: \nOne URL per line; invalid URLs will be silently ignored.", "message":"One URL per line. Lines prefixed with &lsquo;#&rsquo; will be ignored. Invalid URLs will be silently ignored.",
"description":"" "description":""
}, },
"hostsFilesExternalListsParse":{ "hostsFilesExternalListsParse":{
@ -659,32 +491,8 @@
"message":"novecojis", "message":"novecojis",
"description":"" "description":""
}, },
"assetsRecipesSection": {
"message": "Ruleset recipes",
"description": "header to identify the ruleset files section"
},
"assetsRecipesSummary": {
"message": "Ruleset recipes are imported from the popup panel <em>on demand</em>, i.e. <b>only</b> through user interaction.",
"description": ""
},
"assetsImportLabel": {
"message": "Import...",
"description": ""
},
"assetsInlineHostsLabel": {
"message": "My hosts",
"description": ""
},
"assetsInlineRecipesLabel": {
"message": "My recipes",
"description": ""
},
"rawSettingsWarning": {
"message": "Warning! Change these raw configuration settings at your own risk.",
"description": ""
},
"aboutChangelog":{ "aboutChangelog":{
"message": "<a href='https://github.com/geekprojects/nuTensor/releases'>Izmaiņu žurnāls</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/releases'>Izmaiņu žurnāls<\/a>",
"description":"" "description":""
}, },
"aboutStorageUsed":{ "aboutStorageUsed":{
@ -692,11 +500,11 @@
"description":"" "description":""
}, },
"aboutDoc":{ "aboutDoc":{
"message": "<a href='https://github.com/geekprojects/nuTensor/wiki'>Dokumentācija</a>", "message":"<a href='https:\/\/github.com\/gorhill\/uMatrix\/wiki'>Dokumentācija<\/a>",
"description":"" "description":""
}, },
"aboutPermissions":{ "aboutPermissions":{
"message": "<a href='https://github.com/gorhill/httpswitchboard/wiki/Permissions'>Atļaujas</a>", "message":"<a href='https:\/\/github.com\/gorhill\/httpswitchboard\/wiki\/Permissions'>Atļaujas<\/a>",
"description":"" "description":""
}, },
"aboutCode":{ "aboutCode":{
@ -705,7 +513,7 @@
}, },
"aboutIssues":{ "aboutIssues":{
"message":"Kļūdas un problēmas", "message":"Kļūdas un problēmas",
"description": "Text for a link to official issue tracker" "description":""
}, },
"aboutContributors":{ "aboutContributors":{
"message":"Atbalstītāji", "message":"Atbalstītāji",
@ -759,18 +567,38 @@
"message":"Uzmanību! tiks atcelti visi jūsu izveidotie iestatījumi. Vai vēlaties turpināt?", "message":"Uzmanību! tiks atcelti visi jūsu izveidotie iestatījumi. Vai vēlaties turpināt?",
"description":"Message asking user to confirm reset" "description":"Message asking user to confirm reset"
}, },
"loggerFilterInputPlaceholder":{
"message":"filter expression(s)",
"description":"Appears in the input filed where filter expressions are entered"
},
"loggerEntryUserAgentSpoofing":{
"message":"spoofing user agent with: {{value}}",
"description":"An entry for when a new user agent string is selected"
},
"loggerEntryCookieDeleted":{
"message":"cookie deleted: {{value}}",
"description":"An entry for when a cookie is deleted"
},
"loggerEntryDeleteCookieError":{
"message":"failed to delete cookie: {{value}}",
"description":"An entry for when the browser cache is cleared"
},
"loggerEntryBrowserCacheCleared":{
"message":"browser cache cleared",
"description":"An entry for when a cookie can't be deleted"
},
"loggerEntryAssetUpdated":{
"message":"asset updated: {{value}}",
"description":"An entry for when an asset was updated"
},
"mainBlockedPrompt1":{ "mainBlockedPrompt1":{
"message": "nuTensor has prevented the following page from loading:", "message":"uMatrix has prevented the following page from loading:",
"description": "English: nuTensor has prevented the following page from loading:" "description":"English: uMatrix has prevented the following page from loading:"
}, },
"mainBlockedPrompt2":{ "mainBlockedPrompt2":{
"message":"Because of the following rule", "message":"Because of the following rule",
"description":"English: Because of the following rule" "description":"English: Because of the following rule"
}, },
"mainBlockedNoParamsPrompt": {
"message": "without parameters",
"description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png"
},
"mainBlockedBack":{ "mainBlockedBack":{
"message":"Go back", "message":"Go back",
"description":"English: Go back" "description":"English: Go back"
@ -827,40 +655,8 @@
"message":"Logger", "message":"Logger",
"description":"Appears in Firefox's add-on preferences" "description":"Appears in Firefox's add-on preferences"
}, },
"cloudPush": {
"message": "Export to cloud storage",
"description": "tooltip"
},
"cloudPull": {
"message": "Import from cloud storage",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""
},
"cloudDeviceNamePrompt": {
"message": "This device name:",
"description": "used as a prompt for the user to provide a custom device name"
},
"genericSubmit": {
"message": "Submit",
"description": "for generic 'submit' buttons"
},
"genericRevert": {
"message": "Revert",
"description": "for generic 'revert' buttons"
},
"errorCantConnectTo":{ "errorCantConnectTo":{
"message":"Tīkla kļūda: Nespēja savienoties ar {{url}}", "message":"Tīkla kļūda: Nespēja savienoties ar {{url}}",
"description":"" "description":""
},
"genericApplyChanges": {
"message": "Apply changes",
"description": "for generic 'Apply changes' buttons"
},
"genericCopyToClipboard": {
"message": "Copy to clipboard",
"description": "Label for buttons used to copy something to the clipboard"
} }
} }

File diff suppressed because it is too large Load Diff

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

Loading…
Cancel
Save